diff --git a/research/gauge44-leaver/CONSTRUCTION.md b/research/gauge44-leaver/CONSTRUCTION.md new file mode 100644 index 0000000000..fa15676366 --- /dev/null +++ b/research/gauge44-leaver/CONSTRUCTION.md @@ -0,0 +1,210 @@ +# Gauge44: a changed factory forward map with 44 rank-four cold ends + +Prepared for icekylinx with OpenAI GPT-6 Astra assistance. Apache-2.0. This note describes the new complex local construction. The package's global evidence supplies the resulting global bound and retains the upstream conditional assumptions. + +## 1. Exact result and comparison + +The final word has 112 source ports, 112 target ports and 492 helper registers. It implements the same arbitrary-dirt scalar endpoint as the upstream word, + +$$ +(X,Y,H)\longmapsto(X,Y+X,H), +$$ + +and its inverse-transpose orientation is checked separately. All 204 nonzero entrance frames remain valid. The new ending set consists of **44 cold helpers at rank-four frames**, together with the 34 entering-helper ends inherited from the JP8 HPE stage. + +The precise comparison is with the JP8 provider reconstructed from PR635, commit `a6895a69f8ad98ab45777b03e9e6f48888c39f6f`: + +| Local quantity | PR635 JP8 | Gauge44 | +|---|---:|---:| +| Helpers | 492 | 492 | +| Nonzero entrance frames | 204 | 204 | +| Rank-four cold ends | 22 | 44 | +| Rank-seven cold ends | 2 | 0 | +| Rank-eight cold ends | 4 | 0 | +| Entering helpers ending below FULL | 36 | 34 | +| Total residual helper width | 3894 | **3794** | +| Local paid rank mass | 5750 | **5650** | + +Thus the new word saves **100 units of residual width per invocation** against the complete PR635 provider. It replaces that provider's cold-end construction; the old six higher-rank cold ends and two additional entering ends are not added to the new count. + +The exact paid-child profiles are: + +| Child rank | PR635 count | Gauge44 count | +|---:|---:|---:| +| 1 | 2518 | 2514 | +| 2 | 402 | 404 | +| 3 | 448 | 448 | +| 4 | 164 | 160 | +| 5 | 68 | 56 | +| 6 | 4 | 0 | +| 8 | 8 | 8 | + +The final residual-width inventory is `{4:52, 5:48, 7:34, 8:114, 9:244}`. Both the profile and the inventory are recomputed from the literal native frame chains. They are not inferred from the nominal number of ended helpers. + +## 2. What changes in the forward factory + +The inherited K-triangle schedule and its 492-helper allocation remain the starting construction. Within each of the fourteen eight-source packet factories, three changes alter the arbitrary-dirt forward map while retaining the required clean packet values. + +### A. Exchange a source with an equal clean copy + +After the sixteen initial copy gates, local source position `j` and its two helper copies have clean values `(x_j,x_j,x_j)`. For positions `j = 4,5,6,7`, exchange the original source register with its second helper copy. The exact register pair in the constructor is `mp[j]` and `mp[2*j+9]`. + +For arbitrary helper dirt the triple is instead + +$$ +(x_j,\;x_j+h_{j,1},\;x_j+h_{j,2}). +$$ + +The exchange changes where the second dirty direction enters the subsequent factory. It does not change any clean operand. Both exchanged registers already have the same rank-one frame, so the exchange adds no frame climb. Each exchange is emitted as three additions and one sign change; these scalar operations remain part of the finite implementation invoice. + +This is a change of the forward map, not an output relabeling. In particular, the inverse recovery functional for the original source changes from the original branch to a different combination of the three equal-clean branches. That changes which cold input directions can have their entire final support inside a low frame. + +### B. Change the complement to the four coordinate totals + +Eight retired factory rows already span the eight source coordinates. The first four rows of their replacement basis are the four required coordinate totals. The remaining four rows are chosen by exact row-rank extension, first using the ordered clean linear forms recorded in `construction/COMPLETION-PRIORITY.json`, then using coordinate rows if an extension is still needed. + +These candidate forms are the future low-frame leaver forms used during discovery. The frozen priority data are the complete input to the final constructor: no discovery search is run in reproduction. Every accepted row must increase the rational rank; the resulting eight-by-eight basis is explicitly applied by elementary operations. + +All eight retired registers are already at the block's rank-four frame. Consequently this basis replacement also adds no frame climb. It gives the low final rows more independent linear combinations that annihilate the original source data. + +### C. Place coordinate totals on the available source carriers + +The retired registers are ordered with source registers first. Three available source carriers and one helper carry the four coordinate totals, leaving the four complementary rows on physical helper registers. This lets the new cold directions end on helper wires under the unchanged native endpoint interface. + +A carrier permutation alone does not increase the available cold space. Its role here is to realize the independent directions created jointly by the source-copy exchange and the new complementary basis. + +## 3. Exact cold-space calculation + +Let `P` be the non-target forward matrix after parts A and B and the 34 inherited HPE tail gates. It has 604 rows and columns: 112 original sources and 492 helpers. Let `J` be the 316 protected initial columns consisting of the 112 original sources and all 204 entering helpers. + +For a block frame `F`, let `I` be every non-target output register whose current frame is contained in `F`. Source output rows are included in this set. Define + +$$ +L=\operatorname{leftker} P[I,J],\qquad +K=\ker P^{-1}[J,I]. +$$ + +Rows of `L` are low output linear forms with no protected initial dependence. Columns of `K` are low-supported output directions whose inverse images have no protected component. The rank of the pairing `LK` counts the simultaneously usable cold directions in this fixed forward word. + +The changed forward map has the following exact block data: + +| Block indices | Number of blocks | Low registers `|I|` | `dim L` | `dim K` | `rank(LK)` | +|---|---:|---:|---:|---:|---:| +| 0, 1, 2, 11, 12, 13 | 6 | 6 | 2 | 4 | **2** | +| 3 through 10 | 8 | 8 | 4 | 4 | **4** | + +The count is therefore `6*2 + 8*4 = 44`. The fixed upstream rank-four cold construction supplied one and two directions respectively, for `6*1 + 8*2 = 22`. + +The complement change by itself improves the available low annihilating rows but leaves the inverse-support obstruction. The source-copy exchanges remove that obstruction: `K` has dimension four in every block and pairs with all the available rows of `L`. + +## 4. Realizing the directions with legal dyadic operations + +`construction/build_gauge_cold44.py` recomputes these spaces over exact rational numbers. It selects columns of `K` and normalizes them to a matrix `U` satisfying + +$$ +LU=I_r, +\qquad q=P^{-1}[:,I]U. +$$ + +The constructor checks that `q` is supported entirely on that block's sixteen initially cold factory helpers, denoted `H_b`. Put + +$$ +R_b=LP[I,H_b]. +$$ + +Then `R_b q[H_b,:] = I_r`. A sixteen-by-sixteen input basis `Q_b` places the columns `q[H_b,:]` at the designated ended-helper positions and fills the other columns with a basis of `ker R_b`. The resulting input basis is explicitly invertible. + +For the low-frame output transformation, the ended-helper rows are replaced by the rows of `L`; each remaining low row `i` becomes + +$$ +e_i-U_iL. +$$ + +The actual chosen helper positions give an invertible tail matrix. Its nonsingularity and dyadic implementation are checked by exact elimination, rather than assumed from a dimension count. The construction receipt records every `Q_b`, tail matrix and selected endpoint. + +Every `Q_b` is emitted at frame zero, at the head of A **after** the entry normalization wrappers. Every low tail is emitted at its block frame. The remaining cleanup is rebuilt as an exact dyadic Gauss-Jordan inverse on the non-ended registers at FULL. It is not obtained by blindly reversing a changed partial schedule. + +Before forming the FULL inverse, the constructor verifies both the row and the column identity of each of the 78 ended helpers. Thus no protected data or other helper dirt remains in an ended helper, and its initial dirt remains nowhere else. The FULL inverse skips these isolated rows and columns entirely. + +The realized word has: + +| Construction component | Scalar gates | +|---|---:| +| Frame-zero helper premix | 1489 | +| New rank-four tail | 60 | +| Inherited HPE tail | 34 | +| Refactored FULL inverse | 28056 | +| Additional target compensation after wrappers | **0** | + +All selected new cold directions have zero target response. The independent scalar auditor nevertheless recomputes the complete existing dirty-response compensation, obtaining 7348 additions, and checks both orientations on all 716 input columns. + +Relative to the HPE-stage word before any cold-end construction, the aggregate chain delta is `N_1 += 44, N_6 -= 44`, reducing rank mass and residual width by 220. PR635 had already saved 120 units through its complete cold/extra-HPE construction. The net new saving is therefore 100. There is no omitted cost for lifting the low tails: their rank-one increments are included explicitly. + +## 5. Native interface and validation + +The transport preserves the exact ordered list of 112 ports and the exact ordered eight center frames. The center carriers change because some totals now reside on sources. In native coordinates they are + +``` +[92, 57, 81, 224, 11, 240, 9, 256] +``` + +A global interface check must compare the ordered center frames and port geometry, and use the provider's actual center carriers. Equality of carrier numbers with an old provider is not a mathematical requirement. The local event ledgers explicitly clear all private center channels in both orientations. + +Completed checks for the frozen word include exact forward and inverse-transpose scalar replay on all 716 columns; every literal native frame chain; the 204 zero-response entrance conditions; the 44 cold and 34 entering endpoint cones; wrapper placement and normalized wrapper identities; both emitted local ledgers; and exact phase lowering for 3019 directed edges and 224 endpoint adapters. The independent audit does not import the new constructor. + +This local result does not by itself certify a global exponent. Physical whole-family owners, actual residual/spectator routing, idle remainders, global scalar assembly and the complete finite invoice are the separate global checks reported elsewhere in the package. + +## 6. Compact reproduction + +Only Python's standard library is needed for this construction and the retained local pipeline. Do not use `python -O`. The reproduction driver checks byte hashes of every named upstream input and the changed code, then checks the content hash after each construction step. Its two source checkouts are: + +| Argument | Repository commit | +|---|---| +| `--main` | `17ce0c79b7b51c2634b439ea5a2b754f09909693` | +| `--pr635` | `a6895a69f8ad98ab45777b03e9e6f48888c39f6f` | + +Starting from a clone of `https://github.com/CrocSwap/integer-mult-bounds` containing those commits, prepare detached worktrees: + +```bash +git -C integer-mult-bounds fetch origin main refs/pull/635/head +git -C integer-mult-bounds worktree add --detach ../integer-main 17ce0c79b7b51c2634b439ea5a2b754f09909693 +git -C integer-mult-bounds worktree add --detach ../integer-pr635 a6895a69f8ad98ab45777b03e9e6f48888c39f6f +``` + +From the directory containing those worktrees and this delta package, run: + +```bash +python -B research/gauge44-global/construction/reproduce.py \ + --main integer-main \ + --pr635 integer-pr635 \ + --out gauge44-reproduction +``` + +The default stops after regenerating the exact final scalar word and comparing the newly derived cold recipe with the frozen recipe. It rebuilds only the two short shadow steps needed by the four port transfers. It does not rerun the ancestor admission stack, search for a basis, optimize owners, or replay global assembly. + +Use `--frozen-cold` to splice the included recipe instead of re-deriving its small exact linear systems. Use `--until local` to add native transport, emitted ledgers, independent local replay and wrappers. Use `--until phases` to add the complete phase lowering. Every invocation needs a fresh output directory; these are alternatives, not resumable increments. On the research machine, exact cold derivation took about 2.6 seconds, native transport/ledgers/replay/wrappers about 41 seconds, and complete phase lowering about 198 seconds. + +The exact dependency chain is: + +1. Construct the changed raw R492 factory from the pinned Hamming inputs, frozen priority and pinned K-triangle schedule. +2. Apply the four inherited port stages. +3. Apply the inherited B-frame regroup and 34-HPE construction. +4. Derive the exact block premixes, cold44 tails and FULL inverse. +5. Optionally emit and check the native ledgers, wrappers and complete phase lowering. + +`construction/INPUTS.json` gives the input hashes and every intermediate content hash. The key decompressed content identities are: + +| Word | SHA-256 | +|---|---| +| Changed raw factory | `0ac47f92fc2e3f5aa457d78f7b8a5c785bf140c546932b9dfcd9e610ad319180` | +| Changed HPE forward | `42fb8b3aa314593fe976820cf65824f5fce0ee4f95281796992d4809709864cc` | +| Final cold44 word | `78c7aadacb6eec2eeecc124ca236e5bcfdba6a52b30c2971aaa596d1d119b290` | +| Native canonical word | `e6daee410e04d5e023faf21144081534ad222d334ce786e6b5f52407e6b3c41f` | + +## 7. Attribution + +The original 504-helper factory and borrowed-register construction are icekylinx's PR531 lineage, prepared with OpenAI Codex/GPT assistance and retaining the earlier PR425/PR514 credits. The inherited K-triangle atom and frozen read schedule are credited in PR635 to AtomScout, a Claude Code research agent. The porting routine is credited there to Port480. This package does not claim those as new work. + +The reused JP8 ancestry includes the PR558/PR552 supplier, the earlier-cut and multicold kernels, and the joint prefix adapted from Dominik Scholz's PR571 work. Native HPE and cold-end transport, frame and wrapper machinery come from the credited PR635 lineage, including DreamingOfClouds, jeremykothe2, chafreaky and their disclosed assistants. The retained `construction/UPSTREAM-NOTICE.md` and `construction/LICENSE` preserve the upstream notice and Apache-2.0 license. + +The new contribution here is the combination of source-copy exchange, changed retired-row completion, source-carried coordinate totals, and the explicit exact cold44 realization. Those changes were developed for icekylinx with OpenAI GPT-6 Astra assistance. The upstream notices, proof scope and conditional assumptions continue to apply. diff --git a/research/gauge44-leaver/LICENSE b/research/gauge44-leaver/LICENSE new file mode 100644 index 0000000000..261eeb9e9f --- /dev/null +++ b/research/gauge44-leaver/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/research/gauge44-leaver/LOCAL-VALIDATION.json b/research/gauge44-leaver/LOCAL-VALIDATION.json new file mode 100644 index 0000000000..5973645e1a --- /dev/null +++ b/research/gauge44-leaver/LOCAL-VALIDATION.json @@ -0,0 +1,356 @@ +{ + "status": "PASS_LOCAL_INCREMENTAL_GAUGE44", + "python": "3.14.8", + "upstream_main": "17ce0c79b7b51c2634b439ea5a2b754f09909693", + "pr635": "a6895a69f8ad98ab45777b03e9e6f48888c39f6f", + "construction_steps": [ + { + "step": "shadow-early", + "exit_code": 0, + "seconds": 0.322 + }, + { + "step": "shadow-prefix", + "exit_code": 0, + "seconds": 0.429 + }, + { + "step": "gauge-forward", + "exit_code": 0, + "seconds": 0.474 + }, + { + "step": "port0", + "exit_code": 0, + "seconds": 0.388 + }, + { + "step": "port1", + "exit_code": 0, + "seconds": 0.407 + }, + { + "step": "port2", + "exit_code": 0, + "seconds": 0.403 + }, + { + "step": "port3", + "exit_code": 0, + "seconds": 0.389 + }, + { + "step": "cold44-exact", + "exit_code": 0, + "seconds": 2.544 + }, + { + "step": "native", + "exit_code": 0, + "seconds": 3.63 + }, + { + "step": "ledgers", + "exit_code": 0, + "seconds": 2.759 + }, + { + "step": "local-replay", + "exit_code": 0, + "seconds": 15.924 + }, + { + "step": "wrappers", + "exit_code": 0, + "seconds": 2.706 + }, + { + "step": "phases", + "exit_code": 0, + "seconds": 186.772 + } + ], + "five_mathematical_local_artifacts_match_frozen_evidence": true, + "phase_edges": 3019, + "endpoint_adapters": 224, + "independent_scalar_audit": { + "status": "PASS_INDEPENDENT_EXACT_FORWARD_AND_DUAL_ENDPOINT_FRAMES_ENTRANCES_CONES", + "input_file": "FULL-WORD.json.gz", + "content_sha256": "78c7aadacb6eec2eeecc124ca236e5bcfdba6a52b30c2971aaa596d1d119b290", + "compressed_sha256": "0ad202612f010df4ab66432a628247b37ad8b497dd6b27595b1685cbd7eb119e", + "parent_center_interface": { + "parent_path": "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/CANONICAL-WORD.json.gz", + "parent_file_sha256": "66d3c3c70983224650643a0a05a21ac6c6959f84d0f4528650601016f5a76844", + "transport_tau": 43, + "ordered_frame_bases_match": true, + "all_ports_match": true, + "transported_centers": [ + 92, + 57, + 81, + 224, + 11, + 240, + 9, + 256 + ], + "source_centers": [ + 92, + 57, + 81, + 11, + 9 + ], + "ordered_frame_bases": [ + [ + 256, + 128, + 64, + 34, + 16, + 10, + 4, + 1 + ], + [ + 256, + 128, + 64, + 32, + 16, + 8, + 5, + 3 + ], + [ + 256, + 128, + 64, + 32, + 17, + 9, + 4, + 2 + ], + [ + 256, + 128, + 64, + 36, + 20, + 8, + 2, + 1 + ], + [ + 256, + 128, + 66, + 32, + 18, + 8, + 4, + 1 + ], + [ + 256, + 128, + 65, + 33, + 17, + 9, + 5, + 3 + ], + [ + 256, + 128, + 65, + 33, + 16, + 8, + 4, + 2 + ], + [ + 256, + 128, + 68, + 32, + 16, + 12, + 2, + 1 + ] + ] + }, + "v": 112, + "h": 9, + "R": 492, + "entering": 204, + "lowends": 78, + "coldends": 44, + "compensation_gates": 7348, + "local_profile": { + "1": 2514, + "2": 404, + "3": 448, + "4": 160, + "5": 56, + "8": 8 + }, + "width_inventory": { + "4": 52, + "5": 48, + "7": 34, + "8": 114, + "9": 244 + }, + "checked_columns": 716, + "elapsed_seconds": 2.443164045999765, + "scope": "Exact rational full scalar map in both orientations; all literal native frame chains, center levels, dyadic units, entrance-zero response, wrapper exclusion and final helper row/column cones. No global owner admission or exponent repricing." + }, + "independent_guard_review": { + "status": "PASS_PR635_ADMISSION_ASSERTION_PRESERVATION", + "files": [ + { + "file": "code/assemble.py", + "baseline_sha256": "1b1a9024ac910dc9b9d9e30150684e1fa9cb228a4c1c275b75ab04b57fdef1dd", + "new_sha256": "7ac28118d69416e4fb67b61216285fb0823310b7635ce1b9025aa3f10119ef6a", + "byte_identical": false, + "assert_count": 91, + "all_assertions_identical_in_order": true + }, + { + "file": "code/invoice_allcold.py", + "baseline_sha256": "141bd2fd58bbfb5b8d0fc8f56f61c45586d5608a5af3487c6b883dd987f998ec", + "new_sha256": "141bd2fd58bbfb5b8d0fc8f56f61c45586d5608a5af3487c6b883dd987f998ec", + "byte_identical": true, + "assert_count": 67, + "all_assertions_identical_in_order": true + }, + { + "file": "code/bind_providers_portable.py", + "baseline_sha256": "2eb5c262bf481b3bec9ceaec654fa46ff6fc3a89b13d4906a29a55a89e35feea", + "new_sha256": "7c9aba6c7f138d270852d859d902f905a15598b6263567700b5b08a153823cb6", + "byte_identical": false, + "assert_count": 22, + "all_assertions_identical_in_order": true + }, + { + "file": "code/generated_identity.py", + "baseline_sha256": "c8af22719c0f3097a991a3f6ccac8f090afd2faba554745733d9ea88f2c25708", + "new_sha256": "c8af22719c0f3097a991a3f6ccac8f090afd2faba554745733d9ea88f2c25708", + "byte_identical": true, + "assert_count": 4, + "all_assertions_identical_in_order": true + }, + { + "file": "code/witness.py", + "baseline_sha256": "00789c911a8f32cfe9d52207c7aa78305dc3fce4a8b6305ba402b7e74117103d", + "new_sha256": "00789c911a8f32cfe9d52207c7aa78305dc3fce4a8b6305ba402b7e74117103d", + "byte_identical": true, + "assert_count": 3, + "all_assertions_identical_in_order": true + } + ], + "centre_interface_review": "CENTRE-GUARD-REVIEW.md", + "scope": "Exact syntax preservation for all admission assertions in these five files. The changed emitter/controller centre boundary and single-provider controls require the separate semantic review; assertion counts alone do not prove them." + }, + "owner_replay": { + "status": "PASS_FROZEN_OWNER_AND_INTEGER_MAJORIZATION_REPLAY", + "seed_mode": "included_frozen_seed", + "parent_plan_sha256": "258a8b9baa245fa4096828671e2f1d1462b5af08d56890629622ef6125eaddda", + "parent_owners_sha256": "935ff1a6823c6625daba3349b28d74acf9a3d70a5947ae155aa66c7821804add", + "owners_semantic_sha256": "c09faf298565c1388c02370fdd4e61dd542579fe1898e842d5096cc97b68191d", + "owners_gzip_sha256": "90ff7657a23dcfb67532b49c0800c5fc259b27c89005081e24bf184869e1bd57", + "majorization_semantic_sha256": "9ed3fdb41fb8dbc6542de7701c78bb8f3bb728604057daf82a537bde182ab9fc", + "global_profile": { + "1": 181093, + "2": 29164, + "3": 32429, + "4": 11520, + "5": 4032, + "7": 7, + "8": 582, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + }, + "scope": "Exact hosting nomination and callwise fixed-point replay; full supplier admission is separate." + }, + "global_replay": { + "status": "PASS_GAUGE44_STRICT_GLOBAL_REPLAY", + "kappa": "1649483702558979/1000000000000000000", + "kappa_decimal": "0.001649483702558979", + "complex_lower": "1652208994368411824947/1000000000000000000000000", + "bit_lower": "413456747036699736067/250000000000000000000000", + "gain_over_pr635_percent": "0.8093060205252829126484020359439672024956960385078942889840023844750830", + "spec_sha256": "fee57674a7f36b30b1e7eb96a8f567a90a522217bc644c1a6a1f8bff85196fbf", + "stages": [ + { + "name": "restore-parent", + "seconds": 2.089, + "exit_code": 0, + "log_sha256": "fc3a01967636bd3173ee7e5049fae45b890e1fad4564b6acdd6aaca30a4e4ea5" + }, + { + "name": "bind", + "seconds": 0.962, + "exit_code": 0, + "log_sha256": "71f679ce5a123fb58397fd6852ba64ce3832fd20e81a096bfda9a1cf3237237a" + }, + { + "name": "emit", + "seconds": 4.817, + "exit_code": 0, + "log_sha256": "90ce07d06a8eaffdb66201e8346021183e5a803395fb9f6d8ceb0e5ff068ef2c" + }, + { + "name": "audit", + "seconds": 19.625, + "exit_code": 0, + "log_sha256": "66b4abb2a88a4eaba8a8baa3585ef4aa819be5f8acb7947bae734b3478280456" + }, + { + "name": "invoice", + "seconds": 1.804, + "exit_code": 0, + "log_sha256": "5d10712d494304287749dd7a6c3369f9b707bba30e9f567b68230669dcf5418a" + }, + { + "name": "assembly", + "seconds": 0.808, + "exit_code": 0, + "log_sha256": "768d3215f1918117dc6c33b4cfeaf0b5f5da9ba5c77178db4bb1d08d000e226f" + }, + { + "name": "admission-controls", + "seconds": 0.885, + "exit_code": 0, + "log_sha256": "051d242318154827c1672ffbb63ad2bdc8ecc4033be650b791dd69cd57d716b3" + } + ], + "scope": "Conditional native exact-complex witness after complete conservative admission, moment and outer checks; PR559 exact-cover recurrence correction only, bit bad-residue surcharge and H1-H5 retained. The new source-branch gauge and retired-basis completion, 44 cold dimension-four ends, and explicit all72 whole-owner dispatch are composed with the same cited unchanged PR543 bit supplier as PR635. All-size compiler, common-label/mutable-source realization, whole-call hosting, precision/tape and analytic transfer remain assumptions. No unconditional theorem or full Lean certification." + }, + "admission_mutations_rejected": 69, + "controller_mutations_rejected": 15, + "frozen_template_content_sha256": "0c2aab7dc120f5882a0171496cbbe819cac81373dcb425802a15f45e36898a46", + "fresh_template_content_sha256": "a1692259fb5a06bbebdc1049a7f757c6d2fc79ff8c31ed0c25b38fe9f98ed051", + "template_comparison": { + "sole_changed_field": "async_schedule.source_plan_sha256", + "frozen_plan_sha256": "609adb126d7d3de2abdd9275f9015589c0b137d0d19821c2c3e7c1a8541c18d2", + "fresh_plan_sha256": "b2e4b1f063250c40e0087f77e896882c60f36ed8764e86ba1610dec9bdff7394", + "explanation": "Fresh phase review differs only in its measured seconds. Runtime provider binding consequently changes the plan byte hash. All remaining serialized template fields match exactly; each runtime hash is checked against its own file." + }, + "assembly_matches_frozen_rates_and_profile": true, + "post_replay_packaging": "Four files received trailing-whitespace cleanup only; complete parsed ASTs were checked unchanged. Constructor input pin refreshed. Admission assertion comparison rerun.", + "scope": "Changed construction and exact recipe, fresh native ledgers/wrappers/phases, independent scalar and guard audits, integer owner reproduction, strict global admission and independent pricing. No predecessor full replay, seed-discovery optimizer or PDF generation. Local Python 3.14; Python 3.11 is covered by CI." +} diff --git a/research/gauge44-leaver/MANIFEST.json b/research/gauge44-leaver/MANIFEST.json new file mode 100644 index 0000000000..4c16d25c5a --- /dev/null +++ b/research/gauge44-leaver/MANIFEST.json @@ -0,0 +1,167 @@ +{ + "CONSTRUCTION.md": "7d96eb958a6b4274ea4c4c539b585f8ae2e89363b76aef930f90d2d513e164ea", + "LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "LOCAL-VALIDATION.json": "f81fbd98eb608b8119f03f89a5692bcd610845fc97022337931586d8582b706e", + "NOTICE.md": "0a6514454c590246cf1b789db59705a71bc6093d040c6d6adbb89301824de361", + "PROOF-NOTE-BARCH.md": "c24f211b09358b25d6cf47dd18e4bbd8bcf4ecf279e6f1c6c90613cfa230818d", + "PROOF-NOTE-BIT.md": "fa22c0df67a0f7e51c5a33ca777133313e46abe75e2039d66cd2e444934eb898", + "PROOF-NOTE-FRAMES-X4.md": "39c50420ebb6e8813706a49b2cf759f277c4afac9f6780fc0a7ac6a5fb86e036", + "PROOF-NOTE-LAYERS.md": "92bb85b056803770882afa916277c5b49a7027159c113a106e7b2b33e57c097f", + "PROOF-NOTE-LEAVER.md": "fb9bc873f1d9954776e6129ebc4f97e8974001da02bcdc6a32a511e6ed83d2d1", + "PROOF-NOTE-NOTRI.md": "774d1ff7b77844990da7bc1feff7f9ffff8b1f4f9b03232a620f1f9a29935414", + "PROOF-NOTE-P6N.md": "cef8fad3d6644b4376ed15c4c5c46c68324009ab8f42d10bfa2da4b505b2c26d", + "PROOF-NOTE-PROMO.md": "c170e5196d3081f86ac377c6fe614ca17f6281972837580275ce5af41cbc64ae", + "PROOF-NOTE-SW4.md": "d7bb225f1a7f9fd363e819a67e92a5fe14c0942f6c3616d73609cc48042daf3d", + "README.md": "28acc0bdb972bdc8c2c48cbf8e1ef663d79b7ab134c23d542fec31680a6af6dc", + "RESULT.json": "29423f3ce5caa15e8381adeed0417ec2786af26dd7e615d47abb0cbfaeb9343d", + "SOURCES.json": "108e64cf1d2fb75603e81d619cfbe3baa018809db9b8f7ae9bce2690b7817606", + "UPSTREAM-NOTICE.md": "a75967ebc34e3bf2ff2c25c08e6c7f1a61b0c0d171cfd1b62196ae2caaf2c610", + "code/assemble.py": "4c270a996b380ab712f72b81173ab24f1c73203a33578f261bfbaa7e67d75aec", + "code/assembly_controls.py": "e4c0f7828af64fdaef1896e4448d0212bd3041805097140b8cfafd098f8a6162", + "code/audit_allcold.py": "a87d7f4844ca963516637d249b14a0654f67f8047b6b265ae25b0cf30963e503", + "code/bind_providers_portable.py": "1d39bcc7b63ac158e021454beaae897d123e174360573762aecade3cd43193f6", + "code/bit_supplier_controls.py": "e6d33fb61a570c3f50669412acc467a3fd06ef0b806da6a75bc296c6ba2142a5", + "code/emit_allcold.py": "17c110c7c8d219e79e7dce36b19c4781e7effa800086cec03384387ad9acc7aa", + "code/freeze_spec.py": "f96c2b9cd886596bc7ab267f77abe9d16b6cbb5a724a5ad0a1d18d540369ed93", + "code/generated_identity.py": "c8af22719c0f3097a991a3f6ccac8f090afd2faba554745733d9ea88f2c25708", + "code/invoice_allcold.py": "141bd2fd58bbfb5b8d0fc8f56f61c45586d5608a5af3487c6b883dd987f998ec", + "code/prepare_global.py": "8c0dae301a8f34b77a5a462f840952d08ed120576212adf5051bc09bcad874dc", + "code/restore_parent.py": "69b7b25ff85e9b8160e233c1d415cc6a0272019e5c486dcec14cb6c349e7024d", + "code/witness.py": "779c5172894b992131e85be1e592ed2a1aec8c287b872ff42007d36a7291e444", + "construction/COLD44-RECIPE.json.gz": "22d0e01e990c0f1c588607a095271f7844851a437ba07174505e98e9528aed4c", + "construction/COMPLETION-PRIORITY.json": "0274ffca1725e7460aaf7b672bc1248aa6dfdec11e5f0fec91af18b829f8ba47", + "construction/INPUTS.json": "edd32ad9a55d3c508ca2ad90c74b5c87c7f7ca509d96b856a2176fa452780f99", + "construction/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "construction/NOTICE.md": "defe7e44af610e25a6c50c1c3b2efd0972d0690574995c0c872fc50eebf4c816", + "construction/REBUILD-CHECKS.json": "1f9d754c89cfed632a6eee919a42d00c6677a8fb4fe1d40615c903242addbc91", + "construction/UPSTREAM-NOTICE.md": "a75967ebc34e3bf2ff2c25c08e6c7f1a61b0c0d171cfd1b62196ae2caaf2c610", + "construction/barch/LOCAL-PINS-barch-U8.json": "2d16f99e1f71fd66378f5f767cf4cfa2a58264919a95074c7b31029f39a3c9f5", + "construction/barch/RECIPE-U8.json": "292f0e9f82824c4111728cf4de929bf6e43320fbbdc77658aae9681906b0d652", + "construction/barch/build_tri.py": "0fba65b31c2fd71864c291358bb0ad8d5f7e1be07e21df23f0ae73d7b966002e", + "construction/barch/reproduce_barch.py": "19bc970aa6af25ab0e7fa96fb65c64dd0c5243976d8f2cb733cba839155482c1", + "construction/barch/run_controls.py": "42639bf62bf57795e3ea615c1944c67efed00f28591333daeb3139bf63d04476", + "construction/build_gauge_cold44.py": "ec730a4d3ff12fb058780718b1d5a7afe61243c532679ef347a5a48e2af0a3bb", + "construction/construct_gauge_xcentre.py": "d8d295566ef2399af2da0707a4adc83e07aa26d2344c01a66bd0ca7684cf9217", + "construction/frames/FRAME-RECIPE-sw4.json": "a2c7ca4d44671386d05974e2627645b42bbb7da7a35cefff6e9fa158b6ac8473", + "construction/frames/LOCAL-PINS-frames-sw4.json": "bc416b8f6443d59c715fb358c4d70fa27eae2d306388ffe0e2a303f60d929f7f", + "construction/frames/build_frames.py": "200847a7e8b3125cbeea0765dad67650e0bf83d32b66d72ba4977e99b8ee8eeb", + "construction/frames/frame_controls.py": "477de854ec9184a2c73d6ac3857a9d0cbd6bc04b71d10a105e7344434b492a77", + "construction/frames/reproduce_frames.py": "dc39ada9a2eb387310be181f3cea5dbd4b538632a888cd7372ece5e38a771832", + "construction/jx/LOCAL-PINS-jx-X4.json": "95c5114c8e937c2737a1b9f9da97303f2e5e129d39e6dfcc4010e99bfdb9c974", + "construction/jx/RECIPE-X4.json": "9d42c6b38e8124f5ffe15da56c260a7fba7260626bf3c5f8cbd93aa4a71ceadd", + "construction/jx/build_jx.py": "3cc7550b0c24bb54e245c6f7f16de489fd7844721fbb64aac628f38f43887916", + "construction/jx/reproduce_jx.py": "5c7afebb4eb7fcdeb7e971cfbc457cf071850e2da21c3c71295efdd453c2399c", + "construction/layers/build_pivot_swap.py": "8e8bced88be2e592ded40929499bac385ca92fcc1fa59183c22229dbf34093b8", + "construction/layers/layer_end_controls.py": "7829187bfc8f909948d5250e0ec00f02c89f5fe98306a3ed88daee36cb3c92ef", + "construction/layers/reproduce_layers.py": "435699f6f79c6c7fb8d6cc5a8382576d6ac88747583a975ff671e45440b93c4e", + "construction/layers_np/COLD-LAYERS-RECIPE-NP.json.gz": "3164cfb71baaeba4ac43427bc14075a225fc3a32ecd9341e58aa52c03a4ee2c0", + "construction/layers_np/HPE-RECIPE-NP.json": "43900139f618bdc06b8319098fb8dccaf4fc315b43ef7c067ca2cd778cdba2c1", + "construction/layers_np/PIVOT-SWAP-NP.json": "d49b8d316da1cbdaf995dd0e8314d3c67cc9cd4d5902e9d85ccb907be645bef5", + "construction/layers_np/reproduce_np.py": "1a304144a250d00d14154692ba522365b036777cf2b6fac466095e8ba733c16c", + "construction/layers_p6n/COLD-LAYERS-RECIPE-P6N.json.gz": "17e218a17e47c58fe2cde775ab2314d3d84030a61327b7f13da61cae3b374ad4", + "construction/layers_p6n/P6N-SPEC.json": "132a59635077d6afe80f99964a6935fce1dc2ece6587d74209c6f9c60025c8f1", + "construction/layers_p6n/layer_end_controls.py": "fc58c5699ba6191c1163a3041241f6f0b619626c4462cd99bcf88210bac9e81e", + "construction/layers_p6n/reproduce_p6n.py": "aa7d6bcbed05aa1c689437c07a26e5c95be3c700c0c1fb7bcf91c432a88436ca", + "construction/leaver/CHAIN-PINS-k5.json": "c92100074c1529b6e558f7c6574345b8a4741be1bb22f3cecabe550a03e96d57", + "construction/leaver/CODED-CELLS-k5.json": "c6590ba24cde83e0fd91940929173fdb009d3ac6ff03028cae0d782e0401e7e7", + "construction/leaver/COLD-LAYERS-RECIPE-NP-k5.json.gz": "efde968313a9b63d276d620cdde14933ce96e7d22a3cdde963f74fddc6592fd3", + "construction/leaver/COLD-LAYERS-RECIPE-P6N-k5.json.gz": "95edc01ec5952b0d40f6ff0eed1b7fa88c8f1fdd6bda57272742b76401e70d99", + "construction/leaver/FRAME-RECIPE-LV-k5.json": "8a0f692ebc8dc9df9736b6b4e0b5ecd248670b2e3448c6985a55dc9ef1dfb7c7", + "construction/leaver/HPE-RECIPE-k5.json": "00cbb1349fec94b16d88f7520e1f47ea61d02169800572d03ab2ceaf51761f78", + "construction/leaver/LEAVER-PINS-k5.json": "b6074974fd2f8c16011a7561b6ea13ce42fed2d68b24378111f55868413eca67", + "construction/leaver/LEC-REASON-PINS-k5.json": "84d0d973c4d1c064e9792e2eb8c6202052cfaded2ace22afa72c3f46ebc3e8d6", + "construction/leaver/PIVOT-SWAP-k5.json": "5635d6db2ce94cbff0f07d2c1ccbe9e53f72ab9c285a84563a39dd98241ffe74", + "construction/leaver/PROMO-RECIPE-k5.json": "82a8084e700cf4f81fa118e0ac8575e214a83e6e80ac895c4ac0195b55cf6717", + "construction/leaver/RECIPE-U8-k5.json": "51bff38452254205d22b960780fc8ad385cee47d5ef2e2fe5fd9b3ede1e70ef6", + "construction/leaver/RECIPE-X4-k5.json": "acaec3adbd0d78a2afd7d5c1f95a75c2a7ecb07e13d9d36b8eb99b6f9121c4a6", + "construction/leaver/REGROUP-LEAVER-k5.json": "f7e871cf4eff76d2f77a50f2f641862796574c3ae68a714c2c4e0b0fc39cb963", + "construction/leaver/TRI-LEAVER-k5.json": "8f55f2ae9d2e0f30d0598fded4f61f8d53589b9c8bf3ff4abaaad9700d0bd473", + "construction/leaver/build_frames_lv.py": "2eb80d612aa59a7bd8b04a122045e3bd2b83a21954e3164943cd20cf6050a21b", + "construction/leaver/cells-k5/CORE-01+.json": "3d2afc4986f1f3aceacd1e0572daebfb79134ba6af7677150083d0912676427c", + "construction/leaver/cells-k5/CORE-23+.json": "53b65cbaeb24bb2a4625f107a39c0ba3797f37aa4980096f22dff7cdbd76440d", + "construction/leaver/cells-k5/CORE-45+.json": "ba8f3aa26032dc36e2db4073e2cac9fc61d7a475d534a749bdfcbecf3aa103a9", + "construction/leaver/cells-k5/CORE-67+.json": "0a7aa4ee46e7f05c9cf0c1a36791d49e439c0c9c473e76cf954b0655463dae05", + "construction/leaver/cells-k5/CORE-67-.json": "0a7aa4ee46e7f05c9cf0c1a36791d49e439c0c9c473e76cf954b0655463dae05", + "construction/leaver/cgx_leaver.py": "3af491c63dd96204a7c36006c7e419c2e5ce77e5bc453ccd2495c1e41f83f87c", + "construction/leaver/layer_end_controls_leaver.py": "e2856865a8687b5344fe2911ee0dbb2cdf8d080744758e3adc4a4f2da7f03917", + "construction/leaver/reproduce_leaver.py": "831bfdf2247b5d864b74c3b2b6a475718053d48570851d48bd1c5471d410ee30", + "construction/leaver/reproduce_leaver_chain.py": "893be8a210519f5c23a87b33e9407ed98d912079854086913b38cb6b8351a7b3", + "construction/notri/PRIO6.json": "de0412511b0dd1af13e9717bc791126ac0e91c569b5391fd6c70268083045d15", + "construction/notri/cgx.py": "3da039d4184097c14802f9dbf972520d5b807671196f5e47a2247bc9f29bb418", + "construction/notri/cold44x.py": "f0bc3500efb2c839a0f8cb03dbb9ea0a54f1dfc71ef81e5373b3d638ac5b8296", + "construction/notri/port_stage_x.py": "38310744d054e393ea35e996047cddeb2d212141aaaaa4b07f7a4663b11db8e7", + "construction/notri/reproduce_notri.py": "90148c2a0422b4f92164298a283de73d413ab3d4cb7151a0e6b643a37ea025a8", + "construction/promo/LOCAL-PINS-p6n-k4.json": "a92bb02266596956bd53e9c86e8bbcc6639c92b4a4a248a1521f8eb79228271f", + "construction/promo/PROMO-RECIPE-p6n-k4.json": "fa6065d142646f7ab1f268912ce0cf5a1a6cd33c3994ff96bd6e204cf16b3e90", + "construction/promo/build_promotion.py": "9c9e2001b8d68bbe934d136026276fe97bd9bf6f94d4d78441fc28e14aca4daf", + "construction/promo/make_recipe.py": "ba9e4fdc0c1be7f6a150a5a50909911257a1a8c7cc5d03d61f541178fc07c122", + "construction/promo/promo_controls.py": "786c51f84b53698c2c833083506c4432c30eb0ed3b71e7dbe458a70c7413c372", + "construction/promo/reproduce_promo.py": "f979be666c3f5cf57e342a8427863c0b35b67ca4d3be495ac386f6870deb2026", + "construction/reproduce.py": "047bb9b3536b0b16bb08a21cd9fd80404ca9d022345f1aeab34b21dffc281c92", + "construction/sw4/LOCAL-PINS-sw4-P6k4.json": "3c06bf68b28ff125a6a2372bb70cefd76fb9fe1333438cd34dfb5b617cd70327", + "construction/sw4/NOTES.md": "3a3ddb0c77b188e67fc453ccb3efe9323f87028092a6ce4d259b7dc99d702446", + "construction/sw4/SW4-RECIPE-P6k4.json": "fa58d0ffc95d10b7453daefe4b34404a52895f94126ef973e92e92106cd615fa", + "construction/sw4/build_sw4.py": "9a295f3d534594a6b1326d8a6647e947670d1c6fbc92f37f5169661fde4c8f66", + "construction/sw4/reproduce_sw4.py": "3d082e0cc576fb1b4fb9e5dd11d63bab697c8a8626e2837813cd00d100b1aeac", + "data/FRONTIER.json": "56bed9070d5f0b7585d7b7fd62984696dbc5158e5187663030920a57e1cbfab2", + "data/OWNERS.json.gz": "0033a61747e0eb2d16208886dc8141e0e344ddb5cfa75f3580e95952384cea93", + "data/PLAN.json": "b08f8dc3624c89b38897762e13f9a15e0efa688f2e0bb7fe33abe22ef4f7ddc5", + "data/PREPARATION.json": "1d576298bfafc509992113fdd58b5482655a88e321cbfafe9386588eb6fbb6e9", + "data/SPEC.json": "98fa99dbe6ceb58d6d5ad40974e18cd29c1bf1cf6aaf1e155f53a85d9e92078a", + "data/UPSTREAM-PINS.json": "ccc37ab7fbf78947fe02c7f57ea672d2e4eae8454cb1158ed964c75bf423869b", + "evidence/ADMISSION-CONTROLS.json": "5ebcc945c53f8279ac3bb6249e1d46422b7c7ddeb41c580ab5cbb3ca886dcf28", + "evidence/ASSEMBLY.json": "847f339db218f62ffabacb4655ba4dc6e8a15f67014ca01b1146083f393b009f", + "evidence/BINDING.json": "f80ad585c9cf94989d459971189fbb176084aedbe27edf5b5cccc5c2a44de43b", + "evidence/CENTER-COMPATIBILITY.json": "c66c7da1099ac8618381e2a7cb48b09b43ccf8d125ff124e129aba8ddb922cf3", + "evidence/LOCAL-STAGES.json": "64165b81b7119a2b23e99d3f3dfe8aa1702f373efe90d82d136c17786ffb6591", + "evidence/REPLAY.json": "45a6065c41df0c2b04e185b4727c7ad8eac5ebeb637dbb7bebffc184415b49a2", + "evidence/STAGES.json": "09d7c6daf1e93c58863267141dedc3873264d3baede0cddefda0d56ecb560458", + "evidence/audit/ASYNC-AUDIT.json": "df19a41a599bf24fd1efaeb2394af63208f95b9e3ca4f83c6f23e9641fb3d662", + "evidence/audit/GLOBAL-PREFIX.json": "5a6fd0d91a650ad5aa830771fb4333b015f06bc4ded02807d65aee260ce9e671", + "evidence/audit/IDLE-REMAINDER-FRAMES.json": "95f5165a10dd187000dba9e55afbc1b7dce5a315cfedfa72e4f8344471149048", + "evidence/audit/OWNERS-AND-PROFILE.json": "a32ecc0d5387d65648e1ff284209122860ee37aaba43ce2dd12024c4bc394313", + "evidence/audit/PREFIX-AND-INVOICE.json": "14b0f41c88209e800236ce4ebbf91d83537e22e18807153d90013f7eee57a582", + "evidence/global/ACTUAL-SIGMAS.json.gz": "bf3b7814b54b30c726cae1dfabd3c09211c8f34cc943534565b131a0006b483f", + "evidence/global/GLOBAL-TEMPLATE.json.gz": "f713f8e66aaeaebb8202fe72bf36c7d23497152497342c27892e0fda3092f95b", + "evidence/global/HOSTED.json": "60866eb6ced5b9eb259bfc1d59ea7b80fb439164b629e868586ad5bef845a88e", + "evidence/global/IDLE-REMAINDER-FRAMES.json.gz": "734fd9bbe0afa2cc1e492bb7effef1aa8f0d8926ab1d9420d64c30045b30e784", + "evidence/layers/LOCAL-AUDIT-LAYERED.json": "fa0b717213d020f17461d4723afd19c0025e960db33d86eee5729bbfe8e632c6", + "evidence/leaver/CELL-MUTANTS-LV.json": "308975b8288cb9c853ee6b69e68b25e6f3727d259dccfb7509042f103bb03220", + "evidence/leaver/FRAME-CONTROLS-LV-k5.json": "2105b38bb371f6e955d09cfb73eaa74ad2ae11f37d5ed5d4206f62dfa9570e7a", + "evidence/local/CANONICAL-WORD.json.gz": "92941c2b718b533f1d3addb710d261a6e2b9ec5d19f0051d79775b08cb2571ed", + "evidence/local/CLIFFORD-RECIPES.json": "0a60293f43d88dbb1b321f02e61204afe1b6272b1346968ef35705caea1e4771", + "evidence/local/CLIFFORD-REVIEW.json": "4e3cdd616d105a49bbf1948bb53e49938d515c42f1c026781d1b5e9cb636db12", + "evidence/local/FULL-WORD.json.gz": "0ad202612f010df4ab66432a628247b37ad8b497dd6b27595b1685cbd7eb119e", + "evidence/local/INDEPENDENT-LOCAL-REPLAY.json": "18d68326ce0aca76911d561e79a817bce90cb8adfe053e19621c7ae0298b842e", + "evidence/local/LOCAL-CHECKS.json": "2b8a6a6854b8df8ecd84d8ff2b92f720c81454636988e6a0dfdc1f6c29d1c82c", + "evidence/local/LOCAL-PROGRAMS.json.gz": "172dc3d23e437909ddc01d07b12ede735afbb5bb6145f1ddf5c2e03097dfebe2", + "evidence/local/RESIDUAL-ADAPTERS.json": "bb6c23ba1b8dd5d2016724c3348b4e91a6b91daaa3f56bbd5216cb7a96bf5c94", + "evidence/local/SCALAR-FRAME-AUDIT.json": "cfc73040079b43ea82a42f3cf4c910edda1362deb09ec21c816c329347313bcb", + "evidence/local/WRAPPER-CHECKS.json": "84c727930f85f1c91900d6d12c523735c8b5d6907cd3eb1bd1030fe1fd4161d7", + "hosting/PROOF.md": "45bb3de8a10298a4cf5a278c3343be22a7d2e735be93a4e9454f24df7275faf0", + "hosting/README.md": "004bcdf6c78bd0316f0606d9e636511f94e1e80cbd79cce1a7e3bc55076d9bf1", + "hosting/audit_frozen.py": "a8d9c7c894cb44453aea93b33141559824f6c3ff81a85a6d066f4a10a2757659", + "hosting/expand_owners.py": "0f826377881d0c9405f90d9f5feac857c7c7cf8aef5bcf22d326bc274f038a70", + "hosting/frozen/FROZEN-AUDIT.json": "df6c7181a097900ee9d37db17bd25436a570f21caaa0cc2108712907ab02904b", + "hosting/frozen/MAJORIZATION.json.gz": "ec5f94b13d190d72bc0608dc9fe2498cc43ba9deb05028159a812ec1e4dcacdf", + "hosting/frozen/MANIFEST.json": "9df028adfa5120c60d2c78bfab06822cf4e6ed55502816b7d6dec19c1a2e4967", + "hosting/frozen/MATCHING-RECEIPT.json": "e1af2ac2c6e2457646d52dd693fb961f6279e10fe50eae9873f2ed149b6735b2", + "hosting/frozen/OWNERS.json.gz": "90ff7657a23dcfb67532b49c0800c5fc259b27c89005081e24bf184869e1bd57", + "hosting/frozen/REPRODUCTION.json": "8354f63148621c5fcf09cd16b496dedd677d813f83974e1f341ce38a1fffec81", + "hosting/frozen/SEED-OWNERS.json.gz": "eb3be5eebbb84349d7e7f1bde2fc77772a12ad5bccc6dab7c4efd8d903e2a048", + "hosting/frozen/SEED-RECEIPT.json": "aecfef753379106f5289f31251584c642e2cf7e4fa2d0886bb4ef9e922f8d9ba", + "hosting/frozen/SEED-REPRODUCTION.json": "4f6d49a85f43c98c816877d783470ca717be2349caceb991bf756eedece1b194", + "hosting/reproduce.py": "7551004d8d15cebcecc6793ebd17385830390935ccd1a8957f1c5472bce6ec82", + "hosting/reuse_owners.py": "2106fe79bd89071e62a3a25c1e444531e14fb89f88b4bdeb72d7b40c91266402", + "independent/CENTRE-GUARD-REVIEW.md": "7b82518d7ddf042d6e71174bc286311fa72127e0dc6dc9e500025fcf7abbf897", + "independent/GAUGE-COLD44-INDEPENDENT-AUDIT.json": "9fb5265c4d2ddf3d615e46600954c79cd1a42481500a0973a5695fcb9f2558c9", + "independent/GAUGE44-GLOBAL-GUARD-REVIEW.json": "631107a9a9acb02441ce80298f815e0c624f811b0d58c6fd78f8dc58d564bb5b", + "independent/GAUGE44-INDEPENDENT-PRICE.json": "53049d0126aa54bfd6603dc7d43fea08554f7d3baadb8534264fcd69e822d3e3", + "independent/README.md": "25668a62d8c91f6860f8412cf2fc750ba41bf1085dad3709ad5067c7956eac89", + "independent/audit_local.py": "03afcfc9da428b3f6edac81c1fee7f277ab81b64998efae78380b63498dec6cd", + "independent/price_profile.py": "d2f548ad6b99f64a8ca5fbaf822a89560bb99359957ce3420b497f6a46fc0acf", + "independent/review_guards.py": "b83164d6c0122a055b3281f3381b305683a875760a2d727dd0188bb2aa59d67d", + "inputs/PR589-EXPECTED.json": "b9f0e5ca038abe837b0007c8fe006f366a6f02009244ac57705a8a200e2301f4", + "verify_global.py": "16bd5e54598592e92e210f99065348c5df261b8350fdc688072ce053d15b088a", + "verify_manifest.py": "723d726dbbe5b65a49caecae0f1aab664a1413fb639abfd3e826a5a538e14e5b" +} diff --git a/research/gauge44-leaver/NOTICE.md b/research/gauge44-leaver/NOTICE.md new file mode 100644 index 0000000000..7eedf90fe9 --- /dev/null +++ b/research/gauge44-leaver/NOTICE.md @@ -0,0 +1,24 @@ +# Gauge44 attribution and scope + +New contributions by icekylinx, with OpenAI GPT-6 Astra assistance. +Local review and packaging used OpenAI Codex. Apache-2.0 applies; +the license is included. The full original PR635 notice is preserved as +UPSTREAM-NOTICE.md and construction/UPSTREAM-NOTICE.md. + +The new contribution is the changed source-branch gauge and retired-row +completion, source-carried coordinate totals, exact 44-cold-end realization, +and explicit all72 whole-family assignment using concave capacity matching +with integer majorization certificates. The center-carrier generalization +retains the exact ordered common frames and complete native local contract. +Independent local, price, interface and owner fixed-point checks are included. + +The construction retains the credited PR635 K-triangle and porting machinery, +earlier joint-prefix/HPE/frame ancestry and icekylinx's prior factory work. +#645 used the same cited PR543 bit supplier as PR635. This package (research/gauge44-leaver) cites the merged PR589 bit supplier instead, with a derived rank-mass deficit (PROOF-NOTE-BIT.md); #645's retained PR543-based evidence is historical. It builds #645's word without K-triangles (PartialK) and stacks earlier community jp8 layers on it (G44Stack), adds the p6n ends (NoTriReopen), entrance promotions (BlockInvert) a read-set exchange (BRoute), chafreaky's #741 frames, JointXF's joint exchange, NewBArch's triangle-hybrid B rewrite and LeaverSAT's leaver cells (with LeaverSAT2's frame re-optimisation); see README. All-size, realization, +hosting, precision/tape, analytic-transfer and bit H1-H5 assumptions remain +conditional. No upstream license, credit, source pin or AI disclosure is +replaced by this notice. + +PR641 and PR642 were checked as concurrent reported frontier comparisons. +Their endpoints and owner maps are not included here. See CONSTRUCTION.md, +hosting/PROOF.md, independent/ and README.md for the exact contribution scope. diff --git a/research/gauge44-leaver/PROOF-NOTE-BARCH.md b/research/gauge44-leaver/PROOF-NOTE-BARCH.md new file mode 100644 index 0000000000..8cea5a6846 --- /dev/null +++ b/research/gauge44-leaver/PROOF-NOTE-BARCH.md @@ -0,0 +1,43 @@ +# PROOF-NOTE-BARCH: width-neutral triangle-hybrid B-delivery rewrite (U8) + +Construction by NewBArch (`construction/barch/`, builder `build_tri.py`, controls `run_controls.py`, recipe +`RECIPE-U8.json`). Driver: `construction/barch/reproduce_barch.py`, chained after `construction/jx`. + +## The move +On research/gauge44-frames-x's X4 word (`1e1d99ba…`), eight disjoint slots are rewritten. In each slot X an entering +copy E donates into a halves-copy X: 231 (E 450), 230 (E 452), 232 (E 454), 236 (E 456), 226 (E 451), 228 (E 453), 62 (E 455), 238 (E 457). That way, so that one target +read takes X + H in a single gate. A holder pair (for example 496/484) carries the value. Each holder is restored by a +low-end tail at its frame (early cleanup) and a FULL-cleanup restore. Entrance pre-reads keep the entering helper's +start value away from every target. + +The recipe is explicit, with every index referring to the X4 word: +- 40 B deletions; +- 40 B insertions, each with its frame; +- 32 explicit re-chosen B frames; +- 8 early-cleanup tails; +- 8 FULL-cleanup restores. + +The A section and X4's tail frames are untouched. The width is unchanged at 3778. The profile goes +{1:2548, 2:338, 3:430, 4:194, 5:56, 8:8} → {1:2548, 2:338, 3:446, 4:162, 5:72, 8:8}, a delta of {3:+16, 4:−32, 5:+16}. +The eight slots are additive (8 × 3.925e-8 ideal = 3.140e-7). Output word `090fd574…`. U8 contains B0's four slots +(231, 230, 226, 228) plus 232, 236, 62 and 238. + +## Checks rerun on every rebuild +- `build_tri.py` (standard library only) checks the base sha (`1e1d99ba…`) and the result sha (`090fd574…`). +- `run_controls.py` produces 38 outcomes, all required. The control set is pinned in `LOCAL-PINS-barch-U8.json`. + - C0 identity reproduces the input. + - The recipe word PASSes #645's independent `audit_local.py`. + - Four mutants must each FAIL `audit_local` with a pinned message, both globally and for each of the eight slots + (NAME@X): + - drop_restore: the holder is not restored, giving "all-column endpoint failure"; + - restore_full: the low-end restore is moved into the FULL cleanup, giving "all-column endpoint failure"; + - drop_preread: the inserted entrance pre-reads are omitted, giving "nonzero entrance response"; + - donation_after: the donation is placed after the target read, giving "nonzero entrance response". +- The per-end layer-end controls (`../layers_p6n/layer_end_controls.py`) reject 95. +- PR635's native chain runs, with the canonical word, local programs and Clifford recipes pinned. + +## Strict +NewBArch's strict replay: the #741 map (`G44Pack/m741`, byte-identical OWNERS) is rebound to the U8 locals with +`rewidth.py` and admitted with this package's own code (NEWWORD `admit645.py` on research/gauge44-frames-x's tree). +The result is κ 0.001661948695165034, +3.1404e-7 over research/gauge44-frames-x. The four-slot subset B0 strict-passes +at 0.001661791659578416 and the single slot V1 at 0.001661673902364948. diff --git a/research/gauge44-leaver/PROOF-NOTE-BIT.md b/research/gauge44-leaver/PROOF-NOTE-BIT.md new file mode 100644 index 0000000000..3ca670bcba --- /dev/null +++ b/research/gauge44-leaver/PROOF-NOTE-BIT.md @@ -0,0 +1,112 @@ +# PROOF-NOTE-BIT: citing the PR589 bit supplier with a derived rank-mass deficit (gauge44) + +This note is BitCap's `PROOF-NOTE-BIT.md` from `complex-571-cold14-k492-bit589`, adapted to the gauge44 package. It +covers the only verifier change relative to #645's package (`research/gauge44-global`): the bit supplier changes from +PR543 to PR589. The complex side is #645's construction, unchanged: supplier word, recipes and every complex check in +`code/assemble.py`. The only complex-side change is the repacked owner map (`data/PLAN.json`, `data/OWNERS.json.gz`), +with expected values re-derived in `data/SPEC.json`. + +## Changed sites + +The changes are in `code/assemble.py`, plus one new stage in `verify_global.py` and a new file +`code/bit_supplier_controls.py`. The independent (non-verifier) `independent/price_profile.py` is ported to PR589 as well. Every other `.py` file equals #645's. + +| # | site | before (#645) | after | +|---|---|---|---| +| S1 | bit input | `inputs/PR543-EXPECTED.json` from the multicold source, blob pin `b61d8598…` | `inputs/PR589-EXPECTED.json`, shipped in this package, blob pin `e293ddc5…`, through `load_bit` | +| S2 | bit deficit | literal `9984` | `bit_deficit(word, live)` = T(2Kv − L·cst), with L = 9, T = 32, K = (L−1)/2 = 4 | +| S3 | profile binding | (none) | Σ r·n of the bit profile = `bit.rank_mass`; moment width `BIT_M = 1 + 7L` asserted = 64 | +| S4 | pipeline binding | (none) | the record's `nine.pipeline` names the nine-stage template with 32 replicas | +| S5 | citation / receipt | input hash names the PR543 file | `bit_supplier` cites PR589 (head `a5afc8c6`, merged as `b3eb785a`, path `research/e8-bit-p111-tuned/tune/EXPECTED.json`) and records v = 111, cst = 63, COPY ranks [7×9] and the derived deficit 10272 | +| S6 | `verify_global.py` | (none) | stage `bit-supplier-controls` runs `code/bit_supplier_controls.py`; it requires status `PASS_PR589_BIT_SUPPLIER_DERIVED_DEFICIT_NEGATIVE_CONTROLS`, exactly 12 rejected controls and derived deficit 10272 | + +The shipped `inputs/PR589-EXPECTED.json` has git blob `e293ddc557742637f9f679f083a1a282d87b1b13`, which equals +`origin/main:research/e8-bit-p111-tuned/tune/EXPECTED.json`. + +## Why the derived deficit is correct + +**The identity.** The rank-mass identity of #545 and #555 is M·live − mass = T(2Kv − L·cst). Its source is +#555's README, "Rank-mass identity", and `code/adapt9p.py`, whose audit carries `DEFICIT=T*(2*K*V-L*CST)`. + +**The parameters.** The bit word has v live ports and decoder constant cst, the sum of the nine retained totals' COPY +ranks. The nine-stage chain is #463/#510 with 32 replicas, so L = 9, T = 32, K = 4 and M = 1 + 7L = 64. The live data +wires number 2KvT. + +**The constraints checked.** The verifier asserts all of: +1. cst = Σ copy_ranks, with exactly `retained_totals` = 9 entries, each in (0, 8]. +2. live = 2KvT. For #589: 2·4·111·32 = 28416. +3. Σ r·n over the priced profile = the record's `rank_mass` = 1808352. +4. M·live − Σ r·n = T(2Kv − L·cst). For #589: 64·28416 − 1808352 = 10272 = 32·(888 − 567). + +Check (4) is #645's `check_moment` guard, unchanged. So v, cst, the profile and live must all agree. + +**PR543 consistency.** The same formula reproduces #645's constant: PR543 has live = 30720, so v = 120; its nine +totals have COPY rank 8, so cst = 72; 32·(960 − 648) = 9984. + +**The deficit does not raise c.** `check_moment` uses the deficit only as an equality guard. The moment engines +compute from (profile, m = 64, live, z) and never read it. The bit value c is established only by the unchanged +acceptance tests at the same exact endpoints, with the bit bad-residue surcharge retained: accept at c and reject at +c + 10⁻²⁴, by both engines. + +## Effect on the outer chain (differs from the k492 package) + +In the k492 package the complex side bound under either supplier, so κ did not move. Here it does. With the +gm3 map the complex side certifies b = 0.001654663299688920102557, with research/gauge44-bit589's dz1 map +b = 0.00165526410310589140991, and with research/gauge44-bit589b's L1g4 map b = 0.001655496738330440231813. PR543's c = 0.001653826988146798944268 is +below b, so under PR543 the bit side would bind. BitCap's table gives the PR543 bit-side κ cap as +0.001651096360425895, which is exactly the κ of `research/gauge44-repack`. PR589's c = 0.001733427039589844234749 +exceeds b, so the complex side binds again (`binding = complex` in `ASSEMBLY.json`): κ = 0.001651929911890057 for gm3 +(conservative 0.001651929909011672) κ = 0.001652528731617094 for dz1 (conservative 0.001652528728737236), and +κ = 0.001652760598550299 for L1g4 (conservative 0.001652760595670246). +Bit589Reviewer recomputed both suppliers with the outer engine and confirmed this. The gain over gauge44-repack therefore depends on this change and on the +assumptions below. + +## Negative controls (all must be rejected; the verifier requires exactly these 12) + +Each control runs the real `assemble()` on the fresh owner/invoice receipts with one input mutated. The strict run's +`BIT-SUPPLIER-CONTROLS.json` lists all 12 as rejected. + +| control | site | rejected at | +|---|---|---| +| `revert_hardcoded_9984` | S2 | `check_moment` deficit guard (10272 ≠ 9984) | +| `ports_112` | S2 | `bit_deficit`: live ≠ 2KvT | +| `decoder_constant_64_copy_ranks_unchanged` | S2 | `bit_deficit`: cst ≠ Σ COPY ranks | +| `decoder_constant_64_with_one_copy_rank_8` (derives exactly 9984) | S2 | `check_moment` deficit guard | +| `eight_retained_totals` | S2 | `bit_deficit`: totals count ≠ 9 | +| `live_minus_one` | S2 | `bit_deficit`: live ≠ 2KvT | +| `profile_rank_mass_plus_one` | S2/S3 | `check_moment` deficit guard | +| `profile_rank_mass_receipt_mismatch` | S3 | profile mass ≠ `rank_mass` | +| `bit_lower_next_grid` | endpoint | `check_moment` reject-side moment test | +| `not_nine_stage_record` | S4 | pipeline binding | +| `tampered_bytes_next_grid` | S1 | blob pin | +| `pr543_file_under_pr589_pin` | S1 | blob pin | + +Bit589Reviewer re-traced all 12 rejection sites on the gauge44 word (b589gm3), and they match the table: `code/assemble.py` L191 (`revert_hardcoded_9984`, `decoder_constant_64_with_one_copy_rank_8`, `profile_rank_mass_plus_one`), L48 (`ports_112`, `live_minus_one`), L47 (`decoder_constant_64_copy_ranks_unchanged`, `eight_retained_totals`), L201 (`profile_rank_mass_receipt_mismatch`), L197 (`bit_lower_next_grid`), L179 (`not_nine_stage_record`) and L39 (both blob controls). dz1 and L1g4 run the same code. + +The ported `independent/price_profile.py` re-derives the deficit separately (`pr589_deficit`) and checks the same blob pin. Its regenerated receipt on this package's PLAN gives the same κ. + +## Inherited assumptions + +**PR merge status (`gh pr view`, 2026-10-13):** #589 MERGED 2026-10-12T17:00:38Z. #555 was merged 2026-10-12. #645 +is OPEN. Main's review replayed #589 freshly as "supplier-only headroom", and main's *selected* composition still +cites #543. + +**Unmerged assumptions:** +1. **#645 itself (open):** the gauge44 factory, its construction steps and all of its retained interfaces and notes. + These are unchanged here. +2. **This verifier change (S1–S6):** under review (Bit589Reviewer). The PR589 record replaces PR543 as an *input of + the gauge44 assembly*, a composition main has not selected. + +**Assumptions carried by #555/#589 (merged, stated there as review points, not theorems):** +3. #545's punctured unit: a 111-port unit with decoder constant 63 is an admissible bit supplier on the same hypotheses + as v = 120. +4. #510's nine-stage chain as re-parameterised for v ≤ 120 by #555's `code/adapt9p.py`, including the rank-mass + identity used in S2. +5. #543's interleaved scalar-interface lemma (H1–H5) for phase-B source rewrites. This is not new: #645 already + inherits it through PR543. +6. #589's two A-section transports. +7. The same bit bad-residue surcharge model as PR543 (`surcharge_model = {'complex': False, 'bit': True}`). + +## Result + +The bit-supplier change is the same as in research/gauge44-bit589 and gauge44-bit589b: the code is byte-identical and was signed by Bit589Reviewer. For this package (leaver word fo_hyb, FO_c1 map), the complex side certifies b = 0.001667007898013796187659 and binds under PR589. Under PR543 the bit side would cap κ at 0.001651096360425895. κ is given in the README and `RESULT.json`. diff --git a/research/gauge44-leaver/PROOF-NOTE-FRAMES-X4.md b/research/gauge44-leaver/PROOF-NOTE-FRAMES-X4.md new file mode 100644 index 0000000000..a456a8127b --- /dev/null +++ b/research/gauge44-leaver/PROOF-NOTE-FRAMES-X4.md @@ -0,0 +1,58 @@ +# PROOF-NOTE-FRAMES-X4: chafreaky's #741 frames and JointXF's joint exchange (X4) + +Two construction steps on top of research/gauge44-promo-p6k4sw's SW4 word P6k4sw4 (`d232183f…`). + +## 1. #741's eight B frames (`construction/frames/`) +The eight B-gate frame raises are by **chafreaky**, [#741](https://github.com/CrocSwap/integer-mult-bounds/pull/741) +(`research/complex-sw4-frame8`, commit e516b146). `FRAME-RECIPE-sw4.json` is byte-identical to #741's +`data/FRAME-RECIPE.json` (a2c7ca4d…). CompetitorMine ported #741's builder and controls; only package paths are adapted. +The step applies the frames with BlockInvert's `build_promotion.apply` and checks: +- the scalar program of A, cut, B, precondition and cleanup is unchanged; +- start and end frames are unchanged; +- the profile, the widths and the output word `e7804702…` are pinned; +- 3 pin controls are rejected; +- #741's 10 focused native controls are rejected (8 frames emptied, a changed read coefficient, paid-profile tampering); +- the per-end layer-end controls reject 95; +- the native chain matches its pins. + +The rebuilt locals equal G44Pack's F741 locals except the `seconds` field in CLIFFORD-REVIEW. +This step reproduces #741's word. The final word is built by step 2, which contains these frames. + +## 2. Joint exchange X4 (`construction/jx/`, JointXF) +There are four disjoint instances of BRoute's sw4 read-set exchange rule. Each one exchanges *two* copy pairs that +share targets: (448, 472), (458, 592), (470, 604) and (482, 614), with face registers 235, 267, 58, 427, 26, 443, 18 +and 50. #741's eight frames sit on top. The 16 moved reads keep their original stored dim-6 frames: they are +monotone-repaired rather than refitted to the plain join. The recipe `RECIPE-X4.json` is explicit: +- 32 replaced gates, 16 deleted gates and 16 inserted gates, each with its old gate asserted; +- #741's 8 frames, listed with their source; +- 16 explicit frames at the moved reads, each asserted equal to the recomputed frame. + +The builder `build_jx.py` uses only the standard library. It checks: +- target frames lie inside u_t^⊥; +- tails and ends; +- exactness of the whole B segment's rational linear map against the input (a Fraction replay); +- the recomputed paid profile and the output sha `1e1d99ba…`. + +Effect against #741's word: the profile goes {1:2556, 2:334, 3:430, 4:194, 5:56, 8:8} → {1:2548, 2:338, 3:430, +4:194, 5:56, 8:8}. The width inventory is unchanged, and each instance gives +1.0798e-7 at ideal, exactly additive. + +**Controls**, each pinned in the recipe and rerun by `reproduce_jx.py`: + +| control | outcome | +|---|---| +| C0 identity | returns the input `d232183f` | +| C1 #741 only | `e7804702`, #741's word (ties step 1 to step 2) | +| M1 one pair (448) with frames retained | `5fb6fb2e`, neutral (profile = #741) | +| N1 pre-read dropped | rejected: exactness rows [132, 135] | +| N2 pre-read with wrong sign | rejected: exactness rows [132, 135] | +| N3 plain-join refit of the moved reads | `7241cd59`, strictly worse | +| N4 a raise made dim-7 at B855 | rejected: cap at (1302, 174) | + +N3 and M1 are pinned-outcome controls (a specific different word), not rejections. They show the gain needs both the +target-sharing pair and the retained frames. + +**Other checks (JointXF):** +- `audit_local` PASS; +- native chain PASS; +- FrameCoal's global frame optimiser reaches the same profile on this move set, so X4 is frame-optimal for these moves; +- SW4Extend found the same word independently. diff --git a/research/gauge44-leaver/PROOF-NOTE-LAYERS.md b/research/gauge44-leaver/PROOF-NOTE-LAYERS.md new file mode 100644 index 0000000000..c4b4e85b6a --- /dev/null +++ b/research/gauge44-leaver/PROOF-NOTE-LAYERS.md @@ -0,0 +1,129 @@ +# PROOF-NOTE-LAYERS: earlier jp8 layers, here stacked on the no-triangle gauge44 word + +> In this package the layers sit on the no-triangle word (R = 504), not on #645's 492-helper word. The mapping, the +> NP chain (regroup `864ff4a1` → swap `beb3579f` → layered `a9de804f`), the per-layer status on this base and the +> checks are in `PROOF-NOTE-NOTRI.md` ("Layers on this word"). The text below is research/gauge44-layered's note. It +> describes the same layers and controls on the 492-helper word; its word shas, helper numbers, counts and result +> table refer to that word. + + +This note covers the second change of research/gauge44-layered relative to research/gauge44-bit589. The first change, +the PR589 bit supplier, is covered unchanged by `PROOF-NOTE-BIT.md`. Here the community jp8 layers that were reviewed +on the k492 words (#629/#637/#641 lineage) are re-applied to #645's gauge44 provider word. The layers, their +construction code and their recipes were all reviewed earlier, on k492 words. This note says what carries over +unchanged, what is re-checked on the gauge44 word, and what is new. Sources: G44Stack's report (porting and checks on +gauge44); PivotReviewer's report (sections 1-4, Addenda 3-5); H4aReviewer's report (Addenda 7-8); JP8Ends' report. + +## What the layered word is + +`construction/layers/reproduce_layers.py` builds the layered word from a fresh `construction/reproduce.py --until word` +output. Each step is checked exactly: + +1. **Pivot swaps** (`build_pivot_swap.py`, PR641's constructor, LF sha256 `8e8bced8…`, the file PivotReviewer signed for + st2s4). It reads `PIVOT-SWAP-S6.json` and runs on #645's `regroup/FULL-WORD`. There are six pivot-role swaps: 488→560, + 489→561, 500→572, 501→573 (s4) and 513→537, 525→549 (s6). The `swaps` list is identical, gate for gate, to S6Ship's + s6/s6j3 recipe (`k492-jp8-pivot_swap.json`); only `input_content_sha256` differs, because the base word is #645's + regroup word. The constructor replays the zero response exactly, keeps the profile and width multiset unchanged, and + rejects its 30 negative controls. +2. **HPE.** PR635's `build_hpe.apply` applies the inherited jp8 hyperplane-end changes (`HYPERPLANE-END-S6.json`). Its + LF sha256 `23c9d7ce…` equals the k492 jp8 hyperplane_end recipe committed in s6j3 and earlier. +3. **cold44, exactly.** #645's `build_gauge_cold44.py` runs on the swapped HPE word. Its 44 rank-four cold ends, premix + and low tails must equal the unswapped (pinned) cold44 construction; only the FULL inverse differs. Consequently the + swaps touch no factory block. +4. **Layers.** PR635's unchanged `build_cold_end.apply(HPE, COLD-LAYERS-RECIPE)` applies the cold44 recipe plus: + - 8 entering ends: 560/561/572/573 at U24 (s4) and 597/599/537/549 at U30 (x30: #629's E1 pair, which #645 dropped, + plus s6's two ends); + - 10 factored dim-8 cold ends: p123 (310/506, 311/504, 516/327) and q4 (579, 592, 589, 518). + The output word's sha256 is pinned (`0be48b1d…`), as are its local profile `{1:2542, 2:414, 3:434, 4:154, 5:56, + 8:8}` and width inventory `{4:52, 5:48, 7:42, 8:116, 9:234}`. The recipe's `refactored_cleanup` meta lists the 8 + entering ends in `entering_low_frame_ended_helpers` (LayerReviewer's fix). That meta is copied into the word, which + is why the pinned word sha moved from `b25f0ed9…` to `0be48b1d…`; gates, frames and report are unchanged. +5. **Layer-end controls** (`layer_end_controls.py`, LayerReviewer's adaptation of PR635's `cold_end_controls.py` + d966e29a). These are raw-word negative controls on the layered word, judged by PR635's unchanged + `hpe_audit_and_transport.py`. Each mutant must be rejected at its pinned reason. The adaptation has three parts: the + lower→FULL mutant is pinned at "cleanup on non-FULL end", where gauge44 rejects it; entering ends come from the + recipe meta; and the premix-gate controls are skipped for entering ends that have no premix gate. `reproduce_layers.py` + requires exactly 59 rejections. +6. **Native locals.** PR635's native audit and transport, ledgers, local replay (the 192-bit payload bound), wrappers and + phases all pass. The result is the `--local` that `verify_global.py` consumes. + +G44Stack's run of this driver (`rlayers2`, all steps exit 0, 59 controls rejected) reproduces `locs/pq/local`, the +local G44Pack's strict runs used. Every SPEC-pinned artifact is byte-identical: CANONICAL-WORD, LOCAL-PROGRAMS, +LOCAL-CHECKS, INDEPENDENT-LOCAL-REPLAY, CLIFFORD-RECIPES, RESIDUAL-ADAPTERS and WRAPPER-CHECKS. CLIFFORD-REVIEW differs +only in a seconds field; its semantic hash is what SPEC pins. The two unpinned files that embed the word, +FULL-WORD and SCALAR-FRAME-AUDIT, differ because of the meta. + +## Per-layer status on gauge44 (G44Stack, ideal Δκ at ×72) + +| layer | prior review (k492 words) | on gauge44 | per-call Δ profile | ideal Δκ | +|---|---|---|---|---| +| pivot swaps (6) | PivotReviewer §1-2 (s4), Addenda 4-5 (s6): exact; omitting any rewritten gate is rejected; cost-neutral | all 6 recipe `before` gates match the regroup word; 30 controls rejected; cold44 rebuilds the same 44 ends | neutral | 0 | +| s4 ends 560/561/572/573 @U24 | PivotReviewer §3: (N) exact for ([24], U24) and its canonical pair; climbs paid | positive | {1:+8, 2:−4, 3:+4, 4:−4}, w −4 | +7.0e-8 | +| x30: E1 597/599 + 537/549 @U30 | #629 (E1); PivotReviewer Addenda 4-5 (537/549 end monotonically at the E1 hyperplane, whose (N) is exact) | positive | {1:+10, 2:−6, 3:+2, 4:−2}, w −4 | +2.0e-7 | +| p123 | H4aReviewer Addendum 7: 0 bad rows, dyadic, exact in all 3 orientations; (N) for (0,1039)-(0,1041); Δ recomputed | positive | {1:+6, 2:+12, 3:−12}, w −6 | +2.0e-8 | +| q4 (after p123) | H4aReviewer Addendum 8 (n_q4): exact; (N) for the 310/311/327 frames and 518's (0,1042); independent of u4 | positive | {1:+4, 2:+8, 3:−8}, w −4 | +1.4e-8 | +| **stack T_pq** | — | built and audited | {1:+28, 2:+10, 3:−14, 4:−6}, w 3794→3776 | **+3.08e-7** | + +These layers were left out because they are negative or dead on gauge44: u4 (−1.2e-6), the 249 end (−3.2e-7), a joint +p123+q4 (−2.6e-7, worse than sequential), and #627's dim-7 ends 581/590 (no dyadic basis). j3 is dead: its st2 partner +403 is one of #645's 44 ends, and cold44's block premix uses up the row space. + +**Payload.** H4aReviewer's Addendum 8 correction found that the k492 word n_q4 broke the 192-bit local payload bound +(backward prefix 280 bits). On gauge44 the layered word passes PR635's `hpe_audit_local.py` local-replay stage +(`prefix < 2**192`), both in G44Stack's `localchain.py` and as step 5 of `reproduce_layers.py`. So the q4 layer here +does not repeat that failure. + +## Verifier changes (spot widths) + +A swapped-out pivot p becomes an ordinary cold helper, and its width goes from 8 to 9. #645's global code checks the +spot helpers' widths as all 8, so the five global files gain the spot-width rule PivotReviewer signed as SOUND for +S4Ship (Addendum 3), ported to gauge44: + +- `code/witness.py`: `spot_widths(v)` gives 9 at a spot helper h with 2v+h among the swapped-out pivots and 8 + elsewhere. The swapped-out pivots are read from the recipe that SPEC key `pivot_swap` names (path and sha256; the + sha256 is asserted). Without `pivot_swap` the tuple is all 8, the same as #645. +- `code/bind_providers_portable.py`, `code/audit_allcold.py`, `code/assemble.py`: the `all(... == 8)` spot checks become + tuple equality with `spot_widths()`, which pins every spot width exactly. +- `code/assembly_controls.py`: the `cold_swap` control picks a swap partner whose width differs, so the mutant can + never be the identity. + +Here the spot helpers 264 and 276 (pivots 488 and 500) expect width 9 and the other spot helpers expect 8. The k492 +spot-width review (PivotReviewer Addendum 3) covered the same rule on k492 code. Its gauge44 port is part of this +package's review (LayerReviewer). + +## Controls and what is not re-run + +- The pivot-swap constructor's 30 controls run inside `reproduce_layers.py` (step 1). +- `verify_global.py`'s strict controls are unchanged, including the 12 bit-supplier controls and #645's admission + controls. They run on the layered locals. +- Layer-end controls: 59 raw-word mutants, all rejected at pinned reasons, run as step 5 of `reproduce_layers.py` + (see above). They cover the cold low-frame ends, the refactored cleanup, every entering end (its lower-frame gate, + profile pin and hyperplane, plus its premix gate where it has one) and each distinct dim-8 frame. LayerReviewer ran + them on the layered word (59 rejected). The k492 version (d966e29a) rejected 103-112 on the p123/q4 words; the + k492-only primitives (absorptions, factored accumulators, target writes) are absent from this word. +- #645's independent audit `independent/audit_local.py` on the layered word: PASS, with 204 entering helpers, 96 low ends, + 54 cold ends and 716 columns. Its receipt is `evidence/layers/LOCAL-AUDIT-LAYERED.json` (word `0be48b1d…`, run with + `--main`). The README's clean-clone command reruns it; only `elapsed_seconds` varies. The other `independent/` + receipts are #645's own. +- The prior (N), exactness and pricing checks for each layer were done on k492 words. On gauge44 they are covered by + the native chain (native audit, local replay, wrappers, phases) on the layered word, together with the pinned + profile and width inventory. + +## Inherited assumptions + +These are the same as `PROOF-NOTE-BIT.md` (#645 open; PR589 citation; #545/#555/#589 review points; H1-H5). In +addition: + +1. **(N) for the entering-end pairs outside #599's three Lean-covered pairs** (U24, U30, the dim-8 frames). As on + k492, these are covered by the tool check (clifford_exact / `nchk.py`) and by the native wrappers, not by a Lean + proof (PivotReviewer §3). +2. **The reviews of PR641's pivot-swap constructor and PR635's `build_cold_end.apply` / `build_hpe.apply`**, which this + package uses unchanged. + +## Result + +| | gauge44-bit589b (L1g4 map) | this package (layered, LN5c map) | +|---|---|---| +| κ | 0.001652760598550299 | 0.00165395497190225 | +| per-call width | 3794 | 3776 | +| local profile | #645's {1:2514, 2:404, 3:448, 4:160, 5:56, 8:8} | {1:2542, 2:414, 3:434, 4:154, 5:56, 8:8} | diff --git a/research/gauge44-leaver/PROOF-NOTE-LEAVER.md b/research/gauge44-leaver/PROOF-NOTE-LEAVER.md new file mode 100644 index 0000000000..43f33ec3e6 --- /dev/null +++ b/research/gauge44-leaver/PROOF-NOTE-LEAVER.md @@ -0,0 +1,66 @@ +# PROOF-NOTE-LEAVER: no-helper mutable-leaver all-K cells, re-stacked layers, hybrids and a frame re-optimisation (fo_hyb) + +Construction: LeaverSAT (cells, layer re-indexing, frozen recipes) and LeaverSAT2 (frame re-optimisation). +Drivers: `construction/leaver/reproduce_leaver.py` (cell word) and `construction/leaver/reproduce_leaver_chain.py` +(everything after it). Reviews: PromoReviewer (leaver chain and frames), SW4Reviewer (k5 hybrids), Q6Reviewer +(`layer_end_controls_leaver.py`). + +## 1. The cell (set model, LeaverSAT) +In #781's all-K cell, a pair p with sign e replaces three face events and three packet copies. Direct delivery uses +15 reads y_i += c x_j. LeaverSAT's 21-gate circuit uses the six leaver sources x_j (face-event operands with no later +reads, restored at FULL by the inherited cleanup) as mutable intermediates. It has 3 leaver gates x_k += c x_m, +3 target gates y_a += c y_b (inverted at frame zero in the precondition and scatter, #781's recipe) and 15 reads. +Coefficients are rescaled exactly per cell, C_ij = r_i c_j. The driver re-derives the scaled gates from the unit +circuit and checks the clean map Y_i = Σ_j C_ij X_j in exact rationals. + +Native legality needs one relabelling: the plain circuit fails the native audit, because a y += y source carries +port-stage entering-helper dirt. Each cell is therefore relabelled by S6 so that y–y sources avoid targets carrying +entering dirt at that time. + +**Set k5:** five cells (01+, 23+, 45+, 67+, 67−), R = 489. The cell word is cold44 `e10817e0…`. Its pairing ranks are +pinned to [2,2,1,4,4,4,4,4,4,4,4,2,1,1] in `cold44x.py` and checked again in the driver. + +## 2. Re-stacked layers (LeaverSAT; signed builders unchanged, recipes re-indexed) +| step | recipe (data) | word | +|---|---|---| +| pivot swaps (6), mapped through the leaver helper map | `PIVOT-SWAP-k5.json` | `c3d4ecfe…` | +| HPE, greedy (31) | `HPE-RECIPE-k5.json` | `0a2c596e…` | +| cold44, exact (same ends, premix and tails as the unswapped cell word) | — | — | +| NP layers (s4, x30, b6, q4) | `COLD-LAYERS-RECIPE-NP-k5` | `ead98631…` | +| p6n ends | `COLD-LAYERS-RECIPE-P6N-k5` | `13de8d32…` | +| promotions (16, minimal) | `PROMO-RECIPE-k5.json` | `b88d5abe…` | +| joint exchange (re-indexed X4; 0 of #741's frames survive) | `RECIPE-X4-k5.json` | `d54668aa…` | +| U8-style hybrids ×7 (NewBArch's builder) | `RECIPE-U8-k5.json` | `2997cede…` | +| frame re-optimisation (exact global frame optimum, gopt2) | `FRAME-RECIPE-LV-k5.json` | **`238be1fc…`** | + +Two steps don't apply to k5. The sw4 exchanges use copy helpers 461, 581, 591 and 603, which the cells drop. Of +#741's eight frames, none survives. + +## 3. Controls rerun on every rebuild +- **Cell stage:** the exact clean-map check; native audit, ledgers, local replay, wrappers and phases on the cell word. +- **Pivot swaps:** the swap constructor's 30 controls. +- **Promotions:** BlockInvert's `promo_controls.py`, 11 mutants rejected at pinned sites. +- **Joint exchange:** all 7 `RECIPE-X4-k5` controls reproduce their pinned outcomes. +- **Hybrids:** `run_controls.py` gives 34 outcomes, all required. These are C0, the recipe word passing audit_local, + and 4 mutants, each run both globally and per instance. +- **Frames:** `build_frames_lv.py`'s 3 pin controls. LeaverSAT2's 6 frame-recipe mutants are rejected by the builder; + that receipt was reviewed by PromoReviewer and is not rerun. +- **Layer-end controls:** `layer_end_controls_leaver.py`, Q6Reviewer-signed. It is the signed per-end controls with + one change: the expected reason of two mutants (premix_dropped, into_full) is re-pinned to the arbitrary-dirt + endpoint, because on the leaver words those mutants are caught there first (`LEC-REASON-PINS-k5.json`). Every + mutant must still be rejected. Each count is 95 on the p6n, promoted, jx and hybrid words. On the re-framed final word + the controls are not run (interim skip, approved by Q6Reviewer): the frame re-optimisation lowers entering end 559's + tail frame below the hyperplane, so the control generator cannot build its 'end at another hyperplane' mutant. The + ends, helper_final, starts and scalar program are unchanged from the hybrid word, and the native audit of the final + word is pinned. +- **Native chain on the final word:** the canonical word, local programs and Clifford recipes are pinned in + `CHAIN-PINS-k5.json`, which also pins every count above. + +## 4. Cell mutants (evidence, not rerun) +LeaverSAT2's `CELL-MUTANTS-LV.json` (in `evidence/leaver/`) records PromoReviewer's cell mutants M1–M6, generalised +to every cell sign. All 42 are rejected by both audit_local and the native audit, on single-cell builds. + +## 5. Strict +The owner map is G44Pack3's FO_c1: its pattern-flow LNS, rebound to the R = 489 word. Admitted on this package's +own code, with SPEC `width_spot_helpers` [263,275,287,299] and `pivot_swap` → `construction/leaver/PIVOT-SWAP-k5.json` +(NEWWORD discovery, freeze, strict), it gives κ 0.001664233607446043. That is +2.599e-6 over research/gauge44-frames-x. diff --git a/research/gauge44-leaver/PROOF-NOTE-NOTRI.md b/research/gauge44-leaver/PROOF-NOTE-NOTRI.md new file mode 100644 index 0000000000..54bd84e01d --- /dev/null +++ b/research/gauge44-leaver/PROOF-NOTE-NOTRI.md @@ -0,0 +1,53 @@ +# PROOF-NOTE-NOTRI: #645's gauge44 word without K-triangles (R = 504) + +Construction by PartialK; review by NotriReviewer (scratch/NotriReviewer/FINAL-REPORT.md). Drivers: +`construction/notri/reproduce_notri.py` (this word) and `construction/layers_np/reproduce_np.py` (layers on it). + +## Why the triangles were the blocker +- In #645's gauge44, a K-block has I = 6 low registers with rank C = 4, so L = 2. Only the 2-row priority completion + fits there. The (p,−) triangle reads climb copies loc17/19/21 and source loc2. +- Without the triangles, I = 8. With the 2-row completion, rank C stays 6 (L = 2), which is why the plain removal sweep + restored nothing. With the 6-row completion (`PRIO6.json`, the list blocks 3–10 already use), rank C = 4, so L = 4, + the cap. All 14 blocks then pair at rank 4: 56 rank-four cold ends, R = 504, width 3818, profile + {1:2506, 2:336, 3:472, 4:184, 5:56, 8:8}, rank mass 5674. + +## Constructor changes (NotriReviewer §1) +- **`cgx.py`** is #645's `construct_gauge_xcentre.py`, parameterised by XPARAM. On this path the only change that takes + effect is the K-block priority: `PRIO[c]` is placed in front of the inherited rows. The prepended rows equal the + shared 6-row list of blocks 3–10 (all 8 lists identical). Every completion assert is kept (`qr_rank(M)==4`, + `len(M)==8`, the exact block-total rows). An empty TRI schedule is an input #645 already supports (`NH = 504 − 3·0`). + `HELPER-MAP` is the identity on 728. The `exch`, `COPYL` and `hyb` branches are inert here (defaults, empty, not + reached). +- **`port_stage_x.py`** is PR635's `build_port_stage.py`. The helper map only has to be injective rather than onto; + with no triangles it is onto again. +- **`cold44x.py`** is #645's `build_gauge_cold44.py`. Its per-block pin `r == len(L) == (2 if K-block else 4)` is + replaced by `r == len(L)` together with the explicit per-block pin `PAIRING_RANKS` (set by the driver to [4]*14, + and to #645's pattern in `--control-g44`). Helpers outside the 224+16b ranges join their blocks (EXTRAH, empty here). + Every other assert is kept (U, nonlocal premix, `rank(Qmat) == NB`). +- **Control.** `reproduce_notri.py --control-g44` runs the same scripts with #645's four triangles and no XPARAM. It + reproduces #645's gauge44 word `78c7aada…` exactly, with ranks [2,2,2,4,4,4,4,4,4,4,4,2,2,2]. + +## Exactness and locals (NotriReviewer §2) +- Replay: 0 bad rows over 27,932 gates, all dyadic; forward, inverse and adjoint are exact. None of the 6,448 + compensation additions reads an ended helper, and the precondition never touches one. +- 0 FULL-remainder gates touch an ended helper; E⊂U holds for every entering end. The delta against gauge44 + ({1:−8, 2:−68, 3:+24, 4:+24}, width +24) matches the reported profiles. +- (N): all 17 pairs pass (14 cold dim-4 pairs with 4 helpers each, plus 3 dim-8 entering pairs). +- `audit_local.py --main`: PASS. Payload: prefix bits 66 forward and 72 backward, against 192. +- Native locals: 25 controls rejected, Lemma A on 22 frames, 17 wrapper mutants rejected. The rebuilt locals equal + the strict locals (`PartialK/runs/none_p6/local`): byte-identical except CLIFFORD-REVIEW and SCALAR-FRAME-AUDIT, + which differ only in their `seconds` field. + +## Layers on this word (G44Stack) +The layers are research/gauge44-layered's (see `PROOF-NOTE-LAYERS.md`), mapped to the 504 numbering: +- the 6 pivot swaps 494→566, 495→567, 506→578, 507→579, 519→543, 531→555, which are neutral (same 46 HPE helpers, + same 56 cold ends); +- s4 566/567/578/579 at U24; +- x30 608/610/543/555 at U30; +- BlockCombine's b6; +- q4. + +p123 is negative on this base and dropped; j3 is dead (L = 0 at U24 and U30). The chain is regroup `864ff4a1` → swap +`beb3579f` → layered `a9de804f`, with profile {1:2534, 2:346, 3:458, 4:178, 5:56, 8:8} and width 3800. On that word +the signed `layer_end_controls.py` rejects 59/59 and `audit_local.py` passes with 216 entering helpers, 120 low ends, +66 cold ends and 728 columns. NotriReviewer independently reproduced a9de804f from the packaged recipes. diff --git a/research/gauge44-leaver/PROOF-NOTE-P6N.md b/research/gauge44-leaver/PROOF-NOTE-P6N.md new file mode 100644 index 0000000000..bef9ad2de0 --- /dev/null +++ b/research/gauge44-leaver/PROOF-NOTE-P6N.md @@ -0,0 +1,34 @@ +# PROOF-NOTE-P6N: six b-type dim-8 cold ends on the layered no-triangle word (p6n) + +Construction by NoTriReopen. Driver: `construction/layers_p6n/reproduce_p6n.py`. Review: Q6Reviewer. + +## What p6n adds +On research/gauge44-notri-layered's word NP (`a9de804f…`), p123's lane is rebuilt as three factored dim-8 pairs +(`P6N-SPEC.json`): +- [512, 513] at U = (256,128,66,34,16,8,6,1). The old pair [310,512] split a rank-3 end; [512,513] replaces it; +- [311, 510] at U = (256,128,72,40,24,4,2,1); +- [522, 327] at U = (256,128,66,34,18,10,6,1). + +They are built with the same premix-only factored construction as p123/q4/b6 (JP8Ends' stackJ/stackE, CarrierBypass +pattern; PR635's unchanged `build_cold_end.apply`). The cold-layer recipe `COLD-LAYERS-RECIPE-P6N.json.gz` is NP's +recipe plus these six ends; its meta lists 72 cold ends and the 8 entering ends. Applied to NP's swapped HPE word, it +gives p6n `34b683fa…`: +- profile {1:2540, 2:358, 3:446, 4:178, 5:56, 8:8}; +- widths {4:64, 5:48, 7:54, 8:122, 9:216}; +- width 3794 (NP 3800); +- Δ per call {1:+6, 2:+12, 3:−12}, w −6, every end b-type. + +## Checks +- **NoTriReopen:** native chain including phases PASS; audit_local PASS; 95/95 layer-end controls rejected. +- **Q6Reviewer:** + - exact; + - (N) passes on all 21 pairs; + - payload 55/72 bits, against 192; + - the per-end control variant `layer_end_controls.py` (fc58c569…, which Q6Reviewer signed for research/gauge44-pq6) rejects 95/95; + - 165 further mutants on the six ends are all rejected. + The LayerReviewer-signed `../layers/layer_end_controls.py` controls one end per dim-8 frame family, so it would not + control each new end. This package therefore uses the per-end variant for p6n and for the promoted word built on it. +- **Rebuild:** `reproduce_p6n.py` pins the input NP word, the output sha, profile and widths, and 95 controls. + +## Remaining capacity (NoTriReopen) +After p6n, the only residual cold capacity on the word is 2 a-type units, and every end there prices about −9e-7. diff --git a/research/gauge44-leaver/PROOF-NOTE-PROMO.md b/research/gauge44-leaver/PROOF-NOTE-PROMO.md new file mode 100644 index 0000000000..8233bbd6b8 --- /dev/null +++ b/research/gauge44-leaver/PROOF-NOTE-PROMO.md @@ -0,0 +1,46 @@ +# PROOF-NOTE-PROMO: entrance promotions E4 → E5 on the p6n word + +Construction by BlockInvert (`construction/promo/`); driver `construction/promo/reproduce_promo.py`. + +## What a promotion is +An entering helper h starts at an entrance frame E (its `start_extra`) and climbs to its final frame. Promotion +enlarges E to E′ ⊃ E (here dim 4 → dim 5). That removes one paid climb from h's chain (width −1 per helper) at the +cost of re-choosing the frames of the gates on h's early chain. It is the time-reverse dual of end deepening. Two +conditions make it legal: +1. **Zero target response for h's dirt.** This condition does not depend on E, so it is inherited unchanged from the + input word. +2. **Monotone frames.** Every gate's frame must contain its registers' current frames. +Only frame annotations and start frames change. The scalar program (every gate's registers and coefficients) is +untouched, so the endpoint, every cone and the compensation are those of the input word. + +## The recipe (`PROMO-RECIPE-p6n-k4.json`, data only, minimal) +- Input: the p6n word `34b683fa…` (`PROOF-NOTE-P6N.md`), pinned. +- `entrances`: the 16 entering helpers 627, 629–631, 635, 637–639, 651, 653–655, 659 and 661–663 (four E4 kernel groups) go E4 → E5. +- `gate_frames`: 48 frame re-choices, the promotion's own entry-gate raises (12 per group); each records the old frame, + which must equal the input's exactly. This is BlockInvert's **minimal** recipe: the deterministic rule + E′ = E + ⟨smallest x⟩ on each group's entry gates (PromoReviewer). Unlike research/gauge44-promo's k3 recipe, it + carries none of the 72 price-neutral CP-SAT re-choices. +- `expected`: output `0390ec65…`, profile {1:2572, 2:326, 3:430, 4:194, 5:56, 8:8}, widths + {4:80, 5:32, 7:54, 8:122, 9:216} (width 3778). Against p6n the delta is {1:+32, 2:−32, 3:−16, 4:+16}, width −16. + +## Checks rerun on every rebuild (`reproduce_promo.py`) +- `build_promotion.py`: input pin; each old frame matches; each new entrance strictly contains the old one; the + profile and widths are recomputed from the chains, including target end climbs; output pins. +- `promo_controls.py`: the honest word passes #645's independent `audit_local.py` (exact forward and dual endpoint + frames, entrances, cones). For p6n-k4, 11 mutants are rejected at pinned sites (the count is pinned in `LOCAL-PINS-p6n-k4.json`): + - entrance outside the first gate frame; + - raised gate missing, once per promoted group; + - entrance reverted, so the profile does not match; + - ungrouped promotion; + - a recipe gate whose old frame is wrong; + - a recipe entry that is not a promotion; + - a tampered input word (the constructor's own `__main__` must refuse it at the input pin); + - a scalar tamper on a raised gate. +- The per-end layer-end controls (`../layers_p6n/layer_end_controls.py`, Q6Reviewer-signed): 95 rejected. +- PR635's native chain: transport audit (all columns, native frames), ledgers, local replay (192-bit payload), + wrappers and phases, with the canonical word, local programs and Clifford recipes pinned (`LOCAL-PINS-p6n-k4.json`). + +## Search (not run by the rebuild) +`make_recipe.py` writes the recipe from BlockInvert's CP-SAT solution (`prom.py` with `exactframe2.py`, using MinCutSel's +chain model). These promotions were priced negative before (MinCutSel #3, under a fixed-window arc-flow packer). Under +near-ideal packing (G44Pack's dissolve/gapmerge) they price positive; the strict replay confirms the gain. diff --git a/research/gauge44-leaver/PROOF-NOTE-SW4.md b/research/gauge44-leaver/PROOF-NOTE-SW4.md new file mode 100644 index 0000000000..a064cc54cc --- /dev/null +++ b/research/gauge44-leaver/PROOF-NOTE-SW4.md @@ -0,0 +1,44 @@ +# PROOF-NOTE-SW4: read-set exchange on four entering-copy pairs + +Construction by BRoute (`construction/sw4/`, with the author's notes in `construction/sw4/NOTES.md`). Driver: +`construction/sw4/reproduce_sw4.py`. + +## The move +In P6k4 (`0390ec65…`; research/gauge44-promo-p6sw applied the same exchange to P6k3 `a38bb414…`), each of four entering packet copies h is written first as h = E_h + r: copy gate add(h, r, 1) +from a non-target face register r, with E_h being h's entering content. The pairs are (h, r) = +(461, 25), (581, 89), (591, 415), (603, 431). For each pair the read sets of h and r are exchanged in phase B: +- every post-copy target read add(t, h, c) becomes add(t, r, c), and t's entrance pre-read add(t, h, −c) (taken + while h = E_h) is deleted; +- every target read add(t, r, c) becomes add(t, h, c), with a pre-read add(t, h, −c) inserted after h's last existing + pre-read and before h's copy gate. + +Since h − r = E_h after the copy, each target's value is unchanged at the end of B. The builder checks this for every +register mod p (p = 2147483629). Moved and inserted gates take the plain join of their operands' current frames. +Every other B gate and every early-cleanup tail keeps span(old frame + current operand frames). Targets must stay +inside u_t^⊥, and tails and ends must contain the current frame. start_extra, helper_final, cleanup and the helper +numbering are unchanged. + +## Effect +Output `d232183f…`. Width 3778 is unchanged. The profile goes from {1:2572, 2:326, 3:430, 4:194, 5:56, 8:8} to +{1:2548, 2:342, 3:438, 4:186, 5:56, 8:8}, a delta of {1:−24, 2:+16, 3:+8, 4:−8}, the same as on P6k3. The four +exchanges are additive. The fourth promotion group (659, 661–663; gates B420–431) commutes exactly with the exchange: +there is no index or register overlap, and SW4Reviewer checked that applying the k3→k4 frame and start differences +to f35a852b gives d232183f. Ideal κ +3.271e-7 over P6k4. + +## Checks rerun on every rebuild +- `build_sw4.py` (standard library only): the input sha pin; the 16 explicit moves of `SW4-RECIPE-P6k4.json`; B-end + state exactness mod p; frame caps, tails and ends; the output sha, profile and W. It also runs 4 controls, all of + which must hold, each at the exact site pinned in the recipe's `rejection_expected` (all three keys N1, N2 and N3 are required): + - C0: the identity recipe reproduces the input B and early_cleanup byte for byte; + - N1: h2r without deleting the pre-read is rejected by exactness, with changed B-end rows exactly {168, 171}; + - N2: a partial exchange (one read only) is rejected by the frame cap, first at ('cap', B1192, register 169), 10 violations; + - N3: an inserted pre-read with the wrong sign is rejected by exactness, with changed rows exactly {129, 130, 169, 170}. +- The per-end layer-end controls (`../layers_p6n/layer_end_controls.py`, Q6Reviewer-signed): 95 rejected. +- PR635's native chain, with the canonical word, local programs and Clifford recipes pinned (`LOCAL-PINS-sw4-P6k4.json`). + The native transport audit re-checks every column and native frame of the exchanged word. + +## Scope of the search (BRoute) +The search was exhaustive within the single-pair family only. NP has 107 copy pairs, and 54 of them have movable +reads. Over those, every nonempty subset of one pair's movable reads gives 602 candidates: 564 are frame-illegal, and +the 38 legal ones are all full single-pair exchanges, of which exactly these 4 are positive. Cross-pair combinations +of partial moves were not enumerated. diff --git a/research/gauge44-leaver/README.md b/research/gauge44-leaver/README.md new file mode 100644 index 0000000000..f21ba431fe --- /dev/null +++ b/research/gauge44-leaver/README.md @@ -0,0 +1,234 @@ +# Gauge44 without K-triangles, with earlier jp8 layers, the p6n ends, entrance promotions, a read-set exchange, #741's frames, a joint exchange, a triangle-hybrid B rewrite, no-helper mutable-leaver cells and PR589's bit supplier: conditional κ = 0.001664233607446043 + +Under the retained all-size compiler, common-label/mutable-source realization, whole-call hosting, precision/tape, exact-recovery, analytic-transfer and bit H1–H5 interfaces (as in #645), and the PR589 bit supplier, + +$$ +T(n)=O\!\left(n(\log n)^{1-\kappa}\right),\qquad +\kappa=\frac{1664233607446043}{10^{18}}=0.001664233607446043. +$$ + +**The construction is icekylinx's [#645](https://github.com/CrocSwap/integer-mult-bounds/pull/645) (`research/gauge44-global`).** This package builds the research/gauge44-barch construction (items 1–8) and then rebuilds its word around **no-helper mutable-leaver cells** (item 9): +1. **No-triangle word (PartialK).** #645's gauge44 chain is run with **none** of the four (p,−1) K-triangles, so there are R = 504 helpers. In the six K-blocks {0,1,2,11,12,13}, the completion priority is extended by the 6-row list `construction/notri/PRIO6.json`. Every block then pairs at rank 4, giving **56** rank-four cold ends instead of 44. `construction/notri/reproduce_notri.py` rebuilds this word from a #645 `reproduce.py --until word` output. It uses PartialK's generalisations of #645's and PR635's constructors (`cgx.py`, `port_stage_x.py`, `cold44x.py`; each differs from its original only in the documented parameters). It pins: + - the pairing ranks [4]*14, inside `cold44x.py` and again in the driver; + - the word (`3e99ba77…`); + - the canonical word, the local programs and the Clifford recipes. + `--control-g44` instead rebuilds #645's own gauge44 word (`78c7aada…`) with the same scripts. +2. **Layers on the no-triangle word (G44Stack).** `construction/layers_np/reproduce_np.py` applies to the no-triangle regroup word (`864ff4a1…`): + - research/gauge44-layered's six pivot swaps, mapped to the 504-helper numbering (`PIVOT-SWAP-NP.json`, swap word `beb3579f…`); + - the greedy HPE (46, `HPE-RECIPE-NP.json`); + - the exact cold44 (same 56 ends); + - the entering ends s4 (566/567/578/579 at U24) and x30 (608/610/543/555 at U30), plus BlockCombine's b6 and q4 dim-8 cold ends (`COLD-LAYERS-RECIPE-NP.json.gz`). p123 is negative on this base and dropped; j3 is dead. + The layered word is pinned (`a9de804f…`): profile `{1:2534, 2:346, 3:458, 4:178, 5:56, 8:8}`, width 3800. The signed research/gauge44-layered files `construction/layers/build_pivot_swap.py` and `construction/layers/layer_end_controls.py` are used unchanged, and the latter must reject exactly 59 controls. The global code is research/gauge44-layered's (spot-width rule): SPEC `width_spot_helpers` [270,282,294,306] and `pivot_swap` → `construction/layers_np/PIVOT-SWAP-NP.json`, giving spot widths [9,9,8,8]. +3. **p6n ends (NoTriReopen).** `construction/layers_p6n/reproduce_p6n.py` applies `COLD-LAYERS-RECIPE-P6N.json.gz` to the NP swapped HPE word with PR635's unchanged `build_cold_end.apply`. That is NP's cold-layer recipe plus six b-type dim-8 cold ends: [512,513], [311,510] and [522,327], which rebuild p123's lane as clean pairs. The result is the p6n word (`34b683fa…`): profile `{1:2540, 2:358, 3:446, 4:178, 5:56, 8:8}`, width 3794. The per-end layer-end controls (`construction/layers_p6n/layer_end_controls.py`, the variant Q6Reviewer signed for research/gauge44-pq6) must reject exactly 95 mutants. See `PROOF-NOTE-P6N.md`. +4. **Entrance promotions (BlockInvert).** `construction/promo/reproduce_promo.py --base p6n --k p6n-k4` applies the minimal recipe `PROMO-RECIPE-p6n-k4.json` to the p6n word with BlockInvert's deterministic constructor `build_promotion.py`. The recipe promotes the 16 entering helpers 627, 629–631, 635, 637–639, 651, 653–655, 659 and 661–663 (four E4 kernel groups) from E4 to E5, the time-reverse dual of end deepening. It re-chooses the frames of the gates affected. Only frame annotations and start frames move; the scalar program is unchanged. The promoted word is pinned (`0390ec65…`): profile `{1:2572, 2:326, 3:430, 4:194, 5:56, 8:8}`, widths `{4:80, 5:32, 7:54, 8:122, 9:216}`, width 3778. BlockInvert's `promo_controls.py` runs #645's independent `audit_local.py` on the honest word and must reject 11 recipe- and word-level mutants at pinned sites. The per-end layer-end controls (95) and the native chain then run with pins. The recipe is minimal: 48 entry-gate frame raises and no other frame re-choices. See `PROOF-NOTE-PROMO.md`. +5. **Read-set exchange (BRoute).** `construction/sw4/reproduce_sw4.py` runs BRoute's standard-library builder `build_sw4.py` with `SW4-RECIPE-P6k4.json`, 16 explicit moves, on the promoted word (`0390ec65…`). For the entering-copy pairs (h, r) = (461,25), (581,89), (591,415) and (603,431), the phase-B target read sets of h and its face register r are exchanged. The entrance pre-reads are deleted or inserted so that every register's value at the end of B is unchanged; the builder checks this mod p. Frames are repaired monotonically, and the width is unchanged. The SW4 word is pinned (`d232183f…`): profile `{1:2548, 2:342, 3:438, 4:186, 5:56, 8:8}`, width 3778. Four controls (C0 identity, N1 kept pre-read, N2 partial exchange, N3 wrong sign) must all hold, each at its exact rejection site pinned in the recipe. The per-end layer-end controls (95) and the native chain then run with pins. See `PROOF-NOTE-SW4.md` and `construction/sw4/NOTES.md`. +6. **#741's eight B frames (chafreaky).** `construction/frames/reproduce_frames.py` applies chafreaky's [#741](https://github.com/CrocSwap/integer-mult-bounds/pull/741) frame recipe, `FRAME-RECIPE-sw4.json`, byte-identical to #741's. Ported by CompetitorMine, it raises eight B-gate frames with the scalar program unchanged, giving #741's word `e7804702…`. It runs 3 pin controls, #741's 10 focused native controls, 95 layer-end controls and the native chain with pins. +7. **Joint exchange X4 (JointXF).** `construction/jx/reproduce_jx.py` runs JointXF's standard-library builder `build_jx.py` with `RECIPE-X4.json` on #741's word (step 6's output). It makes four disjoint instances of the read-set exchange, each over two target-sharing copy pairs: (448,472), (458,592), (470,604) and (482,614). The moved reads keep their stored frames, and #741's frames are included. All edits are explicit, and B-segment exactness is checked by Fraction replay. The final word is pinned (`1e1d99ba…`): profile `{1:2548, 2:338, 3:430, 4:194, 5:56, 8:8}`, width 3778. All seven pinned controls are rerun; C1 reproduces #741's word. See `PROOF-NOTE-FRAMES-X4.md`. +8. **Triangle-hybrid B rewrite (NewBArch).** `construction/barch/reproduce_barch.py` runs NewBArch's standard-library builder `build_tri.py` with `RECIPE-U8.json` on the X4 word (step 7's output). Eight disjoint slots receive a width-neutral B-delivery rewrite: an entering copy donates into a halves-copy so that one target read gets X+H, with holder restores and entrance pre-reads. The U8 word is pinned (`090fd574…`): profile `{1:2548, 2:338, 3:446, 4:162, 5:72, 8:8}`, width 3778. All 38 pinned controls are rerun (identity, the recipe word passing audit_local, and four audit_local-rejected mutants, globally and per slot). See `PROOF-NOTE-BARCH.md`. +9. **Leaver cells, re-stacked (LeaverSAT, LeaverSAT2).** `construction/leaver/reproduce_leaver.py --id k5` replaces the no-triangle word's construction with five all-K cells (01+, 23+, 45+, 67+, 67−). Each cell is LeaverSAT's 21-gate circuit, which uses the face-event leaver sources as mutable intermediates (R = 489, cell word `e10817e0…`). `construction/leaver/reproduce_leaver_chain.py --id k5` then re-applies items 2–8 with the signed builders unchanged and LeaverSAT's re-indexed recipes: swap, HPE, cold44, NP, p6n, 16 promotions, the re-indexed X4 exchange and 7 U8-style hybrids (`2997cede…`). It adds LeaverSAT2's exact global frame re-optimisation (`FRAME-RECIPE-LV-k5.json`), which gives the final word **`238be1fc…`**. Every intermediate word, control count and native pin is pinned (`LEAVER-PINS-k5.json`, `CHAIN-PINS-k5.json`). The per-word layer-end controls are the Q6Reviewer-signed `layer_end_controls_leaver.py` (95 each). Items 5 and 6 don't apply on this word: the sw4 copies are dropped, and none of #741's frames survive. Items 1–8 remain in the package as the construction record of research/gauge44-barch. See `PROOF-NOTE-LEAVER.md`. +10. **Owner map (chafreaky's [#685](https://github.com/CrocSwap/integer-mult-bounds/pull/685), adapted by G44Pack).** The map is G44Pack3's FO_c1, from its pattern-flow LNS (`pflns`) rebound to the R = 489 word. Its lineage is the #685/#741 map (chafreaky) via G44Pack's relabel and rewidth, followed by G44Pack3's LNS. It was admitted with this package's own code (NEWWORD discovery, `freeze_spec.py`, strict) at κ 0.001664233607446043. Only PLAN and OWNERS change. These are search inputs only; no verifier reads them. +11. **Expected values.** `data/SPEC.json` is re-derived by #645's discovery → `code/freeze_spec.py` → strict chain. + +- **κ = 0.001664233607446043** (conservative 0.001664233604589014). That is +0.8942% over #645, +0.6215% over research/gauge44-layered and +0.4854% over research/gauge44-notri-layered (0.001656193765416678) and +0.3388% over research/gauge44-promo (0.00165861362787227) and +0.2962% over research/gauge44-promo-p6 (0.001659319032684569) and +0.2764% over research/gauge44-promo-p6sw (0.001659645685315104, the same exchange on three promotion groups) and +0.1564% over research/gauge44-frames-x (0.001661634653669567) and +0.1375% over research/gauge44-barch (0.001661948695165034) and +0.1825% over [#741](https://github.com/CrocSwap/integer-mult-bounds/pull/741) (chafreaky, κ 0.001661202643272239; the same word without the joint exchange) and +0.2345% over [#685](https://github.com/CrocSwap/integer-mult-bounds/pull/685) (chafreaky, κ 0.001660339298410333; the same promoted word before the exchange, with #685's owner map). The complex side certifies 0.001667007898013796187659 and PR589's bit supplier gives 0.001733427039589844234749, so **the complex side binds**. Under PR543 the bit side would cap κ at 0.001651096360425895 (`PROOF-NOTE-BIT.md`). +- **Evidence.** G44Pack's strict replay with `verify_global.py` passes (`PASS_GAUGE44_STRICT_GLOBAL_REPLAY`, κ 0.001664233607446043). It ran this code and data against G44Pack3's fo_hyb locals. This package's own code re-admitted it, with SPEC `width_spot_helpers` [263,275,287,299] and `pivot_swap` → `construction/leaver/PIVOT-SWAP-k5.json`. `RESULT.json` is that replay's `REPLAY.json`, converted to LF. The locals rebuilt by `reproduce_leaver_chain.py` match the strict locals byte for byte in every file except CLIFFORD-REVIEW and SCALAR-FRAME-AUDIT. Those two differ only in their `seconds` field, and the comparison normalises only that field. For this package, `data/SPEC.json` and a fresh `verify_global.py` replay on locals rebuilt by the two drivers are the binding record. +- **Independent price.** `independent/GAUGE44-INDEPENDENT-PRICE.json` is regenerated on this package's `data/PLAN.json` with the ported `independent/price_profile.py`: `PASS_FROZEN_PROFILE_TWO_EXACT_ENGINE_AND_OUTER47_CROSSCHECK`, κ equal to the strict replay. +- **Independent local audit.** `evidence/layers/LOCAL-AUDIT-LAYERED.json` is #645's `independent/audit_local.py`, run with `--main` on the final leaver word (content `238be1fc…`): `PASS_INDEPENDENT_EXACT_FORWARD_AND_DUAL_ENDPOINT_FRAMES_ENTRANCES_CONES`, 201 entering helpers, 96 low ends, 57 cold ends, 713 checked columns. Rerunning it reproduces the receipt except `elapsed_seconds` and, across zlib versions, `compressed_sha256`. +- **Historical #645 files (PR543-based, 492 helpers).** These are #645's files, retained unchanged and **not** updated for this package: `LOCAL-VALIDATION.json`, `CONSTRUCTION.md`, `hosting/`, `evidence/` (except `evidence/layers/`), the rest of `independent/`, `construction/reproduce.py` and its inputs, and `code/prepare_global.py`. They describe #645's word, owner map, PR543 supplier and κ 0.001649483702558979. `code/prepare_global.py` is #645's one-shot owner-map preparer, hard-wired to #645's parent plan and R = 492. No verifier imports it. This package's PLAN/OWNERS are frozen search output, and the strict replay checks them. `construction/reproduce.py` is still used for its `--until word` shadow and hamming inputs; its 492-word output is then superseded by `construction/notri/`. `construction/layers/reproduce_layers.py` is research/gauge44-layered's driver for the 492-helper layered word, shipped unchanged as signed; it is not used here. +- **Construction and code files** by committed LF SHA-256: + - `construction/notri/reproduce_notri.py` 90148c2a0422b4f92164298a283de73d413ab3d4cb7151a0e6b643a37ea025a8 (no-triangle driver) + - `construction/notri/cgx.py` 3da039d4184097c14802f9dbf972520d5b807671196f5e47a2247bc9f29bb418 (PartialK's generalised construct_gauge_xcentre.py) + - `construction/notri/port_stage_x.py` 38310744d054e393ea35e996047cddeb2d212141aaaaa4b07f7a4663b11db8e7 (PartialK's generalised build_port_stage.py) + - `construction/notri/cold44x.py` f0bc3500efb2c839a0f8cb03dbb9ea0a54f1dfc71ef81e5373b3d638ac5b8296 (PartialK's generalised build_gauge_cold44.py plus the PAIRING_RANKS pin) + - `construction/notri/PRIO6.json` de0412511b0dd1af13e9717bc791126ac0e91c569b5391fd6c70268083045d15 (completion priority) + - `construction/layers_np/reproduce_np.py` 1a304144a250d00d14154692ba522365b036777cf2b6fac466095e8ba733c16c (NP layer driver) + - `construction/layers_np/PIVOT-SWAP-NP.json` d49b8d316da1cbdaf995dd0e8314d3c67cc9cd4d5902e9d85ccb907be645bef5 (layer input) + - `construction/layers_np/HPE-RECIPE-NP.json` 43900139f618bdc06b8319098fb8dccaf4fc315b43ef7c067ca2cd778cdba2c1 (layer input) + - `construction/layers_np/COLD-LAYERS-RECIPE-NP.json.gz` 3164cfb71baaeba4ac43427bc14075a225fc3a32ecd9341e58aa52c03a4ee2c0 (layer input) + - `construction/layers/build_pivot_swap.py` 8e8bced88be2e592ded40929499bac385ca92fcc1fa59183c22229dbf34093b8 (signed, unchanged) + - `construction/layers/layer_end_controls.py` 7829187bfc8f909948d5250e0ec00f02c89f5fe98306a3ed88daee36cb3c92ef (signed, unchanged) + - `construction/layers/reproduce_layers.py` 435699f6f79c6c7fb8d6cc5a8382576d6ac88747583a975ff671e45440b93c4e (signed, unchanged, unused here) + - `construction/promo/reproduce_promo.py` f979be666c3f5cf57e342a8427863c0b35b67ca4d3be495ac386f6870deb2026 (promotion driver) + - `construction/promo/build_promotion.py` 9c9e2001b8d68bbe934d136026276fe97bd9bf6f94d4d78441fc28e14aca4daf (BlockInvert's constructor) + - `construction/promo/promo_controls.py` 786c51f84b53698c2c833083506c4432c30eb0ed3b71e7dbe458a70c7413c372 (BlockInvert's controls) + - `construction/promo/make_recipe.py` ba9e4fdc0c1be7f6a150a5a50909911257a1a8c7cc5d03d61f541178fc07c122 (discovery-side recipe writer (search, not run)) + - `construction/promo/PROMO-RECIPE-p6n-k4.json` fa6065d142646f7ab1f268912ce0cf5a1a6cd33c3994ff96bd6e204cf16b3e90 (minimal recipe) + - `construction/promo/LOCAL-PINS-p6n-k4.json` a92bb02266596956bd53e9c86e8bbcc6639c92b4a4a248a1521f8eb79228271f (native pins) + - `construction/layers_p6n/reproduce_p6n.py` aa7d6bcbed05aa1c689437c07a26e5c95be3c700c0c1fb7bcf91c432a88436ca (p6n driver) + - `construction/layers_p6n/layer_end_controls.py` fc58c5699ba6191c1163a3041241f6f0b619626c4462cd99bcf88210bac9e81e (per-end controls (Q6Reviewer-signed variant)) + - `construction/layers_p6n/COLD-LAYERS-RECIPE-P6N.json.gz` 17e218a17e47c58fe2cde775ab2314d3d84030a61327b7f13da61cae3b374ad4 (p6n recipe) + - `construction/layers_p6n/P6N-SPEC.json` 132a59635077d6afe80f99964a6935fce1dc2ece6587d74209c6f9c60025c8f1 (p6n end spec) + - `construction/sw4/reproduce_sw4.py` 3d082e0cc576fb1b4fb9e5dd11d63bab697c8a8626e2837813cd00d100b1aeac (SW4 driver) + - `construction/sw4/build_sw4.py` 9a295f3d534594a6b1326d8a6647e947670d1c6fbc92f37f5169661fde4c8f66 (BRoute's builder (stdlib)) + - `construction/sw4/SW4-RECIPE-P6k4.json` fa58d0ffc95d10b7453daefe4b34404a52895f94126ef973e92e92106cd615fa (16-move recipe with pinned rejection sites) + - `construction/sw4/LOCAL-PINS-sw4-P6k4.json` 3c06bf68b28ff125a6a2372bb70cefd76fb9fe1333438cd34dfb5b617cd70327 (native pins) + - `construction/frames/reproduce_frames.py` dc39ada9a2eb387310be181f3cea5dbd4b538632a888cd7372ece5e38a771832 (#741 frames driver) + - `construction/frames/build_frames.py` 200847a7e8b3125cbeea0765dad67650e0bf83d32b66d72ba4977e99b8ee8eeb (#741's builder (chafreaky; ported)) + - `construction/frames/frame_controls.py` 477de854ec9184a2c73d6ac3857a9d0cbd6bc04b71d10a105e7344434b492a77 (#741's controls (chafreaky; ported)) + - `construction/frames/FRAME-RECIPE-sw4.json` a2c7ca4d44671386d05974e2627645b42bbb7da7a35cefff6e9fa158b6ac8473 (#741's recipe, byte-identical) + - `construction/frames/LOCAL-PINS-frames-sw4.json` bc416b8f6443d59c715fb358c4d70fa27eae2d306388ffe0e2a303f60d929f7f (native pins) + - `construction/jx/reproduce_jx.py` 5c7afebb4eb7fcdeb7e971cfbc457cf071850e2da21c3c71295efdd453c2399c (X4 driver) + - `construction/jx/build_jx.py` 3cc7550b0c24bb54e245c6f7f16de489fd7844721fbb64aac628f38f43887916 (JointXF's builder (stdlib)) + - `construction/jx/RECIPE-X4.json` 9d42c6b38e8124f5ffe15da56c260a7fba7260626bf3c5f8cbd93aa4a71ceadd (explicit recipe with pinned controls) + - `construction/jx/LOCAL-PINS-jx-X4.json` 95c5114c8e937c2737a1b9f9da97303f2e5e129d39e6dfcc4010e99bfdb9c974 (native pins) + - `construction/barch/reproduce_barch.py` 19bc970aa6af25ab0e7fa96fb65c64dd0c5243976d8f2cb733cba839155482c1 (U8 driver) + - `construction/barch/build_tri.py` 0fba65b31c2fd71864c291358bb0ad8d5f7e1be07e21df23f0ae73d7b966002e (NewBArch's builder (stdlib)) + - `construction/barch/run_controls.py` 42639bf62bf57795e3ea615c1944c67efed00f28591333daeb3139bf63d04476 (NewBArch's controls (38 outcomes)) + - `construction/barch/RECIPE-U8.json` 292f0e9f82824c4111728cf4de929bf6e43320fbbdc77658aae9681906b0d652 (explicit recipe) + - `construction/barch/LOCAL-PINS-barch-U8.json` 2d16f99e1f71fd66378f5f767cf4cfa2a58264919a95074c7b31029f39a3c9f5 (control set and native pins) + - `construction/leaver/reproduce_leaver.py` 831bfdf2247b5d864b74c3b2b6a475718053d48570851d48bd1c5471d410ee30 (cell driver) + - `construction/leaver/cgx_leaver.py` 3af491c63dd96204a7c36006c7e419c2e5ce77e5bc453ccd2495c1e41f83f87c (cell constructor) + - `construction/leaver/reproduce_leaver_chain.py` 893be8a210519f5c23a87b33e9407ed98d912079854086913b38cb6b8351a7b3 (chain driver) + - `construction/leaver/layer_end_controls_leaver.py` e2856865a8687b5344fe2911ee0dbb2cdf8d080744758e3adc4a4f2da7f03917 (per-word reason re-pin variant (Q6Reviewer-signed)) + - `construction/leaver/build_frames_lv.py` 2eb80d612aa59a7bd8b04a122045e3bd2b83a21954e3164943cd20cf6050a21b (LeaverSAT2's frame builder) + The global code is research/gauge44-layered's, unchanged: assemble 4c270a99, assembly_controls e4c0f782, audit_allcold a87d7f48, bind 1d39bcc7, witness 779c5172. The bit-supplier code is research/gauge44-bit589's, unchanged: verify_global 16bd5e54, bit_supplier_controls e6d33fb6, price_profile d2f548ad. +- **Line endings.** These files had CRLF in the admitted trees and are committed as LF only (`crlf.replace(b'\r\n', b'\n') == lf`, no lone `\r`): + - `construction/jx/build_jx.py`: CRLF 775c2ae60eec9abc…, committed (LF) 3cc7550b0c24bb54… + - `construction/jx/RECIPE-X4.json`: CRLF 228079b304358500…, committed (LF) 9d42c6b38e8124f5… + - `construction/barch/build_tri.py`: CRLF 2432372f148a4d34…, committed (LF) 0fba65b31c2fd718… + - `construction/barch/run_controls.py`: CRLF 18e1f5953403784f…, committed (LF) 42639bf62bf57795… + - `construction/barch/RECIPE-U8.json`: CRLF 3e97088ad641eb6e…, committed (LF) 292f0e9f82824c41… + - `construction/leaver/cells-k5/CORE-01+.json`: CRLF f802445262b4a201…, committed (LF) 3d2afc4986f1f3ac… + - `construction/leaver/cells-k5/CORE-23+.json`: CRLF 2169b76864e8e9d4…, committed (LF) 53b65cbaeb24bb2a… + - `construction/leaver/cells-k5/CORE-45+.json`: CRLF 0c6718fad5f1f862…, committed (LF) ba8f3aa26032dc36… + - `construction/leaver/cells-k5/CORE-67+.json`: CRLF 2c0170683b930f5b…, committed (LF) 0a7aa4ee46e7f05c… + - `construction/leaver/cells-k5/CORE-67-.json`: CRLF 2c0170683b930f5b…, committed (LF) 0a7aa4ee46e7f05c… + - `construction/leaver/LEAVER-PINS-k5.json`: CRLF 5c4c02573e512130…, committed (LF) b6074974fd2f8c16… + - `construction/leaver/PROMO-RECIPE-k5.json`: CRLF 67b8873daba82d57…, committed (LF) 82a8084e700cf4f8… + - `construction/leaver/RECIPE-U8-k5.json`: CRLF e7fbabf706b003c6…, committed (LF) 51bff38452254205… + - `construction/leaver/RECIPE-X4-k5.json`: CRLF 3b1796773455adc5…, committed (LF) acaec3adbd0d78a2… + - `construction/leaver/FRAME-RECIPE-LV-k5.json`: CRLF f1647b8e7a234414…, committed (LF) 8a0f692ebc8dc9df… + - `data/SPEC.json`: CRLF 617468fd3e5bd965…, committed (LF) 98fa99dbe6ceb58d… + - `RESULT.json`: CRLF 63f0c6d537966e2f…, committed (LF) 29423f3ce5caa15e… + - `construction/leaver/CHAIN-PINS-k5.json`: CRLF 0a7ed2d42ef978be…, committed (LF) c92100074c1529b6… + + +Clean-clone verification, from the repository root (Python 3.11+, assertions on; prepare the pinned #635 supplier as in the #645 section below): + +```sh +python -B research/gauge44-leaver/verify_manifest.py +python -B research/gauge44-leaver/construction/reproduce.py \ + --main . --pr635 /tmp/gauge44-pr635 --out /tmp/notri-base --until word +python -B research/gauge44-leaver/construction/notri/reproduce_notri.py \ + --main . --pr635 /tmp/gauge44-pr635 --word-dir /tmp/notri-base --out /tmp/notri-word --word-only +python -B research/gauge44-leaver/construction/layers_np/reproduce_np.py \ + --main . --pr635 /tmp/gauge44-pr635 --notri-dir /tmp/notri-word --hamming /tmp/notri-base/hamming --out /tmp/notri-np +python -B research/gauge44-leaver/construction/layers_p6n/reproduce_p6n.py \ + --main . --pr635 /tmp/gauge44-pr635 --np-dir /tmp/notri-np --out /tmp/p6n +python -B research/gauge44-leaver/construction/promo/reproduce_promo.py \ + --main . --pr635 /tmp/gauge44-pr635 --base p6n --base-dir /tmp/p6n --k p6n-k4 --out /tmp/promo +python -B research/gauge44-leaver/construction/sw4/reproduce_sw4.py \ + --main . --pr635 /tmp/gauge44-pr635 --promo-dir /tmp/promo --recipe P6k4 --out /tmp/sw4 +python -B research/gauge44-leaver/construction/frames/reproduce_frames.py \ + --main . --pr635 /tmp/gauge44-pr635 --sw4-dir /tmp/sw4 --out /tmp/frames +python -B research/gauge44-leaver/construction/jx/reproduce_jx.py \ + --main . --pr635 /tmp/gauge44-pr635 --sw4-dir /tmp/sw4 --out /tmp/x4 +python -B research/gauge44-leaver/construction/leaver/reproduce_leaver.py \ + --main . --pr635 /tmp/gauge44-pr635 --word-dir /tmp/notri-base --id k5 --out /tmp/lv --word-only +python -B research/gauge44-leaver/construction/leaver/reproduce_leaver_chain.py \ + --main . --pr635 /tmp/gauge44-pr635 --leaver-dir /tmp/lv --hamming /tmp/notri-base/hamming --id k5 --out /tmp/lvc +python -B research/gauge44-leaver/independent/audit_local.py \ + --word /tmp/lvc/frames/FULL-WORD.json.gz --main . --output /tmp/lvc-audit.json +python -B research/gauge44-leaver/verify_global.py \ + --main . --local /tmp/lvc/local --work /tmp/lvc-global +# kappa 0.001664233607446043 +``` + +Optional control: `reproduce_notri.py ... --control-g44 --out /tmp/notri-ctl` rebuilds #645's gauge44 word `78c7aada…`. + +## Predecessor: #645's README (unchanged below; paths read `research/gauge44-global`) + +### Gauge44: conditional κ = 0.001649483702558979 + +New contributions by **icekylinx**, with **OpenAI GPT-6 Astra** assistance. +Local review and packaging used OpenAI Codex. Original notices and Apache-2.0 licenses are retained. + +Under the retained all-size compiler, common-label/mutable-source realization, +whole-call hosting, precision/tape, exact-recovery, analytic-transfer and bit +H1–H5 interfaces, + +$$ +T(n)=O\!\left(n(\log n)^{1-\kappa_{645}}\right),\qquad +\kappa_{645}=\frac{1649483702558979}{10^{18}}=0.001649483702558979 +$$ + +(This is #645's own κ. **This package's κ is the one at the top of this README.**) + +The certified complex saving is `0.001652208994368411824947`. The unchanged +[#543](https://github.com/CrocSwap/integer-mult-bounds/pull/543) bit supplier gives +`0.001653826988146798944268`, so the complex side binds. The conservative complex +model separately certifies κ `0.001649483699681650`. + +### Construction + +This replaces the local supplier and all 72 owner assignments of pinned +[#635](https://github.com/CrocSwap/integer-mult-bounds/pull/635). Source/copy exchanges +at equal rank-one frames alter the factory's arbitrary-helper-input propagation. +An invertible completion of the retired rows and source-carried coordinate totals +then expose 44 rank-four cold endpoints. Exact input premixes, low-frame tails +and a recomputed full inverse realize them. + +| Per-invocation quantity | Complete #635 JP8 | Gauge44 | +| --- | ---: | ---: | +| Source / target ports | 112 / 112 | 112 / 112 | +| Helpers | 492 | 492 | +| Rank-four cold endpoints | 22 | 44 | +| Helper residual width | 3,894 | 3,794 | +| Paid local rank mass | 5,750 | 5,650 | + +The new paid local profile is `{1:2514, 2:404, 3:448, 4:160, 5:56, 8:8}`. +The explicit whole-family assignment covers 35,424 helper roles on 7,168 live +and 7,670 physical families. It retains the rank deficit 2,560 and charges every +idle remainder. Exact integer majorization certificates justify the owner +updates; the resulting map is a coordinate fixed point, with no claim of joint +optimality. + +The assembled κ is 0.809306% above #635. `data/FRONTIER.json` records Pro's dated +comparison snapshot; it is not a live ranking of community results. + +### Proof and evidence + +- `CONSTRUCTION.md`: exact cold-space calculation, dyadic realization and attribution. +- `hosting/PROOF.md`: capacity, exchange and majorization arguments. +- `independent/CENTRE-GUARD-REVIEW.md`: ordered center-frame interface and source carriers. +- `data/SPEC.json`, `evidence/ASSEMBLY.json`: strict component moments and outer parameters. +- `evidence/audit/`: actual controller, physical charts and finite invoice. +- `construction/INPUTS.json`, `data/UPSTREAM-PINS.json`: inherited input hashes. +- `MANIFEST.json`, `SOURCES.json`, `LOCAL-VALIDATION.json`: submitted bytes, provenance and local checks. + +Original Pro run receipts are retained as evidence; their raw logs remain in +the original archive outside the submission. Fresh replay writes new logs to +the selected output directory. + +### Incremental reproduction + +Use Python 3.11 or newer with assertions enabled. The required replay uses only +the standard library. The optional historical seed-discovery optimizer is not +part of admission. + +Prepare the pinned #635 supplier in a separate directory (the main dependencies +are already present in this repository): + +```sh +git fetch https://github.com/CrocSwap/integer-mult-bounds.git a6895a69f8ad98ab45777b03e9e6f48888c39f6f +mkdir -p /tmp/gauge44-pr635 +git archive FETCH_HEAD research/complex-571-cold14-st2 | tar -x -C /tmp/gauge44-pr635 +``` + +From the repository root, with fresh output directories: + +```sh +python -B research/gauge44-global/verify_manifest.py +python -B research/gauge44-global/construction/reproduce.py \ + --main . --pr635 /tmp/gauge44-pr635 \ + --out /tmp/gauge44-local --until phases +python -B research/gauge44-global/verify_global.py \ + --main . --local /tmp/gauge44-local/local --work /tmp/gauge44-global +``` + +The dedicated workflow also runs the independent literal-word audit, exact owner +reproduction, preserved-assertion comparison and independent pricing on Python +3.11 and 3.14. `hosting/README.md` and `independent/README.md` give those commands. +No ancestral full replay, optimizer search or PDF generation is required. + +The result remains a finite conditional witness. It does not establish an +unconditional multiplication theorem or a complete Lean formalization. diff --git a/research/gauge44-leaver/RESULT.json b/research/gauge44-leaver/RESULT.json new file mode 100644 index 0000000000..ae7ae83d51 --- /dev/null +++ b/research/gauge44-leaver/RESULT.json @@ -0,0 +1,86 @@ +{ + "status": "PASS_GAUGE44_STRICT_GLOBAL_REPLAY", + "kappa": "1664233607446043/1000000000000000000", + "kappa_decimal": "0.001664233607446043", + "complex_lower": "1667007898013796187659/1000000000000000000000000", + "bit_lower": "1733427039589844234749/1000000000000000000000000", + "bit_supplier": { + "pr": 589, + "repository": "CrocSwap/integer-mult-bounds", + "commit": "a5afc8c6169ea61ba7c51dfd3cade02cc7b13b46", + "merged_as": "b3eb785ac5b4b1ca2beea0f80db078a505626a90", + "path": "research/e8-bit-p111-tuned/tune/EXPECTED.json", + "git_blob_sha1": "e293ddc557742637f9f679f083a1a282d87b1b13", + "word": { + "v": 111, + "decoder_constant": 63, + "copy_ranks": [ + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7 + ] + }, + "derived_deficit": 10272, + "deficit_formula": "T(2Kv-L*cst), L=9 T=32 K=4 M=64", + "replay_scope": "Cited unchanged supplier; this assembly reprices its full profile and does not rebuild its bit circuit." + }, + "gain_over_pr635_percent": "1.710756379341731750895113079988470211801335817334370160874117231985604", + "spec_sha256": "617468fd3e5bd965e6643eb92fc4f0b87907f7246bf4ede0bbc62c60c7a71d67", + "stages": [ + { + "name": "restore-parent", + "seconds": 1.187, + "exit_code": 0, + "log_sha256": "3aea2a4b68e7aaeadd9ffef649be0d25e2dff1535d9a61bffeaf6d92e55ba6a8" + }, + { + "name": "bind", + "seconds": 0.36, + "exit_code": 0, + "log_sha256": "78a081673d6b4fde10a86e6f767d53648b868d1f0cac2441d12951434ad7341b" + }, + { + "name": "emit", + "seconds": 2.5, + "exit_code": 0, + "log_sha256": "a9ee385ad6e4ddcd214c0380db430938c385dc4cd088315361f76177ba0ca0f1" + }, + { + "name": "audit", + "seconds": 14.062, + "exit_code": 0, + "log_sha256": "69647f950b10d40b3ec10c52dd3e53bbf5f2bd37a6319784e8d307890ab423fe" + }, + { + "name": "invoice", + "seconds": 0.828, + "exit_code": 0, + "log_sha256": "4486803d9f4433d91054db8ccc39907cdecf0608f33834b5adc388638e0d0f30" + }, + { + "name": "assembly", + "seconds": 0.312, + "exit_code": 0, + "log_sha256": "2f2783cfd731cc5f6cc49e8c071799055b539524910dbf61db4d0bc78e47b12a" + }, + { + "name": "admission-controls", + "seconds": 0.375, + "exit_code": 0, + "log_sha256": "34527ddfe1e53bec71dc5759eb9a26417be6d4e93e76cbf80575d9bafebd876b" + }, + { + "name": "bit-supplier-controls", + "seconds": 0.579, + "exit_code": 0, + "log_sha256": "c648542cd6dddbb154af7d02a41aaed1025603d9a4ab54f7c249d2b683e22249" + } + ], + "scope": "Conditional native exact-complex witness after complete conservative admission, moment and outer checks; PR559 exact-cover recurrence correction only, bit bad-residue surcharge and H1-H5 retained. The new source-branch gauge and retired-basis completion, 44 cold dimension-four ends, and explicit all72 whole-owner dispatch are composed with the cited unchanged merged PR589 bit supplier (PR555 punctured R439 word; derived bit deficit T(2Kv-L*cst)), replacing the PR543 supplier of PR635; this bit composition is unreviewed. All-size compiler, common-label/mutable-source realization, whole-call hosting, precision/tape and analytic transfer remain assumptions. No unconditional theorem or full Lean certification." +} diff --git a/research/gauge44-leaver/SOURCES.json b/research/gauge44-leaver/SOURCES.json new file mode 100644 index 0000000000..b6402131b5 --- /dev/null +++ b/research/gauge44-leaver/SOURCES.json @@ -0,0 +1,35 @@ +{ + "contributor": "icekylinx", + "research_assistance": "OpenAI GPT-6 Astra", + "local_review_and_packaging": "OpenAI Codex", + "original_archive": { + "filename": "integer_mult_round23_gauge44_delta.zip", + "sha256": "40a20a120f51cbed3c9ae4017603be74a9e9332ad4068bd914bf3e81bf8be6b4", + "manifest_sha256": "ffa23eb668ad558ebb5601470fc1997a9fb8cea0e188aa3c5d61318be9000603" + }, + "upstream_main": "17ce0c79b7b51c2634b439ea5a2b754f09909693", + "construction_parent": { + "pr": 635, + "commit": "a6895a69f8ad98ab45777b03e9e6f48888c39f6f" + }, + "bit_supplier_pr": 589, + "packaging_changes": [ + "Omit original run logs; retain their original receipts as historical evidence.", + "Use repository paths and dollar-delimited Markdown mathematics.", + "Add manifest verification, incremental CI and local validation record.", + "Trim trailing whitespace in four Python files; complete ASTs are unchanged. Refresh the corresponding constructor input hash.", + "research/gauge44-bit589: PR589 bit supplier (G44Stack port, Bit589Reviewer SOUND-WITH-FIXES), G44Pack dz1 owner map, re-derived SPEC, LF line endings, regenerated MANIFEST.", + "research/gauge44-leaver: research/gauge44-barch tree plus construction/leaver (k5 cells, chain, frames); G44Pack3 FO_c1 owner map, re-derived SPEC, regenerated independent price receipt, RESULT.json = strict REPLAY, LF, regenerated MANIFEST." + ], + "attribution": "Original notices and licenses retained. See NOTICE.md, UPSTREAM-NOTICE.md and CONSTRUCTION.md.", + "whitespace_only_python_files": [ + "code/audit_allcold.py", + "code/bind_providers_portable.py", + "construction/construct_gauge_xcentre.py", + "independent/audit_local.py" + ], + "historical_bit_supplier_pr": 543, + "bit_supplier_note": "This package cites PR589 (inputs/PR589-EXPECTED.json, git blob e293ddc5…). PR543 is the supplier of #645's retained historical evidence (LOCAL-VALIDATION.json, independent/ audit files, hosting/, evidence/). RESULT.json is this package's strict replay.", + "owner_map": "G44Pack/G44Pack2: The map is G44Pack3's FO_c1, from its pattern-flow LNS (`pflns`) rebound to the R = 489 word. Its lineage is the #685/#741 map (chafreaky) via G44Pack's relabel and rewidth, followed by G44Pack3's LNS. It was admitted with this package's own code (NEWWORD discovery, `freeze_spec.py`, strict) at κ 0.001664233607446043.", + "construction_changes": "PartialK: no-triangle gauge44 word (R=504, PRIO6, ranks [4]*14); G44Stack: layers on it (pivot swaps, s4, x30, b6, q4); LeaverSAT: no-helper mutable-leaver cells and re-stacked recipes, LeaverSAT2: frame re-optimisation (construction/leaver); NewBArch: triangle-hybrid B rewrite U8 (construction/barch); chafreaky #741: eight B frames (construction/frames, ported by CompetitorMine) and the owner map; JointXF: joint exchange X4 (construction/jx); BRoute: read-set exchange SW4 (construction/sw4); NoTriReopen: p6n ends (construction/layers_p6n); BlockInvert: entrance promotions E4->E5 (construction/promo, minimal recipe p6n-k4); drivers construction/notri/reproduce_notri.py, construction/layers_np/reproduce_np.py, construction/promo/reproduce_promo.py" +} diff --git a/research/gauge44-leaver/UPSTREAM-NOTICE.md b/research/gauge44-leaver/UPSTREAM-NOTICE.md new file mode 100644 index 0000000000..ebc24a0168 --- /dev/null +++ b/research/gauge44-leaver/UPSTREAM-NOTICE.md @@ -0,0 +1,34 @@ +# Attribution and scope + +Four verified provider types are offered to every call: PR571's prefix word with twelve multi-cut cold kernels (PR568's unchanged constructor), the same word with forty width-five entrance promotions (PR569's unchanged frame constructor) before those kernels, PR575's plain joint-prefix provider, and PR568's eight-cold provider. A window MILP with an exact per-pattern model chooses the dispatch and a literal owner map. PR583's six source-bound kernel frame coalescences (its unchanged constructor and negative controls) are applied to every PR571-prefix provider word (ck and atm3), followed by two further coalescences that each first move one addition past two commuting additions (package code/build_gate_moves.py, extending PR583's constructor); a final hyperplane_end step (package code/build_hpe.py) then runs 46 single-gate cleanups h -= p right after part B at the dim-8 join U of their registers, so 46 width-8 entering helpers per call end at U with width 7; each such gate commutes with every earlier cleanup gate on its registers (for 8 of them the partner's one earlier gate x -= p only reads p), and the reordered program is replayed exactly. A window MILP (exact windows, RINS around an LP vertex) gives the dispatch ck 45 / atm3 21 / jp8 6 and the literal owner map. + +Pinned external sources (unchanged; `verify.py` checks their manifests and every file it uses): +- PR568 (`research/complex-multicold`, commit `71c99ac935a33bb7b59a1b4a7af8725a939b0b90`). +- PR571 (`research/structural-gain`, commit `b7bdc5a8de18fcf418cfb9c7d83a2b1097a5e4a3`). +- PR569 (`research/larger-gain`, commit `897213a855b7fb8a1b8b0e552a2f5c42e6c1b326`). +- PR575 (`research/complex-joint-prefix`, commit `eac6f7e378ab622dac50a2fd4b7ef6eab014de44`). +- PR583 (`research/kernel-frame-coalescing`, commit `89be768f0157f5a3d8e4db69cf1748768605eac9`). + +Provider construction is described as typed steps in `data/SPEC.json` (`build`); `verify.py` runs only allowlisted step types with their paired omission audits and checks every input and output content hash. `code/` holds the spec-driven global admission scripts adapted from PR571's `frontier-composition/global-code/` (OpenAI Codex assisted, Apache-2.0): every expected value is read from `data/SPEC.json` and compared only after independent recomputation. `code/generated_identity.py` and `code/generated_identity_controls.py`, and the decompressed-content artifact identities in the bind, audit, invoice, assembly and phase-timing scripts, are taken unchanged from PR586 by chafreaky (`research/promoted-kernel-coalescing`, commit `4846fee5b06af770e9b3a10c36200f673d656725`, OpenAI Codex assisted, Apache-2.0), including its proof-content and reference/metadata mutation controls; the normalization of descriptive width metadata after frame changes follows the same PR. + +In PR601, the owner map was nominated by a HiGHS window MILP (adapted from PR569's `global/nominate_width7.py`) with lazy cross-time Hall cuts; this package's re-solved map is described below. Neither is an admission dependency. + +DreamingOfClouds with Claude Opus 5.5 (Anthropic), via Claude Code. (The PR601 package this one starts from states: "Prepared by Claude Code (Anthropic) research agents.") Apache-2.0 applies; LICENSE is included. All notices, licenses, source pins and AI disclosures of the pinned sources and their ancestry are retained in those packages and are not replaced by this notice. All inherited conditional assumptions remain conditional. + +**This package (complex-571-cold14, DreamingOfClouds).** It starts from PR601 (jeremykothe2, `research/complex-571-hpem46`, commit `529ab7dcb59d5ea7a5798e9e06cf5b3aee8a1550`). Everything above is kept unchanged except the following: +- every provider chain (ck, atm3, jp8) gains the typed step `cold_end` (`code/build_cold_end.py`, `code/cold_end_controls.py`; recipes `data/recipes/*-cold_end.json.gz`); +- the generalised native chain and the global admission scripts accept cold helpers that end below FULL (with `0:U` wrappers), a refactored exact cleanup, and check the wrapper order; +- `data/PLAN.json` / `data/OWNERS.json.gz` (dispatch and literal owner map) come from a relocate/swap/ejection-chain/provider-flip annealing search started from PR601's map, refined by an exact pattern-restricted owner model (CP-SAT) with a literal edge-colouring expansion (not an admission dependency); +- `data/SPEC.json` holds the expected values, recorded by a discovery run and then checked by a strict run. + +The cold-end construction (a row-plus-column cone condition for low-frame ends, a rank-0 dirt-spread premix and multi-gate lower-frame cleanup) builds on PR591 / PR592 / PR593 / PR601 (jeremykothe2) and our PR599 (Lean: multi-gate and cold hyperplane-end tails). DreamingOfClouds with Claude Opus 5.5 (Anthropic), via Claude Code. Build on this at your own risk. + +**This package (complex-571-cold14-b3, jeremykothe2).** It is PR604's `complex-571-cold14` (DreamingOfClouds) with ColdBeyond's second cold end per block (two new `cold_end` A-gate primitives, `PROOF-NOTE.md`), ColdSupply's E1 entering pair and reviewed controls, a free dispatch (jp8 ×60, atm3 ×12) and a literal owner map from an exact per-time-Hall window MIP. All other construction, code, controls and proofs are PR604's and earlier contributors', unchanged. + +**This package (complex-571-cold14-k492).** It is complex-571-cold14-b3 with these changes: +- **K-triangle base words.** The leaver-read K-triangle skeleton atom and its read schedule (`data/TRI-SCHEDULE.json`) are by AtomScout, a Claude Code research agent. `code/construct_k_triangle.py` is PR531's `code/construct_504.py` (icekylinx, OpenAI Codex / GPT assisted, Apache-2.0; pinned source `direct_delivery`) extended with that atom. +- **Ported chains.** The PR604/B3 chains are ported stage by stage onto the K-triangle words by `code/build_port_stage.py` (Port480, a Claude Code research agent). `code/build_frame_regroup.py` extends PR583's `build_frames.py` (chafreaky). +- **Helper count R.** The generalisation of the global scripts to the provider helper count R is by GlobalR (a Claude Code research agent), with AtomReviewer's fixes (PROOF-NOTE-R.md). +- **Owner map.** The owner map, the cold_end recipes on the K-triangle words and the package assembly are by Stack492, Port480 and ColdBeyond (Claude Code research agents). + +Build on this at your own risk. diff --git a/research/gauge44-leaver/code/assemble.py b/research/gauge44-leaver/code/assemble.py new file mode 100644 index 0000000000..8cee90b50e --- /dev/null +++ b/research/gauge44-leaver/code/assemble.py @@ -0,0 +1,241 @@ +"""Gauge44 complete global admission with the retained native exact-complex moment. + +Prepared with OpenAI Codex assistance. The rational engines and outer +constraints are retained from PR547/PR548 and their preserved ancestry. +The bit operator is the cited unchanged PR589 supplier (PR555's punctured +R439 word, v = 111, decoder constant 63, two A-section transports), shipped +as inputs/PR589-EXPECTED.json and pinned by git blob id. Its rank-mass +deficit is derived from the word's parameters, T(2Kv - L*cst) at nine +stages (PR545/PR555 rank-mass identity), not hard-coded. The complex owner +and invoice inputs must be freshly emitted by the packaged physical replay. +All conservative admission guards and conservative moment/outer witnesses run +before the PR559 native-complex correction. The bit surcharge is retained. +""" +from pathlib import Path +from fractions import Fraction as Q +from decimal import Decimal, localcontext +import argparse,json,hashlib,importlib.util,os,sys +from collections import Counter +assert __debug__, 'Assertions required' +P=Path(sys.argv[1] if __name__=='__main__' else os.environ['GAIN_PR564_SOURCE']).resolve() +read=lambda p:json.loads(p.read_text()) +sha=lambda p:hashlib.sha256(p.read_bytes()).hexdigest() +hash_ok=lambda x:isinstance(x,str) and len(x)==64 and all(t in '0123456789abcdef'for t in x) +digest=lambda x:hashlib.sha256(json.dumps(x,separators=(',',':')).encode()).hexdigest() +def load(n): + s=importlib.util.spec_from_file_location(n,P/'engines'/(n+'.py'));m=importlib.util.module_from_spec(s);s.loader.exec_module(m);return m +M,B,A=[load(n)for n in ('moment','base_two_moment','outer')] +def dec(x): + with localcontext()as ctx:ctx.prec=70;return str(Decimal(x.numerator)/Decimal(x.denominator)) +from witness import DISPATCH,CALL_ORDER,COUNTS,PIDS,X,DISCOVER,pin,SPOT,spot_widths +# Cited bit supplier: PR589's tune/EXPECTED.json (merged on main as research/e8-bit-p111-tuned/tune/EXPECTED.json). +BIT_PATH=Path(__file__).resolve().parents[1]/'inputs/PR589-EXPECTED.json' +BIT_BLOB='e293ddc557742637f9f679f083a1a282d87b1b13' +# Nine-stage bit template (PR463/PR510 chain, 32 replicas): L stages, T replicas, K=(L-1)//2 pairs, moment width M=1+7L. +BIT_L,BIT_T=9,32;BIT_K=(BIT_L-1)//2;BIT_M=1+7*BIT_L +def git_blob(data):return hashlib.sha1(b'blob '+str(len(data)).encode()+b'\0'+data).hexdigest() +def load_bit(data): + """The pinned supplier record: its full record (word parameters) and its nine-stage price.""" + assert git_blob(data)==BIT_BLOB,'bit supplier blob pin' + return json.loads(data) +def bit_deficit(word,live): + """Rank-mass deficit M*live - mass = T(2Kv - L*cst) of a v-port bit word with decoder constant cst (PR545/PR555). + cst is the sum of the retained totals' COPY ranks and live = 2KvT data wires; both are cross-checked here, and the + caller checks the result against the priced profile, so neither v nor cst is free.""" + v,cst,ranks=word['v'],word['decoder_constant'],word['copy_ranks'] + assert type(v)is int and type(cst)is int and all(type(r)is int and 00;return d + + +def assemble(owner,invoice,owner_sha,invoice_sha): + # These are admission receipts, not optional collections of successful rows. + # Require both orientations and every finite check before pricing anything. + assert owner['status']=='PASS_INDEPENDENT_ASYNC_OWNERS_AND_PROFILE' + assert invoice['status']=='PASS_INDEPENDENT_MIXED_ASYNC_SCALAR_PREFIX_AND_FINITE_INVOICE' + assert all(hash_ok(x)for x in (owner_sha,invoice_sha,owner['template_sha256'],owner['controller_audit_sha256'],invoice['parent_template_sha256'])) + checks={'local_primitive_bound','logical','router','literal','mass','precision','tape','row','halving'} + assert set(invoice['strict_checks'])==checks + assert all(invoice['strict_checks'][name] is True for name in checks) + assert set(invoice['providers'])==set(PIDS) + assert invoice['provider_counts']==COUNTS + assert owner['all_live_owners_per_call_distinct'] is True + # R (helpers per provider word) is read from the invoice and must be shared by every provider; n=2v+R. + R=invoice['helpers'];assert type(R) is int and R>0 and all(p['helpers']==R for p in invoice['providers'].values()) + assert owner['owners_per_call']==2*112+R and owner['actual_helper_owner_charts']==owner['hosted_residuals']==72*R==pin('expected.hosted_residuals',owner['hosted_residuals']) + pin('expected.rank_mass',owner['rank_mass']) + pin('expected.actual_73column_sigmas',owner['actual_73column_sigmas']);pin('expected.cross_replica_helper_roles',owner['cross_replica_helper_roles']) + pin('expected.idle_remainders',owner['explicit_idle_remainder_children']) + assert invoice['complete_invocation_sweeps']==invoice['bridge_sweeps']==72 + assert invoice['live']==owner['live'] and invoice['physical']==owner['physical'] + assert invoice['centres']==8 + assert invoice['physical_stock_identity']==dict(data_and_owner_families=7168,local_helpers=R,private_centres=8,coefficient_work=2) + assert sum(invoice['physical_stock_identity'].values())==invoice['physical'] + assert invoice['controller_audit_sha256']==owner['controller_audit_sha256'] + for pid,p in invoice['providers'].items(): + assert set(p['local'])=={'forward','backward'} + assert p['helpers']==R and p['centres']==8 and p['n']==2*112+R and p['v']==112 and p['h']==9 + K='providers.'+pid+'.';pin(K+'entering',p['entering_helpers']);pin(K+'entrance',p['entrance_rank']) + pin(K+'inventory',p['width_inventory']) + assert all(type(w) is int and 0=0 for n in idle.values()) + idle=+idle;assert sum(idle.values())==owner['explicit_idle_remainder_children'] + pin('expected.idle_remainder_profile',{str(r):n for r,n in sorted(idle.items())}) + paid.update(idle) + assert dict(paid)=={int(r):n for r,n in owner['paid_profile'].items()} + assert invoice['compiler']==64*74**3 + assert invoice['local_adapters']==max(p['local_adapters']for p in invoice['providers'].values()) + assert invoice['local_primitive_bound']==max(p['local_primitive_bound']for p in invoice['providers'].values()) + # Recount the retained dedicated-bank envelope independently. Its geometry + # stays fixed, while every local primitive and wrapper comes from the actual + # selected provider/orientation sums above. + parent_live,parent_physical,parent_idle=11704,12218,16128 + parent_banks,rem=divmod(parent_live-2*112*4*8,9);assert rem==0 and parent_physical==parent_live+parent_banks+8+2 # parent R0=504 dedicated helpers per stage bank + assert owner['source_idle_children_charged']==parent_idle + bridges,shifts=2*112*72,4*112*8;moves=2*shifts + nonlocal_items=(4*112*8*9+2*112*8*9+2*72*R+parent_idle+9*parent_banks+bridges+shifts+moves+parent_live+parent_physical+invoice['wrapper_elementary_factors_charged']) + outside=8*nonlocal_items+64*73 + pervertex=(invoice['selected_real_component_primitives']+bridges+shifts+moves+parent_live+(72*invoice['local_adapters']+outside)*invoice['compiler']+64*parent_physical) + rebased=pervertex+65*(invoice['physical']-parent_physical)+(invoice['live']-parent_live) + assert invoice['unhosted_pervertex']==pervertex and invoice['hosted_rebased_pervertex']==rebased + used=max(pervertex,rebased) + prior=invoice['retained_prior_overcharge'] + if prior is not None: + assert hash_ok(prior['sha256']) and type(prior['previous_pervertex_allowance']) is int and prior['previous_pervertex_allowance']>0 + assert prior['added_complete_new_pervertex']==pervertex + assert prior['policy']=='Retain old allowance and add entire fresh mixed recount.' + used=max(used,prior['previous_pervertex_allowance']+pervertex) + assert invoice['conservative_pervertex_used']==used + finite=invoice['finite'] + assert 02*48*48) + assert actual_checks==invoice['strict_checks'] and all(actual_checks.values()) + bit_record=load_bit(BIT_PATH.read_bytes()) + bit=bit_record['nine'] + assert 'nine-stage' in bit['pipeline'] and '32 replicas' in bit['pipeline'] + c=Q(bit['bit_lower']) + bit_D=bit_deficit(bit_record['word'],bit['bit']['live']) + H={int(r):n for r,n in owner['paid_profile'].items()};pin('expected.global_profile',owner['paid_profile']) + # Claimed lower endpoints come from the spec; discovery derives them with the same certified moment engine. + # Either way they are verified below (accepted at b, rejected at b+1e-24). + if DISCOVER:b=Q(M.certify(H,73,owner['live'],False)['lower']);conservative_b=Q(M.certify(H,73,owner['live'],True)['lower']) + else:b=Q(X['complex_lower']);conservative_b=Q(X['conservative_complex_lower']) + assert owner['template_sha256']==invoice['template_sha256'] and owner_sha==invoice['owner_audit_sha256'] + pin('expected.live',owner['live']);pin('expected.physical',owner['physical']);assert owner['deficit']==2560 + assert owner['banked_residuals']==0 + def check_moment(side,h,m,W,lower,deficit,bad): + assert m*W-sum(r*n for r,n in h.items())==deficit and m*m>2*max(h)**2 + rows=[] + for z,accept in [(lower,True),(lower+Q(1,10**24),False)]: + l,u=M.moment(h,m,W,z,bad);ll,uu=B.moment(m,W,list(h.items()),z) + if bad: + fl,fu=B.moment(m,W,[(1,32*m*m*sum(h.values()))],z);ll+=fl/10**16;uu+=fu/10**16 + assert (u<1 and uu<1)if accept else(l>1 and ll>1) + rows.append(dict(side=side,surcharge=bad,endpoint=str(z),accept=accept,mercator=[str(l-1),str(u-1)],base_two=[str(ll-1),str(uu-1)])) + return rows + bitH={int(r):n for r,n in bit['profile'].items()} + assert BIT_M==64 and sum(r*n for r,n in bitH.items())==bit['bit']['rank_mass'] + bit_moments=check_moment('bit',bitH,BIT_M,bit['bit']['live'],c,bit_D,True) + conservative_moments=check_moment('conservative_complex',H,73,owner['live'],conservative_b,2560,True) + assert bit['bit']['two_level_coefficient_bits']0 + ceil=lambda x:-(-x.numerator//x.denominator);cut=max(ceil(36/gap**2),ceil(2*(4+512)/gap));assert cut*gap**2>=36 and cut*gap>=2*(4+512) + cuts.append(dict(exponent=str(a),gap=str(gap),cutoff_log2=str(cut)));chain.append(a) + q=chain[-1]*(1-2*eta);margin=(1-eta)*q/(1+q);ticks=margin*10**18;k=Q((ticks.numerator-1)//ticks.denominator,10**18) + bridge={'semantic':{'C0':{'base':2,'exponent':210000},'strict_literal_gap':1},'rows':{'degree_gap':Q(10**6)-Q(51*20161,25)}} + outer=A.assembly(chain[-1],bb,bridge,k,eta=eta,beta=beta);assert len(outer['strict_constraints'])==47 and all(v>0 for v in outer['strict_constraints'].values()) + controls=[] + for name,kk,ee,be in [('next_grid',k+Q(1,10**18),eta,beta),('zero_eta',k,Q(0),beta),('zero_beta',k,eta,Q(0)),('unit_beta',k,eta,Q(1))]: + try:A.assembly(chain[-1],bb,bridge,kk,eta=ee,beta=be) + except AssertionError:controls.append(name) + else:raise AssertionError(name) + return k,cuts,outer,controls + conservative_k,conservative_cuts,conservative_outer,conservative_controls=outer_witness(conservative_b) + pin('expected.conservative_kappa_decimal',dec(conservative_k)) + # Only after every conservative supplier/admission/outer check succeeds is + # the reviewed native exact-complex recurrence selected. Bit charge stays. + native_moments=check_moment('complex',H,73,owner['live'],b,2560,False) + k,cuts,outer,controls=outer_witness(b) + pin('expected.kappa_decimal',dec(k)) + assert M.moment(H,73,owner['live'],b,True)[0]>1 + assert M.moment(bitH,64,bit['bit']['live'],c+Q(1,10**24),False)[1]<1 + model_controls=['native_complex_endpoint_rejected_with_old_surcharge','omitting_bit_surcharge_would_fail_next_endpoint_rejection'] + moments=bit_moments+native_moments + input_hashes={'owner_audit':owner_sha,'fresh_invoice':invoice_sha,'package:inputs/PR589-EXPECTED.json':sha(BIT_PATH)} + input_hashes.update({'engines/'+name+'.py':sha(P/'engines'/(name+'.py'))for name in ('moment','base_two_moment','outer')}) + return dict(status='PASS_GAUGE44_NATIVE_EXACT_GLOBAL_ASSEMBLY',kappa=str(k),kappa_decimal=dec(k),complex_lower=str(b),complex_decimal=dec(b),bit_lower=str(c),bit_decimal=dec(c),binding='complex',gain_over_pr635_percent=dec(100*(k/Q(X['gain_baseline_kappa'])-1)),complex_profile=H,provider_counts=invoice['provider_counts'],surcharge_model={'complex':False,'bit':True},conservative_complex_lower=str(conservative_b),conservative_complex_decimal=dec(conservative_b),conservative_kappa=str(conservative_k),conservative_kappa_decimal=dec(conservative_k),conservative_moments=conservative_moments,conservative_bootstrap=conservative_cuts,conservative_outer={n:str(v)for n,v in conservative_outer['strict_constraints'].items()},conservative_controls=conservative_controls,model_controls=model_controls,native_correction_gain=dec(k-conservative_k),template_sha256=owner['template_sha256'],input_sha256=input_hashes,bit_supplier=dict(pr=589,repository='CrocSwap/integer-mult-bounds',commit='a5afc8c6169ea61ba7c51dfd3cade02cc7b13b46',merged_as='b3eb785ac5b4b1ca2beea0f80db078a505626a90',path='research/e8-bit-p111-tuned/tune/EXPECTED.json',git_blob_sha1=BIT_BLOB,word=dict(v=bit_record['word']['v'],decoder_constant=bit_record['word']['decoder_constant'],copy_ranks=bit_record['word']['copy_ranks']),derived_deficit=bit_D,deficit_formula='T(2Kv-L*cst), L=%d T=%d K=%d M=%d'%(BIT_L,BIT_T,BIT_K,BIT_M),replay_scope='Cited unchanged supplier; this assembly reprices its full profile and does not rebuild its bit circuit.'),moments=moments,bootstrap=cuts,outer={n:str(v)for n,v in outer['strict_constraints'].items()},controls=controls,scope='Conditional native exact-complex witness after complete conservative admission, moment and outer checks; PR559 exact-cover recurrence correction only, bit bad-residue surcharge and H1-H5 retained. The new source-branch gauge and retired-basis completion, 44 cold dimension-four ends, and explicit all72 whole-owner dispatch are composed with the cited unchanged merged PR589 bit supplier (PR555 punctured R439 word; derived bit deficit T(2Kv-L*cst)), replacing the PR543 supplier of PR635; this bit composition is unreviewed. All-size compiler, common-label/mutable-source realization, whole-call hosting, precision/tape and analytic transfer remain assumptions. No unconditional theorem or full Lean certification.') +if __name__=='__main__': + import sys + package,C,out=map(Path,sys.argv[1:4]);assert package.resolve()==P and not out.exists() + owner_path=C/'audit/OWNERS-AND-PROFILE.json';invoice_path=C/'audit/PREFIX-AND-INVOICE.json' + owner,invoice=read(owner_path),read(invoice_path) + assert owner['template_sha256']==read(C/'hosted/HOSTED.json')['template_sha256'] + r=assemble(owner,invoice,sha(owner_path),sha(invoice_path));out.write_text(json.dumps(r,indent=2)+'\n');print(r['status'],r['kappa_decimal']) diff --git a/research/gauge44-leaver/code/assembly_controls.py b/research/gauge44-leaver/code/assembly_controls.py new file mode 100644 index 0000000000..93bca1ce6f --- /dev/null +++ b/research/gauge44-leaver/code/assembly_controls.py @@ -0,0 +1,260 @@ +"""Independent admission controls for the N-provider native-complex assembly (per-provider controls). + +Prepared with OpenAI Codex assistance; Apache-2.0. Mutation receipts are +rebound to their new owner digest, so unrelated stale hashes cannot conceal +an incomplete width, provider, orientation, paid-profile or finite check. +The fresh physical replay remains a separate prerequisite. +""" +import argparse +import copy +import itertools +import math +import hashlib +import json +import os +from pathlib import Path +import sys as _s,pathlib as _p;_s.path.insert(0,str(_p.Path(__file__).resolve().parent)) +from witness import * + +assert __debug__, 'Assertions required' +P = Path(__file__).resolve().parent +sha = lambda p: hashlib.sha256(p.read_bytes()).hexdigest() +digest = lambda x: hashlib.sha256(json.dumps(x, sort_keys=True, separators=(',', ':')).encode()).hexdigest() + + +def verify(owner_path, invoice_path, source_package): + os.environ['GAIN_PR564_SOURCE'] = str(source_package.resolve()) + from assemble import assemble + owner = json.loads(owner_path.read_text()) + invoice = json.loads(invoice_path.read_text()) + baseline = assemble(owner, invoice, sha(owner_path), sha(invoice_path)) + + def empty_maps(o, i): + i['strict_checks'] = {} + i['providers'] = {} + + def understated_stock(o, i): + o['physical'] -= 1 + i['physical'] -= 1 + i['physical_stock_identity']['coefficient_work'] -= 1 + + def changed_profile(o, i): + o['paid_profile']['1'] += 2 + o['paid_profile']['2'] -= 1 + + def wrong_orientation(o, i): + c = next(c for c in i['selected_calls'] if c['stage'] == 0) + c['orientation'] = 'backward' + p = i['providers'][c['provider_id']] + z = p['local']['backward'] + c['program_sha256'] = p['program_hashes']['backward'] + for name in ('events', 'macros', 'real_component_primitives', + 'coefficient_work_primitive_count', 'pre_wrappers', 'post_wrappers'): + c[name] = z[name] + i['selected_real_component_primitives'] = sum(c['real_component_primitives'] for c in i['selected_calls']) + i['selected_coefficient_work_primitive_count'] = sum(c['coefficient_work_primitive_count'] for c in i['selected_calls']) + + def understated_prefix(o, i): + for p in i['providers'].values(): + for z in p['local'].values(): + z['prefix_bits'], z['prefix_l1'] = 1, '1' + i['global_prefix_bits'] = 1 + 37 + 72 + 72 + 4 + + def reordered_calls(o, i): + i['selected_calls'][0], i['selected_calls'][1] = i['selected_calls'][1], i['selected_calls'][0] + + def no_cold_wrappers(o, i): + for p in i['providers'].values(): + p['entering_helpers'] -= 4 + for z in p['local'].values():z['pre_wrappers'] = z['post_wrappers'] = p['entering_helpers'] + for c in i['selected_calls']: + c['entering_helpers'] = c['pre_wrappers'] = c['post_wrappers'] = i['providers'][c['provider_id']]['entering_helpers'] + i['wrapper_elementary_factors_charged'] = sum(2*c['pre_wrappers'] for c in i['selected_calls'])*i['factors_per_wrapper'] + + controls = [ + ('empty_certification_maps', empty_maps), + ('failed_invoice_status', lambda o, i: i.__setitem__('status', 'FAIL')), + ('nonboolean_precision_check', lambda o, i: i['strict_checks'].__setitem__('precision', 'true')), + ('wrong_owner_role_count', lambda o, i: o.__setitem__('actual_helper_owner_charts', o['actual_helper_owner_charts'] - 1)), + ('understated_physical_stock', understated_stock), + ('changed_profile_same_rank_mass', changed_profile), + ('insufficient_finite_C0', lambda o, i: i['finite'].__setitem__('required_C0_bits', 210001)), + ('missing_finite_check', lambda o, i: i['strict_checks'].pop('halving')), + ('wrong_reflected_orientation_selfconsistent_totals', wrong_orientation), + ('missing_selected_call', lambda o, i: i['selected_calls'].pop()), + ('wrong_selected_primitive_sum', lambda o, i: i.__setitem__('selected_real_component_primitives', i['selected_real_component_primitives'] - 1)), + ('wrong_selected_coefficient_work_sum', lambda o, i: i.__setitem__('selected_coefficient_work_primitive_count', i['selected_coefficient_work_primitive_count'] - 1)), + ('unpaid_wrapper_factors', lambda o, i: i.__setitem__('wrapper_elementary_factors_charged', i['wrapper_elementary_factors_charged'] - 144)), + ('wrong_global_compiler', lambda o, i: i.__setitem__('compiler', 1)), + ('wrong_global_adapter_maximum', lambda o, i: i.__setitem__('local_adapters', 1)), + ('understated_exact_prefix_and_global_sum', understated_prefix), + ('wrong_global_prefix_sum', lambda o, i: i.__setitem__('global_prefix_bits', 224)), + ('wrong_row_prefix_reserve', lambda o, i: i.__setitem__('row_prefix_extra', 0)), + ('wrong_parent_geometry_charge', lambda o, i: i.__setitem__('unhosted_pervertex', 1)), + ('wrong_rebased_geometry_charge', lambda o, i: i.__setitem__('hosted_rebased_pervertex', 1)), + ('wrong_complete_pervertex_envelope', lambda o, i: i.__setitem__('conservative_pervertex_used', 1)), + ('wrong_prior_added_complete_invoice', lambda o, i: i['retained_prior_overcharge'].__setitem__('added_complete_new_pervertex', 1)), + ('wrong_finite_router_bits', lambda o, i: i['finite'].__setitem__('router_bits', 1)), + ('wrong_finite_literal_bits', lambda o, i: i['finite'].__setitem__('literal_bits', 1)), + ('wrong_finite_physical_stock_bits', lambda o, i: i['finite'].__setitem__('physical_stock_bits', 1)), + ('wrong_finite_row_coefficient', lambda o, i: i['finite'].__setitem__('physical_row_coefficient', 1)), + ('reordered_complete_calls', reordered_calls), + ('understated_explicit_idle_remainders', lambda o, i: o.__setitem__('explicit_idle_remainder_children', o['explicit_idle_remainder_children']-1)), + ('understated_actual_chart_types', lambda o, i: o.__setitem__('actual_73column_sigmas', o['actual_73column_sigmas']-1)), + ('wrong_cross_replica_role_count', lambda o, i: o.__setitem__('cross_replica_helper_roles', o['cross_replica_helper_roles']-1)), + ('old_no_cold_wrapper_counts_selfconsistent', no_cold_wrappers), + ] + + def resync(i, c): + p = i['providers'][c['provider_id']] + c['program_sha256'] = p['program_hashes'][c['orientation']] + c['entering_helpers'], c['entrance_rank'] = p['entering_helpers'], p['entrance_rank'] + for name in ('events','macros','real_component_primitives','coefficient_work_primitive_count','pre_wrappers','post_wrappers'): + c[name] = p['local'][c['orientation']][name] + + # Every provider gets the full per-provider control set, substituting a partner provider where needed. + for P in PIDS: + Qp = partner(P) if len(PIDS)>1 else '__unregistered__' + widths = invoice['providers'][P]['widths'] + + def forged_program_hash(o, i, P=P): + i['providers'][P]['program_hashes']['forward'] = '0' * 64 + for c in i['selected_calls']: + if c['provider_id'] == P: + c['program_sha256'] = '0' * 64 + + def wrong_selected_call(o, i, P=P): + c = next(c for c in i['selected_calls'] if c['provider_id'] == P) + d = next(d for d in i['selected_calls'] if d is not c and (d['provider_id'] != P or len(PIDS)==1) and (d['stage'] - c['stage']) % 2 == 0) + c['stage'], d['stage'], c['replica'], d['replica'] = d['stage'], c['stage'], d['replica'], c['replica'] + + def stale_program(o, i, P=P, Qp=Qp): + p = i['providers'][P] + p['program_hashes'] = copy.deepcopy(i['providers'][Qp]['program_hashes']) + for c in i['selected_calls']: + if c['provider_id'] == P: + c['program_sha256'] = p['program_hashes'][c['orientation']] + + def stale_profile(o, i, P=P, Qp=Qp): + p = i['providers'][P] + p['paid_profile'] = copy.deepcopy(i['providers'][Qp]['paid_profile']) + p['children'] = sum(p['paid_profile'].values()) + + def moved(o, i, P=P): + a = next(c for c in i['selected_calls'] if c['provider_id'] == P) + b = next(c for c in i['selected_calls'] if c['provider_id'] != P and c['orientation'] == a['orientation']) + a['provider_id'], b['provider_id'] = b['provider_id'], a['provider_id'] + resync(i, a); resync(i, b) + + def compensating(o, i, P=P, Qp=Qp): + # Two dishonest profiles that cancel exactly in the dispatch-weighted aggregate. + g = math.gcd(COUNTS[P], COUNTS[Qp]); dp, dq = COUNTS[Qp] // g, COUNTS[P] // g + p, q = i['providers'][P], i['providers'][Qp] + p['paid_profile']['1'] += dp; q['paid_profile']['1'] -= dq + p['children'] += dp; q['children'] -= dq + + def forged_recipe(o, i, P=P): + name = 'CLIFFORD-RECIPES.json' + i['providers'][P]['artifacts'][name] = '0'*64 + o['source_artifacts']['providers/'+P+'/'+name] = '0'*64 + + def forged_phase(o, i, P=P): + i['providers'][P]['semantic_artifact_sha256']['CLIFFORD-REVIEW.json'] = '0'*64 + o['provider_phase_semantic_sha256'][P] = i['provider_phase_semantic_sha256'][P] = '0'*64 + + controls += [ + (P + ':missing_provider', lambda o, i, P=P: i['providers'].pop(P)), + (P + ':missing_backward_orientation', lambda o, i, P=P: i['providers'][P]['local'].pop('backward')), + (P + ':unpaid_scalar_primitive', lambda o, i, P=P: i['providers'][P]['local']['forward'].__setitem__('real_component_primitives', i['providers'][P]['local']['forward']['real_component_primitives'] - 1)), + (P + ':wrong_local_artifact_binding', lambda o, i, P=P: i['providers'][P]['artifacts'].__setitem__('LOCAL-PROGRAMS.json.gz', '0' * 64)), + (P + ':false_dirty_restoration', lambda o, i, P=P: i['providers'][P]['local']['backward'].__setitem__('all_dirty_helper_columns_restored', False)), + (P + ':wrong_declared_provider_count', lambda o, i, P=P: i['provider_counts'].__setitem__(P, i['provider_counts'][P] + 1)), + (P + ':wrong_local_compiler', lambda o, i, P=P: i['providers'][P].__setitem__('compiler', 1)), + (P + ':wrong_local_adapter_charge', lambda o, i, P=P: i['providers'][P].__setitem__('local_adapters', 1)), + (P + ':wrong_local_primitive_bound', lambda o, i, P=P: i['providers'][P].__setitem__('local_primitive_bound', 1)), + (P + ':forged_provider_and_call_program_hash', forged_program_hash), + (P + ':provider_at_wrong_call', wrong_selected_call), + (P + ':stale_partner_program_consistent_call_hashes', stale_program), + (P + ':stale_partner_profile_consistent_child_total', stale_profile), + (P + ':relocated_against_partner_same_counts', moved), + (P + ':compensating_false_profiles_with_' + Qp, compensating), + (P + ':synchronized_forged_source_recipe_hash', forged_recipe), + (P + ':synchronized_forged_phase_review_semantics', forged_phase), + ] + if len(PIDS)==1: + # Cross-provider substitutions require a second actual supplier. + # All single-provider program, phase, profile and dispatch bindings + # retain their direct mutations above and in the controller audit. + partner_only = {P+':stale_partner_program_consistent_call_hashes', + P+':stale_partner_profile_consistent_child_total', + P+':relocated_against_partner_same_counts', + P+':compensating_false_profiles_with_'+Qp} + controls = [(name, fn) for name, fn in controls if name not in partner_only] + # Width order and inventory: swap the first helper of every pair of distinct widths (same inventory), + # and shift one unit between them (same total). + first = {} + for h, w in enumerate(widths): + first.setdefault(w, h) + for wa, wb in itertools.combinations(sorted(first), 2): + def swap(o, i, P=P, a=first[wa], b=first[wb]): + w = i['providers'][P]['widths']; w[a], w[b] = w[b], w[a] + def shift(o, i, P=P, a=first[wa], b=first[wb]): + w = i['providers'][P]['widths']; w[a] += 1; w[b] -= 1 + controls.append((P + ':width_order_swap_%d_%d' % (wa, wb), swap)) + controls.append((P + ':width_inventory_shift_%d_%d' % (wa, wb), shift)) + for h in SPOT: + def cold_swap(o, i, P=P, h=h): + w = i['providers'][P]['widths']; j = w.index(9 if w[h] != 9 else 8); w[h], w[j] = w[j], w[h] # never the identity + controls.append((P + ':cold_helper_width_swap_%d' % h, cold_swap)) + rejected = [] + accepted = [] + for name, mutate in controls: + o, i = copy.deepcopy(owner), copy.deepcopy(invoice) + mutate(o, i) + oh = digest(o) + i['owner_audit_sha256'] = oh + try: + assemble(o, i, oh, digest(i)) + except (AssertionError, KeyError): + rejected.append(name) + else: + # Discovery has no pinned values to reject spec-only mutations; the strict run must reject every control. + if not DISCOVER: + raise AssertionError('Invalid admission receipt accepted: ' + name) + accepted.append(name) + try: + assemble(owner, invoice, '0' * 64, sha(invoice_path)) + except AssertionError: + rejected.append('wrong_owner_receipt_hash') + else: + raise AssertionError('Wrong owner digest accepted') + pin('expected.assembly_controls_rejected', len(rejected)) + assert baseline['controls'] == ['next_grid', 'zero_eta', 'zero_beta', 'unit_beta'] + assert baseline['conservative_controls'] == baseline['controls'] + assert baseline['surcharge_model'] == {'complex': False, 'bit': True} + assert len(baseline['model_controls']) == 2 + return dict( + status='PASS_EXACT_MIXED_048_ALLCOLD_NATIVE_ASSEMBLY_ADMISSION_NEGATIVE_CONTROLS', + valid_receipt_kappa=baseline['kappa'], + input_sha256=baseline['input_sha256'], + assembler_sha256=sha(Path(__file__).resolve().parent / 'assemble.py'), + rejected_controls=rejected, + discovery_accepted_controls=accepted, + exact_outer_controls=baseline['controls'], + conservative_outer_controls=baseline['conservative_controls'], + recurrence_model_controls=baseline['model_controls'], + scope='Complete receipt schema; ordered widths and both reflected providers; exact program, work and paid-profile binding; independently recounted compiler, conservative envelope and finite inequalities. Does not replace fresh physical replay.', + ) + + +if __name__ == '__main__': + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--source-package', type=Path, required=True) + ap.add_argument('--owner', type=Path, required=True) + ap.add_argument('--invoice', type=Path, required=True) + ap.add_argument('--out', type=Path, required=True) + a = ap.parse_args() + assert not a.out.exists() + result = verify(a.owner, a.invoice, a.source_package) + a.out.write_text(json.dumps(result, indent=2) + '\n') + print(result['status'], len(result['rejected_controls'])) diff --git a/research/gauge44-leaver/code/audit_allcold.py b/research/gauge44-leaver/code/audit_allcold.py new file mode 100644 index 0000000000..c86f7b0235 --- /dev/null +++ b/research/gauge44-leaver/code/audit_allcold.py @@ -0,0 +1,254 @@ +"""OpenAI Codex independent serialized ASYNCHRONOUS controller/spectator audit. +Imports no emitter, optimizer, expander, edge-coloring, or source hosting code. +CLI: BASE HOSTED REPORT [--mutation-controls] +Each provider is independently read from BASE/providers, never from a baseline width histogram. +OpenAI Codex two-provider width-seven extension; retains all inherited independent controller checks. +The exact 63 width-seven and 9 plain calls are frozen below. +""" +import sys,json,gzip,hashlib,copy +assert __debug__, 'Assertions must remain enabled' +from pathlib import Path +from collections import Counter,defaultdict +import sys as _s,pathlib as _p;_s.path.insert(0,str(_p.Path(__file__).resolve().parent)) +from witness import * +from generated_identity import artifact_identities +BASE,OUT,REPORT=map(lambda p:Path(p).resolve(),sys.argv[1:4]);read=lambda p:json.loads(gzip.decompress(p.read_bytes())if p.suffix=='.gz'else p.read_bytes()) +parent=read(BASE/'split-centres/GLOBAL-TEMPLATE.json.gz') +ph=read(BASE/'work/complex-nine-native/DATA-PHASES.json') +ct=read(OUT/'GLOBAL-TEMPLATE.json.gz');summary=read(OUT/'HOSTED.json') +sha=lambda p:hashlib.sha256(p.read_bytes()).hexdigest() +provider_ids=PIDS +providers={};registry={};phase_semantic_hashes={};artifact_semantic_hashes={} +required_artifacts={'work/complex-nine-native/DATA-PHASES.json'} +provider_files=('CANONICAL-WORD.json.gz','LOCAL-PROGRAMS.json.gz','LOCAL-CHECKS.json', + 'INDEPENDENT-LOCAL-REPLAY.json','RESIDUAL-ADAPTERS.json','CLIFFORD-RECIPES.json','CLIFFORD-REVIEW.json') +for pid in provider_ids: + p=BASE/'providers'/pid + c=read(p/'CANONICAL-WORD.json.gz');checks=read(p/'LOCAL-CHECKS.json') + programs=read(p/'LOCAL-PROGRAMS.json.gz');replay=read(p/'INDEPENDENT-LOCAL-REPLAY.json') + phase=read(p/'CLIFFORD-REVIEW.json');adapters=read(p/'RESIDUAL-ADAPTERS.json')['recipes'] + widths=[len(c['frames'][c['final'][2*c['v']+h]])-len(c['frames'][c['start'][2*c['v']+h]])for h in range(c['R'])] # HPE: residual width |final|-|start| + assert tuple(widths[h]for h in SPOT)==spot_widths();pin('providers.%s.inventory'%pid,{str(k):v for k,v in sorted(Counter(widths).items())}) + canonical_sha=sha(p/'CANONICAL-WORD.json.gz');programs_sha=sha(p/'LOCAL-PROGRAMS.json.gz') + assert replay['status']=='PASS_INDEPENDENT_LOCAL_SCALAR_FRAME_AND_WRAPPER_REPLAY' + assert replay['canonical_word_sha256']==canonical_sha and replay['local_programs_sha256']==programs_sha + assert replay['v']==c['v'] and replay['helpers']==c['R'] + assert set(programs)==set(checks)==set(replay['local'])==set(replay['paid_profiles'])=={'forward','backward'} + for orientation,events in programs.items(): + ck=checks[orientation];rr=replay['local'][orientation] + assert hashlib.sha256(json.dumps(events,sort_keys=True,separators=(',',':')).encode()).hexdigest()==ck['sha256'] + assert ck['events']==len(events) and ck['all_columns']==2*c['v']+c['R'] + assert ck['private_centers_cleared'] and ck['private_coefficient_stream_cleared_after_each_macro'] + assert rr['all_exact_columns']==2*c['v']+c['R'] and rr['private_work_erased'] + literal=Counter(e[-1]for e in events if e[0]in('climb','center')) + assert dict(literal)=={int(r):n for r,n in ck['paid_profile'].items()}=={int(r):n for r,n in c['local_profile'].items()} + assert ck['paid_profile']==replay['paid_profiles'][orientation] + assert phase['canonical_word_sha256']==canonical_sha and phase['recipe_sha256']==sha(p/'CLIFFORD-RECIPES.json') + assert phase['all_child_equalities_include_global_phase'] + artifact_semantic_hashes[pid]=artifact_identities(p) + pin('providers.%s.artifact_semantic_sha256'%pid,artifact_semantic_hashes[pid]) + phase_semantic_hashes[pid]=artifact_semantic_hashes[pid]['CLIFFORD-REVIEW.json'] + for h,w in enumerate(widths): + assert 0>i)&1==0);a=q^(1<>i&1 else 0)for i in order]+[1<2*max(paid)**2 + return dict(profile=dict(sorted(paid.items())),mass=mass,hosted=HOSTED,entering=entering,cross_replica=cross,sigma_digest=digest.hexdigest(),sigmas=sigmas,idle_remainders=len(wanted),busy_family_checks=len(roles),invocations=72) + +r=audit(ct);raw=gzip.decompress((OUT/'GLOBAL-TEMPLATE.json.gz').read_bytes());assert hashlib.sha256(raw).hexdigest()==summary['template_sha256'];assert r['profile']=={int(k):v for k,v in summary['global_profile'].items()};assert r['sigmas']==read(OUT/'ACTUAL-SIGMAS.json.gz');assert r['sigma_digest']==summary['sigma_stream_sha256'] +assert all(hashlib.sha256((BASE/name).read_bytes()).hexdigest()==value for name,value in summary['source_artifacts'].items()) +controls=[] +def reject(name,mut): + if '--mutation-controls' not in sys.argv[4:]:return + q=copy.deepcopy(ct);mut(q) + try:audit(q) + except(AssertionError,KeyError,IndexError,ValueError,TypeError):controls.append(name) + else:raise AssertionError('ACCEPTED '+name) +enter=lambda q:next(o for c in q['calls']for o in c['owners'][(2*V):]if o[1][0]==4) +reject('alias two whole owners',lambda q:q['calls'][0]['owners'].__setitem__((2*V+1),q['calls'][0]['owners'][(2*V)])) +reject('helper on active data family',lambda q:q['calls'][0]['owners'][(2*V)].__setitem__(0,q['calls'][0]['owners'][0][0])) +reject('owner in private namespace',lambda q:q['calls'][0]['owners'][(2*V)].__setitem__(0,DATA)) +reject('wrong residual width',lambda q:enter(q)[1].__setitem__(3,enter(q)[1][3]-1)) +reject('wrong spectator coordinate',lambda q:enter(q)[1][4].__setitem__(0,72)) +reject('omit idle remainder',lambda q:q['idle_children'].pop()) +reject('understate physical reserve',lambda q:q.__setitem__('physical',PHYSICAL-1)) +# Single-provider dispatch still has all source/program/width binding controls. +if len(provider_ids)==1: + P=provider_ids[0] + at_p=lambda q:next(c for c in q['calls']if c['provider_id']==P) + narrow=next(h for h in range(R)if providers[P]['widths'][h]<9) + reject(P+': wrong provider at its invocation',lambda q:at_p(q).__setitem__('provider_id','__unregistered__')) + reject(P+': stale per-call local program hash',lambda q:at_p(q).__setitem__('local_program_sha256','0'*64)) + reject(P+': stale serialized provider program',lambda q:q['local_providers'][P]['local_programs']['forward'].pop()) + reject(P+': unbound residual adapter hash',lambda q:q['local_providers'][P].__setitem__('residual_adapter_sha256','0'*64)) + reject(P+': wrong provider width registry',lambda q:q['local_providers'][P]['widths'].__setitem__(narrow,providers[P]['widths'][narrow]-1)) + reject(P+': wrong per-call residual width',lambda q:at_p(q)['owners'][2*V+narrow][1].__setitem__(3,at_p(q)['owners'][2*V+narrow][1][3]-1)) + reject(P+': wrong sweep provider',lambda q:next(e for e in q['execution_schedule']if e['kind']=='local_cover_sweep').__setitem__('provider_id','__unregistered__')) + reject(P+': entering helper width silently restored to nine',lambda q:q['local_providers'][P]['widths'].__setitem__(narrow,9)) +else: + # Per-provider substitution controls: every provider is swapped against a partner provider. + for P in provider_ids: + Qp=partner(P) + at_p=lambda q,P=P:next(c for c in q['calls']if c['provider_id']==P) + diff=[h for h in range(R)if providers[P]['widths'][h]!=providers[Qp]['widths'][h]] + narrow=next(h for h in range(R)if providers[P]['widths'][h]<9) + reject(P+': wrong provider at its invocation',lambda q,P=P,Qp=Qp,at_p=at_p:at_p(q).__setitem__('provider_id',Qp)) + reject(P+': stale per-call local program hash',lambda q,Qp=Qp,at_p=at_p:at_p(q).__setitem__('local_program_sha256',registry[Qp]['local_program_checks'][at_p(q)['orientation']]['sha256'])) + reject(P+': stale serialized provider program',lambda q,P=P,Qp=Qp:q['local_providers'][P].__setitem__('local_programs',registry[Qp]['local_programs'])) + reject(P+': unbound residual adapter hash',lambda q,P=P:q['local_providers'][P].__setitem__('residual_adapter_sha256','0'*64)) + if diff:reject(P+': partner width in provider width registry',lambda q,P=P,Qp=Qp,h=diff[0]:q['local_providers'][P]['widths'].__setitem__(h,providers[Qp]['widths'][h])) + reject(P+': wrong per-call residual width',lambda q,at_p=at_p,h=narrow:at_p(q)['owners'][2*V+h][1].__setitem__(3,at_p(q)['owners'][2*V+h][1][3]-1)) + reject(P+': wrong sweep provider',lambda q,P=P,Qp=Qp:next(e for e in q['execution_schedule']if e['kind']=='local_cover_sweep'and DISPATCH[e['stage'],e['replica']]==P).__setitem__('provider_id',Qp)) + reject(P+': entering helper width silently restored to nine',lambda q,P=P,h=narrow:q['local_providers'][P]['widths'].__setitem__(h,9)) + +report=dict(status='PASS_INDEPENDENT_ASYNC_WHOLE_OWNER_CONTROLLER_PHASES_AND_SPECTATORS',template_sha256=summary['template_sha256'],complex_template_sha256=summary['template_sha256'],complex_live=DATA,complex_profile=r['profile'],complex_hosted_residuals=HOSTED,physical=PHYSICAL,rank_mass=r['mass'],deficit=2560,entering_helper_roles=r['entering'],cross_replica_helper_roles=r['cross_replica'],one_owner_per_complete_invocation=True,helper_busy_family_window_checks=r['busy_family_checks'],complete_invocations=r['invocations'],actual_orthogonal_73column_maps=len(r['sigmas']),actual_sigma_stream_sha256=r['sigma_digest'],all_actual_residual_and_spectator_charts=True,idle_remainders=r['idle_remainders'],mutations_rejected=controls,mutation_controls_run='--mutation-controls' in sys.argv[4:],provider_phase_semantic_sha256=phase_semantic_hashes,provider_artifact_semantic_sha256=artifact_semantic_hashes,widths_by_provider={pid:dict(sorted(Counter(providers[pid]['widths']).items()))for pid in provider_ids},provider_counts=dict(Counter(c['provider_id']for c in ct['calls'])),all_provider_program_phase_and_wrapper_bindings=True,scope='Independent exact asynchronous chronology, per-replica phase projection, owner/chart/paid-profile audit. Uses per-invocation local providers bound by exact scalar, phase and residual-wrapper receipts; all-size compilation and complete coefficient invoice are separate inherited obligations.') +REPORT.parent.mkdir(parents=True,exist_ok=True) +REPORT.write_text(json.dumps(report,indent=2)+'\n');print(json.dumps(report,indent=2)) + +owners=dict(status='PASS_INDEPENDENT_ASYNC_OWNERS_AND_PROFILE',template_sha256=summary['template_sha256'],paid_profile=r['profile'],live=DATA,physical=PHYSICAL,rank_mass=r['mass'],deficit=2560,hosted_residuals=HOSTED,banked_residuals=0,all_live_owners_per_call_distinct=True,owners_per_call=N,actual_helper_owner_charts=HOSTED,actual_73column_sigmas=len(r['sigmas']),cross_replica_helper_roles=r['cross_replica'],explicit_idle_remainder_children=r['idle_remainders'],source_idle_children_charged=sum(x['replicas']for x in parent['idle_children']),source_artifacts=summary['source_artifacts'],provider_phase_semantic_sha256=phase_semantic_hashes,provider_artifact_semantic_sha256=artifact_semantic_hashes,controller_audit_sha256=hashlib.sha256(REPORT.read_bytes()).hexdigest()) +(REPORT.parent/'OWNERS-AND-PROFILE.json').write_text(json.dumps(owners,indent=2)+'\n') + +# Literal residual frames are a compact export of the already checked offsets, +# not another global replay. Every row names its actual inherited axes. +frames=[] +for z in ct['idle_children']: + axes=list(map(int,ph['recipes'][z['port']]['idle_children'][z['child']]['orthogonal_axes'])) + tail=axes[z['pending_offset']:] + assert len(tail)==z['rank'] + frames.append(dict(z,orthogonal_axes=tail)) +frame_raw=json.dumps(frames,sort_keys=True,separators=(',',':')).encode() +portable=bytearray(gzip.compress(frame_raw,mtime=0));portable[9]=255 +(OUT/'IDLE-REMAINDER-FRAMES.json.gz').write_bytes(bytes(portable)) +frame_receipt=dict(status='PASS_LITERAL_IDLE_REMAINDER_FRAMES',template_sha256=summary['template_sha256'], + uncompressed_frames_sha256=hashlib.sha256(frame_raw).hexdigest(),children=len(frames), + rank_profile=dict(sorted(Counter(z['rank']for z in frames).items())), + source_data_phase_sha256=hashlib.sha256((BASE/'work/complex-nine-native/DATA-PHASES.json').read_bytes()).hexdigest(), + scope='Actual orthogonal axes after the independently checked whole-owner prefix in each inherited pending child.') +(REPORT.parent/'IDLE-REMAINDER-FRAMES.json').write_text(json.dumps(frame_receipt,indent=2)+'\n') diff --git a/research/gauge44-leaver/code/bind_providers_portable.py b/research/gauge44-leaver/code/bind_providers_portable.py new file mode 100644 index 0000000000..97e28da17e --- /dev/null +++ b/research/gauge44-leaver/code/bind_providers_portable.py @@ -0,0 +1,67 @@ +"""Bind freshly verified plain and width-seven four-cold providers to the frozen literal owner plan. +Prepared with OpenAI Codex assistance; Apache-2.0. All byte-stable native +files are pinned to the plan. Only validated phase-receipt timing/serialization +and directory fields are rebound; no dispatch, width or owner choice changes. +""" +import argparse,copy,gzip,hashlib,json,shutil +from collections import Counter +from pathlib import Path +import sys as _s,pathlib as _p;_s.path.insert(0,str(_p.Path(__file__).resolve().parent)) +from witness import * +from generated_identity import artifact_identities +assert __debug__, 'Assertions required' +ap=argparse.ArgumentParser(description=__doc__) +for name in ('baseline','plan','out'):ap.add_argument('--'+name,type=Path,required=True) +ap.add_argument('--provider',action='append',required=True,help='PID=DIR');a=ap.parse_args();assert not a.out.exists();a.out.mkdir(parents=True) +def read(p):return json.loads(gzip.decompress(p.read_bytes())if p.suffix=='.gz'else p.read_bytes()) +def sha(p):return hashlib.sha256(p.read_bytes()).hexdigest() +base=a.out/'base';shutil.copytree(a.baseline/'complex-global/base',base) +ap2=dict(x.split('=',1)for x in a.provider);dirs={k:Path(v)for k,v in ap2.items()};assert set(dirs)==set(PIDS) +for pid,src in dirs.items():shutil.copytree(src,base/'providers'/pid) +pin('data.plan_sha256',sha(a.plan)) +plan=read(a.plan);original=copy.deepcopy(plan);sources={};helpers=set() # R: helper count per provider word; all providers must agree +assert set(plan['provider_registry'])==set(dirs) +assert {(c['stage'],c['replica']):c['provider']for c in plan['provider_calls']}==DISPATCH,'PLAN dispatch differs from spec dispatch' +stable=('CANONICAL-WORD.json.gz','LOCAL-PROGRAMS.json.gz','LOCAL-CHECKS.json','INDEPENDENT-LOCAL-REPLAY.json','CLIFFORD-RECIPES.json','RESIDUAL-ADAPTERS.json') +for pid,desc in plan['provider_registry'].items(): + d=base/'providers'/pid + word,program,checks,native,phase=[read(d/name)for name in('CANONICAL-WORD.json.gz','LOCAL-PROGRAMS.json.gz','LOCAL-CHECKS.json','INDEPENDENT-LOCAL-REPLAY.json','CLIFFORD-REVIEW.json')] + assert (word['v'],word['h'],len(word['centers']))==(112,9,8) and type(word['R']) is int and word['R']>0;helpers.add(word['R']) + assert word['ports']==desc['ports'] and word['centers']==desc['centers'] + widths=[len(word['frames'][word['final'][r]])-len(word['frames'][word['start'][r]])for r in range(2*112,2*112+word['R'])] # HPE: residual width |final|-|start| + assert tuple(widths[h]for h in SPOT)==spot_widths() + assert widths==desc['widths'];pin('providers.%s.inventory'%pid,{str(k):v for k,v in sorted(Counter(widths).items())}) + assert native['status']=='PASS_INDEPENDENT_LOCAL_SCALAR_FRAME_AND_WRAPPER_REPLAY' + pin('providers.%s.native_negative_controls'%pid,len(native['negative_controls_rejected'])) + assert native['canonical_word_sha256']==sha(d/'CANONICAL-WORD.json.gz') and native['local_programs_sha256']==sha(d/'LOCAL-PROGRAMS.json.gz') + assert phase['status']=='PASS_NEW_WORD_EXACT_LOCAL_PHASE_RECIPES' + assert phase['canonical_word_sha256']==sha(d/'CANONICAL-WORD.json.gz') and phase['recipe_sha256']==sha(d/'CLIFFORD-RECIPES.json') + assert phase['all_child_equalities_include_global_phase'] is True and phase['endpoint_adapters']==224 + pin('providers.%s.phase_edges'%pid,phase['directed_edges']) + assert set(program)==set(checks)=={'forward','backward'} + expected={int(r):n for r,n in checks['forward']['paid_profile'].items()};pin('providers.%s.expected_profile'%pid,checks['forward']['paid_profile']) + for orientation,events in program.items(): + profile=Counter() + for e in events: + if e[0]=='climb':profile[e[5]]+=1 + elif e[0]=='center':profile[e[4]]+=1 + assert dict(profile)==expected=={int(r):n for r,n in checks[orientation]['paid_profile'].items()}=={int(r):n for r,n in native['paid_profiles'][orientation].items()} + assert hashlib.sha256(json.dumps(events,separators=(',',':')).encode()).hexdigest()==checks[orientation]['sha256'] + identities=artifact_identities(d) + pin('providers.%s.artifact_semantic_sha256'%pid,identities) + assert identities==desc['artifact_semantic_sha256'] + for name in ('LOCAL-CHECKS.json','CLIFFORD-RECIPES.json','RESIDUAL-ADAPTERS.json'): + assert sha(d/name)==desc['artifact_sha256'][name],(pid,name,'changed non-reference artifact') + for c in plan['provider_calls']: + if c['provider']==pid: + assert c['orientation']==('forward'if c['stage']%2==0 else'backward') + assert c['local_program_sha256']==checks[c['orientation']]['sha256'] + desc['directory']='providers/'+pid + desc['artifact_sha256']={name:sha(d/name)for name in desc['artifact_sha256']} + sources[pid]=dict(artifact_sha256=desc['artifact_sha256'],canonical_content_sha256=hashlib.sha256(json.dumps(word,sort_keys=True,separators=(',',':')).encode()).hexdigest(),all_phase_edges=phase['directed_edges']) +assert len(helpers)==1,'providers disagree on helper count R: %s'%sorted(helpers) +plan['runtime_source_plan_sha256']=sha(a.plan) +(a.out/'PLAN.json').write_text(json.dumps(plan,indent=2)+'\n') +receipt=dict(status='PASS_FROZEN_048_ALLCOLD_DISPATCH_FRESH_PROVIDER_BINDING',source_plan_sha256=sha(a.plan),runtime_plan_sha256=sha(a.out/'PLAN.json'),providers=sources,only_rebound_fields=['provider_registry.directory','provider_registry.artifact_sha256','runtime_source_plan_sha256']) +(a.out/'BINDING.json').write_text(json.dumps(receipt,indent=2)+'\n') +print(receipt['status']) diff --git a/research/gauge44-leaver/code/bit_supplier_controls.py b/research/gauge44-leaver/code/bit_supplier_controls.py new file mode 100644 index 0000000000..e86b8527b4 --- /dev/null +++ b/research/gauge44-leaver/code/bit_supplier_controls.py @@ -0,0 +1,111 @@ +"""Negative controls for the cited PR589 bit supplier and its derived rank-mass deficit. + +Apache-2.0. Each control mutates one input of the changed bit-supplier sites in assemble.py (the pinned record, the +deficit derivation from the word's parameters, the profile/live binding, the claimed endpoint) and runs the unchanged +assemble() on the fresh owner/invoice receipts. Every control must be rejected; the unmutated run must pass. +`revert_hardcoded_9984` restores the PR543 constant the parent package hard-coded: with PR589's word it must fail. +""" +import argparse +import copy +import hashlib +import json +import os +import tempfile +from fractions import Fraction as Q +from pathlib import Path +import sys as _s,pathlib as _p;_s.path.insert(0,str(_p.Path(__file__).resolve().parent)) + +assert __debug__, 'Assertions required' +sha = lambda p: hashlib.sha256(p.read_bytes()).hexdigest() + + +def verify(owner_path, invoice_path, source_package): + os.environ['GAIN_PR564_SOURCE'] = str(source_package.resolve()) + import assemble as A + owner = json.loads(owner_path.read_text()) + invoice = json.loads(invoice_path.read_text()) + args = (owner, invoice, sha(owner_path), sha(invoice_path)) + baseline = A.assemble(*args) + data = A.BIT_PATH.read_bytes() + record = A.load_bit(data) + word = record['word'] + assert A.bit_deficit(word, record['nine']['bit']['live']) == 10272 == 32 * (8 * 111 - 9 * 63) + + real_load, real_deficit = A.load_bit, A.bit_deficit + + def with_record(mutate): + def load(d): + r = copy.deepcopy(real_load(d)); mutate(r); return r + return load + + def shift_profile(r): # one rank-1 child becomes rank 2: rank mass +1, totals unchanged + p = r['nine']['profile']; p['1'] -= 1; p['2'] += 1; r['nine']['bit']['rank_mass'] += 1 + + bumped = data.replace(record['nine']['bit_lower'].encode(), + str(Q(record['nine']['bit_lower']) + Q(1, 10**24)).encode(), 1) + assert bumped != data + pr543 = (source_package / 'inputs/PR543-EXPECTED.json').read_bytes() + controls = [ + # deficit site: the parent's hard-coded constant, restored + ('revert_hardcoded_9984', dict(bit_deficit=lambda w, live: 9984)), + # deficit site: each word parameter perturbed alone + ('ports_112', dict(load_bit=with_record(lambda r: r['word'].__setitem__('v', 112)))), + ('decoder_constant_64_copy_ranks_unchanged', dict(load_bit=with_record(lambda r: r['word'].__setitem__('decoder_constant', 64)))), + # v=111, cst=64 derives 32*(888-576)=9984: consistent word, wrong for the priced profile + ('decoder_constant_64_with_one_copy_rank_8', dict(load_bit=with_record(lambda r: (r['word'].__setitem__('decoder_constant', 64), r['word']['copy_ranks'].__setitem__(0, 8))))), + ('eight_retained_totals', dict(load_bit=with_record(lambda r: (r['word'].__setitem__('copy_ranks', [7] * 8), r['word'].__setitem__('decoder_constant', 56))))), + ('live_minus_one', dict(load_bit=with_record(lambda r: r['nine']['bit'].__setitem__('live', r['nine']['bit']['live'] - 1)))), + # profile binding: same totals, rank mass +1 + ('profile_rank_mass_plus_one', dict(load_bit=with_record(shift_profile))), + ('profile_rank_mass_receipt_mismatch', dict(load_bit=with_record(lambda r: r['nine']['bit'].__setitem__('rank_mass', r['nine']['bit']['rank_mass'] + 1)))), + # endpoint: the next 1e-24 grid point + ('bit_lower_next_grid', dict(load_bit=with_record(lambda r: r['nine'].__setitem__('bit_lower', str(Q(r['nine']['bit_lower']) + Q(1, 10**24)))))), + ('not_nine_stage_record', dict(load_bit=with_record(lambda r: r['nine'].__setitem__('pipeline', r['nine']['pipeline'].replace('nine-stage', 'eleven-stage'))))), + # pinned-input site: tampered bytes and the parent's PR543 file under the PR589 pin + ('tampered_bytes_next_grid', dict(read=bumped)), + ('pr543_file_under_pr589_pin', dict(read=pr543)), + ] + rejected = [] + scratch = Path(tempfile.mkdtemp(prefix='bitctl-')) + for name, patch in controls: + saved_path = A.BIT_PATH + try: + if 'read' in patch: + tmp = scratch / (name + '.json'); tmp.write_bytes(patch['read']); A.BIT_PATH = tmp + A.load_bit = patch.get('load_bit', real_load) + A.bit_deficit = patch.get('bit_deficit', real_deficit) + try: + A.assemble(*args) + except (AssertionError, KeyError): + rejected.append(name) + else: + raise AssertionError('Invalid bit supplier accepted: ' + name) + finally: + A.load_bit, A.bit_deficit, A.BIT_PATH = real_load, real_deficit, saved_path + if 'read' in patch: + tmp.unlink() + scratch.rmdir() + assert rejected == [n for n, _ in controls] + again = A.assemble(*args) + assert again['kappa'] == baseline['kappa'] and again['bit_lower'] == baseline['bit_lower'] + return dict( + status='PASS_PR589_BIT_SUPPLIER_DERIVED_DEFICIT_NEGATIVE_CONTROLS', + kappa=baseline['kappa_decimal'], bit_lower=baseline['bit_lower'], bit_decimal=baseline['bit_decimal'], + binding=baseline['binding'], bit_supplier=baseline['bit_supplier'], + derived_deficit=baseline['bit_supplier']['derived_deficit'], + rejected_controls=rejected, + assembler_sha256=sha(Path(__file__).resolve().parent / 'assemble.py'), + ) + + +if __name__ == '__main__': + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--source-package', type=Path, required=True) + ap.add_argument('--owner', type=Path, required=True) + ap.add_argument('--invoice', type=Path, required=True) + ap.add_argument('--out', type=Path, required=True) + a = ap.parse_args() + assert not a.out.exists() + result = verify(a.owner, a.invoice, a.source_package) + a.out.write_text(json.dumps(result, indent=2) + '\n', newline='\n') + print(result['status'], len(result['rejected_controls'])) diff --git a/research/gauge44-leaver/code/emit_allcold.py b/research/gauge44-leaver/code/emit_allcold.py new file mode 100644 index 0000000000..8e147f80a6 --- /dev/null +++ b/research/gauge44-leaver/code/emit_allcold.py @@ -0,0 +1,150 @@ +"""Two-provider width-seven whole-owner derivative, adapted with OpenAI Codex assistance. +Based on PR514 and its credited PR484/507 lineage. +CLI: --base VERIFIED_VARIANT --owners ASYNC-OWNERS.json.gz --plan ASYNC-PLAN.json --out OUT +No optimizer or unpublished word builder runs. The frozen map explicitly names +one whole helper per family per complete invocation, plus borrowed spectators. +""" +import sys,json,gzip,hashlib,copy,argparse +from pathlib import Path +from collections import Counter,defaultdict +import sys as _s,pathlib as _p;_s.path.insert(0,str(_p.Path(__file__).resolve().parent)) +from witness import * +parser=argparse.ArgumentParser(description=__doc__) +parser.add_argument('--base',type=Path,required=True);parser.add_argument('--owners',type=Path,required=True);parser.add_argument('--plan',type=Path,required=True);parser.add_argument('--out',type=Path,required=True) +a=parser.parse_args();BASE,MAP,PLAN,OUT=(p.resolve()for p in(a.base,a.owners,a.plan,a.out));assert not OUT.exists();OUT.mkdir(parents=True) +class OH: + @staticmethod + def idle_basis(q): + z=next(i for i in range(9)if not(q>>i)&1);u=q^(1<>i&1 else 0)for i in order]+[1<0 and all(x['R']==R for x in registry.values()),'providers disagree on helper count R' + assert replay['status']=='PASS_INDEPENDENT_LOCAL_SCALAR_FRAME_AND_WRAPPER_REPLAY' + assert replay['canonical_word_sha256']==sha(directory/'CANONICAL-WORD.json.gz')and replay['local_programs_sha256']==sha(directory/'LOCAL-PROGRAMS.json.gz') + widths=[len(pc['frames'][pc['final'][2*V+h]])-len(pc['frames'][pc['start'][2*V+h]])for h in range(R)] # HPE: residual width |final|-|start| + assert widths==plan['provider_registry'][provider_id]['widths'] + for name in provider_files: + value=sha(directory/name);assert value==plan['provider_registry'][provider_id]['artifact_sha256'][name] + source_artifacts[f'providers/{provider_id}/{name}']=value + registry[provider_id]=dict(local_programs=programs,canonical_word_sha256=sha(directory/'CANONICAL-WORD.json.gz'),local_programs_sha256=sha(directory/'LOCAL-PROGRAMS.json.gz'),local_program_checks=checks,exact_local_clifford_recipe_sha256=sha(directory/'CLIFFORD-RECIPES.json'),residual_adapter_sha256=sha(directory/'RESIDUAL-ADAPTERS.json'),v=V,h=9,R=R,ports=pc['ports'],centers=pc['centers'],widths=widths) +assert len(roles)==72*R # one whole-owner role per (call, provider helper) +selected={(c['stage'],c['replica']):c for c in plan['provider_calls']} +assert len(selected)==72 and set(selected)==set(call_order) +assert Counter(c['provider']for c in selected.values())==COUNTS +per_call_widths={(c['stage'],c['replica']):c['widths']for c in plan['per_call_widths']} +for key,c in selected.items(): + assert c['time']==at[key] and c['provider']in registry + assert per_call_widths[key]==registry[c['provider']]['widths'] +for key in('local_programs','exact_local_clifford_recipe_sha256','residual_adapter_sha256'):t.pop(key) +t['local_providers']=registry +rank={z['child']:z['rank']for z in parent['idle_children']};side={};pairs={} +for e in parent['execution_schedule']: + if e['kind']=='idle_cover_sweep': + for sd,ch in enumerate(e['child_indices']):side[ch]=sd;pairs[ch]=e['pair'] +bycall=defaultdict(dict);used=defaultdict(set);sigmas={};digest=hashlib.sha256();entering=0 +for z in roles: + s,rep,h=z['stage'],z['replica'],z['helper'];i,cp,off,w,f=z['child'],z['copy'],z['offset'],z['width'],z['family'];orp,port=divmod(cp,V) + assert 0<=s<9 and 0<=rep=0 and off+w<=rank[i] + assert z['time']==at[s,rep] and z['time'] in plan['windows'][f'{orp},{i}'][1] + B=OH.idle_basis(canon['ports'][port]);pending=list(map(int,ph['recipes'][port]['idle_children'][i]['orthogonal_axes']));assert len(pending)==rank[i] + occ=[B.index(v)for v in pending[off:off+w]];sp=OH.spectators(canon['ports'][port],pending,off,w)if w<9 else[] + order=occ+sp+[j for j in range(M)if j not in occ and j not in sp];assert len(order)==len(set(order))==M + sigma=[B[j]for j in order];sigmahash=hashlib.sha256(json.dumps(sigma,separators=(',',':')).encode()).hexdigest();sigmas[sigmahash]=sigma + route=[4,i,off,w,sp]if w<9 else[3,i,off];bycall[s,rep][h]=[f,route];entering+=w<9 + cells=set(range(off,off+w));assert not used[i,orp,port]&cells;used[i,orp,port]|=cells + digest.update(json.dumps([s,rep,h,f,sigmahash],separators=(',',':')).encode()+b'\n') +for c in t['calls']: + k=(c['stage'],c['replica']);assert set(bycall[k])==set(range(R)) + c['owners']=c['owners'][:(2*V)]+[bycall[k][h]for h in range(R)];assert len({f for f,r in c['owners']})==2*V+R and all(f2*max(paid)**2 + +assert all(c['local_program_sha256']==registry[c['provider_id']]['local_program_checks'][c['orientation']]['sha256']for c in t['calls']) +t['provider_dispatch']='For each indivisible local_cover_sweep, execute local_providers[call.provider_id].local_programs[call.orientation] with that provider residual adapters and Clifford recipes. The sweep provider_id must equal its call provider_id.' +raw=json.dumps(t,sort_keys=True,separators=(',',':')).encode();(OUT/'GLOBAL-TEMPLATE.json.gz').write_bytes(gzip.compress(raw,mtime=0)) +res=dict(status='EMITTED_MIXED_PROVIDER_ASYNCHRONOUS_WHOLE_OWNER_COMPLEX_TEMPLATE', + template_sha256=hashlib.sha256(raw).hexdigest(), + parent_template_sha256=hashlib.sha256(gzip.decompress((BASE/'split-centres/GLOBAL-TEMPLATE.json.gz').read_bytes())).hexdigest(), + live=DATA,physical=physical,global_profile=dict(sorted(paid.items())), + rank_mass=sum(r*n for r,n in paid.items()),deficit=2560,maxchild=max(paid), + hosted_residuals=len(roles),banks_per_stage=[0]*9,entering_helper_roles=entering, + unique_actual_73column_sigmas=len(sigmas),sigma_stream_sha256=digest.hexdigest(), + cross_replica_helper_roles=sum(z['replica']!=z['owner_replica']for z in roles), + asynchronous_order_sha256=hashlib.sha256(json.dumps(call_order,separators=(',',':')).encode()).hexdigest(), + source_artifacts=source_artifacts,provider_counts=dict(Counter(c['provider_id']for c in t['calls'])), + scope='Two actual verified plain/width-seven providers dispatched per complete invocation; independent controller/spectator/normalization and complete finite invoice admission required.') +(OUT/'HOSTED.json').write_text(json.dumps(res,indent=2)+'\n');(OUT/'ACTUAL-SIGMAS.json.gz').write_bytes(gzip.compress(json.dumps(sigmas,separators=(',',':')).encode(),mtime=0));print(json.dumps(res,indent=2)) diff --git a/research/gauge44-leaver/code/freeze_spec.py b/research/gauge44-leaver/code/freeze_spec.py new file mode 100644 index 0000000000..dd0358d396 --- /dev/null +++ b/research/gauge44-leaver/code/freeze_spec.py @@ -0,0 +1,29 @@ +"""Freeze independently recomputed discovery values before strict replay.""" +import argparse +import json +from pathlib import Path + +ap = argparse.ArgumentParser(description=__doc__) +ap.add_argument('--spec', type=Path, required=True) +ap.add_argument('--discovery', type=Path, required=True) +a = ap.parse_args() +spec = json.loads(a.spec.read_text()) +for line in (a.discovery/'WITNESS-RECORD.jsonl').read_text().splitlines(): + key, value = json.loads(line) + parts = key.split('.') + if len(parts)>3 and parts[0]=='providers' and parts[2]=='artifacts': + parts = parts[:3] + ['.'.join(parts[3:])] + target = spec + for part in parts[:-1]: + target = target.setdefault(part, {}) + if parts[-1] in target: + assert target[parts[-1]]==value, 'Conflicting independent recomputations: '+key + target[parts[-1]] = value +assembly = json.loads((a.discovery/'ASSEMBLY.json').read_text()) +for key in ('complex_lower','conservative_complex_lower','kappa','kappa_decimal','conservative_kappa_decimal'): + spec['expected'][key] = assembly[key] +spec['expected']['assembly_controls_rejected'] = 69 +spec['expected']['provider_counts'] = {'gauge44':72} +spec['expected']['mutations_rejected'] = 15 +a.spec.write_text(json.dumps(spec, indent=2)+'\n') +print('Frozen exact witness for strict replay:', assembly['kappa_decimal']) diff --git a/research/gauge44-leaver/code/generated_identity.py b/research/gauge44-leaver/code/generated_identity.py new file mode 100644 index 0000000000..74a9b60479 --- /dev/null +++ b/research/gauge44-leaver/code/generated_identity.py @@ -0,0 +1,62 @@ +"""Proof-relevant identities for generated artifacts, independent of gzip streams. + +Immutable source archives retain their exact byte hashes. For freshly emitted +artifacts, gzip identity is the exact decompressed payload and JSON identity +retains every field. Only CLIFFORD-REVIEW's root timing field is excluded. +Literal receipt references are checked against actual files before replacing +the three gzip references (and the phase recipe reference) with content hashes. +Prepared with OpenAI Codex assistance; Apache-2.0. +""" +from pathlib import Path +import copy +import gzip +import hashlib +import json +import math + +if not __debug__: + raise RuntimeError('Assertions must remain enabled') + +FILES=('CANONICAL-WORD.json.gz','LOCAL-PROGRAMS.json.gz','LOCAL-CHECKS.json', + 'INDEPENDENT-LOCAL-REPLAY.json','CLIFFORD-RECIPES.json', + 'CLIFFORD-REVIEW.json','RESIDUAL-ADAPTERS.json') + +def sha(path): + return hashlib.sha256(Path(path).read_bytes()).hexdigest() + +def json_identity(value): + return hashlib.sha256(json.dumps(value,sort_keys=True,separators=(',',':'),allow_nan=False).encode('utf-8')).hexdigest() + +def payload_identity(path): + return hashlib.sha256(gzip.decompress(Path(path).read_bytes())).hexdigest() + +def phase_value(directory,value=None): + directory=Path(directory) + value=copy.deepcopy(json.loads((directory/'CLIFFORD-REVIEW.json').read_bytes())if value is None else value) + assert value['canonical_word_sha256']==sha(directory/'CANONICAL-WORD.json.gz'),'stale phase canonical word reference' + assert value['recipe_sha256']==sha(directory/'CLIFFORD-RECIPES.json'),'stale phase recipe reference' + seconds=value.pop('seconds') + assert type(seconds)in(int,float) and math.isfinite(seconds) and seconds>=0,'invalid phase timing metadata' + value['canonical_word_sha256']=payload_identity(directory/'CANONICAL-WORD.json.gz') + value['recipe_sha256']=json_identity(json.loads((directory/'CLIFFORD-RECIPES.json').read_bytes())) + return value + +def native_value(directory,value=None): + directory=Path(directory) + value=copy.deepcopy(json.loads((directory/'INDEPENDENT-LOCAL-REPLAY.json').read_bytes())if value is None else value) + for field,name in [('canonical_word_sha256','CANONICAL-WORD.json.gz'),('local_programs_sha256','LOCAL-PROGRAMS.json.gz')]: + assert value[field]==sha(directory/name),'stale native artifact reference: '+field + value[field]=payload_identity(directory/name) + return value + +def artifact_identities(directory): + directory=Path(directory) + result={} + for name in FILES: + path=directory/name + if name.endswith('.gz'): + result[name]=payload_identity(path) + else: + value=phase_value(directory)if name=='CLIFFORD-REVIEW.json'else native_value(directory)if name=='INDEPENDENT-LOCAL-REPLAY.json'else json.loads(path.read_bytes()) + result[name]=json_identity(value) + return result diff --git a/research/gauge44-leaver/code/invoice_allcold.py b/research/gauge44-leaver/code/invoice_allcold.py new file mode 100644 index 0000000000..b244cd5994 --- /dev/null +++ b/research/gauge44-leaver/code/invoice_allcold.py @@ -0,0 +1,329 @@ +"""Fresh call-specific mixed-provider finite invoice. + +Prepared with OpenAI Codex assistance, Apache-2.0. The scalar/Horner recount +and finite inequalities are adapted from the retained PR558 -> PR552 -> +PR531 invoice_final.py, whose notices and sources are preserved in the package. +Every call selects a hash-bound provider. Shared compiler reserves use maxima; +primitive work, coefficient work, local children and wrappers are also summed +from actual selected provider/orientation records. +""" +import argparse, gzip, hashlib, json +import sys as _s,pathlib as _p;_s.path.insert(0,str(_p.Path(__file__).resolve().parent)) +from witness import * +from generated_identity import artifact_identities +from collections import Counter +from fractions import Fraction as Q +from pathlib import Path +assert __debug__, 'Assertions required' + +def read(path): + data=path.read_bytes() + return json.loads(gzip.decompress(data) if path.suffix=='.gz' else data) +def filehash(path): return hashlib.sha256(path.read_bytes()).hexdigest() +def contenthash(path): + data=path.read_bytes() + return hashlib.sha256(gzip.decompress(data) if path.suffix=='.gz' else data).hexdigest() +def programhash(events): + return hashlib.sha256(json.dumps(events,separators=(',',':')).encode()).hexdigest() + +def recount_provider(local_dir, registry): + cp=local_dir/'CANONICAL-WORD.json.gz'; pp=local_dir/'LOCAL-PROGRAMS.json.gz' + rp=local_dir/'INDEPENDENT-LOCAL-REPLAY.json' + w,programs,replay=read(cp),read(pp),read(rp) + checks=read(local_dir/'LOCAL-CHECKS.json') + assert set(programs)=={'forward','backward'} + assert replay['status']=='PASS_INDEPENDENT_LOCAL_SCALAR_FRAME_AND_WRAPPER_REPLAY' + assert replay['canonical_word_sha256']==filehash(cp)==registry['canonical_word_sha256'] + assert replay['local_programs_sha256']==filehash(pp)==registry['local_programs_sha256'] + assert programs==registry['local_programs'] + assert checks==registry['local_program_checks'] + assert filehash(local_dir/'CLIFFORD-RECIPES.json')==registry['exact_local_clifford_recipe_sha256'] + assert filehash(local_dir/'RESIDUAL-ADAPTERS.json')==registry['residual_adapter_sha256'] + v,helpers,h,m=w['v'],w['R'],w['h'],73 + assert (v,h)==(112,9) and type(helpers) is int and helpers>0 + assert registry['v']==v and registry['R']==helpers and registry['h']==h + assert registry['ports']==w['ports'] and registry['centers']==w['centers'] + assert replay['v']==v and replay['helpers']==helpers + n=2*v+helpers + widths = [len(w['frames'][w['final'][r]])-len(w['frames'][w['start'][r]]) for r in range(2*v, 2*v+helpers)] # HPE: |final|-|start| + terminal_codim = sum(h-len(w['frames'][w['final'][r]]) for r in range(2*v, 2*v+helpers)) # HPE: 0 for FULL-ended helpers + ends = {r: f for r, f in enumerate(w['final']) if r >= 2*v and f != 1} + assert len(widths) == helpers + entrances = {r: f for r, f in enumerate(w['start']) if r >= 2*v and f != 0} + entering = len(entrances) + wrapped = {**entrances, **{r: 0 for r in ends if r not in entrances}} # COLD-HPE: cold hyperplane-ended helpers carry wrappers too + cold_ends = len(wrapped) - len(entrances) + assert entering == replay['entering_helpers'] + local = {} + for orientation, events in programs.items(): + # Endpoint equality and native frames were already independently + # replayed on all n columns in the hash-bound receipt above. + env = {('L', r): Q(1) for r in range(n)} + peak = Q(1) + real = macros = workops = 0 + paid = Counter() + wrappers = {'pre': set(), 'post': set()} + for event in events: + tag = event[0] + if tag == 'climb': + paid[event[5]] += 1 + elif tag == 'center': + paid[event[4]] += 1 + elif tag == 'residual_adapter': + _, kind, register, frame, *end = event + assert kind in wrappers and wrapped.get(register) == frame + assert end == ([ends[register]] if register in ends else []) # HPE: R_{E,U}^-1 and L_{E,U}^-1 name U + assert register not in wrappers[kind] + wrappers[kind].add(register) + elif tag == 'scalar': + macros += 1 + scalar = event[1] + op, target = scalar[0], tuple(scalar[1]) + if op == 'clear': + env[target] = Q(0) + count = 1 + elif op == 'copy': + env[target] = env[tuple(scalar[2])] + count = 1 + elif op == 'scale': + q = Q(scalar[2], scalar[3]) + numerator, denominator = abs(q.numerator), q.denominator + assert numerator and numerator & (numerator-1) == 0 + assert denominator & (denominator-1) == 0 + env[target] *= abs(q) + count = abs(numerator.bit_length()-denominator.bit_length()) + int(q < 0) + elif op == 'add': + source = tuple(scalar[2]) + q = Q(scalar[3], scalar[4]) + numerator, denominator = abs(q.numerator), q.denominator + assert source != target and numerator > 0 + assert denominator & (denominator-1) == 0 + acc, count = 0, 1 # clear coefficient work + for i, bit in enumerate(bin(numerator)[2:]): + if i: + acc *= 2 + count += 1 + peak = max(peak, acc*env[source]) + if bit == '1': + acc += 1 + count += 1 + peak = max(peak, acc*env[source]) + value = Q(acc) + for _ in range(denominator.bit_length()-1): + value /= 2 + count += 1 + peak = max(peak, value*env[source]) + assert value == abs(q) + count += 2 # signed accumulation and work clear + env[target] = env.get(target, Q(0)) + abs(q)*env[source] + workops += count + else: + raise AssertionError(op) + real += 2*count + peak = max(peak, env[target]) + else: + assert tag in ('adapter', 'phase') + assert wrappers['pre'] == wrappers['post'] == set(wrapped) + assert all(value == 0 for register, value in env.items() if register[0] == 'C') + prior = replay['local'][orientation] + assert prior['all_exact_columns'] == n and prior['private_work_erased'] + assert peak == Q(prior['prefix_l1_upper']) and peak < 2**prior['charged_payload_bits'] + bits = peak.numerator.bit_length()-peak.denominator.bit_length()+1 + assert bits == prior['prefix_bits_upper'] + assert real == checks[orientation]['real_component_primitive_bound'] + assert macros == checks[orientation]['scalar_macros'] + assert dict(paid) == {int(r): count for r, count in checks[orientation]['paid_profile'].items()} + assert dict(paid) == {int(r): count for r, count in replay['paid_profiles'][orientation].items()} + local[orientation] = dict( + events=len(events), macros=macros, real_component_primitives=real, + prefix_l1=str(peak), prefix_bits=bits, + coefficient_work_primitive_count=workops, all_exact_columns=n, + dirty_helper_columns=helpers, all_dirty_helper_columns_restored=True, + private_centres_and_coefficient_work_cleared=True, + pre_wrappers=len(wrappers['pre']), post_wrappers=len(wrappers['post']), + endpoint_evidence='Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json') + + centres = len(w['centers']) + children = sum(checks['forward']['paid_profile'].values()) + assert checks['forward']['paid_profile'] == checks['backward']['paid_profile'] + macro_bound = max(row['macros'] for row in local.values()) + compiler = 64*(m+1)**3 + adapters = 16*(macro_bound+children+n+centres)+64*m + primitive_bound = max(row['real_component_primitives'] for row in local.values())+adapters*compiler + + assert widths==registry['widths'] + artifacts={f.name:filehash(f) for f in local_dir.iterdir() if f.is_file()} + phase_review=read(local_dir/'CLIFFORD-REVIEW.json') + return dict(local=local,helpers=helpers,centres=centres,v=v,h=h,n=n, + entering_helpers=entering,entrance_rank=sum(len(w['frames'][f]) for f in w['start'][2*v:]), + terminal_codimension=terminal_codim, hyperplane_ended_helpers=len(ends), # HPE: always reported (0 for FULL-ended words) + **({'cold_hyperplane_ended_helpers': cold_ends} if cold_ends else {}), # COLD-HPE: absent without cold ends + width_inventory=dict(sorted(Counter(widths).items())),widths=widths, + local_adapters=adapters,local_primitive_bound=primitive_bound, + compiler=compiler,children=children,artifacts=artifacts, + paid_profile=checks['forward']['paid_profile'], + program_hashes={o:programhash(events) for o,events in programs.items()},semantic_artifact_sha256=artifact_identities(local_dir)) + + +def run(base, hosted, audit, out, retained_invoice=None): + local_dir=base/'split-centres' + parent=read(local_dir/'GLOBAL-TEMPLATE.json.gz') + template_path=hosted/'GLOBAL-TEMPLATE.json.gz' + template=read(template_path); summary=read(hosted/'HOSTED.json') + owners=read(audit/'OWNERS-AND-PROFILE.json'); control=read(audit/'ASYNC-AUDIT.json') + template_hash=contenthash(template_path) + assert template_hash==control['complex_template_sha256']==owners['template_sha256']==summary['template_sha256'] + assert owners['status']=='PASS_INDEPENDENT_ASYNC_OWNERS_AND_PROFILE' + assert template['recipe']==parent['recipe'] + assert 'local_programs' not in template + assert set(template['local_providers'])==set(PIDS) + providers={pid:recount_provider(base/'providers'/pid,registry) + for pid,registry in template['local_providers'].items()} + for pid,p in providers.items(): + assert owners['provider_phase_semantic_sha256'][pid]==control['provider_phase_semantic_sha256'][pid]==p['semantic_artifact_sha256']['CLIFFORD-REVIEW.json'] + # The fresh controller admission must cite precisely these provider bytes. + for name in ('CANONICAL-WORD.json.gz','LOCAL-PROGRAMS.json.gz','LOCAL-CHECKS.json', + 'INDEPENDENT-LOCAL-REPLAY.json','CLIFFORD-RECIPES.json', + 'CLIFFORD-REVIEW.json','RESIDUAL-ADAPTERS.json'): + path='providers/'+pid+'/'+name + assert summary['source_artifacts'][path]==p['artifacts'][name] + assert owners['source_artifacts'][path]==p['artifacts'][name] + # R is read from the provider words (all must agree); the parent dedicated-bank + # envelope keeps its own helper count R0 from the parent split-centres word. + assert len({p['helpers'] for p in providers.values()})==1,'providers disagree on helper count R' + v,h,m,centres=112,9,73,8 + helpers=next(iter(providers.values()))['helpers']; n=2*v+helpers + assert all((p['v'],p['h'],p['centres'],p['n'])==(v,h,centres,n) for p in providers.values()) + parent_helpers=read(local_dir/'CANONICAL-WORD.json.gz')['R'] + stages,replicas,blocks_per_stream=9,8,4 + call_count=len(template['calls']) + assert call_count==stages*replicas==control['complete_invocations'] + assert control['one_owner_per_complete_invocation'] + assert len({(c['stage'],c['replica']) for c in template['calls']})==call_count + parent_calls={(c['stage'],c['replica']):c for c in parent['calls']} + sweeps=[e for e in template['execution_schedule'] if e['kind']=='local_cover_sweep'] + assert len(sweeps)==call_count + selected=[]; selected_paid=Counter(); provider_counts=Counter(); orientation_counts=Counter() + scalar=coefficient_work=macros=0; wrapper_factors=0 + factors_per_wrapper=2*(m-1) + for c in template['calls']: + pid,orientation=c['provider_id'],c['orientation']; p=providers[pid] + old=parent_calls[(c['stage'],c['replica'])] + assert orientation==old['orientation'] and c['owners'][:2*v]==old['owners'][:2*v] + assert c['local_program_sha256']==p['program_hashes'][orientation] + r=p['local'][orientation] + scalar+=r['real_component_primitives']; coefficient_work+=r['coefficient_work_primitive_count']; macros+=r['macros'] + wrapper_factors+=(r['pre_wrappers']+r['post_wrappers'])*factors_per_wrapper + provider_counts[pid]+=1; orientation_counts[(pid,orientation)]+=1 + selected_paid.update({int(k):v for k,v in p['paid_profile'].items()}) + selected.append(dict(stage=c['stage'],replica=c['replica'],provider_id=pid,orientation=orientation, + program_sha256=c['local_program_sha256'],events=r['events'],macros=r['macros'], + real_component_primitives=r['real_component_primitives'], + coefficient_work_primitive_count=r['coefficient_work_primitive_count'], + entering_helpers=p['entering_helpers'],entrance_rank=p['entrance_rank'], + pre_wrappers=r['pre_wrappers'],post_wrappers=r['post_wrappers'])) + assert provider_counts==COUNTS + # The sweep registry is executable: no hidden use of the historical supplier. + by_call={(c['stage'],c['replica']):c for c in template['calls']} + for e in sweeps: + c=by_call[(e['stage'],e['replica'])] + assert e['provider_id']==c['provider_id'] + assert set(p['compiler'] for p in providers.values())=={64*(m+1)**3} + compiler=64*(m+1)**3 + adapters=max(p['local_adapters'] for p in providers.values()) + primitive_bound=max(p['local_primitive_bound'] for p in providers.values()) + bridge_steps=sum(event['kind']=='bridge' for event in parent['recipe']) + bridge_sweeps=sum(event['kind']=='bridge' for event in template['execution_schedule']) + assert bridge_sweeps==replicas*bridge_steps + bridge_additions=2*v*bridge_sweeps + shifts=blocks_per_stream*v*replicas; moves=2*shifts + parent_live,parent_physical=parent['live'],parent['physical'] + data_stock=2*v*blocks_per_stream*replicas + assert (parent_live-data_stock)%stages==0 + parent_banks=(parent_live-data_stock)//stages + assert parent_banks>=0 and parent_physical==parent_live+parent_helpers+centres+2 + nonlocal_items=(4*v*replicas*stages+2*v*replicas*stages+2*call_count*helpers + +sum(child['replicas'] for child in parent['idle_children'])+stages*parent_banks + +bridge_additions+shifts+moves+parent_live+parent_physical+wrapper_factors) + outside=8*nonlocal_items+64*m + parent_pervertex=(scalar+bridge_additions+shifts+moves+parent_live + +(call_count*adapters+outside)*compiler+64*parent_physical) + live,physical=template['live'],template['physical'] + mass,profile=owners['rank_mass'],owners['paid_profile'] + assert m*live-mass==owners['deficit']==2560 + assert mass==sum(int(r)*count for r,count in profile.items()) + assert physical==live+helpers+centres+2 + assert live==owners['live'] and physical==owners['physical'] + assert live<=parent_live and physical<=parent_physical + assert not template['bank_padding']['families'] + assert owners['explicit_idle_remainder_children']<=owners['source_idle_children_charged'] + # The old dedicated-bank geometry is only a conservative reserve envelope. + # Its singular program is never used as evidence for a mixed invocation. + rebased=parent_pervertex+65*(physical-parent_physical)+(live-parent_live) + used=max(rebased,parent_pervertex); retained=None; payload=512 + if retained_invoice is not None: + previous=read(retained_invoice) + assert previous['compiler']==compiler and previous['charged_prefix_bits']==payload + previous_bound=previous['conservative_pervertex_used'] + used=max(used,previous_bound+parent_pervertex) + retained=dict(sha256=filehash(retained_invoice),previous_pervertex_allowance=previous_bound, + added_complete_new_pervertex=parent_pervertex,policy='Retain old allowance and add entire fresh mixed recount.') + half=m//2; group=2**(half*half) + for i in range(1,half+1): group*=2**(2*i)-1 + stock,streamed_mass=group*physical,group*mass + logical=group*used+64; router=compiler*(logical+1)*(stock+1)**2 + g_bound,e_bound,c0=2**30000,2**100000,2**210000 + total_mass=streamed_mass+e_bound + literal=2*g_bound*stock**2+8*streamed_mass+4*stock+4+32*m + row=2*stock.bit_length()+9909+252+2*payload + maxchild=max(map(int,profile)) + inequalities=dict(local_primitive_bound=primitive_bound<2**48, + logical=logical<2**6050,router=router2*maxchild*maxchild) + assert all(inequalities.values()) + localbits=max(r['prefix_bits'] for p in providers.values() for r in p['local'].values()) + input_l2_bits=(m+1)//2 + required_prefix=localbits+input_l2_bits+call_count+bridge_sweeps+4 + assert required_prefix R helper map +# (verify.py checks the spec value against the constructor's HELPER-MAP.json) +SPOT=tuple(SPEC.get('width_spot_helpers',(270,282,294,306))) +# A pivot swap moves a kernel family's pivot role p -> x; the old pivot p becomes an ordinary cold helper and its width +# goes 8 -> 9 (construction/layers, PR641 PROOF-NOTE-PIVOT). Expected spot widths are derived from the package's pinned +# pivot-swap recipe (path and sha256 in the spec), not from free data: 9 at a swapped-out pivot, 8 otherwise. +_PKG=Path(os.environ['WITNESS_SPEC']).resolve().parents[1] +def _old_pivots(): + ps=SPEC.get('pivot_swap') + if not ps:return frozenset() + raw=(_PKG/ps['recipe']).read_bytes();import hashlib + assert hashlib.sha256(raw).hexdigest()==ps['sha256'],'pivot-swap recipe pin' + return frozenset(s['pivot']for s in json.loads(raw)['swaps']) +OLD_PIVOTS=_old_pivots() +def spot_widths(v=112): + """Expected residual widths at the spot helpers (helper indices) of the gauge44 provider.""" + return tuple(9 if 2*v+h in OLD_PIVOTS else 8 for h in SPOT) +PIDS=tuple(sorted(set(DISPATCH.values()))) +COUNTS=dict(Counter(DISPATCH.values())) +assert DISCOVER or set(PROVIDERS)==set(PIDS),'spec providers differ from dispatch providers' +def lookup(key): + """Dotted spec path; a segment may itself contain dots when it names a file (split at most once per known file suffix).""" + v=SPEC;parts=key.split('.') + while parts: + for n in range(len(parts),0,-1): + k='.'.join(parts[:n]) + if isinstance(v,dict) and k in v:v=v[k];parts=parts[n:];break + else:raise KeyError('spec has no key %s'%key) + return v +def pin(key,got): + """Strict mode: got must equal the spec value at dotted key; the failure names the key.""" + if DISCOVER: + if os.environ.get('WITNESS_RECORD'): # discovery bookkeeping only: append (key, value) for the spec writer + with open(os.environ['WITNESS_RECORD'],'a')as f:f.write(json.dumps([key,got],default=str)+chr(10)) + return got + want=lookup(key) + assert got==want,'SPEC MISMATCH %s: expected %s got %s'%(key,json.dumps(want)[:400],json.dumps(got,default=str)[:400]) + return got +def partner(pid): + """A different provider for substitution controls (next in sorted order).""" + assert len(PIDS)>1 + return PIDS[(PIDS.index(pid)+1)%len(PIDS)] diff --git a/research/gauge44-leaver/construction/COLD44-RECIPE.json.gz b/research/gauge44-leaver/construction/COLD44-RECIPE.json.gz new file mode 100644 index 0000000000..6f59d88920 Binary files /dev/null and b/research/gauge44-leaver/construction/COLD44-RECIPE.json.gz differ diff --git a/research/gauge44-leaver/construction/COMPLETION-PRIORITY.json b/research/gauge44-leaver/construction/COMPLETION-PRIORITY.json new file mode 100644 index 0000000000..e0df30aeef --- /dev/null +++ b/research/gauge44-leaver/construction/COMPLETION-PRIORITY.json @@ -0,0 +1,746 @@ +{ + "0,1,2,3": { + "rows": [ + [ + "1", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0" + ] + ], + "registers": [ + 64, + 67 + ] + }, + "0,1,4,5": { + "rows": [ + [ + "1", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0" + ] + ], + "registers": [ + 32, + 35 + ] + }, + "0,1,6,7": { + "rows": [ + [ + "1", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0" + ] + ], + "registers": [ + 24, + 27 + ] + }, + "0,2,4,6": { + "rows": [ + [ + "1", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "1" + ], + [ + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2" + ] + ], + "registers": [ + 16, + 18, + 19, + 297, + 301, + 303 + ] + }, + "0,2,5,7": { + "rows": [ + [ + "1", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "1" + ], + [ + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2" + ] + ], + "registers": [ + 40, + 42, + 43, + 313, + 317, + 319 + ] + }, + "0,3,4,7": { + "rows": [ + [ + "1", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "1" + ], + [ + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2" + ] + ], + "registers": [ + 72, + 74, + 75, + 329, + 333, + 335 + ] + }, + "0,3,5,6": { + "rows": [ + [ + "1", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "1" + ], + [ + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2" + ] + ], + "registers": [ + 112, + 114, + 115, + 345, + 349, + 351 + ] + }, + "1,2,4,7": { + "rows": [ + [ + "1", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "1" + ], + [ + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2" + ] + ], + "registers": [ + 8, + 10, + 11, + 361, + 365, + 367 + ] + }, + "1,2,5,6": { + "rows": [ + [ + "1", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "1" + ], + [ + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2" + ] + ], + "registers": [ + 48, + 50, + 51, + 377, + 381, + 383 + ] + }, + "1,3,4,6": { + "rows": [ + [ + "1", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "1" + ], + [ + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2" + ] + ], + "registers": [ + 80, + 82, + 83, + 393, + 397, + 399 + ] + }, + "1,3,5,7": { + "rows": [ + [ + "1", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "1" + ], + [ + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2" + ] + ], + "registers": [ + 104, + 106, + 107, + 409, + 413, + 415 + ] + }, + "2,3,4,5": { + "rows": [ + [ + "1", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0" + ] + ], + "registers": [ + 96, + 99 + ] + }, + "2,3,6,7": { + "rows": [ + [ + "1", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0" + ] + ], + "registers": [ + 88, + 91 + ] + }, + "4,5,6,7": { + "rows": [ + [ + "1", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0" + ] + ], + "registers": [ + 56, + 59 + ] + } +} \ No newline at end of file diff --git a/research/gauge44-leaver/construction/INPUTS.json b/research/gauge44-leaver/construction/INPUTS.json new file mode 100644 index 0000000000..2b12294b58 --- /dev/null +++ b/research/gauge44-leaver/construction/INPUTS.json @@ -0,0 +1,65 @@ +{ + "schema": "gauge44-compact-construction-v1", + "repository": "https://github.com/CrocSwap/integer-mult-bounds", + "commits": { + "main": "17ce0c79b7b51c2634b439ea5a2b754f09909693", + "pr635": "a6895a69f8ad98ab45777b03e9e6f48888c39f6f" + }, + "files": { + "main": { + "research/complex-k492-owner-repair/vendor/direct_delivery/inputs/hamming/PACKET-PROGRAMS.json.gz": "d833ae0390d165d7da0c639a3c7aeb77156c2ddb52447087cb49b9d03b19e9b9", + "research/complex-k492-owner-repair/vendor/direct_delivery/inputs/hamming/PROTOTYPE.json": "327d2a868043e846381aa58a33053c24425e8cad522ff401b10ec8af1d649a3f", + "research/complex-k492-owner-repair/vendor/joint_prefix/code/build_joint_prefix.py": "d7804669e528b6fd8d80195a4a2e76efac9bc67440b82c73973f4bc9fe273783", + "research/complex-k492-owner-repair/vendor/joint_prefix/data/JOINT-PREFIX.json": "0fddbd3f482b72a5197eacd75abe192e1d92f83aa2cde33a76dbc7be1682bcf2", + "research/complex-k492-owner-repair/vendor/multicold/code/build_cold_kernel.py": "aa556a1988f7d4c52bd82fd2a648769f7094bd75ba79582c15ec441d710e213b", + "research/complex-k492-owner-repair/vendor/multicold/code/run_portable.py": "322d29d43dbee8130cde15d4bf05396698b5e3dfe3735813899db91cc0ba7955", + "research/complex-k492-owner-repair/vendor/multicold/data/EIGHT-COLD.json": "089617bdc33fd9f27b7fc8e9ae9e01c8e65a86a57c4b6f180f4f378f3f0e6160", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/code/phases_full.py": "a273c325ffd6793d5b63b79a289a9d2bbc9292e6940fb5a926924f3708627af4", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/vendor/clifford/clifford_exact.py": "2982ead07721e83358dc67c6f49c2b4c16a236a6bebdfd72f58221be1f5d0962", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/inputs/phase-baseline/CANONICAL-WORD.json.gz": "e070ae2c78b4a1b644b418774af62b40d8d16e6ba89602f0474afb557d507c37", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/gk/gk_common.py": "e68d190fd436b2f3955decb590adb53344d5d4ea0a19d62d86df1e4b55ecd198", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/gk/gk_word.py": "f027a9273bcf4e0971258c160b7d3b3c196366b32a529cff6e6a0e666b03826b", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/inputs/RAW504.json.gz": "1c6144791dbedf6427e3ee7b4c24fb05b5bf407f6346592f50f8dd8d9638108d", + "research/structural-gain/frontier-composition/global-replay/base/split-centres/FULL-WORD.json.gz": "375bd23001cd805707968005a9342827d5464e3f8e3a754197b31c46fc3f63c2", + "research/structural-gain/frontier-composition/multicold-eight-word/FULL-WORD.json.gz": "4d4a59db7f74d7505447fbb2aa87735771cca1d04a0afafa455d21bd8dbf1f77" + }, + "pr635": { + "research/complex-571-cold14-st2/code/build_cold_end.py": "864b4701dd73afd0c9d99761b7a749f3354c48985730f17054e18c052996a668", + "research/complex-571-cold14-st2/code/build_hpe.py": "ba2001695d8c7547a82260c3b016e01dac686e95a61757ca124eb9879078ea8e", + "research/complex-571-cold14-st2/code/build_port_stage.py": "beb0d30fde1b9a30db091880b38c4a8ec906da3f715c43de7db8bf7932526e72", + "research/complex-571-cold14-st2/code/hpe_adapters_local.py": "eb0b5c6c7161e18dc22168da3211448d321586edd15bcfb4b4741174d36993cf", + "research/complex-571-cold14-st2/code/hpe_audit_and_transport.py": "c9a05ff291016b870b4fc925b317abd9c3a604c73ffc8920dfdbbeb475e20aa3", + "research/complex-571-cold14-st2/code/hpe_audit_local.py": "6bd9a1e279c9c9e4f3767d9f82e537b559292906feb2ddab02f380fb6523a810", + "research/complex-571-cold14-st2/code/hpe_emit_local.py": "7e4a6fbc38c8228157b6311457d1496bf460291393043932d2c365f004f77805", + "research/complex-571-cold14-st2/data/TRI-SCHEDULE.json": "94da9d5575f5b237097a77ac7dd09aff594322dd9c35138bfd34ffc5e1a7a51e", + "research/complex-571-cold14-st2/data/recipes/k492-jp8-frame_regroup.json": "9bd347334de643f29865290be1ed37289f9cae6cd339547ac89b45fa7aaee65a", + "research/complex-571-cold14-st2/data/recipes/k492-jp8-hyperplane_end.json": "e4d4dfd83d0c64cb0a8ee8c8bbd95d0510ee68699859e568fe201cd6f8d250c1" + }, + "delta": { + "COLD44-RECIPE.json.gz": "22d0e01e990c0f1c588607a095271f7844851a437ba07174505e98e9528aed4c", + "COMPLETION-PRIORITY.json": "0274ffca1725e7460aaf7b672bc1248aa6dfdec11e5f0fec91af18b829f8ba47", + "build_gauge_cold44.py": "ec730a4d3ff12fb058780718b1d5a7afe61243c532679ef347a5a48e2af0a3bb", + "construct_gauge_xcentre.py": "d8d295566ef2399af2da0707a4adc83e07aa26d2344c01a66bd0ca7684cf9217", + "reproduce.py": "047bb9b3536b0b16bb08a21cd9fd80404ca9d022345f1aeab34b21dffc281c92" + } + }, + "word_content_sha256": { + "shadow-early": "edb55811a9d38802c311c74bdd2d4d1b2f3eaf37d06e4178eef0785c2fa4b57d", + "shadow-prefix": "6c361b33967bb62d878b3acef44a4ac2c70970e99f36a11906b03811495de533", + "raw": "0ac47f92fc2e3f5aa457d78f7b8a5c785bf140c546932b9dfcd9e610ad319180", + "port0": "7086d4309f145f0bf85b97f567e2cbeeaca9fc5011f62c86c805bfadeb0300fc", + "port1": "8f47545698a11072f8c6a0b50ae9c8acf8e4e2b0e35a0e8c672bbca216b04534", + "port2": "4e4919c140e07f6c820bea4aae83565b3b4967ffbfbb907611216ff6e2e6105d", + "port3": "9774dca3e4295e2eb9171a9cf34e1973bc72bad38eddec2cc0fc498bd9e041f3", + "regroup": "989082402d2292a18328e86927c0a12d34fcab18ef4ff724bd1ce691cf4e7531", + "hpe": "42fb8b3aa314593fe976820cf65824f5fce0ee4f95281796992d4809709864cc", + "cold44": "78c7aadacb6eec2eeecc124ca236e5bcfdba6a52b30c2971aaa596d1d119b290" + }, + "helper_map_sha256": "688d5115b221be68c96970822cc04ff698e2a84432fa7db9cb59057f6fe55def", + "canonical_content_sha256": "e6daee410e04d5e023faf21144081534ad222d334ce786e6b5f52407e6b3c41f", + "local_program_sha256": { + "forward": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "backward": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4" + }, + "clifford_recipes_sha256": "0a60293f43d88dbb1b321f02e61204afe1b6272b1346968ef35705caea1e4771" +} diff --git a/research/gauge44-leaver/construction/LICENSE b/research/gauge44-leaver/construction/LICENSE new file mode 100644 index 0000000000..261eeb9e9f --- /dev/null +++ b/research/gauge44-leaver/construction/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/research/gauge44-leaver/construction/NOTICE.md b/research/gauge44-leaver/construction/NOTICE.md new file mode 100644 index 0000000000..16b0507070 --- /dev/null +++ b/research/gauge44-leaver/construction/NOTICE.md @@ -0,0 +1,9 @@ +# Construction delta notice + +Prepared for icekylinx with OpenAI GPT-6 Astra assistance. Apache-2.0. + +`construct_gauge_xcentre.py` modifies PR635's credited `construct_k_triangle.py`, which in turn extends icekylinx's PR531/PR514/PR425 factory lineage. Its original source comments are retained. The K-triangle schedule and the upstream porting, JP8 frame, kernel and HPE procedures are reused from the pinned source checkouts and are not new contributions of this delta. + +The new source-copy exchanges, complementary factory basis, carrier assignment, exact cold44 constructor and compact reproduction driver are described in `../CONSTRUCTION.md`. + +`UPSTREAM-NOTICE.md` is the complete unmodified notice from the pinned PR635 package. `LICENSE` is that package's Apache-2.0 license. All further notices and source credits of the referenced upstream packages remain applicable and are retained in the source checkouts rather than vendored again here. diff --git a/research/gauge44-leaver/construction/REBUILD-CHECKS.json b/research/gauge44-leaver/construction/REBUILD-CHECKS.json new file mode 100644 index 0000000000..0801f35da7 --- /dev/null +++ b/research/gauge44-leaver/construction/REBUILD-CHECKS.json @@ -0,0 +1,51 @@ +{ + "status": "PASS_COMPACT_SCALAR_REPRODUCTION_AND_FROZEN_RECIPE_SPLICE", + "steps": [ + { + "step": "shadow-early", + "exit_code": 0, + "seconds": 0.355 + }, + { + "step": "shadow-prefix", + "exit_code": 0, + "seconds": 0.511 + }, + { + "step": "gauge-forward", + "exit_code": 0, + "seconds": 0.527 + }, + { + "step": "port0", + "exit_code": 0, + "seconds": 0.468 + }, + { + "step": "port1", + "exit_code": 0, + "seconds": 0.636 + }, + { + "step": "port2", + "exit_code": 0, + "seconds": 0.474 + }, + { + "step": "port3", + "exit_code": 0, + "seconds": 0.497 + }, + { + "step": "cold44-exact", + "exit_code": 0, + "seconds": 2.754 + } + ], + "constructor_seconds": 6.222, + "word_content_sha256": "78c7aadacb6eec2eeecc124ca236e5bcfdba6a52b30c2971aaa596d1d119b290", + "all_step_input_and_output_pins_checked": true, + "regenerated_recipe_equals_frozen_recipe": true, + "frozen_splice_matches_exact_constructor": true, + "scope": "One portable scalar reconstruction from pinned main and PR635 inputs; existing native and independent mathematical receipts accompany the package separately." +} diff --git a/research/gauge44-leaver/construction/UPSTREAM-NOTICE.md b/research/gauge44-leaver/construction/UPSTREAM-NOTICE.md new file mode 100644 index 0000000000..ebc24a0168 --- /dev/null +++ b/research/gauge44-leaver/construction/UPSTREAM-NOTICE.md @@ -0,0 +1,34 @@ +# Attribution and scope + +Four verified provider types are offered to every call: PR571's prefix word with twelve multi-cut cold kernels (PR568's unchanged constructor), the same word with forty width-five entrance promotions (PR569's unchanged frame constructor) before those kernels, PR575's plain joint-prefix provider, and PR568's eight-cold provider. A window MILP with an exact per-pattern model chooses the dispatch and a literal owner map. PR583's six source-bound kernel frame coalescences (its unchanged constructor and negative controls) are applied to every PR571-prefix provider word (ck and atm3), followed by two further coalescences that each first move one addition past two commuting additions (package code/build_gate_moves.py, extending PR583's constructor); a final hyperplane_end step (package code/build_hpe.py) then runs 46 single-gate cleanups h -= p right after part B at the dim-8 join U of their registers, so 46 width-8 entering helpers per call end at U with width 7; each such gate commutes with every earlier cleanup gate on its registers (for 8 of them the partner's one earlier gate x -= p only reads p), and the reordered program is replayed exactly. A window MILP (exact windows, RINS around an LP vertex) gives the dispatch ck 45 / atm3 21 / jp8 6 and the literal owner map. + +Pinned external sources (unchanged; `verify.py` checks their manifests and every file it uses): +- PR568 (`research/complex-multicold`, commit `71c99ac935a33bb7b59a1b4a7af8725a939b0b90`). +- PR571 (`research/structural-gain`, commit `b7bdc5a8de18fcf418cfb9c7d83a2b1097a5e4a3`). +- PR569 (`research/larger-gain`, commit `897213a855b7fb8a1b8b0e552a2f5c42e6c1b326`). +- PR575 (`research/complex-joint-prefix`, commit `eac6f7e378ab622dac50a2fd4b7ef6eab014de44`). +- PR583 (`research/kernel-frame-coalescing`, commit `89be768f0157f5a3d8e4db69cf1748768605eac9`). + +Provider construction is described as typed steps in `data/SPEC.json` (`build`); `verify.py` runs only allowlisted step types with their paired omission audits and checks every input and output content hash. `code/` holds the spec-driven global admission scripts adapted from PR571's `frontier-composition/global-code/` (OpenAI Codex assisted, Apache-2.0): every expected value is read from `data/SPEC.json` and compared only after independent recomputation. `code/generated_identity.py` and `code/generated_identity_controls.py`, and the decompressed-content artifact identities in the bind, audit, invoice, assembly and phase-timing scripts, are taken unchanged from PR586 by chafreaky (`research/promoted-kernel-coalescing`, commit `4846fee5b06af770e9b3a10c36200f673d656725`, OpenAI Codex assisted, Apache-2.0), including its proof-content and reference/metadata mutation controls; the normalization of descriptive width metadata after frame changes follows the same PR. + +In PR601, the owner map was nominated by a HiGHS window MILP (adapted from PR569's `global/nominate_width7.py`) with lazy cross-time Hall cuts; this package's re-solved map is described below. Neither is an admission dependency. + +DreamingOfClouds with Claude Opus 5.5 (Anthropic), via Claude Code. (The PR601 package this one starts from states: "Prepared by Claude Code (Anthropic) research agents.") Apache-2.0 applies; LICENSE is included. All notices, licenses, source pins and AI disclosures of the pinned sources and their ancestry are retained in those packages and are not replaced by this notice. All inherited conditional assumptions remain conditional. + +**This package (complex-571-cold14, DreamingOfClouds).** It starts from PR601 (jeremykothe2, `research/complex-571-hpem46`, commit `529ab7dcb59d5ea7a5798e9e06cf5b3aee8a1550`). Everything above is kept unchanged except the following: +- every provider chain (ck, atm3, jp8) gains the typed step `cold_end` (`code/build_cold_end.py`, `code/cold_end_controls.py`; recipes `data/recipes/*-cold_end.json.gz`); +- the generalised native chain and the global admission scripts accept cold helpers that end below FULL (with `0:U` wrappers), a refactored exact cleanup, and check the wrapper order; +- `data/PLAN.json` / `data/OWNERS.json.gz` (dispatch and literal owner map) come from a relocate/swap/ejection-chain/provider-flip annealing search started from PR601's map, refined by an exact pattern-restricted owner model (CP-SAT) with a literal edge-colouring expansion (not an admission dependency); +- `data/SPEC.json` holds the expected values, recorded by a discovery run and then checked by a strict run. + +The cold-end construction (a row-plus-column cone condition for low-frame ends, a rank-0 dirt-spread premix and multi-gate lower-frame cleanup) builds on PR591 / PR592 / PR593 / PR601 (jeremykothe2) and our PR599 (Lean: multi-gate and cold hyperplane-end tails). DreamingOfClouds with Claude Opus 5.5 (Anthropic), via Claude Code. Build on this at your own risk. + +**This package (complex-571-cold14-b3, jeremykothe2).** It is PR604's `complex-571-cold14` (DreamingOfClouds) with ColdBeyond's second cold end per block (two new `cold_end` A-gate primitives, `PROOF-NOTE.md`), ColdSupply's E1 entering pair and reviewed controls, a free dispatch (jp8 ×60, atm3 ×12) and a literal owner map from an exact per-time-Hall window MIP. All other construction, code, controls and proofs are PR604's and earlier contributors', unchanged. + +**This package (complex-571-cold14-k492).** It is complex-571-cold14-b3 with these changes: +- **K-triangle base words.** The leaver-read K-triangle skeleton atom and its read schedule (`data/TRI-SCHEDULE.json`) are by AtomScout, a Claude Code research agent. `code/construct_k_triangle.py` is PR531's `code/construct_504.py` (icekylinx, OpenAI Codex / GPT assisted, Apache-2.0; pinned source `direct_delivery`) extended with that atom. +- **Ported chains.** The PR604/B3 chains are ported stage by stage onto the K-triangle words by `code/build_port_stage.py` (Port480, a Claude Code research agent). `code/build_frame_regroup.py` extends PR583's `build_frames.py` (chafreaky). +- **Helper count R.** The generalisation of the global scripts to the provider helper count R is by GlobalR (a Claude Code research agent), with AtomReviewer's fixes (PROOF-NOTE-R.md). +- **Owner map.** The owner map, the cold_end recipes on the K-triangle words and the package assembly are by Stack492, Port480 and ColdBeyond (Claude Code research agents). + +Build on this at your own risk. diff --git a/research/gauge44-leaver/construction/barch/LOCAL-PINS-barch-U8.json b/research/gauge44-leaver/construction/barch/LOCAL-PINS-barch-U8.json new file mode 100644 index 0000000000..4028b95c0e --- /dev/null +++ b/research/gauge44-leaver/construction/barch/LOCAL-PINS-barch-U8.json @@ -0,0 +1,50 @@ +{ + "word": "U8", + "barch_controls": [ + "C0_identity", + "recipe", + "drop_restore", + "restore_full", + "drop_preread", + "donation_after", + "drop_restore@231", + "restore_full@231", + "drop_preread@231", + "donation_after@231", + "drop_restore@230", + "restore_full@230", + "drop_preread@230", + "donation_after@230", + "drop_restore@232", + "restore_full@232", + "drop_preread@232", + "donation_after@232", + "drop_restore@236", + "restore_full@236", + "drop_preread@236", + "donation_after@236", + "drop_restore@226", + "restore_full@226", + "drop_preread@226", + "donation_after@226", + "drop_restore@228", + "restore_full@228", + "drop_preread@228", + "donation_after@228", + "drop_restore@62", + "restore_full@62", + "drop_preread@62", + "donation_after@62", + "drop_restore@238", + "restore_full@238", + "drop_preread@238", + "donation_after@238" + ], + "layer_controls": 95, + "canonical_sha256": "24db880b7dab31e6af4eec8a1aba1bbbae29cd50d9a7b77cf0e9b571b3e5ae7c", + "program_sha256": { + "forward": "83d65a63f51bd1ce7f3dd4e4d3597311e065b4775796cd87aea3e3a62689047c", + "backward": "e4e483b764e9a85f84a04425e57d73ecdcc72eb2e4d97a64f17d9da58fa5ace0" + }, + "clifford_recipes_sha256": "4629507dcbdd516457c001ff8f9dbe750d1a0cbfa5cfa3c6be003d45804ba0c5" +} diff --git a/research/gauge44-leaver/construction/barch/RECIPE-U8.json b/research/gauge44-leaver/construction/barch/RECIPE-U8.json new file mode 100644 index 0000000000..ee215a805a --- /dev/null +++ b/research/gauge44-leaver/construction/barch/RECIPE-U8.json @@ -0,0 +1,1528 @@ +{ + "base_sha256": "1e1d99ba7aab877d6b573c41f7030ee73de9a52fee51d0a822ddaae71251999f", + "B_delete": [ + 5, + 7, + 9, + 11, + 13, + 15, + 17, + 19, + 878, + 880, + 886, + 888, + 894, + 896, + 902, + 904, + 910, + 912, + 918, + 920, + 926, + 928, + 934, + 936, + 1215, + 1217, + 1223, + 1225, + 1231, + 1233, + 1239, + 1241, + 1247, + 1249, + 1255, + 1257, + 1263, + 1265, + 1271, + 1273 + ], + "B_insert": [ + [ + 5, + [ + "add", + 125, + 450, + 1, + 2, + [ + 24 + ] + ] + ], + [ + 7, + [ + "add", + 121, + 451, + 1, + 2, + [ + 24 + ] + ] + ], + [ + 9, + [ + "add", + 181, + 452, + 1, + 2, + [ + 30 + ] + ] + ], + [ + 11, + [ + "add", + 177, + 453, + 1, + 2, + [ + 30 + ] + ] + ], + [ + 13, + [ + "add", + 117, + 454, + -1, + 1, + [ + 30 + ] + ] + ], + [ + 15, + [ + "add", + 113, + 455, + -1, + 1, + [ + 30 + ] + ] + ], + [ + 17, + [ + "add", + 189, + 456, + -1, + 1, + [ + 24 + ] + ] + ], + [ + 19, + [ + "add", + 185, + 457, + -1, + 1, + [ + 24 + ] + ] + ], + [ + 676, + [ + "add", + 484, + 231, + 1, + 1, + [ + 386, + 64, + 34, + 24, + 4, + 1 + ] + ] + ], + [ + 677, + [ + "add", + 485, + 226, + 1, + 1, + [ + 388, + 68, + 32, + 24, + 2, + 1 + ] + ] + ], + [ + 693, + [ + "add", + 496, + 450, + 1, + 1, + [ + 260, + 132, + 70, + 38, + 24, + 1 + ] + ] + ], + [ + 694, + [ + "add", + 497, + 451, + 1, + 1, + [ + 260, + 132, + 64, + 32, + 24, + 1 + ] + ] + ], + [ + 711, + [ + "add", + 508, + 230, + 1, + 1, + [ + 390, + 70, + 38, + 20, + 10, + 1 + ] + ] + ], + [ + 712, + [ + "add", + 509, + 228, + 1, + 1, + [ + 390, + 64, + 32, + 20, + 10, + 1 + ] + ] + ], + [ + 729, + [ + "add", + 520, + 452, + 1, + 1, + [ + 268, + 140, + 64, + 38, + 30, + 1 + ] + ] + ], + [ + 730, + [ + "add", + 521, + 453, + 1, + 1, + [ + 266, + 138, + 70, + 32, + 30, + 1 + ] + ] + ], + [ + 747, + [ + "add", + 532, + 232, + -2, + 1, + [ + 385, + 64, + 33, + 18, + 11, + 7 + ] + ] + ], + [ + 748, + [ + "add", + 533, + 62, + -2, + 1, + [ + 385, + 65, + 32, + 19, + 10, + 7 + ] + ] + ], + [ + 763, + [ + "add", + 544, + 454, + -2, + 1, + [ + 267, + 139, + 65, + 33, + 25, + 7 + ] + ] + ], + [ + 764, + [ + "add", + 545, + 455, + -2, + 1, + [ + 267, + 139, + 64, + 32, + 25, + 7 + ] + ] + ], + [ + 779, + [ + "add", + 556, + 236, + -2, + 1, + [ + 385, + 65, + 33, + 24, + 4, + 3 + ] + ] + ], + [ + 780, + [ + "add", + 557, + 238, + -2, + 1, + [ + 385, + 64, + 32, + 24, + 4, + 3 + ] + ] + ], + [ + 795, + [ + "add", + 568, + 456, + -2, + 1, + [ + 258, + 130, + 64, + 33, + 24, + 7 + ] + ] + ], + [ + 796, + [ + "add", + 569, + 457, + -2, + 1, + [ + 259, + 131, + 65, + 32, + 24, + 7 + ] + ] + ], + [ + 1215, + [ + "add", + 125, + 450, + -1, + 2, + [ + 256, + 128, + 66, + 34, + 24, + 4, + 1 + ] + ] + ], + [ + 1217, + [ + "add", + 121, + 451, + -1, + 2, + [ + 260, + 132, + 64, + 32, + 24, + 2, + 1 + ] + ] + ], + [ + 1223, + [ + "add", + 149, + 231, + -1, + 2, + [ + 258, + 128, + 64, + 34, + 24, + 4, + 1 + ] + ] + ], + [ + 1225, + [ + "add", + 145, + 226, + -1, + 2, + [ + 256, + 132, + 68, + 32, + 24, + 2, + 1 + ] + ] + ], + [ + 1231, + [ + "add", + 181, + 452, + -1, + 2, + [ + 262, + 134, + 64, + 38, + 20, + 10, + 1 + ] + ] + ], + [ + 1233, + [ + "add", + 177, + 453, + -1, + 2, + [ + 256, + 128, + 70, + 32, + 20, + 10, + 1 + ] + ] + ], + [ + 1239, + [ + "add", + 221, + 230, + -1, + 2, + [ + 256, + 134, + 70, + 38, + 20, + 10, + 1 + ] + ] + ], + [ + 1241, + [ + "add", + 217, + 228, + -1, + 2, + [ + 262, + 128, + 64, + 32, + 20, + 10, + 1 + ] + ] + ], + [ + 1247, + [ + "add", + 117, + 454, + 1, + 1, + [ + 256, + 128, + 65, + 33, + 18, + 11, + 7 + ] + ] + ], + [ + 1249, + [ + "add", + 113, + 455, + 1, + 1, + [ + 257, + 129, + 64, + 32, + 19, + 10, + 7 + ] + ] + ], + [ + 1255, + [ + "add", + 157, + 232, + 1, + 1, + [ + 257, + 128, + 64, + 33, + 18, + 11, + 7 + ] + ] + ], + [ + 1257, + [ + "add", + 153, + 62, + 1, + 1, + [ + 256, + 129, + 65, + 32, + 19, + 10, + 7 + ] + ] + ], + [ + 1263, + [ + "add", + 189, + 456, + 1, + 1, + [ + 257, + 129, + 64, + 33, + 24, + 4, + 3 + ] + ] + ], + [ + 1265, + [ + "add", + 185, + 457, + 1, + 1, + [ + 256, + 128, + 65, + 32, + 24, + 4, + 3 + ] + ] + ], + [ + 1271, + [ + "add", + 213, + 236, + 1, + 1, + [ + 256, + 129, + 65, + 33, + 24, + 4, + 3 + ] + ] + ], + [ + 1273, + [ + "add", + 209, + 238, + 1, + 1, + [ + 257, + 128, + 64, + 32, + 24, + 4, + 3 + ] + ] + ] + ], + "B_frames": { + "1340": [ + 256, + 128, + 66, + 34, + 24, + 4, + 1 + ], + "1343": [ + 256, + 128, + 64, + 32, + 24, + 4, + 1 + ], + "1346": [ + 260, + 132, + 68, + 36, + 24, + 2, + 1 + ], + "1349": [ + 260, + 132, + 64, + 32, + 24, + 2, + 1 + ], + "1352": [ + 258, + 128, + 64, + 34, + 24, + 4, + 1 + ], + "1355": [ + 260, + 128, + 68, + 32, + 24, + 2, + 1 + ], + "1358": [ + 256, + 130, + 64, + 34, + 24, + 4, + 1 + ], + "1361": [ + 256, + 132, + 68, + 32, + 24, + 2, + 1 + ], + "1364": [ + 262, + 134, + 64, + 38, + 20, + 10, + 1 + ], + "1367": [ + 262, + 134, + 70, + 32, + 18, + 12, + 1 + ], + "1370": [ + 256, + 128, + 64, + 38, + 18, + 12, + 1 + ], + "1373": [ + 256, + 128, + 70, + 32, + 20, + 10, + 1 + ], + "1376": [ + 256, + 134, + 70, + 38, + 20, + 10, + 1 + ], + "1379": [ + 256, + 134, + 64, + 32, + 20, + 10, + 1 + ], + "1382": [ + 262, + 128, + 70, + 38, + 20, + 10, + 1 + ], + "1385": [ + 262, + 128, + 64, + 32, + 20, + 10, + 1 + ], + "1388": [ + 256, + 128, + 65, + 33, + 18, + 11, + 7 + ], + "1391": [ + 256, + 128, + 64, + 32, + 18, + 11, + 7 + ], + "1394": [ + 257, + 129, + 65, + 33, + 19, + 10, + 7 + ], + "1397": [ + 257, + 129, + 64, + 32, + 19, + 10, + 7 + ], + "1400": [ + 257, + 128, + 64, + 33, + 18, + 11, + 7 + ], + "1403": [ + 257, + 128, + 65, + 32, + 19, + 10, + 7 + ], + "1406": [ + 256, + 129, + 64, + 33, + 18, + 11, + 7 + ], + "1409": [ + 256, + 129, + 65, + 32, + 19, + 10, + 7 + ], + "1412": [ + 257, + 129, + 64, + 33, + 24, + 4, + 3 + ], + "1415": [ + 257, + 129, + 65, + 32, + 24, + 5, + 2 + ], + "1418": [ + 256, + 128, + 64, + 33, + 24, + 5, + 2 + ], + "1421": [ + 256, + 128, + 65, + 32, + 24, + 4, + 3 + ], + "1424": [ + 256, + 129, + 65, + 33, + 24, + 4, + 3 + ], + "1427": [ + 256, + 129, + 64, + 32, + 24, + 4, + 3 + ], + "1430": [ + 257, + 128, + 65, + 33, + 24, + 4, + 3 + ], + "1433": [ + 257, + 128, + 64, + 32, + 24, + 4, + 3 + ] + }, + "tail_insert": [ + [ + 7, + [ + "add", + 496, + 450, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + ] + ], + [ + 6, + [ + "add", + 497, + 451, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + ] + ], + [ + 5, + [ + "add", + 520, + 452, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ] + ], + [ + 4, + [ + "add", + 521, + 453, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ] + ], + [ + 3, + [ + "add", + 544, + 454, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ] + ], + [ + 2, + [ + "add", + 545, + 455, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ] + ], + [ + 1, + [ + "add", + 568, + 456, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + ] + ], + [ + 0, + [ + "add", + 569, + 457, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + ] + ] + ], + "cleanup_prepend": [ + [ + "add", + 484, + 231, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 485, + 226, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 508, + 230, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 509, + 228, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 532, + 232, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 533, + 62, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 556, + 236, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 557, + 238, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ] + ], + "local_profile": { + "1": 2548, + "2": 338, + "3": 446, + "4": 162, + "5": 72, + "8": 8 + }, + "expect_sha256": "090fd574747fbf9628e70cb9beb792732914cfa52e1df147579fe4dbccc68c5a", + "priced": { + "dk_ideal": 3.140480230774418e-07, + "dP": { + "5": 16, + "4": -32, + "3": 16 + } + }, + "variants": [ + { + "X": 231, + "E": 450, + "dsides": [ + 878, + 886 + ], + "donors": [ + 450, + 231 + ], + "hold": [ + 496, + 484 + ], + "kept": { + "1215": 450, + "1223": 231 + }, + "when": "mid" + }, + { + "X": 230, + "E": 452, + "dsides": [ + 894, + 902 + ], + "donors": [ + 452, + 230 + ], + "hold": [ + 520, + 508 + ], + "kept": { + "1231": 452, + "1239": 230 + }, + "when": "mid" + }, + { + "X": 232, + "E": 454, + "dsides": [ + 910, + 918 + ], + "donors": [ + 454, + 232 + ], + "hold": [ + 544, + 532 + ], + "kept": { + "1247": 454, + "1255": 232 + }, + "when": "mid" + }, + { + "X": 236, + "E": 456, + "dsides": [ + 926, + 934 + ], + "donors": [ + 456, + 236 + ], + "hold": [ + 568, + 556 + ], + "kept": { + "1263": 456, + "1271": 236 + }, + "when": "mid" + }, + { + "X": 226, + "E": 451, + "dsides": [ + 880, + 888 + ], + "donors": [ + 451, + 226 + ], + "hold": [ + 497, + 485 + ], + "kept": { + "1217": 451, + "1225": 226 + }, + "when": "mid" + }, + { + "X": 228, + "E": 453, + "dsides": [ + 896, + 904 + ], + "donors": [ + 453, + 228 + ], + "hold": [ + 521, + 509 + ], + "kept": { + "1233": 453, + "1241": 228 + }, + "when": "mid" + }, + { + "X": 62, + "E": 455, + "dsides": [ + 912, + 920 + ], + "donors": [ + 455, + 62 + ], + "hold": [ + 545, + 533 + ], + "kept": { + "1249": 455, + "1257": 62 + }, + "when": "mid" + }, + { + "X": 238, + "E": 457, + "dsides": [ + 928, + 936 + ], + "donors": [ + 457, + 238 + ], + "hold": [ + 569, + 557 + ], + "kept": { + "1265": 457, + "1273": 238 + }, + "when": "mid" + } + ] +} \ No newline at end of file diff --git a/research/gauge44-leaver/construction/barch/build_tri.py b/research/gauge44-leaver/construction/barch/build_tri.py new file mode 100644 index 0000000000..11c4371114 --- /dev/null +++ b/research/gauge44-leaver/construction/barch/build_tri.py @@ -0,0 +1,87 @@ +#!/usr/bin/env python3 +"""build_tri.py BASE_WORD RECIPE OUT_WORD [--control NAME] + +Standard library only. Applies a NewBArch triangle-hybrid recipe to the X4 word (1e1d99ba) and writes a FULL-WORD.json.gz. +Recipe keys (all indices refer to the BASE word): + base_sha256 sha256 of the decompressed base JSON (checked) + B_delete list of B indices removed + B_insert list of [pos, gate]: gate (with frame) inserted before base B gate pos (list order kept) + B_frames {index: frame}: explicit re-chosen frame of a kept base B gate + tail_insert list of [early_index, gate]: gates appended to cleanup in list order, then registered as early cleanup at early_index (ascending) + cleanup_prepend list of gates prepended to the full cleanup (early indices are shifted) + local_profile report.local_profile of the result + expect_sha256 sha256 of the decompressed result (checked unless a control is requested) +Controls (each must be REJECTED by audit_local; see controls.json): + drop_restore omit cleanup_prepend (end value of the holder not restored) + restore_full move tail_insert gates into the full cleanup (FULL frame) instead of early cleanup + drop_preread omit the inserted entrance pre-reads (inserted target += E gates at pos < first donation) + donation_after insert each donation after its reading target's read instead of before it + NAME@X the same control restricted to the instance whose packet register is X (recipe 'variants') +""" +import sys, json, gzip, hashlib, copy + +FULL = [256, 128, 64, 32, 16, 8, 4, 2, 1] + +def load(p): + raw = gzip.decompress(open(p, 'rb').read()); return json.loads(raw), hashlib.sha256(raw).hexdigest() + +def apply(w, rc, control=None): + w = copy.deepcopy(w); B = w['B'] + S = None + if control and '@' in control: # per-instance control: name@X mutates only instance X's gates + control, x = control.split('@'); x = int(x) + vv = [s for s in rc['variants'] if s['X'] == x][0]; S = {vv['X'], vv['E'], *vv['hold']} + sel = lambda g: S is None or bool({g[1], g[2]} & S) + dele = set(rc['B_delete']); fr = {int(k): f for k, f in rc['B_frames'].items()} + ins = [list(x) for x in rc['B_insert']] + don = [x for x in ins if not (112 <= x[1][1] < 224)] # donations: destination is not a target + first_don = min(p for p, _ in don) if don else 0 + if control == 'drop_preread': + ins = [x for x in ins if not (x[0] < first_don and 112 <= x[1][1] < 224 and sel(x[1]))] + if control == 'donation_after': + new = [] + for p, g in ins: + if g in [d[1] for d in don] and sel(g): + rd = [i for i, e in enumerate(B) if i >= p and e[0] == 'add' and e[2] == g[1] and 112 <= e[1] < 224] + p = rd[0] + 1 + new.append([p, g]) + ins = new + at = {} + for p, g in ins: at.setdefault(p, []).append(list(g)) + out = [] + for i, e in enumerate(B): + out.extend(at.get(i, [])) + if i in dele: continue + e = list(e) + if i in fr: e = e[:-1] + [list(fr[i])] + out.append(e) + out.extend(at.get(len(B), [])) + w['B'] = out + pre = [list(g) for g in rc['cleanup_prepend'] if not (control == 'drop_restore' and sel(g))] + tails = [list(x) for x in rc['tail_insert']] + if control == 'restore_full': + pre = pre + [g[1][:-1] + [FULL] for g in tails if sel(g[1])]; tails = [g for g in tails if not sel(g[1])] + C = pre + w['cleanup']; sh = len(pre) + early = [[i + sh, U] for i, U in w['early_cleanup']] + idx = [] + for j, g in tails: C.append(list(g)); idx.append((j, len(C) - 1, list(g[-1]))) # appended in recipe order + for j, ci, U in sorted(idx): early.insert(j, [ci, U]) # then registered at their early index + w['cleanup'] = C; w['early_cleanup'] = early + w['report'] = dict(w['report']); w['report']['local_profile'] = rc['local_profile'] + return w + +def main(): + a = sys.argv[1:]; control = None + if '--control' in a: k = a.index('--control'); control = a[k + 1]; del a[k:k + 2] + base, out = a[0], a[2] + w, sha = load(base); rc = json.load(open(a[1])) + if sha != rc['base_sha256']: raise SystemExit('base sha mismatch ' + sha) + w2 = apply(w, rc, control) + raw = json.dumps(w2, separators=(',', ':')).encode() + open(out, 'wb').write(gzip.compress(raw, mtime=0)) + s = hashlib.sha256(raw).hexdigest() + if control is None and s != rc['expect_sha256']: raise SystemExit('result sha mismatch ' + s) + print(json.dumps(dict(control=control, sha256=s))) + +if __name__ == '__main__': + main() diff --git a/research/gauge44-leaver/construction/barch/reproduce_barch.py b/research/gauge44-leaver/construction/barch/reproduce_barch.py new file mode 100644 index 0000000000..22f15b491d --- /dev/null +++ b/research/gauge44-leaver/construction/barch/reproduce_barch.py @@ -0,0 +1,92 @@ +#!/usr/bin/env python3 +"""Rebuild the B0 word (NewBArch's width-neutral triangle-hybrid B-delivery rewrite on X4) and its native locals. + +Input: a fresh `construction/jx/reproduce_jx.py` output directory; its X4 word (1e1d99ba...) is pinned there and by +RECIPE-B0.json (base_sha256). Steps, each checked exactly: + 1. barch: build_tri.py (standard library only; NewBArch) applies the recipe's explicit B deletes and inserts (with frames), + re-chosen B frames, early-cleanup tails and FULL-cleanup restores; it checks the base and result shas (d9ba0942...). + 2. barch-controls: run_controls.py rebuilds C0 (identity, must reproduce the input), the recipe word (must PASS #645's + independent audit_local.py) and four mutants (drop_restore, restore_full, drop_preread, donation_after), globally + and for each recipe variant (NAME@X); each mutant must FAIL audit_local with its pinned message. Every outcome is + required and the control set is pinned (LOCAL-PINS). + 3. layer-end-controls: ../layers_p6n/layer_end_controls.py (per-end variant) on the B0 word; count pinned. + 4. native, ledgers, local-replay, wrappers, phases: PR635's native local programs; canonical word, local programs and + Clifford recipes pinned (LOCAL-PINS-barch-.json). +Apache-2.0. Driver by ColdWitness around NewBArch's builder and controls. +""" +import argparse, gzip, hashlib, json, os, subprocess, sys, time +from pathlib import Path + +HERE = Path(__file__).resolve().parent +PKG = HERE.parents[1] +P6 = HERE.parent / 'layers_p6n' +MUTANTS = ('drop_restore', 'restore_full', 'drop_preread', 'donation_after') + + +def read(p): + raw = Path(p).read_bytes() + return json.loads(gzip.decompress(raw) if str(p).endswith('.gz') else raw) + + +def main(): + assert __debug__, 'Assertions are required' + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--main', type=Path, required=True) + ap.add_argument('--pr635', type=Path, required=True) + ap.add_argument('--jx-dir', type=Path, required=True, help='construction/jx/reproduce_jx.py output') + ap.add_argument('--recipe', default='U8', help='RECIPE-.json and LOCAL-PINS-barch-.json') + ap.add_argument('--out', type=Path, required=True) + ap.add_argument('--skip-phases', action='store_true') + a = ap.parse_args() + out = a.out.resolve(); assert not out.exists(); out.mkdir(parents=True) + up = a.pr635.resolve() / 'research/complex-571-cold14-st2' + src = a.main.resolve() / 'research/complex-k492-owner-repair/vendor/multicold' + base = src / 'vendor/pr558'; parent = base / 'vendor/pr552' + rfile = HERE / ('RECIPE-%s.json' % a.recipe); rec = read(rfile); pins = read(HERE / ('LOCAL-PINS-barch-%s.json' % a.recipe)) + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONUTF8='1', PYTHONINTMAXSTRDIGITS='0', + MULTICOLD_SOURCE=str(src), GAIN_PR564_SOURCE=str(src)) + for k in ('PYTHONOPTIMIZE', 'XPARAM', 'EXTRAH', 'PAIRING_RANKS', 'DIAG', 'HYBBUDGET', 'PR635_CODE'): env.pop(k, None) + steps = [] + + def run(label, script, *args, portable=True): + t = time.monotonic() + cmd = [sys.executable, '-B'] + ([str(src / 'code/run_portable.py')] if portable else []) + [str(script), *map(str, args)] + with (out / (label + '.log')).open('w') as f: + rc = subprocess.call(cmd, env=env, stdout=f, stderr=subprocess.STDOUT) + steps.append(dict(step=label, exit_code=rc, seconds=round(time.monotonic() - t, 3))) + (out / 'STEPS.json').write_text(json.dumps(steps, indent=2) + '\n') + assert rc == 0, label + print('PASS', label, flush=True) + + inp = a.jx_dir.resolve() / 'jx/FULL-WORD.json.gz' + assert hashlib.sha256(gzip.decompress(inp.read_bytes())).hexdigest() == rec['base_sha256'], 'input must be the pinned X4 word' + (out / 'barch').mkdir(); word = out / 'barch/FULL-WORD.json.gz' + run('barch', HERE / 'build_tri.py', inp, rfile, word, portable=False) + assert hashlib.sha256(gzip.decompress(word.read_bytes())).hexdigest() == rec['expect_sha256'] + run('barch-controls', HERE / 'run_controls.py', inp, rfile, PKG / 'independent/audit_local.py', out / 'barch-controls', portable=False) + res = read(out / 'barch-controls/controls.json') + want = ['C0_identity', 'recipe', *MUTANTS] + [m + '@' + str(v['X']) for v in rec.get('variants', []) for m in MUTANTS] + assert sorted(res) == sorted(want) == sorted(pins['barch_controls']) and all(x['ok'] for x in res.values()), res + routing = parent / 'complex-local/inputs/phase-baseline/CANONICAL-WORD.json.gz' + env['PR635_CODE'] = str(up / 'code') + run('layer-end-controls', P6 / 'layer_end_controls.py', word, routing, out / 'controls') + env.pop('PR635_CODE') + ctl = read(out / 'controls/COLD-END-CONTROLS.json') + assert ctl['status'] == 'PASS_COLD_END_RAW_WORD_CONTROLS' and len(ctl['rejected']) == pins['layer_controls'], len(ctl['rejected']) + local = out / 'local' + run('native', up / 'code/hpe_audit_and_transport.py', '--raw', word, '--routing', routing, '--out', local) + assert hashlib.sha256(gzip.decompress((local / 'CANONICAL-WORD.json.gz').read_bytes())).hexdigest() == pins['canonical_sha256'], 'canonical word' + run('ledgers', up / 'code/hpe_emit_local.py', local) + run('local-replay', up / 'code/hpe_audit_local.py', local) + run('wrappers', up / 'code/hpe_adapters_local.py', local / 'CANONICAL-WORD.json.gz', + local / 'RESIDUAL-ADAPTERS.json', local / 'WRAPPER-CHECKS.json') + checks = read(local / 'LOCAL-CHECKS.json') + for o, s in pins['program_sha256'].items(): assert checks[o]['sha256'] == s, ('local program', o) + if not a.skip_phases: + run('phases', base / 'code/phases_full.py', local, parent / 'complex-global/vendor531/vendor/clifford') + assert hashlib.sha256((local / 'CLIFFORD-RECIPES.json').read_bytes()).hexdigest() == pins['clifford_recipes_sha256'], 'clifford recipes' + print('DONE', local, flush=True) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-leaver/construction/barch/run_controls.py b/research/gauge44-leaver/construction/barch/run_controls.py new file mode 100644 index 0000000000..f1ce999bfb --- /dev/null +++ b/research/gauge44-leaver/construction/barch/run_controls.py @@ -0,0 +1,33 @@ +#!/usr/bin/env python3 +"""run_controls.py BASE_WORD RECIPE AUDIT_LOCAL_PY OUTDIR : C0 identity, the recipe word (must PASS) and the four negative +controls (each must FAIL audit_local with its pinned message prefix). Standard library only; writes OUTDIR/controls.json.""" +import sys, json, subprocess, os, gzip, hashlib +base, recipe, audit, out = sys.argv[1:5] +here = os.path.dirname(os.path.abspath(__file__)); os.makedirs(out, exist_ok=True) +# pinned rejection sites (observed on RECIPE-V1 and RECIPE-B0; the failing rows are recorded in controls.json): the holder 485 is not restored; the low-end restore 497-=451 moved to the +# FULL cleanup runs after 451's own tail and leaves 497 wrong; without the pre-read (or with the donation after the read) +# the entering helper's start value reaches a target. +EXPECT = {None: 'PASS', 'drop_restore': 'all-column endpoint failure (False, ', + 'restore_full': 'all-column endpoint failure (False, ', + 'drop_preread': 'nonzero entrance response', 'donation_after': 'nonzero entrance response'} +res = {} +ident = os.path.join(out, 'C0.json') +json.dump(dict(json.load(open(recipe)), B_delete=[], B_insert=[], B_frames={}, tail_insert=[], cleanup_prepend=[], + local_profile=json.loads(gzip.decompress(open(base, 'rb').read()))['report']['local_profile'], + expect_sha256=hashlib.sha256(gzip.decompress(open(base, 'rb').read())).hexdigest()), open(ident, 'w')) +r = subprocess.run([sys.executable, '-B', os.path.join(here, 'build_tri.py'), base, ident, os.path.join(out, 'C0.json.gz')], capture_output=True, text=True) +res['C0_identity'] = dict(ok=r.returncode == 0, out=r.stdout.strip() or r.stderr.strip()[-200:]) +ctls = list(EXPECT) + [c + '@' + str(s['X']) for s in json.load(open(recipe)).get('variants', []) for c in EXPECT if c] +for ctl in ctls: + name = ctl or 'recipe'; wp = os.path.join(out, name + '.json.gz') + cmd = [sys.executable, '-B', os.path.join(here, 'build_tri.py'), base, recipe, wp] + (['--control', ctl] if ctl else []) + b = subprocess.run(cmd, capture_output=True, text=True) + if b.returncode: res[name] = dict(ok=False, build=b.stderr[-300:]); continue + a = subprocess.run([sys.executable, '-B', audit, '--word', wp, '--output', os.path.join(out, name + '.audit.json')], capture_output=True, text=True) + txt = a.stdout + a.stderr + if ctl is None: ok = a.returncode == 0 and 'PASS_INDEPENDENT' in txt + else: ok = a.returncode != 0 and EXPECT[ctl.split('@')[0]] in txt + res[name] = dict(ok=ok, build=json.loads(b.stdout), audit_tail=txt.strip().splitlines()[-1][:200]) +json.dump(res, open(os.path.join(out, 'controls.json'), 'w'), indent=1) +print(json.dumps({k: x['ok'] for k, x in res.items()})) +sys.exit(0 if all(x['ok'] for x in res.values()) else 1) diff --git a/research/gauge44-leaver/construction/build_gauge_cold44.py b/research/gauge44-leaver/construction/build_gauge_cold44.py new file mode 100644 index 0000000000..72d2945f6b --- /dev/null +++ b/research/gauge44-leaver/construction/build_gauge_cold44.py @@ -0,0 +1,210 @@ +"""Exact dyadic cold-end realization of the source-branch/factory-completion word. +Prepared for icekylinx with OpenAI Codex assistance; Apache-2.0. +This is a constructor: independent endpoint/frame audits remain required. +""" +from pathlib import Path +from fractions import Fraction as Q +from collections import Counter +import copy,gzip,json,hashlib,time,sys,argparse,importlib.util +D=Path(__file__).resolve().parent +ap=argparse.ArgumentParser(description=__doc__) +for name in ('input','out','hamming','upstream-package'):ap.add_argument('--'+name,type=Path,required=True) +args=ap.parse_args();WPATH=args.input;OUT=args.out +assert __debug__, 'Assertions are required' +OUT.mkdir(exist_ok=False,parents=True) +def rd(p):return json.loads(gzip.decompress(p.read_bytes()) if p.suffix=='.gz' else p.read_bytes()) +w=rd(WPATH);v=w['report']['v'];n=2*v+w['report']['R'];N=list(range(v))+list(range(2*v,n));ix={x:i for i,x in enumerate(N)} +F9=[256,128,64,32,16,8,4,2,1];t0=time.monotonic() +def basis(vs): + d={} + for a in vs: + for k in sorted(d,reverse=True): + if a>>k&1:a^=d[k] + if a: + k=a.bit_length()-1 + for j in d: + if d[j]>>k&1:d[j]^=a + d[k]=a + return tuple(d[k] for k in sorted(d,reverse=True)) +def inside(a,b):return basis(a+b)==b +def regs(e):return e[1:3] if e[0]=='add' else e[1:2] +def inverse(e): + e=copy.deepcopy(e) + if e[0]=='add':e[3]=-e[3] + else:e[2],e[3]=e[3],e[2] + return e +def apply(e,M,mapping=None): + t=mapping[e[1]] if mapping is not None else e[1] + if e[0]=='add': + s=mapping[e[2]] if mapping is not None else e[2];q=Q(e[3],e[4]) + for j,a in M[s].items(): + x=M[t].get(j,Q(0))+q*a + if x:M[t][j]=x + else:M[t].pop(j,None) + else: + q=Q(e[2],e[3]);M[t]={j:q*a for j,a in M[t].items()} +def rref(A): + a=[list(map(Q,row)) for row in A];nr=len(a);nc=len(a[0]) if nr else 0;row=0;piv=[] + for c in range(nc): + k=next((i for i in range(row,nr) if a[i][c]),None) + if k is None:continue + a[row],a[k]=a[k],a[row];q=a[row][c];a[row]=[x/q for x in a[row]] + for i in range(nr): + if i!=row and a[i][c]:q=a[i][c];a[i]=[x-q*y for x,y in zip(a[i],a[row])] + piv.append(c);row+=1 + if row==nr:break + return a,piv +def rank(A):return len(rref(A)[1]) +def null(A,nc=None): + if A:a,piv=rref(A);nc=len(a[0]) + else:a=[];piv=[];assert nc is not None + free=[j for j in range(nc) if j not in piv];out=[[Q(0) for j in free] for i in range(nc)] + for k,c in enumerate(free):out[c][k]=Q(1) + for i,c in enumerate(piv): + for k,j in enumerate(free):out[c][k]=-a[i][j] + return out +def mm(A,B): + if not A:return [] + if not B:return [[] for row in A] + bt=list(zip(*B));return [[sum((a*b for a,b in zip(row,col)),Q(0)) for col in bt] for row in A] +def tr(A):return list(map(list,zip(*A))) +def inv(A): + n0=len(A);a,p=rref([row+[Q(i==j) for j in range(n0)] for i,row in enumerate(A)]) + assert p[:n0]==list(range(n0)) + return [row[n0:] for row in a] +def unit(q): + if not q:return False + a=abs(q.numerator);b=q.denominator + return not a&(a-1) and not b&(b-1) +def dyadic(q):return not q.denominator&(q.denominator-1) +def opadd(t,s,q,F):return ['add',t,s,q.numerator,q.denominator,list(F)] +def opscale(t,q,F):return ['scale',t,q.numerator,q.denominator,list(F)] +def eliminate(M,ids,F,skip=()): + """Return legal dyadic row operations taking an invertible sparse matrix to I.""" + skip=set(skip);ops=[];dim=len(M) + def add(i,j,q): + if q: + assert dyadic(q);e=opadd(ids[i],ids[j],q,F);ops.append(e) + for c,x in M[j].items(): + z=M[i].get(c,Q(0))+q*x + if z:M[i][c]=z + else:M[i].pop(c,None) + def scale(i,q): + if q!=1: + assert unit(q);ops.append(opscale(ids[i],q,F));M[i]={c:q*x for c,x in M[i].items()} + def swap(i,j): + if i!=j: + add(i,j,Q(1));add(j,i,Q(-1));add(i,j,Q(1));scale(j,Q(-1)) + for c in range(dim): + if c in skip: + assert M[c]=={c:Q(1)} and all(not M[i].get(c) for i in range(dim) if i!=c) + continue + cand=[i for i in range(c,dim) if i not in skip and M[i].get(c)] + k=next((i for i in cand if unit(M[i][c])),None) + if k is None: + # Elementary Euclidean row additions reduce the pivot-column numerator gcd. + assert cand,('singular',c) + while k is None: + cand.sort(key=lambda i:abs(M[i][c]));a=cand[0] + b=next((i for i in cand[1:] if M[i][c]),None) + if b is None:raise ValueError(('non-dyadic determinant pivot',c,M[a][c])) + rat=M[b][c]/M[a][c];q=rat.numerator//rat.denominator + if q==0:q=1 if rat>0 else -1 + add(b,a,Q(-q));cand=[i for i in cand if M[i].get(c)] + k=next((i for i in cand if unit(M[i][c])),None) + swap(c,k);scale(c,1/M[c][c]) + for i in range(dim): + if i!=c and M[i].get(c): + assert i not in skip + add(i,c,-M[i][c]) + assert all(row=={i:Q(1)} for i,row in enumerate(M)) + return ops +def realize(A,ids,F): + M=[{j:Q(x) for j,x in enumerate(row) if x} for row in A] + return [inverse(e) for e in reversed(eliminate(M,ids,F))] +# Reconstruct the actual non-target map after the inherited HPE tail. +inherited_tail=[w['cleanup'][i][:-1]+[list(f)] for i,f in w.get('early_cleanup',[])] +mainN=[e for e in w['A']+w['B'] if not v<=e[1]<2*v] +M=[{i:Q(1)} for i in range(len(N))] +for e in mainN+inherited_tail:apply(e,M,ix) +MI=[{i:Q(1)} for i in range(len(N))] +for e in reversed(mainN+inherited_tail):apply(inverse(e),MI,ix) +cur={x:(w['ports'][x],) if xlen(ih):ih.append(j) + if len(ih)==r:break + assert len(ih)==r + endhs=[N[I[j]] for j in ih];endhidx=[hs.index(h) for h in endhs] + kerR=null(RR,16);Qmat=[[Q(0) for j in range(16)] for i in range(16)] + for j,hj in enumerate(endhidx): + for i in range(16):Qmat[i][hj]=qH[i][j] + other=[j for j in range(16) if j not in endhidx] + for k,j in enumerate(other): + for i in range(16):Qmat[i][j]=kerR[i][k] + assert rank(Qmat)==16 + pops=realize(Qmat,hs,());premix+=pops + T=[[Q(i==j)-sum((U[i][k]*L[k][j] for k in range(r)),Q(0)) for j in range(len(I))] for i in range(len(I))] + for k,i in enumerate(ih):T[i]=L[k] + tops=realize(T,[N[i] for i in I],F);tail+=tops + # Right-compose this initial helper premix; other blocks have disjoint H sets. + for row in Mafter: + vals=[row.get(h,Q(0)) for h in H] + if any(vals): + for hj in H:row.pop(hj,None) + for j,hj in enumerate(H): + z=sum((vals[i]*Qmat[i][j] for i in range(16)),Q(0)) + if z:row[hj]=z + for e in tops:apply(e,Mafter,ix) + ends.update({h:list(F) for h in endhs}) + plans.append(dict(block=b,frame=list(F),registers=[N[i] for i in I],ends=endhs,pairing_rank=r,premix_gates=len(pops),tail_gates=len(tops),Q=[[str(x) for x in row] for row in Qmat],T=[[str(x) for x in row] for row in T])) + print('BLOCK',b,'ends',endhs,'Qops',len(pops),'Tops',len(tops),flush=True) +# Check actual post-tail isolation before constructing the high-frame inverse. +allends=set(ends)|set(map(int,w.get('helper_final',{}))) +for h in allends: + j=ix[h];assert Mafter[j]=={j:Q(1)},('row not isolated',h,Mafter[j]);assert all(not row.get(j) for i,row in enumerate(Mafter) if i!=j),('column not isolated',h) +print('EXACT_ISOLATED',len(ends),'new;',len(allends),'total',round(time.monotonic()-t0,3),flush=True) +fullops=eliminate(copy.deepcopy(Mafter),N,F9,[ix[x] for x in allends]) +print('FULL_INVERSE',len(fullops),round(time.monotonic()-t0,3),flush=True) +# Cancel new cold-axis target responses inside A, after their wrappers. +Dirt=[({h:Q(1)} if h in ends else {}) for h in range(n)] +for e in premix+w['A']+w['cut']+w['B']:apply(e,Dirt) +for e in w['precondition']:apply(e,Dirt) +postcomp=[opadd(y,h,-a,()) for y in range(v,2*v) for h,a in sorted(Dirt[y].items()) if a] +assert all(h in ends for e in postcomp for h in [e[2]]) +new=copy.deepcopy(w);new['A']=postcomp+premix+w['A'];new['cleanup']=inherited_tail+tail+fullops +new['early_cleanup']=[[i,e[-1]] for i,e in enumerate(inherited_tail+tail)] +new['helper_final'].update({str(h):f for h,f in ends.items()}) +new['refactored_cleanup']={'kind':'source_branch_gauge_and_retired_completion_cold44','new_cold_ends':len(ends),'exact_non_target_isolation_checked':True,'high_inverse':'dyadic_sparse_Gauss_Jordan'} +# Derive paid profile by subtracting and adding literal frame-chain counts. +spec=importlib.util.spec_from_file_location('upstream_cold_end',args.upstream_package/'code/build_cold_end.py') +profile_module=importlib.util.module_from_spec(spec);spec.loader.exec_module(profile_module) +oldprof,_=profile_module.chain_profile(w);newprof,_=profile_module.chain_profile(new) +prof=Counter({int(k):z for k,z in w['report']['local_profile'].items()});prof.subtract(oldprof);prof.update(newprof) +widths=Counter(len(basis(new['helper_final'].get(str(h),F9)))-len(basis(new.get('start_extra',{}).get(str(h),[]))) for h in range(224,n)) +new['report'].update(local_profile={str(k):z for k,z in sorted(prof.items()) if z},local_rank_mass=sum(k*z for k,z in prof.items()),width_inventory={str(k):z for k,z in sorted(widths.items()) if z},status='EXACT_COLD44_CONSTRUCTED_PENDING_INDEPENDENT_AUDIT') +raw=json.dumps(new,sort_keys=True,separators=(',',':')).encode();sha=hashlib.sha256(raw).hexdigest();(OUT/'FULL-WORD.json.gz').write_bytes(gzip.compress(raw,mtime=0)) +recipe={'premix':postcomp+premix,'cleanup':new['cleanup'],'early_cleanup':new['early_cleanup'],'cold_ends':{str(h):f for h,f in ends.items()},'refactored_cleanup':new['refactored_cleanup'],'output_content_sha256':sha} +(OUT/'RECIPE.json.gz').write_bytes(gzip.compress(json.dumps(recipe,sort_keys=True,separators=(',',':')).encode(),mtime=0)) +receipt=dict(input_content_sha256=hashlib.sha256(gzip.decompress(WPATH.read_bytes())).hexdigest(),output_content_sha256=sha,blocks=plans,new_cold_ends=len(ends),all_low_ended_helpers=len(allends),premix_gates=len(premix),postwrapper_compensation_gates=len(postcomp),tail_gates=len(tail),inherited_tail_gates=len(inherited_tail),full_inverse_gates=len(fullops),profile=new['report']['local_profile'],width_inventory=new['report']['width_inventory'],rank_mass=new['report']['local_rank_mass'],seconds=time.monotonic()-t0) +(OUT/'CONSTRUCTION.json').write_text(json.dumps(receipt,indent=2)+'\n') +print(json.dumps({k:z for k,z in receipt.items() if k!='blocks'},indent=2),flush=True) diff --git a/research/gauge44-leaver/construction/construct_gauge_xcentre.py b/research/gauge44-leaver/construction/construct_gauge_xcentre.py new file mode 100644 index 0000000000..1010d86746 --- /dev/null +++ b/research/gauge44-leaver/construction/construct_gauge_xcentre.py @@ -0,0 +1,381 @@ +# Round20 early-coordinate-center / own-Y variant, prepared for icekylinx +# with OpenAI Codex assistance. Apache-2.0. Scalar elementary-operation +# helpers below are retained from the attributed PR514 construct_partial.py. +# Adapted by OpenAI Codex for isolated structural research. +# Modified from PR425 by icekylinx with Codex assistance. +"""Full discovery word for Hamming packets with borrowed X and Y registers. + +This changes the scalar architecture. It is not accepted by the old restricted +gx interface: source bases may change until full-frame cleanup, and targets use +an explicitly inverted output basis. No supplier admission is asserted. +""" +import copy,gzip,json,math,time +import itertools as it +from collections import Counter,defaultdict +from fractions import Fraction as Q +from pathlib import Path + +import sys +INPUT=Path(sys.argv[1]);OUT=Path(sys.argv[2]);OUT.mkdir(parents=True,exist_ok=False);D=json.loads((INPUT/'PROTOTYPE.json').read_text()) +P=D['binary_ports'];R=D['root_lines'];v=120;h=9 +modules=json.load(gzip.open(INPUT/'PACKET-PROGRAMS.json.gz')) +# AtomScout: leaver-read K-triangles (schedule from atom1.py / rog.py CP-SAT) +TRI=json.loads(Path(sys.argv[3]).read_text()) +FULLT={(tuple(tr['p']),tr['e']) for tr in TRI['triangles']} +TRI_COORDS={t+8 for tr in TRI['triangles'] for t,_,_ in tr['reads']} +COPYL=[] +NH=504-3*len(FULLT)+len(COPYL) + +def basis(vectors): + b={} + for x in vectors: + for p in sorted(b,reverse=True): + if x>>p&1:x^=b[p] + if x: + p=x.bit_length()-1 + for q in b: + if b[q]>>p&1:b[q]^=x + b[p]=x + return tuple(b[p] for p in sorted(b,reverse=True)) +def inside(a,b):return basis(a+b)==b +def hyper(p):return basis([x for x in range(1,512) if (x&p).bit_count()%2==0]) +FULL=basis([1<=v,r)) + for col,s in enumerate(ids): + k=next(i for i in range(col,len(regs)) if rows[regs[i]].get(s,Q(0))) + swap(regs[k],regs[col],F) + scale(regs[col],1/rows[regs[col]][s],F) + for i in range(len(regs)): + if i!=col and rows[regs[i]].get(s,Q(0)):add(regs[i],regs[col],-rows[regs[i]][s],F) + assert all(rows[regs[i]]=={s:Q(1)} for i,s in enumerate(ids)) + M=[[Q(R[s][i]) for s in ids] for i in c] + def qr_rank(rs): + bs={} + for r in rs: + r=r.copy() + for i,b in sorted(bs.items()): + if r[i]:q=r[i];r=[x-q*y for x,y in zip(r,b)] + i=next((i for i,x in enumerate(r) if x),None) + if i is not None:q=r[i];bs[i]=[x/q for x in r] + return len(bs) + assert qr_rank(M)==4 + for rr0 in PRIORITY[",".join(map(str,c))]["rows"]: + rr=list(map(Q,rr0)) + if qr_rank(M+[rr])>len(M):M.append(rr) + if len(M)==8:break + for i in range(8): + if len(M)==8:break + rr=[Q(i==j) for j in range(8)] + if qr_rank(M+[rr])>len(M):M.append(rr) + if len(M)==8:break + assert len(M)==8 + linear(regs,M,F) + for i,r in zip(c,regs): + assert rows[r]=={s:Q(R[s][i]) for s in ids} + block_totals[c,i]=r + +# All centers are complete while Y is still at zero. This is the crucial +# difference from an illegal early-own-Y prefix using the old center order. +centers=[] +for i in range(8): + regs=[block_totals[c,i] for c in sorted(blocks) if i in c] + F=hyper(P[frame[i]]);a=regs[0] + for b in regs[1:]:add(a,b,1,F) + centers.append(a) +centers += [frame[i] for i in range(8)] +center_frames=[cur[r] for r in centers] +assert list(map(len,center_frames))==[8]*8+[1]*8 +assert all(cur[v+t]==() for t in range(v)) + +phase=B +for t,(r,coef,F) in sorted(own_rows.items()): + if t in TRI_COORDS:continue + assert cur[r]==F + add(v+t,r,coef,F) +# requests are needed for TRI coefficients +requests=defaultdict(list) +for pid,pair in enumerate(pairs): + if not pair['selected']:continue + (t,u),(key1,key2),mat=pair['targets'],pair['keys'],pair['matrix'] + requests[key1].append((t,-Q(mat[0][0],2))) + requests[key2].append((u,-Q(mat[0][1],2))) +reqcoef={t:(key,coef) for key,reqs in requests.items() for t,coef in reqs} +def face_info(c,p,eps): + z=blocks[c];keys=[(pp,ee) for pp in it.combinations(c,2) for ee in (-1,1)] + r_local,alpha=z['outputs'][keys.index((p,eps))] + j=[j for j in range(40,len(z['events'])) if z['events'][j][0]==r_local];assert len(j)==1 + return j[0],Q(alpha) +tri_join_counts=Counter() +lcopy={} +for s8 in COPYL: + r=s8+8;c=alloc();add(c,r,1,cur[r]);lcopy[r]=c +for tr in TRI['triangles']: + p,eps=tuple(tr['p']),tr['e'] + for t8,blk,loc in tr['reads']: + t=t8+8;blk=tuple(blk);r=maps[blk][loc];r0=r;r=lcopy.get(r,r) + key,coef=reqcoef[t];assert key[1]==p and key[2]==eps,(key,p,eps) + if blk==key[0]: + rr,c0,F0=own_rows[t];assert rr==r0;q=c0 + else: + j,alpha=face_info(blk,p,eps);ev=blocks[blk]['events'][j];assert loc in ev[:2] + q=coef*alpha + F=basis(cur[v+t]+cur[r]);assert inside(F,hyper(P[t])),('TRI frame',t) + tri_join_counts[len(F)]+=1;add(v+t,r,q,F) + +packets={} +for c,z in sorted(blocks.items()): + mp=maps[c] + keys=[(p,eps) for p in it.combinations(c,2) for eps in (-1,1)] + skipev={face_info(c,p,eps)[0] for p,eps in keys if (p,eps) in FULLT} + for j,(e,F) in enumerate(list(zip(z['events'],z['event_frames']))[40:]): + if j not in early[c] and 40+j not in skipev: + t,s,a,b=e;add(mp[t],mp[s],Q(a,b),tuple(F)) + for key,(r,alpha) in zip(keys,z['outputs']): + if tuple(key) in FULLT:skip();continue + a=mp[r];b=alloc();add(b,a,1,cur[a]) + consumers=sorted(d for d in blocks if d!=c and set(key[0])<=set(d)) + assert len(consumers)==2 + for target,r in zip(consumers,(a,b)):packets[c,key[0],key[1],target]=(r,Q(alpha)) + +# Both tetrahedra use the same partition. A selected key has exactly two +# selected Y loads and no ordinary M consumer. Supply its two raw halves in +# opposite orders and never form that M. Other keys retain the old M path. +second=[];first_join_counts=Counter() +for key,reqs in sorted(requests.items()): + assert len(reqs)==2 + c,p,eps=key + if (p,eps) in FULLT:continue + ds=sorted(d for d in blocks if d!=c and set(p)<=set(d));a,b=ds + for j,(target,coef) in enumerate(sorted(reqs)): + first_source,second_source=(a,b) if j==0 else (b,a) + r,alpha=packets[first_source,p,eps,second_source] + F=basis(cur[v+target]+cur[r]);assert inside(F,hyper(P[target])) + first_join_counts[len(F)]+=1;add(v+target,r,coef*alpha,F) + r,alpha=packets[second_source,p,eps,c] + second.append((target,r,coef*alpha)) + +Ms={} +for c in sorted(blocks): + for p in it.combinations(c,2): + ds=sorted(d for d in blocks if d!=c and set(p)<=set(d)) + for eps in (-1,1): + if (c,p,eps) in requests:continue + (a,alpha),(b,beta)=[packets[d,p,eps,c] for d in ds] + F=basis(cur[a]+cur[b]);add(a,b,beta/alpha,F) + Ms[c,p,eps]=(a,alpha) + +consumers=defaultdict(list) +for pid,pair in enumerate(pairs): + for key in pair['keys']:consumers[key].append(pid) +slots={} +for key,uses in sorted(consumers.items()): + assert len(uses)==2 + if key in requests: + assert all(pairs[i]['selected'] for i in uses) + continue + assert all(not pairs[i]['selected'] for i in uses) + a,alpha=Ms[key] + for j,pid in enumerate(uses): + if j==0:r=a + else:r=alloc();add(r,a,1,cur[a]) + slots[pid,key]=(r,alpha) +assert len(cur)-240==NH,len(cur)-240 + +selected_join_counts=Counter() +for target,r,coef in second: + F=basis(cur[v+target]+cur[r]);assert inside(F,hyper(P[target])) + selected_join_counts[len(F)]+=1;add(v+target,r,coef,F) +output_basis=[] +for pair in pairs: + if not pair['selected']:continue + (t,u),mat=pair['targets'],pair['matrix'] + F=basis(cur[v+t]+cur[v+u]);assert inside(F,hyper(P[t])) and inside(F,hyper(P[u])) + add(v+t,v+u,1,F);add(v+u,v+t,-Q(1,2),F) + z=-Q(2*mat[1][0],mat[0][0]);scale(v+u,z,F);output_basis.append((t,u,z)) + +for pid,pair in enumerate(pairs): + if pair['selected']:continue + (t,u),(key1,key2),mat=pair['targets'],pair['keys'],pair['matrix'] + (a,alpha),(b,beta)=slots[pid,key1],slots[pid,key2] + F=basis(cur[a]+cur[b]);aa,ab=Q(mat[0][0])*alpha,Q(mat[0][1])*beta + ba,bb=Q(mat[1][0])*alpha,Q(mat[1][1])*beta + add(a,b,ab/aa,F);q=ba/(bb-ba*ab/aa);add(b,a,q,F) + add(v+t,a,-aa/2,hyper(P[t]));add(v+u,b,-(bb-ba*ab/aa)/2,hyper(P[u])) + +for t in range(v): + expected={s:-Q(G[t][s],2) for s in range(v) if s!=t and G[t][s] and s not in frame.values()} if t not in frame.values() else {} + assert rows[v+t]==expected,('side identity',t) + +scatter=[[Q(r[i],4) if t not in frame.values() else Q(0) for i in range(8)]+[Q(t==frame[i]) for i in range(8)] for t,r in enumerate(R)] +precondition=[] +for t,u,z in output_basis: + a,b=scatter[t].copy(),scatter[u].copy() + scatter[t]=[x/2-y/z for x,y in zip(a,b)] + scatter[u]=[x/2+y/z for x,y in zip(a,b)] + precondition.extend([['scale',v+u,(1/z).numerator,(1/z).denominator,[]], + ['add',v+u,v+t,1,2,[]],['add',v+t,v+u,-1,1,[]]]) +for r in range(len(cur)):climb(r,hyper(P[r-v]) if v<=r<2*v else FULL) +H[8]+=8;H[1]+=8 +assert sum(r*z for r,z in H.items())==9*NH+240*8+72,sum(r*z for r,z in H.items()) + +def apply(e,matrix): + if e[0]=='add': + _,t,s,a,b,*_=e;q=Q(a,b) + for j,x in list(matrix[s].items()): + z=matrix[t].get(j,Q(0))+q*x + if z:matrix[t][j]=z + else:matrix[t].pop(j,None) + else: + _,t,a,b,*_=e;q=Q(a,b);matrix[t]={j:q*x for j,x in matrix[t].items()} +def inverse(e): + e=copy.deepcopy(e) + if e[0]=='add':e[3]*=-1 + else:e[2],e[3]=e[3],e[2] + e[-1]=list(FULL);return e +cut=[['add',v+t,centers[i],q.numerator,q.denominator,None] for t,row in enumerate(scatter) for i,q in enumerate(row) if q] +cleanup=[inverse(e) for e in reversed(A+B) if not v<=e[1]<2*v] +matrix=[{r:Q(1)} if r.json. Steps, each checked exactly: + 1. frames: build_frames.py (standard library only) applies the eight 'B' gate_frames with BlockInvert's + build_promotion.apply. Scalar program, start and end frames unchanged; profile, widths and output sha pinned; + three pin controls must be rejected (count pinned). + 2. frame-controls: frame_controls.py, PR741's ten focused mutants judged by PR635's unchanged native audit. + 3. layer-end-controls: ../layers_p6n/layer_end_controls.py (per-end variant) on the SW4F8 word; count pinned. + 4. native, ledgers, local-replay, wrappers, phases: PR635's native local programs, with the canonical word, local + programs and Clifford recipes pinned (LOCAL-PINS-frames-.json). +Apache-2.0. +""" +import argparse, gzip, hashlib, json, os, subprocess, sys, time +from pathlib import Path + +HERE = Path(__file__).resolve().parent +P6 = HERE.parent / 'layers_p6n' + + +def read(p): + raw = Path(p).read_bytes() + return json.loads(gzip.decompress(raw) if str(p).endswith('.gz') else raw) + + +def main(): + assert __debug__, 'Assertions are required' + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--main', type=Path, required=True) + ap.add_argument('--pr635', type=Path, required=True) + ap.add_argument('--sw4-dir', type=Path, required=True, help='construction/sw4/reproduce_sw4.py output') + ap.add_argument('--out', type=Path, required=True) + ap.add_argument('--recipe', default='sw4', help='FRAME-RECIPE-.json and LOCAL-PINS-frames-.json') + ap.add_argument('--skip-phases', action='store_true') + a = ap.parse_args() + out = a.out.resolve(); assert not out.exists(); out.mkdir(parents=True) + up = a.pr635.resolve() / 'research/complex-571-cold14-st2' + src = a.main.resolve() / 'research/complex-k492-owner-repair/vendor/multicold' + base = src / 'vendor/pr558'; parent = base / 'vendor/pr552' + rfile = HERE / ('FRAME-RECIPE-%s.json' % a.recipe); rec = read(rfile); pins = read(HERE / ('LOCAL-PINS-frames-%s.json' % a.recipe)) + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONUTF8='1', PYTHONINTMAXSTRDIGITS='0', + MULTICOLD_SOURCE=str(src), GAIN_PR564_SOURCE=str(src)) + for k in ('PYTHONOPTIMIZE', 'XPARAM', 'EXTRAH', 'PAIRING_RANKS', 'DIAG', 'HYBBUDGET', 'PR635_CODE'): env.pop(k, None) + steps = [] + + def run(label, script, *args, portable=True): + t = time.monotonic() + cmd = [sys.executable, '-B'] + ([str(src / 'code/run_portable.py')] if portable else []) + [str(script), *map(str, args)] + with (out / (label + '.log')).open('w') as f: + rc = subprocess.call(cmd, env=env, stdout=f, stderr=subprocess.STDOUT) + steps.append(dict(step=label, exit_code=rc, seconds=round(time.monotonic() - t, 3))) + (out / 'STEPS.json').write_text(json.dumps(steps, indent=2) + '\n') + assert rc == 0, label + print('PASS', label, flush=True) + + inp = a.sw4_dir.resolve() / 'sw4/FULL-WORD.json.gz' + assert hashlib.sha256(gzip.decompress(inp.read_bytes())).hexdigest() == rec['input_content_sha256'], 'input must be the pinned SW4 word' + run('frames', HERE / 'build_frames.py', inp, out / 'frames', rfile, portable=False) + b = read(out / 'frames/BUILD.json') + assert b['status'] == 'PASS_EIGHT_FRAME_EXACT_CONSTRUCTION' and len(b['rejected_controls']) == pins['frame_build_controls'], b + word = out / 'frames/FULL-WORD.json.gz' + assert hashlib.sha256(gzip.decompress(word.read_bytes())).hexdigest() == rec['expected']['output_content_sha256'] + routing = parent / 'complex-local/inputs/phase-baseline/CANONICAL-WORD.json.gz' + env['PR635_CODE'] = str(up / 'code') + run('frame-controls', HERE / 'frame_controls.py', word, routing, out / 'FRAME-CONTROLS.json', rfile, portable=False) + fc = read(out / 'FRAME-CONTROLS.json') + assert fc['status'] == 'PASS_FOCUSED_EIGHT_FRAME_NATIVE_CONTROLS' and len(fc['rejected']) == pins['frame_controls'], len(fc['rejected']) + run('layer-end-controls', P6 / 'layer_end_controls.py', word, routing, out / 'controls') + env.pop('PR635_CODE') + ctl = read(out / 'controls/COLD-END-CONTROLS.json') + assert ctl['status'] == 'PASS_COLD_END_RAW_WORD_CONTROLS' and len(ctl['rejected']) == pins['layer_controls'], len(ctl['rejected']) + local = out / 'local' + run('native', up / 'code/hpe_audit_and_transport.py', '--raw', word, '--routing', routing, '--out', local) + assert hashlib.sha256(gzip.decompress((local / 'CANONICAL-WORD.json.gz').read_bytes())).hexdigest() == pins['canonical_sha256'], 'canonical word' + run('ledgers', up / 'code/hpe_emit_local.py', local) + run('local-replay', up / 'code/hpe_audit_local.py', local) + run('wrappers', up / 'code/hpe_adapters_local.py', local / 'CANONICAL-WORD.json.gz', + local / 'RESIDUAL-ADAPTERS.json', local / 'WRAPPER-CHECKS.json') + checks = read(local / 'LOCAL-CHECKS.json') + for o, s in pins['program_sha256'].items(): assert checks[o]['sha256'] == s, ('local program', o) + if not a.skip_phases: + run('phases', base / 'code/phases_full.py', local, parent / 'complex-global/vendor531/vendor/clifford') + assert hashlib.sha256((local / 'CLIFFORD-RECIPES.json').read_bytes()).hexdigest() == pins['clifford_recipes_sha256'], 'clifford recipes' + print('DONE', local, flush=True) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-leaver/construction/jx/LOCAL-PINS-jx-X4.json b/research/gauge44-leaver/construction/jx/LOCAL-PINS-jx-X4.json new file mode 100644 index 0000000000..417e4ba7a1 --- /dev/null +++ b/research/gauge44-leaver/construction/jx/LOCAL-PINS-jx-X4.json @@ -0,0 +1,11 @@ +{ + "word": "X4", + "jx_controls": 7, + "layer_controls": 95, + "canonical_sha256": "1c0e9da767d4418f70016af599e4a447a3f7777acabe930318459c0fbbd260aa", + "program_sha256": { + "forward": "076a2d428f97abb30473df05110998efbe5ac809885bae4ceb1b8bd81329a1e6", + "backward": "7915679ee305927463d19725360cc15132dd21ede18897d09a935dca1df0d55d" + }, + "clifford_recipes_sha256": "20dddfce0ded7e41dc507939df7297bd98aec1286e05d7dbf18000d57e69a0b7" +} diff --git a/research/gauge44-leaver/construction/jx/RECIPE-X4.json b/research/gauge44-leaver/construction/jx/RECIPE-X4.json new file mode 100644 index 0000000000..30f7fa5948 --- /dev/null +++ b/research/gauge44-leaver/construction/jx/RECIPE-X4.json @@ -0,0 +1,1412 @@ +{ + "input_content_sha256": "d232183f233899961bf55cac67a18545ed33548d9a7ca7078990d1a83d557c59", + "input_word": "P6k4sw4 (BRoute w/P6k4sw4, d232183f)", + "frames_741_source": { + "pr": 741, + "commit": "e516b146", + "recipe": "scratch/WasteAttack/FRAME-RECIPE-741.json", + "frames_only_output_sha": "e78047028c7dcd25fb1b6216c2b53eda76d2f91292b21d43f5d1903cc13a5c6c" + }, + "frames_741": [ + [ + 856, + [ + 272, + 144, + 64, + 8, + 6, + 1 + ] + ], + [ + 860, + [ + 256, + 128, + 65, + 16, + 9, + 6 + ] + ], + [ + 868, + [ + 256, + 144, + 81, + 33, + 9, + 6 + ] + ], + [ + 873, + [ + 320, + 192, + 32, + 16, + 6, + 1 + ] + ], + [ + 876, + [ + 273, + 144, + 64, + 33, + 9, + 6 + ] + ], + [ + 953, + [ + 265, + 137, + 73, + 32, + 25, + 6 + ] + ], + [ + 961, + [ + 265, + 128, + 64, + 41, + 16, + 6 + ] + ], + [ + 965, + [ + 257, + 128, + 73, + 40, + 17, + 6 + ] + ] + ], + "raises": [ + [ + 855, + [ + 280, + 128, + 64, + 40, + 6, + 1 + ] + ], + [ + 859, + [ + 256, + 129, + 65, + 40, + 25, + 6 + ] + ], + [ + 862, + [ + 280, + 144, + 80, + 56, + 6, + 1 + ] + ], + [ + 863, + [ + 272, + 136, + 80, + 56, + 6, + 1 + ] + ], + [ + 867, + [ + 256, + 136, + 64, + 41, + 16, + 6 + ] + ], + [ + 870, + [ + 256, + 200, + 40, + 16, + 6, + 1 + ] + ], + [ + 875, + [ + 272, + 144, + 80, + 49, + 8, + 6 + ] + ], + [ + 942, + [ + 256, + 136, + 72, + 33, + 25, + 6 + ] + ], + [ + 943, + [ + 320, + 193, + 33, + 16, + 9, + 6 + ] + ], + [ + 946, + [ + 256, + 129, + 64, + 41, + 16, + 6 + ] + ], + [ + 947, + [ + 273, + 128, + 81, + 33, + 9, + 6 + ] + ], + [ + 950, + [ + 257, + 193, + 33, + 16, + 9, + 6 + ] + ], + [ + 954, + [ + 272, + 129, + 80, + 49, + 8, + 6 + ] + ], + [ + 955, + [ + 256, + 128, + 64, + 33, + 17, + 6 + ] + ], + [ + 958, + [ + 257, + 128, + 81, + 33, + 9, + 6 + ] + ], + [ + 962, + [ + 273, + 128, + 64, + 33, + 8, + 6 + ] + ] + ], + "edits": { + "replace": [ + { + "h": 448, + "i": 862, + "old": [ + "add", + 140, + 448, + -1, + 2 + ], + "new": [ + "add", + 140, + 235, + -1, + 2 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 448, + "i": 1207, + "old": [ + "add", + 133, + 448, + -1, + 2 + ], + "new": [ + "add", + 133, + 235, + -1, + 2 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 448, + "i": 870, + "old": [ + "add", + 132, + 235, + -1, + 2 + ], + "new": [ + "add", + 132, + 448, + -1, + 2 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 448, + "i": 1199, + "old": [ + "add", + 141, + 235, + -1, + 2 + ], + "new": [ + "add", + 141, + 448, + -1, + 2 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 472, + "i": 855, + "old": [ + "add", + 173, + 472, + -1, + 2 + ], + "new": [ + "add", + 173, + 267, + -1, + 2 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 472, + "i": 1198, + "old": [ + "add", + 140, + 472, + -1, + 2 + ], + "new": [ + "add", + 140, + 267, + -1, + 2 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 472, + "i": 863, + "old": [ + "add", + 141, + 267, + -1, + 2 + ], + "new": [ + "add", + 141, + 472, + -1, + 2 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 472, + "i": 1190, + "old": [ + "add", + 172, + 267, + -1, + 2 + ], + "new": [ + "add", + 172, + 472, + -1, + 2 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 458, + "i": 942, + "old": [ + "add", + 204, + 458, + 1, + 1 + ], + "new": [ + "add", + 204, + 58, + 1, + 1 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 458, + "i": 1287, + "old": [ + "add", + 197, + 458, + 1, + 1 + ], + "new": [ + "add", + 197, + 58, + 1, + 1 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 458, + "i": 950, + "old": [ + "add", + 196, + 58, + 1, + 1 + ], + "new": [ + "add", + 196, + 458, + 1, + 1 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 458, + "i": 1279, + "old": [ + "add", + 205, + 58, + 1, + 1 + ], + "new": [ + "add", + 205, + 458, + 1, + 1 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 592, + "i": 859, + "old": [ + "add", + 174, + 592, + -1, + 2 + ], + "new": [ + "add", + 174, + 427, + -1, + 2 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 592, + "i": 1278, + "old": [ + "add", + 204, + 592, + -1, + 2 + ], + "new": [ + "add", + 204, + 427, + -1, + 2 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 592, + "i": 943, + "old": [ + "add", + 205, + 427, + -1, + 2 + ], + "new": [ + "add", + 205, + 592, + -1, + 2 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 592, + "i": 1194, + "old": [ + "add", + 170, + 427, + -1, + 2 + ], + "new": [ + "add", + 170, + 592, + -1, + 2 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 470, + "i": 946, + "old": [ + "add", + 202, + 470, + 1, + 1 + ], + "new": [ + "add", + 202, + 26, + 1, + 1 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 470, + "i": 1295, + "old": [ + "add", + 165, + 470, + 1, + 1 + ], + "new": [ + "add", + 165, + 26, + 1, + 1 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 470, + "i": 958, + "old": [ + "add", + 164, + 26, + 1, + 1 + ], + "new": [ + "add", + 164, + 470, + 1, + 1 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 470, + "i": 1283, + "old": [ + "add", + 206, + 26, + 1, + 1 + ], + "new": [ + "add", + 206, + 470, + 1, + 1 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 604, + "i": 867, + "old": [ + "add", + 142, + 604, + -1, + 2 + ], + "new": [ + "add", + 142, + 443, + -1, + 2 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 604, + "i": 1282, + "old": [ + "add", + 202, + 604, + -1, + 2 + ], + "new": [ + "add", + 202, + 443, + -1, + 2 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 604, + "i": 947, + "old": [ + "add", + 206, + 443, + -1, + 2 + ], + "new": [ + "add", + 206, + 604, + -1, + 2 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 604, + "i": 1202, + "old": [ + "add", + 138, + 443, + -1, + 2 + ], + "new": [ + "add", + 138, + 604, + -1, + 2 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 482, + "i": 954, + "old": [ + "add", + 194, + 482, + 1, + 1 + ], + "new": [ + "add", + 194, + 18, + 1, + 1 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 482, + "i": 1299, + "old": [ + "add", + 166, + 482, + 1, + 1 + ], + "new": [ + "add", + 166, + 18, + 1, + 1 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 482, + "i": 962, + "old": [ + "add", + 162, + 18, + 1, + 1 + ], + "new": [ + "add", + 162, + 482, + 1, + 1 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 482, + "i": 1291, + "old": [ + "add", + 198, + 18, + 1, + 1 + ], + "new": [ + "add", + 198, + 482, + 1, + 1 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 614, + "i": 875, + "old": [ + "add", + 134, + 614, + 1, + 1 + ], + "new": [ + "add", + 134, + 50, + 1, + 1 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 614, + "i": 1290, + "old": [ + "add", + 194, + 614, + 1, + 1 + ], + "new": [ + "add", + 194, + 50, + 1, + 1 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 614, + "i": 955, + "old": [ + "add", + 198, + 50, + 1, + 1 + ], + "new": [ + "add", + 198, + 614, + 1, + 1 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 614, + "i": 1210, + "old": [ + "add", + 130, + 50, + 1, + 1 + ], + "new": [ + "add", + 130, + 614, + 1, + 1 + ], + "why": "r2h: read of r -> read of h" + } + ], + "delete": [ + { + "h": 448, + "i": 1, + "old": [ + "add", + 140, + 448, + 1, + 2 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 448, + "i": 0, + "old": [ + "add", + 133, + 448, + 1, + 2 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 472, + "i": 33, + "old": [ + "add", + 173, + 472, + 1, + 2 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 472, + "i": 32, + "old": [ + "add", + 140, + 472, + 1, + 2 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 458, + "i": 21, + "old": [ + "add", + 204, + 458, + -1, + 1 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 458, + "i": 20, + "old": [ + "add", + 197, + 458, + -1, + 1 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 592, + "i": 64, + "old": [ + "add", + 174, + 592, + 1, + 2 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 592, + "i": 65, + "old": [ + "add", + 204, + 592, + 1, + 2 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 470, + "i": 29, + "old": [ + "add", + 202, + 470, + -1, + 1 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 470, + "i": 28, + "old": [ + "add", + 165, + 470, + -1, + 1 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 604, + "i": 72, + "old": [ + "add", + 142, + 604, + 1, + 2 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 604, + "i": 73, + "old": [ + "add", + 202, + 604, + 1, + 2 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 482, + "i": 37, + "old": [ + "add", + 194, + 482, + -1, + 1 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 482, + "i": 36, + "old": [ + "add", + 166, + 482, + -1, + 1 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 614, + "i": 95, + "old": [ + "add", + 134, + 614, + -1, + 1 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 614, + "i": 96, + "old": [ + "add", + 194, + 614, + -1, + 1 + ], + "why": "h2r: delete t pre-read of h" + } + ], + "insert": [ + { + "h": 448, + "before": 2, + "gate": [ + "add", + 132, + 448, + 1, + 2 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 448, + "before": 2, + "gate": [ + "add", + 141, + 448, + 1, + 2 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 472, + "before": 34, + "gate": [ + "add", + 141, + 472, + 1, + 2 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 472, + "before": 34, + "gate": [ + "add", + 172, + 472, + 1, + 2 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 458, + "before": 22, + "gate": [ + "add", + 196, + 458, + -1, + 1 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 458, + "before": 22, + "gate": [ + "add", + 205, + 458, + -1, + 1 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 592, + "before": 66, + "gate": [ + "add", + 205, + 592, + 1, + 2 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 592, + "before": 66, + "gate": [ + "add", + 170, + 592, + 1, + 2 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 470, + "before": 30, + "gate": [ + "add", + 164, + 470, + -1, + 1 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 470, + "before": 30, + "gate": [ + "add", + 206, + 470, + -1, + 1 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 604, + "before": 74, + "gate": [ + "add", + 206, + 604, + 1, + 2 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 604, + "before": 74, + "gate": [ + "add", + 138, + 604, + 1, + 2 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 482, + "before": 38, + "gate": [ + "add", + 162, + 482, + -1, + 1 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 482, + "before": 38, + "gate": [ + "add", + 198, + 482, + -1, + 1 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 614, + "before": 97, + "gate": [ + "add", + 198, + 614, + -1, + 1 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 614, + "before": 97, + "gate": [ + "add", + 130, + 614, + -1, + 1 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + } + ] + }, + "pairs": { + "448": 235, + "458": 58, + "470": 26, + "472": 267, + "482": 18, + "592": 427, + "604": 443, + "614": 50 + }, + "expected": { + "output_content_sha256": "1e1d99ba7aab877d6b573c41f7030ee73de9a52fee51d0a822ddaae71251999f", + "local_profile": { + "1": 2548, + "2": 338, + "3": 430, + "4": 194, + "5": 56, + "8": 8 + } + }, + "controls": { + "C0_identity": { + "mutation": { + "kind": "empty" + }, + "expected_sha": "d232183f233899961bf55cac67a18545ed33548d9a7ca7078990d1a83d557c59", + "local_profile": { + "1": 2548, + "2": 342, + "3": 438, + "4": 186, + "5": 56, + "8": 8 + } + }, + "C1_741_only": { + "mutation": { + "kind": "only_edits_of", + "h": [], + "raises": [] + }, + "expected_sha": "e78047028c7dcd25fb1b6216c2b53eda76d2f91292b21d43f5d1903cc13a5c6c", + "local_profile": { + "1": 2556, + "2": 334, + "3": 430, + "4": 194, + "5": 56, + "8": 8 + } + }, + "M1_one_pair_448": { + "mutation": { + "kind": "only_edits_of", + "h": [ + 448 + ], + "raises": [ + 862, + 870 + ] + }, + "expected_sha": "5fb6fb2e5e63d18b865535c1dbd3dbaddab530c39429a4b09f11ac96723257c9", + "local_profile": { + "1": 2556, + "2": 334, + "3": 430, + "4": 194, + "5": 56, + "8": 8 + } + }, + "N1_drop_preread": { + "mutation": { + "kind": "drop_insert", + "k": 0 + }, + "rejection_expected": [ + "exactness rows", + [ + 132, + 135 + ] + ] + }, + "N2_wrong_sign_preread": { + "mutation": { + "kind": "flip_insert_sign", + "k": 0 + }, + "rejection_expected": [ + "exactness rows", + [ + 132, + 135 + ] + ] + }, + "N3_plain_join_moved_reads": { + "mutation": { + "kind": "drop_raises" + }, + "expected_sha": "7241cd59dd0376e0b2e1b5ba8403c5423d247ddd7cbcc2f02bdc353752806f30", + "local_profile": { + "1": 2532, + "2": 378, + "3": 430, + "4": 178, + "5": 56, + "8": 8 + } + }, + "N4_raise_dim7_at_855": { + "mutation": { + "kind": "frame", + "i": 855, + "frame": [ + 280, + 128, + 64, + 40, + 4, + 2, + 1 + ] + }, + "rejection_expected": [ + "cap", + 1302, + 174 + ] + } + } +} \ No newline at end of file diff --git a/research/gauge44-leaver/construction/jx/build_jx.py b/research/gauge44-leaver/construction/jx/build_jx.py new file mode 100644 index 0000000000..f8d74a6324 --- /dev/null +++ b/research/gauge44-leaver/construction/jx/build_jx.py @@ -0,0 +1,167 @@ +#!/usr/bin/env python3 +"""build_jx.py --input WORD --recipe RECIPE.json --out OUT.json.gz [--control NAME] [--no-pin] + +Stdlib-only builder: joint read-set exchange (copy pairs, BRoute sw4 rule) + explicit B frame raises on P6k4sw4. +Steps: + 1. input content sha256 must equal recipe.input_content_sha256. + 2. explicit B edits: replace (old gate asserted), delete (old gate asserted), insert (before an original index). + 3. frames: replaced/inserted gates take the plain join of their operands' current frames; gates listed in + frames_741 / raises take base = the listed frame and the resulting frame must EQUAL it (explicit frames); + every other gate keeps span(stored frame + operand frames) (monotone repair). Early cleanup likewise. + 4. legality: target frames inside u_t^perp at every gate; tails inside helper_final; every end frame contains the + final frame; the explicit frame must contain the join (enforced by equality in 3). + 5. exactness: the rational linear map of the whole B segment is identical to the input's (Fraction replay). + 6. paid profile recomputed (A + centre levels + B + tails + ends) and written to report.local_profile. +Output: canonical json (sort_keys, compact) gzip mtime=0. Exit 0 and prints output sha; exit 2 with the first +rejection (site) on failure. --control applies a named mutation from recipe.controls (expected to be rejected +or to give a pinned sha).""" +import argparse, gzip, json, hashlib, sys, copy +from fractions import Fraction as Fr +from collections import Counter + +V, H = 112, 9 + +def basis(vs): + piv = {} + for a in vs: + while a: + b = a.bit_length() - 1 + if b in piv: a ^= piv[b] + else: piv[b] = a; break + for k in sorted(piv): + for j in sorted(piv): + if j > k and (piv[j] >> k) & 1: piv[j] ^= piv[k] + return tuple(piv[k] for k in sorted(piv, reverse=True)) + +def contained(a, b): return basis(list(a) + list(b)) == tuple(b) +def registers(e): return e[1:3] if e[0] == 'add' else e[1:2] +def hyper(p): return basis([x for x in range(1, 1 << H) if (x & p).bit_count() % 2 == 0]) +FULL = basis([1 << i for i in range(H)]) +def csha(w): return hashlib.sha256(json.dumps(w, sort_keys=True, separators=(',', ':')).encode()).hexdigest() + +class Reject(Exception): pass + +def symstate(gs): + rows = {} + for e in gs: + for q in registers(e): rows.setdefault(q, {q: Fr(1)}) + if e[0] == 'add': + t, s = e[1], e[2]; c = Fr(e[3], e[4]); d = rows[t] + for k, x in list(rows[s].items()): + a = d.get(k, 0) + c * x + if a: d[k] = a + else: d.pop(k, None) + else: + t = e[1]; c = Fr(e[2], e[3]); rows[t] = {k: c * x for k, x in rows[t].items()} + return rows + +def build(w, rc, control=None): + w = copy.deepcopy(w); B0 = w['B'] + edits = copy.deepcopy(rc['edits']); explicit = {int(i): f for i, f in rc['frames_741']} + for i, f in rc['raises']: + if int(i) in explicit: raise Reject(('duplicate frame', i)) + explicit[int(i)] = f + if control: + c = rc['controls'][control]['mutation'] + if c['kind'] == 'drop_insert': edits['insert'] = [x for k, x in enumerate(edits['insert']) if k != c['k']] + elif c['kind'] == 'flip_insert_sign': edits['insert'][c['k']]['gate'][3] *= -1 + elif c['kind'] == 'frame': explicit[c['i']] = c['frame'] + elif c['kind'] == 'drop_edits': edits = dict(replace=[], delete=[], insert=[]) + elif c['kind'] == 'drop_raises': explicit = {int(i): f for i, f in rc['frames_741']} + elif c['kind'] == 'only_edits_of': + hs = set(c['h']) + edits = {k: [x for x in v if x['h'] in hs] for k, v in edits.items()} + explicit = {i: f for i, f in explicit.items() if i in {int(j) for j, _ in rc['frames_741']} or i in set(c['raises'])} + elif c['kind'] == 'empty': edits = dict(replace=[], delete=[], insert=[]); explicit = {} + else: raise SystemExit('unknown control') + B = [list(e) for e in B0]; tag = set(); dele = set(); ins = {} + for x in edits['replace']: + i = x['i'] + if B[i][:-1] != x['old']: raise Reject(('replace old mismatch', i)) + B[i] = list(x['new']) + [B[i][-1]]; tag.add(i) + for x in edits['delete']: + i = x['i'] + if B[i][:-1] != x['old']: raise Reject(('delete old mismatch', i)) + dele.add(i) + for x in edits['insert']: ins.setdefault(x['before'], []).append(list(x['gate']) + [None]) + NB, nt, key = [], set(), [] + for i, e in enumerate(B): + for g in ins.get(i, []): nt.add(len(NB)); NB.append(g); key.append(None) + if i in dele: continue + if i in tag: nt.add(len(NB)) + NB.append(e); key.append(i) + # frames + paid + R = w['report']['R']; n = 2 * V + R + END = [FULL] * V + [hyper(p) for p in w['ports']] + [FULL] * R + for q, U in w['helper_final'].items(): END[int(q)] = basis(U) + cur = [(p,) for p in w['ports']] + [()] * (V + R) + for q, U in w['start_extra'].items(): cur[int(q)] = basis(U) + paid = Counter() + for e in w['A']: + for q in registers(e): + U = basis(e[-1]); d = len(U) - len(cur[q]) + if d: paid[d] += 1 + cur[q] = U + lev = {int(t): basis(U) for t, U in w.get('target_levels', {}).items()} + for q, U in zip(w['centers'], w['center_frames']): + U = basis(U); served = {lev.get(e[1] - V, ()) for e in w['cut'] if e[2] == q} + for T in sorted(served, key=lambda x: -len(x)): + if T != U: paid[len(U) - len(T)] += 1 + U = T + used = set() + for j, e in enumerate(NB): + rs = registers(e); k = key[j] + if k is not None and k in explicit: base = list(explicit[k]); used.add(k) + elif j in nt or e[-1] is None: base = [] + else: base = list(e[-1]) + F = basis(base + [x for q in rs for x in cur[q]]) + if k is not None and k in explicit and F != basis(explicit[k]): raise Reject(('explicit frame below join', k)) + for q in rs: + if V <= q < 2 * V and not contained(F, END[q]): raise Reject(('cap', j, q)) + d = len(F) - len(cur[q]) + if d: paid[d] += 1 + cur[q] = F + NB[j] = list(e[:-1]) + [list(F)] + if used != set(explicit): raise Reject(('unused explicit frame', sorted(set(explicit) - used))) + newearly = [] + for i, U in w['early_cleanup']: + rs = registers(w['cleanup'][i]); F = basis(list(U) + [x for q in rs for x in cur[q]]) + for q in rs: + if w['helper_final'].get(str(q)) is not None and not contained(F, END[q]): raise Reject(('tailend', i, q)) + d = len(F) - len(cur[q]) + if d: paid[d] += 1 + cur[q] = F + newearly.append([i, list(F)]) + for q in range(n): + if not contained(cur[q], END[q]): raise Reject(('end', q)) + d = len(END[q]) - len(cur[q]) + if d: paid[d] += 1 + # exactness of the B segment + a, b = symstate([e[:-1] for e in B0]), symstate([e[:-1] for e in NB]) + bad = sorted(q for q in set(a) | set(b) if a.get(q, {q: Fr(1)}) != b.get(q, {q: Fr(1)})) + if bad: raise Reject(('exactness rows', bad)) + w['B'] = NB; w['early_cleanup'] = newearly + w['report'] = dict(w['report']); w['report']['local_profile'] = {str(k): v for k, v in sorted(paid.items())} + return w + +def main(): + ap = argparse.ArgumentParser(); ap.add_argument('--input', required=True); ap.add_argument('--recipe', required=True) + ap.add_argument('--out'); ap.add_argument('--control'); ap.add_argument('--no-pin', action='store_true') + a = ap.parse_args() + w = json.loads(gzip.decompress(open(a.input, 'rb').read())); rc = json.load(open(a.recipe)) + if csha(w) != rc['input_content_sha256']: print('REJECT input pin'); sys.exit(2) + pin = rc['controls'][a.control].get('rejection_expected') if a.control else None + try: o = build(w, rc, a.control) + except Reject as r: + got = json.loads(json.dumps(r.args[0])); print('REJECT', json.dumps(got)) + if pin is not None: + print('CONTROL', 'PINNED' if got == pin else 'PIN MISMATCH %s' % json.dumps(pin)); sys.exit(0 if got == pin else 4) + sys.exit(2) + if pin is not None and not a.no_pin: print('CONTROL NOT REJECTED, pinned', json.dumps(pin)); sys.exit(4) + s = csha(o) + exp = rc['controls'][a.control].get('expected_sha') if a.control else rc['expected']['output_content_sha256'] + print('OK', s, o['report']['local_profile']) + if a.out: open(a.out, 'wb').write(gzip.compress(json.dumps(o, sort_keys=True, separators=(',', ':')).encode(), mtime=0)) + if not a.no_pin and exp and s != exp: print('REJECT output pin', exp); sys.exit(3) + +if __name__ == '__main__': main() diff --git a/research/gauge44-leaver/construction/jx/reproduce_jx.py b/research/gauge44-leaver/construction/jx/reproduce_jx.py new file mode 100644 index 0000000000..6829a1b25d --- /dev/null +++ b/research/gauge44-leaver/construction/jx/reproduce_jx.py @@ -0,0 +1,99 @@ +#!/usr/bin/env python3 +"""Rebuild the X4 word (JointXF: joint read-set exchange on four further copy-pair instances plus explicit B frame +raises, including chafreaky's PR741 eight frames) and its native locals. + +Input: a fresh `construction/sw4/reproduce_sw4.py --recipe P6k4` output directory; its SW4 word (d232183f...) is pinned +there and by RECIPE-X4.json. Steps, each checked exactly: + 1. jx: build_jx.py (standard library only; JointXF) applies the recipe's explicit B edits (replace / delete / insert, + each old gate asserted), the PR741 frames and the explicit raises, repairs all other frames monotonically, checks + target frames inside u_t^perp, tails and ends, and the exactness of the whole B segment (rational replay), and + pins the output sha. + 2. jx-controls: every control in the recipe is rebuilt and must reproduce its pinned outcome exactly: a pinned + rejection site (exit 0 with CONTROL PINNED) or a pinned output sha. C1_741_only must reproduce PR741's word + e78047028c... (the construction/frames step's output); C0_identity reproduces the input. + 3. layer-end-controls: ../layers_p6n/layer_end_controls.py (per-end variant) on the X4 word; count pinned. + 4. native, ledgers, local-replay, wrappers, phases: PR635's native local programs; canonical word, local programs + and Clifford recipes pinned (LOCAL-PINS-jx-X4.json). +Apache-2.0. Driver by ColdWitness around JointXF's builder. +""" +import argparse, gzip, hashlib, json, os, subprocess, sys, time +from pathlib import Path + +HERE = Path(__file__).resolve().parent +P6 = HERE.parent / 'layers_p6n' + + +def read(p): + raw = Path(p).read_bytes() + return json.loads(gzip.decompress(raw) if str(p).endswith('.gz') else raw) + + +def main(): + assert __debug__, 'Assertions are required' + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--main', type=Path, required=True) + ap.add_argument('--pr635', type=Path, required=True) + ap.add_argument('--sw4-dir', type=Path, required=True, help='construction/sw4/reproduce_sw4.py output') + ap.add_argument('--recipe', default='X4', help='RECIPE-.json and LOCAL-PINS-jx-.json') + ap.add_argument('--out', type=Path, required=True) + ap.add_argument('--skip-phases', action='store_true') + a = ap.parse_args() + out = a.out.resolve(); assert not out.exists(); out.mkdir(parents=True) + up = a.pr635.resolve() / 'research/complex-571-cold14-st2' + src = a.main.resolve() / 'research/complex-k492-owner-repair/vendor/multicold' + base = src / 'vendor/pr558'; parent = base / 'vendor/pr552' + rfile = HERE / ('RECIPE-%s.json' % a.recipe); rec = read(rfile); pins = read(HERE / ('LOCAL-PINS-jx-%s.json' % a.recipe)) + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONUTF8='1', PYTHONINTMAXSTRDIGITS='0', + MULTICOLD_SOURCE=str(src), GAIN_PR564_SOURCE=str(src)) + for k in ('PYTHONOPTIMIZE', 'XPARAM', 'EXTRAH', 'PAIRING_RANKS', 'DIAG', 'HYBBUDGET', 'PR635_CODE'): env.pop(k, None) + steps = [] + + def run(label, script, *args, portable=True, ok=(0,)): + t = time.monotonic() + cmd = [sys.executable, '-B'] + ([str(src / 'code/run_portable.py')] if portable else []) + [str(script), *map(str, args)] + with (out / (label + '.log')).open('w') as f: + rc = subprocess.call(cmd, env=env, stdout=f, stderr=subprocess.STDOUT) + steps.append(dict(step=label, exit_code=rc, seconds=round(time.monotonic() - t, 3))) + (out / 'STEPS.json').write_text(json.dumps(steps, indent=2) + '\n') + assert rc in ok, (label, rc) + print('PASS', label, flush=True) + return (out / (label + '.log')).read_text() + + inp = a.sw4_dir.resolve() / 'sw4/FULL-WORD.json.gz' + assert hashlib.sha256(gzip.decompress(inp.read_bytes())).hexdigest() == rec['input_content_sha256'], 'input must be the pinned SW4 word' + (out / 'jx').mkdir(); word = out / 'jx/FULL-WORD.json.gz' + run('jx', HERE / 'build_jx.py', '--input', inp, '--recipe', rfile, '--out', word, portable=False) + assert hashlib.sha256(gzip.decompress(word.read_bytes())).hexdigest() == rec['expected']['output_content_sha256'] + assert len(rec['controls']) == pins['jx_controls'], len(rec['controls']) + results = {} + for name, c in sorted(rec['controls'].items()): + log = run('jx-control-' + name, HERE / 'build_jx.py', '--input', inp, '--recipe', rfile, '--control', name, portable=False) + if 'rejection_expected' in c: + assert 'CONTROL PINNED' in log, (name, log[-300:]); results[name] = dict(rejected=c['rejection_expected']) + else: + assert ('OK ' + c['expected_sha']) in log, (name, log[-300:]); results[name] = dict(sha=c['expected_sha']) + assert rec['controls']['C1_741_only']['expected_sha'] == rec['frames_741_source']['frames_only_output_sha'] + (out / 'JX-CONTROLS.json').write_text(json.dumps(dict(status='PASS_JX_PINNED_CONTROLS', controls=results), indent=1) + '\n') + routing = parent / 'complex-local/inputs/phase-baseline/CANONICAL-WORD.json.gz' + env['PR635_CODE'] = str(up / 'code') + run('layer-end-controls', P6 / 'layer_end_controls.py', word, routing, out / 'controls') + env.pop('PR635_CODE') + ctl = read(out / 'controls/COLD-END-CONTROLS.json') + assert ctl['status'] == 'PASS_COLD_END_RAW_WORD_CONTROLS' and len(ctl['rejected']) == pins['layer_controls'], len(ctl['rejected']) + local = out / 'local' + run('native', up / 'code/hpe_audit_and_transport.py', '--raw', word, '--routing', routing, '--out', local) + assert hashlib.sha256(gzip.decompress((local / 'CANONICAL-WORD.json.gz').read_bytes())).hexdigest() == pins['canonical_sha256'], 'canonical word' + run('ledgers', up / 'code/hpe_emit_local.py', local) + run('local-replay', up / 'code/hpe_audit_local.py', local) + run('wrappers', up / 'code/hpe_adapters_local.py', local / 'CANONICAL-WORD.json.gz', + local / 'RESIDUAL-ADAPTERS.json', local / 'WRAPPER-CHECKS.json') + checks = read(local / 'LOCAL-CHECKS.json') + for o, s in pins['program_sha256'].items(): assert checks[o]['sha256'] == s, ('local program', o) + if not a.skip_phases: + run('phases', base / 'code/phases_full.py', local, parent / 'complex-global/vendor531/vendor/clifford') + assert hashlib.sha256((local / 'CLIFFORD-RECIPES.json').read_bytes()).hexdigest() == pins['clifford_recipes_sha256'], 'clifford recipes' + print('DONE', local, flush=True) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-leaver/construction/layers/build_pivot_swap.py b/research/gauge44-leaver/construction/layers/build_pivot_swap.py new file mode 100644 index 0000000000..b225601c01 --- /dev/null +++ b/research/gauge44-leaver/construction/layers/build_pivot_swap.py @@ -0,0 +1,160 @@ +"""Cost-neutral pivot-role swaps inside existing entrance-kernel families. Apache-2.0. Prepared with Claude Code +assistance. The pivot/donor role exchange follows PR266's "pivot role is moved" idea (bit side), applied here to the +complex supplier's multicut kernel families (PR568 build_multicut_kernels.py shape). + +A kernel family on the input word is an entering helper p (start_extra E) together with the gates that read p at frame +E before any other touch of p: d += c_d * p @E (d a helper or, in B, a target). They cancel p's complete dirty +response: col(p) + sum_d c_d * col_{g_d}(d) = 0, where col_{g}(d) is d's suffix response from gate g on. + +Swap to the new pivot x (a helper donor of the family with exactly one family gate g_x = x's FIRST touch, and no other +touch of x up to the family's last gate): + g_x : x += c_x p -> p += (1/c_x) x + g_d : d += c_d p -> d += (c_d/c_x) x (d != x, same position and frame E) + start_extra: p -> x (same E); cleanup regenerated by the inherited inverse rule. +Exactness (PROOF-NOTE-PIVOT.md): x holds only its initial dirt at every rewritten gate, and p holds only its initial dirt +until g_x, so x's new response is col(x) + col(p)/c_x + sum_d (c_d/c_x) col_{g_d}(d) = (c_x col(x) + col(p) + +sum_d c_d col_{g_d}(d)) / c_x = 0, because col(x) = col_{g_x}(x). This script checks it by exact rational replay anyway. +Cost: the frame chains of p and x are exchanged (p now climbs [] -> E at g_x where x did; x starts at E where p did), so +gk_word.profile and the width multiset are unchanged; both are asserted. + +Recipe: {input_content_sha256, output_content_sha256, swaps: [{pivot, new_pivot, entrance, gates: [{part, index, +before, after}]}]}. Every expected `after` gate is recomputed from the rule above and must equal the recipe. + +Negative controls (--controls): mutated recipes/words that must be rejected at pinned reasons: + * nonzero response: another family gate's rescaled coefficient has the wrong sign; + * wrong pivot coefficient: g_x's new coefficient doubled; + * wrong entrance: the recipe's entrance is not p's start_extra; + * non-family gate: a recipe gate whose `before` is not the word's gate; + * new pivot touched in the window: x replaced by a family donor that is not a fresh helper (a target donor, or the + first other helper donor when the family has no target donor). +""" +from pathlib import Path +from collections import Counter +from fractions import Fraction as Q +import argparse, copy, gzip, hashlib, json, sys +assert __debug__, 'Assertions required' +ap = argparse.ArgumentParser() +for k in ('--input', '--recipe', '--gk-dir', '--out'): ap.add_argument(k, type=Path, required=True) +a = ap.parse_args(); assert not a.out.exists() +sys.path.insert(0, str(a.gk_dir)); import gk_word as G, gk_common as C +G.V = C.V = 112; G.DATA = C.DATA = 7168 +V = 112 +raw = json.loads(gzip.decompress(a.input.read_bytes())); recipe = json.loads(a.recipe.read_text()) +enc = lambda x: json.dumps(x, sort_keys=True, separators=(',', ':')).encode(); sha = lambda x: hashlib.sha256(x).hexdigest() +regs = lambda e: [e[1]] + ([e[2]] if e[0] == 'add' else []) +inv_rule = lambda w: [G.inverse(e, G.FULL) for e in reversed(w['A'] + w['B']) if not V <= e[1] < 2 * V] +dy = lambda q: q != 0 and q.denominator & (q.denominator - 1) == 0 + + +def response(w, h): + rows = {} + def get(r): return rows.setdefault(r, {r: Q(1)}) + for e in w['A'] + w['cut'] + w['B']: + if e[0] == 'scale': + q = Q(e[2], e[3]); rows[e[1]] = {j: q * x for j, x in get(e[1]).items()} + else: + t, s = e[1], e[2]; q = Q(e[3], e[4]); src = get(s); tgt = get(t) + for j, x in list(src.items()): + z = tgt.get(j, Q(0)) + q * x + if z: tgt[j] = z + else: tgt.pop(j, None) + return {r: rows[r][h] for r in range(V, 2 * V) if r in rows and rows[r].get(h)} + + +def build(w0, rec): + w = copy.deepcopy(w0); n = 2 * V + w['report']['R'] + assert w['cleanup'] == inv_rule(w), 'input cleanup is not the inherited inverse rule' + P0 = G.profile(w); W0 = Counter(C.widths_of(w)) + AB = [('A', i) for i in range(len(w['A']))] + [('B', i) for i in range(len(w['B']))] + pos = {k: j for j, k in enumerate(AB)} + seen = set(); receipts = []; rules = [] + for s in rec['swaps']: + p, x, E = s['pivot'], s['new_pivot'], s['entrance'] + assert 2 * V <= p < n and w['start_extra'].get(str(p)) == E, 'pivot is not an entering helper at the entrance' + assert 2 * V <= x < n and x not in w['centers'], 'new pivot must be a helper' + assert str(x) not in w['start_extra'], 'new pivot already entering' + assert not {p, x} & seen, 'registers shared between swaps'; seen |= {p, x} + gs = s['gates']; ks = [pos[(g['part'], g['index'])] for g in gs] + assert ks == sorted(ks) and len(set(ks)) == len(ks) + for g in gs: + e = w[g['part']][g['index']] + assert e == g['before'], 'recipe gate is not the word gate' + assert e[0] == 'add' and e[2] == p and e[1] != p and list(e[-1]) == list(E), 'not a family gate (d += c p @E)' + touch = lambda r: [j for j, (part, i) in enumerate(AB) if r in regs(w[part][i])] + tp = touch(p); assert tp[:len(ks)] == ks, 'family gates must be all touches of the pivot up to its first other touch' + gx = [k for k, g in zip(ks, gs) if g['before'][1] == x]; assert len(gx) == 1, 'new pivot must have exactly one family gate' + tx = touch(x); assert tx[0] == gx[0], 'new pivot touched before its family gate' + assert len(tx) == 1 or tx[1] > ks[-1], 'new pivot touched inside the family window' + cx = Q(*[g['before'][3:5] for g in gs if g['before'][1] == x][0]) + for g in gs: + d, f = g['before'][1], g['after'] + assert f[0] == 'add' and list(f[-1]) == list(E) and (f[1:3] == [p, x] if d == x else f[1:3] == [d, x]), 'after-gate shape' + assert dy(Q(f[3], f[4])), 'non-dyadic swapped coefficient' + w[g['part']][g['index']] = f + q = 1 / cx if d == x else Q(g['before'][3], g['before'][4]) / cx + rules.append((f, ['add', p, x, q.numerator, q.denominator, list(E)] if d == x else ['add', d, x, q.numerator, q.denominator, list(E)])) + w['start_extra'][str(x)] = w['start_extra'].pop(str(p)) + receipts.append(dict(pivot=p, new_pivot=x, entrance=E, family_gates=len(gs))) + w['cleanup'] = inv_rule(w) + for s in rec['swaps']: + assert not response(w, s['new_pivot']), 'new pivot dirty response not zero' + assert all(f == e for f, e in rules), 'recipe after-gate is not the swap rule' + P1 = G.profile(w) + assert P1 == P0, 'paid profile not identical (swap is not cost-neutral)' + assert Counter(C.widths_of(w)) == W0, 'width multiset changed' + w['report']['local_profile'] = {str(k): v for k, v in sorted(P1.items())} + w['report']['local_rank_mass'] = sum(k * v for k, v in P1.items()) + return w, receipts + + +assert sha(enc(raw)) == recipe['input_content_sha256'], 'input content' +out, receipts = build(raw, recipe) +o = enc(out); assert sha(o) == recipe['output_content_sha256'], sha(o) + +# ---- negative controls ------------------------------------------------------------------------------------------- +WHY = dict(nonzero='new pivot dirty response not zero', coef='new pivot dirty response not zero', + entrance='paid profile not identical', nonfamily='recipe gate is not the word gate', + window='new pivot') +controls = [] + + +def reject(name, mut, why): + r = copy.deepcopy(recipe); w = copy.deepcopy(raw) + mut(r, w) + try: + build(w, r) + except AssertionError as ex: + msg = str(ex) + assert why in msg, ('control rejected for the wrong reason', name, msg) + controls.append(dict(control=name, reason=msg)); return + raise AssertionError('control accepted: ' + name) + + +for si, s in enumerate(recipe['swaps']): + x = s['new_pivot']; tag = '%d->%d' % (s['pivot'], x) + def m_other(r, w, si=si): + g = [g for g in r['swaps'][si]['gates'] if g['before'][1] != r['swaps'][si]['new_pivot']][0] + g['after'] = list(g['after']); g['after'][3] = -g['after'][3] + def m_coef(r, w, si=si): + g = [g for g in r['swaps'][si]['gates'] if g['before'][1] == r['swaps'][si]['new_pivot']][0] + g['after'] = list(g['after']); g['after'][3] *= 2 + def m_nonfamily(r, w, si=si): + g = r['swaps'][si]['gates'][0]; g['before'] = list(g['before']); g['before'][3] = -g['before'][3] + def m_window(r, w, si=si): + S = r['swaps'][si]; S['new_pivot'] = [g['before'][1] for g in S['gates'] if g['before'][1] != S['new_pivot']][0] + def m_entrance(r, w, si=si): + S = r['swaps'][si]; S['entrance'] = [1] + reject('swap %s: another family gate keeps a wrong (unrescaled-sign) coefficient: new pivot response nonzero' % tag, m_other, WHY['nonzero']) + reject('swap %s: wrong pivot coefficient (1/c doubled) on the new pivot gate' % tag, m_coef, WHY['coef']) + reject('swap %s: non-family gate in the recipe' % tag, m_nonfamily, WHY['nonfamily']) + reject('swap %s: new pivot replaced by another family donor (not a fresh cold helper)' % tag, m_window, WHY['window']) + reject('swap %s: wrong entrance frame for the moved entrance' % tag, m_entrance, 'pivot is not an entering helper at the entrance') +controls_receipt = list(controls) + +a.out.mkdir(parents=True); (a.out / 'FULL-WORD.json.gz').write_bytes(gzip.compress(o, mtime=0)) +rc = dict(status='PASS_COST_NEUTRAL_PIVOT_SWAPS', input_content_sha256=recipe['input_content_sha256'], + output_content_sha256=recipe['output_content_sha256'], swaps=receipts, local_profile=out['report']['local_profile'], + negative_controls_rejected=controls_receipt, + scope='Exact family rewrite, exact zero dirty response of every new pivot, identical paid profile and widths, ' + 'regenerated inverse-rule cleanup. Native all-column audit, HPE/cold steps and global checks remain separate.') +(a.out / 'PIVOT-SWAP.json').write_text(json.dumps(rc, indent=2, sort_keys=True) + '\n', newline='\n'); print(json.dumps(rc, indent=2)) diff --git a/research/gauge44-leaver/construction/layers/layer_end_controls.py b/research/gauge44-leaver/construction/layers/layer_end_controls.py new file mode 100644 index 0000000000..317da36d95 --- /dev/null +++ b/research/gauge44-leaver/construction/layers/layer_end_controls.py @@ -0,0 +1,201 @@ +"""layer_end_controls.py LAYERED-WORD.json.gz ROUTING OUTDIR (env PR635_CODE): adapted PR635 cold_end_controls.py (LayerReviewer): raw-word negative controls for the cold low-frame ends and the +refactored cleanup accepted by hpe_audit_and_transport.py. Every mutation MUST be rejected (AssertionError); the +unmutated word MUST pass. Apache-2.0. DreamingOfClouds with Claude Opus 5.5 (Anthropic), via Claude Code.""" +import copy, gzip, json, shutil, sys, tempfile +from pathlib import Path +import os +sys.path.insert(0, os.environ['PR635_CODE']) # PR635's unchanged hpe_audit_and_transport.py +import hpe_audit_and_transport as atc + +src, routing, outdir = Path(sys.argv[1]), Path(sys.argv[2]), Path(sys.argv[3]) +word = json.load(gzip.open(src)) +v, R = word['report']['v'], word['report']['R']; n = 2*v + R +regs = lambda e: [e[1]] + ([e[2]] if e[0] == 'add' else []) +meta = word['refactored_cleanup'] +cold = [int(h) for h in meta['cold_low_frame_ended_helpers']] +npre = meta['premix_gates']; nlow = meta['lower_frame_gates'] +early = word['early_cleanup']; eidx = {i for i, _ in early} +rest = [i for i in range(len(word['cleanup'])) if i not in eidx] + + +def trial(w): + """None if the transport audit accepts w, else the AssertionError message.""" + tmp = Path(tempfile.mkdtemp()) + p = tmp/'w.json.gz'; p.write_bytes(gzip.compress(json.dumps(w).encode(), mtime=0)) + try: + atc.run(p, routing, tmp/'out') + return None + except AssertionError as e: + return repr(e.args[0]) if e.args else 'AssertionError' + finally: + shutil.rmtree(tmp, ignore_errors=True) + + +# Pinned rejection reasons: each mutant must fail at this assertion of hpe_audit_and_transport.py (message substring). +ENDPOINT, COLDPRE, CONE = "'arbitrary-dirt endpoint'", 'touches a cold hyperplane-ended helper', 'hpe cone pre-check (row / column)' +WHY = dict(premix_to_precondition=COLDPRE, premix_dropped=COLDPRE, e_premix_dropped=ENDPOINT, lower_dropped=ENDPOINT, + remainder_dropped=ENDPOINT, coefficient=ENDPOINT, into_full='cleanup on non-FULL end', dyadic=ENDPOINT, frame_below="'nonmonotone'", + nonmonotone="'nonmonotone'", other_frame=CONE, cone=CONE, extra_end=COLDPRE, marker='cleanup is not the literal reversed inverse', + target='refactored cleanup touches a target', profile_pin='paid local profile differs from the reported local_profile', + entering_precondition='zero-frame precondition/compensation touches an entering helper') +assert trial(word) is None, 'unmutated cold-end word must pass' +results = [] + + +def reject(name, mut, why): + """the mutation must be rejected, and for the pinned reason (a substring of the audit's assertion message).""" + w = copy.deepcopy(word); mut(w) + msg = trial(w) + assert msg is not None, 'cold-end mutation accepted: ' + name + assert why in msg, 'cold-end mutation %r rejected for the wrong reason: %s' % (name, msg[:300]) + results.append(name); print('rejected', name, '|', why, flush=True) + + +h0 = cold[0] +i0, U0 = next((i, f) for i, f in early if h0 in regs(word['cleanup'][i])) +r0 = rest[len(rest)//2] + + +def premix_to_precondition(w): # premix before the wrappers; compensation then reads the cold ends + w['precondition'] = w['precondition'] + w['A'][:npre]; w['A'] = w['A'][npre:] + + +def lower_gate_into_full(w): # a lower-frame gate on a cold-ended helper executed in the FULL remainder instead + w['early_cleanup'] = [x for x in w['early_cleanup'] if x[0] != i0] + + +def drop_cleanup_gate(w, i): # remove the gate AND its early_cleanup entry: a structurally valid word missing one gate + w['cleanup'].pop(i) + w['early_cleanup'] = [[j - (j > i), f] for j, f in w['early_cleanup'] if j != i] + + +def other_frame(w): # a different frame of the same dimension as the cold end (another cold helper's) + f = next(w['helper_final'][str(h)] for h in cold if w['helper_final'][str(h)] != w['helper_final'][str(h0)]) + w['helper_final'][str(h0)] = f + + +def extra_cold_end(w): # declare a premixed partner of h0 cold-ended at h0's frame: fails the row/column cone + p = next(r for e in w['A'][:npre] for r in regs(e) if r != h0 and h0 in regs(e)) + w['helper_final'][str(p)] = w['helper_final'][str(h0)] + + +reject('premix placed in the zero-frame precondition (before the cold wrappers)', premix_to_precondition, WHY['premix_to_precondition']) +reject('one premix gate dropped (the compensation then reads a cold-ended helper)', lambda w: w['A'].pop(npre - 1), WHY['premix_dropped']) +reject('one lower-frame cleanup gate dropped (gate and its early_cleanup entry)', lambda w: drop_cleanup_gate(w, i0), WHY['lower_dropped']) +reject('one FULL-remainder gate dropped', lambda w: drop_cleanup_gate(w, r0), WHY['remainder_dropped']) +reject('lower-frame gate coefficient changed', lambda w: w['cleanup'][i0].__setitem__(3, w['cleanup'][i0][3] * 2), WHY['coefficient']) +reject('lower-frame gate moved into the FULL remainder (touches a cold-ended helper at FULL)', lower_gate_into_full, WHY['into_full']) +reject('lower-frame gate frame below its registers\' frames', lambda w: next(x for x in w['early_cleanup'] if x[0] == i0).__setitem__(1, U0[:-1]), WHY['frame_below']) +reject('cold end at another dim-4 frame', other_frame, WHY['other_frame']) +# PROFILE-PIN control: without its helper_final entry the cold-ended helper is a valid FULL-ended helper; the word is +# rejected because its reported paid profile (which counts the low end) no longer matches the frame chains. +reject('profile pin: cold end dropped (valid FULL end, but the reported profile counts the low end)', lambda w: w['helper_final'].pop(str(h0)), WHY['profile_pin']) +reject('extra cold end on a premixed partner (the compensation reads it before its wrapper)', extra_cold_end, WHY['extra_end']) +reject('refactored-cleanup marker removed (literal-inverse rule applies)', lambda w: w.pop('refactored_cleanup'), WHY['marker']) +reject('remainder gate retargeted to a target register', lambda w: w['cleanup'][r0].__setitem__(1, v + 3), WHY['target']) +reject('non-dyadic remainder coefficient', lambda w: w['cleanup'][r0].__setitem__(4 if w['cleanup'][r0][0] == 'add' else 3, 3 * w['cleanup'][r0][4 if w['cleanup'][r0][0] == 'add' else 3]), WHY['dyadic']) +reject('profile not updated (paid climbs misreported)', lambda w: w['report']['local_profile'].__setitem__('5', w['report']['local_profile']['5'] - 1), WHY['profile_pin']) +ent = [int(h) for h in sys.argv[4].split(',')] if len(sys.argv) > 4 else [int(h) for h in meta.get('entering_low_frame_ended_helpers', [])] +for e0 in ent: # ENTERING LOW-FRAME ENDS (ColdSupply extension; every entering end; absent for words without them) + j0 = next((i for i, e in enumerate(word['A'][:npre]) if e0 in regs(e)), None) + print('entering end', e0, 'premix gate', j0, flush=True) + k0, Ue = next((i, f) for i, f in early if e0 in regs(word['cleanup'][i])) + def to_pre(w, j0=j0): w['precondition'].append(w['A'][j0]); w['A'].pop(j0) + def other_hp(w, e0=e0, Ue=Ue): w['helper_final'][str(e0)] = next(f for h, f in w['helper_final'].items() if len(f) == len(Ue) and sorted(f) != sorted(Ue)) + if j0 is not None: reject('entering end %d: premix gate dropped' % e0, lambda w, j0=j0: w['A'].pop(j0), WHY['e_premix_dropped']) + if j0 is not None: reject('entering end %d: premix gate at frame [] instead of its entrance E' % e0, lambda w, j0=j0: w['A'][j0].__setitem__(-1, []), WHY['nonmonotone']) + if j0 is not None: reject('entering end %d: premix gate moved into the zero-frame precondition' % e0, to_pre, WHY['entering_precondition']) + reject('entering end %d: lower-frame gate dropped (gate and its early_cleanup entry)' % e0, lambda w, k0=k0: drop_cleanup_gate(w, k0), WHY['lower_dropped']) + reject('entering end %d: profile pin: end dropped (valid FULL end, but the reported profile counts the low end)' % e0, lambda w, e0=e0: w['helper_final'].pop(str(e0)), WHY['profile_pin']) + reject('entering end %d: end at another hyperplane' % e0, other_hp, WHY['cone']) +# Pinned rejection reasons of the COLD-BEYOND mutants (substrings of hpe_audit_and_transport.py assertion messages). +MYWHY = dict(tw_precondition=COLDPRE, tw_dropped=COLDPRE, tw_coefficient=COLDPRE, tw_other_block=COLDPRE, + tw_entering='zero-frame compensation reads an entering helper', + ab_dropped=ENDPOINT, ab_coefficient=ENDPOINT, ab_early=ENDPOINT, ab_live=ENDPOINT, ab_centre=ENDPOINT, + ab_lower="'nonmonotone'", ab_higher="'nonmonotone'", + sh_dropped=ENDPOINT, sh_coefficient=ENDPOINT, rel_dropped=ENDPOINT, rel_coefficient=ENDPOINT, rel_live=ENDPOINT, + h8_other=CONE, h8_lower=ENDPOINT) +# COLD-BEYOND primitives (present only when the word carries them): frame-[] target writes in the premix (explicit +# post-wrapper compensation of an ended helper's dirt) and forward absorptions into dead registers. +nw = meta.get('premix_target_writes', 0) +if nw: + wi = [i for i in range(npre) if v <= word['A'][i][1] < 2*v] + assert len(wi) == nw + + def writes_to_precondition(w): # the target writes run before the cold wrappers (inside the zero-frame precondition) + g = [w['A'][i] for i in wi]; w['precondition'] = w['precondition'] + g + w['A'] = [e for i, e in enumerate(w['A']) if i not in set(wi)] + reject('premix target writes placed in the zero-frame precondition (before the cold wrappers)', writes_to_precondition, MYWHY['tw_precondition']) + reject('one premix target write dropped (compensation must read an ended helper)', lambda w: w['A'].pop(wi[0]), MYWHY['tw_dropped']) + reject('premix target write coefficient changed', lambda w: w['A'][wi[0]].__setitem__(3, w['A'][wi[0]][3] * 2), MYWHY['tw_coefficient']) + # (reading another register that carries the SAME weight of the ended helper's dirt is a valid variant, so the mutant reads + # the same factory slot of the next block, which carries none of it) + entering_regs = sorted(int(r) for r in word.get('start_extra', {})) + reject('premix target write reads an entering helper', lambda w: w['A'][wi[0]].__setitem__(2, entering_regs[0]), MYWHY['tw_entering']) + reject('premix target write reads a cold helper of another block', lambda w: w['A'][wi[0]].__setitem__(2, 2*v + (w['A'][wi[0]][2] - 2*v + 16) % 224), MYWHY['tw_other_block']) +ab = meta.get('forward_absorption_A_indices', []) +if any(len(word['helper_final'][str(h)]) == 8 for h in cold): + # with dim-8 cold ends, the centre-retargeted absorption first leaks an ended helper's dirt into the cut's targets + MYWHY['ab_centre'] = COLDPRE +if ab: + # the ColdBeyond U_b absorption (q += -1/2 g); ColdThird's extra absorptions have their own controls below + a0 = next(a for a in ab if word['A'][a][3] * 2 == -word['A'][a][4]); g0 = word['A'][a0] + + def absorption_moved_early(w): # absorbed before the absorbed register's last kernel write + e = w['A'].pop(a0); j = max(i for i in range(npre, a0) if g0[2] == w['A'][i][1] and w['A'][i][-1] == g0[-1]) + w['A'].insert(j, e) + + def absorption_into_live(w): # q += a g moved right after g's previous frame-mate gate, while q is still live + e = w['A'].pop(a0); j = max(i for i in range(npre, a0) if g0[1] in regs(w['A'][i])) + w['A'].insert(j, e) + reject('forward absorption dropped', lambda w: w['A'].pop(a0), MYWHY['ab_dropped']) + reject('forward absorption into a centre (a live register read by the cut)', lambda w: w['A'][a0].__setitem__(1, next(c for c in word['centers'] if c not in g0[1:3] and c not in cold)), MYWHY['ab_centre']) + reject('forward absorption coefficient changed', lambda w: w['A'][a0].__setitem__(3, w['A'][a0][3] * 2), MYWHY['ab_coefficient']) + reject('forward absorption placed before the absorbed register\'s last kernel write', absorption_moved_early, MYWHY['ab_early']) + reject('forward absorption placed while the absorbing register is still live', absorption_into_live, MYWHY['ab_live']) + reject('forward absorption at a lower frame than its registers', lambda w: w['A'][a0].__setitem__(-1, w['A'][a0][-1][:-1]), MYWHY['ab_lower']) + reject('forward absorption at a higher frame (FULL) than its registers', lambda w: w['A'][a0].__setitem__(-1, [256, 128, 64, 32, 16, 8, 4, 2, 1]), MYWHY['ab_higher']) +# COLD-THIRD primitives (present only when the word carries them): several absorptions after one input gate, dirt-release +# absorptions (a dead port takes a live helper's value so that a hyperplane unit's column has no dirt on it), and cold ends at +# a dim-8 frame with lifted partners. +hyper = [h for h in cold if len(word['helper_final'][str(h)]) == 8] +if hyper and ab: + sh = next(a for a, b in zip(ab, ab[1:]) if b == a + 1) # two absorptions sharing one input anchor + rel = next(a for a in ab if a - 1 not in ab and a + 1 not in ab and word['A'][a][2] in hyper and word['A'][a][3] * 2 != -word['A'][a][4]) + hh = hyper[0]; ih = next(i for i, f in early if hh in regs(word['cleanup'][i])) + reject('second absorption sharing an input anchor dropped', lambda w: w['A'].pop(sh + 1), MYWHY['sh_dropped']) + reject('shared-anchor absorption coefficient changed', lambda w: w['A'][sh + 1].__setitem__(3, w['A'][sh + 1][3] * 2), MYWHY['sh_coefficient']) + reject('dirt-release absorption dropped', lambda w: w['A'].pop(rel), MYWHY['rel_dropped']) + reject('dirt-release absorption coefficient changed', lambda w: w['A'][rel].__setitem__(3, w['A'][rel][3] * 2), MYWHY['rel_coefficient']) + jr = max(i for i in range(npre, rel) if word['A'][i][0] == 'add' and word['A'][i][2] == word['A'][rel][1]) + + def release_while_read(w): # the release runs before a kernel gate that still READS the port (port live) + e = w['A'].pop(rel); w['A'].insert(jr, e) + reject('dirt-release absorption moved before a kernel gate that still reads the port', release_while_read, MYWHY['rel_live']) +if hyper: + # dim-8 cold-end controls once PER DISTINCT dim-8 terminal frame (each family of dim-8 cold ends keeps its own controls) + fams = [] + for h in hyper: + if sorted(word['helper_final'][str(h)]) not in [sorted(word['helper_final'][str(x)]) for x in fams]: fams.append(h) + for hh in fams: + ih = next(i for i, f in early if hh in regs(word['cleanup'][i])) + Uh = word['helper_final'][str(hh)] + reject('dim-8 cold end %d (frame %s) at another dim-8 frame' % (hh, Uh), lambda w, hh=hh: w['helper_final'].__setitem__(str(hh), next(f for h, f in w['helper_final'].items() if len(f) == 8 and sorted(f) != sorted(w['helper_final'][str(hh)]))), MYWHY['h8_other']) + reject('dim-8 cold end %d (frame %s): one lower-frame gate dropped (gate and its early_cleanup entry)' % (hh, Uh), lambda w, ih=ih: drop_cleanup_gate(w, ih), MYWHY['h8_lower']) + reject('dim-8 cold end %d (frame %s): profile pin (end dropped)' % (hh, Uh), lambda w, hh=hh: w['helper_final'].pop(str(hh)), WHY['profile_pin']) +# FACTORED ACCUMULATOR (CarrierBypass; present only when the word carries one): a lower-frame tail gate a += x*g on two +# non-ended registers whose accumulator a is afterwards read by a dim-8 cold end's tail gate (h += y*a at its U). +ended_all = {int(h) for h in word['helper_final']} +tailg = [(i, word['cleanup'][i]) for i, _ in early] +accs = [] # EVERY factored accumulator gate (one per accumulator register a), each controlled on its own +for k, (i, e) in enumerate(tailg): + if e[0] == 'add' and e[1] not in ended_all and e[2] not in ended_all and len(next(f for j, f in early if j == i)) < 8: + if e[1] not in [word['cleanup'][j][1] for j in accs] and any(t[0] == 'add' and t[2] == e[1] and t[1] in hyper for _, t in tailg[k + 1:]): + accs.append(i) +for acc in accs: + a = word['cleanup'][acc][1] + reject('factored accumulator %d (gate %d) zeroed' % (a, acc), lambda w, acc=acc: w['cleanup'][acc].__setitem__(3, 0), ENDPOINT) + reject('factored accumulator %d (gate %d) coefficient doubled' % (a, acc), lambda w, acc=acc: w['cleanup'][acc].__setitem__(3, w['cleanup'][acc][3] * 2), ENDPOINT) +outdir.mkdir(parents=True, exist_ok=True) +(outdir/'COLD-END-CONTROLS.json').write_text(json.dumps(dict(status='PASS_COLD_END_RAW_WORD_CONTROLS', word=str(src), rejected=results), indent=1) + '\n') +print('PASS', len(results), 'cold-end raw-word mutations rejected') diff --git a/research/gauge44-leaver/construction/layers/reproduce_layers.py b/research/gauge44-leaver/construction/layers/reproduce_layers.py new file mode 100644 index 0000000000..ed517ba1dd --- /dev/null +++ b/research/gauge44-leaver/construction/layers/reproduce_layers.py @@ -0,0 +1,105 @@ +#!/usr/bin/env python3 +"""Rebuild the layered gauge44 word (pivot swaps + entering ends + factored dim-8 cold ends) and its native locals. + +Input: a fresh `construction/reproduce.py --until word` output directory (its regroup/ and cold44/ words are pinned +by reproduce.py itself). Steps, each checked exactly: + 1. pivot-swap: construction/layers/build_pivot_swap.py on regroup/FULL-WORD (six cost-neutral pivot-role swaps, + exact zero-response replay, unchanged profile and width multiset, 30 negative controls); + 2. hpe: the inherited jp8 hyperplane-end changes (HYPERPLANE-END-S6.json) applied with PR635's build_hpe.apply; + 3. cold44-exact: #645's build_gauge_cold44.py on the swapped HPE word; its 44 rank-four cold ends, premix and tail + must equal the unswapped cold44 construction's (the swaps touch no factory block); + 4. layers: PR635's unchanged build_cold_end.apply(HPE, COLD-LAYERS-RECIPE) - the cold44 recipe plus 8 entering ends + (560/561/572/573 at U24, 597/599/537/549 at U30) and 10 factored dim-8 cold ends; output sha pinned; + 5. layer-end-controls: raw-word negative controls on the layered word (PR635 cold_end_controls adapted by + LayerReviewer: lower->FULL pinned at 'cleanup on non-FULL end', entering ends from the recipe); 59 rejected; + 6. native, ledgers, local-replay, wrappers, phases: PR635's native local programs (as in reproduce.py). +""" +import argparse, gzip, hashlib, importlib.util, json, os, subprocess, sys, time +from pathlib import Path + +HERE = Path(__file__).resolve().parent +LAYERED_SHA = '0be48b1d8a6105059addf3f0d5e420c27ae3398b3a1186b6b11e9c4aa9e3f3d4' +LAYER_CONTROLS = 59 + + +def read(p): + raw = Path(p).read_bytes() + return json.loads(gzip.decompress(raw) if str(p).endswith('.gz') else raw) + + +def enc(x): return json.dumps(x, sort_keys=True, separators=(',', ':')).encode() + + +def load(name, path): + s = importlib.util.spec_from_file_location(name, path); m = importlib.util.module_from_spec(s); s.loader.exec_module(m); return m + + +def main(): + assert __debug__, 'Assertions are required' + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--main', type=Path, required=True) + ap.add_argument('--pr635', type=Path, required=True) + ap.add_argument('--word-dir', type=Path, required=True, help='construction/reproduce.py --until word output') + ap.add_argument('--out', type=Path, required=True) + ap.add_argument('--skip-phases', action='store_true') + a = ap.parse_args() + out = a.out.resolve(); assert not out.exists(); out.mkdir(parents=True) + up = a.pr635.resolve() / 'research/complex-571-cold14-st2' + src = a.main.resolve() / 'research/complex-k492-owner-repair/vendor/multicold' + base = src / 'vendor/pr558'; parent = base / 'vendor/pr552'; gk = parent / 'complex-local/static44/gk' + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONUTF8='1', PYTHONINTMAXSTRDIGITS='0', + MULTICOLD_SOURCE=str(src), GAIN_PR564_SOURCE=str(src)) + env.pop('PYTHONOPTIMIZE', None) + steps = [] + + def run(label, script, *args): + t = time.monotonic() + with (out / (label + '.log')).open('w') as f: + rc = subprocess.call([sys.executable, '-B', str(src / 'code/run_portable.py'), str(script), *map(str, args)], + env=env, stdout=f, stderr=subprocess.STDOUT) + steps.append(dict(step=label, exit_code=rc, seconds=round(time.monotonic() - t, 3))) + (out / 'STEPS.json').write_text(json.dumps(steps, indent=2) + '\n') + assert rc == 0, label + print('PASS', label, flush=True) + + wd = a.word_dir.resolve() + run('pivot-swap', HERE / 'build_pivot_swap.py', '--input', wd / 'regroup/FULL-WORD.json.gz', + '--recipe', HERE / 'PIVOT-SWAP-S6.json', '--gk-dir', gk, '--out', out / 'swap') + hpe = load('upstream_hpe', up / 'code/build_hpe.py') + w = hpe.apply(read(out / 'swap/FULL-WORD.json.gz'), read(HERE / 'HYPERPLANE-END-S6.json')['changes']) + (out / 'hpe').mkdir(); (out / 'hpe/FULL-WORD.json.gz').write_bytes(gzip.compress(enc(w), mtime=0)) + run('cold44-exact', HERE.parent / 'build_gauge_cold44.py', '--input', out / 'hpe/FULL-WORD.json.gz', + '--out', out / 'cold44', '--hamming', wd / 'hamming', '--upstream-package', up) + new, old = read(out / 'cold44/RECIPE.json.gz'), read(wd / 'cold44/RECIPE.json.gz') + # The swaps touch no factory block: the 44 ends, their premix and their low tails are identical; only the FULL + # inverse (rebuilt from the whole word) differs. + for key in ('premix', 'early_cleanup', 'cold_ends'): + assert new[key] == old[key], ('swapped cold44 differs from the pinned cold44 construction', key) + tail = len(new['early_cleanup']); assert new['cleanup'][:tail] == old['cleanup'][:tail], 'low tails' + bce = load('upstream_cold', up / 'code/build_cold_end.py') + layered = bce.apply(w, read(HERE / 'COLD-LAYERS-RECIPE.json.gz')) + raw = enc(layered); assert hashlib.sha256(raw).hexdigest() == LAYERED_SHA, 'layered word' + rep = layered['report'] + assert rep['local_profile'] == {'1': 2542, '2': 414, '3': 434, '4': 154, '5': 56, '8': 8}, rep['local_profile'] + assert rep['width_inventory'] == {'4': 52, '5': 48, '7': 42, '8': 116, '9': 234}, rep['width_inventory'] + (out / 'layers').mkdir(); word = out / 'layers/FULL-WORD.json.gz'; word.write_bytes(gzip.compress(raw, mtime=0)) + print('PASS layered scalar word', word, flush=True) + routing = parent / 'complex-local/inputs/phase-baseline/CANONICAL-WORD.json.gz' + env['PR635_CODE'] = str(up / 'code') + run('layer-end-controls', HERE / 'layer_end_controls.py', word, routing, out / 'controls') + ctl = json.loads((out / 'controls/COLD-END-CONTROLS.json').read_text()) + assert ctl['status'] == 'PASS_COLD_END_RAW_WORD_CONTROLS' and len(ctl['rejected']) == LAYER_CONTROLS, len(ctl['rejected']) + local = out / 'local' + run('native', up / 'code/hpe_audit_and_transport.py', '--raw', word, + '--routing', routing, '--out', local) + run('ledgers', up / 'code/hpe_emit_local.py', local) + run('local-replay', up / 'code/hpe_audit_local.py', local) + run('wrappers', up / 'code/hpe_adapters_local.py', local / 'CANONICAL-WORD.json.gz', + local / 'RESIDUAL-ADAPTERS.json', local / 'WRAPPER-CHECKS.json') + if not a.skip_phases: + run('phases', base / 'code/phases_full.py', local, parent / 'complex-global/vendor531/vendor/clifford') + print('DONE', local, flush=True) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-leaver/construction/layers_np/COLD-LAYERS-RECIPE-NP.json.gz b/research/gauge44-leaver/construction/layers_np/COLD-LAYERS-RECIPE-NP.json.gz new file mode 100644 index 0000000000..f9155e3079 Binary files /dev/null and b/research/gauge44-leaver/construction/layers_np/COLD-LAYERS-RECIPE-NP.json.gz differ diff --git a/research/gauge44-leaver/construction/layers_np/HPE-RECIPE-NP.json b/research/gauge44-leaver/construction/layers_np/HPE-RECIPE-NP.json new file mode 100644 index 0000000000..2605d199ed --- /dev/null +++ b/research/gauge44-leaver/construction/layers_np/HPE-RECIPE-NP.json @@ -0,0 +1 @@ +{"changes": [{"helper": 448, "cleanup_index": 674, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 449, "cleanup_index": 673, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 450, "cleanup_index": 672, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 451, "cleanup_index": 671, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 452, "cleanup_index": 670, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 453, "cleanup_index": 669, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 454, "cleanup_index": 668, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 455, "cleanup_index": 667, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 456, "cleanup_index": 666, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 457, "cleanup_index": 665, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 458, "cleanup_index": 664, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 459, "cleanup_index": 663, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 460, "cleanup_index": 658, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 461, "cleanup_index": 657, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 470, "cleanup_index": 648, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 471, "cleanup_index": 647, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 472, "cleanup_index": 642, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 473, "cleanup_index": 641, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 482, "cleanup_index": 632, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 483, "cleanup_index": 631, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 496, "cleanup_index": 609, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 497, "cleanup_index": 608, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 520, "cleanup_index": 573, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 521, "cleanup_index": 572, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 544, "cleanup_index": 539, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 545, "cleanup_index": 538, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 568, "cleanup_index": 507, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 569, "cleanup_index": 506, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 580, "cleanup_index": 491, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 581, "cleanup_index": 490, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 590, "cleanup_index": 481, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 591, "cleanup_index": 480, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 592, "cleanup_index": 475, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 593, "cleanup_index": 474, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 602, "cleanup_index": 465, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 603, "cleanup_index": 464, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 604, "cleanup_index": 459, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 605, "cleanup_index": 458, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 606, "cleanup_index": 457, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 607, "cleanup_index": 456, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 609, "cleanup_index": 454, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 611, "cleanup_index": 452, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 612, "cleanup_index": 451, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 613, "cleanup_index": 450, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 614, "cleanup_index": 449, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 615, "cleanup_index": 448, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}]} \ No newline at end of file diff --git a/research/gauge44-leaver/construction/layers_np/PIVOT-SWAP-NP.json b/research/gauge44-leaver/construction/layers_np/PIVOT-SWAP-NP.json new file mode 100644 index 0000000000..4e0d846426 --- /dev/null +++ b/research/gauge44-leaver/construction/layers_np/PIVOT-SWAP-NP.json @@ -0,0 +1,588 @@ +{ + "input_content_sha256": "864ff4a19987bcb27016367801a98ca50dae69eafe01d3614f8bae69f5713d6d", + "output_content_sha256": "beb3579fce83cb3b70f4e85761cbb3b8c91d711d4b9cf473074269b8447fc4e4", + "swaps": [ + { + "pivot": 494, + "new_pivot": 566, + "entrance": [ + 24 + ], + "gates": [ + { + "part": "B", + "index": 379, + "before": [ + "add", + 566, + 494, + -1, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 494, + 566, + -1, + 1, + [ + 24 + ] + ] + }, + { + "part": "B", + "index": 380, + "before": [ + "add", + 640, + 494, + 2, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 640, + 566, + -2, + 1, + [ + 24 + ] + ] + }, + { + "part": "B", + "index": 381, + "before": [ + "add", + 642, + 494, + -2, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 642, + 566, + 2, + 1, + [ + 24 + ] + ] + }, + { + "part": "B", + "index": 382, + "before": [ + "add", + 688, + 494, + 1, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 688, + 566, + -1, + 1, + [ + 24 + ] + ] + }, + { + "part": "B", + "index": 383, + "before": [ + "add", + 690, + 494, + -1, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 690, + 566, + 1, + 1, + [ + 24 + ] + ] + } + ] + }, + { + "pivot": 495, + "new_pivot": 567, + "entrance": [ + 24 + ], + "gates": [ + { + "part": "B", + "index": 516, + "before": [ + "add", + 123, + 495, + 1, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 123, + 567, + -1, + 1, + [ + 24 + ] + ] + }, + { + "part": "B", + "index": 584, + "before": [ + "add", + 187, + 495, + -1, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 187, + 567, + 1, + 1, + [ + 24 + ] + ] + }, + { + "part": "B", + "index": 686, + "before": [ + "add", + 567, + 495, + -1, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 495, + 567, + -1, + 1, + [ + 24 + ] + ] + } + ] + }, + { + "pivot": 506, + "new_pivot": 578, + "entrance": [ + 24 + ], + "gates": [ + { + "part": "B", + "index": 176, + "before": [ + "add", + 652, + 506, + 2, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 652, + 578, + -2, + 1, + [ + 24 + ] + ] + }, + { + "part": "B", + "index": 178, + "before": [ + "add", + 652, + 506, + -2, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 652, + 578, + 2, + 1, + [ + 24 + ] + ] + }, + { + "part": "B", + "index": 278, + "before": [ + "add", + 700, + 506, + -2, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 700, + 578, + 2, + 1, + [ + 24 + ] + ] + }, + { + "part": "B", + "index": 280, + "before": [ + "add", + 700, + 506, + 2, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 700, + 578, + -2, + 1, + [ + 24 + ] + ] + }, + { + "part": "B", + "index": 702, + "before": [ + "add", + 578, + 506, + -1, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 506, + 578, + -1, + 1, + [ + 24 + ] + ] + } + ] + }, + { + "pivot": 507, + "new_pivot": 579, + "entrance": [ + 24 + ], + "gates": [ + { + "part": "B", + "index": 93, + "before": [ + "add", + 211, + 507, + -1, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 211, + 579, + 1, + 1, + [ + 24 + ] + ] + }, + { + "part": "B", + "index": 541, + "before": [ + "add", + 147, + 507, + 1, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 147, + 579, + -1, + 1, + [ + 24 + ] + ] + }, + { + "part": "B", + "index": 704, + "before": [ + "add", + 579, + 507, + -1, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 507, + 579, + -1, + 1, + [ + 24 + ] + ] + } + ] + }, + { + "pivot": 519, + "new_pivot": 543, + "entrance": [ + 30 + ], + "gates": [ + { + "part": "B", + "index": 507, + "before": [ + "add", + 115, + 519, + -1, + 1, + [ + 30 + ] + ], + "after": [ + "add", + 115, + 543, + 1, + 1, + [ + 30 + ] + ] + }, + { + "part": "B", + "index": 575, + "before": [ + "add", + 179, + 519, + 1, + 1, + [ + 30 + ] + ], + "after": [ + "add", + 179, + 543, + -1, + 1, + [ + 30 + ] + ] + }, + { + "part": "B", + "index": 722, + "before": [ + "add", + 543, + 519, + -1, + 1, + [ + 30 + ] + ], + "after": [ + "add", + 519, + 543, + -1, + 1, + [ + 30 + ] + ] + } + ] + }, + { + "pivot": 531, + "new_pivot": 555, + "entrance": [ + 30 + ], + "gates": [ + { + "part": "B", + "index": 550, + "before": [ + "add", + 155, + 531, + -1, + 1, + [ + 30 + ] + ], + "after": [ + "add", + 155, + 555, + 1, + 1, + [ + 30 + ] + ] + }, + { + "part": "B", + "index": 617, + "before": [ + "add", + 219, + 531, + 1, + 1, + [ + 30 + ] + ], + "after": [ + "add", + 219, + 555, + -1, + 1, + [ + 30 + ] + ] + }, + { + "part": "B", + "index": 740, + "before": [ + "add", + 555, + 531, + -1, + 1, + [ + 30 + ] + ], + "after": [ + "add", + 531, + 555, + -1, + 1, + [ + 30 + ] + ] + } + ] + } + ] +} diff --git a/research/gauge44-leaver/construction/layers_np/reproduce_np.py b/research/gauge44-leaver/construction/layers_np/reproduce_np.py new file mode 100644 index 0000000000..79cb6fa912 --- /dev/null +++ b/research/gauge44-leaver/construction/layers_np/reproduce_np.py @@ -0,0 +1,149 @@ +#!/usr/bin/env python3 +"""Rebuild the layered no-triangle word (NP) and its native locals. + +Input: a fresh `construction/notri/reproduce_notri.py --word-only` output directory. That driver pins the +no-triangle word (3e99ba77...) and writes its regroup/ and cold44/ words. Steps, each checked exactly: + 1. pivot-swap: ../layers/build_pivot_swap.py (PR641's constructor, signed, unchanged) on the no-triangle regroup word, with PIVOT-SWAP-NP.json: + the six pivot-role swaps of research/gauge44-layered, mapped through the 504-helper map (494->566, 495->567, + 506->578, 507->579, 519->543, 531->555). Exact zero-response replay, unchanged profile and width multiset, + 30 negative controls. + 2. hpe: PR635's build_hpe.candidates, greedy with disjoint registers. Must equal HPE-RECIPE-NP.json (46 changes, + the same helpers as the unswapped word); applied with build_hpe.apply. + 3. cold44-exact: notri/cold44x.py on the swapped HPE word, pairing ranks pinned [4]*14. Its 56 cold ends, premix + and low tails must equal the unswapped no-triangle construction's. + 4. layers: PR635's unchanged build_cold_end.apply(HPE, COLD-LAYERS-RECIPE-NP): cold44 plus the entering ends + 566/567/578/579 at U24 (s4) and 608/610/543/555 at U30 (x30), BlockCombine's b6 and the q4 dim-8 cold ends. + The output word sha and its profile and widths are pinned. + 5. layer-end-controls: ../layers/layer_end_controls.py (LayerReviewer's signed adaptation of PR635's + cold_end_controls.py, unchanged) on the layered word; exactly 59 rejections at pinned reasons. +../layers/reproduce_layers.py is research/gauge44-layered's driver for the 492-helper word, shipped unchanged as +signed; it is not used for this word. + 6. native, ledgers, local-replay, wrappers, phases: PR635's native local programs, with pins. +Apache-2.0. Driver by ColdWitness after G44Stack's NP chain (NP/chain.py, seq.py). +""" +import argparse, gzip, hashlib, importlib.util, json, os, subprocess, sys, time +from pathlib import Path + +HERE = Path(__file__).resolve().parent +NOTRI = HERE.parent / 'notri' +LAYERS = HERE.parent / 'layers' # the signed research/gauge44-layered files, unchanged +REGROUP_SHA = '864ff4a1' # prefix; full value checked against PIVOT-SWAP-NP.json's input_content_sha256 +SWAP_SHA = 'beb3579f' +NP_SHA = 'a9de804f194eeb39f52a4c6e54c14d93e881bec4b632694249733ed410b58113' +LAYER_CONTROLS = 59 +CANONICAL_SHA = '1ae812a336178760071efe347e876e0102b5b71f799d957db15c5f3004c19d7a' +PROGRAM_SHA = {'forward': 'a3882a428bdafab888072211d4ed8d34572746873d77c6ef900495853cc3fa11', + 'backward': 'f67a3dc20c27fb39295b8030e951e9779109ef1537f6f8de9d08510b9ad6792a'} +CLIFFORD_SHA = '890b60fc4ae183c773c51405e0f4ef6a945dc2aae55ba2480f134602e8296cda' + + +def read(p): + raw = Path(p).read_bytes() + return json.loads(gzip.decompress(raw) if str(p).endswith('.gz') else raw) + + +def enc(x): return json.dumps(x, sort_keys=True, separators=(',', ':')).encode() + + +def dump(p, v): + p.parent.mkdir(parents=True, exist_ok=True); p.write_bytes(gzip.compress(enc(v), mtime=0)) + + +def load(name, path): + s = importlib.util.spec_from_file_location(name, path); m = importlib.util.module_from_spec(s); s.loader.exec_module(m); return m + + +def main(): + assert __debug__, 'Assertions are required' + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--main', type=Path, required=True) + ap.add_argument('--pr635', type=Path, required=True) + ap.add_argument('--notri-dir', type=Path, required=True, help='construction/notri/reproduce_notri.py --word-only output') + ap.add_argument('--hamming', type=Path, required=True, help='hamming/ of the construction/reproduce.py --until word output') + ap.add_argument('--out', type=Path, required=True) + ap.add_argument('--skip-phases', action='store_true') + a = ap.parse_args() + out = a.out.resolve(); assert not out.exists(); out.mkdir(parents=True) + up = a.pr635.resolve() / 'research/complex-571-cold14-st2' + src = a.main.resolve() / 'research/complex-k492-owner-repair/vendor/multicold' + base = src / 'vendor/pr558'; parent = base / 'vendor/pr552'; gk = parent / 'complex-local/static44/gk' + nd = a.notri_dir.resolve() + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONUTF8='1', PYTHONINTMAXSTRDIGITS='0', + MULTICOLD_SOURCE=str(src), GAIN_PR564_SOURCE=str(src)) + for k in ('PYTHONOPTIMIZE', 'XPARAM', 'EXTRAH', 'PAIRING_RANKS', 'DIAG', 'HYBBUDGET'): env.pop(k, None) + steps = [] + + def run(label, script, *args): + t = time.monotonic() + with (out / (label + '.log')).open('w') as f: + rc = subprocess.call([sys.executable, '-B', str(src / 'code/run_portable.py'), str(script), *map(str, args)], + env=env, stdout=f, stderr=subprocess.STDOUT) + steps.append(dict(step=label, exit_code=rc, seconds=round(time.monotonic() - t, 3))) + (out / 'STEPS.json').write_text(json.dumps(steps, indent=2) + '\n') + assert rc == 0, label + print('PASS', label, flush=True) + + # the input must be the pinned no-triangle construction + nr = load('notri_driver', NOTRI / 'reproduce_notri.py') + assert hashlib.sha256(enc(read(nd / 'cold44/FULL-WORD.json.gz'))).hexdigest() == nr.NOTRI_SHA, 'notri word' + # 1. pivot swaps on the regroup word + rg = hashlib.sha256(enc(read(nd / 'regroup/FULL-WORD.json.gz'))).hexdigest() + assert rg.startswith(REGROUP_SHA) and rg == read(HERE / 'PIVOT-SWAP-NP.json')['input_content_sha256'], ('regroup word', rg) + run('pivot-swap', LAYERS / 'build_pivot_swap.py', '--input', nd / 'regroup/FULL-WORD.json.gz', + '--recipe', HERE / 'PIVOT-SWAP-NP.json', '--gk-dir', gk, '--out', out / 'swap') + w = read(out / 'swap/FULL-WORD.json.gz') + sw = hashlib.sha256(enc(w)).hexdigest(); assert sw.startswith(SWAP_SHA) and sw == read(HERE / 'PIVOT-SWAP-NP.json')['output_content_sha256'], ('swap word', sw) + # 2. HPE (greedy, must equal the pinned recipe) + h = load('upstream_hpe', up / 'code/build_hpe.py') + used, ch = set(), [] + for c in h.candidates(w): + rs = set(h.regs(w['cleanup'][c['cleanup_index']])) + if rs & used: continue + used |= rs; ch.append(c) + assert ch == read(HERE / 'HPE-RECIPE-NP.json')['changes'], 'HPE recipe' + w = h.apply(w, ch); dump(out / 'hpe/FULL-WORD.json.gz', w) + # 3. cold44 on the swapped word: same ends, premix and tails as the unswapped no-triangle construction + hm = set(read(nd / 'raw/HELPER-MAP.json')['map'].values()) + env['EXTRAH'] = json.dumps(sorted(set(range(224, 224 + w['report']['R'])) - hm)) + env['PAIRING_RANKS'] = json.dumps([4] * 14) + run('cold44-exact', NOTRI / 'cold44x.py', '--input', out / 'hpe/FULL-WORD.json.gz', '--out', out / 'cold44', + '--hamming', a.hamming.resolve(), '--upstream-package', up) + for k in ('EXTRAH', 'PAIRING_RANKS'): env.pop(k) + new, old = read(out / 'cold44/RECIPE.json.gz'), read(nd / 'cold44/RECIPE.json.gz') + for key in ('premix', 'early_cleanup', 'cold_ends'): + assert new[key] == old[key], ('swapped cold44 differs from the pinned no-triangle construction', key) + tail = len(new['early_cleanup']); assert new['cleanup'][:tail] == old['cleanup'][:tail], 'low tails' + # 4. layers + bce = load('upstream_cold', up / 'code/build_cold_end.py') + layered = bce.apply(w, read(HERE / 'COLD-LAYERS-RECIPE-NP.json.gz')) + raw = enc(layered); assert hashlib.sha256(raw).hexdigest() == NP_SHA, ('layered word', hashlib.sha256(raw).hexdigest()) + rep = layered['report'] + assert rep['local_profile'] == {'1': 2534, '2': 346, '3': 458, '4': 178, '5': 56, '8': 8}, rep['local_profile'] + assert rep['width_inventory'] == {'4': 64, '5': 48, '7': 54, '8': 116, '9': 222}, rep['width_inventory'] + (out / 'layers').mkdir(); word = out / 'layers/FULL-WORD.json.gz'; word.write_bytes(gzip.compress(raw, mtime=0)) + print('PASS layered no-triangle word', NP_SHA, flush=True) + # 5. layer-end controls + routing = parent / 'complex-local/inputs/phase-baseline/CANONICAL-WORD.json.gz' + env['PR635_CODE'] = str(up / 'code') + run('layer-end-controls', LAYERS / 'layer_end_controls.py', word, routing, out / 'controls') + env.pop('PR635_CODE') + ctl = json.loads((out / 'controls/COLD-END-CONTROLS.json').read_text()) + assert ctl['status'] == 'PASS_COLD_END_RAW_WORD_CONTROLS' and len(ctl['rejected']) == LAYER_CONTROLS, len(ctl['rejected']) + # 6. native locals + local = out / 'local' + run('native', up / 'code/hpe_audit_and_transport.py', '--raw', word, '--routing', routing, '--out', local) + assert hashlib.sha256(gzip.decompress((local / 'CANONICAL-WORD.json.gz').read_bytes())).hexdigest() == CANONICAL_SHA, 'canonical word' + run('ledgers', up / 'code/hpe_emit_local.py', local) + run('local-replay', up / 'code/hpe_audit_local.py', local) + run('wrappers', up / 'code/hpe_adapters_local.py', local / 'CANONICAL-WORD.json.gz', + local / 'RESIDUAL-ADAPTERS.json', local / 'WRAPPER-CHECKS.json') + checks = read(local / 'LOCAL-CHECKS.json') + for o, s in PROGRAM_SHA.items(): assert checks[o]['sha256'] == s, ('local program', o) + if not a.skip_phases: + run('phases', base / 'code/phases_full.py', local, parent / 'complex-global/vendor531/vendor/clifford') + assert hashlib.sha256((local / 'CLIFFORD-RECIPES.json').read_bytes()).hexdigest() == CLIFFORD_SHA, 'clifford recipes' + print('DONE', local, flush=True) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-leaver/construction/layers_p6n/COLD-LAYERS-RECIPE-P6N.json.gz b/research/gauge44-leaver/construction/layers_p6n/COLD-LAYERS-RECIPE-P6N.json.gz new file mode 100644 index 0000000000..a408c95816 Binary files /dev/null and b/research/gauge44-leaver/construction/layers_p6n/COLD-LAYERS-RECIPE-P6N.json.gz differ diff --git a/research/gauge44-leaver/construction/layers_p6n/P6N-SPEC.json b/research/gauge44-leaver/construction/layers_p6n/P6N-SPEC.json new file mode 100644 index 0000000000..43c3ec265c --- /dev/null +++ b/research/gauge44-leaver/construction/layers_p6n/P6N-SPEC.json @@ -0,0 +1 @@ +{"ends":[{"U":[256,128,66,34,16,8,6,1],"labels":[512,513]},{"U":[256,128,72,40,24,4,2,1],"labels":[311,510]},{"U":[256,128,66,34,18,10,6,1],"labels":[522,327]}]} diff --git a/research/gauge44-leaver/construction/layers_p6n/layer_end_controls.py b/research/gauge44-leaver/construction/layers_p6n/layer_end_controls.py new file mode 100644 index 0000000000..dd321fe255 --- /dev/null +++ b/research/gauge44-leaver/construction/layers_p6n/layer_end_controls.py @@ -0,0 +1,199 @@ +"""layer_end_controls.py LAYERED-WORD.json.gz ROUTING OUTDIR (env PR635_CODE): adapted PR635 cold_end_controls.py (LayerReviewer): raw-word negative controls for the cold low-frame ends and the +refactored cleanup accepted by hpe_audit_and_transport.py. Every mutation MUST be rejected (AssertionError); the +unmutated word MUST pass. Apache-2.0. DreamingOfClouds with Claude Opus 5.5 (Anthropic), via Claude Code.""" +import copy, gzip, json, shutil, sys, tempfile +from pathlib import Path +import os +sys.path.insert(0, os.environ['PR635_CODE']) # PR635's unchanged hpe_audit_and_transport.py +import hpe_audit_and_transport as atc + +src, routing, outdir = Path(sys.argv[1]), Path(sys.argv[2]), Path(sys.argv[3]) +word = json.load(gzip.open(src)) +v, R = word['report']['v'], word['report']['R']; n = 2*v + R +regs = lambda e: [e[1]] + ([e[2]] if e[0] == 'add' else []) +meta = word['refactored_cleanup'] +cold = [int(h) for h in meta['cold_low_frame_ended_helpers']] +npre = meta['premix_gates']; nlow = meta['lower_frame_gates'] +early = word['early_cleanup']; eidx = {i for i, _ in early} +rest = [i for i in range(len(word['cleanup'])) if i not in eidx] + + +def trial(w): + """None if the transport audit accepts w, else the AssertionError message.""" + tmp = Path(tempfile.mkdtemp()) + p = tmp/'w.json.gz'; p.write_bytes(gzip.compress(json.dumps(w).encode(), mtime=0)) + try: + atc.run(p, routing, tmp/'out') + return None + except AssertionError as e: + return repr(e.args[0]) if e.args else 'AssertionError' + finally: + shutil.rmtree(tmp, ignore_errors=True) + + +# Pinned rejection reasons: each mutant must fail at this assertion of hpe_audit_and_transport.py (message substring). +ENDPOINT, COLDPRE, CONE = "'arbitrary-dirt endpoint'", 'touches a cold hyperplane-ended helper', 'hpe cone pre-check (row / column)' +WHY = dict(premix_to_precondition=COLDPRE, premix_dropped=COLDPRE, e_premix_dropped=ENDPOINT, lower_dropped=ENDPOINT, + remainder_dropped=ENDPOINT, coefficient=ENDPOINT, into_full='cleanup on non-FULL end', dyadic=ENDPOINT, frame_below="'nonmonotone'", + nonmonotone="'nonmonotone'", other_frame=CONE, cone=CONE, extra_end=COLDPRE, marker='cleanup is not the literal reversed inverse', + target='refactored cleanup touches a target', profile_pin='paid local profile differs from the reported local_profile', + entering_precondition='zero-frame precondition/compensation touches an entering helper') +assert trial(word) is None, 'unmutated cold-end word must pass' +results = [] + + +def reject(name, mut, why): + """the mutation must be rejected, and for the pinned reason (a substring of the audit's assertion message).""" + w = copy.deepcopy(word); mut(w) + msg = trial(w) + assert msg is not None, 'cold-end mutation accepted: ' + name + assert why in msg, 'cold-end mutation %r rejected for the wrong reason: %s' % (name, msg[:300]) + results.append(name); print('rejected', name, '|', why, flush=True) + + +h0 = cold[0] +i0, U0 = next((i, f) for i, f in early if h0 in regs(word['cleanup'][i])) +r0 = rest[len(rest)//2] + + +def premix_to_precondition(w): # premix before the wrappers; compensation then reads the cold ends + w['precondition'] = w['precondition'] + w['A'][:npre]; w['A'] = w['A'][npre:] + + +def lower_gate_into_full(w): # a lower-frame gate on a cold-ended helper executed in the FULL remainder instead + w['early_cleanup'] = [x for x in w['early_cleanup'] if x[0] != i0] + + +def drop_cleanup_gate(w, i): # remove the gate AND its early_cleanup entry: a structurally valid word missing one gate + w['cleanup'].pop(i) + w['early_cleanup'] = [[j - (j > i), f] for j, f in w['early_cleanup'] if j != i] + + +def other_frame(w): # a different frame of the same dimension as the cold end (another cold helper's) + f = next(w['helper_final'][str(h)] for h in cold if w['helper_final'][str(h)] != w['helper_final'][str(h0)]) + w['helper_final'][str(h0)] = f + + +def extra_cold_end(w): # declare a premixed partner of h0 cold-ended at h0's frame: fails the row/column cone + p = next(r for e in w['A'][:npre] for r in regs(e) if r != h0 and h0 in regs(e)) + w['helper_final'][str(p)] = w['helper_final'][str(h0)] + + +reject('premix placed in the zero-frame precondition (before the cold wrappers)', premix_to_precondition, WHY['premix_to_precondition']) +reject('one premix gate dropped (the compensation then reads a cold-ended helper)', lambda w: w['A'].pop(npre - 1), WHY['premix_dropped']) +reject('one lower-frame cleanup gate dropped (gate and its early_cleanup entry)', lambda w: drop_cleanup_gate(w, i0), WHY['lower_dropped']) +reject('one FULL-remainder gate dropped', lambda w: drop_cleanup_gate(w, r0), WHY['remainder_dropped']) +reject('lower-frame gate coefficient changed', lambda w: w['cleanup'][i0].__setitem__(3, w['cleanup'][i0][3] * 2), WHY['coefficient']) +reject('lower-frame gate moved into the FULL remainder (touches a cold-ended helper at FULL)', lower_gate_into_full, WHY['into_full']) +reject('lower-frame gate frame below its registers\' frames', lambda w: next(x for x in w['early_cleanup'] if x[0] == i0).__setitem__(1, U0[:-1]), WHY['frame_below']) +reject('cold end at another dim-4 frame', other_frame, WHY['other_frame']) +# PROFILE-PIN control: without its helper_final entry the cold-ended helper is a valid FULL-ended helper; the word is +# rejected because its reported paid profile (which counts the low end) no longer matches the frame chains. +reject('profile pin: cold end dropped (valid FULL end, but the reported profile counts the low end)', lambda w: w['helper_final'].pop(str(h0)), WHY['profile_pin']) +reject('extra cold end on a premixed partner (the compensation reads it before its wrapper)', extra_cold_end, WHY['extra_end']) +reject('refactored-cleanup marker removed (literal-inverse rule applies)', lambda w: w.pop('refactored_cleanup'), WHY['marker']) +reject('remainder gate retargeted to a target register', lambda w: w['cleanup'][r0].__setitem__(1, v + 3), WHY['target']) +reject('non-dyadic remainder coefficient', lambda w: w['cleanup'][r0].__setitem__(4 if w['cleanup'][r0][0] == 'add' else 3, 3 * w['cleanup'][r0][4 if w['cleanup'][r0][0] == 'add' else 3]), WHY['dyadic']) +reject('profile not updated (paid climbs misreported)', lambda w: w['report']['local_profile'].__setitem__('5', w['report']['local_profile']['5'] - 1), WHY['profile_pin']) +ent = [int(h) for h in sys.argv[4].split(',')] if len(sys.argv) > 4 else [int(h) for h in meta.get('entering_low_frame_ended_helpers', [])] +for e0 in ent: # ENTERING LOW-FRAME ENDS (ColdSupply extension; every entering end; absent for words without them) + j0 = next((i for i, e in enumerate(word['A'][:npre]) if e0 in regs(e)), None) + print('entering end', e0, 'premix gate', j0, flush=True) + k0, Ue = next((i, f) for i, f in early if e0 in regs(word['cleanup'][i])) + def to_pre(w, j0=j0): w['precondition'].append(w['A'][j0]); w['A'].pop(j0) + def other_hp(w, e0=e0, Ue=Ue): w['helper_final'][str(e0)] = next(f for h, f in w['helper_final'].items() if len(f) == len(Ue) and sorted(f) != sorted(Ue)) + if j0 is not None: reject('entering end %d: premix gate dropped' % e0, lambda w, j0=j0: w['A'].pop(j0), WHY['e_premix_dropped']) + if j0 is not None: reject('entering end %d: premix gate at frame [] instead of its entrance E' % e0, lambda w, j0=j0: w['A'][j0].__setitem__(-1, []), WHY['nonmonotone']) + if j0 is not None: reject('entering end %d: premix gate moved into the zero-frame precondition' % e0, to_pre, WHY['entering_precondition']) + reject('entering end %d: lower-frame gate dropped (gate and its early_cleanup entry)' % e0, lambda w, k0=k0: drop_cleanup_gate(w, k0), WHY['lower_dropped']) + reject('entering end %d: profile pin: end dropped (valid FULL end, but the reported profile counts the low end)' % e0, lambda w, e0=e0: w['helper_final'].pop(str(e0)), WHY['profile_pin']) + reject('entering end %d: end at another hyperplane' % e0, other_hp, WHY['cone']) +# Pinned rejection reasons of the COLD-BEYOND mutants (substrings of hpe_audit_and_transport.py assertion messages). +MYWHY = dict(tw_precondition=COLDPRE, tw_dropped=COLDPRE, tw_coefficient=COLDPRE, tw_other_block=COLDPRE, + tw_entering='zero-frame compensation reads an entering helper', + ab_dropped=ENDPOINT, ab_coefficient=ENDPOINT, ab_early=ENDPOINT, ab_live=ENDPOINT, ab_centre=ENDPOINT, + ab_lower="'nonmonotone'", ab_higher="'nonmonotone'", + sh_dropped=ENDPOINT, sh_coefficient=ENDPOINT, rel_dropped=ENDPOINT, rel_coefficient=ENDPOINT, rel_live=ENDPOINT, + h8_other=CONE, h8_lower=ENDPOINT) +# COLD-BEYOND primitives (present only when the word carries them): frame-[] target writes in the premix (explicit +# post-wrapper compensation of an ended helper's dirt) and forward absorptions into dead registers. +nw = meta.get('premix_target_writes', 0) +if nw: + wi = [i for i in range(npre) if v <= word['A'][i][1] < 2*v] + assert len(wi) == nw + + def writes_to_precondition(w): # the target writes run before the cold wrappers (inside the zero-frame precondition) + g = [w['A'][i] for i in wi]; w['precondition'] = w['precondition'] + g + w['A'] = [e for i, e in enumerate(w['A']) if i not in set(wi)] + reject('premix target writes placed in the zero-frame precondition (before the cold wrappers)', writes_to_precondition, MYWHY['tw_precondition']) + reject('one premix target write dropped (compensation must read an ended helper)', lambda w: w['A'].pop(wi[0]), MYWHY['tw_dropped']) + reject('premix target write coefficient changed', lambda w: w['A'][wi[0]].__setitem__(3, w['A'][wi[0]][3] * 2), MYWHY['tw_coefficient']) + # (reading another register that carries the SAME weight of the ended helper's dirt is a valid variant, so the mutant reads + # the same factory slot of the next block, which carries none of it) + entering_regs = sorted(int(r) for r in word.get('start_extra', {})) + reject('premix target write reads an entering helper', lambda w: w['A'][wi[0]].__setitem__(2, entering_regs[0]), MYWHY['tw_entering']) + reject('premix target write reads a cold helper of another block', lambda w: w['A'][wi[0]].__setitem__(2, 2*v + (w['A'][wi[0]][2] - 2*v + 16) % 224), MYWHY['tw_other_block']) +ab = meta.get('forward_absorption_A_indices', []) +if any(len(word['helper_final'][str(h)]) == 8 for h in cold): + # with dim-8 cold ends, the centre-retargeted absorption first leaks an ended helper's dirt into the cut's targets + MYWHY['ab_centre'] = COLDPRE +if ab: + # the ColdBeyond U_b absorption (q += -1/2 g); ColdThird's extra absorptions have their own controls below + a0 = next(a for a in ab if word['A'][a][3] * 2 == -word['A'][a][4]); g0 = word['A'][a0] + + def absorption_moved_early(w): # absorbed before the absorbed register's last kernel write + e = w['A'].pop(a0); j = max(i for i in range(npre, a0) if g0[2] == w['A'][i][1] and w['A'][i][-1] == g0[-1]) + w['A'].insert(j, e) + + def absorption_into_live(w): # q += a g moved right after g's previous frame-mate gate, while q is still live + e = w['A'].pop(a0); j = max(i for i in range(npre, a0) if g0[1] in regs(w['A'][i])) + w['A'].insert(j, e) + reject('forward absorption dropped', lambda w: w['A'].pop(a0), MYWHY['ab_dropped']) + reject('forward absorption into a centre (a live register read by the cut)', lambda w: w['A'][a0].__setitem__(1, next(c for c in word['centers'] if c not in g0[1:3] and c not in cold)), MYWHY['ab_centre']) + reject('forward absorption coefficient changed', lambda w: w['A'][a0].__setitem__(3, w['A'][a0][3] * 2), MYWHY['ab_coefficient']) + reject('forward absorption placed before the absorbed register\'s last kernel write', absorption_moved_early, MYWHY['ab_early']) + reject('forward absorption placed while the absorbing register is still live', absorption_into_live, MYWHY['ab_live']) + reject('forward absorption at a lower frame than its registers', lambda w: w['A'][a0].__setitem__(-1, w['A'][a0][-1][:-1]), MYWHY['ab_lower']) + reject('forward absorption at a higher frame (FULL) than its registers', lambda w: w['A'][a0].__setitem__(-1, [256, 128, 64, 32, 16, 8, 4, 2, 1]), MYWHY['ab_higher']) +# COLD-THIRD primitives (present only when the word carries them): several absorptions after one input gate, dirt-release +# absorptions (a dead port takes a live helper's value so that a hyperplane unit's column has no dirt on it), and cold ends at +# a dim-8 frame with lifted partners. +hyper = [h for h in cold if len(word['helper_final'][str(h)]) == 8] +if hyper and ab: + sh = next(a for a, b in zip(ab, ab[1:]) if b == a + 1) # two absorptions sharing one input anchor + rel = next(a for a in ab if a - 1 not in ab and a + 1 not in ab and word['A'][a][2] in hyper and word['A'][a][3] * 2 != -word['A'][a][4]) + hh = hyper[0]; ih = next(i for i, f in early if hh in regs(word['cleanup'][i])) + reject('second absorption sharing an input anchor dropped', lambda w: w['A'].pop(sh + 1), MYWHY['sh_dropped']) + reject('shared-anchor absorption coefficient changed', lambda w: w['A'][sh + 1].__setitem__(3, w['A'][sh + 1][3] * 2), MYWHY['sh_coefficient']) + reject('dirt-release absorption dropped', lambda w: w['A'].pop(rel), MYWHY['rel_dropped']) + reject('dirt-release absorption coefficient changed', lambda w: w['A'][rel].__setitem__(3, w['A'][rel][3] * 2), MYWHY['rel_coefficient']) + jr = max(i for i in range(npre, rel) if word['A'][i][0] == 'add' and word['A'][i][2] == word['A'][rel][1]) + + def release_while_read(w): # the release runs before a kernel gate that still READS the port (port live) + e = w['A'].pop(rel); w['A'].insert(jr, e) + reject('dirt-release absorption moved before a kernel gate that still reads the port', release_while_read, MYWHY['rel_live']) +if hyper: + # dim-8 cold-end controls for EVERY dim-8 cold end of the word (read from the word's helper_final and the recipe meta's + # cold_low_frame_ended_helpers), not one representative per terminal frame + for hh in hyper: + ih = next(i for i, f in early if hh in regs(word['cleanup'][i])) + Uh = word['helper_final'][str(hh)] + reject('dim-8 cold end %d (frame %s) at another dim-8 frame' % (hh, Uh), lambda w, hh=hh: w['helper_final'].__setitem__(str(hh), next(f for h, f in w['helper_final'].items() if len(f) == 8 and sorted(f) != sorted(w['helper_final'][str(hh)]))), MYWHY['h8_other']) + reject('dim-8 cold end %d (frame %s): one lower-frame gate dropped (gate and its early_cleanup entry)' % (hh, Uh), lambda w, ih=ih: drop_cleanup_gate(w, ih), MYWHY['h8_lower']) + reject('dim-8 cold end %d (frame %s): profile pin (end dropped)' % (hh, Uh), lambda w, hh=hh: w['helper_final'].pop(str(hh)), WHY['profile_pin']) +# FACTORED ACCUMULATOR (CarrierBypass; present only when the word carries one): a lower-frame tail gate a += x*g on two +# non-ended registers whose accumulator a is afterwards read by a dim-8 cold end's tail gate (h += y*a at its U). +ended_all = {int(h) for h in word['helper_final']} +tailg = [(i, word['cleanup'][i]) for i, _ in early] +accs = [] # EVERY factored accumulator gate (one per accumulator register a), each controlled on its own +for k, (i, e) in enumerate(tailg): + if e[0] == 'add' and e[1] not in ended_all and e[2] not in ended_all and len(next(f for j, f in early if j == i)) < 8: + if e[1] not in [word['cleanup'][j][1] for j in accs] and any(t[0] == 'add' and t[2] == e[1] and t[1] in hyper for _, t in tailg[k + 1:]): + accs.append(i) +for acc in accs: + a = word['cleanup'][acc][1] + reject('factored accumulator %d (gate %d) zeroed' % (a, acc), lambda w, acc=acc: w['cleanup'][acc].__setitem__(3, 0), ENDPOINT) + reject('factored accumulator %d (gate %d) coefficient doubled' % (a, acc), lambda w, acc=acc: w['cleanup'][acc].__setitem__(3, w['cleanup'][acc][3] * 2), ENDPOINT) +outdir.mkdir(parents=True, exist_ok=True) +(outdir/'COLD-END-CONTROLS.json').write_text(json.dumps(dict(status='PASS_COLD_END_RAW_WORD_CONTROLS', word=str(src), rejected=results), indent=1) + '\n') +print('PASS', len(results), 'cold-end raw-word mutations rejected') diff --git a/research/gauge44-leaver/construction/layers_p6n/reproduce_p6n.py b/research/gauge44-leaver/construction/layers_p6n/reproduce_p6n.py new file mode 100644 index 0000000000..f9eb173bc1 --- /dev/null +++ b/research/gauge44-leaver/construction/layers_p6n/reproduce_p6n.py @@ -0,0 +1,78 @@ +#!/usr/bin/env python3 +"""Rebuild the p6n word (NoTriReopen): the layered no-triangle word with p123's lane rebuilt as three factored dim-8 pairs. + +Input: a fresh `construction/layers_np/reproduce_np.py` output directory. Its swapped HPE word (hpe/) and its +layered word a9de804f... are pinned there. Steps, each checked exactly: + 1. layers: PR635's unchanged build_cold_end.apply(swapped HPE word, COLD-LAYERS-RECIPE-P6N.json.gz). The recipe is + NP's cold-layer recipe (cold44, s4, x30, b6, q4) plus the six cold ends of P6N-SPEC.json, built by NoTriReopen + with JP8Ends' stackJ/stackE (the CarrierBypass premix-only factored construction): [512,513] at + U(256,128,66,34,16,8,6,1), [311,510] at U(256,128,72,40,24,4,2,1), [522,327] at U(256,128,66,34,18,10,6,1). + The output word sha (34b683fa...), profile and widths are pinned. + 2. layer-end-controls: layer_end_controls.py (Q6Reviewer-signed variant fc58c569..., which controls every dim-8 + cold end individually) on the p6n word; exactly 95 rejections at pinned reasons. +The promotion step (construction/promo/reproduce_promo.py --base p6n) builds the final word and its native locals. +Apache-2.0. Driver by ColdWitness after NoTriReopen's runspec.py. +""" +import argparse, gzip, hashlib, importlib.util, json, os, subprocess, sys, time +from pathlib import Path + +HERE = Path(__file__).resolve().parent +NP_SHA = 'a9de804f194eeb39f52a4c6e54c14d93e881bec4b632694249733ed410b58113' +P6N_SHA = '34b683fa08f0' # prefix; full value is the recipe's output_content_sha256 (asserted equal below) +LAYER_CONTROLS = 95 + + +def read(p): + raw = Path(p).read_bytes() + return json.loads(gzip.decompress(raw) if str(p).endswith('.gz') else raw) + + +def enc(x): return json.dumps(x, sort_keys=True, separators=(',', ':')).encode() + + +def load(name, path): + s = importlib.util.spec_from_file_location(name, path); m = importlib.util.module_from_spec(s); s.loader.exec_module(m); return m + + +def main(): + assert __debug__, 'Assertions are required' + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--main', type=Path, required=True) + ap.add_argument('--pr635', type=Path, required=True) + ap.add_argument('--np-dir', type=Path, required=True, help='construction/layers_np/reproduce_np.py output') + ap.add_argument('--out', type=Path, required=True) + a = ap.parse_args() + out = a.out.resolve(); assert not out.exists(); out.mkdir(parents=True) + up = a.pr635.resolve() / 'research/complex-571-cold14-st2' + src = a.main.resolve() / 'research/complex-k492-owner-repair/vendor/multicold' + parent = src / 'vendor/pr558/vendor/pr552' + npd = a.np_dir.resolve() + assert hashlib.sha256(enc(read(npd / 'layers/FULL-WORD.json.gz'))).hexdigest() == NP_SHA, 'np-dir must hold the pinned NP word' + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONUTF8='1', PYTHONINTMAXSTRDIGITS='0', + MULTICOLD_SOURCE=str(src), GAIN_PR564_SOURCE=str(src), PR635_CODE=str(up / 'code')) + for k in ('PYTHONOPTIMIZE', 'XPARAM', 'EXTRAH', 'PAIRING_RANKS', 'DIAG', 'HYBBUDGET'): env.pop(k, None) + bce = load('upstream_cold', up / 'code/build_cold_end.py') + rec = read(HERE / 'COLD-LAYERS-RECIPE-P6N.json.gz') + w = bce.apply(read(npd / 'hpe/FULL-WORD.json.gz'), rec) + raw = enc(w); got = hashlib.sha256(raw).hexdigest() + assert got == rec['output_content_sha256'] and got.startswith(P6N_SHA), ('p6n word', got) + rep = w['report'] + assert rep['local_profile'] == {'1': 2540, '2': 358, '3': 446, '4': 178, '5': 56, '8': 8}, rep['local_profile'] + assert rep['width_inventory'] == {'4': 64, '5': 48, '7': 54, '8': 122, '9': 216}, rep['width_inventory'] + (out / 'p6n').mkdir(); word = out / 'p6n/FULL-WORD.json.gz'; word.write_bytes(gzip.compress(raw, mtime=0)) + print('PASS p6n word', got, flush=True) + t = time.monotonic() + with (out / 'layer-end-controls.log').open('w') as f: + rc = subprocess.call([sys.executable, '-B', str(src / 'code/run_portable.py'), str(HERE / 'layer_end_controls.py'), str(word), + str(parent / 'complex-local/inputs/phase-baseline/CANONICAL-WORD.json.gz'), str(out / 'controls')], + env=env, stdout=f, stderr=subprocess.STDOUT) + (out / 'STEPS.json').write_text(json.dumps([dict(step='layer-end-controls', exit_code=rc, seconds=round(time.monotonic() - t, 3))], indent=2) + '\n') + assert rc == 0, 'layer-end-controls' + ctl = read(out / 'controls/COLD-END-CONTROLS.json') + assert ctl['status'] == 'PASS_COLD_END_RAW_WORD_CONTROLS' and len(ctl['rejected']) == LAYER_CONTROLS, len(ctl['rejected']) + print('PASS layer-end-controls', LAYER_CONTROLS, flush=True) + print('DONE', word, flush=True) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-leaver/construction/leaver/CHAIN-PINS-k5.json b/research/gauge44-leaver/construction/leaver/CHAIN-PINS-k5.json new file mode 100644 index 0000000000..3f5a871788 --- /dev/null +++ b/research/gauge44-leaver/construction/leaver/CHAIN-PINS-k5.json @@ -0,0 +1,75 @@ +{ + "np_profile": { + "1": 2462, + "2": 388, + "3": 476, + "4": 154, + "5": 56, + "8": 8 + }, + "p6n_profile": { + "1": 2468, + "2": 400, + "3": 464, + "4": 154, + "5": 56, + "8": 8 + }, + "lec-p6n": 95, + "promo_controls": 11, + "lec-promo": 95, + "jx_controls": [ + "C0_identity", + "C1_741_only", + "M1_one_pair_448", + "N1_drop_preread", + "N2_wrong_sign_preread", + "N3_plain_join_moved_reads", + "N4_raise_dim7_at_855" + ], + "lec-jx": 95, + "hybrid_controls": [ + "C0_identity", + "donation_after", + "donation_after@226", + "donation_after@228", + "donation_after@230", + "donation_after@231", + "donation_after@232", + "donation_after@238", + "donation_after@62", + "drop_preread", + "drop_preread@226", + "drop_preread@228", + "drop_preread@230", + "drop_preread@231", + "drop_preread@232", + "drop_preread@238", + "drop_preread@62", + "drop_restore", + "drop_restore@226", + "drop_restore@228", + "drop_restore@230", + "drop_restore@231", + "drop_restore@232", + "drop_restore@238", + "drop_restore@62", + "recipe", + "restore_full", + "restore_full@226", + "restore_full@228", + "restore_full@230", + "restore_full@231", + "restore_full@232", + "restore_full@238", + "restore_full@62" + ], + "lec-hyb": 95, + "frame_build_controls": 3, + "canonical_sha256": "5d526f492ad3ad93b78d0c9c245a2425b2b760b71d7852be7c684c0e17e946e2", + "program_sha256": { + "forward": "e4ee794f189c84c473cf48df8a9ff198feefa0940dbcbf99163a8e9118c9176c", + "backward": "b8de98f996a99fdc477c126faba7f7e47297679f313e8a831d5ea9dda3de3260" + }, + "clifford_recipes_sha256": "f1f89e29a9e20da1a264cff40862f271e0f07306d12a41f060580433b2f35726" +} diff --git a/research/gauge44-leaver/construction/leaver/CODED-CELLS-k5.json b/research/gauge44-leaver/construction/leaver/CODED-CELLS-k5.json new file mode 100644 index 0000000000..fe3ace6921 --- /dev/null +++ b/research/gauge44-leaver/construction/leaver/CODED-CELLS-k5.json @@ -0,0 +1,1767 @@ +[ + { + "cell": "01+", + "bindings": { + "x0": [ + "source", + [ + 0, + 1, + 2, + 3 + ], + 1 + ], + "x1": [ + "source", + [ + 0, + 1, + 2, + 3 + ], + 0 + ], + "x2": [ + "source", + [ + 0, + 1, + 4, + 5 + ], + 1 + ], + "x3": [ + "source", + [ + 0, + 1, + 4, + 5 + ], + 0 + ], + "x4": [ + "source", + [ + 0, + 1, + 6, + 7 + ], + 1 + ], + "x5": [ + "source", + [ + 0, + 1, + 6, + 7 + ], + 0 + ], + "y0": [ + "target", + 65 + ], + "y1": [ + "target", + 64 + ], + "y2": [ + "target", + 33 + ], + "y3": [ + "target", + 32 + ], + "y4": [ + "target", + 25 + ], + "y5": [ + "target", + 24 + ] + }, + "scaled": [ + [ + "y1", + "x0", + "-1/2" + ], + [ + "y0", + "x1", + "-1/2" + ], + [ + "y2", + "x5", + "-1/2" + ], + [ + "y3", + "x4", + "-1/2" + ], + [ + "y4", + "x3", + "-1/2" + ], + [ + "y5", + "x2", + "-1/2" + ], + [ + "x0", + "x1", + "1" + ], + [ + "x2", + "x5", + "1" + ], + [ + "x4", + "x3", + "1" + ], + [ + "y1", + "x2", + "-1/2" + ], + [ + "y3", + "x0", + "-1/2" + ], + [ + "y5", + "x4", + "-1/2" + ], + [ + "y0", + "y5", + "1" + ], + [ + "y2", + "y3", + "1" + ], + [ + "y4", + "y1", + "1" + ], + [ + "y1", + "x4", + "-1/2" + ], + [ + "y0", + "x5", + "-1/2" + ], + [ + "y2", + "x3", + "-1/2" + ], + [ + "y3", + "x2", + "-1/2" + ], + [ + "y4", + "x1", + "-1/2" + ], + [ + "y5", + "x0", + "-1/2" + ] + ], + "unit": [ + [ + "y1", + "x0", + 1 + ], + [ + "y0", + "x1", + 1 + ], + [ + "y2", + "x5", + 1 + ], + [ + "y3", + "x4", + 1 + ], + [ + "y4", + "x3", + 1 + ], + [ + "y5", + "x2", + 1 + ], + [ + "x0", + "x1", + 1 + ], + [ + "x2", + "x5", + 1 + ], + [ + "x4", + "x3", + 1 + ], + [ + "y1", + "x2", + 1 + ], + [ + "y3", + "x0", + 1 + ], + [ + "y5", + "x4", + 1 + ], + [ + "y0", + "y5", + 1 + ], + [ + "y2", + "y3", + 1 + ], + [ + "y4", + "y1", + 1 + ], + [ + "y1", + "x4", + 1 + ], + [ + "y0", + "x5", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y4", + "x1", + 1 + ], + [ + "y5", + "x0", + 1 + ] + ], + "coefficients": [ + [ + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2" + ], + [ + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2" + ], + [ + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0" + ] + ] + }, + { + "cell": "23+", + "bindings": { + "x0": [ + "source", + [ + 0, + 1, + 2, + 3 + ], + 23 + ], + "x1": [ + "source", + [ + 0, + 1, + 2, + 3 + ], + 3 + ], + "x2": [ + "source", + [ + 2, + 3, + 4, + 5 + ], + 1 + ], + "x3": [ + "source", + [ + 2, + 3, + 4, + 5 + ], + 0 + ], + "x4": [ + "source", + [ + 2, + 3, + 6, + 7 + ], + 1 + ], + "x5": [ + "source", + [ + 2, + 3, + 6, + 7 + ], + 0 + ], + "y0": [ + "target", + 71 + ], + "y1": [ + "target", + 67 + ], + "y2": [ + "target", + 97 + ], + "y3": [ + "target", + 96 + ], + "y4": [ + "target", + 89 + ], + "y5": [ + "target", + 88 + ] + }, + "scaled": [ + [ + "y1", + "x0", + "1" + ], + [ + "y0", + "x1", + "1" + ], + [ + "y2", + "x5", + "-1/2" + ], + [ + "y3", + "x4", + "-1/2" + ], + [ + "y4", + "x3", + "-1/2" + ], + [ + "y5", + "x2", + "-1/2" + ], + [ + "x0", + "x1", + "1" + ], + [ + "x2", + "x5", + "1" + ], + [ + "x4", + "x3", + "1" + ], + [ + "y1", + "x2", + "-1/2" + ], + [ + "y3", + "x0", + "1" + ], + [ + "y5", + "x4", + "-1/2" + ], + [ + "y0", + "y5", + "1" + ], + [ + "y2", + "y3", + "1" + ], + [ + "y4", + "y1", + "1" + ], + [ + "y1", + "x4", + "-1/2" + ], + [ + "y0", + "x5", + "-1/2" + ], + [ + "y2", + "x3", + "-1/2" + ], + [ + "y3", + "x2", + "-1/2" + ], + [ + "y4", + "x1", + "1" + ], + [ + "y5", + "x0", + "1" + ] + ], + "unit": [ + [ + "y1", + "x0", + 1 + ], + [ + "y0", + "x1", + 1 + ], + [ + "y2", + "x5", + 1 + ], + [ + "y3", + "x4", + 1 + ], + [ + "y4", + "x3", + 1 + ], + [ + "y5", + "x2", + 1 + ], + [ + "x0", + "x1", + 1 + ], + [ + "x2", + "x5", + 1 + ], + [ + "x4", + "x3", + 1 + ], + [ + "y1", + "x2", + 1 + ], + [ + "y3", + "x0", + 1 + ], + [ + "y5", + "x4", + 1 + ], + [ + "y0", + "y5", + 1 + ], + [ + "y2", + "y3", + 1 + ], + [ + "y4", + "y1", + 1 + ], + [ + "y1", + "x4", + 1 + ], + [ + "y0", + "x5", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y4", + "x1", + 1 + ], + [ + "y5", + "x0", + 1 + ] + ], + "coefficients": [ + [ + "0", + "1", + "-1/2", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "1", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "1", + "1", + "0", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "1", + "1", + "-1/2", + "0", + "-1/2", + "-1/2" + ], + [ + "1", + "1", + "-1/2", + "-1/2", + "0", + "-1/2" + ], + [ + "1", + "1", + "-1/2", + "-1/2", + "-1/2", + "0" + ] + ] + }, + { + "cell": "45+", + "bindings": { + "x0": [ + "source", + [ + 0, + 1, + 4, + 5 + ], + 23 + ], + "x1": [ + "source", + [ + 0, + 1, + 4, + 5 + ], + 3 + ], + "x2": [ + "source", + [ + 2, + 3, + 4, + 5 + ], + 23 + ], + "x3": [ + "source", + [ + 2, + 3, + 4, + 5 + ], + 3 + ], + "x4": [ + "source", + [ + 4, + 5, + 6, + 7 + ], + 1 + ], + "x5": [ + "source", + [ + 4, + 5, + 6, + 7 + ], + 0 + ], + "y0": [ + "target", + 39 + ], + "y1": [ + "target", + 35 + ], + "y2": [ + "target", + 103 + ], + "y3": [ + "target", + 99 + ], + "y4": [ + "target", + 57 + ], + "y5": [ + "target", + 56 + ] + }, + "scaled": [ + [ + "y1", + "x0", + "1" + ], + [ + "y0", + "x1", + "1" + ], + [ + "y2", + "x5", + "-1/2" + ], + [ + "y3", + "x4", + "-1/2" + ], + [ + "y4", + "x3", + "1" + ], + [ + "y5", + "x2", + "1" + ], + [ + "x0", + "x1", + "1" + ], + [ + "x2", + "x5", + "-1/2" + ], + [ + "x4", + "x3", + "-2" + ], + [ + "y1", + "x2", + "1" + ], + [ + "y3", + "x0", + "1" + ], + [ + "y5", + "x4", + "-1/2" + ], + [ + "y0", + "y5", + "1" + ], + [ + "y2", + "y3", + "1" + ], + [ + "y4", + "y1", + "1" + ], + [ + "y1", + "x4", + "-1/2" + ], + [ + "y0", + "x5", + "-1/2" + ], + [ + "y2", + "x3", + "1" + ], + [ + "y3", + "x2", + "1" + ], + [ + "y4", + "x1", + "1" + ], + [ + "y5", + "x0", + "1" + ] + ], + "unit": [ + [ + "y1", + "x0", + 1 + ], + [ + "y0", + "x1", + 1 + ], + [ + "y2", + "x5", + 1 + ], + [ + "y3", + "x4", + 1 + ], + [ + "y4", + "x3", + 1 + ], + [ + "y5", + "x2", + 1 + ], + [ + "x0", + "x1", + 1 + ], + [ + "x2", + "x5", + 1 + ], + [ + "x4", + "x3", + 1 + ], + [ + "y1", + "x2", + 1 + ], + [ + "y3", + "x0", + 1 + ], + [ + "y5", + "x4", + 1 + ], + [ + "y0", + "y5", + 1 + ], + [ + "y2", + "y3", + 1 + ], + [ + "y4", + "y1", + 1 + ], + [ + "y1", + "x4", + 1 + ], + [ + "y0", + "x5", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y4", + "x1", + 1 + ], + [ + "y5", + "x0", + 1 + ] + ], + "coefficients": [ + [ + "0", + "1", + "1", + "1", + "-1/2", + "-1/2" + ], + [ + "1", + "0", + "1", + "1", + "-1/2", + "-1/2" + ], + [ + "1", + "1", + "0", + "1", + "-1/2", + "-1/2" + ], + [ + "1", + "1", + "1", + "0", + "-1/2", + "-1/2" + ], + [ + "1", + "1", + "1", + "1", + "0", + "-1/2" + ], + [ + "1", + "1", + "1", + "1", + "-1/2", + "0" + ] + ] + }, + { + "cell": "67+", + "bindings": { + "x0": [ + "source", + [ + 0, + 1, + 6, + 7 + ], + 23 + ], + "x1": [ + "source", + [ + 0, + 1, + 6, + 7 + ], + 3 + ], + "x2": [ + "source", + [ + 2, + 3, + 6, + 7 + ], + 23 + ], + "x3": [ + "source", + [ + 2, + 3, + 6, + 7 + ], + 3 + ], + "x4": [ + "source", + [ + 4, + 5, + 6, + 7 + ], + 23 + ], + "x5": [ + "source", + [ + 4, + 5, + 6, + 7 + ], + 3 + ], + "y0": [ + "target", + 31 + ], + "y1": [ + "target", + 27 + ], + "y2": [ + "target", + 95 + ], + "y3": [ + "target", + 91 + ], + "y4": [ + "target", + 63 + ], + "y5": [ + "target", + 59 + ] + }, + "scaled": [ + [ + "y1", + "x0", + "1" + ], + [ + "y0", + "x1", + "1" + ], + [ + "y2", + "x5", + "1" + ], + [ + "y3", + "x4", + "1" + ], + [ + "y4", + "x3", + "1" + ], + [ + "y5", + "x2", + "1" + ], + [ + "x0", + "x1", + "1" + ], + [ + "x2", + "x5", + "1" + ], + [ + "x4", + "x3", + "1" + ], + [ + "y1", + "x2", + "1" + ], + [ + "y3", + "x0", + "1" + ], + [ + "y5", + "x4", + "1" + ], + [ + "y0", + "y5", + "1" + ], + [ + "y2", + "y3", + "1" + ], + [ + "y4", + "y1", + "1" + ], + [ + "y1", + "x4", + "1" + ], + [ + "y0", + "x5", + "1" + ], + [ + "y2", + "x3", + "1" + ], + [ + "y3", + "x2", + "1" + ], + [ + "y4", + "x1", + "1" + ], + [ + "y5", + "x0", + "1" + ] + ], + "unit": [ + [ + "y1", + "x0", + 1 + ], + [ + "y0", + "x1", + 1 + ], + [ + "y2", + "x5", + 1 + ], + [ + "y3", + "x4", + 1 + ], + [ + "y4", + "x3", + 1 + ], + [ + "y5", + "x2", + 1 + ], + [ + "x0", + "x1", + 1 + ], + [ + "x2", + "x5", + 1 + ], + [ + "x4", + "x3", + 1 + ], + [ + "y1", + "x2", + 1 + ], + [ + "y3", + "x0", + 1 + ], + [ + "y5", + "x4", + 1 + ], + [ + "y0", + "y5", + 1 + ], + [ + "y2", + "y3", + 1 + ], + [ + "y4", + "y1", + 1 + ], + [ + "y1", + "x4", + 1 + ], + [ + "y0", + "x5", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y4", + "x1", + 1 + ], + [ + "y5", + "x0", + 1 + ] + ], + "coefficients": [ + [ + "0", + "1", + "1", + "1", + "1", + "1" + ], + [ + "1", + "0", + "1", + "1", + "1", + "1" + ], + [ + "1", + "1", + "0", + "1", + "1", + "1" + ], + [ + "1", + "1", + "1", + "0", + "1", + "1" + ], + [ + "1", + "1", + "1", + "1", + "0", + "1" + ], + [ + "1", + "1", + "1", + "1", + "1", + "0" + ] + ] + }, + { + "cell": "67-", + "bindings": { + "x0": [ + "source", + [ + 0, + 1, + 6, + 7 + ], + 2 + ], + "x1": [ + "source", + [ + 0, + 1, + 6, + 7 + ], + 21 + ], + "x2": [ + "source", + [ + 2, + 3, + 6, + 7 + ], + 2 + ], + "x3": [ + "source", + [ + 2, + 3, + 6, + 7 + ], + 21 + ], + "x4": [ + "source", + [ + 4, + 5, + 6, + 7 + ], + 2 + ], + "x5": [ + "source", + [ + 4, + 5, + 6, + 7 + ], + 21 + ], + "y0": [ + "target", + 26 + ], + "y1": [ + "target", + 30 + ], + "y2": [ + "target", + 90 + ], + "y3": [ + "target", + 94 + ], + "y4": [ + "target", + 58 + ], + "y5": [ + "target", + 62 + ] + }, + "scaled": [ + [ + "y1", + "x0", + "1" + ], + [ + "y0", + "x1", + "1" + ], + [ + "y2", + "x5", + "1" + ], + [ + "y3", + "x4", + "1" + ], + [ + "y4", + "x3", + "1" + ], + [ + "y5", + "x2", + "1" + ], + [ + "x0", + "x1", + "1" + ], + [ + "x2", + "x5", + "1" + ], + [ + "x4", + "x3", + "1" + ], + [ + "y1", + "x2", + "1" + ], + [ + "y3", + "x0", + "1" + ], + [ + "y5", + "x4", + "1" + ], + [ + "y0", + "y5", + "1" + ], + [ + "y2", + "y3", + "1" + ], + [ + "y4", + "y1", + "1" + ], + [ + "y1", + "x4", + "1" + ], + [ + "y0", + "x5", + "1" + ], + [ + "y2", + "x3", + "1" + ], + [ + "y3", + "x2", + "1" + ], + [ + "y4", + "x1", + "1" + ], + [ + "y5", + "x0", + "1" + ] + ], + "unit": [ + [ + "y1", + "x0", + 1 + ], + [ + "y0", + "x1", + 1 + ], + [ + "y2", + "x5", + 1 + ], + [ + "y3", + "x4", + 1 + ], + [ + "y4", + "x3", + 1 + ], + [ + "y5", + "x2", + 1 + ], + [ + "x0", + "x1", + 1 + ], + [ + "x2", + "x5", + 1 + ], + [ + "x4", + "x3", + 1 + ], + [ + "y1", + "x2", + 1 + ], + [ + "y3", + "x0", + 1 + ], + [ + "y5", + "x4", + 1 + ], + [ + "y0", + "y5", + 1 + ], + [ + "y2", + "y3", + 1 + ], + [ + "y4", + "y1", + 1 + ], + [ + "y1", + "x4", + 1 + ], + [ + "y0", + "x5", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y4", + "x1", + 1 + ], + [ + "y5", + "x0", + 1 + ] + ], + "coefficients": [ + [ + "0", + "1", + "1", + "1", + "1", + "1" + ], + [ + "1", + "0", + "1", + "1", + "1", + "1" + ], + [ + "1", + "1", + "0", + "1", + "1", + "1" + ], + [ + "1", + "1", + "1", + "0", + "1", + "1" + ], + [ + "1", + "1", + "1", + "1", + "0", + "1" + ], + [ + "1", + "1", + "1", + "1", + "1", + "0" + ] + ] + } +] diff --git a/research/gauge44-leaver/construction/leaver/COLD-LAYERS-RECIPE-NP-k5.json.gz b/research/gauge44-leaver/construction/leaver/COLD-LAYERS-RECIPE-NP-k5.json.gz new file mode 100644 index 0000000000..b1e4a1276f Binary files /dev/null and b/research/gauge44-leaver/construction/leaver/COLD-LAYERS-RECIPE-NP-k5.json.gz differ diff --git a/research/gauge44-leaver/construction/leaver/COLD-LAYERS-RECIPE-P6N-k5.json.gz b/research/gauge44-leaver/construction/leaver/COLD-LAYERS-RECIPE-P6N-k5.json.gz new file mode 100644 index 0000000000..d6e5f36bac Binary files /dev/null and b/research/gauge44-leaver/construction/leaver/COLD-LAYERS-RECIPE-P6N-k5.json.gz differ diff --git a/research/gauge44-leaver/construction/leaver/FRAME-RECIPE-LV-k5.json b/research/gauge44-leaver/construction/leaver/FRAME-RECIPE-LV-k5.json new file mode 100644 index 0000000000..428f58554c --- /dev/null +++ b/research/gauge44-leaver/construction/leaver/FRAME-RECIPE-LV-k5.json @@ -0,0 +1,2475 @@ +{ + "input_content_sha256": "2997cedee89ef2ec3f1e3259d7f05e424456e0caeb317915a5bb80407c4ccf48", + "gate_frames": [ + [ + "B", + 575, + [ + 336, + 208, + 32, + 8, + 6 + ], + [ + 336, + 208, + 32, + 8, + 6, + 1 + ] + ], + [ + "B", + 576, + [ + 400, + 80, + 32, + 8, + 6 + ], + [ + 400, + 80, + 32, + 8, + 6, + 1 + ] + ], + [ + "B", + 577, + [ + 256, + 128, + 64, + 16, + 6 + ], + [ + 256, + 128, + 64, + 16, + 6, + 1 + ] + ], + [ + "B", + 578, + [ + 256, + 128, + 64, + 16, + 8, + 6 + ], + [ + 256, + 128, + 64, + 16, + 8, + 6, + 1 + ] + ], + [ + "B", + 581, + [ + 256, + 144, + 80, + 32, + 8, + 6 + ], + [ + 256, + 144, + 80, + 32, + 8, + 6, + 1 + ] + ], + [ + "B", + 583, + [ + 272, + 144, + 64, + 32, + 8, + 6 + ], + [ + 272, + 144, + 64, + 32, + 8, + 6, + 1 + ] + ], + [ + "B", + 596, + [ + 265, + 137, + 81, + 32, + 6 + ], + [ + 265, + 137, + 72, + 32, + 25, + 6 + ] + ], + [ + "B", + 597, + [ + 401, + 64, + 32, + 9, + 6 + ], + [ + 385, + 64, + 32, + 16, + 9, + 6 + ] + ], + [ + "B", + 598, + [ + 265, + 137, + 73, + 17, + 6 + ], + [ + 257, + 129, + 65, + 17, + 8, + 6 + ] + ], + [ + "B", + 599, + [ + 256, + 128, + 64, + 17, + 9, + 6 + ], + [ + 256, + 128, + 64, + 16, + 8, + 6, + 1 + ] + ], + [ + "B", + 600, + [ + 265, + 137, + 73, + 32, + 24, + 6 + ], + [ + 264, + 136, + 72, + 32, + 24, + 6, + 1 + ] + ], + [ + "B", + 602, + [ + 273, + 128, + 64, + 32, + 9, + 6 + ], + [ + 257, + 128, + 64, + 32, + 16, + 9, + 6 + ] + ], + [ + "B", + 603, + [ + 265, + 137, + 73, + 32, + 17, + 6 + ], + [ + 257, + 129, + 65, + 32, + 17, + 8, + 6 + ] + ], + [ + "B", + 604, + [ + 256, + 128, + 81, + 32, + 9, + 6 + ], + [ + 256, + 128, + 65, + 32, + 16, + 9, + 6 + ] + ], + [ + "B", + 616, + [ + 265, + 193, + 40, + 6 + ], + [ + 265, + 144, + 81, + 40, + 6 + ] + ], + [ + "B", + 617, + [ + 265, + 193, + 40, + 17, + 6 + ], + [ + 265, + 129, + 64, + 40, + 17, + 6 + ] + ], + [ + "B", + 618, + [ + 289, + 176, + 96, + 9, + 6 + ], + [ + 289, + 160, + 96, + 16, + 9, + 6 + ] + ], + [ + "B", + 619, + [ + 265, + 152, + 80, + 33, + 6 + ], + [ + 257, + 144, + 80, + 33, + 8, + 6 + ] + ], + [ + "B", + 620, + [ + 256, + 145, + 80, + 33, + 9, + 6 + ], + [ + 256, + 144, + 80, + 32, + 8, + 6, + 1 + ] + ], + [ + "B", + 621, + [ + 265, + 128, + 65, + 40, + 17, + 6 + ], + [ + 264, + 128, + 64, + 40, + 16, + 6, + 1 + ] + ], + [ + "B", + 622, + [ + 256, + 145, + 65, + 33, + 9, + 6 + ], + [ + 256, + 129, + 65, + 33, + 16, + 9, + 6 + ] + ], + [ + "B", + 623, + [ + 273, + 128, + 80, + 48, + 9, + 6 + ], + [ + 257, + 128, + 64, + 32, + 16, + 9, + 6 + ] + ], + [ + "B", + 625, + [ + 256, + 193, + 33, + 17, + 9, + 6 + ], + [ + 256, + 129, + 64, + 33, + 17, + 9, + 6 + ] + ], + [ + "B", + 638, + [ + 256, + 144, + 73, + 57, + 6 + ], + [ + 256, + 129, + 73, + 40, + 17, + 6 + ] + ], + [ + "B", + 639, + [ + 297, + 169, + 104, + 16, + 6 + ], + [ + 288, + 160, + 97, + 16, + 9, + 6 + ] + ], + [ + "B", + 640, + [ + 272, + 152, + 73, + 33, + 6 + ], + [ + 272, + 145, + 64, + 33, + 9, + 6 + ] + ], + [ + "B", + 641, + [ + 272, + 144, + 65, + 33, + 8, + 6 + ], + [ + 272, + 144, + 64, + 32, + 8, + 6, + 1 + ] + ], + [ + "B", + 642, + [ + 256, + 128, + 73, + 41, + 16, + 6 + ], + [ + 256, + 128, + 72, + 40, + 16, + 6, + 1 + ] + ], + [ + "B", + 643, + [ + 264, + 136, + 73, + 33, + 16, + 6 + ], + [ + 257, + 129, + 64, + 33, + 16, + 9, + 6 + ] + ], + [ + "B", + 645, + [ + 264, + 128, + 73, + 33, + 24, + 6 + ], + [ + 257, + 128, + 64, + 33, + 17, + 9, + 6 + ] + ], + [ + "B", + 646, + [ + 256, + 136, + 73, + 33, + 24, + 6 + ], + [ + 256, + 129, + 64, + 33, + 17, + 9, + 6 + ] + ], + [ + "B", + 659, + [ + 256, + 193, + 33, + 16, + 6 + ], + [ + 256, + 129, + 64, + 33, + 16, + 6 + ] + ], + [ + "B", + 660, + [ + 289, + 161, + 112, + 8, + 6 + ], + [ + 289, + 161, + 97, + 17, + 8, + 6 + ] + ], + [ + "B", + 661, + [ + 321, + 144, + 49, + 8, + 6 + ], + [ + 273, + 144, + 80, + 49, + 8, + 6 + ] + ], + [ + "B", + 662, + [ + 272, + 144, + 81, + 49, + 8, + 6 + ], + [ + 272, + 144, + 80, + 48, + 8, + 6, + 1 + ] + ], + [ + "B", + 663, + [ + 256, + 128, + 65, + 33, + 16, + 6 + ], + [ + 256, + 128, + 64, + 32, + 16, + 6, + 1 + ] + ], + [ + "B", + 665, + [ + 256, + 128, + 81, + 33, + 8, + 6 + ], + [ + 256, + 128, + 64, + 33, + 17, + 8, + 6 + ] + ], + [ + "B", + 666, + [ + 321, + 128, + 33, + 16, + 8, + 6 + ], + [ + 257, + 128, + 64, + 33, + 16, + 8, + 6 + ] + ], + [ + "B", + 667, + [ + 256, + 193, + 33, + 16, + 8, + 6 + ], + [ + 256, + 129, + 64, + 33, + 16, + 8, + 6 + ] + ], + [ + "B", + 1259, + [ + 256, + 128, + 64, + 34, + 18, + 10, + 6, + 1 + ], + [ + 256, + 128, + 64, + 40, + 24, + 6, + 1 + ] + ], + [ + "B", + 1262, + [ + 256, + 128, + 64, + 34, + 16, + 8, + 6, + 1 + ], + [ + 256, + 128, + 64, + 16, + 8, + 6, + 1 + ] + ], + [ + "B", + 1265, + [ + 258, + 130, + 66, + 32, + 18, + 10, + 6, + 1 + ], + [ + 264, + 136, + 72, + 32, + 24, + 6, + 1 + ] + ], + [ + "B", + 1268, + [ + 258, + 130, + 66, + 32, + 16, + 8, + 6, + 1 + ], + [ + 320, + 192, + 32, + 16, + 8, + 6, + 1 + ] + ], + [ + "B", + 1271, + [ + 256, + 130, + 64, + 34, + 16, + 10, + 6, + 1 + ], + [ + 256, + 136, + 64, + 40, + 16, + 6, + 1 + ] + ], + [ + "B", + 1274, + [ + 256, + 130, + 66, + 32, + 18, + 8, + 6, + 1 + ], + [ + 256, + 144, + 80, + 32, + 8, + 6, + 1 + ] + ], + [ + "B", + 1277, + [ + 258, + 128, + 64, + 34, + 16, + 10, + 6, + 1 + ], + [ + 264, + 128, + 64, + 40, + 16, + 6, + 1 + ] + ], + [ + "B", + 1280, + [ + 258, + 128, + 66, + 32, + 18, + 8, + 6, + 1 + ], + [ + 272, + 128, + 80, + 32, + 8, + 6, + 1 + ] + ], + [ + "B", + 1283, + [ + 258, + 130, + 66, + 34, + 18, + 8, + 6, + 1 + ], + [ + 272, + 144, + 80, + 48, + 8, + 6, + 1 + ] + ], + [ + "B", + 1286, + [ + 258, + 130, + 64, + 32, + 18, + 8, + 6, + 1 + ], + [ + 272, + 144, + 64, + 32, + 8, + 6, + 1 + ] + ], + [ + "B", + 1289, + [ + 256, + 128, + 66, + 34, + 16, + 10, + 6, + 1 + ], + [ + 256, + 128, + 72, + 40, + 16, + 6, + 1 + ] + ], + [ + "B", + 1292, + [ + 256, + 128, + 64, + 32, + 16, + 10, + 6, + 1 + ], + [ + 256, + 128, + 64, + 32, + 16, + 6, + 1 + ] + ], + [ + "B", + 1295, + [ + 256, + 128, + 66, + 34, + 16, + 8, + 4, + 1 + ], + [ + 256, + 128, + 66, + 34, + 24, + 4, + 1 + ] + ], + [ + "B", + 1298, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 4, + 1 + ], + [ + 256, + 128, + 64, + 32, + 24, + 4, + 1 + ] + ], + [ + "B", + 1301, + [ + 260, + 132, + 68, + 36, + 20, + 12, + 2, + 1 + ], + [ + 260, + 132, + 68, + 36, + 24, + 2, + 1 + ] + ], + [ + "B", + 1304, + [ + 260, + 132, + 64, + 32, + 16, + 8, + 2, + 1 + ], + [ + 260, + 132, + 64, + 32, + 24, + 2, + 1 + ] + ], + [ + "B", + 1307, + [ + 258, + 128, + 64, + 34, + 18, + 10, + 4, + 1 + ], + [ + 258, + 128, + 64, + 34, + 24, + 4, + 1 + ] + ], + [ + "B", + 1310, + [ + 260, + 128, + 68, + 32, + 16, + 8, + 2, + 1 + ], + [ + 260, + 128, + 68, + 32, + 24, + 2, + 1 + ] + ], + [ + "B", + 1313, + [ + 256, + 130, + 64, + 34, + 16, + 8, + 4, + 1 + ], + [ + 256, + 130, + 64, + 34, + 24, + 4, + 1 + ] + ], + [ + "B", + 1316, + [ + 256, + 132, + 68, + 32, + 20, + 12, + 2, + 1 + ], + [ + 256, + 132, + 68, + 32, + 24, + 2, + 1 + ] + ], + [ + "B", + 1319, + [ + 258, + 130, + 64, + 34, + 16, + 10, + 4, + 1 + ], + [ + 262, + 134, + 64, + 38, + 20, + 10, + 1 + ] + ], + [ + "B", + 1322, + [ + 258, + 130, + 66, + 32, + 18, + 8, + 4, + 1 + ], + [ + 262, + 134, + 70, + 32, + 18, + 12, + 1 + ] + ], + [ + "B", + 1325, + [ + 256, + 128, + 64, + 34, + 18, + 8, + 4, + 1 + ], + [ + 256, + 128, + 64, + 38, + 18, + 12, + 1 + ] + ], + [ + "B", + 1328, + [ + 256, + 128, + 66, + 32, + 16, + 10, + 4, + 1 + ], + [ + 256, + 128, + 70, + 32, + 20, + 10, + 1 + ] + ], + [ + "B", + 1331, + [ + 256, + 132, + 68, + 36, + 20, + 8, + 2, + 1 + ], + [ + 256, + 134, + 70, + 38, + 20, + 10, + 1 + ] + ], + [ + "B", + 1334, + [ + 256, + 130, + 64, + 32, + 16, + 10, + 4, + 1 + ], + [ + 256, + 134, + 64, + 32, + 20, + 10, + 1 + ] + ], + [ + "B", + 1337, + [ + 258, + 128, + 66, + 34, + 16, + 10, + 4, + 1 + ], + [ + 262, + 128, + 70, + 38, + 20, + 10, + 1 + ] + ], + [ + "B", + 1340, + [ + 260, + 128, + 64, + 32, + 20, + 8, + 2, + 1 + ], + [ + 262, + 128, + 64, + 32, + 20, + 10, + 1 + ] + ], + [ + "B", + 1343, + [ + 256, + 128, + 65, + 33, + 16, + 9, + 5, + 2 + ], + [ + 256, + 128, + 65, + 33, + 18, + 11, + 7 + ] + ], + [ + "B", + 1346, + [ + 256, + 128, + 64, + 32, + 17, + 8, + 4, + 3 + ], + [ + 256, + 128, + 64, + 32, + 18, + 11, + 7 + ] + ], + [ + "B", + 1349, + [ + 257, + 129, + 65, + 33, + 17, + 8, + 5, + 2 + ], + [ + 257, + 129, + 65, + 33, + 19, + 10, + 7 + ] + ], + [ + "B", + 1352, + [ + 257, + 129, + 64, + 32, + 16, + 9, + 4, + 3 + ], + [ + 257, + 129, + 64, + 32, + 19, + 10, + 7 + ] + ], + [ + "B", + 1355, + [ + 257, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ], + [ + 257, + 128, + 64, + 33, + 18, + 11, + 7 + ] + ], + [ + "B", + 1358, + [ + 257, + 128, + 65, + 32, + 16, + 9, + 4, + 3 + ], + [ + 257, + 128, + 65, + 32, + 19, + 10, + 7 + ] + ], + [ + "B", + 1361, + [ + 256, + 129, + 64, + 33, + 16, + 9, + 5, + 2 + ], + [ + 256, + 129, + 64, + 33, + 18, + 11, + 7 + ] + ], + [ + "B", + 1364, + [ + 256, + 129, + 65, + 32, + 17, + 8, + 5, + 2 + ], + [ + 256, + 129, + 65, + 32, + 19, + 10, + 7 + ] + ], + [ + "B", + 1367, + [ + 257, + 129, + 64, + 33, + 16, + 8, + 4, + 3 + ], + [ + 257, + 129, + 64, + 33, + 24, + 4, + 3 + ] + ], + [ + "B", + 1370, + [ + 257, + 129, + 65, + 32, + 17, + 9, + 5, + 2 + ], + [ + 257, + 129, + 65, + 32, + 24, + 5, + 2 + ] + ], + [ + "B", + 1373, + [ + 256, + 128, + 64, + 33, + 17, + 9, + 5, + 2 + ], + [ + 256, + 128, + 64, + 33, + 24, + 5, + 2 + ] + ], + [ + "B", + 1376, + [ + 256, + 128, + 65, + 32, + 16, + 8, + 4, + 3 + ], + [ + 256, + 128, + 65, + 32, + 24, + 4, + 3 + ] + ], + [ + "B", + 1379, + [ + 256, + 129, + 65, + 33, + 17, + 9, + 4, + 3 + ], + [ + 256, + 129, + 65, + 33, + 24, + 4, + 3 + ] + ], + [ + "B", + 1382, + [ + 256, + 129, + 64, + 32, + 16, + 8, + 4, + 3 + ], + [ + 256, + 129, + 64, + 32, + 24, + 4, + 3 + ] + ], + [ + "B", + 1385, + [ + 257, + 128, + 65, + 33, + 16, + 8, + 4, + 3 + ], + [ + 257, + 128, + 65, + 33, + 24, + 4, + 3 + ] + ], + [ + "B", + 1388, + [ + 257, + 128, + 64, + 32, + 17, + 9, + 4, + 3 + ], + [ + 257, + 128, + 64, + 32, + 24, + 4, + 3 + ] + ], + [ + "B", + 1391, + [ + 257, + 128, + 65, + 33, + 16, + 9, + 5, + 3 + ], + [ + 257, + 128, + 65, + 33, + 16, + 9, + 6 + ] + ], + [ + "B", + 1394, + [ + 257, + 128, + 64, + 32, + 16, + 9, + 5, + 3 + ], + [ + 257, + 128, + 64, + 32, + 16, + 9, + 6 + ] + ], + [ + "B", + 1397, + [ + 256, + 129, + 65, + 33, + 16, + 9, + 5, + 3 + ], + [ + 256, + 129, + 65, + 33, + 16, + 9, + 6 + ] + ], + [ + "B", + 1400, + [ + 256, + 129, + 64, + 32, + 16, + 9, + 5, + 3 + ], + [ + 256, + 129, + 64, + 32, + 16, + 9, + 6 + ] + ], + [ + "B", + 1403, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 5, + 3 + ], + [ + 256, + 128, + 64, + 33, + 17, + 8, + 6 + ] + ], + [ + "B", + 1406, + [ + 256, + 128, + 65, + 32, + 16, + 9, + 5, + 3 + ], + [ + 256, + 128, + 65, + 32, + 16, + 9, + 6 + ] + ], + [ + "B", + 1409, + [ + 257, + 129, + 64, + 33, + 16, + 9, + 5, + 3 + ], + [ + 257, + 129, + 64, + 33, + 16, + 9, + 6 + ] + ], + [ + "B", + 1412, + [ + 257, + 129, + 65, + 32, + 17, + 8, + 5, + 3 + ], + [ + 257, + 129, + 65, + 32, + 17, + 8, + 6 + ] + ], + [ + "B", + 1415, + [ + 256, + 129, + 64, + 33, + 16, + 8, + 5, + 3 + ], + [ + 256, + 129, + 64, + 33, + 16, + 8, + 6 + ] + ], + [ + "B", + 1418, + [ + 256, + 129, + 64, + 33, + 17, + 9, + 5, + 3 + ], + [ + 256, + 129, + 64, + 33, + 17, + 9, + 6 + ] + ], + [ + "B", + 1421, + [ + 257, + 128, + 64, + 33, + 17, + 9, + 5, + 3 + ], + [ + 257, + 128, + 64, + 33, + 17, + 9, + 6 + ] + ], + [ + "B", + 1424, + [ + 257, + 128, + 64, + 33, + 16, + 8, + 5, + 3 + ], + [ + 257, + 128, + 64, + 33, + 16, + 8, + 6 + ] + ], + [ + "B", + 1425, + [ + 256, + 128, + 64, + 34, + 24, + 6, + 1 + ], + [ + 257, + 129, + 65, + 35, + 24, + 6 + ] + ], + [ + "B", + 1426, + [ + 256, + 128, + 64, + 34, + 24, + 6, + 1 + ], + [ + 257, + 129, + 65, + 35, + 24, + 6 + ] + ], + [ + "B", + 1429, + [ + 256, + 128, + 64, + 24, + 4, + 2, + 1 + ], + [ + 257, + 129, + 65, + 24, + 4, + 2 + ] + ], + [ + "B", + 1430, + [ + 256, + 128, + 64, + 24, + 4, + 2, + 1 + ], + [ + 257, + 129, + 65, + 24, + 4, + 2 + ] + ], + [ + "B", + 1433, + [ + 256, + 128, + 64, + 42, + 24, + 6, + 1 + ], + [ + 257, + 129, + 65, + 42, + 24, + 6 + ] + ], + [ + "B", + 1434, + [ + 256, + 128, + 64, + 42, + 24, + 6, + 1 + ], + [ + 257, + 129, + 65, + 42, + 24, + 6 + ] + ], + [ + "B", + 1437, + [ + 256, + 128, + 64, + 18, + 10, + 6, + 1 + ], + [ + 257, + 129, + 65, + 19, + 11, + 6 + ] + ], + [ + "B", + 1438, + [ + 256, + 128, + 64, + 18, + 10, + 6, + 1 + ], + [ + 257, + 129, + 65, + 19, + 11, + 6 + ] + ], + [ + "B", + 1841, + [ + 256, + 129, + 64, + 33, + 24, + 5, + 3 + ], + [ + 259, + 129, + 67, + 33, + 24, + 6 + ] + ], + [ + "B", + 1842, + [ + 256, + 129, + 64, + 33, + 24, + 5, + 3 + ], + [ + 259, + 129, + 67, + 33, + 24, + 6 + ] + ], + [ + "B", + 1845, + [ + 256, + 129, + 64, + 33, + 24, + 4, + 2 + ], + [ + 320, + 129, + 33, + 24, + 4, + 2 + ] + ], + [ + "B", + 1846, + [ + 256, + 129, + 64, + 33, + 24, + 4, + 2 + ], + [ + 320, + 129, + 33, + 24, + 4, + 2 + ] + ], + [ + "B", + 1849, + [ + 256, + 129, + 64, + 33, + 18, + 10, + 6 + ], + [ + 266, + 129, + 74, + 33, + 24, + 6 + ] + ], + [ + "B", + 1850, + [ + 256, + 129, + 64, + 33, + 18, + 10, + 6 + ], + [ + 266, + 129, + 74, + 33, + 24, + 6 + ] + ], + [ + "B", + 1853, + [ + 256, + 129, + 64, + 33, + 19, + 11, + 6 + ], + [ + 320, + 129, + 33, + 19, + 11, + 6 + ] + ], + [ + "B", + 1854, + [ + 256, + 129, + 64, + 33, + 19, + 11, + 6 + ], + [ + 320, + 129, + 33, + 19, + 11, + 6 + ] + ], + [ + "T", + 104, + [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ], + [ + 386, + 67, + 33, + 24, + 6 + ] + ], + [ + "T", + 125, + [ + 256, + 128, + 72, + 40, + 24, + 4, + 2, + 1 + ], + [ + 386, + 74, + 40, + 26, + 6, + 1 + ] + ] + ], + "expected": { + "output_content_sha256": "238be1fc7dc8f96e0676478b4916eeb00e265a8026476fe826f68c3aaffbdf91", + "local_profile": { + "1": 2463, + "2": 388, + "3": 429, + "4": 166, + "5": 70, + "8": 8 + }, + "width_inventory": { + "4": 65, + "5": 32, + "7": 39, + "8": 122, + "9": 231 + } + } +} \ No newline at end of file diff --git a/research/gauge44-leaver/construction/leaver/HPE-RECIPE-k5.json b/research/gauge44-leaver/construction/leaver/HPE-RECIPE-k5.json new file mode 100644 index 0000000000..0a16ff4993 --- /dev/null +++ b/research/gauge44-leaver/construction/leaver/HPE-RECIPE-k5.json @@ -0,0 +1 @@ +{"changes": [{"helper": 448, "cleanup_index": 646, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 449, "cleanup_index": 645, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 450, "cleanup_index": 644, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 451, "cleanup_index": 643, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 452, "cleanup_index": 642, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 453, "cleanup_index": 641, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 454, "cleanup_index": 640, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 455, "cleanup_index": 639, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 456, "cleanup_index": 638, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 457, "cleanup_index": 637, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 458, "cleanup_index": 634, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 467, "cleanup_index": 625, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 468, "cleanup_index": 623, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 489, "cleanup_index": 593, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 490, "cleanup_index": 592, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 513, "cleanup_index": 557, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 514, "cleanup_index": 556, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 537, "cleanup_index": 523, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 538, "cleanup_index": 522, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 561, "cleanup_index": 491, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 562, "cleanup_index": 490, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 573, "cleanup_index": 477, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 582, "cleanup_index": 468, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 583, "cleanup_index": 466, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 592, "cleanup_index": 456, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 593, "cleanup_index": 455, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 594, "cleanup_index": 454, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 596, "cleanup_index": 452, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 598, "cleanup_index": 450, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 599, "cleanup_index": 449, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 600, "cleanup_index": 448, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}]} \ No newline at end of file diff --git a/research/gauge44-leaver/construction/leaver/LEAVER-PINS-k5.json b/research/gauge44-leaver/construction/leaver/LEAVER-PINS-k5.json new file mode 100644 index 0000000000..152832f3a6 --- /dev/null +++ b/research/gauge44-leaver/construction/leaver/LEAVER-PINS-k5.json @@ -0,0 +1,45 @@ +{ + "raw_sha256": "c9114254533c7e272504016764c93370e18734469587a86fb07652b85f8ae209", + "regroup_count": 7, + "regroup_sha256": "9721839df28230dd630319f60f8fbd6a59522c1d4551a776d73a6f6927d6b6d6", + "hpe_recipe_sha256": "b0caa8b58ec652367e4d0d6d44ae9a06eda698ab1c8c7086eba5287684eccdcd", + "pairing_ranks": [ + 2, + 2, + 1, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 2, + 1, + 1 + ], + "cold44_sha256": "e10817e03f1fd7fb65c2bafc451b1c70856dc114ad0bd342d98bad2635d4189d", + "R": 489, + "local_profile": { + "1": 2434, + "2": 378, + "3": 490, + "4": 160, + "5": 56, + "8": 8 + }, + "width_inventory": { + "4": 49, + "5": 48, + "7": 31, + "8": 114, + "9": 247 + }, + "canonical_sha256": "d84cfebe0d02257452c3e6adaa1f2b5d21b051b119e31566c9340e42a75646da", + "program_sha256": { + "forward": "c5c00c10a4bc9983bc043530af34f609830b7351f7c6d32c9a9929d0eedf6556", + "backward": "6c64eb76aca07c267fd0f7b062e6c455f7237ccdad6ab957e6c8f04d4c75a946" + }, + "clifford_recipes_sha256": "84736fe4eaeb0aba893dc9d0d55c3241cfdc83c595e021b47ad59e48aaf415fc" +} diff --git a/research/gauge44-leaver/construction/leaver/LEC-REASON-PINS-k5.json b/research/gauge44-leaver/construction/leaver/LEC-REASON-PINS-k5.json new file mode 100644 index 0000000000..538c322070 --- /dev/null +++ b/research/gauge44-leaver/construction/leaver/LEC-REASON-PINS-k5.json @@ -0,0 +1,4 @@ +{ + "premix_dropped": "ENDPOINT", + "into_full": "ENDPOINT" +} diff --git a/research/gauge44-leaver/construction/leaver/PIVOT-SWAP-k5.json b/research/gauge44-leaver/construction/leaver/PIVOT-SWAP-k5.json new file mode 100644 index 0000000000..5b0637f6ef --- /dev/null +++ b/research/gauge44-leaver/construction/leaver/PIVOT-SWAP-k5.json @@ -0,0 +1 @@ +{"input_content_sha256": "9721839df28230dd630319f60f8fbd6a59522c1d4551a776d73a6f6927d6b6d6", "output_content_sha256": "c3d4ecfeb25d6f51fad41973284ce8603da2af126dcbef7cb6808a1ee5ae9260", "swaps": [{"pivot": 487, "new_pivot": 559, "entrance": [24], "gates": [{"part": "B", "index": 349, "before": ["add", 559, 487, -1, 1, [24]], "after": ["add", 487, 559, -1, 1, [24]]}, {"part": "B", "index": 350, "before": ["add", 625, 487, 2, 1, [24]], "after": ["add", 625, 559, -2, 1, [24]]}, {"part": "B", "index": 351, "before": ["add", 627, 487, -2, 1, [24]], "after": ["add", 627, 559, 2, 1, [24]]}, {"part": "B", "index": 352, "before": ["add", 673, 487, 1, 1, [24]], "after": ["add", 673, 559, -1, 1, [24]]}, {"part": "B", "index": 353, "before": ["add", 675, 487, -1, 1, [24]], "after": ["add", 675, 559, 1, 1, [24]]}]}, {"pivot": 488, "new_pivot": 560, "entrance": [24], "gates": [{"part": "B", "index": 486, "before": ["add", 123, 488, 1, 1, [24]], "after": ["add", 123, 560, -1, 1, [24]]}, {"part": "B", "index": 534, "before": ["add", 187, 488, -1, 1, [24]], "after": ["add", 187, 560, 1, 1, [24]]}, {"part": "B", "index": 717, "before": ["add", 560, 488, -1, 1, [24]], "after": ["add", 488, 560, -1, 1, [24]]}]}, {"pivot": 499, "new_pivot": 571, "entrance": [24], "gates": [{"part": "B", "index": 146, "before": ["add", 637, 499, 2, 1, [24]], "after": ["add", 637, 571, -2, 1, [24]]}, {"part": "B", "index": 148, "before": ["add", 637, 499, -2, 1, [24]], "after": ["add", 637, 571, 2, 1, [24]]}, {"part": "B", "index": 248, "before": ["add", 685, 499, -2, 1, [24]], "after": ["add", 685, 571, 2, 1, [24]]}, {"part": "B", "index": 250, "before": ["add", 685, 499, 2, 1, [24]], "after": ["add", 685, 571, -2, 1, [24]]}, {"part": "B", "index": 733, "before": ["add", 571, 499, -1, 1, [24]], "after": ["add", 499, 571, -1, 1, [24]]}]}, {"pivot": 500, "new_pivot": 572, "entrance": [24], "gates": [{"part": "B", "index": 67, "before": ["add", 211, 500, -1, 1, [24]], "after": ["add", 211, 572, 1, 1, [24]]}, {"part": "B", "index": 501, "before": ["add", 147, 500, 1, 1, [24]], "after": ["add", 147, 572, -1, 1, [24]]}, {"part": "B", "index": 735, "before": ["add", 572, 500, -1, 1, [24]], "after": ["add", 500, 572, -1, 1, [24]]}]}, {"pivot": 512, "new_pivot": 536, "entrance": [30], "gates": [{"part": "B", "index": 477, "before": ["add", 115, 512, -1, 1, [30]], "after": ["add", 115, 536, 1, 1, [30]]}, {"part": "B", "index": 525, "before": ["add", 179, 512, 1, 1, [30]], "after": ["add", 179, 536, -1, 1, [30]]}, {"part": "B", "index": 753, "before": ["add", 536, 512, -1, 1, [30]], "after": ["add", 512, 536, -1, 1, [30]]}]}, {"pivot": 524, "new_pivot": 548, "entrance": [30], "gates": [{"part": "B", "index": 510, "before": ["add", 155, 524, -1, 1, [30]], "after": ["add", 155, 548, 1, 1, [30]]}, {"part": "B", "index": 557, "before": ["add", 219, 524, 1, 1, [30]], "after": ["add", 219, 548, -1, 1, [30]]}, {"part": "B", "index": 771, "before": ["add", 548, 524, -1, 1, [30]], "after": ["add", 524, 548, -1, 1, [30]]}]}]} \ No newline at end of file diff --git a/research/gauge44-leaver/construction/leaver/PROMO-RECIPE-k5.json b/research/gauge44-leaver/construction/leaver/PROMO-RECIPE-k5.json new file mode 100644 index 0000000000..74470234cd --- /dev/null +++ b/research/gauge44-leaver/construction/leaver/PROMO-RECIPE-k5.json @@ -0,0 +1,971 @@ +{ + "input_content_sha256": "13de8d3221bf81f88d06fd190f68ffd9afc4302d65e6c39d4a57c4d2e02f2dc5", + "groups": [ + 627, + 629, + 630, + 631, + 635, + 637, + 638, + 639, + 651, + 653, + 654, + 655, + 659, + 661, + 662, + 663 + ], + "entrances": { + "612": [ + 408, + 80, + 40, + 6, + 1 + ], + "614": [ + 408, + 80, + 40, + 6, + 1 + ], + "615": [ + 408, + 80, + 40, + 6, + 1 + ], + "616": [ + 408, + 80, + 40, + 6, + 1 + ], + "620": [ + 272, + 144, + 96, + 6, + 1 + ], + "622": [ + 272, + 144, + 96, + 6, + 1 + ], + "623": [ + 272, + 144, + 96, + 6, + 1 + ], + "624": [ + 272, + 144, + 96, + 6, + 1 + ], + "636": [ + 390, + 68, + 34, + 24, + 1 + ], + "638": [ + 390, + 68, + 34, + 24, + 1 + ], + "639": [ + 390, + 68, + 34, + 24, + 1 + ], + "640": [ + 390, + 68, + 34, + 24, + 1 + ], + "644": [ + 298, + 170, + 102, + 30, + 1 + ], + "646": [ + 298, + 170, + 102, + 30, + 1 + ], + "647": [ + 298, + 170, + 102, + 30, + 1 + ], + "648": [ + 298, + 170, + 102, + 30, + 1 + ] + }, + "gate_frames": [ + [ + "B", + 390, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 391, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 392, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 393, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 394, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 395, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 396, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 397, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 398, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 399, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 400, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 401, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 402, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 403, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 404, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 405, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 406, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 407, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 408, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 409, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 410, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 411, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 412, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 413, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 414, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 415, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 416, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 417, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 418, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 419, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 420, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 421, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 422, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 423, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 424, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 425, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 426, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 427, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 428, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 429, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 430, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 431, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 432, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 433, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 434, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 435, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 436, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 437, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ] + ], + "expected": { + "output_content_sha256": "b88d5abe85089533aff8bb8b834ede9a9a89d2d36c03c49472b7ea5d57aa17ca", + "local_profile": { + "1": 2500, + "2": 368, + "3": 448, + "4": 170, + "5": 56, + "8": 8 + }, + "width_inventory": { + "4": 65, + "5": 32, + "7": 39, + "8": 122, + "9": 231 + } + } +} \ No newline at end of file diff --git a/research/gauge44-leaver/construction/leaver/RECIPE-U8-k5.json b/research/gauge44-leaver/construction/leaver/RECIPE-U8-k5.json new file mode 100644 index 0000000000..c3047516f9 --- /dev/null +++ b/research/gauge44-leaver/construction/leaver/RECIPE-U8-k5.json @@ -0,0 +1,1084 @@ +{ + "base_sha256": "d54668aa6406bae50f7694dc4cfaf80b00ed6147a0181452c8344c122dfadf20", + "B_delete": [ + 3, + 5, + 7, + 9, + 11, + 13, + 17, + 879, + 881, + 887, + 889, + 895, + 897, + 903, + 905, + 911, + 913, + 919, + 921, + 929, + 937, + 1186, + 1188, + 1194, + 1196, + 1202, + 1204, + 1210, + 1212, + 1218, + 1220, + 1226, + 1228, + 1236, + 1244 + ], + "B_insert": [ + [ + 3, + [ + "add", + 125, + 449, + 1, + 2, + [ + 24 + ] + ] + ], + [ + 5, + [ + "add", + 121, + 450, + 1, + 2, + [ + 24 + ] + ] + ], + [ + 7, + [ + "add", + 181, + 451, + 1, + 2, + [ + 30 + ] + ] + ], + [ + 9, + [ + "add", + 177, + 452, + 1, + 2, + [ + 30 + ] + ] + ], + [ + 11, + [ + "add", + 117, + 453, + -1, + 1, + [ + 30 + ] + ] + ], + [ + 13, + [ + "add", + 113, + 454, + -1, + 1, + [ + 30 + ] + ] + ], + [ + 17, + [ + "add", + 185, + 456, + -1, + 1, + [ + 24 + ] + ] + ], + [ + 707, + [ + "add", + 477, + 231, + 1, + 1, + [ + 386, + 64, + 34, + 24, + 4, + 1 + ] + ] + ], + [ + 708, + [ + "add", + 478, + 226, + 1, + 1, + [ + 388, + 68, + 32, + 24, + 2, + 1 + ] + ] + ], + [ + 724, + [ + "add", + 489, + 449, + 1, + 1, + [ + 260, + 132, + 70, + 38, + 24, + 1 + ] + ] + ], + [ + 725, + [ + "add", + 490, + 450, + 1, + 1, + [ + 260, + 132, + 64, + 32, + 24, + 1 + ] + ] + ], + [ + 742, + [ + "add", + 501, + 230, + 1, + 1, + [ + 390, + 70, + 38, + 20, + 10, + 1 + ] + ] + ], + [ + 743, + [ + "add", + 502, + 228, + 1, + 1, + [ + 390, + 64, + 32, + 20, + 10, + 1 + ] + ] + ], + [ + 760, + [ + "add", + 513, + 451, + 1, + 1, + [ + 268, + 140, + 64, + 38, + 30, + 1 + ] + ] + ], + [ + 761, + [ + "add", + 514, + 452, + 1, + 1, + [ + 266, + 138, + 70, + 32, + 30, + 1 + ] + ] + ], + [ + 778, + [ + "add", + 525, + 232, + -2, + 1, + [ + 385, + 64, + 33, + 18, + 11, + 7 + ] + ] + ], + [ + 779, + [ + "add", + 526, + 62, + -2, + 1, + [ + 385, + 65, + 32, + 19, + 10, + 7 + ] + ] + ], + [ + 794, + [ + "add", + 537, + 453, + -2, + 1, + [ + 267, + 139, + 65, + 33, + 25, + 7 + ] + ] + ], + [ + 795, + [ + "add", + 538, + 454, + -2, + 1, + [ + 267, + 139, + 64, + 32, + 25, + 7 + ] + ] + ], + [ + 811, + [ + "add", + 550, + 238, + -2, + 1, + [ + 385, + 64, + 32, + 24, + 4, + 3 + ] + ] + ], + [ + 827, + [ + "add", + 562, + 456, + -2, + 1, + [ + 259, + 131, + 65, + 32, + 24, + 7 + ] + ] + ], + [ + 1186, + [ + "add", + 125, + 449, + -1, + 2, + [ + 256, + 128, + 66, + 34, + 24, + 4, + 1 + ] + ] + ], + [ + 1188, + [ + "add", + 121, + 450, + -1, + 2, + [ + 260, + 132, + 64, + 32, + 24, + 2, + 1 + ] + ] + ], + [ + 1194, + [ + "add", + 149, + 231, + -1, + 2, + [ + 258, + 128, + 64, + 34, + 24, + 4, + 1 + ] + ] + ], + [ + 1196, + [ + "add", + 145, + 226, + -1, + 2, + [ + 256, + 132, + 68, + 32, + 24, + 2, + 1 + ] + ] + ], + [ + 1202, + [ + "add", + 181, + 451, + -1, + 2, + [ + 262, + 134, + 64, + 38, + 20, + 10, + 1 + ] + ] + ], + [ + 1204, + [ + "add", + 177, + 452, + -1, + 2, + [ + 256, + 128, + 70, + 32, + 20, + 10, + 1 + ] + ] + ], + [ + 1210, + [ + "add", + 221, + 230, + -1, + 2, + [ + 256, + 134, + 70, + 38, + 20, + 10, + 1 + ] + ] + ], + [ + 1212, + [ + "add", + 217, + 228, + -1, + 2, + [ + 262, + 128, + 64, + 32, + 20, + 10, + 1 + ] + ] + ], + [ + 1218, + [ + "add", + 117, + 453, + 1, + 1, + [ + 256, + 128, + 65, + 33, + 18, + 11, + 7 + ] + ] + ], + [ + 1220, + [ + "add", + 113, + 454, + 1, + 1, + [ + 257, + 129, + 64, + 32, + 19, + 10, + 7 + ] + ] + ], + [ + 1226, + [ + "add", + 157, + 232, + 1, + 1, + [ + 257, + 128, + 64, + 33, + 18, + 11, + 7 + ] + ] + ], + [ + 1228, + [ + "add", + 153, + 62, + 1, + 1, + [ + 256, + 129, + 65, + 32, + 19, + 10, + 7 + ] + ] + ], + [ + 1236, + [ + "add", + 185, + 456, + 1, + 1, + [ + 256, + 128, + 65, + 32, + 24, + 4, + 3 + ] + ] + ], + [ + 1244, + [ + "add", + 209, + 238, + 1, + 1, + [ + 257, + 128, + 64, + 32, + 24, + 4, + 3 + ] + ] + ] + ], + "B_frames": {}, + "tail_insert": [ + [ + 6, + [ + "add", + 489, + 449, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + ] + ], + [ + 4, + [ + "add", + 513, + 451, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ] + ], + [ + 2, + [ + "add", + 537, + 453, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ] + ], + [ + 5, + [ + "add", + 490, + 450, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + ] + ], + [ + 3, + [ + "add", + 514, + 452, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ] + ], + [ + 1, + [ + "add", + 538, + 454, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ] + ], + [ + 0, + [ + "add", + 562, + 456, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + ] + ] + ], + "cleanup_prepend": [ + [ + "add", + 477, + 231, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 501, + 230, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 525, + 232, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 478, + 226, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 502, + 228, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 526, + 62, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 550, + 238, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ] + ], + "local_profile": { + "1": 2494, + "2": 371, + "3": 462, + "4": 142, + "5": 70, + "8": 8 + }, + "expect_sha256": "2997cedee89ef2ec3f1e3259d7f05e424456e0caeb317915a5bb80407c4ccf48", + "priced": { + "dk_ideal_stored_frames": 2.77065654782525e-07 + }, + "variants": [ + { + "X": 231, + "E": 449, + "dsides": [ + 879, + 887 + ], + "donors": [ + 449, + 231 + ], + "hold": [ + 489, + 477 + ], + "kept": { + "1186": 449, + "1194": 231 + }, + "when": "mid" + }, + { + "X": 230, + "E": 451, + "dsides": [ + 895, + 903 + ], + "donors": [ + 451, + 230 + ], + "hold": [ + 513, + 501 + ], + "kept": { + "1202": 451, + "1210": 230 + }, + "when": "mid" + }, + { + "X": 232, + "E": 453, + "dsides": [ + 911, + 919 + ], + "donors": [ + 453, + 232 + ], + "hold": [ + 537, + 525 + ], + "kept": { + "1218": 453, + "1226": 232 + }, + "when": "mid" + }, + { + "X": 226, + "E": 450, + "dsides": [ + 881, + 889 + ], + "donors": [ + 450, + 226 + ], + "hold": [ + 490, + 478 + ], + "kept": { + "1188": 450, + "1196": 226 + }, + "when": "mid" + }, + { + "X": 228, + "E": 452, + "dsides": [ + 897, + 905 + ], + "donors": [ + 452, + 228 + ], + "hold": [ + 514, + 502 + ], + "kept": { + "1204": 452, + "1212": 228 + }, + "when": "mid" + }, + { + "X": 62, + "E": 454, + "dsides": [ + 913, + 921 + ], + "donors": [ + 454, + 62 + ], + "hold": [ + 538, + 526 + ], + "kept": { + "1220": 454, + "1228": 62 + }, + "when": "mid" + }, + { + "X": 238, + "E": 456, + "dsides": [ + 929, + 937 + ], + "donors": [ + 456, + 238 + ], + "hold": [ + 562, + 550 + ], + "kept": { + "1236": 456, + "1244": 238 + }, + "when": "mid" + } + ], + "source": "NewBArch RECIPE-U8 (X4 1e1d99ba), instances [231, 230, 232, 226, 228, 62, 238] ported by LeaverSAT/hyb.py; X=236 dropped (its tail uses dropped copy helper 449)" +} \ No newline at end of file diff --git a/research/gauge44-leaver/construction/leaver/RECIPE-X4-k5.json b/research/gauge44-leaver/construction/leaver/RECIPE-X4-k5.json new file mode 100644 index 0000000000..1635b2388a --- /dev/null +++ b/research/gauge44-leaver/construction/leaver/RECIPE-X4-k5.json @@ -0,0 +1,1022 @@ +{ + "input_content_sha256": "b88d5abe85089533aff8bb8b834ede9a9a89d2d36c03c49472b7ea5d57aa17ca", + "input_word": "leaver k5 sw4-stage word", + "frames_741_source": { + "pr": 741, + "commit": "e516b146", + "recipe": "scratch/WasteAttack/FRAME-RECIPE-741.json", + "frames_only_output_sha": "b88d5abe85089533aff8bb8b834ede9a9a89d2d36c03c49472b7ea5d57aa17ca", + "note": "leaver: surviving #741 frames only" + }, + "frames_741": [], + "raises": [ + [ + 870, + [ + 280, + 128, + 64, + 40, + 6, + 1 + ] + ], + [ + 872, + [ + 256, + 129, + 65, + 40, + 25, + 6 + ] + ], + [ + 873, + [ + 280, + 144, + 80, + 56, + 6, + 1 + ] + ], + [ + 874, + [ + 272, + 136, + 80, + 56, + 6, + 1 + ] + ], + [ + 876, + [ + 256, + 136, + 64, + 41, + 16, + 6 + ] + ], + [ + 877, + [ + 256, + 200, + 40, + 16, + 6, + 1 + ] + ], + [ + 943, + [ + 256, + 136, + 72, + 33, + 25, + 6 + ] + ], + [ + 944, + [ + 320, + 193, + 33, + 16, + 9, + 6 + ] + ], + [ + 945, + [ + 256, + 129, + 64, + 41, + 16, + 6 + ] + ], + [ + 946, + [ + 273, + 128, + 81, + 33, + 9, + 6 + ] + ], + [ + 947, + [ + 257, + 193, + 33, + 16, + 9, + 6 + ] + ], + [ + 949, + [ + 257, + 128, + 81, + 33, + 9, + 6 + ] + ] + ], + "edits": { + "replace": [ + { + "h": 448, + "i": 873, + "old": [ + "add", + 140, + 448, + -1, + 2 + ], + "new": [ + "add", + 140, + 235, + -1, + 2 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 448, + "i": 1184, + "old": [ + "add", + 133, + 448, + -1, + 2 + ], + "new": [ + "add", + 133, + 235, + -1, + 2 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 448, + "i": 877, + "old": [ + "add", + 132, + 235, + -1, + 2 + ], + "new": [ + "add", + 132, + 448, + -1, + 2 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 448, + "i": 1180, + "old": [ + "add", + 141, + 235, + -1, + 2 + ], + "new": [ + "add", + 141, + 448, + -1, + 2 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 468, + "i": 870, + "old": [ + "add", + 173, + 468, + -1, + 2 + ], + "new": [ + "add", + 173, + 267, + -1, + 2 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 468, + "i": 1179, + "old": [ + "add", + 140, + 468, + -1, + 2 + ], + "new": [ + "add", + 140, + 267, + -1, + 2 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 468, + "i": 874, + "old": [ + "add", + 141, + 267, + -1, + 2 + ], + "new": [ + "add", + 141, + 468, + -1, + 2 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 468, + "i": 1175, + "old": [ + "add", + 172, + 267, + -1, + 2 + ], + "new": [ + "add", + 172, + 468, + -1, + 2 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 457, + "i": 943, + "old": [ + "add", + 204, + 457, + 1, + 1 + ], + "new": [ + "add", + 204, + 58, + 1, + 1 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 457, + "i": 1254, + "old": [ + "add", + 197, + 457, + 1, + 1 + ], + "new": [ + "add", + 197, + 58, + 1, + 1 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 457, + "i": 947, + "old": [ + "add", + 196, + 58, + 1, + 1 + ], + "new": [ + "add", + 196, + 457, + 1, + 1 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 457, + "i": 1250, + "old": [ + "add", + 205, + 58, + 1, + 1 + ], + "new": [ + "add", + 205, + 457, + 1, + 1 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 583, + "i": 872, + "old": [ + "add", + 174, + 583, + -1, + 2 + ], + "new": [ + "add", + 174, + 427, + -1, + 2 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 583, + "i": 1249, + "old": [ + "add", + 204, + 583, + -1, + 2 + ], + "new": [ + "add", + 204, + 427, + -1, + 2 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 583, + "i": 944, + "old": [ + "add", + 205, + 427, + -1, + 2 + ], + "new": [ + "add", + 205, + 583, + -1, + 2 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 583, + "i": 1177, + "old": [ + "add", + 170, + 427, + -1, + 2 + ], + "new": [ + "add", + 170, + 583, + -1, + 2 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 467, + "i": 945, + "old": [ + "add", + 202, + 467, + 1, + 1 + ], + "new": [ + "add", + 202, + 26, + 1, + 1 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 467, + "i": 1256, + "old": [ + "add", + 165, + 467, + 1, + 1 + ], + "new": [ + "add", + 165, + 26, + 1, + 1 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 467, + "i": 949, + "old": [ + "add", + 164, + 26, + 1, + 1 + ], + "new": [ + "add", + 164, + 467, + 1, + 1 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 467, + "i": 1252, + "old": [ + "add", + 206, + 26, + 1, + 1 + ], + "new": [ + "add", + 206, + 467, + 1, + 1 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 592, + "i": 876, + "old": [ + "add", + 142, + 592, + -1, + 2 + ], + "new": [ + "add", + 142, + 443, + -1, + 2 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 592, + "i": 1251, + "old": [ + "add", + 202, + 592, + -1, + 2 + ], + "new": [ + "add", + 202, + 443, + -1, + 2 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 592, + "i": 946, + "old": [ + "add", + 206, + 443, + -1, + 2 + ], + "new": [ + "add", + 206, + 592, + -1, + 2 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 592, + "i": 1181, + "old": [ + "add", + 138, + 443, + -1, + 2 + ], + "new": [ + "add", + 138, + 592, + -1, + 2 + ], + "why": "r2h: read of r -> read of h" + } + ], + "delete": [ + { + "h": 448, + "i": 1, + "old": [ + "add", + 140, + 448, + 1, + 2 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 448, + "i": 0, + "old": [ + "add", + 133, + 448, + 1, + 2 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 468, + "i": 25, + "old": [ + "add", + 173, + 468, + 1, + 2 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 468, + "i": 24, + "old": [ + "add", + 140, + 468, + 1, + 2 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 457, + "i": 19, + "old": [ + "add", + 204, + 457, + -1, + 1 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 457, + "i": 18, + "old": [ + "add", + 197, + 457, + -1, + 1 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 583, + "i": 46, + "old": [ + "add", + 174, + 583, + 1, + 2 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 583, + "i": 47, + "old": [ + "add", + 204, + 583, + 1, + 2 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 467, + "i": 23, + "old": [ + "add", + 202, + 467, + -1, + 1 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 467, + "i": 22, + "old": [ + "add", + 165, + 467, + -1, + 1 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 592, + "i": 48, + "old": [ + "add", + 142, + 592, + 1, + 2 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 592, + "i": 49, + "old": [ + "add", + 202, + 592, + 1, + 2 + ], + "why": "h2r: delete t pre-read of h" + } + ], + "insert": [ + { + "h": 448, + "before": 2, + "gate": [ + "add", + 132, + 448, + 1, + 2 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 448, + "before": 2, + "gate": [ + "add", + 141, + 448, + 1, + 2 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 468, + "before": 26, + "gate": [ + "add", + 141, + 468, + 1, + 2 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 468, + "before": 26, + "gate": [ + "add", + 172, + 468, + 1, + 2 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 457, + "before": 20, + "gate": [ + "add", + 196, + 457, + -1, + 1 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 457, + "before": 20, + "gate": [ + "add", + 205, + 457, + -1, + 1 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 583, + "before": 48, + "gate": [ + "add", + 205, + 583, + 1, + 2 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 583, + "before": 48, + "gate": [ + "add", + 170, + 583, + 1, + 2 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 467, + "before": 24, + "gate": [ + "add", + 164, + 467, + -1, + 1 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 467, + "before": 24, + "gate": [ + "add", + 206, + 467, + -1, + 1 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 592, + "before": 50, + "gate": [ + "add", + 206, + 592, + 1, + 2 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 592, + "before": 50, + "gate": [ + "add", + 138, + 592, + 1, + 2 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + } + ] + }, + "expected": { + "output_content_sha256": "d54668aa6406bae50f7694dc4cfaf80b00ed6147a0181452c8344c122dfadf20", + "local_profile": { + "1": 2494, + "2": 371, + "3": 448, + "4": 170, + "5": 56, + "8": 8 + } + }, + "controls": { + "C0_identity": { + "mutation": { + "kind": "empty" + }, + "expected_sha": "b88d5abe85089533aff8bb8b834ede9a9a89d2d36c03c49472b7ea5d57aa17ca", + "local_profile": { + "1": 2500, + "2": 368, + "3": 448, + "4": 170, + "5": 56, + "8": 8 + } + }, + "C1_741_only": { + "mutation": { + "kind": "only_edits_of", + "h": [], + "raises": [] + }, + "expected_sha": "b88d5abe85089533aff8bb8b834ede9a9a89d2d36c03c49472b7ea5d57aa17ca", + "local_profile": { + "1": 2500, + "2": 368, + "3": 448, + "4": 170, + "5": 56, + "8": 8 + } + }, + "M1_one_pair_448": { + "mutation": { + "kind": "only_edits_of", + "h": [ + 448 + ], + "raises": [ + 873, + 877 + ] + }, + "expected_sha": "988dda7cc11fb5cf11099df5f8e6230d9b2e561b9c7133f3eea76937bc2b8447", + "local_profile": { + "1": 2500, + "2": 368, + "3": 448, + "4": 170, + "5": 56, + "8": 8 + } + }, + "N1_drop_preread": { + "mutation": { + "kind": "drop_insert", + "k": 0 + }, + "rejection_expected": [ + "exactness rows", + [ + 132, + 135 + ] + ] + }, + "N2_wrong_sign_preread": { + "mutation": { + "kind": "flip_insert_sign", + "k": 0 + }, + "rejection_expected": [ + "exactness rows", + [ + 132, + 135 + ] + ] + }, + "N3_plain_join_moved_reads": { + "mutation": { + "kind": "drop_raises" + }, + "expected_sha": "8a967b8b0f45cb0bc05ba39b1a5c031c60b289cf09a9e1854f48e9c3c2f6d7d7", + "local_profile": { + "1": 2482, + "2": 401, + "3": 448, + "4": 158, + "5": 56, + "8": 8 + } + }, + "N4_raise_dim7_at_855": { + "mutation": { + "kind": "frame", + "i": 870, + "frame": [ + 280, + 128, + 64, + 40, + 4, + 2, + 1 + ] + }, + "rejection_expected": [ + "cap", + 1257, + 174 + ] + } + } +} \ No newline at end of file diff --git a/research/gauge44-leaver/construction/leaver/REGROUP-LEAVER-k5.json b/research/gauge44-leaver/construction/leaver/REGROUP-LEAVER-k5.json new file mode 100644 index 0000000000..c966d06f22 --- /dev/null +++ b/research/gauge44-leaver/construction/leaver/REGROUP-LEAVER-k5.json @@ -0,0 +1,325 @@ +{ + "source": "PR635 k492-jp8-frame_regroup + PR646 k480-jp8-frame_regroup, changes whose before gate occurs in the leaver port3 word", + "changes": [ + { + "section": "B", + "index": 685, + "before": [ + "add", + 194, + 429, + 1, + 1, + [ + 272, + 144, + 65, + 49, + 8, + 6 + ] + ], + "after": [ + "add", + 194, + 429, + 1, + 1, + [ + 257, + 129, + 65, + 32, + 17, + 8, + 6 + ] + ], + "delta": { + "1": -3, + "2": 3, + "3": -1 + } + }, + { + "section": "B", + "index": 582, + "before": [ + "add", + 129, + 56, + -1, + 2, + [ + 256, + 128, + 64, + 32, + 16, + 6 + ] + ], + "after": [ + "add", + 129, + 56, + -1, + 2, + [ + 256, + 128, + 64, + 32, + 16, + 6, + 1 + ] + ], + "delta": { + "1": -3, + "2": 3, + "3": -1 + } + }, + { + "section": "B", + "index": 583, + "before": [ + "add", + 137, + 24, + -1, + 2, + [ + 272, + 128, + 80, + 32, + 8, + 6 + ] + ], + "after": [ + "add", + 137, + 24, + -1, + 2, + [ + 272, + 128, + 80, + 32, + 8, + 6, + 1 + ] + ], + "delta": { + "1": -3, + "2": 3, + "3": -1 + } + }, + { + "section": "B", + "index": 584, + "before": [ + "add", + 169, + 16, + -1, + 2, + [ + 320, + 192, + 32, + 16, + 8, + 6 + ] + ], + "after": [ + "add", + 169, + 16, + -1, + 2, + [ + 320, + 192, + 32, + 16, + 8, + 6, + 1 + ] + ], + "delta": { + "1": -3, + "2": 3, + "3": -1 + } + }, + { + "section": "B", + "index": 643, + "before": [ + "add", + 201, + 88, + -1, + 2, + [ + 256, + 145, + 64, + 32, + 9, + 6 + ] + ], + "after": [ + "add", + 201, + 88, + -1, + 2, + [ + 256, + 129, + 64, + 32, + 16, + 9, + 6 + ] + ], + "delta": { + "1": -3, + "2": 3, + "3": -1 + } + }, + { + "section": "B", + "index": 705, + "before": [ + "add", + 161, + 27, + 1, + 1, + [ + 265, + 128, + 72, + 33, + 24, + 6 + ] + ], + "after": [ + "add", + 161, + 27, + 1, + 1, + [ + 257, + 128, + 64, + 33, + 16, + 8, + 6 + ] + ], + "delta": { + "1": -3, + "2": 3, + "3": -1 + } + }, + { + "section": "B", + "index": 727, + "before": [ + "add", + 194, + 429, + 1, + 1, + [ + 272, + 144, + 65, + 49, + 8, + 6 + ] + ], + "after": [ + "add", + 194, + 429, + 1, + 1, + [ + 257, + 129, + 65, + 32, + 17, + 8, + 6 + ] + ], + "delta": { + "1": -3, + "2": 3, + "3": -1 + } + }, + { + "section": "B", + "index": 757, + "before": [ + "add", + 195, + 431, + 1, + 1, + [ + 256, + 128, + 65, + 41, + 16, + 6 + ] + ], + "after": [ + "add", + 195, + 431, + 1, + 1, + [ + 256, + 128, + 65, + 32, + 16, + 9, + 6 + ] + ], + "delta": { + "1": -3, + "2": 3, + "3": -1 + } + } + ] +} diff --git a/research/gauge44-leaver/construction/leaver/TRI-LEAVER-k5.json b/research/gauge44-leaver/construction/leaver/TRI-LEAVER-k5.json new file mode 100644 index 0000000000..68b16c9388 --- /dev/null +++ b/research/gauge44-leaver/construction/leaver/TRI-LEAVER-k5.json @@ -0,0 +1,377 @@ +{ + "full_pairs": [ + [ + 0, + 1 + ], + [ + 2, + 3 + ], + [ + 4, + 5 + ], + [ + 6, + 7 + ] + ], + "triangles": [ + { + "p": [ + 0, + 1 + ], + "e": 1, + "reads": [ + [ + 57, + [ + 0, + 1, + 2, + 3 + ], + 0 + ], + [ + 56, + [ + 0, + 1, + 2, + 3 + ], + 1 + ], + [ + 25, + [ + 0, + 1, + 4, + 5 + ], + 0 + ], + [ + 24, + [ + 0, + 1, + 4, + 5 + ], + 1 + ], + [ + 17, + [ + 0, + 1, + 6, + 7 + ], + 0 + ], + [ + 16, + [ + 0, + 1, + 6, + 7 + ], + 1 + ] + ], + "coded": true, + "cell": 0 + }, + { + "p": [ + 2, + 3 + ], + "e": 1, + "reads": [ + [ + 63, + [ + 0, + 1, + 2, + 3 + ], + 3 + ], + [ + 59, + [ + 0, + 1, + 2, + 3 + ], + 23 + ], + [ + 89, + [ + 2, + 3, + 4, + 5 + ], + 0 + ], + [ + 88, + [ + 2, + 3, + 4, + 5 + ], + 1 + ], + [ + 81, + [ + 2, + 3, + 6, + 7 + ], + 0 + ], + [ + 80, + [ + 2, + 3, + 6, + 7 + ], + 1 + ] + ], + "coded": true, + "cell": 1 + }, + { + "p": [ + 4, + 5 + ], + "e": 1, + "reads": [ + [ + 31, + [ + 0, + 1, + 4, + 5 + ], + 3 + ], + [ + 27, + [ + 0, + 1, + 4, + 5 + ], + 23 + ], + [ + 95, + [ + 2, + 3, + 4, + 5 + ], + 3 + ], + [ + 91, + [ + 2, + 3, + 4, + 5 + ], + 23 + ], + [ + 49, + [ + 4, + 5, + 6, + 7 + ], + 0 + ], + [ + 48, + [ + 4, + 5, + 6, + 7 + ], + 1 + ] + ], + "coded": true, + "cell": 2 + }, + { + "p": [ + 6, + 7 + ], + "e": 1, + "reads": [ + [ + 23, + [ + 0, + 1, + 6, + 7 + ], + 3 + ], + [ + 19, + [ + 0, + 1, + 6, + 7 + ], + 23 + ], + [ + 87, + [ + 2, + 3, + 6, + 7 + ], + 3 + ], + [ + 83, + [ + 2, + 3, + 6, + 7 + ], + 23 + ], + [ + 55, + [ + 4, + 5, + 6, + 7 + ], + 3 + ], + [ + 51, + [ + 4, + 5, + 6, + 7 + ], + 23 + ] + ], + "coded": true, + "cell": 3 + }, + { + "p": [ + 6, + 7 + ], + "e": -1, + "reads": [ + [ + 18, + [ + 0, + 1, + 6, + 7 + ], + 21 + ], + [ + 22, + [ + 0, + 1, + 6, + 7 + ], + 2 + ], + [ + 82, + [ + 2, + 3, + 6, + 7 + ], + 21 + ], + [ + 86, + [ + 2, + 3, + 6, + 7 + ], + 2 + ], + [ + 50, + [ + 4, + 5, + 6, + 7 + ], + 21 + ], + [ + 54, + [ + 4, + 5, + 6, + 7 + ], + 2 + ] + ], + "coded": true, + "cell": 4 + } + ] +} diff --git a/research/gauge44-leaver/construction/leaver/build_frames_lv.py b/research/gauge44-leaver/construction/leaver/build_frames_lv.py new file mode 100644 index 0000000000..5f8aa7a24b --- /dev/null +++ b/research/gauge44-leaver/construction/leaver/build_frames_lv.py @@ -0,0 +1,64 @@ +#!/usr/bin/env python3 +"""Apply the pinned gate/tail frame re-optimisation of FRAME-RECIPE-LV-k5.json (exact global frame optimum, gopt2) to the +leaver U8 word. + +usage: build_frames_lv.py INPUT_WORD.json.gz OUT_DIR RECIPE.json + +Standard library only. The frames are applied by BlockInvert's `../promo/build_promotion.apply` (no entrances; 'B' gate +frames and 'T' tail frames), which checks each old frame and recomputes the local profile and widths. This builder then checks: +input sha pin; the scalar program of A, cut, B, precondition and cleanup unchanged (every field but the frame); start +and end frames unchanged; local profile and width inventory equal to the recipe's; output sha pin. Three pin controls +(input pin, wrong old frame, output pin) must be rejected at their pinned reasons on every build. +Adapted from ../frames/build_frames.py (from PR741's extras/build_frames.py, chafreaky). Apache-2.0. +""" +import copy, gzip, hashlib, importlib.util, json, sys +from pathlib import Path + +HERE = Path(__file__).resolve().parent +_s = importlib.util.spec_from_file_location('promotion', HERE.parent / 'promo/build_promotion.py') +B = importlib.util.module_from_spec(_s); _s.loader.exec_module(B) + + +def construct(raw, recipe): + assert hashlib.sha256(raw).hexdigest() == recipe['input_content_sha256'], 'input word pin' + w = json.loads(raw) + assert recipe['gate_frames'] and all(c[0] in ('B', 'T') for c in recipe['gate_frames']), 'B and T frames only' + out = B.apply(w, dict(entrances={}, gate_frames=recipe['gate_frames'])) + for section in ('A', 'cut', 'B', 'precondition', 'cleanup'): + assert [e[:-1] for e in w[section]] == [e[:-1] for e in out[section]], 'scalar program unchanged' + assert out['start_extra'] == w['start_extra'] and out['helper_final'] == w['helper_final'], 'endpoint frames unchanged' + assert out['report']['local_profile'] == recipe['expected']['local_profile'] and \ + out['report']['width_inventory'] == recipe['expected']['width_inventory'], 'profile and width pins' + data = json.dumps(out, sort_keys=True, separators=(',', ':')).encode() + assert hashlib.sha256(data).hexdigest() == recipe['expected']['output_content_sha256'], 'output word pin' + return data + + +def main(): + assert __debug__, 'Assertions are required' + inp, outd, rfile = map(Path, sys.argv[1:4]) + raw = gzip.decompress(inp.read_bytes()); recipe = json.loads(rfile.read_text()) + data = construct(raw, recipe) + rejected = [] + for name, change, reason in [ + ('input-pin', lambda r: r.__setitem__('input_content_sha256', '0' * 64), 'input word pin'), + ('old-frame', lambda r: r['gate_frames'][0].__setitem__(2, []), 'gate frame mismatch'), + ('output-pin', lambda r: r['expected'].__setitem__('output_content_sha256', '0' * 64), 'output word pin')]: + r = copy.deepcopy(recipe); change(r) + try: + construct(raw, r) + except AssertionError as e: + assert reason in str(e), (name, str(e)); rejected.append(dict(name=name, reason=reason)) + else: + raise AssertionError('accepted ' + name) + outd.mkdir(parents=True) + (outd / 'FULL-WORD.json.gz').write_bytes(gzip.compress(data, mtime=0)) + (outd / 'BUILD.json').write_text(json.dumps(dict( + status='PASS_FRAME_REOPT_EXACT_CONSTRUCTION', input_sha256=hashlib.sha256(raw).hexdigest(), + output_sha256=hashlib.sha256(data).hexdigest(), scalar_program_unchanged=True, frames=len(recipe['gate_frames']), + rejected_controls=rejected), indent=2) + '\n') + print('PASS', len(recipe['gate_frames']), 'frames and three pin controls') + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-leaver/construction/leaver/cells-k5/CORE-01+.json b/research/gauge44-leaver/construction/leaver/cells-k5/CORE-01+.json new file mode 100644 index 0000000000..bfef820f29 --- /dev/null +++ b/research/gauge44-leaver/construction/leaver/cells-k5/CORE-01+.json @@ -0,0 +1,216 @@ +{ + "unit": [ + [ + "y1", + "x0", + 1 + ], + [ + "y0", + "x1", + 1 + ], + [ + "y2", + "x5", + 1 + ], + [ + "y3", + "x4", + 1 + ], + [ + "y4", + "x3", + 1 + ], + [ + "y5", + "x2", + 1 + ], + [ + "x0", + "x1", + 1 + ], + [ + "x2", + "x5", + 1 + ], + [ + "x4", + "x3", + 1 + ], + [ + "y1", + "x2", + 1 + ], + [ + "y3", + "x0", + 1 + ], + [ + "y5", + "x4", + 1 + ], + [ + "y0", + "y5", + 1 + ], + [ + "y2", + "y3", + 1 + ], + [ + "y4", + "y1", + 1 + ], + [ + "y1", + "x4", + 1 + ], + [ + "y0", + "x5", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y4", + "x1", + 1 + ], + [ + "y5", + "x0", + 1 + ] + ], + "scaled": [ + [ + "y1", + "x0", + "-1/2" + ], + [ + "y0", + "x1", + "-1/2" + ], + [ + "y2", + "x5", + "-1/2" + ], + [ + "y3", + "x4", + "-1/2" + ], + [ + "y4", + "x3", + "-1/2" + ], + [ + "y5", + "x2", + "-1/2" + ], + [ + "x0", + "x1", + "1" + ], + [ + "x2", + "x5", + "1" + ], + [ + "x4", + "x3", + "1" + ], + [ + "y1", + "x2", + "-1/2" + ], + [ + "y3", + "x0", + "-1/2" + ], + [ + "y5", + "x4", + "-1/2" + ], + [ + "y0", + "y5", + "1" + ], + [ + "y2", + "y3", + "1" + ], + [ + "y4", + "y1", + "1" + ], + [ + "y1", + "x4", + "-1/2" + ], + [ + "y0", + "x5", + "-1/2" + ], + [ + "y2", + "x3", + "-1/2" + ], + [ + "y3", + "x2", + "-1/2" + ], + [ + "y4", + "x1", + "-1/2" + ], + [ + "y5", + "x0", + "-1/2" + ] + ] +} \ No newline at end of file diff --git a/research/gauge44-leaver/construction/leaver/cells-k5/CORE-23+.json b/research/gauge44-leaver/construction/leaver/cells-k5/CORE-23+.json new file mode 100644 index 0000000000..98ff8050e7 --- /dev/null +++ b/research/gauge44-leaver/construction/leaver/cells-k5/CORE-23+.json @@ -0,0 +1,216 @@ +{ + "unit": [ + [ + "y1", + "x0", + 1 + ], + [ + "y0", + "x1", + 1 + ], + [ + "y2", + "x5", + 1 + ], + [ + "y3", + "x4", + 1 + ], + [ + "y4", + "x3", + 1 + ], + [ + "y5", + "x2", + 1 + ], + [ + "x0", + "x1", + 1 + ], + [ + "x2", + "x5", + 1 + ], + [ + "x4", + "x3", + 1 + ], + [ + "y1", + "x2", + 1 + ], + [ + "y3", + "x0", + 1 + ], + [ + "y5", + "x4", + 1 + ], + [ + "y0", + "y5", + 1 + ], + [ + "y2", + "y3", + 1 + ], + [ + "y4", + "y1", + 1 + ], + [ + "y1", + "x4", + 1 + ], + [ + "y0", + "x5", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y4", + "x1", + 1 + ], + [ + "y5", + "x0", + 1 + ] + ], + "scaled": [ + [ + "y1", + "x0", + "1" + ], + [ + "y0", + "x1", + "1" + ], + [ + "y2", + "x5", + "-1/2" + ], + [ + "y3", + "x4", + "-1/2" + ], + [ + "y4", + "x3", + "-1/2" + ], + [ + "y5", + "x2", + "-1/2" + ], + [ + "x0", + "x1", + "1" + ], + [ + "x2", + "x5", + "1" + ], + [ + "x4", + "x3", + "1" + ], + [ + "y1", + "x2", + "-1/2" + ], + [ + "y3", + "x0", + "1" + ], + [ + "y5", + "x4", + "-1/2" + ], + [ + "y0", + "y5", + "1" + ], + [ + "y2", + "y3", + "1" + ], + [ + "y4", + "y1", + "1" + ], + [ + "y1", + "x4", + "-1/2" + ], + [ + "y0", + "x5", + "-1/2" + ], + [ + "y2", + "x3", + "-1/2" + ], + [ + "y3", + "x2", + "-1/2" + ], + [ + "y4", + "x1", + "1" + ], + [ + "y5", + "x0", + "1" + ] + ] +} \ No newline at end of file diff --git a/research/gauge44-leaver/construction/leaver/cells-k5/CORE-45+.json b/research/gauge44-leaver/construction/leaver/cells-k5/CORE-45+.json new file mode 100644 index 0000000000..2bc89e1de1 --- /dev/null +++ b/research/gauge44-leaver/construction/leaver/cells-k5/CORE-45+.json @@ -0,0 +1,216 @@ +{ + "unit": [ + [ + "y1", + "x0", + 1 + ], + [ + "y0", + "x1", + 1 + ], + [ + "y2", + "x5", + 1 + ], + [ + "y3", + "x4", + 1 + ], + [ + "y4", + "x3", + 1 + ], + [ + "y5", + "x2", + 1 + ], + [ + "x0", + "x1", + 1 + ], + [ + "x2", + "x5", + 1 + ], + [ + "x4", + "x3", + 1 + ], + [ + "y1", + "x2", + 1 + ], + [ + "y3", + "x0", + 1 + ], + [ + "y5", + "x4", + 1 + ], + [ + "y0", + "y5", + 1 + ], + [ + "y2", + "y3", + 1 + ], + [ + "y4", + "y1", + 1 + ], + [ + "y1", + "x4", + 1 + ], + [ + "y0", + "x5", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y4", + "x1", + 1 + ], + [ + "y5", + "x0", + 1 + ] + ], + "scaled": [ + [ + "y1", + "x0", + "1" + ], + [ + "y0", + "x1", + "1" + ], + [ + "y2", + "x5", + "-1/2" + ], + [ + "y3", + "x4", + "-1/2" + ], + [ + "y4", + "x3", + "1" + ], + [ + "y5", + "x2", + "1" + ], + [ + "x0", + "x1", + "1" + ], + [ + "x2", + "x5", + "-1/2" + ], + [ + "x4", + "x3", + "-2" + ], + [ + "y1", + "x2", + "1" + ], + [ + "y3", + "x0", + "1" + ], + [ + "y5", + "x4", + "-1/2" + ], + [ + "y0", + "y5", + "1" + ], + [ + "y2", + "y3", + "1" + ], + [ + "y4", + "y1", + "1" + ], + [ + "y1", + "x4", + "-1/2" + ], + [ + "y0", + "x5", + "-1/2" + ], + [ + "y2", + "x3", + "1" + ], + [ + "y3", + "x2", + "1" + ], + [ + "y4", + "x1", + "1" + ], + [ + "y5", + "x0", + "1" + ] + ] +} \ No newline at end of file diff --git a/research/gauge44-leaver/construction/leaver/cells-k5/CORE-67+.json b/research/gauge44-leaver/construction/leaver/cells-k5/CORE-67+.json new file mode 100644 index 0000000000..7d756cb19d --- /dev/null +++ b/research/gauge44-leaver/construction/leaver/cells-k5/CORE-67+.json @@ -0,0 +1,216 @@ +{ + "unit": [ + [ + "y1", + "x0", + 1 + ], + [ + "y0", + "x1", + 1 + ], + [ + "y2", + "x5", + 1 + ], + [ + "y3", + "x4", + 1 + ], + [ + "y4", + "x3", + 1 + ], + [ + "y5", + "x2", + 1 + ], + [ + "x0", + "x1", + 1 + ], + [ + "x2", + "x5", + 1 + ], + [ + "x4", + "x3", + 1 + ], + [ + "y1", + "x2", + 1 + ], + [ + "y3", + "x0", + 1 + ], + [ + "y5", + "x4", + 1 + ], + [ + "y0", + "y5", + 1 + ], + [ + "y2", + "y3", + 1 + ], + [ + "y4", + "y1", + 1 + ], + [ + "y1", + "x4", + 1 + ], + [ + "y0", + "x5", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y4", + "x1", + 1 + ], + [ + "y5", + "x0", + 1 + ] + ], + "scaled": [ + [ + "y1", + "x0", + "1" + ], + [ + "y0", + "x1", + "1" + ], + [ + "y2", + "x5", + "1" + ], + [ + "y3", + "x4", + "1" + ], + [ + "y4", + "x3", + "1" + ], + [ + "y5", + "x2", + "1" + ], + [ + "x0", + "x1", + "1" + ], + [ + "x2", + "x5", + "1" + ], + [ + "x4", + "x3", + "1" + ], + [ + "y1", + "x2", + "1" + ], + [ + "y3", + "x0", + "1" + ], + [ + "y5", + "x4", + "1" + ], + [ + "y0", + "y5", + "1" + ], + [ + "y2", + "y3", + "1" + ], + [ + "y4", + "y1", + "1" + ], + [ + "y1", + "x4", + "1" + ], + [ + "y0", + "x5", + "1" + ], + [ + "y2", + "x3", + "1" + ], + [ + "y3", + "x2", + "1" + ], + [ + "y4", + "x1", + "1" + ], + [ + "y5", + "x0", + "1" + ] + ] +} \ No newline at end of file diff --git a/research/gauge44-leaver/construction/leaver/cells-k5/CORE-67-.json b/research/gauge44-leaver/construction/leaver/cells-k5/CORE-67-.json new file mode 100644 index 0000000000..7d756cb19d --- /dev/null +++ b/research/gauge44-leaver/construction/leaver/cells-k5/CORE-67-.json @@ -0,0 +1,216 @@ +{ + "unit": [ + [ + "y1", + "x0", + 1 + ], + [ + "y0", + "x1", + 1 + ], + [ + "y2", + "x5", + 1 + ], + [ + "y3", + "x4", + 1 + ], + [ + "y4", + "x3", + 1 + ], + [ + "y5", + "x2", + 1 + ], + [ + "x0", + "x1", + 1 + ], + [ + "x2", + "x5", + 1 + ], + [ + "x4", + "x3", + 1 + ], + [ + "y1", + "x2", + 1 + ], + [ + "y3", + "x0", + 1 + ], + [ + "y5", + "x4", + 1 + ], + [ + "y0", + "y5", + 1 + ], + [ + "y2", + "y3", + 1 + ], + [ + "y4", + "y1", + 1 + ], + [ + "y1", + "x4", + 1 + ], + [ + "y0", + "x5", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y4", + "x1", + 1 + ], + [ + "y5", + "x0", + 1 + ] + ], + "scaled": [ + [ + "y1", + "x0", + "1" + ], + [ + "y0", + "x1", + "1" + ], + [ + "y2", + "x5", + "1" + ], + [ + "y3", + "x4", + "1" + ], + [ + "y4", + "x3", + "1" + ], + [ + "y5", + "x2", + "1" + ], + [ + "x0", + "x1", + "1" + ], + [ + "x2", + "x5", + "1" + ], + [ + "x4", + "x3", + "1" + ], + [ + "y1", + "x2", + "1" + ], + [ + "y3", + "x0", + "1" + ], + [ + "y5", + "x4", + "1" + ], + [ + "y0", + "y5", + "1" + ], + [ + "y2", + "y3", + "1" + ], + [ + "y4", + "y1", + "1" + ], + [ + "y1", + "x4", + "1" + ], + [ + "y0", + "x5", + "1" + ], + [ + "y2", + "x3", + "1" + ], + [ + "y3", + "x2", + "1" + ], + [ + "y4", + "x1", + "1" + ], + [ + "y5", + "x0", + "1" + ] + ] +} \ No newline at end of file diff --git a/research/gauge44-leaver/construction/leaver/cgx_leaver.py b/research/gauge44-leaver/construction/leaver/cgx_leaver.py new file mode 100644 index 0000000000..e686c66306 --- /dev/null +++ b/research/gauge44-leaver/construction/leaver/cgx_leaver.py @@ -0,0 +1,491 @@ +# LeaverSAT: no-helper mutable-leaver all-K cells (coded triangles) on the no-triangle word. Generated by +# LeaverSAT/mkpkg.py from construction/notri/cgx.py with the leaver edits (lv.leaver_source); Apache-2.0. +import json as _lj, os as _lo, sys as _ls +from fractions import Fraction as _lF +CODED_CELLS=[(c['bindings'],[[t,s,_lF(q)] for t,s,q in c['scaled']]) for c in _lj.load(open(_lo.path.join(_lo.path.dirname(_lo.path.abspath(_ls.argv[3])),'CODED-CELLS.json')))] +# Round20 early-coordinate-center / own-Y variant, prepared for icekylinx +# with OpenAI Codex assistance. Apache-2.0. Scalar elementary-operation +# helpers below are retained from the attributed PR514 construct_partial.py. +# Adapted by OpenAI Codex for isolated structural research. +# Modified from PR425 by icekylinx with Codex assistance. +"""Full discovery word for Hamming packets with borrowed X and Y registers. + +This changes the scalar architecture. It is not accepted by the old restricted +gx interface: source bases may change until full-frame cleanup, and targets use +an explicitly inverted output basis. No supplier admission is asserted. +""" +import copy,gzip,json,math,time +import itertools as it +from collections import Counter,defaultdict +from fractions import Fraction as Q +from pathlib import Path + +import sys +INPUT=Path(sys.argv[1]);OUT=Path(sys.argv[2]);OUT.mkdir(parents=True,exist_ok=False);D=json.loads((INPUT/'PROTOTYPE.json').read_text()) +P=D['binary_ports'];R=D['root_lines'];v=120;h=9 +modules=json.load(gzip.open(INPUT/'PACKET-PROGRAMS.json.gz')) +# AtomScout: leaver-read K-triangles (schedule from atom1.py / rog.py CP-SAT) +TRI=json.loads(Path(sys.argv[3]).read_text()) +FULLT={(tuple(tr['p']),tr['e']) for tr in TRI['triangles']} +TRI_COORDS={t+8 for tr in TRI['triangles'] for t,_,_ in tr['reads']} +import os as _o +COPYL=json.loads(open(_o.environ['XPARAM']).read()).get('copyl',[]) if _o.environ.get('XPARAM') else [] +NH=504-3*len(FULLT)+len(COPYL) + +def basis(vectors): + b={} + for x in vectors: + for p in sorted(b,reverse=True): + if x>>p&1:x^=b[p] + if x: + p=x.bit_length()-1 + for q in b: + if b[q]>>p&1:b[q]^=x + b[p]=x + return tuple(b[p] for p in sorted(b,reverse=True)) +def inside(a,b):return basis(a+b)==b +def hyper(p):return basis([x for x in range(1,512) if (x&p).bit_count()%2==0]) +FULL=basis([1<=v,r)) + for col,s in enumerate(ids): + k=next(i for i in range(col,len(regs)) if rows[regs[i]].get(s,Q(0))) + swap(regs[k],regs[col],F) + scale(regs[col],1/rows[regs[col]][s],F) + for i in range(len(regs)): + if i!=col and rows[regs[i]].get(s,Q(0)):add(regs[i],regs[col],-rows[regs[i]][s],F) + assert all(rows[regs[i]]=={s:Q(1)} for i,s in enumerate(ids)) + M=[[Q(R[s][i]) for s in ids] for i in c] + def qr_rank(rs): + bs={} + for r in rs: + r=r.copy() + for i,b in sorted(bs.items()): + if r[i]:q=r[i];r=[x-q*y for x,y in zip(r,b)] + i=next((i for i,x in enumerate(r) if x),None) + if i is not None:q=r[i];bs[i]=[x/q for x in r] + return len(bs) + assert qr_rank(M)==4 + for rr0 in PRIO.get(",".join(map(str,c)),[])+PRIORITY[",".join(map(str,c))]["rows"]: + rr=list(map(Q,rr0)) + if qr_rank(M+[rr])>len(M):M.append(rr) + if len(M)==8:break + for i in range(8): + if len(M)==8:break + rr=[Q(i==j) for j in range(8)] + if qr_rank(M+[rr])>len(M):M.append(rr) + if len(M)==8:break + assert len(M)==8 + linear(regs,M,F) + for i,r in zip(c,regs): + assert rows[r]=={s:Q(R[s][i]) for s in ids} + block_totals[c,i]=r + +# All centers are complete while Y is still at zero. This is the crucial +# difference from an illegal early-own-Y prefix using the old center order. +centers=[] +for i in range(8): + regs=[block_totals[c,i] for c in sorted(blocks) if i in c] + F=hyper(P[frame[i]]);a=regs[0] + for b in regs[1:]:add(a,b,1,F) + centers.append(a) +centers += [frame[i] for i in range(8)] +center_frames=[cur[r] for r in centers] +assert list(map(len,center_frames))==[8]*8+[1]*8 +assert all(cur[v+t]==() for t in range(v)) + +phase=B +for t,(r,coef,F) in sorted(own_rows.items()): + if t in TRI_COORDS:continue + assert cur[r]==F + add(v+t,r,coef,F) +# requests are needed for TRI coefficients +requests=defaultdict(list) +for pid,pair in enumerate(pairs): + if not pair['selected']:continue + (t,u),(key1,key2),mat=pair['targets'],pair['keys'],pair['matrix'] + requests[key1].append((t,-Q(mat[0][0],2))) + requests[key2].append((u,-Q(mat[0][1],2))) +reqcoef={t:(key,coef) for key,reqs in requests.items() for t,coef in reqs} +def face_info(c,p,eps): + z=blocks[c];keys=[(pp,ee) for pp in it.combinations(c,2) for ee in (-1,1)] + r_local,alpha=z['outputs'][keys.index((p,eps))] + j=[j for j in range(40,len(z['events'])) if z['events'][j][0]==r_local];assert len(j)==1 + return j[0],Q(alpha) +tri_join_counts=Counter() +coded_shadow_slot={} +coded_target_edges=[];TRILOG=[] +lcopy={} +for s8 in COPYL: + r=s8+8;c=len(cur);cur.append(());rows.append({});shadow.append(None);add(c,r,1,cur[r]);lcopy[r]=c +BF={c:basis([P[x] for x in z['receipt']['source_lines']]) for c,z in blocks.items()} +HYB={(tuple(map(int,h[0])),tuple(map(int,h[1])),int(h[2])) for h in XP.get('hyb',[])} +HYBLOG=[] +def triread(t,blk,r,q): + F=basis(cur[v+t]+cur[r]);assert inside(F,hyper(P[t])),('TRI frame',t,blk,r,cur[v+t],cur[r],hyper(P[t]),[x for x in TRILOG if x[2]==r],HYBLOG) + tri_join_counts[len(F)]+=1;add(v+t,r,q,F);TRILOG.append([t,list(blk),r,str(q),list(F),list(cur[r])]) +for tr in TRI['triangles']: + if tr.get('coded'): + bindings={} + for name,binding in CODED_CELLS[tr['cell']][0].items(): + bindings[name]=maps[tuple(binding[1])][binding[2]] if binding[0]=='source' else v+binding[1] + for tn,sn,q in CODED_CELLS[tr['cell']][1]: + target,source=bindings[tn],bindings[sn] + F=basis(cur[target]+cur[source]) + for register in (target,source): + if v<=register<2*v:assert inside(F,hyper(P[register-v])),('coded frame',register,F) + add(target,source,q,F) + if sn.startswith('y'):coded_target_edges.append((target,source,Q(q))) + continue + p,eps=tuple(tr['p']),tr['e'] + hb={blk for _,blk,_ in map(lambda x:(x[0],tuple(x[1]),x[2]),tr['reads']) if (blk,p,eps) in HYB} + own=[];rest=[] + for t8,blk,loc in tr['reads']: + t=t8+8;blk=tuple(blk);r=maps[blk][loc];r0=r;r=lcopy.get(r,r) + key,coef=reqcoef[t];assert key[1]==p and key[2]==eps,(key,p,eps) + if blk==key[0]: + rr,c0,F0=own_rows[t];assert rr==r0;own.append((t,blk,r,c0)) + else: + j,alpha=face_info(blk,p,eps);ev=blocks[blk]['events'][j];assert loc in ev[:2] + rest.append((t,blk,loc,r,coef*alpha)) + if not hb: + # original interleaved order + for t8,blk,loc in tr['reads']: + t=t8+8;blk=tuple(blk);r=maps[blk][loc];key,coef=reqcoef[t] + if blk==key[0]:q=own_rows[t][1] + else:j,alpha=face_info(blk,p,eps);q=coef*alpha + triread(t,blk,r,q) + continue + items=[] # (kind, t, reg, q, blk) + for t,blk,r,q in own:items.append(('r',t,r,q,blk,blk in hb)) + for blk in sorted(hb):items.append(('e',None,None,None,blk,True)) + done=set() + for t,blk,loc,r,q in rest: + if blk in hb: + j,_=face_info(blk,p,eps);ev=blocks[blk]['events'][j] + ws=[x for x in rest if x[0]==t and x[1]==blk];assert len(ws)==2 and ws[0][4]==ws[1][4] and {ws[0][2],ws[1][2]}==set(ev[:2]) + if (t,blk) in done:continue + done.add((t,blk));items.append(('m',t,maps[blk][ev[0]],q,blk,True)) + else:items.append(('r',t,r,q,blk,False)) + # Original read order with the two half reads collapsed into one M read at the first half's slot; the face event goes + # just before the first M read of its block; own reads of the M register are hoisted ahead of that event. + def evinfo(blk): + j,_=face_info(blk,p,eps);ev=blocks[blk]['events'][j];assert ev[2]==ev[3]==1,ev + mpb=maps[blk];return mpb[ev[0]],mpb[ev[1]],tuple(blocks[blk]['event_frames'][j]) + items=[] + seen=set() + for t8,blk,loc in tr['reads']: + t=t8+8;blk=tuple(blk);r=maps[blk][loc];key,coef=reqcoef[t] + if blk==key[0]:items.append(('r',t,r,own_rows[t][1],blk,blk in hb)) + else: + j,alpha=face_info(blk,p,eps);q=coef*alpha + if blk in hb: + if (t,blk) not in seen:seen.add((t,blk));continue + items.append(('m',t,evinfo(blk)[0],q,blk,True)) + else:items.append(('r',t,r,q,blk,False)) + for blk in sorted(hb): + k0=min(i for i,x in enumerate(items) if x[0]=='m' and x[4]==blk) + items.insert(k0,('e',None,None,None,blk,True)) + n=len(items) + def step(it,st): + k,t,r,q,blk,h=it;g=lambda x:st.get(x,cur[x]) + if k=='e': + a_,b_,EF=evinfo(blk);FF=basis(list(EF)+list(g(a_))+list(g(b_))) + return {a_:FF,b_:FF} if inside(FF,BF[blk]) else None + F=basis(list(g(v+t))+list(g(r))) + if not inside(F,hyper(P[t])):return None + if h and k=='r' and r==evinfo(blk)[1] and not inside(F,BF[blk]):return None + return {v+t:F,r:F} + def allowed(i,used): + k,t,r,q,blk,h=items[i] + evi=[j for j,x in enumerate(items) if x[0]=='e' and x[4]==blk] if h else [] + if k=='e':return all(j in used for j,x in enumerate(items) if x[0]=='r' and x[4]==blk and x[5] and x[2]==evinfo(blk)[0]) + if k=='m':return evi[0] in used + if k=='r' and h and r==evinfo(blk)[0]:return evi[0] not in used + return True + budget=[int(os.environ.get('HYBBUDGET','300000'))];memo=set() + def dfs(st,used,order): + if len(order)==n:return order + budget[0]-=1 + if budget[0]<0:return None + sig=(used,tuple(sorted(st.items()))) + if sig in memo:return None + memo.add(sig) + for i in range(n): + if i in used or not allowed(i,used):continue + d=step(items[i],st) + if d is None:continue + ns=dict(st);ns.update(d);res=dfs(ns,used|{i},order+[i]) + if res:return res + return None + import sys as _s;_s.setrecursionlimit(20000) + order=dfs({},frozenset(),[]) + assert order,('no feasible hybrid order',p,eps,sorted(hb),budget) + for i in order: + k,t,r,q,blk,h=items[i] + if k=='e': + a_,b_,EF=evinfo(blk);FF=basis(list(EF)+list(cur[a_])+list(cur[b_]));add(a_,b_,1,FF);HYBLOG.append([list(blk),list(p),eps,list(FF)]) + else:triread(t,blk,r,q) + +packets={} +for c,z in sorted(blocks.items()): + mp=maps[c] + keys=[(p,eps) for p in it.combinations(c,2) for eps in (-1,1)] + skipev={face_info(c,p,eps)[0] for p,eps in keys if (p,eps) in FULLT} + for j,(e,F) in enumerate(list(zip(z['events'],z['event_frames']))[40:]): + if j not in early[c] and 40+j not in skipev: + t,s,a,b=e;add(mp[t],mp[s],Q(a,b),tuple(F)) + for key,(r,alpha) in zip(keys,z['outputs']): + if tuple(key) in FULLT:skip();continue + a=mp[r];b=alloc();add(b,a,1,cur[a]) + consumers=sorted(d for d in blocks if d!=c and set(key[0])<=set(d)) + assert len(consumers)==2 + for target,r in zip(consumers,(a,b)):packets[c,key[0],key[1],target]=(r,Q(alpha)) + +# Both tetrahedra use the same partition. A selected key has exactly two +# selected Y loads and no ordinary M consumer. Supply its two raw halves in +# opposite orders and never form that M. Other keys retain the old M path. +second=[];first_join_counts=Counter() +for key,reqs in sorted(requests.items()): + assert len(reqs)==2 + c,p,eps=key + if (p,eps) in FULLT:continue + ds=sorted(d for d in blocks if d!=c and set(p)<=set(d));a,b=ds + for j,(target,coef) in enumerate(sorted(reqs)): + first_source,second_source=(a,b) if j==0 else (b,a) + r,alpha=packets[first_source,p,eps,second_source] + F=basis(cur[v+target]+cur[r]);assert inside(F,hyper(P[target])) + first_join_counts[len(F)]+=1;add(v+target,r,coef*alpha,F) + r,alpha=packets[second_source,p,eps,c] + second.append((target,r,coef*alpha)) + +Ms={} +for c in sorted(blocks): + for p in it.combinations(c,2): + ds=sorted(d for d in blocks if d!=c and set(p)<=set(d)) + for eps in (-1,1): + if (c,p,eps) in requests:continue + (a,alpha),(b,beta)=[packets[d,p,eps,c] for d in ds] + F=basis(cur[a]+cur[b]);add(a,b,beta/alpha,F) + Ms[c,p,eps]=(a,alpha) + +consumers=defaultdict(list) +for pid,pair in enumerate(pairs): + for key in pair['keys']:consumers[key].append(pid) +slots={} +for key,uses in sorted(consumers.items()): + assert len(uses)==2 + if key in requests: + assert all(pairs[i]['selected'] for i in uses) + continue + assert all(not pairs[i]['selected'] for i in uses) + a,alpha=Ms[key] + for j,pid in enumerate(uses): + if j==0:r=a + else:r=alloc();add(r,a,1,cur[a]) + slots[pid,key]=(r,alpha) +assert len(cur)-240==NH,len(cur)-240 + +selected_join_counts=Counter() +for target,r,coef in second: + F=basis(cur[v+target]+cur[r]);assert inside(F,hyper(P[target])) + selected_join_counts[len(F)]+=1;add(v+target,r,coef,F) +output_basis=[] +for pair in pairs: + if not pair['selected']:continue + (t,u),mat=pair['targets'],pair['matrix'] + F=basis(cur[v+t]+cur[v+u]);assert inside(F,hyper(P[t])) and inside(F,hyper(P[u])) + add(v+t,v+u,1,F);add(v+u,v+t,-Q(1,2),F) + z=-Q(2*mat[1][0],mat[0][0]);scale(v+u,z,F);output_basis.append((t,u,z)) + +for pid,pair in enumerate(pairs): + if pair['selected']:continue + (t,u),(key1,key2),mat=pair['targets'],pair['keys'],pair['matrix'] + (a,alpha),(b,beta)=slots[pid,key1],slots[pid,key2] + F=basis(cur[a]+cur[b]);aa,ab=Q(mat[0][0])*alpha,Q(mat[0][1])*beta + ba,bb=Q(mat[1][0])*alpha,Q(mat[1][1])*beta + add(a,b,ab/aa,F);q=ba/(bb-ba*ab/aa);add(b,a,q,F) + add(v+t,a,-aa/2,hyper(P[t]));add(v+u,b,-(bb-ba*ab/aa)/2,hyper(P[u])) + +for t in range(v): + expected={s:-Q(G[t][s],2) for s in range(v) if s!=t and G[t][s] and s not in frame.values()} if t not in frame.values() else {} + assert rows[v+t]==expected,('side identity',t) + +scatter=[[Q(r[i],4) if t not in frame.values() else Q(0) for i in range(8)]+[Q(t==frame[i]) for i in range(8)] for t,r in enumerate(R)] +precondition=[] +for t,u,z in output_basis: + a,b=scatter[t].copy(),scatter[u].copy() + scatter[t]=[x/2-y/z for x,y in zip(a,b)] + scatter[u]=[x/2+y/z for x,y in zip(a,b)] + precondition.extend([['scale',v+u,(1/z).numerator,(1/z).denominator,[]], + ['add',v+u,v+t,1,2,[]],['add',v+t,v+u,-1,1,[]]]) +for target,source,q in reversed(coded_target_edges): + scatter[target-v]=[a-q*b for a,b in zip(scatter[target-v],scatter[source-v])] + precondition.append(['add',target,source,-q.numerator,q.denominator,[]]) +for r in range(len(cur)):climb(r,hyper(P[r-v]) if v<=r<2*v else FULL) +H[8]+=8;H[1]+=8 +assert sum(r*z for r,z in H.items())==9*NH+240*8+72,sum(r*z for r,z in H.items()) + +def apply(e,matrix): + if e[0]=='add': + _,t,s,a,b,*_=e;q=Q(a,b) + for j,x in list(matrix[s].items()): + z=matrix[t].get(j,Q(0))+q*x + if z:matrix[t][j]=z + else:matrix[t].pop(j,None) + else: + _,t,a,b,*_=e;q=Q(a,b);matrix[t]={j:q*x for j,x in matrix[t].items()} +def inverse(e): + e=copy.deepcopy(e) + if e[0]=='add':e[3]*=-1 + else:e[2],e[3]=e[3],e[2] + e[-1]=list(FULL);return e +cut=[['add',v+t,centers[i],q.numerator,q.denominator,None] for t,row in enumerate(scatter) for i,q in enumerate(row) if q] +cleanup=[inverse(e) for e in reversed(A+B) if not v<=e[1]<2*v] +matrix=[{r:Q(1)} if r i), f] for j, f in w['early_cleanup'] if j != i] + + +def other_frame(w): # a different frame of the same dimension as the cold end (another cold helper's) + f = next(w['helper_final'][str(h)] for h in cold if w['helper_final'][str(h)] != w['helper_final'][str(h0)]) + w['helper_final'][str(h0)] = f + + +def extra_cold_end(w): # declare a premixed partner of h0 cold-ended at h0's frame: fails the row/column cone + p = next(r for e in w['A'][:npre] for r in regs(e) if r != h0 and h0 in regs(e)) + w['helper_final'][str(p)] = w['helper_final'][str(h0)] + + +reject('premix placed in the zero-frame precondition (before the cold wrappers)', premix_to_precondition, WHY['premix_to_precondition']) +reject('one premix gate dropped (the compensation then reads a cold-ended helper)', lambda w: w['A'].pop(npre - 1), WHY['premix_dropped']) +reject('one lower-frame cleanup gate dropped (gate and its early_cleanup entry)', lambda w: drop_cleanup_gate(w, i0), WHY['lower_dropped']) +reject('one FULL-remainder gate dropped', lambda w: drop_cleanup_gate(w, r0), WHY['remainder_dropped']) +reject('lower-frame gate coefficient changed', lambda w: w['cleanup'][i0].__setitem__(3, w['cleanup'][i0][3] * 2), WHY['coefficient']) +reject('lower-frame gate moved into the FULL remainder (touches a cold-ended helper at FULL)', lower_gate_into_full, WHY['into_full']) +reject('lower-frame gate frame below its registers\' frames', lambda w: next(x for x in w['early_cleanup'] if x[0] == i0).__setitem__(1, U0[:-1]), WHY['frame_below']) +reject('cold end at another dim-4 frame', other_frame, WHY['other_frame']) +# PROFILE-PIN control: without its helper_final entry the cold-ended helper is a valid FULL-ended helper; the word is +# rejected because its reported paid profile (which counts the low end) no longer matches the frame chains. +reject('profile pin: cold end dropped (valid FULL end, but the reported profile counts the low end)', lambda w: w['helper_final'].pop(str(h0)), WHY['profile_pin']) +reject('extra cold end on a premixed partner (the compensation reads it before its wrapper)', extra_cold_end, WHY['extra_end']) +reject('refactored-cleanup marker removed (literal-inverse rule applies)', lambda w: w.pop('refactored_cleanup'), WHY['marker']) +reject('remainder gate retargeted to a target register', lambda w: w['cleanup'][r0].__setitem__(1, v + 3), WHY['target']) +reject('non-dyadic remainder coefficient', lambda w: w['cleanup'][r0].__setitem__(4 if w['cleanup'][r0][0] == 'add' else 3, 3 * w['cleanup'][r0][4 if w['cleanup'][r0][0] == 'add' else 3]), WHY['dyadic']) +reject('profile not updated (paid climbs misreported)', lambda w: w['report']['local_profile'].__setitem__('5', w['report']['local_profile']['5'] - 1), WHY['profile_pin']) +ent = [int(h) for h in sys.argv[4].split(',')] if len(sys.argv) > 4 else [int(h) for h in meta.get('entering_low_frame_ended_helpers', [])] +for e0 in ent: # ENTERING LOW-FRAME ENDS (ColdSupply extension; every entering end; absent for words without them) + j0 = next((i for i, e in enumerate(word['A'][:npre]) if e0 in regs(e)), None) + print('entering end', e0, 'premix gate', j0, flush=True) + k0, Ue = next((i, f) for i, f in early if e0 in regs(word['cleanup'][i])) + def to_pre(w, j0=j0): w['precondition'].append(w['A'][j0]); w['A'].pop(j0) + def other_hp(w, e0=e0, Ue=Ue): w['helper_final'][str(e0)] = next(f for h, f in w['helper_final'].items() if len(f) == len(Ue) and sorted(f) != sorted(Ue)) + if j0 is not None: reject('entering end %d: premix gate dropped' % e0, lambda w, j0=j0: w['A'].pop(j0), WHY['e_premix_dropped']) + if j0 is not None: reject('entering end %d: premix gate at frame [] instead of its entrance E' % e0, lambda w, j0=j0: w['A'][j0].__setitem__(-1, []), WHY['nonmonotone']) + if j0 is not None: reject('entering end %d: premix gate moved into the zero-frame precondition' % e0, to_pre, WHY['entering_precondition']) + reject('entering end %d: lower-frame gate dropped (gate and its early_cleanup entry)' % e0, lambda w, k0=k0: drop_cleanup_gate(w, k0), WHY['lower_dropped']) + reject('entering end %d: profile pin: end dropped (valid FULL end, but the reported profile counts the low end)' % e0, lambda w, e0=e0: w['helper_final'].pop(str(e0)), WHY['profile_pin']) + reject('entering end %d: end at another hyperplane' % e0, other_hp, WHY['cone']) +# Pinned rejection reasons of the COLD-BEYOND mutants (substrings of hpe_audit_and_transport.py assertion messages). +MYWHY = dict(tw_precondition=COLDPRE, tw_dropped=COLDPRE, tw_coefficient=COLDPRE, tw_other_block=COLDPRE, + tw_entering='zero-frame compensation reads an entering helper', + ab_dropped=ENDPOINT, ab_coefficient=ENDPOINT, ab_early=ENDPOINT, ab_live=ENDPOINT, ab_centre=ENDPOINT, + ab_lower="'nonmonotone'", ab_higher="'nonmonotone'", + sh_dropped=ENDPOINT, sh_coefficient=ENDPOINT, rel_dropped=ENDPOINT, rel_coefficient=ENDPOINT, rel_live=ENDPOINT, + h8_other=CONE, h8_lower=ENDPOINT) +# COLD-BEYOND primitives (present only when the word carries them): frame-[] target writes in the premix (explicit +# post-wrapper compensation of an ended helper's dirt) and forward absorptions into dead registers. +nw = meta.get('premix_target_writes', 0) +if nw: + wi = [i for i in range(npre) if v <= word['A'][i][1] < 2*v] + assert len(wi) == nw + + def writes_to_precondition(w): # the target writes run before the cold wrappers (inside the zero-frame precondition) + g = [w['A'][i] for i in wi]; w['precondition'] = w['precondition'] + g + w['A'] = [e for i, e in enumerate(w['A']) if i not in set(wi)] + reject('premix target writes placed in the zero-frame precondition (before the cold wrappers)', writes_to_precondition, MYWHY['tw_precondition']) + reject('one premix target write dropped (compensation must read an ended helper)', lambda w: w['A'].pop(wi[0]), MYWHY['tw_dropped']) + reject('premix target write coefficient changed', lambda w: w['A'][wi[0]].__setitem__(3, w['A'][wi[0]][3] * 2), MYWHY['tw_coefficient']) + # (reading another register that carries the SAME weight of the ended helper's dirt is a valid variant, so the mutant reads + # the same factory slot of the next block, which carries none of it) + entering_regs = sorted(int(r) for r in word.get('start_extra', {})) + reject('premix target write reads an entering helper', lambda w: w['A'][wi[0]].__setitem__(2, entering_regs[0]), MYWHY['tw_entering']) + reject('premix target write reads a cold helper of another block', lambda w: w['A'][wi[0]].__setitem__(2, 2*v + (w['A'][wi[0]][2] - 2*v + 16) % 224), MYWHY['tw_other_block']) +ab = meta.get('forward_absorption_A_indices', []) +if any(len(word['helper_final'][str(h)]) == 8 for h in cold): + # with dim-8 cold ends, the centre-retargeted absorption first leaks an ended helper's dirt into the cut's targets + MYWHY['ab_centre'] = COLDPRE +if ab: + # the ColdBeyond U_b absorption (q += -1/2 g); ColdThird's extra absorptions have their own controls below + a0 = next(a for a in ab if word['A'][a][3] * 2 == -word['A'][a][4]); g0 = word['A'][a0] + + def absorption_moved_early(w): # absorbed before the absorbed register's last kernel write + e = w['A'].pop(a0); j = max(i for i in range(npre, a0) if g0[2] == w['A'][i][1] and w['A'][i][-1] == g0[-1]) + w['A'].insert(j, e) + + def absorption_into_live(w): # q += a g moved right after g's previous frame-mate gate, while q is still live + e = w['A'].pop(a0); j = max(i for i in range(npre, a0) if g0[1] in regs(w['A'][i])) + w['A'].insert(j, e) + reject('forward absorption dropped', lambda w: w['A'].pop(a0), MYWHY['ab_dropped']) + reject('forward absorption into a centre (a live register read by the cut)', lambda w: w['A'][a0].__setitem__(1, next(c for c in word['centers'] if c not in g0[1:3] and c not in cold)), MYWHY['ab_centre']) + reject('forward absorption coefficient changed', lambda w: w['A'][a0].__setitem__(3, w['A'][a0][3] * 2), MYWHY['ab_coefficient']) + reject('forward absorption placed before the absorbed register\'s last kernel write', absorption_moved_early, MYWHY['ab_early']) + reject('forward absorption placed while the absorbing register is still live', absorption_into_live, MYWHY['ab_live']) + reject('forward absorption at a lower frame than its registers', lambda w: w['A'][a0].__setitem__(-1, w['A'][a0][-1][:-1]), MYWHY['ab_lower']) + reject('forward absorption at a higher frame (FULL) than its registers', lambda w: w['A'][a0].__setitem__(-1, [256, 128, 64, 32, 16, 8, 4, 2, 1]), MYWHY['ab_higher']) +# COLD-THIRD primitives (present only when the word carries them): several absorptions after one input gate, dirt-release +# absorptions (a dead port takes a live helper's value so that a hyperplane unit's column has no dirt on it), and cold ends at +# a dim-8 frame with lifted partners. +hyper = [h for h in cold if len(word['helper_final'][str(h)]) == 8] +if hyper and ab: + sh = next(a for a, b in zip(ab, ab[1:]) if b == a + 1) # two absorptions sharing one input anchor + rel = next(a for a in ab if a - 1 not in ab and a + 1 not in ab and word['A'][a][2] in hyper and word['A'][a][3] * 2 != -word['A'][a][4]) + hh = hyper[0]; ih = next(i for i, f in early if hh in regs(word['cleanup'][i])) + reject('second absorption sharing an input anchor dropped', lambda w: w['A'].pop(sh + 1), MYWHY['sh_dropped']) + reject('shared-anchor absorption coefficient changed', lambda w: w['A'][sh + 1].__setitem__(3, w['A'][sh + 1][3] * 2), MYWHY['sh_coefficient']) + reject('dirt-release absorption dropped', lambda w: w['A'].pop(rel), MYWHY['rel_dropped']) + reject('dirt-release absorption coefficient changed', lambda w: w['A'][rel].__setitem__(3, w['A'][rel][3] * 2), MYWHY['rel_coefficient']) + jr = max(i for i in range(npre, rel) if word['A'][i][0] == 'add' and word['A'][i][2] == word['A'][rel][1]) + + def release_while_read(w): # the release runs before a kernel gate that still READS the port (port live) + e = w['A'].pop(rel); w['A'].insert(jr, e) + reject('dirt-release absorption moved before a kernel gate that still reads the port', release_while_read, MYWHY['rel_live']) +if hyper: + # dim-8 cold-end controls for EVERY dim-8 cold end of the word (read from the word's helper_final and the recipe meta's + # cold_low_frame_ended_helpers), not one representative per terminal frame + for hh in hyper: + ih = next(i for i, f in early if hh in regs(word['cleanup'][i])) + Uh = word['helper_final'][str(hh)] + reject('dim-8 cold end %d (frame %s) at another dim-8 frame' % (hh, Uh), lambda w, hh=hh: w['helper_final'].__setitem__(str(hh), next(f for h, f in w['helper_final'].items() if len(f) == 8 and sorted(f) != sorted(w['helper_final'][str(hh)]))), MYWHY['h8_other']) + reject('dim-8 cold end %d (frame %s): one lower-frame gate dropped (gate and its early_cleanup entry)' % (hh, Uh), lambda w, ih=ih: drop_cleanup_gate(w, ih), MYWHY['h8_lower']) + reject('dim-8 cold end %d (frame %s): profile pin (end dropped)' % (hh, Uh), lambda w, hh=hh: w['helper_final'].pop(str(hh)), WHY['profile_pin']) +# FACTORED ACCUMULATOR (CarrierBypass; present only when the word carries one): a lower-frame tail gate a += x*g on two +# non-ended registers whose accumulator a is afterwards read by a dim-8 cold end's tail gate (h += y*a at its U). +ended_all = {int(h) for h in word['helper_final']} +tailg = [(i, word['cleanup'][i]) for i, _ in early] +accs = [] # EVERY factored accumulator gate (one per accumulator register a), each controlled on its own +for k, (i, e) in enumerate(tailg): + if e[0] == 'add' and e[1] not in ended_all and e[2] not in ended_all and len(next(f for j, f in early if j == i)) < 8: + if e[1] not in [word['cleanup'][j][1] for j in accs] and any(t[0] == 'add' and t[2] == e[1] and t[1] in hyper for _, t in tailg[k + 1:]): + accs.append(i) +for acc in accs: + a = word['cleanup'][acc][1] + reject('factored accumulator %d (gate %d) zeroed' % (a, acc), lambda w, acc=acc: w['cleanup'][acc].__setitem__(3, 0), ENDPOINT) + reject('factored accumulator %d (gate %d) coefficient doubled' % (a, acc), lambda w, acc=acc: w['cleanup'][acc].__setitem__(3, w['cleanup'][acc][3] * 2), ENDPOINT) +outdir.mkdir(parents=True, exist_ok=True) +(outdir/'COLD-END-CONTROLS.json').write_text(json.dumps(dict(status='PASS_COLD_END_RAW_WORD_CONTROLS', word=str(src), rejected=results), indent=1) + '\n') +print('PASS', len(results), 'cold-end raw-word mutations rejected') diff --git a/research/gauge44-leaver/construction/leaver/reproduce_leaver.py b/research/gauge44-leaver/construction/leaver/reproduce_leaver.py new file mode 100644 index 0000000000..bc4360ef93 --- /dev/null +++ b/research/gauge44-leaver/construction/leaver/reproduce_leaver.py @@ -0,0 +1,177 @@ +#!/usr/bin/env python3 +"""Rebuild the leaver word: the no-triangle word with no-helper mutable-leaver all-K cells, and its native locals. + +Each cell (pair p, sign e) replaces the three face events of the blocks containing p and their three packet copies +by a 21-gate circuit on the cell's six leaver sources x_j (the face-event operands, which have no later reads and are +restored by the inherited cleanup at FULL) and its six targets y_i: 3 leaver gates x_k += c x_m, 3 target gates +y_a += c y_b (inverted at frame zero in the precondition and scatter, #781's recipe) and 15 reads y_i += c x_j. +Unit circuit (LeaverSAT, layered CP-SAT on the exact set model), relabelled per cell so that no y += y source carries +port-stage entering-helper dirt at the gate; coefficients rescaled exactly to the cell (C_ij = r_i c_j). +Input: a fresh `construction/reproduce.py --until word` output directory (hamming/, shadow-early/, shadow-prefix/). +Steps, each checked exactly (pins in LEAVER-PINS.json): + 0. cells: CODED-CELLS.json's scaled gates are re-derived from the unit circuits and the cell coefficients, and the + clean map Y_i = sum_j C_ij X_j is checked in exact rationals. + 1. gauge-forward: cgx_leaver.py (notri/cgx.py + the leaver edits) with TRI-LEAVER.json, XPARAM = notri/PRIO6.json. + 2. port0-3: notri/port_stage_x.py. + 3. regroup: REGROUP-LEAVER.json's changes where their `before` gate occurs (count pinned). + 4. hpe: PR635's build_hpe.candidates greedy with disjoint registers, build_hpe.apply (recipe pinned). + 5. cold44: notri/cold44x.py with EXTRAH and pinned pairing ranks; output sha, profile and widths pinned. + 6. native, ledgers, local-replay, wrappers, phases: PR635's native local programs (pins). +Apache-2.0. LeaverSAT (Claude Code research agent), driver after construction/notri/reproduce_notri.py. +""" +import argparse, gzip, hashlib, importlib.util, json, os, shutil, subprocess, sys, time +from fractions import Fraction +from pathlib import Path + +HERE = Path(__file__).resolve().parent +NOTRI = HERE.parent / 'notri' + + +def read(p): + raw = Path(p).read_bytes() + return json.loads(gzip.decompress(raw) if str(p).endswith('.gz') else raw) + + +def enc(x): return json.dumps(x, sort_keys=True, separators=(',', ':')).encode() + + +def dump(p, v): + p.parent.mkdir(parents=True, exist_ok=True); p.write_bytes(gzip.compress(enc(v), mtime=0)) + + +def load(name, path): + s = importlib.util.spec_from_file_location(name, path); m = importlib.util.module_from_spec(s); s.loader.exec_module(m); return m + + +def check_cells(cells): + for c in cells: + C = [[Fraction(q) for q in r] for r in c['coefficients']] + col = [None] * 6; row = [Fraction(1)] + [None] * 5 + for j in range(1, 6): col[j] = C[0][j] + col[0] = C[1][0] / (C[1][2] / col[2]) + for i in range(1, 6): row[i] = C[i][(i + 1) % 6] / col[(i + 1) % 6] + assert all(C[i][j] == row[i] * col[j] for i in range(6) for j in range(6) if i != j), ('rank-one cell', c['cell']) + idx = lambda s: int(s[1:]) + scaled = [] + for t, s, q in c['unit']: + assert Fraction(q) == 1 + if t[0] == 'x': assert s[0] == 'x'; q = col[idx(s)] / col[idx(t)] + elif s[0] == 'y': q = row[idx(t)] / row[idx(s)] + else: q = row[idx(t)] * col[idx(s)] + scaled.append([t, s, str(q)]) + assert scaled == c['scaled'], ('scaled gates', c['cell']) + R = {f'x{j}': {j: Fraction(1)} for j in range(6)}; R.update({f'y{i}': {} for i in range(6)}) + for t, s, q in scaled: + for k, x in list(R[s].items()): R[t][k] = R[t].get(k, 0) + Fraction(q) * x + for i in range(6): + assert {k: x for k, x in R[f'y{i}'].items() if x} == {j: C[i][j] for j in range(6) if j != i}, ('clean map', c['cell'], i) + + +def main(): + assert __debug__, 'Assertions are required' + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--main', type=Path, required=True) + ap.add_argument('--pr635', type=Path, required=True) + ap.add_argument('--word-dir', type=Path, required=True, help='construction/reproduce.py --until word output') + ap.add_argument('--out', type=Path, required=True) + ap.add_argument('--skip-phases', action='store_true') + ap.add_argument('--word-only', action='store_true', help='stop after the pinned scalar word (input to the layers)') + ap.add_argument('--id', default='k5', help='cell set: TRI-LEAVER-, CODED-CELLS-, REGROUP-LEAVER-, LEAVER-PINS-') + ap.add_argument('--record-pins', action='store_true', help='write LEAVER-PINS.json from this run instead of checking') + a = ap.parse_args() + out = a.out.resolve(); assert not out.exists(); out.mkdir(parents=True) + pins = {} if a.record_pins else read(HERE / ('LEAVER-PINS-%s.json' % a.id)); got = {} + def pin(k, v): + got[k] = v + if not a.record_pins: assert pins[k] == v, ('pin', k, v, pins[k]) + up = a.pr635.resolve() / 'research/complex-571-cold14-st2' + src = a.main.resolve() / 'research/complex-k492-owner-repair/vendor/multicold' + base = src / 'vendor/pr558'; parent = base / 'vendor/pr552'; gk = parent / 'complex-local/static44/gk' + structural = a.main.resolve() / 'research/structural-gain/frontier-composition' + wd = a.word_dir.resolve() + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONUTF8='1', PYTHONINTMAXSTRDIGITS='0', + MULTICOLD_SOURCE=str(src), GAIN_PR564_SOURCE=str(src)) + for k in ('PYTHONOPTIMIZE', 'XPARAM', 'EXTRAH', 'PAIRING_RANKS', 'DIAG', 'HYBBUDGET'): env.pop(k, None) + steps = [] + + def run(label, script, *args): + t = time.monotonic() + with (out / (label + '.log')).open('w') as f: + rc = subprocess.call([sys.executable, '-B', str(src / 'code/run_portable.py'), str(script), *map(str, args)], + env=env, stdout=f, stderr=subprocess.STDOUT) + steps.append(dict(step=label, exit_code=rc, seconds=round(time.monotonic() - t, 3))) + (out / 'STEPS.json').write_text(json.dumps(steps, indent=2) + '\n') + assert rc == 0, label + print('PASS', label, flush=True) + + # 0. cells + cells = read(HERE / ('CODED-CELLS-%s.json' % a.id)); check_cells(cells); print('PASS cells', [c['cell'] for c in cells], flush=True) + # 1. gauge-forward + shutil.copy(HERE / ('TRI-LEAVER-%s.json' % a.id), out / 'TRI.json'); shutil.copy(HERE / ('CODED-CELLS-%s.json' % a.id), out / 'CODED-CELLS.json') + env['XPARAM'] = str(NOTRI / 'PRIO6.json') + raw = out / 'raw' + run('gauge-forward', HERE / 'cgx_leaver.py', wd / 'hamming', raw, out / 'TRI.json') + word = raw / 'FULL-WORD.json.gz'; pin('raw_sha256', hashlib.sha256(enc(read(word))).hexdigest()) + # 2. port stages + chain = [parent / 'complex-local/static44/inputs/RAW504.json.gz', structural / 'global-replay/base/split-centres/FULL-WORD.json.gz', + wd / 'shadow-early/FULL-WORD.json.gz', structural / 'multicold-eight-word/FULL-WORD.json.gz', + wd / 'shadow-prefix/FULL-WORD.json.gz'] + for i, (b, c) in enumerate(zip(chain, chain[1:])): + t = out / ('port%d' % i) + run('port%d' % i, NOTRI / 'port_stage_x.py', '--shadow-input', b, '--shadow-output', c, '--input', word, + '--map', raw / 'HELPER-MAP.json', '--gk-dir', gk, '--out', t) + word = t / 'FULL-WORD.json.gz' + # 3. regroup + w = read(word); rg = {json.dumps(c['before']): c['after'] for c in read(HERE / ('REGROUP-LEAVER-%s.json' % a.id))['changes']} + n = 0 + for part in ('A', 'B'): + for i, e in enumerate(w[part]): + k = json.dumps(e) + if k in rg: w[part][i] = rg[k]; n += 1 + sys.path.insert(0, str(gk)); import gk_word as GW, gk_common as GC + GW.V = GC.V = 112; GW.DATA = GC.DATA = 7168 + H = GW.profile(w) + w['report'].update(local_profile={str(k): z for k, z in sorted(H.items()) if z}, local_rank_mass=sum(r * z for r, z in H.items())) + pin('regroup_count', n); dump(out / 'regroup/FULL-WORD.json.gz', w); pin('regroup_sha256', hashlib.sha256(enc(w)).hexdigest()) + # 4. HPE + h = load('upstream_hpe', up / 'code/build_hpe.py') + used, ch = set(), [] + for c in h.candidates(w): + rs = set(h.regs(w['cleanup'][c['cleanup_index']])) + if rs & used: continue + used |= rs; ch.append(c) + (out / 'HPE-RECIPE.json').write_text(json.dumps(dict(changes=ch))) + pin('hpe_recipe_sha256', hashlib.sha256(enc(dict(changes=ch))).hexdigest()) + w = h.apply(w, ch); dump(out / 'hpe/FULL-WORD.json.gz', w) + # 5. cold44 + hm = set(read(raw / 'HELPER-MAP.json')['map'].values()) + env['EXTRAH'] = json.dumps(sorted(set(range(224, 224 + w['report']['R'])) - hm)) + if not a.record_pins: env['PAIRING_RANKS'] = json.dumps(pins['pairing_ranks']) + run('cold44', NOTRI / 'cold44x.py', '--input', out / 'hpe/FULL-WORD.json.gz', '--out', out / 'cold44', + '--hamming', wd / 'hamming', '--upstream-package', up) + pin('pairing_ranks', [b['pairing_rank'] for b in read(out / 'cold44/CONSTRUCTION.json')['blocks']]) + word = out / 'cold44/FULL-WORD.json.gz'; w = read(word) + pin('cold44_sha256', hashlib.sha256(enc(w)).hexdigest()); rep = w['report'] + pin('R', rep['R']); pin('local_profile', rep['local_profile']); pin('width_inventory', rep['width_inventory']) + print('PASS leaver scalar word', got['cold44_sha256'], flush=True) + if not a.word_only: + for k in ('XPARAM', 'EXTRAH', 'PAIRING_RANKS'): env.pop(k, None) + local = out / 'local' + run('native', up / 'code/hpe_audit_and_transport.py', '--raw', word, + '--routing', parent / 'complex-local/inputs/phase-baseline/CANONICAL-WORD.json.gz', '--out', local) + pin('canonical_sha256', hashlib.sha256(gzip.decompress((local / 'CANONICAL-WORD.json.gz').read_bytes())).hexdigest()) + run('ledgers', up / 'code/hpe_emit_local.py', local) + run('local-replay', up / 'code/hpe_audit_local.py', local) + run('wrappers', up / 'code/hpe_adapters_local.py', local / 'CANONICAL-WORD.json.gz', + local / 'RESIDUAL-ADAPTERS.json', local / 'WRAPPER-CHECKS.json') + checks = read(local / 'LOCAL-CHECKS.json') + pin('program_sha256', {o: checks[o]['sha256'] for o in ('forward', 'backward')}) + if not a.skip_phases: + run('phases', base / 'code/phases_full.py', local, parent / 'complex-global/vendor531/vendor/clifford') + pin('clifford_recipes_sha256', hashlib.sha256((local / 'CLIFFORD-RECIPES.json').read_bytes()).hexdigest()) + if a.record_pins: (HERE / ('LEAVER-PINS-%s.json' % a.id)).write_text(json.dumps(got, indent=1) + '\n') + print('DONE', out, flush=True) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-leaver/construction/leaver/reproduce_leaver_chain.py b/research/gauge44-leaver/construction/leaver/reproduce_leaver_chain.py new file mode 100644 index 0000000000..4eacb3c608 --- /dev/null +++ b/research/gauge44-leaver/construction/leaver/reproduce_leaver_chain.py @@ -0,0 +1,183 @@ +#!/usr/bin/env python3 +"""Rebuild the leaver stack on top of the leaver cell word: layers (NP, p6n), promotions, joint exchange and U8-style +hybrids, and the final word's native locals. + +Input: a fresh `construction/leaver/reproduce_leaver.py --word-only` output directory (raw/HELPER-MAP.json, regroup/, +cold44/; the cell word and its regroup word are pinned there by LEAVER-PINS.json). Each step uses an unchanged signed +builder with a LeaverSAT recipe (data only), and every intermediate word is pinned: + 1. pivot-swap: ../layers/build_pivot_swap.py with PIVOT-SWAP-.json on the regroup word (its own 30 controls). + 2. hpe: PR635's build_hpe.candidates (greedy, disjoint registers) must equal HPE-RECIPE-.json; build_hpe.apply. + The swapped HPE word is pinned by the cold-layer recipes' input_content_sha256. + 3. cold44-exact: ../notri/cold44x.py on the swapped HPE word (pairing ranks pinned to LEAVER-PINS); its cold ends, + premix and low tails must equal the unswapped leaver construction's. + 4. layers: PR635's build_cold_end.apply(HPE, COLD-LAYERS-RECIPE-NP-) -> NP word and (.., -P6N-) -> p6n word; + output shas pinned by the recipes. + 5. promotion: ../promo/build_promotion.py with PROMO-RECIPE-.json on the p6n word; ../promo/promo_controls.py. + 6. jx: ../jx/build_jx.py with RECIPE-X4-.json on the promoted word; all recipe controls rerun at their pins. + 7. hybrids: ../barch/build_tri.py with RECIPE-U8-.json on the jx word; ../barch/run_controls.py (all outcomes). + 8. frames: build_frames_lv.py (LeaverSAT2) applies FRAME-RECIPE-LV-.json (B/T frame changes, exact global frame + optimum) with ../promo/build_promotion.apply; scalar program unchanged; 3 pin controls; output pinned. + 8b. layer-end-controls: layer_end_controls_leaver.py (the signed per-end controls with per-word reason re-pins, + LEC-REASON-PINS-.json) on the p6n, promoted, jx and hybrid words; counts pinned. (Not on the re-framed + final word; see the comment at that step.) + 9. native, ledgers, local-replay, wrappers, phases on the final word; canonical, programs, Clifford pinned. +All counts and native pins are in CHAIN-PINS-.json (--record-pins writes it from a run instead of checking). +Apache-2.0. Driver by ColdWitness over LeaverSAT's frozen recipes and the signed builders. +""" +import argparse, gzip, hashlib, importlib.util, json, os, subprocess, sys, time +from pathlib import Path + +HERE = Path(__file__).resolve().parent +C = HERE.parent +MUTANTS = ('drop_restore', 'restore_full', 'drop_preread', 'donation_after') + + +def read(p): + raw = Path(p).read_bytes() + return json.loads(gzip.decompress(raw) if str(p).endswith('.gz') else raw) + + +def enc(x): return json.dumps(x, sort_keys=True, separators=(',', ':')).encode() + + +def csha(p): return hashlib.sha256(gzip.decompress(Path(p).read_bytes())).hexdigest() + + +def load(name, path): + s = importlib.util.spec_from_file_location(name, path); m = importlib.util.module_from_spec(s); s.loader.exec_module(m); return m + + +def main(): + assert __debug__, 'Assertions are required' + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--main', type=Path, required=True) + ap.add_argument('--pr635', type=Path, required=True) + ap.add_argument('--leaver-dir', type=Path, required=True, help='construction/leaver/reproduce_leaver.py --word-only output') + ap.add_argument('--hamming', type=Path, required=True, help='hamming/ of the construction/reproduce.py --until word output') + ap.add_argument('--out', type=Path, required=True) + ap.add_argument('--skip-phases', action='store_true') + ap.add_argument('--id', default='k5', help='recipe set id: every recipe and pin file below is -') + ap.add_argument('--record-pins', action='store_true') + a = ap.parse_args() + out = a.out.resolve(); assert not out.exists(); out.mkdir(parents=True) + up = a.pr635.resolve() / 'research/complex-571-cold14-st2' + src = a.main.resolve() / 'research/complex-k492-owner-repair/vendor/multicold' + base = src / 'vendor/pr558'; parent = base / 'vendor/pr552'; gk = parent / 'complex-local/static44/gk' + routing = parent / 'complex-local/inputs/phase-baseline/CANONICAL-WORD.json.gz' + lp = read(HERE / ('LEAVER-PINS-%s.json' % a.id)) + pins = {} if a.record_pins else read(HERE / ('CHAIN-PINS-%s.json' % a.id)); got = {} + + def pin(key, value): + got[key] = value + if not a.record_pins: assert pins[key] == value, (key, value, pins.get(key)) + + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONUTF8='1', PYTHONINTMAXSTRDIGITS='0', + MULTICOLD_SOURCE=str(src), GAIN_PR564_SOURCE=str(src)) + for k in ('PYTHONOPTIMIZE', 'XPARAM', 'EXTRAH', 'PAIRING_RANKS', 'DIAG', 'HYBBUDGET', 'PR635_CODE', 'LEC_REASON_PINS', 'SW4_PIN'): env.pop(k, None) + steps = [] + + def run(label, script, *args, portable=True, extra=None): + t = time.monotonic(); e = dict(env, **(extra or {})) + cmd = [sys.executable, '-B'] + ([str(src / 'code/run_portable.py')] if portable else []) + [str(script), *map(str, args)] + with (out / (label + '.log')).open('w') as f: + rc = subprocess.call(cmd, env=e, stdout=f, stderr=subprocess.STDOUT) + steps.append(dict(step=label, exit_code=rc, seconds=round(time.monotonic() - t, 3))) + (out / 'STEPS.json').write_text(json.dumps(steps, indent=2) + '\n') + assert rc == 0, label + print('PASS', label, flush=True) + return (out / (label + '.log')).read_text() + + def lec(label, word): + run(label, HERE / 'layer_end_controls_leaver.py', word, routing, out / label, + extra=dict(PR635_CODE=str(up / 'code'), LEC_REASON_PINS=str(HERE / ('LEC-REASON-PINS-%s.json' % a.id)))) + c = read(out / label / 'COLD-END-CONTROLS.json'); assert c['status'] == 'PASS_COLD_END_RAW_WORD_CONTROLS' + pin(label, len(c['rejected'])) + + ld = a.leaver_dir.resolve() + assert hashlib.sha256(enc(read(ld / 'cold44/FULL-WORD.json.gz'))).hexdigest() == lp['cold44_sha256'], 'leaver cell word' + rg = ld / 'regroup/FULL-WORD.json.gz' + sw = read(HERE / ('PIVOT-SWAP-%s.json' % a.id)) + assert hashlib.sha256(enc(read(rg))).hexdigest() == lp['regroup_sha256'] == sw['input_content_sha256'], 'regroup word' + # 1. pivot swaps + run('pivot-swap', C / 'layers/build_pivot_swap.py', '--input', rg, '--recipe', HERE / ('PIVOT-SWAP-%s.json' % a.id), '--gk-dir', gk, '--out', out / 'swap') + w = read(out / 'swap/FULL-WORD.json.gz'); assert hashlib.sha256(enc(w)).hexdigest() == sw['output_content_sha256'], 'swap word' + # 2. HPE + h = load('upstream_hpe', up / 'code/build_hpe.py'); used, ch = set(), [] + for c in h.candidates(w): + rs = set(h.regs(w['cleanup'][c['cleanup_index']])) + if rs & used: continue + used |= rs; ch.append(c) + assert ch == read(HERE / ('HPE-RECIPE-%s.json' % a.id))['changes'], 'HPE recipe' + w = h.apply(w, ch); (out / 'hpe').mkdir(); (out / 'hpe/FULL-WORD.json.gz').write_bytes(gzip.compress(enc(w), mtime=0)) + rnp, rp6 = read(HERE / ('COLD-LAYERS-RECIPE-NP-%s.json.gz' % a.id)), read(HERE / ('COLD-LAYERS-RECIPE-P6N-%s.json.gz' % a.id)) + assert hashlib.sha256(enc(w)).hexdigest() == rnp['input_content_sha256'] == rp6['input_content_sha256'], 'swapped HPE word' + # 3. cold44 on the swapped word: same ends, premix and tails + hm = set(read(ld / 'raw/HELPER-MAP.json')['map'].values()) + run('cold44-exact', C / 'notri/cold44x.py', '--input', out / 'hpe/FULL-WORD.json.gz', '--out', out / 'cold44', + '--hamming', a.hamming.resolve(), '--upstream-package', up, + extra=dict(EXTRAH=json.dumps(sorted(set(range(224, 224 + w['report']['R'])) - hm)), PAIRING_RANKS=json.dumps(lp['pairing_ranks']))) + new, old = read(out / 'cold44/RECIPE.json.gz'), read(ld / 'cold44/RECIPE.json.gz') + for key in ('premix', 'early_cleanup', 'cold_ends'): assert new[key] == old[key], ('swapped cold44 differs', key) + tail = len(new['early_cleanup']); assert new['cleanup'][:tail] == old['cleanup'][:tail], 'low tails' + # 4. NP and p6n layers + bce = load('upstream_cold', up / 'code/build_cold_end.py') + for name, r in (('np', rnp), ('p6n', rp6)): + lw = bce.apply(w, r); raw = enc(lw); assert hashlib.sha256(raw).hexdigest() == r['output_content_sha256'], (name, 'word') + (out / name).mkdir(); (out / name / 'FULL-WORD.json.gz').write_bytes(gzip.compress(raw, mtime=0)) + pin(name + '_profile', lw['report']['local_profile']) + p6n = out / 'p6n/FULL-WORD.json.gz'; lec('lec-p6n', p6n) + # 5. promotion + pr = HERE / ('PROMO-RECIPE-%s.json' % a.id) + run('promotion', C / 'promo/build_promotion.py', '--input', p6n, '--recipe', pr, '--out', out / 'promo', portable=False) + assert csha(out / 'promo/FULL-WORD.json.gz') == read(pr)['expected']['output_content_sha256'] + run('promo-controls', C / 'promo/promo_controls.py', '--input', p6n, '--recipe', pr, '--audit', C.parent / 'independent/audit_local.py', + '--out', out / 'PROMO-CONTROLS.json', portable=False) + pc = read(out / 'PROMO-CONTROLS.json'); assert pc['honest'] == 'PASS'; pin('promo_controls', pc['rejected']) + lec('lec-promo', out / 'promo/FULL-WORD.json.gz') + # 6. jx + xr = HERE / ('RECIPE-X4-%s.json' % a.id); rec = read(xr); inp = out / 'promo/FULL-WORD.json.gz' + (out / 'jx').mkdir(); jw = out / 'jx/FULL-WORD.json.gz' + run('jx', C / 'jx/build_jx.py', '--input', inp, '--recipe', xr, '--out', jw, portable=False) + assert csha(jw) == rec['expected']['output_content_sha256'] + for name, cc in sorted(rec['controls'].items()): + log = run('jx-control-' + name, C / 'jx/build_jx.py', '--input', inp, '--recipe', xr, '--control', name, portable=False) + if 'rejection_expected' in cc: assert 'CONTROL PINNED' in log, (name, log[-300:]) + else: assert ('OK ' + cc['expected_sha']) in log, (name, log[-300:]) + pin('jx_controls', sorted(rec['controls'])) + lec('lec-jx', jw) + # 7. hybrids + ur = HERE / ('RECIPE-U8-%s.json' % a.id); u = read(ur); (out / 'hyb').mkdir(); fw = out / 'hyb/FULL-WORD.json.gz' + run('hybrids', C / 'barch/build_tri.py', jw, ur, fw, portable=False) + assert csha(fw) == u['expect_sha256'] + run('hybrid-controls', C / 'barch/run_controls.py', jw, ur, C.parent / 'independent/audit_local.py', out / 'hybrid-controls', portable=False) + res = read(out / 'hybrid-controls/controls.json') + want = ['C0_identity', 'recipe', *MUTANTS] + [m + '@' + str(v['X']) for v in u.get('variants', []) for m in MUTANTS] + assert sorted(res) == sorted(want) and all(x['ok'] for x in res.values()), res + pin('hybrid_controls', sorted(want)) + lec('lec-hyb', fw) + # 8. frame re-optimisation (LeaverSAT2): exact global frame optimum of the hybrid word; scalar program unchanged + fr = HERE / ('FRAME-RECIPE-LV-%s.json' % a.id); frec = read(fr) + run('frames', HERE / 'build_frames_lv.py', fw, out / 'frames', fr, portable=False) + fw = out / 'frames/FULL-WORD.json.gz'; assert csha(fw) == frec['expected']['output_content_sha256'] + pin('frame_build_controls', len(read(out / 'frames/BUILD.json')['rejected_controls'])) + # No layer-end-controls run on the re-framed word: the frame re-optimisation lowers some entering-end tail frames + # below the hyperplane, so the signed control generator cannot build its 'end at another hyperplane' mutant there. + # The ends, the scalar program and helper_final are unchanged from the hybrid word (checked by build_frames_lv.py), + # where the controls ran above; every frame chain of the final word is re-checked by the native audit below. + # 9. native locals of the final word + local = out / 'local' + run('native', up / 'code/hpe_audit_and_transport.py', '--raw', fw, '--routing', routing, '--out', local) + pin('canonical_sha256', hashlib.sha256(gzip.decompress((local / 'CANONICAL-WORD.json.gz').read_bytes())).hexdigest()) + run('ledgers', up / 'code/hpe_emit_local.py', local) + run('local-replay', up / 'code/hpe_audit_local.py', local) + run('wrappers', up / 'code/hpe_adapters_local.py', local / 'CANONICAL-WORD.json.gz', local / 'RESIDUAL-ADAPTERS.json', local / 'WRAPPER-CHECKS.json') + checks = read(local / 'LOCAL-CHECKS.json'); pin('program_sha256', {o: checks[o]['sha256'] for o in ('forward', 'backward')}) + if not a.skip_phases: + run('phases', base / 'code/phases_full.py', local, parent / 'complex-global/vendor531/vendor/clifford') + pin('clifford_recipes_sha256', hashlib.sha256((local / 'CLIFFORD-RECIPES.json').read_bytes()).hexdigest()) + if a.record_pins: (out / ('CHAIN-PINS-%s.json' % a.id)).write_text(json.dumps(got, indent=1) + '\n') + print('DONE', local, flush=True) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-leaver/construction/notri/PRIO6.json b/research/gauge44-leaver/construction/notri/PRIO6.json new file mode 100644 index 0000000000..069a7bf5a5 --- /dev/null +++ b/research/gauge44-leaver/construction/notri/PRIO6.json @@ -0,0 +1 @@ +{"prio": {"0,1,2,3": [["1", "0", "0", "1", "0", "0", "0", "0"], ["0", "-1/2", "1/2", "0", "0", "-1/2", "1/2", "0"], ["-1/2", "0", "0", "1/2", "0", "0", "0", "0"], ["0", "0", "0", "0", "1", "0", "0", "1"], ["0", "0", "0", "0", "0", "-1/2", "1/2", "0"], ["-1/2", "0", "0", "1/2", "-1/2", "0", "0", "1/2"]], "0,1,4,5": [["1", "0", "0", "1", "0", "0", "0", "0"], ["0", "-1/2", "1/2", "0", "0", "-1/2", "1/2", "0"], ["-1/2", "0", "0", "1/2", "0", "0", "0", "0"], ["0", "0", "0", "0", "1", "0", "0", "1"], ["0", "0", "0", "0", "0", "-1/2", "1/2", "0"], ["-1/2", "0", "0", "1/2", "-1/2", "0", "0", "1/2"]], "0,1,6,7": [["1", "0", "0", "1", "0", "0", "0", "0"], ["0", "-1/2", "1/2", "0", "0", "-1/2", "1/2", "0"], ["-1/2", "0", "0", "1/2", "0", "0", "0", "0"], ["0", "0", "0", "0", "1", "0", "0", "1"], ["0", "0", "0", "0", "0", "-1/2", "1/2", "0"], ["-1/2", "0", "0", "1/2", "-1/2", "0", "0", "1/2"]], "2,3,4,5": [["1", "0", "0", "1", "0", "0", "0", "0"], ["0", "-1/2", "1/2", "0", "0", "-1/2", "1/2", "0"], ["-1/2", "0", "0", "1/2", "0", "0", "0", "0"], ["0", "0", "0", "0", "1", "0", "0", "1"], ["0", "0", "0", "0", "0", "-1/2", "1/2", "0"], ["-1/2", "0", "0", "1/2", "-1/2", "0", "0", "1/2"]], "2,3,6,7": [["1", "0", "0", "1", "0", "0", "0", "0"], ["0", "-1/2", "1/2", "0", "0", "-1/2", "1/2", "0"], ["-1/2", "0", "0", "1/2", "0", "0", "0", "0"], ["0", "0", "0", "0", "1", "0", "0", "1"], ["0", "0", "0", "0", "0", "-1/2", "1/2", "0"], ["-1/2", "0", "0", "1/2", "-1/2", "0", "0", "1/2"]], "4,5,6,7": [["1", "0", "0", "1", "0", "0", "0", "0"], ["0", "-1/2", "1/2", "0", "0", "-1/2", "1/2", "0"], ["-1/2", "0", "0", "1/2", "0", "0", "0", "0"], ["0", "0", "0", "0", "1", "0", "0", "1"], ["0", "0", "0", "0", "0", "-1/2", "1/2", "0"], ["-1/2", "0", "0", "1/2", "-1/2", "0", "0", "1/2"]]}} \ No newline at end of file diff --git a/research/gauge44-leaver/construction/notri/cgx.py b/research/gauge44-leaver/construction/notri/cgx.py new file mode 100644 index 0000000000..08e80804eb --- /dev/null +++ b/research/gauge44-leaver/construction/notri/cgx.py @@ -0,0 +1,469 @@ +# Round20 early-coordinate-center / own-Y variant, prepared for icekylinx +# with OpenAI Codex assistance. Apache-2.0. Scalar elementary-operation +# helpers below are retained from the attributed PR514 construct_partial.py. +# Adapted by OpenAI Codex for isolated structural research. +# Modified from PR425 by icekylinx with Codex assistance. +"""Full discovery word for Hamming packets with borrowed X and Y registers. + +This changes the scalar architecture. It is not accepted by the old restricted +gx interface: source bases may change until full-frame cleanup, and targets use +an explicitly inverted output basis. No supplier admission is asserted. +""" +import copy,gzip,json,math,time +import itertools as it +from collections import Counter,defaultdict +from fractions import Fraction as Q +from pathlib import Path + +import sys +INPUT=Path(sys.argv[1]);OUT=Path(sys.argv[2]);OUT.mkdir(parents=True,exist_ok=False);D=json.loads((INPUT/'PROTOTYPE.json').read_text()) +P=D['binary_ports'];R=D['root_lines'];v=120;h=9 +modules=json.load(gzip.open(INPUT/'PACKET-PROGRAMS.json.gz')) +# AtomScout: leaver-read K-triangles (schedule from atom1.py / rog.py CP-SAT) +TRI=json.loads(Path(sys.argv[3]).read_text()) +FULLT={(tuple(tr['p']),tr['e']) for tr in TRI['triangles']} +TRI_COORDS={t+8 for tr in TRI['triangles'] for t,_,_ in tr['reads']} +import os as _o +COPYL=json.loads(open(_o.environ['XPARAM']).read()).get('copyl',[]) if _o.environ.get('XPARAM') else [] +NH=504-3*len(FULLT)+len(COPYL) + +def basis(vectors): + b={} + for x in vectors: + for p in sorted(b,reverse=True): + if x>>p&1:x^=b[p] + if x: + p=x.bit_length()-1 + for q in b: + if b[q]>>p&1:b[q]^=x + b[p]=x + return tuple(b[p] for p in sorted(b,reverse=True)) +def inside(a,b):return basis(a+b)==b +def hyper(p):return basis([x for x in range(1,512) if (x&p).bit_count()%2==0]) +FULL=basis([1<=v,r)) + for col,s in enumerate(ids): + k=next(i for i in range(col,len(regs)) if rows[regs[i]].get(s,Q(0))) + swap(regs[k],regs[col],F) + scale(regs[col],1/rows[regs[col]][s],F) + for i in range(len(regs)): + if i!=col and rows[regs[i]].get(s,Q(0)):add(regs[i],regs[col],-rows[regs[i]][s],F) + assert all(rows[regs[i]]=={s:Q(1)} for i,s in enumerate(ids)) + M=[[Q(R[s][i]) for s in ids] for i in c] + def qr_rank(rs): + bs={} + for r in rs: + r=r.copy() + for i,b in sorted(bs.items()): + if r[i]:q=r[i];r=[x-q*y for x,y in zip(r,b)] + i=next((i for i,x in enumerate(r) if x),None) + if i is not None:q=r[i];bs[i]=[x/q for x in r] + return len(bs) + assert qr_rank(M)==4 + for rr0 in PRIO.get(",".join(map(str,c)),[])+PRIORITY[",".join(map(str,c))]["rows"]: + rr=list(map(Q,rr0)) + if qr_rank(M+[rr])>len(M):M.append(rr) + if len(M)==8:break + for i in range(8): + if len(M)==8:break + rr=[Q(i==j) for j in range(8)] + if qr_rank(M+[rr])>len(M):M.append(rr) + if len(M)==8:break + assert len(M)==8 + linear(regs,M,F) + for i,r in zip(c,regs): + assert rows[r]=={s:Q(R[s][i]) for s in ids} + block_totals[c,i]=r + +# All centers are complete while Y is still at zero. This is the crucial +# difference from an illegal early-own-Y prefix using the old center order. +centers=[] +for i in range(8): + regs=[block_totals[c,i] for c in sorted(blocks) if i in c] + F=hyper(P[frame[i]]);a=regs[0] + for b in regs[1:]:add(a,b,1,F) + centers.append(a) +centers += [frame[i] for i in range(8)] +center_frames=[cur[r] for r in centers] +assert list(map(len,center_frames))==[8]*8+[1]*8 +assert all(cur[v+t]==() for t in range(v)) + +phase=B +for t,(r,coef,F) in sorted(own_rows.items()): + if t in TRI_COORDS:continue + assert cur[r]==F + add(v+t,r,coef,F) +# requests are needed for TRI coefficients +requests=defaultdict(list) +for pid,pair in enumerate(pairs): + if not pair['selected']:continue + (t,u),(key1,key2),mat=pair['targets'],pair['keys'],pair['matrix'] + requests[key1].append((t,-Q(mat[0][0],2))) + requests[key2].append((u,-Q(mat[0][1],2))) +reqcoef={t:(key,coef) for key,reqs in requests.items() for t,coef in reqs} +def face_info(c,p,eps): + z=blocks[c];keys=[(pp,ee) for pp in it.combinations(c,2) for ee in (-1,1)] + r_local,alpha=z['outputs'][keys.index((p,eps))] + j=[j for j in range(40,len(z['events'])) if z['events'][j][0]==r_local];assert len(j)==1 + return j[0],Q(alpha) +tri_join_counts=Counter();TRILOG=[] +lcopy={} +for s8 in COPYL: + r=s8+8;c=len(cur);cur.append(());rows.append({});shadow.append(None);add(c,r,1,cur[r]);lcopy[r]=c +BF={c:basis([P[x] for x in z['receipt']['source_lines']]) for c,z in blocks.items()} +HYB={(tuple(map(int,h[0])),tuple(map(int,h[1])),int(h[2])) for h in XP.get('hyb',[])} +HYBLOG=[] +def triread(t,blk,r,q): + F=basis(cur[v+t]+cur[r]);assert inside(F,hyper(P[t])),('TRI frame',t,blk,r,cur[v+t],cur[r],hyper(P[t]),[x for x in TRILOG if x[2]==r],HYBLOG) + tri_join_counts[len(F)]+=1;add(v+t,r,q,F);TRILOG.append([t,list(blk),r,str(q),list(F),list(cur[r])]) +for tr in TRI['triangles']: + p,eps=tuple(tr['p']),tr['e'] + hb={blk for _,blk,_ in map(lambda x:(x[0],tuple(x[1]),x[2]),tr['reads']) if (blk,p,eps) in HYB} + own=[];rest=[] + for t8,blk,loc in tr['reads']: + t=t8+8;blk=tuple(blk);r=maps[blk][loc];r0=r;r=lcopy.get(r,r) + key,coef=reqcoef[t];assert key[1]==p and key[2]==eps,(key,p,eps) + if blk==key[0]: + rr,c0,F0=own_rows[t];assert rr==r0;own.append((t,blk,r,c0)) + else: + j,alpha=face_info(blk,p,eps);ev=blocks[blk]['events'][j];assert loc in ev[:2] + rest.append((t,blk,loc,r,coef*alpha)) + if not hb: + # original interleaved order + for t8,blk,loc in tr['reads']: + t=t8+8;blk=tuple(blk);r=maps[blk][loc];key,coef=reqcoef[t] + if blk==key[0]:q=own_rows[t][1] + else:j,alpha=face_info(blk,p,eps);q=coef*alpha + triread(t,blk,r,q) + continue + items=[] # (kind, t, reg, q, blk) + for t,blk,r,q in own:items.append(('r',t,r,q,blk,blk in hb)) + for blk in sorted(hb):items.append(('e',None,None,None,blk,True)) + done=set() + for t,blk,loc,r,q in rest: + if blk in hb: + j,_=face_info(blk,p,eps);ev=blocks[blk]['events'][j] + ws=[x for x in rest if x[0]==t and x[1]==blk];assert len(ws)==2 and ws[0][4]==ws[1][4] and {ws[0][2],ws[1][2]}==set(ev[:2]) + if (t,blk) in done:continue + done.add((t,blk));items.append(('m',t,maps[blk][ev[0]],q,blk,True)) + else:items.append(('r',t,r,q,blk,False)) + # Original read order with the two half reads collapsed into one M read at the first half's slot; the face event goes + # just before the first M read of its block; own reads of the M register are hoisted ahead of that event. + def evinfo(blk): + j,_=face_info(blk,p,eps);ev=blocks[blk]['events'][j];assert ev[2]==ev[3]==1,ev + mpb=maps[blk];return mpb[ev[0]],mpb[ev[1]],tuple(blocks[blk]['event_frames'][j]) + items=[] + seen=set() + for t8,blk,loc in tr['reads']: + t=t8+8;blk=tuple(blk);r=maps[blk][loc];key,coef=reqcoef[t] + if blk==key[0]:items.append(('r',t,r,own_rows[t][1],blk,blk in hb)) + else: + j,alpha=face_info(blk,p,eps);q=coef*alpha + if blk in hb: + if (t,blk) not in seen:seen.add((t,blk));continue + items.append(('m',t,evinfo(blk)[0],q,blk,True)) + else:items.append(('r',t,r,q,blk,False)) + for blk in sorted(hb): + k0=min(i for i,x in enumerate(items) if x[0]=='m' and x[4]==blk) + items.insert(k0,('e',None,None,None,blk,True)) + n=len(items) + def step(it,st): + k,t,r,q,blk,h=it;g=lambda x:st.get(x,cur[x]) + if k=='e': + a_,b_,EF=evinfo(blk);FF=basis(list(EF)+list(g(a_))+list(g(b_))) + return {a_:FF,b_:FF} if inside(FF,BF[blk]) else None + F=basis(list(g(v+t))+list(g(r))) + if not inside(F,hyper(P[t])):return None + if h and k=='r' and r==evinfo(blk)[1] and not inside(F,BF[blk]):return None + return {v+t:F,r:F} + def allowed(i,used): + k,t,r,q,blk,h=items[i] + evi=[j for j,x in enumerate(items) if x[0]=='e' and x[4]==blk] if h else [] + if k=='e':return all(j in used for j,x in enumerate(items) if x[0]=='r' and x[4]==blk and x[5] and x[2]==evinfo(blk)[0]) + if k=='m':return evi[0] in used + if k=='r' and h and r==evinfo(blk)[0]:return evi[0] not in used + return True + budget=[int(os.environ.get('HYBBUDGET','300000'))];memo=set() + def dfs(st,used,order): + if len(order)==n:return order + budget[0]-=1 + if budget[0]<0:return None + sig=(used,tuple(sorted(st.items()))) + if sig in memo:return None + memo.add(sig) + for i in range(n): + if i in used or not allowed(i,used):continue + d=step(items[i],st) + if d is None:continue + ns=dict(st);ns.update(d);res=dfs(ns,used|{i},order+[i]) + if res:return res + return None + import sys as _s;_s.setrecursionlimit(20000) + order=dfs({},frozenset(),[]) + assert order,('no feasible hybrid order',p,eps,sorted(hb),budget) + for i in order: + k,t,r,q,blk,h=items[i] + if k=='e': + a_,b_,EF=evinfo(blk);FF=basis(list(EF)+list(cur[a_])+list(cur[b_]));add(a_,b_,1,FF);HYBLOG.append([list(blk),list(p),eps,list(FF)]) + else:triread(t,blk,r,q) + +packets={} +for c,z in sorted(blocks.items()): + mp=maps[c] + keys=[(p,eps) for p in it.combinations(c,2) for eps in (-1,1)] + skipev={face_info(c,p,eps)[0] for p,eps in keys if (p,eps) in FULLT} + for j,(e,F) in enumerate(list(zip(z['events'],z['event_frames']))[40:]): + if j not in early[c] and 40+j not in skipev: + t,s,a,b=e;add(mp[t],mp[s],Q(a,b),tuple(F)) + for key,(r,alpha) in zip(keys,z['outputs']): + if tuple(key) in FULLT:skip();continue + a=mp[r];b=alloc();add(b,a,1,cur[a]) + consumers=sorted(d for d in blocks if d!=c and set(key[0])<=set(d)) + assert len(consumers)==2 + for target,r in zip(consumers,(a,b)):packets[c,key[0],key[1],target]=(r,Q(alpha)) + +# Both tetrahedra use the same partition. A selected key has exactly two +# selected Y loads and no ordinary M consumer. Supply its two raw halves in +# opposite orders and never form that M. Other keys retain the old M path. +second=[];first_join_counts=Counter() +for key,reqs in sorted(requests.items()): + assert len(reqs)==2 + c,p,eps=key + if (p,eps) in FULLT:continue + ds=sorted(d for d in blocks if d!=c and set(p)<=set(d));a,b=ds + for j,(target,coef) in enumerate(sorted(reqs)): + first_source,second_source=(a,b) if j==0 else (b,a) + r,alpha=packets[first_source,p,eps,second_source] + F=basis(cur[v+target]+cur[r]);assert inside(F,hyper(P[target])) + first_join_counts[len(F)]+=1;add(v+target,r,coef*alpha,F) + r,alpha=packets[second_source,p,eps,c] + second.append((target,r,coef*alpha)) + +Ms={} +for c in sorted(blocks): + for p in it.combinations(c,2): + ds=sorted(d for d in blocks if d!=c and set(p)<=set(d)) + for eps in (-1,1): + if (c,p,eps) in requests:continue + (a,alpha),(b,beta)=[packets[d,p,eps,c] for d in ds] + F=basis(cur[a]+cur[b]);add(a,b,beta/alpha,F) + Ms[c,p,eps]=(a,alpha) + +consumers=defaultdict(list) +for pid,pair in enumerate(pairs): + for key in pair['keys']:consumers[key].append(pid) +slots={} +for key,uses in sorted(consumers.items()): + assert len(uses)==2 + if key in requests: + assert all(pairs[i]['selected'] for i in uses) + continue + assert all(not pairs[i]['selected'] for i in uses) + a,alpha=Ms[key] + for j,pid in enumerate(uses): + if j==0:r=a + else:r=alloc();add(r,a,1,cur[a]) + slots[pid,key]=(r,alpha) +assert len(cur)-240==NH,len(cur)-240 + +selected_join_counts=Counter() +for target,r,coef in second: + F=basis(cur[v+target]+cur[r]);assert inside(F,hyper(P[target])) + selected_join_counts[len(F)]+=1;add(v+target,r,coef,F) +output_basis=[] +for pair in pairs: + if not pair['selected']:continue + (t,u),mat=pair['targets'],pair['matrix'] + F=basis(cur[v+t]+cur[v+u]);assert inside(F,hyper(P[t])) and inside(F,hyper(P[u])) + add(v+t,v+u,1,F);add(v+u,v+t,-Q(1,2),F) + z=-Q(2*mat[1][0],mat[0][0]);scale(v+u,z,F);output_basis.append((t,u,z)) + +for pid,pair in enumerate(pairs): + if pair['selected']:continue + (t,u),(key1,key2),mat=pair['targets'],pair['keys'],pair['matrix'] + (a,alpha),(b,beta)=slots[pid,key1],slots[pid,key2] + F=basis(cur[a]+cur[b]);aa,ab=Q(mat[0][0])*alpha,Q(mat[0][1])*beta + ba,bb=Q(mat[1][0])*alpha,Q(mat[1][1])*beta + add(a,b,ab/aa,F);q=ba/(bb-ba*ab/aa);add(b,a,q,F) + add(v+t,a,-aa/2,hyper(P[t]));add(v+u,b,-(bb-ba*ab/aa)/2,hyper(P[u])) + +for t in range(v): + expected={s:-Q(G[t][s],2) for s in range(v) if s!=t and G[t][s] and s not in frame.values()} if t not in frame.values() else {} + assert rows[v+t]==expected,('side identity',t) + +scatter=[[Q(r[i],4) if t not in frame.values() else Q(0) for i in range(8)]+[Q(t==frame[i]) for i in range(8)] for t,r in enumerate(R)] +precondition=[] +for t,u,z in output_basis: + a,b=scatter[t].copy(),scatter[u].copy() + scatter[t]=[x/2-y/z for x,y in zip(a,b)] + scatter[u]=[x/2+y/z for x,y in zip(a,b)] + precondition.extend([['scale',v+u,(1/z).numerator,(1/z).denominator,[]], + ['add',v+u,v+t,1,2,[]],['add',v+t,v+u,-1,1,[]]]) +for r in range(len(cur)):climb(r,hyper(P[r-v]) if v<=r<2*v else FULL) +H[8]+=8;H[1]+=8 +assert sum(r*z for r,z in H.items())==9*NH+240*8+72,sum(r*z for r,z in H.items()) + +def apply(e,matrix): + if e[0]=='add': + _,t,s,a,b,*_=e;q=Q(a,b) + for j,x in list(matrix[s].items()): + z=matrix[t].get(j,Q(0))+q*x + if z:matrix[t][j]=z + else:matrix[t].pop(j,None) + else: + _,t,a,b,*_=e;q=Q(a,b);matrix[t]={j:q*x for j,x in matrix[t].items()} +def inverse(e): + e=copy.deepcopy(e) + if e[0]=='add':e[3]*=-1 + else:e[2],e[3]=e[3],e[2] + e[-1]=list(FULL);return e +cut=[['add',v+t,centers[i],q.numerator,q.denominator,None] for t,row in enumerate(scatter) for i,q in enumerate(row) if q] +cleanup=[inverse(e) for e in reversed(A+B) if not v<=e[1]<2*v] +matrix=[{r:Q(1)} if r>k&1:a^=d[k] + if a: + k=a.bit_length()-1 + for j in d: + if d[j]>>k&1:d[j]^=a + d[k]=a + return tuple(d[k] for k in sorted(d,reverse=True)) +def inside(a,b):return basis(a+b)==b +def regs(e):return e[1:3] if e[0]=='add' else e[1:2] +def inverse(e): + e=copy.deepcopy(e) + if e[0]=='add':e[3]=-e[3] + else:e[2],e[3]=e[3],e[2] + return e +def apply(e,M,mapping=None): + t=mapping[e[1]] if mapping is not None else e[1] + if e[0]=='add': + s=mapping[e[2]] if mapping is not None else e[2];q=Q(e[3],e[4]) + for j,a in M[s].items(): + x=M[t].get(j,Q(0))+q*a + if x:M[t][j]=x + else:M[t].pop(j,None) + else: + q=Q(e[2],e[3]);M[t]={j:q*a for j,a in M[t].items()} +def rref(A): + a=[list(map(Q,row)) for row in A];nr=len(a);nc=len(a[0]) if nr else 0;row=0;piv=[] + for c in range(nc): + k=next((i for i in range(row,nr) if a[i][c]),None) + if k is None:continue + a[row],a[k]=a[k],a[row];q=a[row][c];a[row]=[x/q for x in a[row]] + for i in range(nr): + if i!=row and a[i][c]:q=a[i][c];a[i]=[x-q*y for x,y in zip(a[i],a[row])] + piv.append(c);row+=1 + if row==nr:break + return a,piv +def rank(A):return len(rref(A)[1]) +def null(A,nc=None): + if A:a,piv=rref(A);nc=len(a[0]) + else:a=[];piv=[];assert nc is not None + free=[j for j in range(nc) if j not in piv];out=[[Q(0) for j in free] for i in range(nc)] + for k,c in enumerate(free):out[c][k]=Q(1) + for i,c in enumerate(piv): + for k,j in enumerate(free):out[c][k]=-a[i][j] + return out +def mm(A,B): + if not A:return [] + if not B:return [[] for row in A] + bt=list(zip(*B));return [[sum((a*b for a,b in zip(row,col)),Q(0)) for col in bt] for row in A] +def tr(A):return list(map(list,zip(*A))) +def inv(A): + n0=len(A);a,p=rref([row+[Q(i==j) for j in range(n0)] for i,row in enumerate(A)]) + assert p[:n0]==list(range(n0)) + return [row[n0:] for row in a] +def unit(q): + if not q:return False + a=abs(q.numerator);b=q.denominator + return not a&(a-1) and not b&(b-1) +def dyadic(q):return not q.denominator&(q.denominator-1) +def opadd(t,s,q,F):return ['add',t,s,q.numerator,q.denominator,list(F)] +def opscale(t,q,F):return ['scale',t,q.numerator,q.denominator,list(F)] +def eliminate(M,ids,F,skip=()): + """Return legal dyadic row operations taking an invertible sparse matrix to I.""" + skip=set(skip);ops=[];dim=len(M) + def add(i,j,q): + if q: + assert dyadic(q);e=opadd(ids[i],ids[j],q,F);ops.append(e) + for c,x in M[j].items(): + z=M[i].get(c,Q(0))+q*x + if z:M[i][c]=z + else:M[i].pop(c,None) + def scale(i,q): + if q!=1: + assert unit(q);ops.append(opscale(ids[i],q,F));M[i]={c:q*x for c,x in M[i].items()} + def swap(i,j): + if i!=j: + add(i,j,Q(1));add(j,i,Q(-1));add(i,j,Q(1));scale(j,Q(-1)) + for c in range(dim): + if c in skip: + assert M[c]=={c:Q(1)} and all(not M[i].get(c) for i in range(dim) if i!=c) + continue + cand=[i for i in range(c,dim) if i not in skip and M[i].get(c)] + k=next((i for i in cand if unit(M[i][c])),None) + if k is None: + # Elementary Euclidean row additions reduce the pivot-column numerator gcd. + assert cand,('singular',c) + while k is None: + cand.sort(key=lambda i:abs(M[i][c]));a=cand[0] + b=next((i for i in cand[1:] if M[i][c]),None) + if b is None:raise ValueError(('non-dyadic determinant pivot',c,M[a][c])) + rat=M[b][c]/M[a][c];q=rat.numerator//rat.denominator + if q==0:q=1 if rat>0 else -1 + add(b,a,Q(-q));cand=[i for i in cand if M[i].get(c)] + k=next((i for i in cand if unit(M[i][c])),None) + swap(c,k);scale(c,1/M[c][c]) + for i in range(dim): + if i!=c and M[i].get(c): + assert i not in skip + add(i,c,-M[i][c]) + assert all(row=={i:Q(1)} for i,row in enumerate(M)) + return ops +def realize(A,ids,F): + M=[{j:Q(x) for j,x in enumerate(row) if x} for row in A] + return [inverse(e) for e in reversed(eliminate(M,ids,F))] +# Reconstruct the actual non-target map after the inherited HPE tail. +inherited_tail=[w['cleanup'][i][:-1]+[list(f)] for i,f in w.get('early_cleanup',[])] +mainN=[e for e in w['A']+w['B'] if not v<=e[1]<2*v] +M=[{i:Q(1)} for i in range(len(N))] +for e in mainN+inherited_tail:apply(e,M,ix) +MI=[{i:Q(1)} for i in range(len(N))] +for e in reversed(mainN+inherited_tail):apply(inverse(e),MI,ix) +cur={x:(w['ports'][x],) if xlen(ih):ih.append(j) + if len(ih)==r:break + assert len(ih)==r + endhs=[N[I[j]] for j in ih];endhidx=[hs.index(h) for h in endhs] + kerR=null(RR,NB);Qmat=[[Q(0) for j in range(NB)] for i in range(NB)] + for j,hj in enumerate(endhidx): + for i in range(NB):Qmat[i][hj]=qH[i][j] + other=[j for j in range(NB) if j not in endhidx] + for k,j in enumerate(other): + for i in range(NB):Qmat[i][j]=kerR[i][k] + assert rank(Qmat)==NB + pops=realize(Qmat,hs,());premix+=pops + T=[[Q(i==j)-sum((U[i][k]*L[k][j] for k in range(r)),Q(0)) for j in range(len(I))] for i in range(len(I))] + for k,i in enumerate(ih):T[i]=L[k] + tops=realize(T,[N[i] for i in I],F);tail+=tops + # Right-compose this initial helper premix; other blocks have disjoint H sets. + for row in Mafter: + vals=[row.get(h,Q(0)) for h in H] + if any(vals): + for hj in H:row.pop(hj,None) + for j,hj in enumerate(H): + z=sum((vals[i]*Qmat[i][j] for i in range(NB)),Q(0)) + if z:row[hj]=z + for e in tops:apply(e,Mafter,ix) + ends.update({h:list(F) for h in endhs}) + plans.append(dict(block=b,frame=list(F),registers=[N[i] for i in I],ends=endhs,pairing_rank=r,premix_gates=len(pops),tail_gates=len(tops),Q=[[str(x) for x in row] for row in Qmat],T=[[str(x) for x in row] for row in T])) + print('BLOCK',b,'ends',endhs,'Qops',len(pops),'Tops',len(tops),flush=True) +# Check actual post-tail isolation before constructing the high-frame inverse. +allends=set(ends)|set(map(int,w.get('helper_final',{}))) +for h in allends: + j=ix[h];assert Mafter[j]=={j:Q(1)},('row not isolated',h,Mafter[j]);assert all(not row.get(j) for i,row in enumerate(Mafter) if i!=j),('column not isolated',h) +print('EXACT_ISOLATED',len(ends),'new;',len(allends),'total',round(time.monotonic()-t0,3),flush=True) +fullops=eliminate(copy.deepcopy(Mafter),N,F9,[ix[x] for x in allends]) +print('FULL_INVERSE',len(fullops),round(time.monotonic()-t0,3),flush=True) +# Cancel new cold-axis target responses inside A, after their wrappers. +Dirt=[({h:Q(1)} if h in ends else {}) for h in range(n)] +for e in premix+w['A']+w['cut']+w['B']:apply(e,Dirt) +for e in w['precondition']:apply(e,Dirt) +postcomp=[opadd(y,h,-a,()) for y in range(v,2*v) for h,a in sorted(Dirt[y].items()) if a] +assert all(h in ends for e in postcomp for h in [e[2]]) +new=copy.deepcopy(w);new['A']=postcomp+premix+w['A'];new['cleanup']=inherited_tail+tail+fullops +new['early_cleanup']=[[i,e[-1]] for i,e in enumerate(inherited_tail+tail)] +new['helper_final'].update({str(h):f for h,f in ends.items()}) +new['refactored_cleanup']={'kind':'source_branch_gauge_and_retired_completion_cold44','new_cold_ends':len(ends),'exact_non_target_isolation_checked':True,'high_inverse':'dyadic_sparse_Gauss_Jordan'} +# Derive paid profile by subtracting and adding literal frame-chain counts. +spec=importlib.util.spec_from_file_location('upstream_cold_end',args.upstream_package/'code/build_cold_end.py') +profile_module=importlib.util.module_from_spec(spec);spec.loader.exec_module(profile_module) +oldprof,_=profile_module.chain_profile(w);newprof,_=profile_module.chain_profile(new) +prof=Counter({int(k):z for k,z in w['report']['local_profile'].items()});prof.subtract(oldprof);prof.update(newprof) +widths=Counter(len(basis(new['helper_final'].get(str(h),F9)))-len(basis(new.get('start_extra',{}).get(str(h),[]))) for h in range(224,n)) +new['report'].update(local_profile={str(k):z for k,z in sorted(prof.items()) if z},local_rank_mass=sum(k*z for k,z in prof.items()),width_inventory={str(k):z for k,z in sorted(widths.items()) if z},status='EXACT_COLD44_CONSTRUCTED_PENDING_INDEPENDENT_AUDIT') +raw=json.dumps(new,sort_keys=True,separators=(',',':')).encode();sha=hashlib.sha256(raw).hexdigest();(OUT/'FULL-WORD.json.gz').write_bytes(gzip.compress(raw,mtime=0)) +recipe={'premix':postcomp+premix,'cleanup':new['cleanup'],'early_cleanup':new['early_cleanup'],'cold_ends':{str(h):f for h,f in ends.items()},'refactored_cleanup':new['refactored_cleanup'],'output_content_sha256':sha} +(OUT/'RECIPE.json.gz').write_bytes(gzip.compress(json.dumps(recipe,sort_keys=True,separators=(',',':')).encode(),mtime=0)) +receipt=dict(input_content_sha256=hashlib.sha256(gzip.decompress(WPATH.read_bytes())).hexdigest(),output_content_sha256=sha,blocks=plans,new_cold_ends=len(ends),all_low_ended_helpers=len(allends),premix_gates=len(premix),postwrapper_compensation_gates=len(postcomp),tail_gates=len(tail),inherited_tail_gates=len(inherited_tail),full_inverse_gates=len(fullops),profile=new['report']['local_profile'],width_inventory=new['report']['width_inventory'],rank_mass=new['report']['local_rank_mass'],seconds=time.monotonic()-t0) +(OUT/'CONSTRUCTION.json').write_text(json.dumps(receipt,indent=2)+'\n') +print(json.dumps({k:z for k,z in receipt.items() if k!='blocks'},indent=2),flush=True) diff --git a/research/gauge44-leaver/construction/notri/port_stage_x.py b/research/gauge44-leaver/construction/notri/port_stage_x.py new file mode 100644 index 0000000000..81ac65ceff --- /dev/null +++ b/research/gauge44-leaver/construction/notri/port_stage_x.py @@ -0,0 +1,125 @@ +"""Port one 504-helper construction stage onto the K-triangle word. Apache-2.0. Prepared with Claude Code assistance. + +usage: build_port_stage.py --shadow-input I4 --shadow-output O4 --input I8 --map HELPER-MAP.json --gk-dir GK --out DIR + +The shadow pair (I4 -> O4) is one stage of a 504-helper chain, rebuilt in the same run from pinned sources. I8 is the +K-triangle word at the matching point of its own chain, and HELPER-MAP.json is the 504 -> R register map written by +construct_k_triangle.py. Registers below 448 keep their ids; the removed packet copies have no image. + +The port does the following: +* It renumbers I4 and O4 through the map and drops their gates that touch a removed register. +* It matches gates by scalar operation (the gate without its frame), aligning I4 with O4 and I4 with I8 separately. +* It builds O8 in O4 gate order: + * each matched gate is taken from I8, with O4's frame wherever the stage changed that frame; + * each gate the stage introduced is taken from O4; + * each I8-only gate (the K-triangle reads) stays after the O4 image of its I8 predecessor. +* It replays the stage's entrance (start_extra) and target_levels changes. +* It rebuilds the cleanup with the inherited inverse rule. + +The constructor is a search transfer only. The verifier certifies the output independently: the generalised native +audit (exact forward and inverse replay of every column, native frame chains) runs on every ported word, and every +input and output is pinned by content hash.""" +import argparse, copy, difflib, gzip, hashlib, json, sys +from collections import Counter +from pathlib import Path + +assert __debug__, 'Assertions required' +FULL = [256, 128, 64, 32, 16, 8, 4, 2, 1] + + +def regs(g): return (g[1], g[2]) if g[0] == 'add' else (g[1],) + + +def key(g): return json.dumps(g[:-1]) + + +def inverse(e): + e = copy.deepcopy(e) + if e[0] == 'add': e[3] *= -1 + else: e[2], e[3] = e[3], e[2] + e[-1] = list(FULL); return e + + +def align(xs, ys): + """index map xs -> ys over runs of equal scalar operations""" + sm = difflib.SequenceMatcher(None, [key(g) for g in xs], [key(g) for g in ys], autojunk=False) + return {i1 + k: j1 + k for tag, i1, i2, j1, j2 in sm.get_opcodes() if tag == 'equal' for k in range(i2 - i1)} + + +def transfer_section(I4, O4, I8, stats): + a, b = align(I4, O4), align(I4, I8) + o2i = {j: i for i, j in a.items()}; i8from4 = {j: i for i, j in b.items()} + anchor = {j8: a[i4] for j8, i4 in i8from4.items() if i4 in a} + pending, last = {}, -1 + for j8, g in enumerate(I8): + if j8 in anchor: last = anchor[j8] + elif j8 not in i8from4: pending.setdefault(last, []).append(copy.deepcopy(g)); stats['kept_own'] += 1 + else: stats['dropped_by_stage'] += 1 + out = list(pending.get(-1, [])) + for k, g in enumerate(O4): + if k in o2i: + i4 = o2i[k] + if i4 in b: + g8 = copy.deepcopy(I8[b[i4]]) + if I4[i4][-1] != g[-1]: g8[-1] = copy.deepcopy(g[-1]); stats['frames_changed'] += 1 + out.append(g8) + else: + out.append(copy.deepcopy(g)); stats['introduced'] += 1 + out.extend(pending.get(k, [])) + return out + + +def main(): + ap = argparse.ArgumentParser() + for k in ('--shadow-input', '--shadow-output', '--input', '--map', '--gk-dir', '--out'): ap.add_argument(k, type=Path, required=True) + a = ap.parse_args(); assert not a.out.exists() + sys.path.insert(0, str(a.gk_dir)); import gk_word as G, gk_common as C + G.V = C.V = 112 + rd = lambda p: json.loads(gzip.decompress(p.read_bytes())) + enc = lambda x: json.dumps(x, sort_keys=True, separators=(',', ':')).encode(); sha = lambda x: hashlib.sha256(x).hexdigest() + I4, O4, I8 = rd(a.shadow_input), rd(a.shadow_output), rd(a.input) + fm = {int(k): int(v) for k, v in json.loads(a.map.read_text())['map'].items()} + assert all(fm[k] == k for k in fm if k < 448), 'only ids >= 448 may move' + R = I8['report']['R']; EXTRA = set(range(224 + R)) - set(fm.values()); assert len(set(fm.values())) == len(fm) and set(fm.values()) <= set(range(224 + R)), 'map is not injective into the K-triangle registers' + assert I4['report'].get('R', 504) == 504 and len(fm) + len(set(range(728)) - set(fm)) == 728 + rem = set(range(728)) - set(fm) + rn = lambda r: fm[r] + touches = lambda g: any(r in rem for r in regs(g)) + def rg(g): + g = copy.deepcopy(g); g[1] = rn(g[1]) + if g[0] == 'add': g[2] = rn(g[2]) + return g + def rn_word(w): + w = copy.deepcopy(w) + for s in ('A', 'B', 'cut', 'precondition', 'cleanup'): + if s in w: w[s] = [rg(g) for g in w[s] if not touches(g)] + for k in ('start_extra', 'helper_final'): + if k in w: w[k] = {str(rn(int(r))): f for r, f in w[k].items() if int(r) not in rem} + return w + I4r, O4r = rn_word(I4), rn_word(O4) + O8 = copy.deepcopy(I8); stats = {s: Counter() for s in ('A', 'B')} + for s in ('A', 'B'): O8[s] = transfer_section(I4r[s], O4r[s], I8[s], stats[s]) + for k in ('start_extra', 'target_levels'): + x, y = I4r.get(k, {}), O4r.get(k, {}); d = dict(I8.get(k, {})) + for r in set(x) | set(y): + if x.get(r) != y.get(r): + if r in y: d[r] = y[r] + else: d.pop(r, None) + if k in O4 or k in I8: O8[k] = dict(sorted(d.items(), key=lambda kv: int(kv[0]))) + for k in O4: + if k not in ('A', 'B', 'cleanup', 'report', 'start_extra', 'target_levels', 'cut', 'precondition'): + assert O4r[k] == I4r[k], 'stage changed an unported field: ' + k + O8['cleanup'] = [inverse(e) for e in reversed(O8['A'] + O8['B']) if not 112 <= e[1] < 224] + H = G.profile(O8) + ws = [9 - len(G.basis(O8['start_extra'].get(str(224 + h), []))) for h in range(R)] + O8['report'] = dict(I8['report'], local_profile={str(k): v for k, v in sorted(H.items())}, local_rank_mass=sum(k * v for k, v in H.items()), + width_inventory={str(k): v for k, v in sorted(Counter(ws).items())}) + a.out.mkdir(parents=True); (a.out / 'FULL-WORD.json.gz').write_bytes(gzip.compress(enc(O8), mtime=0)) + receipt = dict(status='PORTED_STAGE_PENDING_NATIVE_AUDIT', R=R, removed_504_helpers=sorted(rem), + shadow_input_content_sha256=sha(enc(I4)), shadow_output_content_sha256=sha(enc(O4)), input_content_sha256=sha(enc(I8)), + output_content_sha256=sha(enc(O8)), sections={s: dict(v) for s, v in stats.items()}, local_profile=O8['report']['local_profile'], + scope='Transfer construction only; exactness, frame chains and profile are certified by the native audit run on the output.') + (a.out / 'PORT-STAGE.json').write_text(json.dumps(receipt, indent=2, sort_keys=True) + '\n', newline='\n'); print(json.dumps(receipt, indent=2)) + + +main() diff --git a/research/gauge44-leaver/construction/notri/reproduce_notri.py b/research/gauge44-leaver/construction/notri/reproduce_notri.py new file mode 100644 index 0000000000..a85f2acf15 --- /dev/null +++ b/research/gauge44-leaver/construction/notri/reproduce_notri.py @@ -0,0 +1,166 @@ +#!/usr/bin/env python3 +"""Rebuild the no-triangle gauge44 word (R = 504) and its native locals. + +The no-triangle word is #645's gauge44 chain with none of the four (p,-1) K-triangles. In the six K-blocks +{0,1,2,11,12,13}, the completion priority is extended by the 6-row list PRIO6.json, the list blocks 3-10 already use. +Each block then pairs at rank 4, giving 56 rank-four cold ends instead of 44 (PartialK). + +Input: a fresh `construction/reproduce.py --until word` output directory. Its shadow-early and shadow-prefix words and +its hamming inputs are pinned by reproduce.py itself. Steps, each checked exactly: + 1. gauge-forward: cgx.py, #645's construct_gauge_xcentre.py generalised by PartialK. The extra rows come from XPARAM, + and the K-triangle schedule comes from the TRI file. Run on the triangle set {} with XPARAM = PRIO6.json. + 2. port0-3: port_stage_x.py, PR635's build_port_stage.py with the helper map allowed to be injective rather than onto. + With R = 504 and no triangles, the map is onto again. + 3. regroup: PR635's k492 frame-regroup changes, applied where their `before` gate occurs. For this word none occurs, + and that count (0) is pinned. + 4. hpe: PR635's build_hpe.candidates, taken greedily with disjoint registers, and build_hpe.apply. 46 changes, pinned. + 5. cold44: cold44x.py, #645's build_gauge_cold44.py generalised by PartialK to blocks whose helper list includes the + helpers outside the 224+16b ranges (EXTRAH). 56 cold ends; the 14 pairing ranks are pinned to [4]*14 inside cold44x (PAIRING_RANKS) and rechecked here. The output word content sha256 is pinned (3e99ba77...). + 6. native, ledgers, local-replay, wrappers, phases: PR635's native local programs, as in reproduce.py. +--control-g44 instead runs steps 1-5 with #645's four triangles and no XPARAM. It must reproduce #645's pinned gauge44 +cold44 word (78c7aada...), the same word #645's own reproduce.py builds. This shows the generalised scripts reduce to +#645's constructors. +Apache-2.0. Driver by ColdWitness from PartialK's variant.py; constructors credited above. +""" +import argparse, gzip, hashlib, importlib.util, json, os, subprocess, sys, time +from pathlib import Path + +HERE = Path(__file__).resolve().parent +NOTRI_SHA = '3e99ba778ab8a97853f50912776247802b529439937176363f6c42786163b1f9' +G44_SHA = '78c7aadacb6eec2eeecc124ca236e5bcfdba6a52b30c2971aaa596d1d119b290' +# native-local pins (the strict locals the SPEC was frozen against: PartialK runs/none_p6/local) +CANONICAL_SHA = '4265a3bb7f9b46967dfadfca5f2cc1f5b3e6e8681f16c02590f1b9430c013637' +PROGRAM_SHA = {'forward': '0afda28699e15cf5a5a17aee5475ac608c9fb68b15766d463b93ec8e2df4ae85', + 'backward': '5be6cb4ea7a1da36d7bbe7eb2392873c058dd3cbb3cc2eeadd55ecca9310ca8a'} +CLIFFORD_SHA = '4b5789e43e04d71f02c2d480450ec0b354007d9cf523bda76c7345730806344b' + + +def read(p): + raw = Path(p).read_bytes() + return json.loads(gzip.decompress(raw) if str(p).endswith('.gz') else raw) + + +def enc(x): return json.dumps(x, sort_keys=True, separators=(',', ':')).encode() + + +def dump(p, v): + p.parent.mkdir(parents=True, exist_ok=True); p.write_bytes(gzip.compress(enc(v), mtime=0)) + + +def load(name, path): + s = importlib.util.spec_from_file_location(name, path); m = importlib.util.module_from_spec(s); s.loader.exec_module(m); return m + + +def main(): + assert __debug__, 'Assertions are required' + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--main', type=Path, required=True) + ap.add_argument('--pr635', type=Path, required=True) + ap.add_argument('--word-dir', type=Path, required=True, help='construction/reproduce.py --until word output') + ap.add_argument('--out', type=Path, required=True) + ap.add_argument('--control-g44', action='store_true', help='rebuild #645 gauge44 (4 triangles) instead; word only') + ap.add_argument('--skip-phases', action='store_true') + ap.add_argument('--word-only', action='store_true', help='stop after the pinned scalar word (input to construction/layers_np)') + a = ap.parse_args() + out = a.out.resolve(); assert not out.exists(); out.mkdir(parents=True) + up = a.pr635.resolve() / 'research/complex-571-cold14-st2' + src = a.main.resolve() / 'research/complex-k492-owner-repair/vendor/multicold' + base = src / 'vendor/pr558'; parent = base / 'vendor/pr552'; gk = parent / 'complex-local/static44/gk' + structural = a.main.resolve() / 'research/structural-gain/frontier-composition' + wd = a.word_dir.resolve() + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONUTF8='1', PYTHONINTMAXSTRDIGITS='0', + MULTICOLD_SOURCE=str(src), GAIN_PR564_SOURCE=str(src)) + for k in ('PYTHONOPTIMIZE', 'XPARAM', 'EXTRAH', 'PAIRING_RANKS', 'DIAG', 'HYBBUDGET'): env.pop(k, None) + steps = [] + + def run(label, script, *args): + t = time.monotonic() + with (out / (label + '.log')).open('w') as f: + rc = subprocess.call([sys.executable, '-B', str(src / 'code/run_portable.py'), str(script), *map(str, args)], + env=env, stdout=f, stderr=subprocess.STDOUT) + steps.append(dict(step=label, exit_code=rc, seconds=round(time.monotonic() - t, 3))) + (out / 'STEPS.json').write_text(json.dumps(steps, indent=2) + '\n') + assert rc == 0, label + print('PASS', label, flush=True) + + # 1. gauge-forward on the chosen K-triangle set + tri = read(up / 'data/TRI-SCHEDULE.json') + if not a.control_g44: + tri = dict(full_pairs=tri['full_pairs'], triangles=[]) + env['XPARAM'] = str(HERE / 'PRIO6.json') + (out / 'TRI.json').write_text(json.dumps(tri)) + raw = out / 'raw' + run('gauge-forward', HERE / 'cgx.py', wd / 'hamming', raw, out / 'TRI.json') + word = raw / 'FULL-WORD.json.gz' + # 2. port stages (same chain as reproduce.py) + chain = [parent / 'complex-local/static44/inputs/RAW504.json.gz', structural / 'global-replay/base/split-centres/FULL-WORD.json.gz', + wd / 'shadow-early/FULL-WORD.json.gz', structural / 'multicold-eight-word/FULL-WORD.json.gz', + wd / 'shadow-prefix/FULL-WORD.json.gz'] + for i, (b, c) in enumerate(zip(chain, chain[1:])): + t = out / ('port%d' % i) + run('port%d' % i, HERE / 'port_stage_x.py', '--shadow-input', b, '--shadow-output', c, '--input', word, + '--map', raw / 'HELPER-MAP.json', '--gk-dir', gk, '--out', t) + word = t / 'FULL-WORD.json.gz' + # 3. PR635 frame regroup where its `before` gate occurs + w = read(word); rg = {json.dumps(c['before']): c['after'] for c in read(up / 'data/recipes/k492-jp8-frame_regroup.json')['changes']} + n = 0 + for part in ('A', 'B'): + for i, e in enumerate(w[part]): + k = json.dumps(e) + if k in rg: w[part][i] = rg[k]; n += 1 + sys.path.insert(0, str(gk)); import gk_word as GW, gk_common as GC + GW.V = GC.V = 112; GW.DATA = GC.DATA = 7168 + H = GW.profile(w) + w['report'].update(local_profile={str(k): z for k, z in sorted(H.items()) if z}, local_rank_mass=sum(r * z for r, z in H.items())) + assert n == (24 if a.control_g44 else 0), ('regroup count', n) + dump(out / 'regroup/FULL-WORD.json.gz', w) + # 4. HPE: PR635's candidates, greedy with disjoint registers + h = load('upstream_hpe', up / 'code/build_hpe.py') + used, ch = set(), [] + for c in h.candidates(w): + rs = set(h.regs(w['cleanup'][c['cleanup_index']])) + if rs & used: continue + used |= rs; ch.append(c) + assert len(ch) == (34 if a.control_g44 else 46), ('hpe count', len(ch)) + (out / 'HPE-RECIPE.json').write_text(json.dumps(dict(changes=ch))) + w = h.apply(w, ch); dump(out / 'hpe/FULL-WORD.json.gz', w) + # 5. cold44 (generalised): helpers outside the 224+16b ranges join their blocks + hm = set(read(raw / 'HELPER-MAP.json')['map'].values()) + env['EXTRAH'] = json.dumps(sorted(set(range(224, 224 + w['report']['R'])) - hm)) + ranks = [2, 2, 2, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2] if a.control_g44 else [4] * 14 + env['PAIRING_RANKS'] = json.dumps(ranks) # cold44x asserts every block's pairing rank + run('cold44', HERE / 'cold44x.py', '--input', out / 'hpe/FULL-WORD.json.gz', '--out', out / 'cold44', + '--hamming', wd / 'hamming', '--upstream-package', up) + assert [b['pairing_rank'] for b in read(out / 'cold44/CONSTRUCTION.json')['blocks']] == ranks, 'pairing ranks' + word = out / 'cold44/FULL-WORD.json.gz'; w = read(word) + got = hashlib.sha256(enc(w)).hexdigest() + assert got == (G44_SHA if a.control_g44 else NOTRI_SHA), ('word', got) + rep = w['report'] + if a.control_g44: + print('PASS control: #645 gauge44 word reproduced', got, flush=True); return + assert rep['R'] == 504 and rep['local_rank_mass'] == 5674 + assert rep['local_profile'] == {'1': 2506, '2': 336, '3': 472, '4': 184, '5': 56, '8': 8}, rep['local_profile'] + assert rep['width_inventory'] == {'4': 64, '5': 48, '7': 46, '8': 114, '9': 232}, rep['width_inventory'] + print('PASS no-triangle scalar word', got, flush=True) + if a.word_only: + return + # 6. native locals (PR635, as in reproduce.py) + for k in ('XPARAM', 'EXTRAH', 'PAIRING_RANKS'): env.pop(k, None) + local = out / 'local' + run('native', up / 'code/hpe_audit_and_transport.py', '--raw', word, + '--routing', parent / 'complex-local/inputs/phase-baseline/CANONICAL-WORD.json.gz', '--out', local) + assert hashlib.sha256(gzip.decompress((local / 'CANONICAL-WORD.json.gz').read_bytes())).hexdigest() == CANONICAL_SHA, 'canonical word' + run('ledgers', up / 'code/hpe_emit_local.py', local) + run('local-replay', up / 'code/hpe_audit_local.py', local) + run('wrappers', up / 'code/hpe_adapters_local.py', local / 'CANONICAL-WORD.json.gz', + local / 'RESIDUAL-ADAPTERS.json', local / 'WRAPPER-CHECKS.json') + checks = read(local / 'LOCAL-CHECKS.json') + for o, s in PROGRAM_SHA.items(): assert checks[o]['sha256'] == s, ('local program', o) + if not a.skip_phases: + run('phases', base / 'code/phases_full.py', local, parent / 'complex-global/vendor531/vendor/clifford') + assert hashlib.sha256((local / 'CLIFFORD-RECIPES.json').read_bytes()).hexdigest() == CLIFFORD_SHA, 'clifford recipes' + print('DONE', local, flush=True) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-leaver/construction/promo/LOCAL-PINS-p6n-k4.json b/research/gauge44-leaver/construction/promo/LOCAL-PINS-p6n-k4.json new file mode 100644 index 0000000000..c43b391a43 --- /dev/null +++ b/research/gauge44-leaver/construction/promo/LOCAL-PINS-p6n-k4.json @@ -0,0 +1,11 @@ +{ + "word": "P6k4", + "layer_controls": 95, + "promo_controls": 11, + "canonical_sha256": "c0c5734a2eb6984ccd1e314dbcea2a6971b9708e5f611aa8912fcf47f02de61d", + "program_sha256": { + "forward": "6cfedac02e899df7fa50a3e38845982a4e9dbc866e9decc4052e011532bdb30f", + "backward": "207d9352aeea7d56a6da865745a1ad756e28531fbf9bcb0cd54950aac7270381" + }, + "clifford_recipes_sha256": "1c1d037d602b503b35f01a65d0ccc07ac63fde9df501b0a61e3e189a44a779de" +} diff --git a/research/gauge44-leaver/construction/promo/PROMO-RECIPE-p6n-k4.json b/research/gauge44-leaver/construction/promo/PROMO-RECIPE-p6n-k4.json new file mode 100644 index 0000000000..3f336c07ea --- /dev/null +++ b/research/gauge44-leaver/construction/promo/PROMO-RECIPE-p6n-k4.json @@ -0,0 +1,971 @@ +{ + "input_content_sha256": "34b683fa08f054fe725704ec15b1c8da42f846430999d14d0cae0fcd42296fe2", + "groups": [ + 627, + 629, + 630, + 631, + 635, + 637, + 638, + 639, + 651, + 653, + 654, + 655, + 659, + 661, + 662, + 663 + ], + "entrances": { + "627": [ + 408, + 80, + 40, + 6, + 1 + ], + "629": [ + 408, + 80, + 40, + 6, + 1 + ], + "630": [ + 408, + 80, + 40, + 6, + 1 + ], + "631": [ + 408, + 80, + 40, + 6, + 1 + ], + "635": [ + 272, + 144, + 96, + 6, + 1 + ], + "637": [ + 272, + 144, + 96, + 6, + 1 + ], + "638": [ + 272, + 144, + 96, + 6, + 1 + ], + "639": [ + 272, + 144, + 96, + 6, + 1 + ], + "651": [ + 390, + 68, + 34, + 24, + 1 + ], + "653": [ + 390, + 68, + 34, + 24, + 1 + ], + "654": [ + 390, + 68, + 34, + 24, + 1 + ], + "655": [ + 390, + 68, + 34, + 24, + 1 + ], + "659": [ + 298, + 170, + 102, + 30, + 1 + ], + "661": [ + 298, + 170, + 102, + 30, + 1 + ], + "662": [ + 298, + 170, + 102, + 30, + 1 + ], + "663": [ + 298, + 170, + 102, + 30, + 1 + ] + }, + "gate_frames": [ + [ + "B", + 420, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 421, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 422, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 423, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 424, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 425, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 426, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 427, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 428, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 429, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 430, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 431, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 432, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 433, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 434, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 435, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 436, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 437, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 438, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 439, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 440, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 441, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 442, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 443, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 444, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 445, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 446, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 447, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 448, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 449, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 450, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 451, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 452, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 453, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 454, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 455, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 456, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 457, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 458, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 459, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 460, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 461, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 462, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 463, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 464, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 465, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 466, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 467, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ] + ], + "expected": { + "output_content_sha256": "0390ec65dc4d47df1887aabdc2ec5b6ddea3cfc8e65582873fdfeba81d100073", + "local_profile": { + "1": 2572, + "2": 326, + "3": 430, + "4": 194, + "5": 56, + "8": 8 + }, + "width_inventory": { + "4": 80, + "5": 32, + "7": 54, + "8": 122, + "9": 216 + } + } +} \ No newline at end of file diff --git a/research/gauge44-leaver/construction/promo/build_promotion.py b/research/gauge44-leaver/construction/promo/build_promotion.py new file mode 100644 index 0000000000..f1daad34c2 --- /dev/null +++ b/research/gauge44-leaver/construction/promo/build_promotion.py @@ -0,0 +1,109 @@ +"""Entrance promotions E4 -> E5 of whole kernel groups: deterministic constructor. Apache-2.0. +BlockInvert (Claude Code research agent) for the gauge44 lineage. + +usage: build_promotion.py --input FULL-WORD.json.gz --recipe PROMO-RECIPE.json --out DIR + +The recipe is data only: + input_content_sha256 sha256 of the decompressed input word (pinned); + entrances {helper: frame vectors}: new start frames (each strictly contains the old one); + gate_frames [[section, index, old frame, new frame], ...]: section 'A' / 'B' (main gates) or 'T' + (early_cleanup entry index); the old frame must match the input exactly (as a span); + expected output_content_sha256, local_profile, width_inventory. +The scalar program is unchanged (only frame annotations and start frames move), so the endpoint, the +zero-target-response entrance condition and every cone are those of the input; the independent audit +(audit_local.py) re-checks all of them, plus monotone chains and the recomputed profile/widths.""" +import argparse, gzip, hashlib, json +from collections import Counter +from pathlib import Path + + +def span(vs): + p = {} + for x in vs: + for k in sorted(p, reverse=True): + if x >> k & 1: x ^= p[k] + if x: + k = x.bit_length() - 1 + for j in list(p): + if p[j] >> k & 1: p[j] ^= x + p[k] = x + return tuple(p[k] for k in sorted(p, reverse=True)) + + +def regs(e): return [e[1]] + ([e[2]] if e[0] == 'add' else []) + + +def chain_profile(w): + """paid climbs of the A, B, early-tail and final chains, target ends included (centre descents unchanged, not counted).""" + v, R = w['report']['v'], w['report']['R']; n = 2*v + R + cur = [() for _ in range(n)] + for i, p in enumerate(w['ports']): cur[i] = span([p]) + for r, f in w.get('start_extra', {}).items(): cur[int(r)] = span(f) + prof = Counter() + + def climb(r, F): + assert span(list(cur[r]) + list(F)) == F, ('nonmonotone', r) + if len(F) > len(cur[r]): prof[len(F) - len(cur[r])] += 1 + cur[r] = F + for part in ('A', 'B'): + for e in w[part]: + for r in regs(e): climb(r, span(e[-1])) + for i, f in w.get('early_cleanup', []): + for r in regs(w['cleanup'][i]): climb(r, span(f)) + full = span([1 << i for i in range(9)]) + final = {int(r): span(f) for r, f in w.get('helper_final', {}).items()} + for r in range(n): + if v <= r < 2*v: # targets end at their port hyperplane (as in the independent audit); counted on both sides + climb(r, span([x for x in range(1, 512) if (x & w['ports'][r - v]).bit_count() % 2 == 0])); continue + climb(r, final.get(r, full)) + return prof + + +def widths(w): + v, R = w['report']['v'], w['report']['R']; full = [1 << i for i in range(9)] + return Counter(len(span(w['helper_final'].get(str(r), full))) - len(span(w['start_extra'].get(str(r), []))) + for r in range(2*v, 2*v + R)) + + +def apply(w, r): + nw = json.loads(json.dumps(w)) + for h, F in r['entrances'].items(): + assert h in nw['start_extra'], ('not an entering helper', h) + old, new = span(nw['start_extra'][h]), span(F) + assert len(new) > len(old) and span(list(old) + list(new)) == new, ('not a promotion', h) + nw['start_extra'][h] = list(new) + for sec, i, old, new in r['gate_frames']: + if sec in ('A', 'B'): + assert span(nw[sec][i][-1]) == span(old), ('gate frame mismatch', sec, i) + nw[sec][i][-1] = list(span(new)) + else: + assert sec == 'T' and span(nw['early_cleanup'][i][1]) == span(old), ('tail frame mismatch', i) + nw['early_cleanup'][i][1] = list(span(new)) + old_prof, new_prof = chain_profile(w), chain_profile(nw) + lp = Counter({int(k): c for k, c in w['report']['local_profile'].items()}); lp.subtract(old_prof); lp.update(new_prof) + assert min(lp.values()) >= 0 + inv = widths(nw) + rep = dict(w['report']) + rep['local_profile'] = {str(k): c for k, c in sorted(lp.items()) if c} + rep['local_rank_mass'] = sum(k*c for k, c in lp.items()) + rep['width_inventory'] = {str(k): c for k, c in sorted(inv.items()) if c} + nw['report'] = rep + return nw + + +if __name__ == '__main__': + ap = argparse.ArgumentParser(); ap.add_argument('--input', type=Path, required=True) + ap.add_argument('--recipe', type=Path, required=True); ap.add_argument('--out', type=Path, required=True) + a = ap.parse_args() + raw = gzip.decompress(a.input.read_bytes()); r = json.loads(a.recipe.read_text()) + assert hashlib.sha256(raw).hexdigest() == r['input_content_sha256'], 'input word pin' + nw = apply(json.loads(raw), r) + data = json.dumps(nw, separators=(',', ':')).encode() + x = r['expected'] + assert nw['report']['local_profile'] == x['local_profile'], 'profile pin' + assert nw['report']['width_inventory'] == x['width_inventory'], 'width pin' + assert hashlib.sha256(data).hexdigest() == x['output_content_sha256'], 'output word pin' + a.out.mkdir(parents=True, exist_ok=True) + (a.out / 'FULL-WORD.json.gz').write_bytes(gzip.compress(data, mtime=0)) + print('PASS', len(r['entrances']), 'promoted entrances;', len(r['gate_frames']), 'gate frames;', + 'profile', x['local_profile'], 'sha', x['output_content_sha256']) diff --git a/research/gauge44-leaver/construction/promo/make_recipe.py b/research/gauge44-leaver/construction/promo/make_recipe.py new file mode 100644 index 0000000000..618d609453 --- /dev/null +++ b/research/gauge44-leaver/construction/promo/make_recipe.py @@ -0,0 +1,12 @@ +"""make_recipe.py BASEWORD SOLUTION.json BUILTWORD OUT: discovery-side recipe writer (CP-SAT solution -> data recipe).""" +import sys, json, gzip, hashlib +base = gzip.decompress(open(sys.argv[1], 'rb').read()); s = json.load(open(sys.argv[2])) +built = gzip.decompress(open(sys.argv[3], 'rb').read()); bw = json.loads(built) +key = {'A': 0, 'B': 1, 'T': 2} +r = dict(input_content_sha256=hashlib.sha256(base).hexdigest(), + groups=sorted(int(h) for h in s['newstarts']), + entrances={h: s['newstarts'][h] for h in sorted(s['newstarts'], key=int)}, + gate_frames=sorted(s['changed'], key=lambda c: (key[c[0]], c[1])), + expected=dict(output_content_sha256=hashlib.sha256(built).hexdigest(), + local_profile=bw['report']['local_profile'], width_inventory=bw['report']['width_inventory'])) +json.dump(r, open(sys.argv[4], 'w'), indent=1) diff --git a/research/gauge44-leaver/construction/promo/promo_controls.py b/research/gauge44-leaver/construction/promo/promo_controls.py new file mode 100644 index 0000000000..20ee51f7db --- /dev/null +++ b/research/gauge44-leaver/construction/promo/promo_controls.py @@ -0,0 +1,115 @@ +"""Promotion controls: mutate the promoted word / recipe and require rejection at a pinned site. Apache-2.0. +BlockInvert (Claude Code research agent). + +usage: promo_controls.py --input BASE-FULL-WORD.json.gz --recipe PROMO-RECIPE.json --audit audit_local.py --out CONTROLS.json + +Word-level mutants are checked by the independent audit (audit_local.py, imported from the given path; it shares no +code with the constructor); recipe-level mutants by build_promotion.apply / its pins. Each mutant must raise with the +pinned message prefix; the honest word must pass both.""" +import argparse, gzip, hashlib, importlib.util, json, sys, tempfile +from pathlib import Path +sys.path.insert(0, str(Path(__file__).resolve().parent)) +import build_promotion as B + +ap = argparse.ArgumentParser() +for k in ('input', 'recipe', 'audit', 'out'): ap.add_argument('--' + k, type=Path, required=True) +a = ap.parse_args() +s = importlib.util.spec_from_file_location('audit_local', a.audit); AL = importlib.util.module_from_spec(s); s.loader.exec_module(AL) +raw = gzip.decompress(a.input.read_bytes()); base = json.loads(raw); r = json.loads(a.recipe.read_text()) +assert hashlib.sha256(raw).hexdigest() == r['input_content_sha256'] +honest = B.apply(base, r) +v = base['report']['v'] +tmp = Path(tempfile.mkdtemp()) + + +def audit(w): + p = tmp / 'w.json.gz'; p.write_bytes(gzip.compress(json.dumps(w, separators=(',', ':')).encode(), mtime=0)) + import io, contextlib + with contextlib.redirect_stdout(io.StringIO()): + AL.run(p, tmp / 'r.json') + + +def first_gate(w, h): + for sec in ('A', 'B'): + for i, e in enumerate(w[sec]): + if h in B.regs(e): return sec, i + raise AssertionError(h) + + +results = [] + + +def expect(name, fn, prefix): + try: + fn(); got = 'ACCEPTED' + except (RuntimeError, AssertionError) as e: + got = str(e.args[0]) if e.args else type(e).__name__ + ok = got.startswith(prefix) + results.append(dict(control=name, expected=prefix, got=got[:160], rejected_at_pinned_site=ok)) + print(('OK ' if ok else 'BAD ') + name + ': ' + got[:120], flush=True) + + +# honest +audit(honest); print('honest word: audit PASS', flush=True) +H = sorted(int(h) for h in r['entrances']) +h0 = str(H[0]); E5 = B.span(r['entrances'][h0]); sec, i = first_gate(honest, int(h0)); F1 = B.span(honest[sec][i][-1]) +full = B.span([1 << k for k in range(9)]) + + +def mut(f): + w = json.loads(json.dumps(honest)); f(w); return w + + +# 1. promoted entrance moved to a dim-5 frame NOT inside its first gate frame +def bad_entrance(w): + for x in range(1, 512): + G = B.span(list(B.span(base['start_extra'][h0])) + [x]) + if len(G) == 5 and B.span(list(G) + list(F1)) != F1: + w['start_extra'][h0] = list(G); return + raise AssertionError('no frame') +expect('entrance_outside_first_gate_frame', lambda: audit(mut(bad_entrance)), 'frame not monotone') +# 2. a raised gauge gate of a promoted helper left at its old (E4) frame +old_of = {(c[0], c[1]): c[2] for c in r['gate_frames']} +assert (sec, i) in old_of, 'first gate of a promoted helper is a raised gate' +expect('raised_gate_missing', lambda: audit(mut(lambda w: w[sec][i].__setitem__(-1, list(B.span(old_of[(sec, i)]))))), 'frame not monotone') +# 2b. per promoted group: its first helper's raised entry gate left at the old frame +for hg in H[4::4]: + sg, ig = first_gate(honest, hg) + if (sg, ig) in old_of: + expect('raised_gate_missing_group_%d' % hg, lambda sg=sg, ig=ig: audit(mut(lambda w: w[sg][ig].__setitem__(-1, list(B.span(old_of[(sg, ig)]))))), 'frame not monotone') +# 3. every raised gate kept but one entrance reverted to E4 (report kept): the paid profile no longer matches +expect('entrance_reverted_profile', lambda: audit(mut(lambda w: w['start_extra'].__setitem__(h0, list(B.span(base['start_extra'][h0]))))), 'paid profile mismatch') +# 4. an E4 helper outside the promoted groups promoted alone (no raised gates) +others = sorted(int(h) for h, f in base['start_extra'].items() if len(B.span(f)) == 4 and h not in r['entrances']) +if others: + h1 = str(others[0]) + expect('ungrouped_promotion', lambda: audit(mut(lambda w: w['start_extra'].__setitem__(h1, list(E5)))), 'frame not monotone') +# 5. recipe-level: wrong old frame for a raised gate; non-promotion entrance; input pin +def r_bad_old(): + q = json.loads(json.dumps(r)); q['gate_frames'][0][2] = list(full); B.apply(base, q) +expect('recipe_gate_old_frame', r_bad_old, "('gate frame mismatch'" if r['gate_frames'][0][0] != 'T' else "('tail frame mismatch'") +def r_demote(): + q = json.loads(json.dumps(r)); q['entrances'][h0] = base['start_extra'][h0]; B.apply(base, q) +expect('recipe_not_a_promotion', r_demote, "('not a promotion'") +def r_pin(): # the driver's own __main__ path on a tampered input word (one gate scalar changed) + import subprocess + t = json.loads(raw); e = t['B'][0] + if e[0] == 'add': e[3] += e[4] + else: e[2] = -e[2] + p = tmp / 'tampered.json.gz'; p.write_bytes(gzip.compress(json.dumps(t, separators=(',', ':')).encode(), mtime=0)) + q = subprocess.run([sys.executable, '-B', str(Path(B.__file__)), '--input', str(p), '--recipe', str(a.recipe), '--out', str(tmp / 'o')], + capture_output=True, text=True) + assert q.returncode == 0, q.stderr.strip().splitlines()[-1].split('AssertionError: ', 1)[-1] +expect('recipe_input_pin', r_pin, 'input word pin') +# 6. scalar tamper inside a promoted group's raised gate (frames intact): exactness must fail +def scal(w): + e = w[sec][i] + if e[0] == 'add': e[3] = e[3] + e[4] + else: e[2] = -e[2] +expect('raised_gate_scalar_tamper', lambda: audit(mut(scal)), '') +results[-1]['rejected_at_pinned_site'] = results[-1]['got'] != 'ACCEPTED' +bad = [x for x in results if not x['rejected_at_pinned_site']] +a.out.write_text(json.dumps(dict(recipe=r['expected']['output_content_sha256'], honest='PASS', controls=results, + rejected=len(results) - len(bad)), indent=1)) +assert not bad, bad +print('PASS', len(results), 'controls rejected at pinned sites') diff --git a/research/gauge44-leaver/construction/promo/reproduce_promo.py b/research/gauge44-leaver/construction/promo/reproduce_promo.py new file mode 100644 index 0000000000..6e04aa71b1 --- /dev/null +++ b/research/gauge44-leaver/construction/promo/reproduce_promo.py @@ -0,0 +1,99 @@ +#!/usr/bin/env python3 +"""Rebuild a promoted no-triangle layered word (entrance promotions E4 -> E5) and its native locals. + +Input (--base): `np` = a fresh `construction/layers_np/reproduce_np.py` output (word a9de804f...), or `p6n` = a fresh +`construction/layers_p6n/reproduce_p6n.py` output (word 34b683fa...). Recipe k: PROMO-RECIPE-.json (BlockInvert; +data only; it pins its input word) and LOCAL-PINS-.json. Steps, each +checked exactly: + 1. promotion: BlockInvert's build_promotion.py. It pins the input word and the recipe's output sha, profile and + widths; every old frame must match the input; only frame annotations and start frames move (no scalar change). + 2. promo-controls: BlockInvert's promo_controls.py. The honest word must pass #645's independent audit_local.py, + and its recipe- and word-level mutants must be rejected at their pinned sites (count pinned in LOCAL-PINS). + 3. layer-end-controls on the promoted word, pinned count: ../layers/layer_end_controls.py (LayerReviewer-signed) for + base np; ../layers_p6n/layer_end_controls.py (Q6Reviewer-signed per-end variant) for base p6n. + 4. native, ledgers, local-replay, wrappers, phases: PR635's native local programs; the canonical word, local + programs and Clifford recipes are pinned (LOCAL-PINS). +Moving to another recipe k is a recipe and pins swap; this driver does not change. +Apache-2.0. Driver by ColdWitness around BlockInvert's constructor and controls. +""" +import argparse, gzip, hashlib, json, os, subprocess, sys, time +from pathlib import Path + +HERE = Path(__file__).resolve().parent +PKG = HERE.parents[1] +LAYERS = HERE.parent / 'layers' +BASES = {'np': ('layers/FULL-WORD.json.gz', 'a9de804f194eeb39f52a4c6e54c14d93e881bec4b632694249733ed410b58113'), + 'p6n': ('p6n/FULL-WORD.json.gz', '34b683fa08f0')} # p6n: prefix; full pin is the p6n recipe's output sha + + +def read(p): + raw = Path(p).read_bytes() + return json.loads(gzip.decompress(raw) if str(p).endswith('.gz') else raw) + + +def main(): + assert __debug__, 'Assertions are required' + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--main', type=Path, required=True) + ap.add_argument('--pr635', type=Path, required=True) + ap.add_argument('--base', choices=sorted(BASES), default='p6n') + ap.add_argument('--base-dir', type=Path, required=True, help='reproduce_np.py (np) or reproduce_p6n.py (p6n) output') + ap.add_argument('--k', default='p6n-k4', help='recipe id (PROMO-RECIPE-.json)') + ap.add_argument('--out', type=Path, required=True) + ap.add_argument('--skip-phases', action='store_true') + a = ap.parse_args() + out = a.out.resolve(); assert not out.exists(); out.mkdir(parents=True) + up = a.pr635.resolve() / 'research/complex-571-cold14-st2' + src = a.main.resolve() / 'research/complex-k492-owner-repair/vendor/multicold' + base = src / 'vendor/pr558'; parent = base / 'vendor/pr552' + recipe = HERE / ('PROMO-RECIPE-%s.json' % a.k); pins = read(HERE / ('LOCAL-PINS-%s.json' % a.k)) + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONUTF8='1', PYTHONINTMAXSTRDIGITS='0', + MULTICOLD_SOURCE=str(src), GAIN_PR564_SOURCE=str(src)) + for k in ('PYTHONOPTIMIZE', 'XPARAM', 'EXTRAH', 'PAIRING_RANKS', 'DIAG', 'HYBBUDGET', 'PR635_CODE'): env.pop(k, None) + steps = [] + + def run(label, script, *args, portable=True): + t = time.monotonic() + cmd = [sys.executable, '-B'] + ([str(src / 'code/run_portable.py')] if portable else []) + [str(script), *map(str, args)] + with (out / (label + '.log')).open('w') as f: + rc = subprocess.call(cmd, env=env, stdout=f, stderr=subprocess.STDOUT) + steps.append(dict(step=label, exit_code=rc, seconds=round(time.monotonic() - t, 3))) + (out / 'STEPS.json').write_text(json.dumps(steps, indent=2) + '\n') + assert rc == 0, label + print('PASS', label, flush=True) + + rel, pin = BASES[a.base]; inp = a.base_dir.resolve() / rel + got = hashlib.sha256(gzip.decompress(inp.read_bytes())).hexdigest() + assert got.startswith(pin) and got == read(recipe)['input_content_sha256'], ('input must be the pinned base word', a.base, got) + if a.base == 'p6n': + assert got == read(HERE.parent / 'layers_p6n/COLD-LAYERS-RECIPE-P6N.json.gz')['output_content_sha256'] + run('promotion', HERE / 'build_promotion.py', '--input', inp, '--recipe', recipe, '--out', out / 'promo', portable=False) + word = out / 'promo/FULL-WORD.json.gz' + assert hashlib.sha256(gzip.decompress(word.read_bytes())).hexdigest() == read(recipe)['expected']['output_content_sha256'] + run('promo-controls', HERE / 'promo_controls.py', '--input', inp, '--recipe', recipe, + '--audit', PKG / 'independent/audit_local.py', '--out', out / 'PROMO-CONTROLS.json', portable=False) + pc = read(out / 'PROMO-CONTROLS.json'); assert pc['honest'] == 'PASS' and pc['rejected'] == pins['promo_controls'], pc['rejected'] + routing = parent / 'complex-local/inputs/phase-baseline/CANONICAL-WORD.json.gz' + env['PR635_CODE'] = str(up / 'code') + ctlpy = (HERE.parent / 'layers_p6n/layer_end_controls.py') if a.base == 'p6n' else (LAYERS / 'layer_end_controls.py') + run('layer-end-controls', ctlpy, word, routing, out / 'controls') + env.pop('PR635_CODE') + ctl = read(out / 'controls/COLD-END-CONTROLS.json') + assert ctl['status'] == 'PASS_COLD_END_RAW_WORD_CONTROLS' and len(ctl['rejected']) == pins['layer_controls'], len(ctl['rejected']) + local = out / 'local' + run('native', up / 'code/hpe_audit_and_transport.py', '--raw', word, '--routing', routing, '--out', local) + assert hashlib.sha256(gzip.decompress((local / 'CANONICAL-WORD.json.gz').read_bytes())).hexdigest() == pins['canonical_sha256'], 'canonical word' + run('ledgers', up / 'code/hpe_emit_local.py', local) + run('local-replay', up / 'code/hpe_audit_local.py', local) + run('wrappers', up / 'code/hpe_adapters_local.py', local / 'CANONICAL-WORD.json.gz', + local / 'RESIDUAL-ADAPTERS.json', local / 'WRAPPER-CHECKS.json') + checks = read(local / 'LOCAL-CHECKS.json') + for o, s in pins['program_sha256'].items(): assert checks[o]['sha256'] == s, ('local program', o) + if not a.skip_phases: + run('phases', base / 'code/phases_full.py', local, parent / 'complex-global/vendor531/vendor/clifford') + assert hashlib.sha256((local / 'CLIFFORD-RECIPES.json').read_bytes()).hexdigest() == pins['clifford_recipes_sha256'], 'clifford recipes' + print('DONE', local, flush=True) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-leaver/construction/reproduce.py b/research/gauge44-leaver/construction/reproduce.py new file mode 100644 index 0000000000..8b51efa646 --- /dev/null +++ b/research/gauge44-leaver/construction/reproduce.py @@ -0,0 +1,194 @@ +#!/usr/bin/env python3 +"""Rebuild the frozen gauge44 delta from two pinned upstream checkouts. + +Prepared for icekylinx with OpenAI GPT-6 Astra assistance. Apache-2.0. +This driver calls the credited upstream constructors unchanged; it runs no +search or optimizer. See ../CONSTRUCTION.md and INPUTS.json. +""" +import argparse +import gzip +import hashlib +import importlib.util +import json +import os +from pathlib import Path +import shutil +import subprocess +import sys +import time + +HERE = Path(__file__).resolve().parent + + +def read(path): + raw = path.read_bytes() + return json.loads(gzip.decompress(raw) if path.suffix == '.gz' else raw) + + +def sha(path, content=False): + raw = path.read_bytes() + if content and path.suffix == '.gz': + raw = gzip.decompress(raw) + return hashlib.sha256(raw).hexdigest() + + +def dump(path, value): + path.parent.mkdir(parents=True, exist_ok=True) + raw = json.dumps(value, sort_keys=True, separators=(',', ':')).encode() + path.write_bytes(gzip.compress(raw, mtime=0) if path.suffix == '.gz' else raw) + + +def load_module(name, path): + spec = importlib.util.spec_from_file_location(name, path) + module = importlib.util.module_from_spec(spec) + spec.loader.exec_module(module) + return module + + +def main(): + assert __debug__, 'Assertions are required; do not use python -O.' + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--main', type=Path, required=True, + help='integer-mult-bounds checkout at the pinned main commit') + parser.add_argument('--pr635', type=Path, required=True, + help='integer-mult-bounds checkout at the pinned PR635 commit') + parser.add_argument('--out', type=Path, required=True, + help='new output directory outside both checkouts') + parser.add_argument('--until', choices=('word', 'local', 'phases'), default='word', + help='default: scalar constructor only; local adds exact native replay and wrappers') + parser.add_argument('--frozen-cold', action='store_true', + help='splice the pinned cold recipe instead of deriving its exact Q/T matrices again') + args = parser.parse_args() + roots = {'main': args.main.resolve(), 'pr635': args.pr635.resolve(), 'delta': HERE} + out = args.out.resolve() + assert not out.exists(), 'Use a new output directory.' + assert not any(out.is_relative_to(root) for root in roots.values()) + pins = read(HERE / 'INPUTS.json') + for family, files in pins['files'].items(): + for relative, expected in files.items(): + path = roots[family] / relative + assert sha(path) == expected, ('input pin', family, relative) + out.mkdir(parents=True) + upstream = roots['pr635'] / 'research/complex-571-cold14-st2' + source = roots['main'] / 'research/complex-k492-owner-repair/vendor/multicold' + joint = source.parent / 'joint_prefix' + base = source / 'vendor/pr558' + parent = base / 'vendor/pr552' + gk = parent / 'complex-local/static44/gk' + hamming = source.parent / 'direct_delivery/inputs/hamming' + structural = roots['main'] / 'research/structural-gain/frontier-composition' + runner = source / 'code/run_portable.py' + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONUTF8='1', + PYTHONINTMAXSTRDIGITS='0', MULTICOLD_SOURCE=str(source), + GAIN_PR564_SOURCE=str(source)) + env.pop('PYTHONOPTIMIZE', None) + records = [] + + def run(label, script, *arguments): + start = time.monotonic() + log = out / (label + '.log') + print('RUN', label, flush=True) + with log.open('w', encoding='utf-8') as stream: + result = subprocess.run([sys.executable, '-B', str(runner), str(script), + *map(str, arguments)], env=env, stdout=stream, + stderr=subprocess.STDOUT) + records.append({'step': label, 'exit_code': result.returncode, + 'seconds': round(time.monotonic() - start, 3)}) + (out / 'STEPS.json').write_text(json.dumps(records, indent=2) + '\n') + if result.returncode: + raise RuntimeError(label + '\n' + log.read_text()[-6000:]) + print('PASS', label, flush=True) + + def check_word(label, path): + assert sha(path, content=True) == pins['word_content_sha256'][label], ('step pin', label) + return path + + raw504 = parent / 'complex-local/static44/inputs/RAW504.json.gz' + promoted = structural / 'global-replay/base/split-centres/FULL-WORD.json.gz' + multi = structural / 'multicold-eight-word/FULL-WORD.json.gz' + early = out / 'shadow-early' + run('shadow-early', source / 'code/build_cold_kernel.py', '--input', promoted, + '--recipe', source / 'data/EIGHT-COLD.json', '--gk-dir', gk, '--out', early) + early_word = check_word('shadow-early', early / 'FULL-WORD.json.gz') + prefix = out / 'shadow-prefix' + run('shadow-prefix', joint / 'code/build_joint_prefix.py', '--input', multi, + '--recipe', joint / 'data/JOINT-PREFIX.json', '--variant', 'eightcold', + '--gk-dir', gk, '--out', prefix) + prefix_word = check_word('shadow-prefix', prefix / 'FULL-WORD.json.gz') + + inputs = out / 'hamming' + inputs.mkdir() + for name in ('PROTOTYPE.json', 'PACKET-PROGRAMS.json.gz'): + shutil.copyfile(hamming / name, inputs / name) + shutil.copyfile(HERE / 'COMPLETION-PRIORITY.json', inputs / 'COMPLETION-PRIORITY.json') + raw = out / 'raw' + run('gauge-forward', HERE / 'construct_gauge_xcentre.py', inputs, raw, + upstream / 'data/TRI-SCHEDULE.json') + word = check_word('raw', raw / 'FULL-WORD.json.gz') + assert sha(raw / 'HELPER-MAP.json') == pins['helper_map_sha256'] + chain = [raw504, promoted, early_word, multi, prefix_word] + for i, (before, after) in enumerate(zip(chain, chain[1:])): + target = out / ('port' + str(i)) + run('port' + str(i), upstream / 'code/build_port_stage.py', + '--shadow-input', before, '--shadow-output', after, '--input', word, + '--map', raw / 'HELPER-MAP.json', '--gk-dir', gk, '--out', target) + word = check_word('port' + str(i), target / 'FULL-WORD.json.gz') + + changed = read(word) + regroup = read(upstream / 'data/recipes/k492-jp8-frame_regroup.json') + # The inherited changes are B-only and are checked against the actual new gates. + for edit in regroup['changes']: + assert changed[edit['section']][edit['index']] == edit['before'] + changed[edit['section']][edit['index']] = edit['after'] + changed['report'].update(local_profile=regroup['after'], + local_rank_mass=sum(int(r)*n for r, n in regroup['after'].items())) + word = out / 'regroup/FULL-WORD.json.gz' + dump(word, changed) + check_word('regroup', word) + hpe = load_module('upstream_hpe', upstream / 'code/build_hpe.py') + changed = hpe.apply(changed, read(upstream / 'data/recipes/k492-jp8-hyperplane_end.json')['changes']) + word = out / 'hpe/FULL-WORD.json.gz' + dump(word, changed) + check_word('hpe', word) + + target = out / 'cold44' + if args.frozen_cold: + cold = load_module('upstream_cold', upstream / 'code/build_cold_end.py') + changed = cold.apply(changed, read(HERE / 'COLD44-RECIPE.json.gz')) + # Match the exact constructor's descriptive status; this is not an audit assertion. + changed['report']['status'] = 'EXACT_COLD44_CONSTRUCTED_PENDING_INDEPENDENT_AUDIT' + dump(target / 'FULL-WORD.json.gz', changed) + else: + run('cold44-exact', HERE / 'build_gauge_cold44.py', '--input', word, + '--out', target, '--hamming', inputs, '--upstream-package', upstream) + assert read(target / 'RECIPE.json.gz') == read(HERE / 'COLD44-RECIPE.json.gz') + word = check_word('cold44', target / 'FULL-WORD.json.gz') + report = read(word)['report'] + assert report['local_rank_mass'] == 5650 + assert report['local_profile'] == {'1': 2514, '2': 404, '3': 448, '4': 160, '5': 56, '8': 8} + assert report['width_inventory'] == {'4': 52, '5': 48, '7': 34, '8': 114, '9': 244} + print('PASS exact frozen scalar word', word, flush=True) + if args.until == 'word': + return + + local = out / 'local' + routing = parent / 'complex-local/inputs/phase-baseline/CANONICAL-WORD.json.gz' + run('native', upstream / 'code/hpe_audit_and_transport.py', '--raw', word, + '--routing', routing, '--out', local) + assert sha(local / 'CANONICAL-WORD.json.gz', content=True) == pins['canonical_content_sha256'] + run('ledgers', upstream / 'code/hpe_emit_local.py', local) + run('local-replay', upstream / 'code/hpe_audit_local.py', local) + run('wrappers', upstream / 'code/hpe_adapters_local.py', local / 'CANONICAL-WORD.json.gz', + local / 'RESIDUAL-ADAPTERS.json', local / 'WRAPPER-CHECKS.json') + checks = read(local / 'LOCAL-CHECKS.json') + for orientation, expected in pins['local_program_sha256'].items(): + assert checks[orientation]['sha256'] == expected + if args.until == 'phases': + clifford = parent / 'complex-global/vendor531/vendor/clifford' + run('phases', base / 'code/phases_full.py', local, clifford) + assert sha(local / 'CLIFFORD-RECIPES.json') == pins['clifford_recipes_sha256'] + print('DONE', local, flush=True) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-leaver/construction/sw4/LOCAL-PINS-sw4-P6k4.json b/research/gauge44-leaver/construction/sw4/LOCAL-PINS-sw4-P6k4.json new file mode 100644 index 0000000000..ae26a0f2f1 --- /dev/null +++ b/research/gauge44-leaver/construction/sw4/LOCAL-PINS-sw4-P6k4.json @@ -0,0 +1,11 @@ +{ + "word": "P6k4sw4", + "sw4_controls": 4, + "layer_controls": 95, + "canonical_sha256": "5f5f163e43e8c21c16e2f10aef0078131d127a1ccacc39e0238d111fbd29f195", + "program_sha256": { + "forward": "36e75fc972766fa42f1b371a055e74976a165c894b816911c3510a88b431ea09", + "backward": "3176ccde98d90e754105e60096598fee348e2455e046290d3674b79dd6b402df" + }, + "clifford_recipes_sha256": "202eeaf5fac0c801b98811c1e140fd0af443090d7f7e05c7b55a4ddc6f6acdab" +} diff --git a/research/gauge44-leaver/construction/sw4/NOTES.md b/research/gauge44-leaver/construction/sw4/NOTES.md new file mode 100644 index 0000000000..2a53ffb3b8 --- /dev/null +++ b/research/gauge44-leaver/construction/sw4/NOTES.md @@ -0,0 +1,21 @@ +# SW4: read-set exchange on 4 entering-copy pairs + +- **Input.** P6k3, sha a38bb414. +- **Output.** sha f35a852b. Strict PASS at κ 0.001659645685315104, which is +3.267e-7 over P6k3 and equal to the ideal. +- **Width.** W 3782 is unchanged, as are start_extra, helper_final, cleanup and the helper numbering. +- **Rebuild.** `python build_sw4.py INPUT OUT [SW4-RECIPE.json]`. It is a deterministic apply of the 16 explicit moves, with 4 pinned controls: C0 (identity), N1 (keeping the pre-read is rejected), N2 (a partial exchange is rejected) and N3 (a wrong-sign pre-read is rejected). + +## Move +For each pair (h,r) in {(461,25), (581,89), (591,415), (603,431)}, where h = E_h + r after h's copy gate: +- every post-copy target read of h becomes a read of r, and that target's entrance pre-read of h is deleted; +- every target read of r becomes a read of h, with the pre-read add(t,h,−c) inserted after h's last pre-read, while h = E_h. + +The B-end state of every register is unchanged (checked mod p). + +## How exhaustive the search was +These 4 are the only positives within an exactly defined family. +- **Copy pair.** h is an entering helper whose first B write is add(h,r,1/1) from a non-target r, and whose only earlier B gates are single target pre-reads. NP has 107 such pairs. +- **Candidates.** Every nonempty subset of one pair's movable reads (target reads of h or r between the copy and the next write of h or r), with all other pairs left unchanged. That is 602 candidates over the 54 pairs that have reads. +- **Outcome.** 564 are frame-illegal. The 38 legal ones are all full single-pair exchanges, and only these 4 are positive. Their gains are additive. + +**What is not covered.** Cross-pair combinations of partial moves were not enumerated. Without a decomposition proof (moves can shrink as well as grow target frames), the result is exhaustive only within this single-pair family. diff --git a/research/gauge44-leaver/construction/sw4/SW4-RECIPE-P6k4.json b/research/gauge44-leaver/construction/sw4/SW4-RECIPE-P6k4.json new file mode 100644 index 0000000000..b9dea4152a --- /dev/null +++ b/research/gauge44-leaver/construction/sw4/SW4-RECIPE-P6k4.json @@ -0,0 +1,314 @@ +{ + "name": "SW4", + "description": "BRoute read-set exchange on entering-copy pairs (h,r); indices refer to the input word B section", + "input_sha256": "0390ec65dc4d47df1887aabdc2ec5b6ddea3cfc8e65582873fdfeba81d100073", + "output_sha256": "d232183f233899961bf55cac67a18545ed33548d9a7ca7078990d1a83d557c59", + "pairs": { + "461": 25, + "581": 89, + "591": 415, + "603": 431 + }, + "moves": [ + { + "kind": "h2r", + "h": 461, + "r": 25, + "read_index": 856, + "target": 168, + "coef": [ + -1, + 2 + ], + "delete_preread_index": 27 + }, + { + "kind": "h2r", + "h": 461, + "r": 25, + "read_index": 1208, + "target": 128, + "coef": [ + -1, + 2 + ], + "delete_preread_index": 26 + }, + { + "kind": "r2h", + "h": 461, + "r": 25, + "read_index": 873, + "target": 129, + "coef": [ + -1, + 2 + ], + "insert_preread_before": 28, + "preread": [ + "add", + 129, + 461, + 1, + 2 + ] + }, + { + "kind": "r2h", + "h": 461, + "r": 25, + "read_index": 1193, + "target": 169, + "coef": [ + -1, + 2 + ], + "insert_preread_before": 28, + "preread": [ + "add", + 169, + 461, + 1, + 2 + ] + }, + { + "kind": "h2r", + "h": 581, + "r": 89, + "read_index": 860, + "target": 171, + "coef": [ + -1, + 2 + ], + "delete_preread_index": 58 + }, + { + "kind": "h2r", + "h": 581, + "r": 89, + "read_index": 1288, + "target": 192, + "coef": [ + -1, + 2 + ], + "delete_preread_index": 59 + }, + { + "kind": "r2h", + "h": 581, + "r": 89, + "read_index": 953, + "target": 193, + "coef": [ + -1, + 2 + ], + "insert_preread_before": 60, + "preread": [ + "add", + 193, + 581, + 1, + 2 + ] + }, + { + "kind": "r2h", + "h": 581, + "r": 89, + "read_index": 1197, + "target": 175, + "coef": [ + -1, + 2 + ], + "insert_preread_before": 60, + "preread": [ + "add", + 175, + 581, + 1, + 2 + ] + }, + { + "kind": "h2r", + "h": 591, + "r": 415, + "read_index": 868, + "target": 139, + "coef": [ + 1, + 1 + ], + "delete_preread_index": 62 + }, + { + "kind": "h2r", + "h": 591, + "r": 415, + "read_index": 1296, + "target": 160, + "coef": [ + 1, + 1 + ], + "delete_preread_index": 63 + }, + { + "kind": "r2h", + "h": 591, + "r": 415, + "read_index": 961, + "target": 161, + "coef": [ + 1, + 1 + ], + "insert_preread_before": 64, + "preread": [ + "add", + 161, + 591, + -1, + 1 + ] + }, + { + "kind": "r2h", + "h": 591, + "r": 415, + "read_index": 1205, + "target": 143, + "coef": [ + 1, + 1 + ], + "insert_preread_before": 64, + "preread": [ + "add", + 143, + 591, + -1, + 1 + ] + }, + { + "kind": "h2r", + "h": 603, + "r": 431, + "read_index": 876, + "target": 131, + "coef": [ + 1, + 1 + ], + "delete_preread_index": 70 + }, + { + "kind": "h2r", + "h": 603, + "r": 431, + "read_index": 1300, + "target": 163, + "coef": [ + 1, + 1 + ], + "delete_preread_index": 71 + }, + { + "kind": "r2h", + "h": 603, + "r": 431, + "read_index": 965, + "target": 167, + "coef": [ + 1, + 1 + ], + "insert_preread_before": 72, + "preread": [ + "add", + 167, + 603, + -1, + 1 + ] + }, + { + "kind": "r2h", + "h": 603, + "r": 431, + "read_index": 1213, + "target": 135, + "coef": [ + 1, + 1 + ], + "insert_preread_before": 72, + "preread": [ + "add", + 135, + 603, + -1, + 1 + ] + } + ], + "kappa_ideal_in": 0.0016603565408383088, + "kappa_ideal_out": 0.0016606836036204419, + "W": 3778, + "profile_in": { + "1": 2572, + "2": 326, + "3": 430, + "4": 194, + "5": 56, + "8": 8 + }, + "profile_out": { + "1": 2548, + "2": 342, + "3": 438, + "4": 186, + "5": 56, + "8": 8 + }, + "width_inventory": { + "4": 80, + "5": 32, + "7": 54, + "8": 122, + "9": 216 + }, + "rejection_expected": { + "N1": { + "changed_registers": [ + 168, + 171 + ], + "n": 2 + }, + "N2": { + "first": [ + "cap", + 1192, + 169 + ], + "n": 10 + }, + "N3": { + "changed_registers": [ + 129, + 130, + 169, + 170 + ], + "n": 4 + } + } +} diff --git a/research/gauge44-leaver/construction/sw4/build_sw4.py b/research/gauge44-leaver/construction/sw4/build_sw4.py new file mode 100644 index 0000000000..617e0ed06d --- /dev/null +++ b/research/gauge44-leaver/construction/sw4/build_sw4.py @@ -0,0 +1,203 @@ +#!/usr/bin/env python3 +"""build_sw4.py INPUT_WORD OUT_DIR [RECIPE] : deterministic, standard-library-only rebuild of the BRoute SW4 word. + +SW4 exchanges the B-phase target read sets of four entering packet copies h and their face registers r +(h = E_h + r after h's copy gate; E_h = h's entering content): + h2r: a post-copy read add(t,h,c) becomes add(t,r,c), and t's entrance pre-read add(t,h,-c) (taken while h = E_h) is deleted; + r2h: a read add(t,r,c) becomes add(t,h,c), and a pre-read add(t,h,-c) is inserted before index insert_preread_before + (right after h's last existing pre-read, still before h's copy gate). +Every register holds the same value at the end of B (checked mod p). Frames: a moved or inserted gate gets the plain join of +its operands' current frames; every other B gate and every early-cleanup tail keeps span(old frame + current operand frames). +Targets must stay inside u_t^perp, and tails and ends must contain the current frame. + +Controls (run on every build; the count is pinned to 4 and all must hold, else exit 1): + C0 the identity recipe (no moves) reproduces the input B and early_cleanup byte for byte; + N1 h2r without deleting the pre-read is rejected by exactness; + N2 a partial exchange (one read only) is rejected by the frame cap; + N3 an inserted pre-read with the wrong sign is rejected by exactness. +Rejection sites are pinned: the recipe's 'rejection_expected' gives, for N1/N3, the exact set of target rows whose B-end +state changes (the mutated target plus its butterfly partner(s)) and, for N2, the first cap violation (kind, B index, +register) and the violation count. Each control must reproduce its pinned site exactly. BUILD.json records the observed +sites under 'rejection'. +Writes OUT_DIR/FULL-WORD.json.gz (sha checked against the recipe) and OUT_DIR/BUILD.json.""" +import sys, json, gzip, hashlib, os +from collections import Counter, defaultdict + +PR = 2147483629 +HERE = os.path.dirname(os.path.abspath(__file__)) +V, HH = 112, 9 + + +def basis(vs): + piv = {} + for a in vs: + while a: + bit = a.bit_length() - 1 + if bit in piv: a ^= piv[bit] + else: + piv[bit] = a; break + for k in sorted(piv): + for j in piv: + if j > k and piv[j] >> k & 1: piv[j] ^= piv[k] + return tuple(piv[k] for k in sorted(piv, reverse=True)) + + +def contained(a, b): return basis(list(a) + list(b)) == tuple(b) +def registers(e): return e[1:3] if e[0] == 'add' else e[1:2] +def hyper(p): return basis([x for x in range(1, 1 << HH) if (x & p).bit_count() % 2 == 0]) +FULL = basis([1 << i for i in range(HH)]) + + +def coef(e): + a, b = (e[3], e[4]) if e[0] == 'add' else (e[2], e[3]) + return a % PR * pow(b % PR, PR - 2, PR) % PR + + +def bend_state(w): + """sparse rows mod p of every register after A + cut + B (identity start).""" + n = 2 * V + w['report']['R']; rows = [{i: 1} for i in range(n)] + for e in w['A'] + w['cut'] + w['B']: + q = coef(e); t = e[1] + if e[0] == 'scale': rows[t] = {k: x * q % PR for k, x in rows[t].items()} + else: + d = rows[t] + for k, x in rows[e[2]].items(): + y = (d.get(k, 0) + q * x) % PR + if y: d[k] = y + else: d.pop(k, None) + return rows + + +def apply_recipe(w, moves, drop_delete=False, wrong_sign=False): + B = [list(e[:-1]) + [list(e[-1]) if e[-1] is not None else None] for e in w['B']] + tag = {}; dele = set(); ins = defaultdict(list) + for m in moves: + i = m['read_index']; e = B[i]; t = m['target']; a, b = m['coef'] + assert e[0] == 'add' and e[1] == t and [e[3], e[4]] == [a, b], ('recipe/word mismatch', m) + if m['kind'] == 'h2r': + assert e[2] == m['h'] + pi = m['delete_preread_index']; g = B[pi] + assert g[:5] == ['add', t, m['h'], -a, b], ('pre-read mismatch', m) + B[i] = ['add', t, m['r'], a, b, e[-1]] + if not drop_delete: dele.add(pi) + else: + assert e[2] == m['r'] + B[i] = ['add', t, m['h'], a, b, e[-1]] + g = list(m['preread']) + if wrong_sign: g[3] = -g[3] + ins[m['insert_preread_before']].append(g + [None]) + tag[i] = 1 + NB, nt = [], [] + for i, e in enumerate(B): + for g in ins.get(i, []): NB.append(g); nt.append(1) + if i in dele: continue + NB.append(e); nt.append(tag.get(i, 0)) + w2 = dict(w); w2['B'] = NB; w2['early_cleanup'] = [list(x) for x in w.get('early_cleanup', [])] + return w2, nt + + +def refit(w, nt): + n = 2 * V + w['report']['R'] + cur = [(p,) for p in w['ports']] + [()] * (n - V) + for q, U in w['start_extra'].items(): cur[int(q)] = basis(U) + for e in w['A']: + for q in registers(e): cur[q] = basis(e[-1]) + prob = [] + for i, e in enumerate(w['B']): + rs = registers(e) + base = [] if nt[i] or e[-1] is None else list(e[-1]) + F = basis(base + [x for q in rs for x in cur[q]]) + for q in rs: + if V <= q < 2 * V and not contained(F, hyper(w['ports'][q - V])): prob.append(('cap', i, q)) + e[-1] = list(F) + for q in rs: cur[q] = F + ne = [] + for i, U in w.get('early_cleanup', []): + rs = registers(w['cleanup'][i]); F = basis(list(U) + [x for q in rs for x in cur[q]]) + for q in rs: + fin = w['helper_final'].get(str(q)) + if fin is not None and not contained(F, basis(fin)): prob.append(('tail', i, q)) + ne.append([i, list(F)]) + for q in rs: cur[q] = F + w['early_cleanup'] = ne + for q in range(2 * V, n): + fin = w['helper_final'].get(str(q)) + if fin is not None and not contained(cur[q], basis(fin)): prob.append(('end', q)) + return prob + + +def profile(w): + n = 2 * V + w['report']['R'] + tail = [w['cleanup'][i][:-1] + [U] for i, U in w.get('early_cleanup', [])] + end = [FULL] * V + [hyper(p) for p in w['ports']] + [FULL] * (n - 2 * V) + for q, U in w['helper_final'].items(): end[int(q)] = basis(U) + start = [(p,) for p in w['ports']] + [()] * (n - V) + for q, U in w['start_extra'].items(): start[int(q)] = basis(U) + cur = list(start); paid = Counter() + def climb(q, U): + U = basis(U); assert contained(cur[q], U), ('monotone', q) + d = len(U) - len(cur[q]) + if d: paid[d] += 1 + cur[q] = U + for sec in ('A', 'B'): + if sec == 'B': + lev = {int(t): basis(U) for t, U in w.get('target_levels', {}).items()} + for q, U in zip(w['centers'], w['center_frames']): + U = basis(U); served = {lev.get(e[1] - V, ()) for e in w['cut'] if e[2] == q} + for T in sorted(served, key=lambda x: -len(x)): + if T != U: paid[len(U) - len(T)] += 1 + U = T + for e in w[sec]: + for q in registers(e): climb(q, e[-1]) + for e in tail: + for q in registers(e): climb(q, e[-1]) + for q, U in enumerate(end): climb(q, U) + widths = Counter(len(end[q]) - len(start[q]) for q in range(2 * V, n)) + return paid, widths + + +def enc(w): return json.dumps(w, sort_keys=True, separators=(',', ':')).encode() + + +def main(): + src, out = sys.argv[1], sys.argv[2] + rec = json.load(open(sys.argv[3] if len(sys.argv) > 3 else os.path.join(HERE, 'SW4-RECIPE.json'))) + raw = gzip.decompress(open(src, 'rb').read()) + assert hashlib.sha256(raw).hexdigest() == rec['input_sha256'], 'input sha mismatch' + w = json.loads(raw); S0 = bend_state(w); moves = rec['moves'] + h0 = moves[0]['h']; one = [m for m in moves if m['h'] == h0] + ctl = {}; why = {}; EXP = rec.get('rejection_expected', {}) + if os.environ.get('SW4_PIN') != '1' and set(EXP) != {'N1', 'N2', 'N3'}: raise SystemExit('recipe rejection_expected must pin exactly N1, N2, N3 (set SW4_PIN=1 to record)') + def diff(S): + d = [q for q in range(len(S0)) if S[q] != S0[q]] + return dict(changed_registers=d[:8], n=len(d)) + w0, nt0 = apply_recipe(w, []); p0 = refit(w0, nt0) + ctl['C0_identity'] = not p0 and w0['B'] == w['B'] and w0['early_cleanup'] == w['early_cleanup'] + m1 = [m for m in one if m['kind'] == 'h2r'][:1] + w1, nt1 = apply_recipe(w, m1, drop_delete=True); d1 = diff(bend_state(w1)) + ctl['N1_keep_preread_rejected'] = d1['n'] > 0 and d1 == EXP.get('N1', d1); why['N1'] = d1 + w2, nt2 = apply_recipe(w, m1); p2 = refit(w2, nt2) + why['N2'] = dict(first=list(p2[0]) if p2 else None, n=len(p2)); ctl['N2_partial_rejected'] = bool(p2) and p2[0][0] == 'cap' and why['N2'] == EXP.get('N2', why['N2']) + w3, nt3 = apply_recipe(w, one, wrong_sign=True); d3 = diff(bend_state(w3)) + ctl['N3_wrong_sign_rejected'] = d3['n'] > 0 and d3 == EXP.get('N3', d3); why['N3'] = d3 + assert len(ctl) == 4 + wn, nt = apply_recipe(w, moves); pr = refit(wn, nt) + assert not pr, ('illegal', pr[:5]) + assert bend_state(wn) == S0, 'B-end state changed' + paid, widths = profile(wn) + wn['report'] = dict(wn['report'], local_profile={str(k): v for k, v in sorted(paid.items())}, + local_rank_mass=sum(k * v for k, v in paid.items())) + data = enc(wn); sha = hashlib.sha256(data).hexdigest() + os.makedirs(out, exist_ok=True) + with open(os.path.join(out, 'FULL-WORD.json.gz'), 'wb') as f: f.write(gzip.compress(data, mtime=0)) + rep = dict(recipe=rec['name'], input_sha256=rec['input_sha256'], output_sha256=sha, expected_output_sha256=rec['output_sha256'], + moves=len(moves), controls=ctl, rejection=why, profile=wn['report']['local_profile'], + widths={str(k): v for k, v in sorted(widths.items()) if k}, W=sum(k * v for k, v in widths.items())) + with open(os.path.join(out, 'BUILD.json'), 'w', newline='\n') as f: f.write(json.dumps(rep, indent=1) + '\n') + print(json.dumps(rep, indent=1)) + ok = all(ctl.values()) and sha == rec['output_sha256'] and rep['profile'] == rec['profile_out'] and rep['W'] == rec['W'] + sys.exit(0 if ok else 1) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-leaver/construction/sw4/reproduce_sw4.py b/research/gauge44-leaver/construction/sw4/reproduce_sw4.py new file mode 100644 index 0000000000..cb038e064b --- /dev/null +++ b/research/gauge44-leaver/construction/sw4/reproduce_sw4.py @@ -0,0 +1,87 @@ +#!/usr/bin/env python3 +"""Rebuild the SW4 word (BRoute read-set exchange on four entering-copy pairs) and its native locals. + +Input: a fresh `construction/promo/reproduce_promo.py --base p6n --k ` output directory; its promoted +word is pinned there and by SW4-RECIPE-.json (this package: --k p6n-k4, P6k4 0390ec65..., recipe P6k4). Steps, each checked exactly: + 1. sw4: BRoute's build_sw4.py (standard library only). It applies the 16 explicit moves of SW4-RECIPE-.json: + every listed read of h becomes a read of its face register r and vice versa, with the entrance pre-reads deleted + or inserted. It checks the B-end state of every register mod p, the frame caps, tails and ends, and the output sha + and profile. Its controls C0, N1, N2 and N3 run on every build and must all hold (count pinned to 4). + 2. layer-end-controls: ../layers_p6n/layer_end_controls.py (per-end variant, Q6Reviewer-signed) on the SW4 word; + the count is pinned in LOCAL-PINS-sw4-.json. + 3. native, ledgers, local-replay, wrappers, phases: PR635's native local programs. The canonical word, local + programs and Clifford recipes are pinned (LOCAL-PINS-sw4-.json). +Apache-2.0. Driver by ColdWitness around BRoute's constructor. +""" +import argparse, gzip, hashlib, json, os, subprocess, sys, time +from pathlib import Path + +HERE = Path(__file__).resolve().parent +P6 = HERE.parent / 'layers_p6n' + + +def read(p): + raw = Path(p).read_bytes() + return json.loads(gzip.decompress(raw) if str(p).endswith('.gz') else raw) + + +def main(): + assert __debug__, 'Assertions are required' + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--main', type=Path, required=True) + ap.add_argument('--pr635', type=Path, required=True) + ap.add_argument('--promo-dir', type=Path, required=True, help='construction/promo/reproduce_promo.py output') + ap.add_argument('--out', type=Path, required=True) + ap.add_argument('--recipe', default='P6k4', help='SW4-RECIPE-.json and LOCAL-PINS-sw4-.json') + ap.add_argument('--skip-phases', action='store_true') + a = ap.parse_args() + out = a.out.resolve(); assert not out.exists(); out.mkdir(parents=True) + up = a.pr635.resolve() / 'research/complex-571-cold14-st2' + src = a.main.resolve() / 'research/complex-k492-owner-repair/vendor/multicold' + base = src / 'vendor/pr558'; parent = base / 'vendor/pr552' + rfile = HERE / ('SW4-RECIPE-%s.json' % a.recipe); rec = read(rfile); pins = read(HERE / ('LOCAL-PINS-sw4-%s.json' % a.recipe)) + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONUTF8='1', PYTHONINTMAXSTRDIGITS='0', + MULTICOLD_SOURCE=str(src), GAIN_PR564_SOURCE=str(src)) + for k in ('PYTHONOPTIMIZE', 'XPARAM', 'EXTRAH', 'PAIRING_RANKS', 'DIAG', 'HYBBUDGET', 'PR635_CODE'): env.pop(k, None) + steps = [] + + def run(label, script, *args, portable=True): + t = time.monotonic() + cmd = [sys.executable, '-B'] + ([str(src / 'code/run_portable.py')] if portable else []) + [str(script), *map(str, args)] + with (out / (label + '.log')).open('w') as f: + rc = subprocess.call(cmd, env=env, stdout=f, stderr=subprocess.STDOUT) + steps.append(dict(step=label, exit_code=rc, seconds=round(time.monotonic() - t, 3))) + (out / 'STEPS.json').write_text(json.dumps(steps, indent=2) + '\n') + assert rc == 0, label + print('PASS', label, flush=True) + + inp = a.promo_dir.resolve() / 'promo/FULL-WORD.json.gz' + assert hashlib.sha256(gzip.decompress(inp.read_bytes())).hexdigest() == rec['input_sha256'], 'input must be the pinned promoted word' + run('sw4', HERE / 'build_sw4.py', inp, out / 'sw4', rfile, portable=False) + b = read(out / 'sw4/BUILD.json') + assert len(b['controls']) == pins['sw4_controls'] and all(b['controls'].values()), b['controls'] + word = out / 'sw4/FULL-WORD.json.gz' + assert hashlib.sha256(gzip.decompress(word.read_bytes())).hexdigest() == rec['output_sha256'] + routing = parent / 'complex-local/inputs/phase-baseline/CANONICAL-WORD.json.gz' + env['PR635_CODE'] = str(up / 'code') + run('layer-end-controls', P6 / 'layer_end_controls.py', word, routing, out / 'controls') + env.pop('PR635_CODE') + ctl = read(out / 'controls/COLD-END-CONTROLS.json') + assert ctl['status'] == 'PASS_COLD_END_RAW_WORD_CONTROLS' and len(ctl['rejected']) == pins['layer_controls'], len(ctl['rejected']) + local = out / 'local' + run('native', up / 'code/hpe_audit_and_transport.py', '--raw', word, '--routing', routing, '--out', local) + assert hashlib.sha256(gzip.decompress((local / 'CANONICAL-WORD.json.gz').read_bytes())).hexdigest() == pins['canonical_sha256'], 'canonical word' + run('ledgers', up / 'code/hpe_emit_local.py', local) + run('local-replay', up / 'code/hpe_audit_local.py', local) + run('wrappers', up / 'code/hpe_adapters_local.py', local / 'CANONICAL-WORD.json.gz', + local / 'RESIDUAL-ADAPTERS.json', local / 'WRAPPER-CHECKS.json') + checks = read(local / 'LOCAL-CHECKS.json') + for o, s in pins['program_sha256'].items(): assert checks[o]['sha256'] == s, ('local program', o) + if not a.skip_phases: + run('phases', base / 'code/phases_full.py', local, parent / 'complex-global/vendor531/vendor/clifford') + assert hashlib.sha256((local / 'CLIFFORD-RECIPES.json').read_bytes()).hexdigest() == pins['clifford_recipes_sha256'], 'clifford recipes' + print('DONE', local, flush=True) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-leaver/data/FRONTIER.json b/research/gauge44-leaver/data/FRONTIER.json new file mode 100644 index 0000000000..70285d4d85 --- /dev/null +++ b/research/gauge44-leaver/data/FRONTIER.json @@ -0,0 +1,36 @@ +{ + "checked_at_utc": "2026-10-13 00:54:29 UTC", + "construction_base": { + "pr": 635, + "commit": "a6895a69f8ad98ab45777b03e9e6f48888c39f6f", + "kappa": "0.001636241501576388" + }, + "latest_pr": 642, + "strongest_reported_pr": 641, + "comparisons": [ + { + "number": 641, + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/641", + "title": "Conditional κ = 0.001636523543003976: cost-neutral pivot swaps with four entering ends (s4) on PR635", + "head_sha": "ff580ea5407aa427d64233523e46ee0afe24a766", + "head_repo": "jeremykothe2/integer-mult-bounds", + "created_at": "2026-10-13T00:36:30Z", + "updated_at": "2026-10-13T00:36:30Z", + "reported_kappa": "0.001636523543003976" + }, + { + "number": 642, + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/642", + "title": "Conditional κ = 0.001636472098484378: selective helper-249 dispatch", + "head_sha": "d1154e23e13d85fdbf64d4b41fa20bb0f56a428f", + "head_repo": "vectorsss/integer-mult-bounds", + "created_at": "2026-10-13T00:40:40Z", + "updated_at": "2026-10-13T00:46:54Z", + "reported_kappa": "0.001636472098484378" + } + ], + "new_kappa": "0.001649483702558979", + "gain_over_641_percent": "0.791932362379189601995955118466917211009518325743405547289975", + "gain_over_642_percent": "0.795100881136422911010672021375626721886288268207407873093008", + "scope": "PR641/642 values are their public reported conditional witnesses, not independently replayed here. This delta retains the pinned PR635 construction ancestry and replaces its local supplier and whole-owner dispatch; it does not claim to compose the later pivot swaps or helper249 end." +} diff --git a/research/gauge44-leaver/data/OWNERS.json.gz b/research/gauge44-leaver/data/OWNERS.json.gz new file mode 100644 index 0000000000..e750e2fc03 Binary files /dev/null and b/research/gauge44-leaver/data/OWNERS.json.gz differ diff --git a/research/gauge44-leaver/data/PLAN.json b/research/gauge44-leaver/data/PLAN.json new file mode 100644 index 0000000000..5d1114a768 --- /dev/null +++ b/research/gauge44-leaver/data/PLAN.json @@ -0,0 +1,40907 @@ +{ + "status": "FROZEN_EXPLICIT_GAUGE44_WHOLE_OWNER_NOMINATION", + "mode": "gauge44-all72", + "K": 4, + "T": 8, + "M": 73, + "L": 9, + "live": 7168, + "deficit": 2560, + "profile": { + "1": 177877, + "2": 27944, + "3": 31001, + "4": 11952, + "5": 5040, + "7": 280, + "8": 599, + "16": 18, + "32": 13, + "48": 2364 + }, + "order": [ + [ + 0, + 0 + ], + [ + 0, + 1 + ], + [ + 1, + 0 + ], + [ + 0, + 2 + ], + [ + 1, + 1 + ], + [ + 2, + 0 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 2, + 1 + ], + [ + 3, + 0 + ], + [ + 0, + 4 + ], + [ + 1, + 3 + ], + [ + 2, + 2 + ], + [ + 3, + 1 + ], + [ + 4, + 0 + ], + [ + 0, + 5 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 3, + 2 + ], + [ + 4, + 1 + ], + [ + 5, + 0 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 2, + 4 + ], + [ + 3, + 3 + ], + [ + 4, + 2 + ], + [ + 5, + 1 + ], + [ + 0, + 7 + ], + [ + 6, + 0 + ], + [ + 1, + 6 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 4, + 3 + ], + [ + 5, + 2 + ], + [ + 6, + 1 + ], + [ + 1, + 7 + ], + [ + 7, + 0 + ], + [ + 2, + 6 + ], + [ + 3, + 5 + ], + [ + 4, + 4 + ], + [ + 5, + 3 + ], + [ + 6, + 2 + ], + [ + 7, + 1 + ], + [ + 2, + 7 + ], + [ + 8, + 0 + ], + [ + 3, + 6 + ], + [ + 4, + 5 + ], + [ + 5, + 4 + ], + [ + 6, + 3 + ], + [ + 7, + 2 + ], + [ + 8, + 1 + ], + [ + 3, + 7 + ], + [ + 4, + 6 + ], + [ + 5, + 5 + ], + [ + 6, + 4 + ], + [ + 7, + 3 + ], + [ + 8, + 2 + ], + [ + 4, + 7 + ], + [ + 5, + 6 + ], + [ + 6, + 5 + ], + [ + 7, + 4 + ], + [ + 8, + 3 + ], + [ + 5, + 7 + ], + [ + 6, + 6 + ], + [ + 7, + 5 + ], + [ + 8, + 4 + ], + [ + 6, + 7 + ], + [ + 7, + 6 + ], + [ + 8, + 5 + ], + [ + 7, + 7 + ], + [ + 8, + 6 + ], + [ + 8, + 7 + ] + ], + "windows": { + "0,0": [ + 16, + [ + 0, + 1, + 2 + ] + ], + "0,2": [ + 16, + [ + 0, + 1, + 2 + ] + ], + "0,1": [ + 8, + [ + 3, + 4, + 5 + ] + ], + "0,3": [ + 8, + [ + 3, + 4, + 5 + ] + ], + "0,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ] + ], + "0,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ] + ], + "0,5": [ + 8, + [ + 10, + 11, + 12, + 13, + 14 + ] + ], + "0,7": [ + 8, + [ + 10, + 11, + 12, + 13, + 14 + ] + ], + "0,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20 + ] + ], + "0,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20 + ] + ], + "0,9": [ + 8, + [ + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ] + ], + "0,11": [ + 8, + [ + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ] + ], + "0,12": [ + 48, + [ + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44 + ] + ], + "0,13": [ + 48, + [ + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44 + ] + ], + "0,14": [ + 32, + [ + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44 + ] + ], + "0,15": [ + 32, + [ + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44 + ] + ], + "0,16": [ + 16, + [ + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44 + ] + ], + "0,17": [ + 16, + [ + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44 + ] + ], + "1,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4 + ] + ], + "1,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4 + ] + ], + "1,1": [ + 8, + [ + 5, + 6, + 7, + 8 + ] + ], + "1,3": [ + 8, + [ + 5, + 6, + 7, + 8 + ] + ], + "1,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13 + ] + ], + "1,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13 + ] + ], + "1,5": [ + 8, + [ + 14, + 15, + 16, + 17, + 18, + 19 + ] + ], + "1,7": [ + 8, + [ + 14, + 15, + 16, + 17, + 18, + 19 + ] + ], + "1,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26 + ] + ], + "1,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26 + ] + ], + "1,9": [ + 8, + [ + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34 + ] + ], + "1,11": [ + 8, + [ + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34 + ] + ], + "1,12": [ + 48, + [ + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50 + ] + ], + "1,13": [ + 48, + [ + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50 + ] + ], + "1,14": [ + 32, + [ + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50 + ] + ], + "1,15": [ + 32, + [ + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50 + ] + ], + "1,16": [ + 16, + [ + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50 + ] + ], + "1,17": [ + 16, + [ + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50 + ] + ], + "2,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ] + ], + "2,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ] + ], + "2,1": [ + 8, + [ + 8, + 9, + 10, + 11, + 12 + ] + ], + "2,3": [ + 8, + [ + 8, + 9, + 10, + 11, + 12 + ] + ], + "2,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18 + ] + ], + "2,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18 + ] + ], + "2,5": [ + 8, + [ + 19, + 20, + 21, + 22, + 23, + 24, + 25 + ] + ], + "2,7": [ + 8, + [ + 19, + 20, + 21, + 22, + 23, + 24, + 25 + ] + ], + "2,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33 + ] + ], + "2,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33 + ] + ], + "2,9": [ + 8, + [ + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41 + ] + ], + "2,11": [ + 8, + [ + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41 + ] + ], + "2,12": [ + 48, + [ + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ] + ], + "2,13": [ + 48, + [ + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ] + ], + "2,14": [ + 32, + [ + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ] + ], + "2,15": [ + 32, + [ + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ] + ], + "2,16": [ + 16, + [ + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ] + ], + "2,17": [ + 16, + [ + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ] + ], + "3,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ] + ], + "3,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ] + ], + "3,1": [ + 8, + [ + 12, + 13, + 14, + 15, + 16, + 17 + ] + ], + "3,3": [ + 8, + [ + 12, + 13, + 14, + 15, + 16, + 17 + ] + ], + "3,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24 + ] + ], + "3,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24 + ] + ], + "3,5": [ + 8, + [ + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32 + ] + ], + "3,7": [ + 8, + [ + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32 + ] + ], + "3,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40 + ] + ], + "3,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40 + ] + ], + "3,9": [ + 8, + [ + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48 + ] + ], + "3,11": [ + 8, + [ + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48 + ] + ], + "3,12": [ + 48, + [ + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61 + ] + ], + "3,13": [ + 48, + [ + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61 + ] + ], + "3,14": [ + 32, + [ + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61 + ] + ], + "3,15": [ + 32, + [ + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61 + ] + ], + "3,16": [ + 16, + [ + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61 + ] + ], + "3,17": [ + 16, + [ + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61 + ] + ], + "4,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16 + ] + ], + "4,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16 + ] + ], + "4,1": [ + 8, + [ + 17, + 18, + 19, + 20, + 21, + 22, + 23 + ] + ], + "4,3": [ + 8, + [ + 17, + 18, + 19, + 20, + 21, + 22, + 23 + ] + ], + "4,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31 + ] + ], + "4,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31 + ] + ], + "4,5": [ + 8, + [ + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39 + ] + ], + "4,7": [ + 8, + [ + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39 + ] + ], + "4,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47 + ] + ], + "4,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47 + ] + ], + "4,9": [ + 8, + [ + 48, + 49, + 50, + 51, + 52, + 53, + 54 + ] + ], + "4,11": [ + 8, + [ + 48, + 49, + 50, + 51, + 52, + 53, + 54 + ] + ], + "4,12": [ + 48, + [ + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65 + ] + ], + "4,13": [ + 48, + [ + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65 + ] + ], + "4,14": [ + 32, + [ + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65 + ] + ], + "4,15": [ + 32, + [ + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65 + ] + ], + "4,16": [ + 16, + [ + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65 + ] + ], + "4,17": [ + 16, + [ + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65 + ] + ], + "5,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22 + ] + ], + "5,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22 + ] + ], + "5,1": [ + 8, + [ + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30 + ] + ], + "5,3": [ + 8, + [ + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30 + ] + ], + "5,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38 + ] + ], + "5,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38 + ] + ], + "5,5": [ + 8, + [ + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46 + ] + ], + "5,7": [ + 8, + [ + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46 + ] + ], + "5,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53 + ] + ], + "5,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53 + ] + ], + "5,9": [ + 8, + [ + 54, + 55, + 56, + 57, + 58, + 59 + ] + ], + "5,11": [ + 8, + [ + 54, + 55, + 56, + 57, + 58, + 59 + ] + ], + "5,12": [ + 48, + [ + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68 + ] + ], + "5,13": [ + 48, + [ + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68 + ] + ], + "5,14": [ + 32, + [ + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68 + ] + ], + "5,15": [ + 32, + [ + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68 + ] + ], + "5,16": [ + 16, + [ + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68 + ] + ], + "5,17": [ + 16, + [ + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68 + ] + ], + "6,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29 + ] + ], + "6,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29 + ] + ], + "6,1": [ + 8, + [ + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37 + ] + ], + "6,3": [ + 8, + [ + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37 + ] + ], + "6,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45 + ] + ], + "6,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45 + ] + ], + "6,5": [ + 8, + [ + 46, + 47, + 48, + 49, + 50, + 51, + 52 + ] + ], + "6,7": [ + 8, + [ + 46, + 47, + 48, + 49, + 50, + 51, + 52 + ] + ], + "6,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58 + ] + ], + "6,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58 + ] + ], + "6,9": [ + 8, + [ + 59, + 60, + 61, + 62, + 63 + ] + ], + "6,11": [ + 8, + [ + 59, + 60, + 61, + 62, + 63 + ] + ], + "6,12": [ + 48, + [ + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70 + ] + ], + "6,13": [ + 48, + [ + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70 + ] + ], + "6,14": [ + 32, + [ + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70 + ] + ], + "6,15": [ + 32, + [ + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70 + ] + ], + "6,16": [ + 16, + [ + 64, + 65, + 66, + 67, + 68, + 69, + 70 + ] + ], + "6,17": [ + 16, + [ + 64, + 65, + 66, + 67, + 68, + 69, + 70 + ] + ], + "7,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ] + ], + "7,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ] + ], + "7,1": [ + 8, + [ + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43 + ] + ], + "7,3": [ + 8, + [ + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43 + ] + ], + "7,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51 + ] + ], + "7,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51 + ] + ], + "7,5": [ + 8, + [ + 52, + 53, + 54, + 55, + 56, + 57 + ] + ], + "7,7": [ + 8, + [ + 52, + 53, + 54, + 55, + 56, + 57 + ] + ], + "7,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62 + ] + ], + "7,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62 + ] + ], + "7,9": [ + 8, + [ + 63, + 64, + 65, + 66 + ] + ], + "7,11": [ + 8, + [ + 63, + 64, + 65, + 66 + ] + ], + "7,12": [ + 48, + [ + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71 + ] + ], + "7,13": [ + 48, + [ + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71 + ] + ], + "7,14": [ + 32, + [ + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71 + ] + ], + "7,15": [ + 32, + [ + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71 + ] + ], + "7,16": [ + 16, + [ + 67, + 68, + 69, + 70, + 71 + ] + ], + "7,17": [ + 16, + [ + 67, + 68, + 69, + 70, + 71 + ] + ] + }, + "sides": { + "0": 0, + "2": 1, + "1": 0, + "3": 1, + "4": 0, + "6": 1, + "5": 0, + "7": 1, + "8": 0, + "10": 1, + "9": 0, + "11": 1, + "12": 0, + "13": 1, + "14": 0, + "15": 1, + "16": 0, + "17": 1 + }, + "pairs": { + "0": 1, + "2": 1, + "1": 1, + "3": 1, + "4": 2, + "6": 2, + "5": 2, + "7": 2, + "8": 3, + "10": 3, + "9": 3, + "11": 3, + "12": 0, + "13": 0, + "14": 1, + "15": 1, + "16": 2, + "17": 2 + }, + "solver_status": "g44pack_early_lns_of_deterministic-capacity-matching", + "gap": null, + "provider_calls": [ + { + "time": 0, + "stage": 0, + "replica": 0, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "e4ee794f189c84c473cf48df8a9ff198feefa0940dbcbf99163a8e9118c9176c" + }, + { + "time": 1, + "stage": 0, + "replica": 1, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "e4ee794f189c84c473cf48df8a9ff198feefa0940dbcbf99163a8e9118c9176c" + }, + { + "time": 2, + "stage": 1, + "replica": 0, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "b8de98f996a99fdc477c126faba7f7e47297679f313e8a831d5ea9dda3de3260" + }, + { + "time": 3, + "stage": 0, + "replica": 2, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "e4ee794f189c84c473cf48df8a9ff198feefa0940dbcbf99163a8e9118c9176c" + }, + { + "time": 4, + "stage": 1, + "replica": 1, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "b8de98f996a99fdc477c126faba7f7e47297679f313e8a831d5ea9dda3de3260" + }, + { + "time": 5, + "stage": 2, + "replica": 0, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "e4ee794f189c84c473cf48df8a9ff198feefa0940dbcbf99163a8e9118c9176c" + }, + { + "time": 6, + "stage": 0, + "replica": 3, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "e4ee794f189c84c473cf48df8a9ff198feefa0940dbcbf99163a8e9118c9176c" + }, + { + "time": 7, + "stage": 1, + "replica": 2, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "b8de98f996a99fdc477c126faba7f7e47297679f313e8a831d5ea9dda3de3260" + }, + { + "time": 8, + "stage": 2, + "replica": 1, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "e4ee794f189c84c473cf48df8a9ff198feefa0940dbcbf99163a8e9118c9176c" + }, + { + "time": 9, + "stage": 3, + "replica": 0, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "b8de98f996a99fdc477c126faba7f7e47297679f313e8a831d5ea9dda3de3260" + }, + { + "time": 10, + "stage": 0, + "replica": 4, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "e4ee794f189c84c473cf48df8a9ff198feefa0940dbcbf99163a8e9118c9176c" + }, + { + "time": 11, + "stage": 1, + "replica": 3, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "b8de98f996a99fdc477c126faba7f7e47297679f313e8a831d5ea9dda3de3260" + }, + { + "time": 12, + "stage": 2, + "replica": 2, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "e4ee794f189c84c473cf48df8a9ff198feefa0940dbcbf99163a8e9118c9176c" + }, + { + "time": 13, + "stage": 3, + "replica": 1, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "b8de98f996a99fdc477c126faba7f7e47297679f313e8a831d5ea9dda3de3260" + }, + { + "time": 14, + "stage": 4, + "replica": 0, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "e4ee794f189c84c473cf48df8a9ff198feefa0940dbcbf99163a8e9118c9176c" + }, + { + "time": 15, + "stage": 0, + "replica": 5, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "e4ee794f189c84c473cf48df8a9ff198feefa0940dbcbf99163a8e9118c9176c" + }, + { + "time": 16, + "stage": 1, + "replica": 4, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "b8de98f996a99fdc477c126faba7f7e47297679f313e8a831d5ea9dda3de3260" + }, + { + "time": 17, + "stage": 2, + "replica": 3, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "e4ee794f189c84c473cf48df8a9ff198feefa0940dbcbf99163a8e9118c9176c" + }, + { + "time": 18, + "stage": 3, + "replica": 2, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "b8de98f996a99fdc477c126faba7f7e47297679f313e8a831d5ea9dda3de3260" + }, + { + "time": 19, + "stage": 4, + "replica": 1, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "e4ee794f189c84c473cf48df8a9ff198feefa0940dbcbf99163a8e9118c9176c" + }, + { + "time": 20, + "stage": 5, + "replica": 0, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "b8de98f996a99fdc477c126faba7f7e47297679f313e8a831d5ea9dda3de3260" + }, + { + "time": 21, + "stage": 0, + "replica": 6, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "e4ee794f189c84c473cf48df8a9ff198feefa0940dbcbf99163a8e9118c9176c" + }, + { + "time": 22, + "stage": 1, + "replica": 5, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "b8de98f996a99fdc477c126faba7f7e47297679f313e8a831d5ea9dda3de3260" + }, + { + "time": 23, + "stage": 2, + "replica": 4, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "e4ee794f189c84c473cf48df8a9ff198feefa0940dbcbf99163a8e9118c9176c" + }, + { + "time": 24, + "stage": 3, + "replica": 3, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "b8de98f996a99fdc477c126faba7f7e47297679f313e8a831d5ea9dda3de3260" + }, + { + "time": 25, + "stage": 4, + "replica": 2, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "e4ee794f189c84c473cf48df8a9ff198feefa0940dbcbf99163a8e9118c9176c" + }, + { + "time": 26, + "stage": 5, + "replica": 1, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "b8de98f996a99fdc477c126faba7f7e47297679f313e8a831d5ea9dda3de3260" + }, + { + "time": 27, + "stage": 0, + "replica": 7, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "e4ee794f189c84c473cf48df8a9ff198feefa0940dbcbf99163a8e9118c9176c" + }, + { + "time": 28, + "stage": 6, + "replica": 0, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "e4ee794f189c84c473cf48df8a9ff198feefa0940dbcbf99163a8e9118c9176c" + }, + { + "time": 29, + "stage": 1, + "replica": 6, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "b8de98f996a99fdc477c126faba7f7e47297679f313e8a831d5ea9dda3de3260" + }, + { + "time": 30, + "stage": 2, + "replica": 5, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "e4ee794f189c84c473cf48df8a9ff198feefa0940dbcbf99163a8e9118c9176c" + }, + { + "time": 31, + "stage": 3, + "replica": 4, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "b8de98f996a99fdc477c126faba7f7e47297679f313e8a831d5ea9dda3de3260" + }, + { + "time": 32, + "stage": 4, + "replica": 3, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "e4ee794f189c84c473cf48df8a9ff198feefa0940dbcbf99163a8e9118c9176c" + }, + { + "time": 33, + "stage": 5, + "replica": 2, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "b8de98f996a99fdc477c126faba7f7e47297679f313e8a831d5ea9dda3de3260" + }, + { + "time": 34, + "stage": 6, + "replica": 1, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "e4ee794f189c84c473cf48df8a9ff198feefa0940dbcbf99163a8e9118c9176c" + }, + { + "time": 35, + "stage": 1, + "replica": 7, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "b8de98f996a99fdc477c126faba7f7e47297679f313e8a831d5ea9dda3de3260" + }, + { + "time": 36, + "stage": 7, + "replica": 0, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "b8de98f996a99fdc477c126faba7f7e47297679f313e8a831d5ea9dda3de3260" + }, + { + "time": 37, + "stage": 2, + "replica": 6, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "e4ee794f189c84c473cf48df8a9ff198feefa0940dbcbf99163a8e9118c9176c" + }, + { + "time": 38, + "stage": 3, + "replica": 5, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "b8de98f996a99fdc477c126faba7f7e47297679f313e8a831d5ea9dda3de3260" + }, + { + "time": 39, + "stage": 4, + "replica": 4, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "e4ee794f189c84c473cf48df8a9ff198feefa0940dbcbf99163a8e9118c9176c" + }, + { + "time": 40, + "stage": 5, + "replica": 3, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "b8de98f996a99fdc477c126faba7f7e47297679f313e8a831d5ea9dda3de3260" + }, + { + "time": 41, + "stage": 6, + "replica": 2, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "e4ee794f189c84c473cf48df8a9ff198feefa0940dbcbf99163a8e9118c9176c" + }, + { + "time": 42, + "stage": 7, + "replica": 1, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "b8de98f996a99fdc477c126faba7f7e47297679f313e8a831d5ea9dda3de3260" + }, + { + "time": 43, + "stage": 2, + "replica": 7, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "e4ee794f189c84c473cf48df8a9ff198feefa0940dbcbf99163a8e9118c9176c" + }, + { + "time": 44, + "stage": 8, + "replica": 0, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "e4ee794f189c84c473cf48df8a9ff198feefa0940dbcbf99163a8e9118c9176c" + }, + { + "time": 45, + "stage": 3, + "replica": 6, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "b8de98f996a99fdc477c126faba7f7e47297679f313e8a831d5ea9dda3de3260" + }, + { + "time": 46, + "stage": 4, + "replica": 5, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "e4ee794f189c84c473cf48df8a9ff198feefa0940dbcbf99163a8e9118c9176c" + }, + { + "time": 47, + "stage": 5, + "replica": 4, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "b8de98f996a99fdc477c126faba7f7e47297679f313e8a831d5ea9dda3de3260" + }, + { + "time": 48, + "stage": 6, + "replica": 3, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "e4ee794f189c84c473cf48df8a9ff198feefa0940dbcbf99163a8e9118c9176c" + }, + { + "time": 49, + "stage": 7, + "replica": 2, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "b8de98f996a99fdc477c126faba7f7e47297679f313e8a831d5ea9dda3de3260" + }, + { + "time": 50, + "stage": 8, + "replica": 1, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "e4ee794f189c84c473cf48df8a9ff198feefa0940dbcbf99163a8e9118c9176c" + }, + { + "time": 51, + "stage": 3, + "replica": 7, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "b8de98f996a99fdc477c126faba7f7e47297679f313e8a831d5ea9dda3de3260" + }, + { + "time": 52, + "stage": 4, + "replica": 6, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "e4ee794f189c84c473cf48df8a9ff198feefa0940dbcbf99163a8e9118c9176c" + }, + { + "time": 53, + "stage": 5, + "replica": 5, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "b8de98f996a99fdc477c126faba7f7e47297679f313e8a831d5ea9dda3de3260" + }, + { + "time": 54, + "stage": 6, + "replica": 4, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "e4ee794f189c84c473cf48df8a9ff198feefa0940dbcbf99163a8e9118c9176c" + }, + { + "time": 55, + "stage": 7, + "replica": 3, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "b8de98f996a99fdc477c126faba7f7e47297679f313e8a831d5ea9dda3de3260" + }, + { + "time": 56, + "stage": 8, + "replica": 2, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "e4ee794f189c84c473cf48df8a9ff198feefa0940dbcbf99163a8e9118c9176c" + }, + { + "time": 57, + "stage": 4, + "replica": 7, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "e4ee794f189c84c473cf48df8a9ff198feefa0940dbcbf99163a8e9118c9176c" + }, + { + "time": 58, + "stage": 5, + "replica": 6, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "b8de98f996a99fdc477c126faba7f7e47297679f313e8a831d5ea9dda3de3260" + }, + { + "time": 59, + "stage": 6, + "replica": 5, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "e4ee794f189c84c473cf48df8a9ff198feefa0940dbcbf99163a8e9118c9176c" + }, + { + "time": 60, + "stage": 7, + "replica": 4, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "b8de98f996a99fdc477c126faba7f7e47297679f313e8a831d5ea9dda3de3260" + }, + { + "time": 61, + "stage": 8, + "replica": 3, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "e4ee794f189c84c473cf48df8a9ff198feefa0940dbcbf99163a8e9118c9176c" + }, + { + "time": 62, + "stage": 5, + "replica": 7, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "b8de98f996a99fdc477c126faba7f7e47297679f313e8a831d5ea9dda3de3260" + }, + { + "time": 63, + "stage": 6, + "replica": 6, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "e4ee794f189c84c473cf48df8a9ff198feefa0940dbcbf99163a8e9118c9176c" + }, + { + "time": 64, + "stage": 7, + "replica": 5, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "b8de98f996a99fdc477c126faba7f7e47297679f313e8a831d5ea9dda3de3260" + }, + { + "time": 65, + "stage": 8, + "replica": 4, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "e4ee794f189c84c473cf48df8a9ff198feefa0940dbcbf99163a8e9118c9176c" + }, + { + "time": 66, + "stage": 6, + "replica": 7, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "e4ee794f189c84c473cf48df8a9ff198feefa0940dbcbf99163a8e9118c9176c" + }, + { + "time": 67, + "stage": 7, + "replica": 6, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "b8de98f996a99fdc477c126faba7f7e47297679f313e8a831d5ea9dda3de3260" + }, + { + "time": 68, + "stage": 8, + "replica": 5, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "e4ee794f189c84c473cf48df8a9ff198feefa0940dbcbf99163a8e9118c9176c" + }, + { + "time": 69, + "stage": 7, + "replica": 7, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "b8de98f996a99fdc477c126faba7f7e47297679f313e8a831d5ea9dda3de3260" + }, + { + "time": 70, + "stage": 8, + "replica": 6, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "e4ee794f189c84c473cf48df8a9ff198feefa0940dbcbf99163a8e9118c9176c" + }, + { + "time": 71, + "stage": 8, + "replica": 7, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "e4ee794f189c84c473cf48df8a9ff198feefa0940dbcbf99163a8e9118c9176c" + } + ], + "per_call_widths": [ + { + "stage": 0, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + } + ], + "provider_registry": { + "gauge44": { + "directory": "providers/gauge44", + "artifact_sha256": { + "CANONICAL-WORD.json.gz": "eedbd6771e13c5e81240eae4033e82fc7980294769d3ff08f34077a9ad3592ce", + "LOCAL-PROGRAMS.json.gz": "0ec45a8aebe44dcdc245d8573974a19603b332ac120cd47a3346928fde82c5e1", + "LOCAL-CHECKS.json": "a24d713b9acb68df5d1d16381e2e8a1a352f5affe8024d90208ae7311dd7792e", + "INDEPENDENT-LOCAL-REPLAY.json": "97827beba98bcfa3a2f0501c97c1e9ba848dac4144cc9722308aec6ce597e82f", + "CLIFFORD-RECIPES.json": "f1f89e29a9e20da1a264cff40862f271e0f07306d12a41f060580433b2f35726", + "CLIFFORD-REVIEW.json": "2fa060f770c6d6e2d9aab83ade917b87c695fcd192a009612adca74406b4ca96", + "RESIDUAL-ADAPTERS.json": "8b06181f69832da05e3bffab0737598013e20de6f1f48aad43617fbfe62df615" + }, + "ports": [ + 11, + 19, + 35, + 67, + 131, + 259, + 13, + 21, + 37, + 69, + 133, + 261, + 41, + 73, + 137, + 265, + 49, + 81, + 145, + 273, + 161, + 289, + 193, + 321, + 385, + 14, + 22, + 38, + 70, + 134, + 262, + 26, + 74, + 138, + 266, + 50, + 146, + 274, + 98, + 162, + 290, + 194, + 322, + 386, + 28, + 44, + 140, + 268, + 84, + 148, + 276, + 100, + 164, + 292, + 196, + 324, + 388, + 56, + 88, + 152, + 280, + 104, + 168, + 296, + 200, + 328, + 392, + 112, + 176, + 304, + 208, + 336, + 400, + 224, + 352, + 416, + 448, + 508, + 506, + 502, + 494, + 478, + 446, + 382, + 254, + 505, + 501, + 493, + 477, + 445, + 381, + 253, + 499, + 491, + 475, + 443, + 379, + 251, + 487, + 471, + 439, + 375, + 247, + 463, + 431, + 367, + 239, + 415, + 351, + 223, + 319, + 191 + ], + "centers": [ + 92, + 57, + 81, + 224, + 11, + 240, + 9, + 256 + ], + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ], + "actual_paid_profile": { + "1": 2463, + "2": 388, + "3": 429, + "4": 166, + "5": 70, + "8": 8 + }, + "orientation_program_sha256": { + "forward": "e4ee794f189c84c473cf48df8a9ff198feefa0940dbcbf99163a8e9118c9176c", + "backward": "b8de98f996a99fdc477c126faba7f7e47297679f313e8a831d5ea9dda3de3260" + }, + "artifact_semantic_sha256": { + "CANONICAL-WORD.json.gz": "5d526f492ad3ad93b78d0c9c245a2425b2b760b71d7852be7c684c0e17e946e2", + "LOCAL-PROGRAMS.json.gz": "7c463c53c0bf883a84f3d1df691a01c32b8c415ca3380fce809b48957d009478", + "LOCAL-CHECKS.json": "24aceeb4a100fc73b56adb69fb554ea61d7cf22a9467d72e87405bfd699dc86f", + "INDEPENDENT-LOCAL-REPLAY.json": "e768aea2586d1397e2e9b2e5bbdbdf0e3ec14d02652aa006a2fc2a9eab78ab03", + "CLIFFORD-RECIPES.json": "f1f89e29a9e20da1a264cff40862f271e0f07306d12a41f060580433b2f35726", + "CLIFFORD-REVIEW.json": "22f5a612026183fe874703f9d7c17bb3c10f6dff9a0fabcac68611b6b0a5b799", + "RESIDUAL-ADAPTERS.json": "55281b345e902c04c38a6e82a44e2c84467cd1b93198c101d5cb00d8f7bf40fb" + } + } + }, + "source_plan_sha256": "258a8b9baa245fa4096828671e2f1d1462b5af08d56890629622ef6125eaddda", + "assignment_sha256": "0033a61747e0eb2d16208886dc8141e0e344ddb5cfa75f3580e95952384cea93", + "source_owners_sha256": "935ff1a6823c6625daba3349b28d74acf9a3d70a5947ae155aa66c7821804add" +} diff --git a/research/gauge44-leaver/data/PREPARATION.json b/research/gauge44-leaver/data/PREPARATION.json new file mode 100644 index 0000000000..8c7796820f --- /dev/null +++ b/research/gauge44-leaver/data/PREPARATION.json @@ -0,0 +1,45 @@ +{ + "status": "PASS_EXPLICIT_MAP_AND_FRESH_PROVIDER_NOMINATION", + "parent_plan_sha256": "258a8b9baa245fa4096828671e2f1d1462b5af08d56890629622ef6125eaddda", + "source_owners_sha256": "90ff7657a23dcfb67532b49c0800c5fc259b27c89005081e24bf184869e1bd57", + "global_profile": { + "1": 181093, + "2": 29164, + "3": 32429, + "4": 11520, + "5": 4032, + "7": 7, + "8": 582, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + }, + "idle_profile": { + "1": 85, + "2": 76, + "3": 173, + "7": 7, + "8": 6, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + }, + "roles": 35424, + "rank_mass": 520704, + "deficit": 2560, + "remaining": "Independent emitted-controller audit, fresh finite invoice, exact moments and outer assembly." +} diff --git a/research/gauge44-leaver/data/SPEC.json b/research/gauge44-leaver/data/SPEC.json new file mode 100644 index 0000000000..215ab7a3e8 --- /dev/null +++ b/research/gauge44-leaver/data/SPEC.json @@ -0,0 +1,1339 @@ +{ + "schema": "witness-spec/1", + "name": "gauge44-all72", + "data": { + "plan_sha256": "b08f8dc3624c89b38897762e13f9a15e0efa688f2e0bb7fe33abe22ef4f7ddc5", + "owners_sha256": "0033a61747e0eb2d16208886dc8141e0e344ddb5cfa75f3580e95952384cea93" + }, + "dispatch": [ + [ + 0, + 0, + "gauge44" + ], + [ + 0, + 1, + "gauge44" + ], + [ + 0, + 2, + "gauge44" + ], + [ + 0, + 3, + "gauge44" + ], + [ + 0, + 4, + "gauge44" + ], + [ + 0, + 5, + "gauge44" + ], + [ + 0, + 6, + "gauge44" + ], + [ + 0, + 7, + "gauge44" + ], + [ + 1, + 0, + "gauge44" + ], + [ + 1, + 1, + "gauge44" + ], + [ + 1, + 2, + "gauge44" + ], + [ + 1, + 3, + "gauge44" + ], + [ + 1, + 4, + "gauge44" + ], + [ + 1, + 5, + "gauge44" + ], + [ + 1, + 6, + "gauge44" + ], + [ + 1, + 7, + "gauge44" + ], + [ + 2, + 0, + "gauge44" + ], + [ + 2, + 1, + "gauge44" + ], + [ + 2, + 2, + "gauge44" + ], + [ + 2, + 3, + "gauge44" + ], + [ + 2, + 4, + "gauge44" + ], + [ + 2, + 5, + "gauge44" + ], + [ + 2, + 6, + "gauge44" + ], + [ + 2, + 7, + "gauge44" + ], + [ + 3, + 0, + "gauge44" + ], + [ + 3, + 1, + "gauge44" + ], + [ + 3, + 2, + "gauge44" + ], + [ + 3, + 3, + "gauge44" + ], + [ + 3, + 4, + "gauge44" + ], + [ + 3, + 5, + "gauge44" + ], + [ + 3, + 6, + "gauge44" + ], + [ + 3, + 7, + "gauge44" + ], + [ + 4, + 0, + "gauge44" + ], + [ + 4, + 1, + "gauge44" + ], + [ + 4, + 2, + "gauge44" + ], + [ + 4, + 3, + "gauge44" + ], + [ + 4, + 4, + "gauge44" + ], + [ + 4, + 5, + "gauge44" + ], + [ + 4, + 6, + "gauge44" + ], + [ + 4, + 7, + "gauge44" + ], + [ + 5, + 0, + "gauge44" + ], + [ + 5, + 1, + "gauge44" + ], + [ + 5, + 2, + "gauge44" + ], + [ + 5, + 3, + "gauge44" + ], + [ + 5, + 4, + "gauge44" + ], + [ + 5, + 5, + "gauge44" + ], + [ + 5, + 6, + "gauge44" + ], + [ + 5, + 7, + "gauge44" + ], + [ + 6, + 0, + "gauge44" + ], + [ + 6, + 1, + "gauge44" + ], + [ + 6, + 2, + "gauge44" + ], + [ + 6, + 3, + "gauge44" + ], + [ + 6, + 4, + "gauge44" + ], + [ + 6, + 5, + "gauge44" + ], + [ + 6, + 6, + "gauge44" + ], + [ + 6, + 7, + "gauge44" + ], + [ + 7, + 0, + "gauge44" + ], + [ + 7, + 1, + "gauge44" + ], + [ + 7, + 2, + "gauge44" + ], + [ + 7, + 3, + "gauge44" + ], + [ + 7, + 4, + "gauge44" + ], + [ + 7, + 5, + "gauge44" + ], + [ + 7, + 6, + "gauge44" + ], + [ + 7, + 7, + "gauge44" + ], + [ + 8, + 0, + "gauge44" + ], + [ + 8, + 1, + "gauge44" + ], + [ + 8, + 2, + "gauge44" + ], + [ + 8, + 3, + "gauge44" + ], + [ + 8, + 4, + "gauge44" + ], + [ + 8, + 5, + "gauge44" + ], + [ + 8, + 6, + "gauge44" + ], + [ + 8, + 7, + "gauge44" + ] + ], + "call_order": [ + [ + 0, + 0 + ], + [ + 0, + 1 + ], + [ + 1, + 0 + ], + [ + 0, + 2 + ], + [ + 1, + 1 + ], + [ + 2, + 0 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 2, + 1 + ], + [ + 3, + 0 + ], + [ + 0, + 4 + ], + [ + 1, + 3 + ], + [ + 2, + 2 + ], + [ + 3, + 1 + ], + [ + 4, + 0 + ], + [ + 0, + 5 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 3, + 2 + ], + [ + 4, + 1 + ], + [ + 5, + 0 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 2, + 4 + ], + [ + 3, + 3 + ], + [ + 4, + 2 + ], + [ + 5, + 1 + ], + [ + 0, + 7 + ], + [ + 6, + 0 + ], + [ + 1, + 6 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 4, + 3 + ], + [ + 5, + 2 + ], + [ + 6, + 1 + ], + [ + 1, + 7 + ], + [ + 7, + 0 + ], + [ + 2, + 6 + ], + [ + 3, + 5 + ], + [ + 4, + 4 + ], + [ + 5, + 3 + ], + [ + 6, + 2 + ], + [ + 7, + 1 + ], + [ + 2, + 7 + ], + [ + 8, + 0 + ], + [ + 3, + 6 + ], + [ + 4, + 5 + ], + [ + 5, + 4 + ], + [ + 6, + 3 + ], + [ + 7, + 2 + ], + [ + 8, + 1 + ], + [ + 3, + 7 + ], + [ + 4, + 6 + ], + [ + 5, + 5 + ], + [ + 6, + 4 + ], + [ + 7, + 3 + ], + [ + 8, + 2 + ], + [ + 4, + 7 + ], + [ + 5, + 6 + ], + [ + 6, + 5 + ], + [ + 7, + 4 + ], + [ + 8, + 3 + ], + [ + 5, + 7 + ], + [ + 6, + 6 + ], + [ + 7, + 5 + ], + [ + 8, + 4 + ], + [ + 6, + 7 + ], + [ + 7, + 6 + ], + [ + 8, + 5 + ], + [ + 7, + 7 + ], + [ + 8, + 6 + ], + [ + 8, + 7 + ] + ], + "width_spot_helpers": [ + 263, + 275, + 287, + 299 + ], + "providers": { + "gauge44": { + "inventory": { + "4": 65, + "5": 32, + "7": 39, + "8": 122, + "9": 231 + }, + "native_negative_controls": 25, + "phase_edges": 2930, + "expected_profile": { + "1": 2463, + "2": 388, + "3": 429, + "4": 166, + "5": 70, + "8": 8 + }, + "artifact_semantic_sha256": { + "CANONICAL-WORD.json.gz": "5d526f492ad3ad93b78d0c9c245a2425b2b760b71d7852be7c684c0e17e946e2", + "LOCAL-PROGRAMS.json.gz": "7c463c53c0bf883a84f3d1df691a01c32b8c415ca3380fce809b48957d009478", + "LOCAL-CHECKS.json": "24aceeb4a100fc73b56adb69fb554ea61d7cf22a9467d72e87405bfd699dc86f", + "INDEPENDENT-LOCAL-REPLAY.json": "e768aea2586d1397e2e9b2e5bbdbdf0e3ec14d02652aa006a2fc2a9eab78ab03", + "CLIFFORD-RECIPES.json": "f1f89e29a9e20da1a264cff40862f271e0f07306d12a41f060580433b2f35726", + "CLIFFORD-REVIEW.json": "22f5a612026183fe874703f9d7c17bb3c10f6dff9a0fabcac68611b6b0a5b799", + "RESIDUAL-ADAPTERS.json": "55281b345e902c04c38a6e82a44e2c84467cd1b93198c101d5cb00d8f7bf40fb" + }, + "entering": 201, + "entrance": 393, + "width_digest": "37946a9f16719b00a3e66f30e3fafd842a53b5ddbcbe4ad9a8dd2da7ba1ceff0", + "program_hashes": { + "backward": "b8de98f996a99fdc477c126faba7f7e47297679f313e8a831d5ea9dda3de3260", + "forward": "e4ee794f189c84c473cf48df8a9ff198feefa0940dbcbf99163a8e9118c9176c" + }, + "artifacts": { + "LOCAL-CHECKS.json": "a24d713b9acb68df5d1d16381e2e8a1a352f5affe8024d90208ae7311dd7792e", + "CLIFFORD-RECIPES.json": "f1f89e29a9e20da1a264cff40862f271e0f07306d12a41f060580433b2f35726", + "RESIDUAL-ADAPTERS.json": "8b06181f69832da05e3bffab0737598013e20de6f1f48aad43617fbfe62df615" + }, + "complete_contract": { + "local": { + "backward": { + "events": 25188, + "macros": 20066, + "real_component_primitives": 202786, + "prefix_l1": "1975431840150172116949528677/256", + "prefix_bits": 83, + "coefficient_work_primitive_count": 100271, + "all_exact_columns": 713, + "dirty_helper_columns": 489, + "all_dirty_helper_columns_restored": true, + "private_centres_and_coefficient_work_cleared": true, + "pre_wrappers": 258, + "post_wrappers": 258, + "endpoint_evidence": "Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json" + }, + "forward": { + "events": 25188, + "macros": 20066, + "real_component_primitives": 202738, + "prefix_l1": "20850181435196129", + "prefix_bits": 55, + "coefficient_work_primitive_count": 100239, + "all_exact_columns": 713, + "dirty_helper_columns": 489, + "all_dirty_helper_columns_restored": true, + "private_centres_and_coefficient_work_cleared": true, + "pre_wrappers": 258, + "post_wrappers": 258, + "endpoint_evidence": "Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json" + } + }, + "helpers": 489, + "centres": 8, + "v": 112, + "h": 9, + "n": 713, + "entering_helpers": 201, + "entrance_rank": 393, + "terminal_codimension": 260, + "hyperplane_ended_helpers": 96, + "cold_hyperplane_ended_helpers": 57, + "width_inventory": { + "4": 65, + "5": 32, + "7": 39, + "8": 122, + "9": 231 + }, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ], + "local_adapters": 393648, + "local_primitive_bound": 10208999700514, + "compiler": 25934336, + "children": 3524, + "paid_profile": { + "1": 2463, + "2": 388, + "3": 429, + "4": 166, + "5": 70, + "8": 8 + }, + "program_hashes": { + "backward": "b8de98f996a99fdc477c126faba7f7e47297679f313e8a831d5ea9dda3de3260", + "forward": "e4ee794f189c84c473cf48df8a9ff198feefa0940dbcbf99163a8e9118c9176c" + }, + "semantic_artifact_sha256": { + "CANONICAL-WORD.json.gz": "5d526f492ad3ad93b78d0c9c245a2425b2b760b71d7852be7c684c0e17e946e2", + "LOCAL-PROGRAMS.json.gz": "7c463c53c0bf883a84f3d1df691a01c32b8c415ca3380fce809b48957d009478", + "LOCAL-CHECKS.json": "24aceeb4a100fc73b56adb69fb554ea61d7cf22a9467d72e87405bfd699dc86f", + "INDEPENDENT-LOCAL-REPLAY.json": "e768aea2586d1397e2e9b2e5bbdbdf0e3ec14d02652aa006a2fc2a9eab78ab03", + "CLIFFORD-RECIPES.json": "f1f89e29a9e20da1a264cff40862f271e0f07306d12a41f060580433b2f35726", + "CLIFFORD-REVIEW.json": "22f5a612026183fe874703f9d7c17bb3c10f6dff9a0fabcac68611b6b0a5b799", + "RESIDUAL-ADAPTERS.json": "55281b345e902c04c38a6e82a44e2c84467cd1b93198c101d5cb00d8f7bf40fb" + } + }, + "semantic_phase_sha256": "22f5a612026183fe874703f9d7c17bb3c10f6dff9a0fabcac68611b6b0a5b799", + "expected_local": { + "forward": { + "events": 25188, + "macros": 20066, + "real_component_primitives": 202738, + "prefix_l1": "20850181435196129", + "coefficient_work_primitive_count": 100239 + }, + "backward": { + "events": 25188, + "macros": 20066, + "real_component_primitives": 202786, + "prefix_l1": "1975431840150172116949528677/256", + "coefficient_work_primitive_count": 100271 + } + }, + "wrappers": 258 + } + }, + "expected": { + "gain_baseline_kappa": "0.001636241501576388", + "hosted_residuals": 35208, + "rank_mass": 520704, + "actual_73column_sigmas": 9543, + "cross_replica_helper_roles": 27096, + "idle_remainders": 3360, + "idle_remainder_profile": { + "1": 541, + "2": 8, + "3": 113, + "7": 280, + "8": 23, + "16": 18, + "32": 13, + "48": 2364 + }, + "global_profile": { + "1": 177877, + "2": 27944, + "3": 31001, + "4": 11952, + "5": 5040, + "7": 280, + "8": 599, + "16": 18, + "32": 13, + "48": 2364 + }, + "live": 7168, + "physical": 7667, + "conservative_kappa_decimal": "0.001664233604589014", + "kappa_decimal": "0.001664233607446043", + "complex_lower": "1667007898013796187659/1000000000000000000000000", + "conservative_complex_lower": "1667007895147233886617/1000000000000000000000000", + "kappa": "1664233607446043/1000000000000000000", + "assembly_controls_rejected": 69, + "provider_counts": { + "gauge44": 72 + }, + "mutations_rejected": 15 + }, + "pivot_swap": { + "recipe": "construction/leaver/PIVOT-SWAP-k5.json", + "sha256": "5635d6db2ce94cbff0f07d2c1ccbe9e53f72ab9c285a84563a39dd98241ffe74" + } +} diff --git a/research/gauge44-leaver/data/UPSTREAM-PINS.json b/research/gauge44-leaver/data/UPSTREAM-PINS.json new file mode 100644 index 0000000000..68486b84e3 --- /dev/null +++ b/research/gauge44-leaver/data/UPSTREAM-PINS.json @@ -0,0 +1,23 @@ +{ + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/CANONICAL-WORD.json.gz": "66d3c3c70983224650643a0a05a21ac6c6959f84d0f4528650601016f5a76844", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/CLIFFORD-RECIPES.json": "534ace870cabe515987e00f50f71550030965006ea18978e0924590ac6944345", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/CLIFFORD-REVIEW.json": "ee9b86428278392d2c933f76d60e51f5af90d4ab67e4d3937ed2fa416e7755ab", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/INDEPENDENT-LOCAL-REPLAY.json": "ad3f2b941127688f98ce6872d00f110644f1c2b156f8adad1b6700e838ed0e26", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/INDEPENDENT-REPLAY.json": "ad3f2b941127688f98ce6872d00f110644f1c2b156f8adad1b6700e838ed0e26", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/INTEGRATION.json": "5c14538134dfffbc58fa4b4d2f26b270ec5f56d17d4bf23752c82964f45171db", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/LOCAL-CHECKS.json": "79177449e404403964ce1b2f4a9a8bd49e1916daba3123d7fd7f5cfd1f1ac0ea", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/LOCAL-PROGRAMS.json.gz": "99a18eede965accf65943e490b8d2b2ffb9f1c9bc6babdb825413a80cbea2cde", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/RESIDUAL-ADAPTERS.json": "baafef737acc16dafbe1150896feb16744f3d669fa123bb2bff19ecc4e71b275", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/SCALAR-FRAME-AUDIT.json": "73b3601a6239502475a272ea0c46945fd42034486aaf43e66a212eb4f012ca44", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/WRAPPER-CHECKS.json": "9a09146e686c4f535b04fdef3753fe01dad8f5e8881a69408a91394acb5b48f5", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/work/complex-nine-native/DATA-PHASES.json": "c5916ff312678f12aba403847643fbbc29f643acec60bdf836fa56cd3e8251fa", + "research/complex-k492-owner-repair/vendor/multicold/code/run_portable.py": "322d29d43dbee8130cde15d4bf05396698b5e3dfe3735813899db91cc0ba7955", + "research/complex-k492-owner-repair/vendor/multicold/engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "research/complex-k492-owner-repair/vendor/multicold/engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "research/complex-k492-owner-repair/vendor/multicold/engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "research/complex-k492-owner-repair/vendor/multicold/inputs/PR543-EXPECTED.json": "06eccee9f6b77e140833df83407e7996dc948c17d49b0779ab171fbe463fd28d", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/evidence/audit/PREFIX-AND-INVOICE.json": "ce1bfa49be88ae67a404f606a11db2232b7e1f2610d4418058e39749d86d8478", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor535/inputs/ROUND20-PARENT-TEMPLATE.json.gz": "025448abdf2012d327e50a009084e1501690d05e650300d2982836aa0350ae00", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/controller-input/split-centres/CANONICAL-WORD.json.gz": "de2be0f4b6d24ace368fd5b834b7a00f9625d0a1824c4ff969f2db5f115db667", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/code/prepare_supplier_base.py": "f5eae94aca965d0008bc07cff8245ccb7509042ccad457d3bcb7d51c1e9409f0" +} diff --git a/research/gauge44-leaver/evidence/ADMISSION-CONTROLS.json b/research/gauge44-leaver/evidence/ADMISSION-CONTROLS.json new file mode 100644 index 0000000000..2e15a10065 --- /dev/null +++ b/research/gauge44-leaver/evidence/ADMISSION-CONTROLS.json @@ -0,0 +1,102 @@ +{ + "status": "PASS_EXACT_MIXED_048_ALLCOLD_NATIVE_ASSEMBLY_ADMISSION_NEGATIVE_CONTROLS", + "valid_receipt_kappa": "1649483702558979/1000000000000000000", + "input_sha256": { + "owner_audit": "a32ecc0d5387d65648e1ff284209122860ee37aaba43ce2dd12024c4bc394313", + "fresh_invoice": "14b0f41c88209e800236ce4ebbf91d83537e22e18807153d90013f7eee57a582", + "inputs/PR543-EXPECTED.json": "06eccee9f6b77e140833df83407e7996dc948c17d49b0779ab171fbe463fd28d", + "engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c" + }, + "assembler_sha256": "7ac28118d69416e4fb67b61216285fb0823310b7635ce1b9025aa3f10119ef6a", + "rejected_controls": [ + "empty_certification_maps", + "failed_invoice_status", + "nonboolean_precision_check", + "wrong_owner_role_count", + "understated_physical_stock", + "changed_profile_same_rank_mass", + "insufficient_finite_C0", + "missing_finite_check", + "wrong_reflected_orientation_selfconsistent_totals", + "missing_selected_call", + "wrong_selected_primitive_sum", + "wrong_selected_coefficient_work_sum", + "unpaid_wrapper_factors", + "wrong_global_compiler", + "wrong_global_adapter_maximum", + "understated_exact_prefix_and_global_sum", + "wrong_global_prefix_sum", + "wrong_row_prefix_reserve", + "wrong_parent_geometry_charge", + "wrong_rebased_geometry_charge", + "wrong_complete_pervertex_envelope", + "wrong_prior_added_complete_invoice", + "wrong_finite_router_bits", + "wrong_finite_literal_bits", + "wrong_finite_physical_stock_bits", + "wrong_finite_row_coefficient", + "reordered_complete_calls", + "understated_explicit_idle_remainders", + "understated_actual_chart_types", + "wrong_cross_replica_role_count", + "old_no_cold_wrapper_counts_selfconsistent", + "gauge44:missing_provider", + "gauge44:missing_backward_orientation", + "gauge44:unpaid_scalar_primitive", + "gauge44:wrong_local_artifact_binding", + "gauge44:false_dirty_restoration", + "gauge44:wrong_declared_provider_count", + "gauge44:wrong_local_compiler", + "gauge44:wrong_local_adapter_charge", + "gauge44:wrong_local_primitive_bound", + "gauge44:forged_provider_and_call_program_hash", + "gauge44:provider_at_wrong_call", + "gauge44:synchronized_forged_source_recipe_hash", + "gauge44:synchronized_forged_phase_review_semantics", + "gauge44:width_order_swap_4_5", + "gauge44:width_inventory_shift_4_5", + "gauge44:width_order_swap_4_7", + "gauge44:width_inventory_shift_4_7", + "gauge44:width_order_swap_4_8", + "gauge44:width_inventory_shift_4_8", + "gauge44:width_order_swap_4_9", + "gauge44:width_inventory_shift_4_9", + "gauge44:width_order_swap_5_7", + "gauge44:width_inventory_shift_5_7", + "gauge44:width_order_swap_5_8", + "gauge44:width_inventory_shift_5_8", + "gauge44:width_order_swap_5_9", + "gauge44:width_inventory_shift_5_9", + "gauge44:width_order_swap_7_8", + "gauge44:width_inventory_shift_7_8", + "gauge44:width_order_swap_7_9", + "gauge44:width_inventory_shift_7_9", + "gauge44:width_order_swap_8_9", + "gauge44:width_inventory_shift_8_9", + "gauge44:cold_helper_width_swap_264", + "gauge44:cold_helper_width_swap_276", + "gauge44:cold_helper_width_swap_288", + "gauge44:cold_helper_width_swap_300", + "wrong_owner_receipt_hash" + ], + "discovery_accepted_controls": [], + "exact_outer_controls": [ + "next_grid", + "zero_eta", + "zero_beta", + "unit_beta" + ], + "conservative_outer_controls": [ + "next_grid", + "zero_eta", + "zero_beta", + "unit_beta" + ], + "recurrence_model_controls": [ + "native_complex_endpoint_rejected_with_old_surcharge", + "omitting_bit_surcharge_would_fail_next_endpoint_rejection" + ], + "scope": "Complete receipt schema; ordered widths and both reflected providers; exact program, work and paid-profile binding; independently recounted compiler, conservative envelope and finite inequalities. Does not replace fresh physical replay." +} diff --git a/research/gauge44-leaver/evidence/ASSEMBLY.json b/research/gauge44-leaver/evidence/ASSEMBLY.json new file mode 100644 index 0000000000..6feaaf28f5 --- /dev/null +++ b/research/gauge44-leaver/evidence/ASSEMBLY.json @@ -0,0 +1,336 @@ +{ + "status": "PASS_GAUGE44_NATIVE_EXACT_GLOBAL_ASSEMBLY", + "kappa": "1649483702558979/1000000000000000000", + "kappa_decimal": "0.001649483702558979", + "complex_lower": "1652208994368411824947/1000000000000000000000000", + "complex_decimal": "0.001652208994368411824947", + "bit_lower": "413456747036699736067/250000000000000000000000", + "bit_decimal": "0.001653826988146798944268", + "binding": "complex", + "gain_over_pr635_percent": "0.8093060205252829126484020359439672024956960385078942889840023844750830", + "complex_profile": { + "1": 181093, + "2": 29164, + "3": 32429, + "4": 11520, + "5": 4032, + "7": 7, + "8": 582, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + }, + "provider_counts": { + "gauge44": 72 + }, + "surcharge_model": { + "complex": false, + "bit": true + }, + "conservative_complex_lower": "826104495740783435531/500000000000000000000000", + "conservative_complex_decimal": "0.001652208991481566871062", + "conservative_kappa": "32989673993633/20000000000000000", + "conservative_kappa_decimal": "0.00164948369968165", + "conservative_moments": [ + { + "side": "conservative_complex", + "surcharge": true, + "endpoint": "826104495740783435531/500000000000000000000000", + "accept": true, + "mercator": [ + "-21470727653278306311183666306239229019733127/13479973333575319897333507543509815336818572211270286240551805124608", + "-10735363826639153155591833153119614509866563/6739986666787659948666753771754907668409286105635143120275902562304" + ], + "base_two": [ + "-497746012127833654257/312500000000000000000000000000000000000000000", + "-15927862388090676936081/10000000000000000000000000000000000000000000000" + ] + }, + { + "side": "conservative_complex", + "surcharge": true, + "endpoint": "1652208991481566871063/1000000000000000000000000", + "accept": false, + "mercator": [ + "18565857384700607217299861034814026061253869/13479973333575319897333507543509815336818572211270286240551805124608", + "9282928692350303608649930517407013030626935/6739986666787659948666753771754907668409286105635143120275902562304" + ], + "base_two": [ + "3443229403069298452661/2500000000000000000000000000000000000000000000", + "6886463806138596905393/5000000000000000000000000000000000000000000000" + ] + } + ], + "conservative_bootstrap": [ + { + "exponent": "412385685180656454166549264744655866734211385357236332091088842586409092836277952888766748039/250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "666562689735263598950072203096262874070849142763667908911157413590907163722047111233251961/250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "5064079519162" + }, + { + "exponent": "206525573284761175512531267070234734086162997564863775372380915312260537579589712487639916151798780772051965162106786567177267184954922826291/125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "550650434683370218401403641330717978119685136224627619084687739462420410287512360083848201219227948034837893213432822732815045077173709/125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "1855113791006194394" + }, + { + "exponent": "103263061512703129767826074285021991628452086339263045204373010454992865610677336738873844192820011712987227316937414267052501172258472295234559238219891652401488082322583795324180689654479/62500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "454894799673548759951916040773618472285736954795626989545007134389322663261126155807179988287012772683062585732947498827741527704765440761780108347598511917677416204675819310345521/62500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "679580003544484094184219" + }, + { + "exponent": "51631530983423174081587995422763705511463803560275446891594962002253805557680841136478473308373535599630472737022595278769657751046420516932624996624821336420775380353032156988877311591948170858471939709729324917119896056841137038106651/31250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "375790639099421695705310689571475752224553108405037997746194442319158863521526691626464400369527262977404721230342248953579483067375003375178663579224619646967843011122688408051829141528060290270675082880103943158862961893349/31250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "248949139107542177224284717390" + }, + { + "exponent": "25815765491899171918007291224739112961920330868753566637213660249294181959373199689620973587025160691744778232655677905734546021049010279802309251671202559782629995396349706306018533755676891522445602691753137818884540822614505790975637207188084426480115050716386268926740408639183319/15625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "310442336417334495395138597308787496433362786339750705818040626800310379026412974839308255221767344322094265453978950989720197690748328797440217370004603650293693981466244323108477554397308246862181115459177385494209024362792811915573519884949283613731073259591360816681/15625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "91197023954707297182834066510188309" + }, + { + "exponent": "12907882745949740923714044496984490980274913441911668026309349328701170257318232044487278001962200060194315656940445191119148905788010009704145659576637708822386921067210646238981446862191953905605296632993352808355973492462268456184932241751785844259109396882935383667850308942850925398049837650776722500045535479944043369072892611/7812500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "256457809782632763069983906386213331973690650671298829742681767955512721998037799939805684343059554808880851094211989990295854340423362291177613078932789353761018553137808046094394703367006647191644026507537731543815067758248214155740890603117064616332149691057149074601950162349223277499954464520055956630927107389/7812500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "33408017428823827582408170997246977713592" + }, + { + "exponent": "6453941372974870589874066190179359429223492150943942660253925369657676501670157676520076923585728651827056389733462702476438321555395171695829522825243816397176490500987320047869073790658506195324550255473939677250207018200219145476567868694651116496373252177209611861852333112633908219202390034583139015516104491880456514987243190785983454804003067787432731319536372259595238559/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "211860949629267595905917763118557339746074630342323498329842323479923076414271348172943610266537297523561678444604828304170477174756183602823509499012679952130926209341493804675449744526060322749792981799780854523432131305348883503626747822790388138147666887366091780797609965416860984483895508119543485012756809214016545195996932212567268680463627740404761441/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "12238290024451914798381844566546350371351403966" + } + ], + "conservative_outer": { + "bit_positive": "6453941372974870589874066190179359429223492150943942660253925369657676501670157676520076923585728651827056389733462702476438321555395171695829522825243816397176490500987320047869073790658506195324550255473939677250207018200219145476567868694651116496373252177209611861852333112633908219202390034583139015516104491880456514987243190785983454804003067787432731319536372259595238559/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "complex_above_bit": "211871309820640570776507849056057339746074630342323498329842323479923076414271348172943610266537297523561678444604828304170477174756183602823509499012679952130926209341493804675449744526060322749792981799780854523432131305348883503626747822790388138147666887366091780797609965416860984483895508119543485012756809214016545195996932212567268680463627740404761441/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "complex_below_one_over32": "14798895504259216564469/500000000000000000000000", + "beta_positive": "1/1000000000000000000000000", + "beta_below_one": "999999999999999999999999/1000000000000000000000000", + "leaf_saving_above_bit": "211864855879267595905917763118557339746074630342323498329842323479923076414271348172943610266537297523561678444604828304170477174756183602823509499012679952130926209341493804675449744526060322749792981799780854523432131305348883503626747822790388138147666887366091780797609965416860984483895508119543485012756809214016545195996932212567268680463627740404761441/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_positive": "3226970686487435294937026641148306739741156201405781150767533461336687306892418584334668804116362655755851674789807765509567333721307852385212284974300352803416549420970834780118139718838752110342227258663179180118908184549854098798606684140307358029041149520736111279809670183064776899989333164958456873849833043550193674354606079288499846945486546650525579676313382126729831846768680463627740404761441/1953125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_internal": "6453941372974870589874066190179359429223492150943942660253925369657676501670157676520076923585728651827056389733462702476438321555395171695829522825243816397176490500987320047869073790658506195324550255473939677250207018200219145476567868694651116496373252177209611861852333112633908219202390034583139015516104491880456514987243190785983454804003067787432731319536372259595238559/1953125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_leaf": "105938881881006772823548755625468849232466538663312693107581415665331195883637344244148325210192234490432666278692147614787715025699647196583450579029165219881860281161247889657772741336820819881091815450145901201393315859692641970958850479263888720190329816935223100010666835041543126150166956449806325645393920711500153054513453349474420323686617873270168153231319536372259595238559/1953125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "c_positive": "3226970686487435294937514922398306739741156201405781150767533461336687306892418584334668804116362655755851674789807765509567333721307852385212284974300352803416549420970834780118139718838752110342227258663179180118908184549854098798606684140307358029041149520736111279809670183064776899989333164958456873849833043550193674354606079288499846945486546650525579676313382126729831846768680463627740404761441/1953125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "c_below_one": "1949898029313512564705062485077601693260258843798594218849232466538663312693107581415665331195883637344244148325210192234490432666278692147614787715025699647196583450579029165219881860281161247889657772741336820819881091815450145901201393315859692641970958850479263888720190329816935223100010666835041543126150166956449806325645393920711500153054513453349474420323686617873270168153231319536372259595238559/1953125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_reservations": "1/4000000000000000000000000", + "lambda_above_tau": "6453941372974870589874066190179359429223492150943942660253925369657676501670157676520076923585728651827056389733462702476438321555395171695829522825243816397176490500987320047869073790658506195324550255473939677250207018200219145476567868694651116496373252177209611861852333112633908219202390034583139015516104491880456514987243190785983454804003067787432731319536372259595238559/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_above_sigma": "211877763762013545647097723122247519105503853834474442272502577405292734090773018330620130343460883252213505500994561766872953613077738997995205328535505195947323385831994791995497613599850981255988306350036328463109381512367083722772224390659082789264163260618268990409471817749973618392114710509578068151772325318508425652511919455758054663918431743472548873731319536372259595238559/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_above_internal": "6453941372974870589874066190179359429223492150943942660253925369657676501670157676520076923585728651827056389733462702476438321555395171695829522825243816397176490500987320047869073790658506195324550255473939677250207018200219145476567868694651116496373252177209611861852333112633908219202390034583139015516104491880456514987243190785983454804003067787432731319536372259595238559/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_prime_above_lambda": "6453941372974870589874066190179359429223492150943942660253925369657676501670157676520076923585728651827056389733462702476438321555395171695829522825243816397176490500987320047869073790658506195324550255473939677250207018200219145476567868694651116496373252177209611861852333112633908219202390034583139015516104491880456514987243190785983454804003067787432731319536372259595238559/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_leaf": "105938881881006772823548755625468849232466538663312693107581415665331195883637344244148325210192234490432666278692147614787715025699647196583450579029165219881860281161247889657772741336820819881091815450145901201393315859692641970958850479263888720190329816935223100010666835041543126150166956449806325645393920711500153054513453349474420323686617873270168153231319536372259595238559/1953125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_reservations": "1/4000000000000000000000000", + "lambda_prime_below_one": "3226970686487435294937026641148306739741156201405781150767533461336687306892418584334668804116362655755851674789807765509567333721307852385212284974300352803416549420970834780118139718838752110342227258663179180118908184549854098798606684140307358029041149520736111279809670183064776899989333164958456873849833043550193674354606079288499846945486546650525579676313382126729831846768680463627740404761441/1953125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "epsilon_positive": "1953124999999999999999998046875000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000/1956351970686487435294937026641148306739741156201405781150767533461336687306892418584334668804116362655755851674789807765509567333721307852385212284974300352803416549420970834780118139718838752110342227258663179180118908184549854098798606684140307358029041149520736111279809670183064776899989333164958456873849833043550193674354606079288499846945486546650525579676313382126729831846768680463627740404761441", + "epsilon_below_one": "3226970686487435294938979766148306739741156201405781150767533461336687306892418584334668804116362655755851674789807765509567333721307852385212284974300352803416549420970834780118139718838752110342227258663179180118908184549854098798606684140307358029041149520736111279809670183064776899989333164958456873849833043550193674354606079288499846945486546650525579676313382126729831846768680463627740404761441/1956351970686487435294937026641148306739741156201405781150767533461336687306892418584334668804116362655755851674789807765509567333721307852385212284974300352803416549420970834780118139718838752110342227258663179180118908184549854098798606684140307358029041149520736111279809670183064776899989333164958456873849833043550193674354606079288499846945486546650525579676313382126729831846768680463627740404761441", + "guard_width": "3226970686487435294938979766148306739741156201405781150767533461336687306892418584334668804116362655755851674789807765509567333721307852385212284974300352803416549420970834780118139718838752110342227258663179180118908184549854098798606684140307358029041149520736111279809670183064776899989333164958456873849833043550193674354606079288499846945486546650525579676313382126729831846768680463627740404761441/1956351970686487435294937026641148306739741156201405781150767533461336687306892418584334668804116362655755851674789807765509567333721307852385212284974300352803416549420970834780118139718838752110342227258663179180118908184549854098798606684140307358029041149520736111279809670183064776899989333164958456873849833043550193674354606079288499846945486546650525579676313382126729831846768680463627740404761441", + "K_geometry": "1468070720686487435294937514922398306739741156201405781150767533461336687306892418584334668804116362655755851674789807765509567333721307852385212284974300352803416549420970834780118139718838752110342227258663179180118908184549854098798606684140307358029041149520736111279809670183064776899989333164958456873849833043550193674354606079288499846945486546650525579676313382126729831846768680463627740404761441/1956351970686487435294937026641148306739741156201405781150767533461336687306892418584334668804116362655755851674789807765509567333721307852385212284974300352803416549420970834780118139718838752110342227258663179180118908184549854098798606684140307358029041149520736111279809670183064776899989333164958456873849833043550193674354606079288499846945486546650525579676313382126729831846768680463627740404761441000000000000000000000000", + "K_dominates_log": "3226970686487435294937511695427620252305861263890858752460793720180485901111267816801207467429055763337267340121003649146911577869633062577446775406966631495564164208685860479765336302289331139507447140523460341366797842322595435619426565232122808174942350914051970972451641141915256163878053355288273809072933054217028715897732229455456296751812192044446291176466436640183181321189004150245613674929594231319536372259595238559/1956351970686487435294937026641148306739741156201405781150767533461336687306892418584334668804116362655755851674789807765509567333721307852385212284974300352803416549420970834780118139718838752110342227258663179180118908184549854098798606684140307358029041149520736111279809670183064776899989333164958456873849833043550193674354606079288499846945486546650525579676313382126729831846768680463627740404761441000000000000000000000000", + "record_suffix": "3226970686487435294938979766148306739741156201405781150767533461336687306892418584334668804116362655755851674789807765509567333721307852385212284974300352803416549420970834780118139718838752110342227258663179180118908184549854098798606684140307358029041149520736111279809670183064776899989333164958456873849833043550193674354606079288499846945486546650525579676313382126729831846768680463627740404761441/1956351970686487435294937026641148306739741156201405781150767533461336687306892418584334668804116362655755851674789807765509567333721307852385212284974300352803416549420970834780118139718838752110342227258663179180118908184549854098798606684140307358029041149520736111279809670183064776899989333164958456873849833043550193674354606079288499846945486546650525579676313382126729831846768680463627740404761441", + "phase_local": "25815765491899482359509881777215767430493954674219608057833527949537297049358197907143889096243594353628229063649658007713882913918788029273932770227069101119480010155481703940592314334160595911903037951165714602199155134171574127209673354214274314378230397559204749931119332423368694463803385509997471926021764359068384436379974784474955225370218018598125348910660111527292004248569767395639796508259681231319536372259595238559/15650815765491899482359496213129186453917929249611246249206140267690693498455139348674677350432930901246046813398318462124076538669770462819081698279794402822427332395367766678240945117750710016882737818069305433440951265476398832790388853473122458864232329196165888890238477361464518215199914665319667654990798664348401549394836848634307998775563892373204204637410507057013838654774149443709021923238091528000000000000000000000000", + "phase_boundary": "5163153098379896471900411273866604296150554985222608692921313796982498285246718967402008749898873356790778344994888308452651978102417774008574146391546843177614093861268361347836220133592582405712783495721367849438142753052507894898590575716307222992367040626493637740337443251754122303871653254263347933382832880347144920510495877028556204919104120034761638982254465916221080429250212428422257917786458831319536372259595238559/3130163153098379896471899242625837290783585849922249249841228053538138699691027869734935470086586180249209362679663692424815307733954092563816339655958880564485466479073553335648189023550142003376547563613861086688190253095279766558077770694624491772846465839233177778047695472292903643039982933063933530998159732869680309878967369726861599755112778474640840927482101411402767730954829888741804384647618305600000000000000000000000", + "gamma_sublinear": "1/2000000000000000000000000", + "cell_above_band": "3906249999999999999999994137398029313512564705062973358851693260258843798594218849232466538663312693107581415665331195883637344244148325210192234490432666278692147614787715025699647196583450579029165219881860281161247889657772741336820819881091815450145901201393315859692641970958850479263888720190329816935223100010666835041543126150166956449806325645393920711500153054513453349474420323686617873270168153231319536372259595238559/7825407882745949741179748106564593226958964624805623124603070133845346749227569674337338675216465450623023406699159231062038269334885231409540849139897201411213666197683883339120472558875355008441368909034652716720475632738199416395194426736561229432116164598082944445119238680732259107599957332659833827495399332174200774697418424317153999387781946186602102318705253528506919327387074721854510961619045764000000000000000000000000", + "prime_interval_packing": "3226970686487435294938979766148306739741156201405781150767533461336687306892418584334668804116362655755851674789807765509567333721307852385212284974300352803416549420970834780118139718838752110342227258663179180118908184549854098798606684140307358029041149520736111279809670183064776899989333164958456873849833043550193674354606079288499846945486546650525579676313382126729831846768680463627740404761441/1956351970686487435294937026641148306739741156201405781150767533461336687306892418584334668804116362655755851674789807765509567333721307852385212284974300352803416549420970834780118139718838752110342227258663179180118908184549854098798606684140307358029041149520736111279809670183064776899989333164958456873849833043550193674354606079288499846945486546650525579676313382126729831846768680463627740404761441", + "alpha_positive": "6453941372974870589876003180325926992047017465784921153228327181517173208003686401135876271545418419093119014910811414656478911590940914962659060381266984298980713629656695259883476021128083249849674399186639521485706026872449534418033249372430166203983500434788082252261311324980033063867386520246730682922766097767222390252338308743956143697298738694971870852779818766913013167957684613873354079691035231319536372259595238559/3912703941372974870589874053282296613479482312402811562301535066922673374613784837168669337608232725311511703349579615531019134667442615704770424569948600705606833098841941669560236279437677504220684454517326358360237816369099708197597213368280614716058082299041472222559619340366129553799978666329916913747699666087100387348709212158576999693890973093301051159352626764253459663693537360927255480809522882000000000000000000000000", + "alpha_below_one": "3906249999999999999999998050101970686487435294937026641148306739741156201405781150767533461336687306892418584334668804116362655755851674789807765509567333721307852385212284974300352803416549420970834780118139718838752110342227258663179180118908184549854098798606684140307358029041149520736111279809670183064776899989333164958456873849833043550193674354606079288499846945486546650525579676313382126729831846768680463627740404761441/3912703941372974870589874053282296613479482312402811562301535066922673374613784837168669337608232725311511703349579615531019134667442615704770424569948600705606833098841941669560236279437677504220684454517326358360237816369099708197597213368280614716058082299041472222559619340366129553799978666329916913747699666087100387348709212158576999693890973093301051159352626764253459663693537360927255480809522882000000000000000000000000", + "alpha_below_one_fourth": "971722043970268847057592510140248226377823560634917969422155439549151170445442522891031458130512762908784806822484092468098304755269713011229947082105883192102727561080828722130175593838291292805321439230144950068573748065402477514981270092697723512810537074325579973387643523766552355386127280062232497754002150424007874446924964730900293779775444534630290918985376872296451902755426655617940516122689685268680463627740404761441/3912703941372974870589874053282296613479482312402811562301535066922673374613784837168669337608232725311511703349579615531019134667442615704770424569948600705606833098841941669560236279437677504220684454517326358360237816369099708197597213368280614716058082299041472222559619340366129553799978666329916913747699666087100387348709212158576999693890973093301051159352626764253459663693537360927255480809522882000000000000000000000000", + "delta_positive": "1/8000000000000000000000000", + "delta_below_one_eighth": "999999999999999999999999/8000000000000000000000000", + "short_record_fallback": "7616768350326285557500319775653039882167791373606484433247966343434288108018622581046971563310328015701829825865161075895589557869002227910163859966123751049011574089086818827397845295188747039740805603604306735718724487573983298303347943047832446306575284675533737097663574583370895732239816339414872288224973497321202082691939259199649525897121646158714570558007923356081995983858955555812385514139941650448054969080495460839451184943579045934071718914451277154414260694865402045088246492924621190212696589297290139170457113442903864489881182428482943926033330169648915939096761899935129171461630633550206360734465453786062702930868880734179253684068961295379267720699847283311726943651844776757599676210480855235552712881882161583412704615034946691001348844134260624423778504120396481/7641999885494091544120847760316985573202113891411741332620185677583346434792548510095057300016079541624046295604647686584021747397348858798379735488180860753138345896175667323359836483276713875431024325229153043672339485095897867573432057359923075617300941990315375434686756524152596784765583332675618972163475910326367944040447679997220702527130806822853615545610599148932538405651440158061045860956099378906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "small_field_exposure": "1/1000000000000000000000000", + "artificial_boundary": "109581526123935195858875991199089403690805739881701049917094042360749016591858458241700019187473509130645630260190554109341700276625718726922076882767057223743342216318578988348828619352255328397974406884908862624043866454837872438312648368141704224563420929965147163542829892978839594283807651161986351789120720014755211890034065410623963120855092162049451874964783597292570349189769934578612321766094227764306041390883221214284323/15650815765491899482359496213129186453917929249611246249206140267690693498455139348674677350432930901246046813398318462124076538669770462819081698279794402822427332395367766678240945117750710016882737818069305433440951265476398832790388853473122458864232329196165888890238477361464518215199914665319667654990798664348401549394836848634307998775563892373204204637410507057013838654774149443709021923238091528000000000000000000000000", + "literal_scalar_guard": "1", + "row_product_gap": "23971789/25", + "balanced_prefix_above_kappa": "22200664394464068201218451251709660099895005854056647094104902383532607617880707943289313682606481683041097904310248641310014220990880046435669692660714113332169622156571009112311747389402252920606378362090592667540916232777689188179337564977308018790044043286680427258859028858029102001845446586248858526682126585053940466953916779314590626875566608934902197480400674781390017936270431029836796882094847/39127039413729748705898740532822966134794823124028115623015350669226733746137848371686693376082327253115117033495796155310191346674426157047704245699486007056068330988419416695602362794376775042206844545173263583602378163690997081975972133682806147160580822990414722225596193403661295537999786663299169137476996660871003873487092121585769996938909730933010511593526267642534596636935373609272554808095228820000000000000000", + "coordinate_movement_above_kappa": "10645671093425277374066190179359429223492150943942660253925369657676501670157676520076923585728651827056389733462702476438321555395171695829522825243816397176490500987320047869073790658506195324550255473939677250207018200219145476567868694651116496373252177209611861852333112633908219202390034583139015516104491880456514987243190785983454804003067787432731319536372259595238559/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_phase_layer_above_kappa": "1110031263371232723573487267648456363846443552961676153299463968409096919557348090272047099795655280035692239459660757275692945539976668600475632247823420692308128304412001034644752589351972927191566807762302374713866631519976274859112779450258716799194844135292871842206840163091784917027495429323109761375649455402863979797502164611123452055278483501258563223494454062756118770083689704723159380477001945238559/1956351970686487435294937026641148306739741156201405781150767533461336687306892418584334668804116362655755851674789807765509567333721307852385212284974300352803416549420970834780118139718838752110342227258663179180118908184549854098798606684140307358029041149520736111279809670183064776899989333164958456873849833043550193674354606079288499846945486546650525579676313382126729831846768680463627740404761441000000000000000000000000", + "bulk_exposure_above_kappa": "10645671093425277374066190179359429223492150943942660253925369657676501670157676520076923585728651827056389733462702476438321555395171695829522825243816397176490500987320047869073790658506195324550255473939677250207018200219145476567868694651116496373252177209611861852333112633908219202390034583139015516104491880456514987243190785983454804003067787432731319536372259595238559/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "Gaussian_arithmetic_above_kappa": "1776051195205154769610040805199746166843293728583375566122611039915075148093769328570726510273849730526925176588968216514993372169703069993545723027644844092273216969109131308014105011034040514809758158625020154740094118503306950504492906399577957362896165433893284659972611028832657977082858826910575517176113252954482193806119667990561170861545481769305629147906474306197819308171802635618263286939847355238559/3130163153098379896471899242625837290783585849922249249841228053538138699691027869734935470086586180249209362679663692424815307733954092563816339655958880564485466479073553335648189023550142003376547563613861086688190253095279766558077770694624491772846465839233177778047695472292903643039982933063933530998159732869680309878967369726861599755112778474640840927482101411402767730954829888741804384647618305600000000000000000000000", + "scalar_work_above_kappa": "8880263801433656593999945205746837398809695601881502636236179802645509585815595870423306888707923869100076505968247781734197922886784684852960024679073360358567496059211854223953864175642761449403799234494009808353187312992167490721880927192316523375710259285631021382807500263401970617673401734510210245714393760171743143231373037371230171461726796628474332341634690236242625047778340565166038289210198395238559/15650815765491899482359496213129186453917929249611246249206140267690693498455139348674677350432930901246046813398318462124076538669770462819081698279794402822427332395367766678240945117750710016882737818069305433440951265476398832790388853473122458864232329196165888890238477361464518215199914665319667654990798664348401549394836848634307998775563892373204204637410507057013838654774149443709021923238091528000000000000000000000000", + "dimension_above_kappa": "38997960586270251316301845736641102066423628127681544476879655184829913347967054011845914241798380690174196649110685527730906557635822484262309975291394039379601361672294696636567259362194234070104902844228989337004000198399595585564944099094883041018756741986893296564447849883019131720859242194729932864368449925377854653195034463468170470015007048381580115282040341292367600843465301172117463128175202209836796882094847/39127039413729748705898740532822966134794823124028115623015350669226733746137848371686693376082327253115117033495796155310191346674426157047704245699486007056068330988419416695602362794376775042206844545173263583602378163690997081975972133682806147160580822990414722225596193403661295537999786663299169137476996660871003873487092121585769996938909730933010511593526267642534596636935373609272554808095228820000000000000000" + }, + "conservative_controls": [ + "next_grid", + "zero_eta", + "zero_beta", + "unit_beta" + ], + "model_controls": [ + "native_complex_endpoint_rejected_with_old_surcharge", + "omitting_bit_surcharge_would_fail_next_endpoint_rejection" + ], + "native_correction_gain": "2.877329E-12", + "template_sha256": "0c2aab7dc120f5882a0171496cbbe819cac81373dcb425802a15f45e36898a46", + "input_sha256": { + "owner_audit": "a32ecc0d5387d65648e1ff284209122860ee37aaba43ce2dd12024c4bc394313", + "fresh_invoice": "14b0f41c88209e800236ce4ebbf91d83537e22e18807153d90013f7eee57a582", + "inputs/PR543-EXPECTED.json": "06eccee9f6b77e140833df83407e7996dc948c17d49b0779ab171fbe463fd28d", + "engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c" + }, + "bit_supplier": { + "pr": 543, + "repository": "eumemic/integer-mult-bounds", + "commit": "2065fe4f72a914d907f1046603f5a36f17018535", + "path": "research/e8-bit-r420/EXPECTED.json", + "git_blob_sha1": "b61d859826246e0c3dabbe096e57ad7015eadfd5", + "replay_scope": "Cited unchanged supplier; this assembly reprices its full profile and does not rebuild its bit circuit." + }, + "moments": [ + { + "side": "bit", + "surcharge": true, + "endpoint": "413456747036699736067/250000000000000000000000", + "accept": true, + "mercator": [ + "-6043813583626134311169770662156174867615397/13479973333575319897333507543509815336818572211270286240551805124608", + "-12087627167252268622339541324312349735230793/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "base_two": [ + "-1120888283015460284783/2500000000000000000000000000000000000000000000", + "-4483543132061841139029/10000000000000000000000000000000000000000000000" + ] + }, + { + "side": "bit", + "surcharge": true, + "endpoint": "1653826988146798944269/1000000000000000000000000", + "accept": false, + "mercator": [ + "70925594433828721229860776023154018035852861/26959946667150639794667015087019630673637144422540572481103610249216", + "70925594433828721229860776023154018035852863/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "base_two": [ + "13153878434097279887307/5000000000000000000000000000000000000000000000", + "6576941717048639943679/2500000000000000000000000000000000000000000000" + ] + }, + { + "side": "complex", + "surcharge": false, + "endpoint": "1652208994368411824947/1000000000000000000000000", + "accept": true, + "mercator": [ + "-55206003495063536066288437576157100010340973/26959946667150639794667015087019630673637144422540572481103610249216", + "-55206003495063536066288437576157100010340971/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "base_two": [ + "-409541/200000000000000000000000000000", + "-255963/125000000000000000000000000000" + ] + }, + { + "side": "complex", + "surcharge": false, + "endpoint": "413052248592102956237/250000000000000000000000", + "accept": false, + "mercator": [ + "12433583290374778086207959883025413594081851/13479973333575319897333507543509815336818572211270286240551805124608", + "3108395822593694521551989970756353398520463/3369993333393829974333376885877453834204643052817571560137951281152" + ], + "base_two": [ + "461187/500000000000000000000000000000", + "7379/8000000000000000000000000000" + ] + } + ], + "bootstrap": [ + { + "exponent": "1649542743600042455931461134358912270794693606912716279281008134403270623498780603221028447191/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "2666250768369369015536213432093360793481446087283720718991865596729376501219396778971552809/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "5064079483347" + }, + { + "exponent": "1652204589164911083386484432640289489025149021897345425947753889635290073672223126501218389623373546339575388781616555168351167510162074126123/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "4405203500741560512915150716142563026031102654574052246110364709926327776873498781610376626453660424611218383444831648832489837925873877/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "1855113771403454575" + }, + { + "exponent": "1652208987090094978998576337786240766660534086861443373660655035146913315879277165163676924708776055203276437395070714960859071205403889642411881787926277109463592646624985153186335324209519/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "7278316845948421010004764864927640966138556626339344964853086684120722834836323075291223944796723562604929285039140928794596110357588118212073722890536407353375014846813664675790481/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "679579993988641861825997" + }, + { + "exponent": "1652208994356386524390258236146418863551774879755022063719897338019847837294371501505671240293619314475646690108109592273827150181689732342308269781370466209964554813416396376690383672659155117856785386209592305112449619050994195020929507/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "12025300556739111644586768036400173244977936280102661980152162705628498494328759706380685524353309891890407726172849818310267657691730218629533790035445186583603623309616327340844882143214613790407694887550380949005804979070493/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "248949134737010607693751277429" + }, + { + "exponent": "1652208994368391956637257519960511230799265177421282452671784475034111396774491992172626292851745263613135372191632272357217972384735656024916702509923614329343687257847797050984709314880436174232795630101904826260914576699263441846242089246520580636287560130658033652250181465888988871/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "19868309739827830494400788909875578717547328215524965888603225508007827373707148254736386864627808367727642782027615264343975083297490076385670656312742152202949015290685119563825767204369898095173739085423300736558153757910753479419363712439869341966347749818534111011129/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "91197022034968984076452463608008868" + }, + { + "exponent": "1652208994368411792120397292749943827369551868295936383281836655065105377018214255389190697215906708539556278748557372371967341676249062946027583420481631348820521456435303894723559097730578401212966050397815062867751401948328742424744594348421190830426806021851515386550389899161084889489269714131354119389927583907816206322316835163/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "32826600055041061804218623184704063616718163344934894622981785744610809302784093291460443721251442627628032658323750937053972416579518368651179478543564696105276440902269421598787033949602184937132248598051671257575255405651578809169573193978148484613449610100838915110510730285868645880610072416092183793677683164837/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "33408016608824820410042813054159823398652" + }, + { + "exponent": "1652208994368411824892760943925532186602852295468626143987776322166643298144437891566249896386783794682250325982720570888808333058035587427982244795917897766192126153947302396188350346875998068356230515694247409920636392332411468502336205197989213263024053337331536239117696791845640104898504335919624091669350736887870142170348377574017694034808393425549949474408919442457789788639/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "54236403865473444985322757531373856012223677833356701855562108433750103613216205317749674017279429111191666941964412572017755204082102233807873846052697603811649653124001931643769484305752590079363607667588531497663794802010786736975946662668463760882303208154359895101495664080375908330649263112129857829651622425982305965191606574450050525591080557542210211361/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "12238289681296331108170086600566454188814599875" + } + ], + "outer": { + "bit_positive": "1652208994368411824892760943925532186602852295468626143987776322166643298144437891566249896386783794682250325982720570888808333058035587427982244795917897766192126153947302396188350346875998068356230515694247409920636392332411468502336205197989213263024053337331536239117696791845640104898504335919624091669350736887870142170348377574017694034808393425549949474408919442457789788639/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "complex_above_bit": "54239056074467813397147704531373856012223677833356701855562108433750103613216205317749674017279429111191666941964412572017755204082102233807873846052697603811649653124001931643769484305752590079363607667588531497663794802010786736975946662668463760882303208154359895101495664080375908330649263112129857829651622425982305965191606574450050525591080557542210211361/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "complex_below_one_over32": "29597791005631588175053/1000000000000000000000000", + "beta_positive": "1/1000000000000000000000000", + "beta_below_one": "999999999999999999999999/1000000000000000000000000", + "leaf_saving_above_bit": "54237403865473444985322757531373856012223677833356701855562108433750103613216205317749674017279429111191666941964412572017755204082102233807873846052697603811649653124001931643769484305752590079363607667588531497663794802010786736975946662668463760882303208154359895101495664080375908330649263112129857829651622425982305965191606574450050525591080557542210211361/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_positive": "826104497184205912446378819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361/500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_internal": "1652208994368411824892760943925532186602852295468626143987776322166643298144437891566249896386783794682250325982720570888808333058035587427982244795917897766192126153947302396188350346875998068356230515694247409920636392332411468502336205197989213263024053337331536239117696791845640104898504335919624091669350736887870142170348377574017694034808393425549949474408919442457789788639/500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_leaf": "27120354141731090904486271526630853538298441768973819553925041993197218449906247096766403258536101339390515721308189006579766410374109152491364905271144719803591018688154913124280930503223171037750160064309959996241818037397725779956475667539429869654414628130517279086986949736979799805429530060400848538917480563728040852737973635602599280489575087164530655629974408919442457789788639/500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "c_positive": "826104497184205912446503819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361/500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "c_below_one": "499173895502815794087553496180246228275110398745026630853538298441768973819553925041993197218449906247096766403258536101339390515721308189006579766410374109152491364905271144719803591018688154913124280930503223171037750160064309959996241818037397725779956475667539429869654414628130517279086986949736979799805429530060400848538917480563728040852737973635602599280489575087164530655629974408919442457789788639/500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_reservations": "1/4000000000000000000000000", + "lambda_above_tau": "1652208994368411824892760943925532186602852295468626143987776322166643298144437891566249896386783794682250325982720570888808333058035587427982244795917897766192126153947302396188350346875998068356230515694247409920636392332411468502336205197989213263024053337331536239117696791845640104898504335919624091669350736887870142170348377574017694034808393425549949474408919442457789788639/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_above_sigma": "54240708283462181808972597292317781544410280685652170481706096210072270256514349755641240267175815894986349192290395292588644012415160269395301828297493521709415845250155878946165672656099466077431963898104225745073715438403119148444448998873661750095566232207697226637734781777167753970754161616465777453743291776719193835333776922827624543285115365935635761310474408919442457789788639/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_above_internal": "1652208994368411824892760943925532186602852295468626143987776322166643298144437891566249896386783794682250325982720570888808333058035587427982244795917897766192126153947302396188350346875998068356230515694247409920636392332411468502336205197989213263024053337331536239117696791845640104898504335919624091669350736887870142170348377574017694034808393425549949474408919442457789788639/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_prime_above_lambda": "1652208994368411824892760943925532186602852295468626143987776322166643298144437891566249896386783794682250325982720570888808333058035587427982244795917897766192126153947302396188350346875998068356230515694247409920636392332411468502336205197989213263024053337331536239117696791845640104898504335919624091669350736887870142170348377574017694034808393425549949474408919442457789788639/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_leaf": "27120354141731090904486271526630853538298441768973819553925041993197218449906247096766403258536101339390515721308189006579766410374109152491364905271144719803591018688154913124280930503223171037750160064309959996241818037397725779956475667539429869654414628130517279086986949736979799805429530060400848538917480563728040852737973635602599280489575087164530655629974408919442457789788639/500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_reservations": "1/4000000000000000000000000", + "lambda_prime_below_one": "826104497184205912446378819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361/500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "epsilon_positive": "499999999999999999999999500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000/500826104497184205912446378819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361", + "epsilon_below_one": "826104497184205912446878819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361/500826104497184205912446378819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361", + "guard_width": "826104497184205912446878819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361/500826104497184205912446378819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361", + "K_geometry": "375826104497184205912446503819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361/500826104497184205912446378819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361000000000000000000000000", + "K_dominates_log": "826104497184205912446502993649274540683688808469549392689976668629771207076928496305244550523913306828275589938682348566856581045095069529521572980141612155697641674495265654305561472676750358020438873087795517117162964216620543226929219712762338530003520574278607528071365328345150260342882704677648330711849556926548888440882324865802019548110565281877964447551277650809104946969306080655644706740866990974408919442457789788639/500826104497184205912446378819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361000000000000000000000000", + "record_suffix": "826104497184205912446878819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361/500826104497184205912446378819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361", + "phase_local": "6608835977473647299574529731925676614910897593408133417921887576246954470199453202352864021374569577150910767128929639191122970995937746483463208107522848088258087337597252615680424341859665966150472359565233319852911843766450823253236493450978258070308190901502598440490462931431529306733974056518789732073842846503742948668459960919705733578944749832659769484124252040657390357559485218219547502212346517974408919442457789788639/4006608835977473647299571030558030173799116810039786953171693612465848209443568599664054422252400750023225868773931711189284875874229534487947361868717007126780069080757830842241571271850494760695005752555974214631697998719485520320030065455700818193760348194659684561042764682974955861767304104402104161601556563759516793211688660155490175673178096210915179205756083399302683754754960204728644460337681690888000000000000000000000000", + "phase_boundary": "1321767195494729459914505285501537575617449561578570880566997603568386915344573471109326219453969558570215747983560687763222271612310156125573713133917146664202822731332578822423406861463857410145870314785861614494512868178034567229184128890323703062029635173754949606278716551466839892890690534835460450828591838890308379317531836527565195036467781100516404879257532598510386553591321435303979232066993807574408919442457789788639/801321767195494729459914206111606034759823362007957390634338722493169641888713719932810884450480150004645173754786342237856975174845906897589472373743401425356013816151566168448314254370098952139001150511194842926339599743897104064006013091140163638752069638931936912208552936594991172353460820880420832320311312751903358642337732031098035134635619242183035841151216679860536750950992040945728892067536338177600000000000000000000000", + "gamma_sublinear": "1/2000000000000000000000000", + "cell_above_band": "999999999999999999999998499173895502815794087553621180246228275110398745026630853538298441768973819553925041993197218449906247096766403258536101339390515721308189006579766410374109152491364905271144719803591018688154913124280930503223171037750160064309959996241818037397725779956475667539429869654414628130517279086986949736979799805429530060400848538917480563728040852737973635602599280489575087164530655629974408919442457789788639/2003304417988736823649785515279015086899558405019893476585846806232924104721784299832027211126200375011612934386965855594642437937114767243973680934358503563390034540378915421120785635925247380347502876277987107315848999359742760160015032727850409096880174097329842280521382341487477930883652052201052080800778281879758396605844330077745087836589048105457589602878041699651341877377480102364322230168840845444000000000000000000000000", + "prime_interval_packing": "826104497184205912446878819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361/500826104497184205912446378819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361", + "alpha_positive": "1652208994368411824893256813403046265573290063567918539151678226860797387523003454312047332074007059731509186680146247227466065323786880522941806569767503003206276769224120934501970453988595444896157942584572346079412804152310583230687401675364612750047044906739177658416950700214632981255895754940668530906420026866148039901964844302073978695372591646275365167061702563644574291339331671736202248951078351974408919442457789788639/1001652208994368411824892757639507543449779202509946738292923403116462052360892149916013605563100187505806467193482927797321218968557383621986840467179251781695017270189457710560392817962623690173751438138993553657924499679871380080007516363925204548440087048664921140260691170743738965441826026100526040400389140939879198302922165038872543918294524052728794801439020849825670938688740051182161115084420422722000000000000000000000000", + "alpha_below_one": "999999999999999999999999500826104497184205912446378819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361/1001652208994368411824892757639507543449779202509946738292923403116462052360892149916013605563100187505806467193482927797321218968557383621986840467179251781695017270189457710560392817962623690173751438138993553657924499679871380080007516363925204548440087048664921140260691170743738965441826026100526040400389140939879198302922165038872543918294524052728794801439020849825670938688740051182161115084420422722000000000000000000000000", + "alpha_below_one_fourth": "248760843254223691131329932596473839596871510563918766034079172552254715702700034024691354058701039816720107611690585702102838676815559024973768310225045442420548040778140306705596234036667327098541701592163816068401712115815534436771191689305936524359974717259491107406755841985720108379200610770190841569190865208103651535828576415416062000878258421535923335192693509892773160380845681123804076522154027328525591080557542210211361/1001652208994368411824892757639507543449779202509946738292923403116462052360892149916013605563100187505806467193482927797321218968557383621986840467179251781695017270189457710560392817962623690173751438138993553657924499679871380080007516363925204548440087048664921140260691170743738965441826026100526040400389140939879198302922165038872543918294524052728794801439020849825670938688740051182161115084420422722000000000000000000000000", + "delta_positive": "1/8000000000000000000000000", + "delta_below_one_eighth": "999999999999999999999999/8000000000000000000000000", + "short_record_fallback": "499172530605535258148204467894413622366649364752615796356468001035238236450517537374493631619363733298840687671623161397641818269266749211349925706761067790808370765075450008284253571239696489935935053566461144738883161010851111679077097990732436701756985527194218092549531868890848622470137186563736328401324517482838466413031374630236137011585720945154073554670290847831565373475503741258489384028773988548652682478935707964970238955117949482840541572436848428721579739524322299623454936983662814547483400718276279308346848253879838472504570106968586516202950572541527287852414234879967747392915408989329348581710341757093094710913631142136741462492078081872395928826622342523315747139483873962190478398751777328141297794530179676308220833366881166966370160352431945328687129458140293472321/500826104497184205912446378819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "small_field_exposure": "1/1000000000000000000000000", + "artificial_boundary": "28052870687819789178396573746942554881945552217657432084634864074395589440468656236697540052712284541524031824211862034164560265703537066127970590931564509850315985626323347506810242717329863369746611861037020660989119250383041371050571010532356065357152905568552022376148940123930219891520143226253589408420900672815173496482569881827632815204222224070568991954864544636207549131231883796360430421207861560214076773241672626630634083/4006608835977473647299571030558030173799116810039786953171693612465848209443568599664054422252400750023225868773931711189284875874229534487947361868717007126780069080757830842241571271850494760695005752555974214631697998719485520320030065455700818193760348194659684561042764682974955861767304104402104161601556563759516793211688660155490175673178096210915179205756083399302683754754960204728644460337681690888000000000000000000000000", + "literal_scalar_guard": "1", + "row_product_gap": "23971789/25", + "balanced_prefix_above_kappa": "384836754948704936518390080286389004763190679571631416083335375425490380659422846922349219607884635917039474482556378074796393103615265478935526743142995785277965991920542575867329404082937294587671597128436387521101370842739834550650414154320702290281170117836140043954928114189095044806439229775952058740929618067139100165877377039970533655513737284898865861249271614750592100633440385821327668139841639581/500826104497184205912446378819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361000000000000000000", + "coordinate_movement_above_kappa": "2725291809432824892760943925532186602852295468626143987776322166643298144437891566249896386783794682250325982720570888808333058035587427982244795917897766192126153947302396188350346875998068356230515694247409920636392332411468502336205197989213263024053337331536239117696791845640104898504335919624091669350736887870142170348377574017694034808393425549949474408919442457789788639/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_phase_layer_above_kappa": "384836254122600439334184167840010185009418954682030161109966228963788822428396666476274261601081854366945721579322781333332494443005781200243715749722762195652075144411907481138474123886528313275826510252717318024324541880489994614960374150562520327678895897792615711494357983843509672936956508862939008477909417872568630226278225578888014219241778137636839496851870895240167187797971041451302077059284097370788639/500826104497184205912446378819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361000000000000000000000000", + "bulk_exposure_above_kappa": "2725291809432824892760943925532186602852295468626143987776322166643298144437891566249896386783794682250325982720570888808333058035587427982244795917897766192126153947302396188350346875998068356230515694247409920636392332411468502336205197989213263024053337331536239117696791845640104898504335919624091669350736887870142170348377574017694034808393425549949474408919442457789788639/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "Gaussian_arithmetic_above_kappa": "615738307091823401245218216011843587867333362425009010759967454219083050824050374629683793365812635917169406268856608178210330305174940487605031795608559666818854739564233026658871766336290690028429468529779150536985364386133895345350622643154941701847597968494299737867314852356966699820820046728510243722467188712852090325804651802870334412550020508576159013601433864090522448178035272944098677943189081119388639/801321767195494729459914206111606034759823362007957390634338722493169641888713719932810884450480150004645173754786342237856975174845906897589472373743401425356013816151566168448314254370098952139001150511194842926339599743897104064006013091140163638752069638931936912208552936594991172353460820880420832320311312751903358642337732031098035134635619242183035841151216679860536750950992040945728892067536338177600000000000000000000000", + "scalar_work_above_kappa": "3078693538763534994962914729844733218351753711683450073693313856942221487044356594932718798856274305786222042957217427856907246168312639552792402951723732692597837087855705512209779952467089375389527690151772030672034137779668836469513273230807436359647086722645596019178854783167174986582031117294603419664416744342542331387419864858681749807837939131928900525596772198494311892232053742200595754038175574437788639/4006608835977473647299571030558030173799116810039786953171693612465848209443568599664054422252400750023225868773931711189284875874229534487947361868717007126780069080757830842241571271850494760695005752555974214631697998719485520320030065455700818193760348194659684561042764682974955861767304104402104161601556563759516793211688660155490175673178096210915179205756083399302683754754960204728644460337681690888000000000000000000000000", + "dimension_above_kappa": "499173895502815794472389376128951164793500479031415635616728978013400389902889300467483577877872753169445986011143172018378864998277686263802972870025639588088018108048266929997769582939230730780453685013440517758709347288500697481097612660777232276430370629988241720150824532464270561234015101138832024606244659306012459589468535547702828206730115013606136254794226859986030391904901589159511543091230174460327668139841639581/500826104497184205912446378819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361000000000000000000" + }, + "controls": [ + "next_grid", + "zero_eta", + "zero_beta", + "unit_beta" + ], + "scope": "Conditional native exact-complex witness after complete conservative admission, moment and outer checks; PR559 exact-cover recurrence correction only, bit bad-residue surcharge and H1-H5 retained. The new source-branch gauge and retired-basis completion, 44 cold dimension-four ends, and explicit all72 whole-owner dispatch are composed with the same cited unchanged PR543 bit supplier as PR635. All-size compiler, common-label/mutable-source realization, whole-call hosting, precision/tape and analytic transfer remain assumptions. No unconditional theorem or full Lean certification." +} diff --git a/research/gauge44-leaver/evidence/BINDING.json b/research/gauge44-leaver/evidence/BINDING.json new file mode 100644 index 0000000000..b03160c67a --- /dev/null +++ b/research/gauge44-leaver/evidence/BINDING.json @@ -0,0 +1,25 @@ +{ + "status": "PASS_FROZEN_048_ALLCOLD_DISPATCH_FRESH_PROVIDER_BINDING", + "source_plan_sha256": "8c4804859aee83082196348c33127070d2885d3a366ce9acc8dc5166202f4687", + "runtime_plan_sha256": "609adb126d7d3de2abdd9275f9015589c0b137d0d19821c2c3e7c1a8541c18d2", + "providers": { + "gauge44": { + "artifact_sha256": { + "CANONICAL-WORD.json.gz": "92941c2b718b533f1d3addb710d261a6e2b9ec5d19f0051d79775b08cb2571ed", + "LOCAL-PROGRAMS.json.gz": "172dc3d23e437909ddc01d07b12ede735afbb5bb6145f1ddf5c2e03097dfebe2", + "LOCAL-CHECKS.json": "2b8a6a6854b8df8ecd84d8ff2b92f720c81454636988e6a0dfdc1f6c29d1c82c", + "INDEPENDENT-LOCAL-REPLAY.json": "18d68326ce0aca76911d561e79a817bce90cb8adfe053e19621c7ae0298b842e", + "CLIFFORD-RECIPES.json": "0a60293f43d88dbb1b321f02e61204afe1b6272b1346968ef35705caea1e4771", + "CLIFFORD-REVIEW.json": "4e3cdd616d105a49bbf1948bb53e49938d515c42f1c026781d1b5e9cb636db12", + "RESIDUAL-ADAPTERS.json": "bb6c23ba1b8dd5d2016724c3348b4e91a6b91daaa3f56bbd5216cb7a96bf5c94" + }, + "canonical_content_sha256": "e6daee410e04d5e023faf21144081534ad222d334ce786e6b5f52407e6b3c41f", + "all_phase_edges": 3019 + } + }, + "only_rebound_fields": [ + "provider_registry.directory", + "provider_registry.artifact_sha256", + "runtime_source_plan_sha256" + ] +} diff --git a/research/gauge44-leaver/evidence/CENTER-COMPATIBILITY.json b/research/gauge44-leaver/evidence/CENTER-COMPATIBILITY.json new file mode 100644 index 0000000000..5a3ae37422 --- /dev/null +++ b/research/gauge44-leaver/evidence/CENTER-COMPATIBILITY.json @@ -0,0 +1,112 @@ +{ + "status": "PASS_IDENTICAL_PORT_ORDER_AND_ORDERED_CENTER_FRAMES", + "new_canonical_sha256": "92941c2b718b533f1d3addb710d261a6e2b9ec5d19f0051d79775b08cb2571ed", + "comparison_canonical": "pr635/research/community-k492-audit/pr626/replay/mixed-global/base/split-centres/CANONICAL-WORD.json.gz", + "comparison_canonical_sha256": "66d3c3c70983224650643a0a05a21ac6c6959f84d0f4528650601016f5a76844", + "new_centers": [ + 92, + 57, + 81, + 224, + 11, + 240, + 9, + 256 + ], + "old_centers": [ + 229, + 224, + 227, + 225, + 243, + 241, + 259, + 257 + ], + "ordered_center_frames": [ + [ + 256, + 128, + 64, + 34, + 16, + 10, + 4, + 1 + ], + [ + 256, + 128, + 64, + 32, + 16, + 8, + 5, + 3 + ], + [ + 256, + 128, + 64, + 32, + 17, + 9, + 4, + 2 + ], + [ + 256, + 128, + 64, + 36, + 20, + 8, + 2, + 1 + ], + [ + 256, + 128, + 66, + 32, + 18, + 8, + 4, + 1 + ], + [ + 256, + 128, + 65, + 33, + 17, + 9, + 5, + 3 + ], + [ + 256, + 128, + 65, + 33, + 16, + 8, + 4, + 2 + ], + [ + 256, + 128, + 68, + 32, + 16, + 12, + 2, + 1 + ] + ], + "v": 112, + "h": 9, + "center_count": 8, + "scope": "Carrier register identity changes; native cut center channels retain exact ordered frames and ports. Full endpoint and exact center clearing are independently checked by local ledger replay." +} diff --git a/research/gauge44-leaver/evidence/LOCAL-STAGES.json b/research/gauge44-leaver/evidence/LOCAL-STAGES.json new file mode 100644 index 0000000000..b2753eb57a --- /dev/null +++ b/research/gauge44-leaver/evidence/LOCAL-STAGES.json @@ -0,0 +1,27 @@ +[ + { + "tag": "44-native", + "seconds": 4.460461161999774, + "exit": 0 + }, + { + "tag": "44-emitted-ledgers", + "seconds": 3.058037757999955, + "exit": 0 + }, + { + "tag": "44-local-replay", + "seconds": 28.33760359400003, + "exit": 0 + }, + { + "tag": "44-wrappers", + "seconds": 5.294312295000054, + "exit": 0 + }, + { + "tag": "44-phase", + "seconds": 198.39076561599995, + "exit": 0 + } +] diff --git a/research/gauge44-leaver/evidence/REPLAY.json b/research/gauge44-leaver/evidence/REPLAY.json new file mode 100644 index 0000000000..c6f4e0f983 --- /dev/null +++ b/research/gauge44-leaver/evidence/REPLAY.json @@ -0,0 +1,54 @@ +{ + "status": "PASS_GAUGE44_STRICT_GLOBAL_REPLAY", + "kappa": "1649483702558979/1000000000000000000", + "kappa_decimal": "0.001649483702558979", + "complex_lower": "1652208994368411824947/1000000000000000000000000", + "bit_lower": "413456747036699736067/250000000000000000000000", + "gain_over_pr635_percent": "0.8093060205252829126484020359439672024956960385078942889840023844750830", + "spec_sha256": "fee57674a7f36b30b1e7eb96a8f567a90a522217bc644c1a6a1f8bff85196fbf", + "stages": [ + { + "name": "restore-parent", + "seconds": 2.152, + "exit_code": 0, + "log_sha256": "fc3a01967636bd3173ee7e5049fae45b890e1fad4564b6acdd6aaca30a4e4ea5" + }, + { + "name": "bind", + "seconds": 0.686, + "exit_code": 0, + "log_sha256": "71f679ce5a123fb58397fd6852ba64ce3832fd20e81a096bfda9a1cf3237237a" + }, + { + "name": "emit", + "seconds": 5.456, + "exit_code": 0, + "log_sha256": "60866eb6ced5b9eb259bfc1d59ea7b80fb439164b629e868586ad5bef845a88e" + }, + { + "name": "audit", + "seconds": 26.943, + "exit_code": 0, + "log_sha256": "df19a41a599bf24fd1efaeb2394af63208f95b9e3ca4f83c6f23e9641fb3d662" + }, + { + "name": "invoice", + "seconds": 1.897, + "exit_code": 0, + "log_sha256": "5d10712d494304287749dd7a6c3369f9b707bba30e9f567b68230669dcf5418a" + }, + { + "name": "assembly", + "seconds": 0.724, + "exit_code": 0, + "log_sha256": "768d3215f1918117dc6c33b4cfeaf0b5f5da9ba5c77178db4bb1d08d000e226f" + }, + { + "name": "admission-controls", + "seconds": 0.816, + "exit_code": 0, + "log_sha256": "051d242318154827c1672ffbb63ad2bdc8ecc4033be650b791dd69cd57d716b3" + } + ], + "scope": "Conditional native exact-complex witness after complete conservative admission, moment and outer checks; PR559 exact-cover recurrence correction only, bit bad-residue surcharge and H1-H5 retained. The new source-branch gauge and retired-basis completion, 44 cold dimension-four ends, and explicit all72 whole-owner dispatch are composed with the same cited unchanged PR543 bit supplier as PR635. All-size compiler, common-label/mutable-source realization, whole-call hosting, precision/tape and analytic transfer remain assumptions. No unconditional theorem or full Lean certification." +} diff --git a/research/gauge44-leaver/evidence/STAGES.json b/research/gauge44-leaver/evidence/STAGES.json new file mode 100644 index 0000000000..9464e2dfea --- /dev/null +++ b/research/gauge44-leaver/evidence/STAGES.json @@ -0,0 +1,44 @@ +[ + { + "name": "restore-parent", + "seconds": 2.152, + "exit_code": 0, + "log_sha256": "fc3a01967636bd3173ee7e5049fae45b890e1fad4564b6acdd6aaca30a4e4ea5" + }, + { + "name": "bind", + "seconds": 0.686, + "exit_code": 0, + "log_sha256": "71f679ce5a123fb58397fd6852ba64ce3832fd20e81a096bfda9a1cf3237237a" + }, + { + "name": "emit", + "seconds": 5.456, + "exit_code": 0, + "log_sha256": "60866eb6ced5b9eb259bfc1d59ea7b80fb439164b629e868586ad5bef845a88e" + }, + { + "name": "audit", + "seconds": 26.943, + "exit_code": 0, + "log_sha256": "df19a41a599bf24fd1efaeb2394af63208f95b9e3ca4f83c6f23e9641fb3d662" + }, + { + "name": "invoice", + "seconds": 1.897, + "exit_code": 0, + "log_sha256": "5d10712d494304287749dd7a6c3369f9b707bba30e9f567b68230669dcf5418a" + }, + { + "name": "assembly", + "seconds": 0.724, + "exit_code": 0, + "log_sha256": "768d3215f1918117dc6c33b4cfeaf0b5f5da9ba5c77178db4bb1d08d000e226f" + }, + { + "name": "admission-controls", + "seconds": 0.816, + "exit_code": 0, + "log_sha256": "051d242318154827c1672ffbb63ad2bdc8ecc4033be650b791dd69cd57d716b3" + } +] diff --git a/research/gauge44-leaver/evidence/audit/ASYNC-AUDIT.json b/research/gauge44-leaver/evidence/audit/ASYNC-AUDIT.json new file mode 100644 index 0000000000..05975382b5 --- /dev/null +++ b/research/gauge44-leaver/evidence/audit/ASYNC-AUDIT.json @@ -0,0 +1,84 @@ +{ + "status": "PASS_INDEPENDENT_ASYNC_WHOLE_OWNER_CONTROLLER_PHASES_AND_SPECTATORS", + "template_sha256": "0c2aab7dc120f5882a0171496cbbe819cac81373dcb425802a15f45e36898a46", + "complex_template_sha256": "0c2aab7dc120f5882a0171496cbbe819cac81373dcb425802a15f45e36898a46", + "complex_live": 7168, + "complex_profile": { + "1": 181093, + "2": 29164, + "3": 32429, + "4": 11520, + "5": 4032, + "7": 7, + "8": 582, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + }, + "complex_hosted_residuals": 35424, + "physical": 7670, + "rank_mass": 520704, + "deficit": 2560, + "entering_helper_roles": 17856, + "cross_replica_helper_roles": 25937, + "one_owner_per_complete_invocation": true, + "helper_busy_family_window_checks": 35424, + "complete_invocations": 72, + "actual_orthogonal_73column_maps": 7870, + "actual_sigma_stream_sha256": "f4e9802acb2ed53fc1f0486e7d0f55a6faa30ed7f5d2ad48a06450234b00ba76", + "all_actual_residual_and_spectator_charts": true, + "idle_remainders": 2759, + "mutations_rejected": [ + "alias two whole owners", + "helper on active data family", + "owner in private namespace", + "wrong residual width", + "wrong spectator coordinate", + "omit idle remainder", + "understate physical reserve", + "gauge44: wrong provider at its invocation", + "gauge44: stale per-call local program hash", + "gauge44: stale serialized provider program", + "gauge44: unbound residual adapter hash", + "gauge44: wrong provider width registry", + "gauge44: wrong per-call residual width", + "gauge44: wrong sweep provider", + "gauge44: entering helper width silently restored to nine" + ], + "mutation_controls_run": true, + "provider_phase_semantic_sha256": { + "gauge44": "1b4aa8bf9185b423e3f29e0ee2eb4d7082e2408c2b09cba1ef02282282731152" + }, + "provider_artifact_semantic_sha256": { + "gauge44": { + "CANONICAL-WORD.json.gz": "e6daee410e04d5e023faf21144081534ad222d334ce786e6b5f52407e6b3c41f", + "LOCAL-PROGRAMS.json.gz": "39b230dba9e6b022c691cd0167f331c1b3fa6795d49256e3a2b859c68d4acfda", + "LOCAL-CHECKS.json": "bd53e0cca4488f365ca5b7c7174d8dfb35ced5e0229835f27334c11c3d839717", + "INDEPENDENT-LOCAL-REPLAY.json": "adb5c8ce0b5025dcd96f41b9fa0e26b9a176e067ab36a5bfadad00bc19522b38", + "CLIFFORD-RECIPES.json": "0a60293f43d88dbb1b321f02e61204afe1b6272b1346968ef35705caea1e4771", + "CLIFFORD-REVIEW.json": "1b4aa8bf9185b423e3f29e0ee2eb4d7082e2408c2b09cba1ef02282282731152", + "RESIDUAL-ADAPTERS.json": "c233611dd4c08c389dfb6c7d1c84dd86a3efa560223fcd6549a2848692541cd9" + } + }, + "widths_by_provider": { + "gauge44": { + "4": 52, + "5": 48, + "7": 34, + "8": 114, + "9": 244 + } + }, + "provider_counts": { + "gauge44": 72 + }, + "all_provider_program_phase_and_wrapper_bindings": true, + "scope": "Independent exact asynchronous chronology, per-replica phase projection, owner/chart/paid-profile audit. Uses per-invocation local providers bound by exact scalar, phase and residual-wrapper receipts; all-size compilation and complete coefficient invoice are separate inherited obligations." +} diff --git a/research/gauge44-leaver/evidence/audit/GLOBAL-PREFIX.json b/research/gauge44-leaver/evidence/audit/GLOBAL-PREFIX.json new file mode 100644 index 0000000000..a557ebbe60 --- /dev/null +++ b/research/gauge44-leaver/evidence/audit/GLOBAL-PREFIX.json @@ -0,0 +1,13 @@ +{ + "status": "PASS_MIXED_ASYNC_GLOBAL_PREFIX", + "template_sha256": "0c2aab7dc120f5882a0171496cbbe819cac81373dcb425802a15f45e36898a46", + "global_prefix_bits": 360, + "retained_payload_bits": 512, + "complete_invocation_cover_sweeps": 72, + "bridge_factor_two_sweeps": 72, + "local_scalar_coefficient_work_prefix_bits": 175, + "stream_input_sup_to_l2_bits": 37, + "primitive_arithmetic_margin_bits": 4, + "controller_audit_sha256": "df19a41a599bf24fd1efaeb2394af63208f95b9e3ca4f83c6f23e9641fb3d662", + "proof": "Each selected normalized provider restores all arbitrary dirty helper columns and gives the same data shear endpoints. Actual whole-owner charts are right-translation bijections. Sum all 72 invocation and 72 bridge sweeps and take maximum local scalar/Horner prefix over all three providers and orientations. Idle children, phases, spectator endpoints and terminal translations are unitary. Retained all-size interfaces are conditional." +} diff --git a/research/gauge44-leaver/evidence/audit/IDLE-REMAINDER-FRAMES.json b/research/gauge44-leaver/evidence/audit/IDLE-REMAINDER-FRAMES.json new file mode 100644 index 0000000000..1c86a8a01d --- /dev/null +++ b/research/gauge44-leaver/evidence/audit/IDLE-REMAINDER-FRAMES.json @@ -0,0 +1,25 @@ +{ + "status": "PASS_LITERAL_IDLE_REMAINDER_FRAMES", + "template_sha256": "0c2aab7dc120f5882a0171496cbbe819cac81373dcb425802a15f45e36898a46", + "uncompressed_frames_sha256": "38eba7dfe023d0b2a8aea1c5184e50bdfff5727b350c2de4d27800acbdd3708c", + "children": 2759, + "rank_profile": { + "1": 85, + "2": 76, + "3": 173, + "7": 7, + "8": 6, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + }, + "source_data_phase_sha256": "c5916ff312678f12aba403847643fbbc29f643acec60bdf836fa56cd3e8251fa", + "scope": "Actual orthogonal axes after the independently checked whole-owner prefix in each inherited pending child." +} diff --git a/research/gauge44-leaver/evidence/audit/OWNERS-AND-PROFILE.json b/research/gauge44-leaver/evidence/audit/OWNERS-AND-PROFILE.json new file mode 100644 index 0000000000..bdb9441b7e --- /dev/null +++ b/research/gauge44-leaver/evidence/audit/OWNERS-AND-PROFILE.json @@ -0,0 +1,61 @@ +{ + "status": "PASS_INDEPENDENT_ASYNC_OWNERS_AND_PROFILE", + "template_sha256": "0c2aab7dc120f5882a0171496cbbe819cac81373dcb425802a15f45e36898a46", + "paid_profile": { + "1": 181093, + "2": 29164, + "3": 32429, + "4": 11520, + "5": 4032, + "7": 7, + "8": 582, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + }, + "live": 7168, + "physical": 7670, + "rank_mass": 520704, + "deficit": 2560, + "hosted_residuals": 35424, + "banked_residuals": 0, + "all_live_owners_per_call_distinct": true, + "owners_per_call": 716, + "actual_helper_owner_charts": 35424, + "actual_73column_sigmas": 7870, + "cross_replica_helper_roles": 25937, + "explicit_idle_remainder_children": 2759, + "source_idle_children_charged": 16128, + "source_artifacts": { + "work/complex-nine-native/DATA-PHASES.json": "c5916ff312678f12aba403847643fbbc29f643acec60bdf836fa56cd3e8251fa", + "providers/gauge44/CANONICAL-WORD.json.gz": "92941c2b718b533f1d3addb710d261a6e2b9ec5d19f0051d79775b08cb2571ed", + "providers/gauge44/LOCAL-PROGRAMS.json.gz": "172dc3d23e437909ddc01d07b12ede735afbb5bb6145f1ddf5c2e03097dfebe2", + "providers/gauge44/LOCAL-CHECKS.json": "2b8a6a6854b8df8ecd84d8ff2b92f720c81454636988e6a0dfdc1f6c29d1c82c", + "providers/gauge44/INDEPENDENT-LOCAL-REPLAY.json": "18d68326ce0aca76911d561e79a817bce90cb8adfe053e19621c7ae0298b842e", + "providers/gauge44/RESIDUAL-ADAPTERS.json": "bb6c23ba1b8dd5d2016724c3348b4e91a6b91daaa3f56bbd5216cb7a96bf5c94", + "providers/gauge44/CLIFFORD-RECIPES.json": "0a60293f43d88dbb1b321f02e61204afe1b6272b1346968ef35705caea1e4771", + "providers/gauge44/CLIFFORD-REVIEW.json": "4e3cdd616d105a49bbf1948bb53e49938d515c42f1c026781d1b5e9cb636db12" + }, + "provider_phase_semantic_sha256": { + "gauge44": "1b4aa8bf9185b423e3f29e0ee2eb4d7082e2408c2b09cba1ef02282282731152" + }, + "provider_artifact_semantic_sha256": { + "gauge44": { + "CANONICAL-WORD.json.gz": "e6daee410e04d5e023faf21144081534ad222d334ce786e6b5f52407e6b3c41f", + "LOCAL-PROGRAMS.json.gz": "39b230dba9e6b022c691cd0167f331c1b3fa6795d49256e3a2b859c68d4acfda", + "LOCAL-CHECKS.json": "bd53e0cca4488f365ca5b7c7174d8dfb35ced5e0229835f27334c11c3d839717", + "INDEPENDENT-LOCAL-REPLAY.json": "adb5c8ce0b5025dcd96f41b9fa0e26b9a176e067ab36a5bfadad00bc19522b38", + "CLIFFORD-RECIPES.json": "0a60293f43d88dbb1b321f02e61204afe1b6272b1346968ef35705caea1e4771", + "CLIFFORD-REVIEW.json": "1b4aa8bf9185b423e3f29e0ee2eb4d7082e2408c2b09cba1ef02282282731152", + "RESIDUAL-ADAPTERS.json": "c233611dd4c08c389dfb6c7d1c84dd86a3efa560223fcd6549a2848692541cd9" + } + }, + "controller_audit_sha256": "df19a41a599bf24fd1efaeb2394af63208f95b9e3ca4f83c6f23e9641fb3d662" +} diff --git a/research/gauge44-leaver/evidence/audit/PREFIX-AND-INVOICE.json b/research/gauge44-leaver/evidence/audit/PREFIX-AND-INVOICE.json new file mode 100644 index 0000000000..6c96ec6706 --- /dev/null +++ b/research/gauge44-leaver/evidence/audit/PREFIX-AND-INVOICE.json @@ -0,0 +1,1746 @@ +{ + "status": "PASS_INDEPENDENT_MIXED_ASYNC_SCALAR_PREFIX_AND_FINITE_INVOICE", + "template_sha256": "0c2aab7dc120f5882a0171496cbbe819cac81373dcb425802a15f45e36898a46", + "parent_template_sha256": "7db047a427a7979d69e163c78a1e32bd445628fb86723e131a3138361355a9c3", + "owner_audit_sha256": "a32ecc0d5387d65648e1ff284209122860ee37aaba43ce2dd12024c4bc394313", + "controller_audit_sha256": "df19a41a599bf24fd1efaeb2394af63208f95b9e3ca4f83c6f23e9641fb3d662", + "providers": { + "gauge44": { + "local": { + "backward": { + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "prefix_l1": "600338326363508935771850050281004728884643/32", + "prefix_bits": 134, + "coefficient_work_primitive_count": 208744, + "all_exact_columns": 716, + "dirty_helper_columns": 492, + "all_dirty_helper_columns_restored": true, + "private_centres_and_coefficient_work_cleared": true, + "pre_wrappers": 248, + "post_wrappers": 248, + "endpoint_evidence": "Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json" + }, + "forward": { + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "prefix_l1": "2323449462751823289130723296176889733365478515961323543/64", + "prefix_bits": 175, + "coefficient_work_primitive_count": 208712, + "all_exact_columns": 716, + "dirty_helper_columns": 492, + "all_dirty_helper_columns_restored": true, + "private_centres_and_coefficient_work_cleared": true, + "pre_wrappers": 248, + "post_wrappers": 248, + "endpoint_evidence": "Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json" + } + }, + "helpers": 492, + "centres": 8, + "v": 112, + "h": 9, + "n": 716, + "entering_helpers": 204, + "entrance_rank": 380, + "terminal_codimension": 254, + "hyperplane_ended_helpers": 78, + "cold_hyperplane_ended_helpers": 44, + "width_inventory": { + "4": 52, + "5": 48, + "7": 34, + "8": 114, + "9": 244 + }, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 9, + 8, + 9, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ], + "local_adapters": 738816, + "local_primitive_bound": 19160702806276, + "compiler": 25934336, + "children": 3590, + "artifacts": { + "WRAPPER-CHECKS.json": "84c727930f85f1c91900d6d12c523735c8b5d6907cd3eb1bd1030fe1fd4161d7", + "RESIDUAL-ADAPTERS.json": "bb6c23ba1b8dd5d2016724c3348b4e91a6b91daaa3f56bbd5216cb7a96bf5c94", + "LOCAL-PROGRAMS.json.gz": "172dc3d23e437909ddc01d07b12ede735afbb5bb6145f1ddf5c2e03097dfebe2", + "INDEPENDENT-LOCAL-REPLAY.json": "18d68326ce0aca76911d561e79a817bce90cb8adfe053e19621c7ae0298b842e", + "CANONICAL-WORD.json.gz": "92941c2b718b533f1d3addb710d261a6e2b9ec5d19f0051d79775b08cb2571ed", + "SCALAR-FRAME-AUDIT.json": "cfc73040079b43ea82a42f3cf4c910edda1362deb09ec21c816c329347313bcb", + "FULL-WORD.json.gz": "0ad202612f010df4ab66432a628247b37ad8b497dd6b27595b1685cbd7eb119e", + "CLIFFORD-RECIPES.json": "0a60293f43d88dbb1b321f02e61204afe1b6272b1346968ef35705caea1e4771", + "CLIFFORD-REVIEW.json": "4e3cdd616d105a49bbf1948bb53e49938d515c42f1c026781d1b5e9cb636db12", + "LOCAL-CHECKS.json": "2b8a6a6854b8df8ecd84d8ff2b92f720c81454636988e6a0dfdc1f6c29d1c82c" + }, + "paid_profile": { + "1": 2514, + "2": 404, + "3": 448, + "4": 160, + "5": 56, + "8": 8 + }, + "program_hashes": { + "backward": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "forward": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9" + }, + "semantic_artifact_sha256": { + "CANONICAL-WORD.json.gz": "e6daee410e04d5e023faf21144081534ad222d334ce786e6b5f52407e6b3c41f", + "LOCAL-PROGRAMS.json.gz": "39b230dba9e6b022c691cd0167f331c1b3fa6795d49256e3a2b859c68d4acfda", + "LOCAL-CHECKS.json": "bd53e0cca4488f365ca5b7c7174d8dfb35ced5e0229835f27334c11c3d839717", + "INDEPENDENT-LOCAL-REPLAY.json": "adb5c8ce0b5025dcd96f41b9fa0e26b9a176e067ab36a5bfadad00bc19522b38", + "CLIFFORD-RECIPES.json": "0a60293f43d88dbb1b321f02e61204afe1b6272b1346968ef35705caea1e4771", + "CLIFFORD-REVIEW.json": "1b4aa8bf9185b423e3f29e0ee2eb4d7082e2408c2b09cba1ef02282282731152", + "RESIDUAL-ADAPTERS.json": "c233611dd4c08c389dfb6c7d1c84dd86a3efa560223fcd6549a2848692541cd9" + } + } + }, + "provider_phase_semantic_sha256": { + "gauge44": "1b4aa8bf9185b423e3f29e0ee2eb4d7082e2408c2b09cba1ef02282282731152" + }, + "provider_counts": { + "gauge44": 72 + }, + "selected_calls": [ + { + "stage": 0, + "replica": 0, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 0, + "replica": 1, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 1, + "replica": 0, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 0, + "replica": 2, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 1, + "replica": 1, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 2, + "replica": 0, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 0, + "replica": 3, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 1, + "replica": 2, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 2, + "replica": 1, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 3, + "replica": 0, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 0, + "replica": 4, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 1, + "replica": 3, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 2, + "replica": 2, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 3, + "replica": 1, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 4, + "replica": 0, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 0, + "replica": 5, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 1, + "replica": 4, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 2, + "replica": 3, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 3, + "replica": 2, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 4, + "replica": 1, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 5, + "replica": 0, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 0, + "replica": 6, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 1, + "replica": 5, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 2, + "replica": 4, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 3, + "replica": 3, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 4, + "replica": 2, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 5, + "replica": 1, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 0, + "replica": 7, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 6, + "replica": 0, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 1, + "replica": 6, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 2, + "replica": 5, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 3, + "replica": 4, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 4, + "replica": 3, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 5, + "replica": 2, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 6, + "replica": 1, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 1, + "replica": 7, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 7, + "replica": 0, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 2, + "replica": 6, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 3, + "replica": 5, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 4, + "replica": 4, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 5, + "replica": 3, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 6, + "replica": 2, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 7, + "replica": 1, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 2, + "replica": 7, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 8, + "replica": 0, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 3, + "replica": 6, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 4, + "replica": 5, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 5, + "replica": 4, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 6, + "replica": 3, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 7, + "replica": 2, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 8, + "replica": 1, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 3, + "replica": 7, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 4, + "replica": 6, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 5, + "replica": 5, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 6, + "replica": 4, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 7, + "replica": 3, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 8, + "replica": 2, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 4, + "replica": 7, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 5, + "replica": 6, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 6, + "replica": 5, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 7, + "replica": 4, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 8, + "replica": 3, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 5, + "replica": 7, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 6, + "replica": 6, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 7, + "replica": 5, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 8, + "replica": 4, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 6, + "replica": 7, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 7, + "replica": 6, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 8, + "replica": 5, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 7, + "replica": 7, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 8, + "replica": 6, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 8, + "replica": 7, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + } + ], + "selected_local_paid_profile": { + "1": 181008, + "2": 29088, + "3": 32256, + "4": 11520, + "5": 4032, + "8": 576 + }, + "selected_real_component_primitives": 30245280, + "selected_coefficient_work_primitive_count": 15028288, + "selected_scalar_macros": 2993040, + "global_prefix_bits": 360, + "charged_prefix_bits": 512, + "complete_invocation_sweeps": 72, + "bridge_sweeps": 72, + "row_prefix_extra": 1024, + "helpers": 492, + "centres": 8, + "live": 7168, + "physical": 7670, + "physical_stock_identity": { + "data_and_owner_families": 7168, + "local_helpers": 492, + "private_centres": 8, + "coefficient_work": 2 + }, + "local_adapters": 738816, + "local_primitive_bound": 19160702806276, + "wrapper_elementary_factors_charged": 5142528, + "factors_per_wrapper": 144, + "compiler": 25934336, + "unhosted_pervertex": 2486201168471768, + "hosted_rebased_pervertex": 2486201168171612, + "conservative_pervertex_used": 5364148158196336, + "retained_prior_overcharge": { + "sha256": "ce1bfa49be88ae67a404f606a11db2232b7e1f2610d4418058e39749d86d8478", + "previous_pervertex_allowance": 2877946989724568, + "added_complete_new_pervertex": 2486201168471768, + "policy": "Retain old allowance and add entire fresh mixed recount." + }, + "finite": { + "physical_stock_bits": 2641, + "router_bits": 7986, + "literal_bits": 35282, + "physical_row_coefficient": 16467, + "retained_row_coefficient": 20161, + "required_C0_bits": 200012, + "halving_integer_inequality": [ + 5329, + 4608 + ], + "G_exponent": 30000, + "E_exponent": 100000, + "C0_exponent": 210000 + }, + "strict_checks": { + "local_primitive_bound": true, + "logical": true, + "router": true, + "literal": true, + "mass": true, + "precision": true, + "tape": true, + "row": true, + "halving": true + }, + "scope": "Actual call-specific mixed scalar, Horner, wrappers and paid children recounted. All three providers use fresh hash-bound independent all-column/frame/phase/normalization admission. Shared compiler uses conservative maxima; parent is geometry/overcharge only. All-size compiler, hosting, precision/tape and analytic transfer remain conditional." +} diff --git a/research/gauge44-leaver/evidence/global/ACTUAL-SIGMAS.json.gz b/research/gauge44-leaver/evidence/global/ACTUAL-SIGMAS.json.gz new file mode 100644 index 0000000000..dbb57066e2 Binary files /dev/null and b/research/gauge44-leaver/evidence/global/ACTUAL-SIGMAS.json.gz differ diff --git a/research/gauge44-leaver/evidence/global/GLOBAL-TEMPLATE.json.gz b/research/gauge44-leaver/evidence/global/GLOBAL-TEMPLATE.json.gz new file mode 100644 index 0000000000..424c2df489 Binary files /dev/null and b/research/gauge44-leaver/evidence/global/GLOBAL-TEMPLATE.json.gz differ diff --git a/research/gauge44-leaver/evidence/global/HOSTED.json b/research/gauge44-leaver/evidence/global/HOSTED.json new file mode 100644 index 0000000000..498e849ab7 --- /dev/null +++ b/research/gauge44-leaver/evidence/global/HOSTED.json @@ -0,0 +1,60 @@ +{ + "status": "EMITTED_MIXED_PROVIDER_ASYNCHRONOUS_WHOLE_OWNER_COMPLEX_TEMPLATE", + "template_sha256": "0c2aab7dc120f5882a0171496cbbe819cac81373dcb425802a15f45e36898a46", + "parent_template_sha256": "7db047a427a7979d69e163c78a1e32bd445628fb86723e131a3138361355a9c3", + "live": 7168, + "physical": 7670, + "global_profile": { + "1": 181093, + "2": 29164, + "3": 32429, + "4": 11520, + "5": 4032, + "7": 7, + "8": 582, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + }, + "rank_mass": 520704, + "deficit": 2560, + "maxchild": 48, + "hosted_residuals": 35424, + "banks_per_stage": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "entering_helper_roles": 17856, + "unique_actual_73column_sigmas": 7870, + "sigma_stream_sha256": "f4e9802acb2ed53fc1f0486e7d0f55a6faa30ed7f5d2ad48a06450234b00ba76", + "cross_replica_helper_roles": 25937, + "asynchronous_order_sha256": "2acd6b2004be3d3ef6645f3c968feb22b5167c400bb49eb446821e5cb7af6eee", + "source_artifacts": { + "work/complex-nine-native/DATA-PHASES.json": "c5916ff312678f12aba403847643fbbc29f643acec60bdf836fa56cd3e8251fa", + "providers/gauge44/CANONICAL-WORD.json.gz": "92941c2b718b533f1d3addb710d261a6e2b9ec5d19f0051d79775b08cb2571ed", + "providers/gauge44/LOCAL-PROGRAMS.json.gz": "172dc3d23e437909ddc01d07b12ede735afbb5bb6145f1ddf5c2e03097dfebe2", + "providers/gauge44/LOCAL-CHECKS.json": "2b8a6a6854b8df8ecd84d8ff2b92f720c81454636988e6a0dfdc1f6c29d1c82c", + "providers/gauge44/INDEPENDENT-LOCAL-REPLAY.json": "18d68326ce0aca76911d561e79a817bce90cb8adfe053e19621c7ae0298b842e", + "providers/gauge44/RESIDUAL-ADAPTERS.json": "bb6c23ba1b8dd5d2016724c3348b4e91a6b91daaa3f56bbd5216cb7a96bf5c94", + "providers/gauge44/CLIFFORD-RECIPES.json": "0a60293f43d88dbb1b321f02e61204afe1b6272b1346968ef35705caea1e4771", + "providers/gauge44/CLIFFORD-REVIEW.json": "4e3cdd616d105a49bbf1948bb53e49938d515c42f1c026781d1b5e9cb636db12" + }, + "provider_counts": { + "gauge44": 72 + }, + "scope": "Two actual verified plain/width-seven providers dispatched per complete invocation; independent controller/spectator/normalization and complete finite invoice admission required." +} diff --git a/research/gauge44-leaver/evidence/global/IDLE-REMAINDER-FRAMES.json.gz b/research/gauge44-leaver/evidence/global/IDLE-REMAINDER-FRAMES.json.gz new file mode 100644 index 0000000000..3562e60f05 Binary files /dev/null and b/research/gauge44-leaver/evidence/global/IDLE-REMAINDER-FRAMES.json.gz differ diff --git a/research/gauge44-leaver/evidence/layers/LOCAL-AUDIT-LAYERED.json b/research/gauge44-leaver/evidence/layers/LOCAL-AUDIT-LAYERED.json new file mode 100644 index 0000000000..718c715709 --- /dev/null +++ b/research/gauge44-leaver/evidence/layers/LOCAL-AUDIT-LAYERED.json @@ -0,0 +1,137 @@ +{ + "status": "PASS_INDEPENDENT_EXACT_FORWARD_AND_DUAL_ENDPOINT_FRAMES_ENTRANCES_CONES", + "input_file": "FULL-WORD.json.gz", + "content_sha256": "238be1fc7dc8f96e0676478b4916eeb00e265a8026476fe826f68c3aaffbdf91", + "compressed_sha256": "47f71f4c4b1c7f85f97e4520d23e2343aa1c9c490d6115b9572346f9447a0a40", + "parent_center_interface": { + "parent_path": "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/CANONICAL-WORD.json.gz", + "parent_file_sha256": "66d3c3c70983224650643a0a05a21ac6c6959f84d0f4528650601016f5a76844", + "transport_tau": 43, + "ordered_frame_bases_match": true, + "all_ports_match": true, + "transported_centers": [ + 92, + 57, + 81, + 224, + 11, + 240, + 9, + 256 + ], + "source_centers": [ + 92, + 57, + 81, + 11, + 9 + ], + "ordered_frame_bases": [ + [ + 256, + 128, + 64, + 34, + 16, + 10, + 4, + 1 + ], + [ + 256, + 128, + 64, + 32, + 16, + 8, + 5, + 3 + ], + [ + 256, + 128, + 64, + 32, + 17, + 9, + 4, + 2 + ], + [ + 256, + 128, + 64, + 36, + 20, + 8, + 2, + 1 + ], + [ + 256, + 128, + 66, + 32, + 18, + 8, + 4, + 1 + ], + [ + 256, + 128, + 65, + 33, + 17, + 9, + 5, + 3 + ], + [ + 256, + 128, + 65, + 33, + 16, + 8, + 4, + 2 + ], + [ + 256, + 128, + 68, + 32, + 16, + 12, + 2, + 1 + ] + ] + }, + "v": 112, + "h": 9, + "R": 489, + "entering": 201, + "lowends": 96, + "coldends": 57, + "compensation_gates": 6630, + "local_profile": { + "1": 2463, + "2": 388, + "3": 429, + "4": 166, + "5": 70, + "8": 8 + }, + "width_inventory": { + "4": 65, + "5": 32, + "7": 39, + "8": 122, + "9": 231 + }, + "checked_columns": 713, + "elapsed_seconds": 0.8910000000032596, + "scope": "Exact rational full scalar map in both orientations; all literal native frame chains, center levels, dyadic units, entrance-zero response, wrapper exclusion and final helper row/column cones. No global owner admission or exponent repricing." +} diff --git a/research/gauge44-leaver/evidence/leaver/CELL-MUTANTS-LV.json b/research/gauge44-leaver/evidence/leaver/CELL-MUTANTS-LV.json new file mode 100644 index 0000000000..4d4ef7403c --- /dev/null +++ b/research/gauge44-leaver/evidence/leaver/CELL-MUTANTS-LV.json @@ -0,0 +1,261 @@ +{ + "c01m": { + "base": { + "audit_local": "PASS", + "native": "PASS" + }, + "window": [ + 611, + 631 + ], + "mutants": { + "M1_drop_leaver_restore_233": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [233])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M2_flip_yy_B623": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [172, 175])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M3_delete_xy_B611": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [132, 135, 173, 174])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M4_target_reads_entering_h448": { + "audit_local": "RuntimeError: nonzero entrance response", + "native": "AssertionError: zero-frame compensation reads an entering helper" + }, + "M5_wrong_leaver_restore_233": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [233])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M6_unrelabelled_dirty_yy_source": { + "audit_local": "RuntimeError: nonzero entrance response", + "native": "AssertionError: zero-frame compensation reads an entering helper" + } + }, + "all_rejected_both": true + }, + "c01p": { + "base": { + "audit_local": "PASS", + "native": "PASS" + }, + "window": [ + 611, + 631 + ], + "mutants": { + "M1_drop_leaver_restore_57": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [57, 58, 224, 225, 226])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M2_flip_yy_B623": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [169, 170])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M3_delete_xy_B611": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [129, 130, 168, 171])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M4_target_reads_entering_h448": { + "audit_local": "RuntimeError: nonzero entrance response", + "native": "AssertionError: zero-frame compensation reads an entering helper" + }, + "M5_wrong_leaver_restore_57": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [57, 58, 224, 225, 226])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M6_unrelabelled_dirty_yy_source": { + "audit_local": "RuntimeError: nonzero entrance response", + "native": "AssertionError: zero-frame compensation reads an entering helper" + } + }, + "all_rejected_both": true + }, + "c23m": { + "base": { + "audit_local": "PASS", + "native": "PASS" + }, + "window": [ + 611, + 631 + ], + "mutants": { + "M1_drop_leaver_restore_58": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [58])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M2_flip_yy_B623": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [169, 170])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M3_delete_xy_B611": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [173, 174, 196, 199])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M4_target_reads_entering_h448": { + "audit_local": "RuntimeError: nonzero entrance response", + "native": "AssertionError: zero-frame compensation reads an entering helper" + }, + "M5_wrong_leaver_restore_58": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [58])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M6_unrelabelled_dirty_yy_source": { + "audit_local": "RuntimeError: nonzero entrance response", + "native": "AssertionError: zero-frame compensation reads an entering helper" + } + }, + "all_rejected_both": true + }, + "c23p": { + "base": { + "audit_local": "PASS", + "native": "PASS" + }, + "window": [ + 611, + 631 + ], + "mutants": { + "M1_drop_leaver_restore_239": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [60, 63, 231, 232, 238, 239])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M2_flip_yy_B623": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [172, 175])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M3_delete_xy_B611": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [168, 171, 193, 194])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M4_target_reads_entering_h448": { + "audit_local": "RuntimeError: nonzero entrance response", + "native": "AssertionError: zero-frame compensation reads an entering helper" + }, + "M5_wrong_leaver_restore_239": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [60, 63, 231, 232, 238, 239])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M6_unrelabelled_dirty_yy_source": { + "audit_local": "RuntimeError: nonzero entrance response", + "native": "AssertionError: zero-frame compensation reads an entering helper" + } + }, + "all_rejected_both": true + }, + "c45m": { + "base": { + "audit_local": "PASS", + "native": "PASS" + }, + "window": [ + 611, + 631 + ], + "mutants": { + "M1_drop_leaver_restore_441": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [52, 55, 439, 440, 446, 447])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M2_flip_yy_B623": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [137, 138])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M3_delete_xy_B611": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [141, 142, 164, 167])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M4_target_reads_entering_h448": { + "audit_local": "RuntimeError: nonzero entrance response", + "native": "AssertionError: zero-frame compensation reads an entering helper" + }, + "M5_wrong_leaver_restore_441": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [52, 55, 439, 440, 446, 447])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M6_unrelabelled_dirty_yy_source": { + "audit_local": "RuntimeError: nonzero entrance response", + "native": "AssertionError: zero-frame compensation reads an entering helper" + } + }, + "all_rejected_both": true + }, + "c45p": { + "base": { + "audit_local": "PASS", + "native": "PASS" + }, + "window": [ + 611, + 631 + ], + "mutants": { + "M1_drop_leaver_restore_255": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [28, 31, 247, 248, 254, 255])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M2_flip_yy_B623": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [140, 143])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M3_delete_xy_B611": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [136, 139, 161, 162])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M4_target_reads_entering_h448": { + "audit_local": "RuntimeError: nonzero entrance response", + "native": "AssertionError: zero-frame compensation reads an entering helper" + }, + "M5_wrong_leaver_restore_255": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [28, 31, 247, 248, 254, 255])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M6_unrelabelled_dirty_yy_source": { + "audit_local": "RuntimeError: nonzero entrance response", + "native": "AssertionError: zero-frame compensation reads an entering helper" + } + }, + "all_rejected_both": true + }, + "c67m": { + "base": { + "audit_local": "PASS", + "native": "PASS" + }, + "window": [ + 611, + 631 + ], + "mutants": { + "M1_drop_leaver_restore_18": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [18])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M2_flip_yy_B623": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [129, 130])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M3_delete_xy_B611": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [133, 134, 161, 162])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M4_target_reads_entering_h448": { + "audit_local": "RuntimeError: nonzero entrance response", + "native": "AssertionError: zero-frame compensation reads an entering helper" + }, + "M5_wrong_leaver_restore_18": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [18])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M6_unrelabelled_dirty_yy_source": { + "audit_local": "RuntimeError: nonzero entrance response", + "native": "AssertionError: zero-frame compensation reads an entering helper" + } + }, + "all_rejected_both": true + } +} \ No newline at end of file diff --git a/research/gauge44-leaver/evidence/leaver/FRAME-CONTROLS-LV-k5.json b/research/gauge44-leaver/evidence/leaver/FRAME-CONTROLS-LV-k5.json new file mode 100644 index 0000000000..8983632412 --- /dev/null +++ b/research/gauge44-leaver/evidence/leaver/FRAME-CONTROLS-LV-k5.json @@ -0,0 +1,54 @@ +{ + "base": "2997cede", + "recipe": "FRAME-RECIPE-LV-k5.json", + "controls": { + "shrink_raised_B": { + "builder": "profile and width pins", + "stage": "native_atc", + "native": "PASS", + "rc": 0, + "reason": "}", + "frame": [ + "B", + 575 + ] + }, + "shrink_lowered_B": { + "builder": "('nonmonotone', 174)", + "stage": "apply", + "reason": "('nonmonotone', 174)" + }, + "shrink_T": { + "builder": "('nonmonotone', 559)", + "stage": "apply", + "reason": "('nonmonotone', 559)" + }, + "empty_B": { + "builder": "('nonmonotone', 169)", + "stage": "apply", + "reason": "('nonmonotone', 169)" + }, + "drop_one_lowering": { + "builder": "output word pin", + "stage": "native_atc", + "native": "PASS", + "rc": 0, + "reason": "}", + "frame": [ + "B", + 1259 + ] + }, + "drop_one_raise": { + "builder": "profile and width pins", + "stage": "native_atc", + "native": "PASS", + "rc": 0, + "reason": "}", + "frame": [ + "B", + 575 + ] + } + } +} diff --git a/research/gauge44-leaver/evidence/local/CANONICAL-WORD.json.gz b/research/gauge44-leaver/evidence/local/CANONICAL-WORD.json.gz new file mode 100644 index 0000000000..5062a1f62f Binary files /dev/null and b/research/gauge44-leaver/evidence/local/CANONICAL-WORD.json.gz differ diff --git a/research/gauge44-leaver/evidence/local/CLIFFORD-RECIPES.json b/research/gauge44-leaver/evidence/local/CLIFFORD-RECIPES.json new file mode 100644 index 0000000000..3ba8326d3a --- /dev/null +++ b/research/gauge44-leaver/evidence/local/CLIFFORD-RECIPES.json @@ -0,0 +1 @@ +{"children":[{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":2,"old":0,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,1,1,2],"matrix_rows":[203,257,258,4,264,16,32,320,384],"offset":0,"phase":0,"quadratic_rows":[459,459,0,459,0,0,459,459,203]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":3,"old":0,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":4,"old":0,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":5,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":6,"old":0,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":7,"old":0,"rank":1,"right":{"linear_Z4":[3,3,0,2,0,0,0,0,0],"matrix_rows":[11,9,10,4,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":8,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,3,3,2],"matrix_rows":[448,1,2,4,8,16,32,320,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,0,192,192,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":9,"old":0,"rank":1,"right":{"linear_Z4":[3,0,3,3,0,3,3,3,2],"matrix_rows":[493,257,2,260,264,16,288,320,384],"offset":1,"phase":1,"quadratic_rows":[237,0,237,237,0,237,237,237,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":10,"old":0,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,2,0,0,0],"matrix_rows":[38,1,34,36,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":11,"old":0,"rank":1,"right":{"linear_Z4":[3,3,0,0,3,3,3,3,2],"matrix_rows":[499,257,258,4,8,272,288,320,384],"offset":1,"phase":1,"quadratic_rows":[243,243,0,0,243,243,243,243,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":12,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,2,0,0,0],"matrix_rows":[56,1,2,4,40,48,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,24,24,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":13,"old":0,"rank":1,"right":{"linear_Z4":[3,0,3,0,2,0,0,0,0],"matrix_rows":[21,17,2,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":14,"old":0,"rank":1,"right":{"linear_Z4":[0,3,3,3,3,0,3,3,2],"matrix_rows":[478,1,258,260,264,272,32,320,384],"offset":1,"phase":1,"quadratic_rows":[0,222,222,222,222,0,222,222,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,33,64,1,130,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":18,"old":0,"rank":2,"right":{"linear_Z4":[1,0,1,1,0,2,3,3,2],"matrix_rows":[13,448,33,2,36,40,16,320,384],"offset":2,"phase":1,"quadratic_rows":[45,0,45,45,0,13,192,192,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,19,35,66,1,130,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":25,"old":0,"rank":2,"right":{"linear_Z4":[1,3,0,0,3,2,3,3,2],"matrix_rows":[13,478,33,258,292,296,272,320,384],"offset":2,"phase":1,"quadratic_rows":[45,222,243,243,222,13,222,222,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[6,8,18,35,1,3,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":26,"old":0,"rank":2,"right":{"linear_Z4":[1,0,1,2,0,2,0,0,0],"matrix_rows":[24,13,49,2,52,40,64,128,256],"offset":0,"phase":0,"quadratic_rows":[61,0,61,53,13,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":36,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,0,3,2,0],"matrix_rows":[208,1,2,4,8,144,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,80,0,80,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":37,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,0,3,0,2],"matrix_rows":[336,1,2,4,8,272,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,80,0,80,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":38,"old":0,"rank":1,"right":{"linear_Z4":[3,0,3,3,3,3,3,0,2],"matrix_rows":[381,257,2,260,264,272,288,320,128],"offset":1,"phase":1,"quadratic_rows":[125,0,125,125,125,125,125,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":39,"old":0,"rank":1,"right":{"linear_Z4":[3,0,3,3,3,3,3,2,0],"matrix_rows":[253,129,2,132,136,144,160,192,256],"offset":1,"phase":1,"quadratic_rows":[125,0,125,125,125,125,125,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":40,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,3,0,0,2],"matrix_rows":[296,1,2,4,264,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,40,0,40,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":41,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,3,0,2,0],"matrix_rows":[168,1,2,4,136,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,40,0,40,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":42,"old":0,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,2,0],"matrix_rows":[133,129,2,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":43,"old":0,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,0,2],"matrix_rows":[261,257,2,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[6,8,18,35,64,3,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":54,"old":0,"rank":2,"right":{"linear_Z4":[1,0,1,2,0,2,0,0,0],"matrix_rows":[264,13,289,2,292,40,16,64,128],"offset":0,"phase":0,"quadratic_rows":[301,0,301,293,0,13,0,0,13]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[6,8,18,35,64,3,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":55,"old":0,"rank":2,"right":{"linear_Z4":[1,0,1,2,0,2,0,0,0],"matrix_rows":[136,13,161,2,164,40,16,64,256],"offset":0,"phase":0,"quadratic_rows":[173,0,173,165,0,13,0,13,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":65,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,0,0,3,2],"matrix_rows":[400,1,2,4,8,272,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,144,0,0,144,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":66,"old":0,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,2,0,0,0],"matrix_rows":[35,33,34,4,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":67,"old":0,"rank":1,"right":{"linear_Z4":[0,3,3,2,0,0,0,0,0],"matrix_rows":[14,1,10,12,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":68,"old":0,"rank":1,"right":{"linear_Z4":[3,0,3,3,3,3,0,3,2],"matrix_rows":[445,257,2,260,264,272,288,64,384],"offset":1,"phase":1,"quadratic_rows":[189,0,189,189,189,189,0,189,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":69,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,3,2,0,0],"matrix_rows":[104,1,2,4,72,16,96,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,40,0,40,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":70,"old":0,"rank":1,"right":{"linear_Z4":[3,3,0,3,3,0,3,3,2],"matrix_rows":[475,257,258,4,264,272,32,320,384],"offset":1,"phase":1,"quadratic_rows":[219,219,0,219,219,0,219,219,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":71,"old":0,"rank":1,"right":{"linear_Z4":[0,3,3,0,3,3,3,3,2],"matrix_rows":[502,1,258,260,8,272,288,320,384],"offset":1,"phase":1,"quadratic_rows":[0,246,246,0,246,246,246,246,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":72,"old":0,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,2,0,0],"matrix_rows":[69,65,2,68,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[7,9,18,2,32,3,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":76,"old":0,"rank":2,"right":{"linear_Z4":[2,3,3,2,0,2,0,0,0],"matrix_rows":[43,5,33,42,12,16,64,128,256],"offset":3,"phase":2,"quadratic_rows":[14,3,13,5,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[6,8,18,35,64,3,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":83,"old":0,"rank":2,"right":{"linear_Z4":[1,0,1,2,0,2,0,0,0],"matrix_rows":[72,13,97,2,100,40,16,128,256],"offset":0,"phase":0,"quadratic_rows":[109,0,109,101,0,13,13,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":94,"old":0,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,2,0,0,0],"matrix_rows":[41,33,2,4,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":95,"old":0,"rank":1,"right":{"linear_Z4":[3,3,3,0,3,3,0,3,2],"matrix_rows":[439,257,258,260,8,272,288,64,384],"offset":1,"phase":1,"quadratic_rows":[183,183,183,0,183,183,0,183,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":96,"old":0,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,0,0,3,2],"matrix_rows":[388,1,2,260,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,132,0,0,0,0,132,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":97,"old":0,"rank":1,"right":{"linear_Z4":[0,3,0,3,2,0,0,0,0],"matrix_rows":[26,1,18,4,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":98,"old":0,"rank":1,"right":{"linear_Z4":[3,3,3,3,0,0,3,3,2],"matrix_rows":[463,257,258,260,264,16,32,320,384],"offset":1,"phase":1,"quadratic_rows":[207,207,207,207,0,0,207,207,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":99,"old":0,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,2,0,0],"matrix_rows":[81,65,2,4,8,80,32,128,256],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":100,"old":0,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,3,2,0,0],"matrix_rows":[98,1,66,4,8,16,96,128,256],"offset":1,"phase":1,"quadratic_rows":[0,34,0,0,0,34,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":101,"old":0,"rank":1,"right":{"linear_Z4":[0,0,3,3,3,3,3,3,2],"matrix_rows":[508,1,2,260,264,272,288,320,384],"offset":1,"phase":1,"quadratic_rows":[0,0,252,252,252,252,252,252,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[6,10,19,35,65,1,131,259,3],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":112,"old":0,"rank":2,"right":{"linear_Z4":[3,3,0,0,1,2,0,0,3],"matrix_rows":[476,463,289,290,260,264,48,320,384],"offset":2,"phase":1,"quadratic_rows":[239,239,275,275,508,19,275,275,476]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":123,"old":0,"rank":1,"right":{"linear_Z4":[3,3,3,0,3,3,3,0,2],"matrix_rows":[375,257,258,260,8,272,288,320,128],"offset":1,"phase":1,"quadratic_rows":[119,119,119,0,119,119,119,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":124,"old":0,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,0,3,2,0],"matrix_rows":[196,1,2,132,8,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,0,68,0,0,0,68,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":125,"old":0,"rank":1,"right":{"linear_Z4":[3,3,3,0,3,3,3,2,0],"matrix_rows":[247,129,130,132,8,144,160,192,256],"offset":1,"phase":1,"quadratic_rows":[119,119,119,0,119,119,119,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":126,"old":0,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,0,3,0,2],"matrix_rows":[324,1,2,260,8,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,0,68,0,0,0,68,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":127,"old":0,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,2,0],"matrix_rows":[145,129,2,4,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":128,"old":0,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,3,0,0,2],"matrix_rows":[290,1,258,4,8,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,34,0,0,0,34,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":129,"old":0,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,0,2],"matrix_rows":[273,257,2,4,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":130,"old":0,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,3,0,2,0],"matrix_rows":[162,1,130,4,8,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,34,0,0,0,34,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":152,"old":0,"rank":1,"right":{"linear_Z4":[3,3,3,0,0,3,3,3,2],"matrix_rows":[487,257,258,260,8,16,288,320,384],"offset":1,"phase":1,"quadratic_rows":[231,231,231,0,0,231,231,231,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":153,"old":0,"rank":1,"right":{"linear_Z4":[0,0,3,0,3,0,2,0,0],"matrix_rows":[84,1,2,68,8,80,32,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,20,0,20,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":154,"old":0,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,2,0,0],"matrix_rows":[74,1,66,4,72,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":155,"old":0,"rank":1,"right":{"linear_Z4":[3,0,0,3,3,3,3,3,2],"matrix_rows":[505,257,2,4,264,272,288,320,384],"offset":1,"phase":1,"quadratic_rows":[249,0,0,249,249,249,249,249,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":156,"old":0,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,2,0,0,0],"matrix_rows":[44,1,2,36,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":157,"old":0,"rank":1,"right":{"linear_Z4":[3,3,3,3,3,0,0,3,2],"matrix_rows":[415,257,258,260,264,272,32,64,384],"offset":1,"phase":1,"quadratic_rows":[159,159,159,159,159,0,0,159,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":158,"old":0,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,0,0,3,2],"matrix_rows":[385,257,2,4,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[129,0,0,0,0,0,0,129,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":159,"old":0,"rank":1,"right":{"linear_Z4":[0,3,0,0,3,2,0,0,0],"matrix_rows":[50,1,34,4,8,48,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,11,17,33,3,2,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":170,"old":0,"rank":2,"right":{"linear_Z4":[0,2,1,1,2,0,0,0,0],"matrix_rows":[14,34,1,18,52,56,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,60,62,62,14,14,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,20,32,70,130,2,6,257,1],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":172,"old":0,"rank":3,"right":{"linear_Z4":[3,3,0,2,3,2,2,3,2],"matrix_rows":[385,24,106,257,98,4,72,48,384],"offset":7,"phase":3,"quadratic_rows":[129,10,0,50,56,24,0,129,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[15,23,35,65,133,6,2,263,7],"offset":0,"phase":0,"quadratic_rows":[6,5,7,0,0,0,0,0,0]},"new":173,"old":0,"rank":3,"right":{"linear_Z4":[3,3,2,3,0,0,0,3,2],"matrix_rows":[415,391,499,257,258,356,296,336,384],"offset":3,"phase":2,"quadratic_rows":[235,235,376,191,300,415,391,235,116]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[15,21,35,71,129,2,4,263,7],"offset":0,"phase":0,"quadratic_rows":[6,3,5,0,0,0,0,0,0]},"new":174,"old":0,"rank":3,"right":{"linear_Z4":[1,0,0,1,3,1,1,1,0],"matrix_rows":[415,493,491,257,290,324,264,368,384],"offset":1,"phase":1,"quadratic_rows":[153,340,306,153,255,116,114,153,6]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,70,128,4,2,257,1],"offset":0,"phase":0,"quadratic_rows":[0,4,2,0,0,0,0,0,0]},"new":175,"old":0,"rank":3,"right":{"linear_Z4":[3,3,3,2,0,1,1,3,2],"matrix_rows":[385,106,108,257,66,36,104,16,384],"offset":7,"phase":3,"quadratic_rows":[129,42,76,102,0,106,108,129,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":181,"old":0,"rank":1,"right":{"linear_Z4":[0,0,3,0,3,0,0,2,0],"matrix_rows":[148,1,2,132,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,20,0,20,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":182,"old":0,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,0,0,2],"matrix_rows":[266,1,258,4,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":183,"old":0,"rank":1,"right":{"linear_Z4":[0,0,3,0,3,0,0,0,2],"matrix_rows":[276,1,2,260,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,20,0,20,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":184,"old":0,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,0,2,0],"matrix_rows":[138,1,130,4,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":185,"old":0,"rank":1,"right":{"linear_Z4":[3,3,3,3,3,0,3,0,2],"matrix_rows":[351,257,258,260,264,272,32,320,128],"offset":1,"phase":1,"quadratic_rows":[95,95,95,95,95,0,95,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":186,"old":0,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,0,3,2,0],"matrix_rows":[193,129,2,4,8,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[65,0,0,0,0,0,65,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":187,"old":0,"rank":1,"right":{"linear_Z4":[3,3,3,3,3,0,3,2,0],"matrix_rows":[223,129,130,132,136,144,32,192,256],"offset":1,"phase":1,"quadratic_rows":[95,95,95,95,95,0,95,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":188,"old":0,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,0,3,0,2],"matrix_rows":[321,257,2,4,8,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[65,0,0,0,0,0,65,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[13,18,33,66,129,256,5,2,4],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":201,"old":0,"rank":3,"right":{"linear_Z4":[2,3,1,3,1,0,2,2,0],"matrix_rows":[21,138,257,65,130,324,136,336,32],"offset":2,"phase":1,"quadratic_rows":[340,10,341,10,341,0,21,0,21]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[13,18,33,66,129,256,5,4,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":202,"old":0,"rank":3,"right":{"linear_Z4":[2,3,1,3,1,0,2,0,2],"matrix_rows":[21,266,129,65,258,196,264,208,32],"offset":2,"phase":1,"quadratic_rows":[212,10,213,10,213,0,21,21,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[11,23,32,71,128,256,3,6,2],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":203,"old":0,"rank":3,"right":{"linear_Z4":[0,3,0,3,0,0,2,1,2],"matrix_rows":[11,395,138,65,450,4,456,16,32],"offset":6,"phase":2,"quadratic_rows":[448,202,0,202,0,0,11,395,129]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,17,36,65,132,256,1,6,2],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":204,"old":0,"rank":3,"right":{"linear_Z4":[1,1,3,1,3,0,2,3,0],"matrix_rows":[11,384,148,65,66,388,72,400,32],"offset":4,"phase":1,"quadratic_rows":[75,75,276,75,276,0,11,384,148]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":210,"old":0,"rank":1,"right":{"linear_Z4":[3,0,3,2,0,0,0,0,0],"matrix_rows":[13,9,2,12,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":211,"old":0,"rank":1,"right":{"linear_Z4":[0,3,3,3,3,3,0,3,2],"matrix_rows":[446,1,258,260,264,272,288,64,384],"offset":1,"phase":1,"quadratic_rows":[0,190,190,190,190,190,0,190,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":212,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,3,0,3,2],"matrix_rows":[416,1,2,4,8,16,288,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,160,0,160,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":213,"old":0,"rank":1,"right":{"linear_Z4":[3,3,0,0,2,0,0,0,0],"matrix_rows":[19,17,18,4,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":214,"old":0,"rank":1,"right":{"linear_Z4":[3,3,0,3,0,3,3,3,2],"matrix_rows":[491,257,258,4,264,16,288,320,384],"offset":1,"phase":1,"quadratic_rows":[235,235,0,235,0,235,235,235,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":215,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,0,2,0,0],"matrix_rows":[88,1,2,4,72,80,32,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,24,24,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":216,"old":0,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,2,0,0],"matrix_rows":[70,1,66,68,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":217,"old":0,"rank":1,"right":{"linear_Z4":[3,0,3,0,3,3,3,3,2],"matrix_rows":[501,257,2,260,8,272,288,320,384],"offset":1,"phase":1,"quadratic_rows":[245,0,245,0,245,245,245,245,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,33,1,66,128,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":221,"old":0,"rank":2,"right":{"linear_Z4":[0,1,1,1,2,3,0,3,2],"matrix_rows":[14,416,1,18,20,24,288,64,384],"offset":2,"phase":1,"quadratic_rows":[0,30,30,30,14,160,0,160,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[7,9,18,33,2,67,131,259,3],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":228,"old":0,"rank":2,"right":{"linear_Z4":[0,3,1,3,2,0,0,0,3],"matrix_rows":[491,485,257,274,20,280,288,320,384],"offset":1,"phase":1,"quadratic_rows":[270,251,501,251,14,270,270,270,485]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":239,"old":0,"rank":1,"right":{"linear_Z4":[0,3,3,3,3,3,3,0,2],"matrix_rows":[382,1,258,260,264,272,288,320,128],"offset":1,"phase":1,"quadratic_rows":[0,126,126,126,126,126,126,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":240,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,3,3,2,0],"matrix_rows":[224,1,2,4,8,16,160,192,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,96,96,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":241,"old":0,"rank":1,"right":{"linear_Z4":[0,3,3,3,3,3,3,2,0],"matrix_rows":[254,1,130,132,136,144,160,192,256],"offset":1,"phase":1,"quadratic_rows":[0,126,126,126,126,126,126,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":242,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,3,3,0,2],"matrix_rows":[352,1,2,4,8,16,288,320,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,96,96,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":243,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,0,0,2,0],"matrix_rows":[152,1,2,4,136,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,24,24,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":244,"old":0,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,0,2],"matrix_rows":[262,1,258,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":245,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,0,0,0,2],"matrix_rows":[280,1,2,4,264,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,24,24,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":246,"old":0,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,2,0],"matrix_rows":[134,1,130,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,33,1,66,130,2,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":250,"old":0,"rank":2,"right":{"linear_Z4":[0,1,1,1,2,3,3,2,0],"matrix_rows":[14,224,1,18,20,24,160,192,256],"offset":2,"phase":1,"quadratic_rows":[0,30,30,30,14,96,96,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":268,"old":0,"rank":1,"right":{"linear_Z4":[0,3,3,3,0,3,3,3,2],"matrix_rows":[494,1,258,260,264,16,288,320,384],"offset":1,"phase":1,"quadratic_rows":[0,238,238,238,0,238,238,238,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":269,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,3,2,0,0],"matrix_rows":[112,1,2,4,8,80,96,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,48,48,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":270,"old":0,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,2,0,0],"matrix_rows":[67,65,66,4,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":271,"old":0,"rank":1,"right":{"linear_Z4":[3,0,3,3,3,0,3,3,2],"matrix_rows":[477,257,2,260,264,272,32,320,384],"offset":1,"phase":1,"quadratic_rows":[221,0,221,221,221,0,221,221,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":272,"old":0,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,2,0,0,0],"matrix_rows":[37,33,2,36,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":273,"old":0,"rank":1,"right":{"linear_Z4":[3,3,0,3,3,3,0,3,2],"matrix_rows":[443,257,258,4,264,272,288,64,384],"offset":1,"phase":1,"quadratic_rows":[187,187,0,187,187,187,0,187,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":274,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,0,0,3,2],"matrix_rows":[392,1,2,4,264,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,136,0,0,0,136,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":275,"old":0,"rank":1,"right":{"linear_Z4":[0,3,3,0,2,0,0,0,0],"matrix_rows":[22,1,18,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[6,10,16,32,67,3,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":279,"old":0,"rank":2,"right":{"linear_Z4":[1,1,0,0,2,2,0,0,0],"matrix_rows":[80,19,97,98,4,8,48,128,256],"offset":0,"phase":0,"quadratic_rows":[115,115,0,0,99,19,19,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,19,32,2,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":286,"old":0,"rank":2,"right":{"linear_Z4":[3,3,2,0,1,1,0,0,0],"matrix_rows":[53,54,33,18,52,8,64,128,256],"offset":3,"phase":2,"quadratic_rows":[21,38,51,0,53,54,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":297,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,3,0,2,0],"matrix_rows":[176,1,2,4,8,144,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,48,48,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":298,"old":0,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,0,2],"matrix_rows":[259,257,258,4,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":299,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,3,0,0,2],"matrix_rows":[304,1,2,4,8,272,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,48,48,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":300,"old":0,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,2,0],"matrix_rows":[131,129,130,4,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":301,"old":0,"rank":1,"right":{"linear_Z4":[3,3,0,3,3,3,3,0,2],"matrix_rows":[379,257,258,4,264,272,288,320,128],"offset":1,"phase":1,"quadratic_rows":[123,123,0,123,123,123,123,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":302,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,0,3,2,0],"matrix_rows":[200,1,2,4,136,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,72,0,0,72,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":303,"old":0,"rank":1,"right":{"linear_Z4":[3,3,0,3,3,3,3,2,0],"matrix_rows":[251,129,130,4,136,144,160,192,256],"offset":1,"phase":1,"quadratic_rows":[123,123,0,123,123,123,123,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":304,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,0,3,0,2],"matrix_rows":[328,1,2,4,264,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,72,0,0,72,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[6,10,16,32,67,3,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":308,"old":0,"rank":2,"right":{"linear_Z4":[1,1,0,0,2,2,0,0,0],"matrix_rows":[272,19,289,290,4,8,48,64,128],"offset":0,"phase":0,"quadratic_rows":[307,307,0,0,291,19,0,0,19]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":326,"old":0,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,0,2],"matrix_rows":[265,257,2,4,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":327,"old":0,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,2,0],"matrix_rows":[137,129,2,4,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":328,"old":0,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,3,0,2,0],"matrix_rows":[164,1,2,132,8,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,36,0,0,36,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":329,"old":0,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,3,0,0,2],"matrix_rows":[292,1,2,260,8,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,36,0,0,36,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":330,"old":0,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,3,2,0],"matrix_rows":[194,1,130,4,8,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,66,0,0,0,0,66,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":331,"old":0,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,3,0,2],"matrix_rows":[322,1,258,4,8,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,66,0,0,0,0,66,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":332,"old":0,"rank":1,"right":{"linear_Z4":[3,3,3,3,0,3,3,0,2],"matrix_rows":[367,257,258,260,264,16,288,320,128],"offset":1,"phase":1,"quadratic_rows":[111,111,111,111,0,111,111,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":333,"old":0,"rank":1,"right":{"linear_Z4":[3,3,3,3,0,3,3,2,0],"matrix_rows":[239,129,130,132,136,16,160,192,256],"offset":1,"phase":1,"quadratic_rows":[111,111,111,111,0,111,111,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[6,8,19,34,64,3,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":337,"old":0,"rank":2,"right":{"linear_Z4":[1,0,2,1,0,2,0,0,0],"matrix_rows":[132,13,161,2,36,168,16,64,256],"offset":0,"phase":0,"quadratic_rows":[173,0,169,173,0,13,0,13,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,17,33,64,1,130,2,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":344,"old":0,"rank":2,"right":{"linear_Z4":[1,3,1,1,0,2,3,2,0],"matrix_rows":[13,194,33,130,36,40,16,192,256],"offset":2,"phase":1,"quadratic_rows":[45,66,45,45,0,13,66,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,17,33,64,1,130,256,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":345,"old":0,"rank":2,"right":{"linear_Z4":[1,3,1,1,0,2,3,0,2],"matrix_rows":[13,322,33,258,36,40,16,320,128],"offset":2,"phase":1,"quadratic_rows":[45,66,45,45,0,13,66,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[8,19,39,64,128,263,3,6,2],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":350,"old":0,"rank":3,"right":{"linear_Z4":[0,0,3,0,0,3,2,1,2],"matrix_rows":[38,422,164,1,66,452,8,16,480],"offset":6,"phase":2,"quadratic_rows":[0,448,228,0,0,228,38,422,130]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[12,18,34,68,128,258,2,5,1],"offset":0,"phase":0,"quadratic_rows":[5,2,1,0,0,0,0,0,0]},"new":351,"old":0,"rank":3,"right":{"linear_Z4":[3,1,1,3,0,1,2,3,0],"matrix_rows":[384,38,137,385,66,68,392,16,96],"offset":4,"phase":1,"quadratic_rows":[265,102,102,265,0,102,38,384,137]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[10,19,36,66,128,260,3,1,4],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":352,"old":0,"rank":3,"right":{"linear_Z4":[1,2,3,1,0,3,2,0,2],"matrix_rows":[130,11,292,193,66,260,200,16,288],"offset":4,"phase":1,"quadratic_rows":[203,201,36,203,0,36,11,11,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[10,19,36,66,128,260,3,4,1],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":353,"old":0,"rank":3,"right":{"linear_Z4":[1,2,3,1,0,3,2,2,0],"matrix_rows":[258,11,164,321,66,132,328,16,160],"offset":4,"phase":1,"quadratic_rows":[331,329,36,331,0,36,11,0,11]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":355,"old":0,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,2,0,0],"matrix_rows":[73,65,2,4,72,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":356,"old":0,"rank":1,"right":{"linear_Z4":[0,3,0,3,3,3,3,3,2],"matrix_rows":[506,1,258,4,264,272,288,320,384],"offset":1,"phase":1,"quadratic_rows":[0,250,0,250,250,250,250,250,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":357,"old":0,"rank":1,"right":{"linear_Z4":[3,3,3,0,3,0,3,3,2],"matrix_rows":[471,257,258,260,8,272,32,320,384],"offset":1,"phase":1,"quadratic_rows":[215,215,215,0,215,0,215,215,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":358,"old":0,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,3,2,0,0],"matrix_rows":[100,1,2,68,8,16,96,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,36,0,0,36,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":359,"old":0,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,0,3,2],"matrix_rows":[386,1,258,4,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,130,0,0,0,0,0,130,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":360,"old":0,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,2,0,0,0],"matrix_rows":[49,33,2,4,8,48,64,128,256],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":361,"old":0,"rank":1,"right":{"linear_Z4":[0,0,3,3,2,0,0,0,0],"matrix_rows":[28,1,2,20,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":362,"old":0,"rank":1,"right":{"linear_Z4":[3,3,3,3,0,3,0,3,2],"matrix_rows":[431,257,258,260,264,16,288,64,384],"offset":1,"phase":1,"quadratic_rows":[175,175,175,175,0,175,0,175,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[6,11,18,33,67,1,131,259,3],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":366,"old":0,"rank":2,"right":{"linear_Z4":[3,0,3,1,0,2,0,0,3],"matrix_rows":[474,471,289,258,292,40,272,320,384],"offset":2,"phase":1,"quadratic_rows":[247,269,247,506,269,13,269,269,474]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,8,17,33,2,3,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":374,"old":0,"rank":2,"right":{"linear_Z4":[2,0,1,1,0,2,0,0,0],"matrix_rows":[13,17,33,2,52,56,64,128,256],"offset":0,"phase":0,"quadratic_rows":[60,0,61,61,13,13,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[12,18,37,64,132,1,5,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,4,0,0,0,0,0,0]},"new":379,"old":0,"rank":3,"right":{"linear_Z4":[1,3,2,0,1,0,2,3,2],"matrix_rows":[36,386,21,97,258,68,8,112,384],"offset":2,"phase":1,"quadratic_rows":[117,130,113,0,117,21,21,130,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[14,23,35,66,4,135,1,263,7],"offset":0,"phase":0,"quadratic_rows":[3,5,6,0,0,0,0,0,0]},"new":380,"old":0,"rank":3,"right":{"linear_Z4":[0,1,0,3,1,1,1,1,0],"matrix_rows":[502,431,499,321,258,276,344,288,384],"offset":2,"phase":1,"quadratic_rows":[284,170,329,255,89,170,92,170,5]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,17,36,70,6,130,2,257,1],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":381,"old":0,"rank":3,"right":{"linear_Z4":[0,3,3,2,2,3,2,3,2],"matrix_rows":[386,40,92,1,258,84,24,96,384],"offset":7,"phase":3,"quadratic_rows":[0,130,12,100,0,104,40,130,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[12,22,38,67,135,1,5,262,6],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":382,"old":0,"rank":3,"right":{"linear_Z4":[3,0,0,0,3,0,0,0,1],"matrix_rows":[24,254,407,97,258,260,328,304,384],"offset":5,"phase":2,"quadratic_rows":[503,105,105,422,81,399,407,105,361]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":384,"old":0,"rank":1,"right":{"linear_Z4":[0,3,0,0,3,0,0,2,0],"matrix_rows":[146,1,130,4,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":385,"old":0,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,3,0,0,2],"matrix_rows":[289,257,2,4,8,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[33,0,0,0,0,33,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":386,"old":0,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,0,2],"matrix_rows":[268,1,2,260,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":387,"old":0,"rank":1,"right":{"linear_Z4":[3,3,3,3,3,3,0,2,0],"matrix_rows":[191,129,130,132,136,144,160,64,256],"offset":1,"phase":1,"quadratic_rows":[63,63,63,63,63,63,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":388,"old":0,"rank":1,"right":{"linear_Z4":[0,3,0,0,3,0,0,0,2],"matrix_rows":[274,1,258,4,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":389,"old":0,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,3,0,2,0],"matrix_rows":[161,129,2,4,8,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[33,0,0,0,0,33,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":390,"old":0,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,2,0],"matrix_rows":[140,1,2,132,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":391,"old":0,"rank":1,"right":{"linear_Z4":[3,3,3,3,3,3,0,0,2],"matrix_rows":[319,257,258,260,264,272,288,64,128],"offset":1,"phase":1,"quadratic_rows":[63,63,63,63,63,63,0,0,0]}},{"left":{"linear_Z4":[2,3,2,3,2,2,2,2,0],"matrix_rows":[1,264,4,10,16,2,32,64,128],"offset":0,"phase":0,"quadratic_rows":[0,10,0,10,0,0,0,0,0]},"new":413,"old":0,"rank":8,"right":{"linear_Z4":[2,1,2,3,2,0,2,2,2],"matrix_rows":[1,40,4,34,16,64,128,256,42],"offset":245,"phase":2,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,2,2,2,2,2,2,0],"matrix_rows":[258,3,1,4,8,16,32,64,128],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":414,"old":0,"rank":8,"right":{"linear_Z4":[1,3,0,2,2,2,2,2,2],"matrix_rows":[6,5,8,16,32,64,128,256,7],"offset":252,"phase":2,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,3,2,2,2,2,0],"matrix_rows":[264,2,4,9,1,16,32,64,128],"offset":0,"phase":0,"quadratic_rows":[9,0,0,9,0,0,0,0,0]},"new":415,"old":0,"rank":8,"right":{"linear_Z4":[1,2,2,3,0,2,2,2,2],"matrix_rows":[24,2,4,17,32,64,128,256,25],"offset":246,"phase":2,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,2,3,2,2,2,0],"matrix_rows":[1,2,272,8,20,4,32,64,128],"offset":0,"phase":0,"quadratic_rows":[0,0,20,0,20,0,0,0,0]},"new":416,"old":0,"rank":8,"right":{"linear_Z4":[2,2,1,2,3,0,2,2,2],"matrix_rows":[1,2,48,8,36,64,128,256,52],"offset":235,"phase":2,"quadratic_rows":[0,0,20,0,20,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,2,3,2,2,2,0],"matrix_rows":[1,272,4,8,18,32,2,64,128],"offset":0,"phase":0,"quadratic_rows":[0,18,0,0,18,0,0,0,0]},"new":417,"old":0,"rank":8,"right":{"linear_Z4":[2,1,2,2,3,2,0,2,2],"matrix_rows":[1,80,4,8,66,32,128,256,82],"offset":237,"phase":2,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[3,3,3,3,3,3,2,2,0],"matrix_rows":[318,3,5,9,17,33,1,64,128],"offset":0,"phase":0,"quadratic_rows":[63,63,63,63,63,63,0,0,0]},"new":418,"old":0,"rank":8,"right":{"linear_Z4":[1,3,3,3,3,3,0,2,2],"matrix_rows":[126,125,123,119,111,95,128,256,127],"offset":192,"phase":2,"quadratic_rows":[63,63,63,63,63,63,0,0,0]}},{"left":{"linear_Z4":[3,2,2,2,2,3,2,2,0],"matrix_rows":[288,2,4,8,16,33,1,64,128],"offset":0,"phase":0,"quadratic_rows":[33,0,0,0,0,33,0,0,0]},"new":419,"old":0,"rank":8,"right":{"linear_Z4":[1,2,2,2,2,3,0,2,2],"matrix_rows":[96,2,4,8,16,65,128,256,97],"offset":222,"phase":2,"quadratic_rows":[33,0,0,0,0,33,0,0,0]}},{"left":{"linear_Z4":[2,2,3,3,2,2,2,2,0],"matrix_rows":[1,2,264,12,16,32,4,64,128],"offset":0,"phase":0,"quadratic_rows":[0,0,12,12,0,0,0,0,0]},"new":420,"old":0,"rank":8,"right":{"linear_Z4":[2,2,1,3,2,2,0,2,2],"matrix_rows":[1,2,72,68,16,32,128,256,76],"offset":243,"phase":2,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":421,"old":0,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":422,"old":0,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":423,"old":0,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,9,18,35,2,64,131,259,3],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":288,"old":2,"rank":2,"right":{"linear_Z4":[0,1,3,2,0,0,0,2,3],"matrix_rows":[219,397,321,338,20,264,32,256,384],"offset":143,"phase":1,"quadratic_rows":[22,395,413,86,397,0,392,86,342]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[6,11,17,35,64,1,131,259,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":289,"old":2,"rank":2,"right":{"linear_Z4":[3,0,1,0,0,2,2,0,1],"matrix_rows":[398,171,353,258,100,264,80,256,384],"offset":2,"phase":1,"quadratic_rows":[459,37,494,37,64,398,21,37,293]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,19,33,3,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":290,"old":2,"rank":2,"right":{"linear_Z4":[1,3,0,1,2,0,2,1,0],"matrix_rows":[397,278,257,338,84,264,96,256,384],"offset":2,"phase":1,"quadratic_rows":[141,70,203,141,0,64,38,141,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[6,11,17,35,64,1,131,259,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":291,"old":2,"rank":2,"right":{"linear_Z4":[1,0,3,2,0,0,0,2,3],"matrix_rows":[398,235,353,322,36,264,16,256,384],"offset":143,"phase":1,"quadratic_rows":[395,37,430,101,0,398,392,101,357]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,34,65,129,258,1,3],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":317,"old":2,"rank":2,"right":{"linear_Z4":[1,1,0,3,3,3,2,0,3],"matrix_rows":[435,264,129,130,4,328,80,96,256],"offset":480,"phase":2,"quadratic_rows":[307,307,0,72,499,499,56,304,435]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,35,65,129,259,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":318,"old":2,"rank":2,"right":{"linear_Z4":[1,1,0,0,3,3,2,0,2],"matrix_rows":[315,136,257,258,4,328,464,480,256],"offset":480,"phase":2,"quadratic_rows":[59,59,0,243,251,251,56,56,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,16,35,64,128,259,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":319,"old":2,"rank":2,"right":{"linear_Z4":[2,2,0,0,0,0,2,0,2],"matrix_rows":[136,264,193,194,4,328,16,32,256],"offset":300,"phase":2,"quadratic_rows":[192,192,0,192,0,0,11,11,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,33,65,129,257,2,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":320,"old":2,"rank":2,"right":{"linear_Z4":[3,3,0,3,1,1,2,0,3],"matrix_rows":[315,384,321,322,4,328,400,416,256],"offset":300,"phase":2,"quadratic_rows":[123,123,0,123,187,187,11,304,384]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,9,17,33,64,129,257,2,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":346,"old":2,"rank":2,"right":{"linear_Z4":[3,3,1,3,0,1,2,0,3],"matrix_rows":[303,384,321,322,388,328,16,416,256],"offset":300,"phase":2,"quadratic_rows":[111,111,175,111,0,175,11,292,384]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,11,16,32,64,128,259,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":347,"old":2,"rank":2,"right":{"linear_Z4":[2,0,0,2,0,0,2,0,2],"matrix_rows":[130,258,193,322,4,200,16,32,256],"offset":300,"phase":2,"quadratic_rows":[192,192,0,192,0,0,11,11,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,17,33,64,129,258,1,3],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":348,"old":2,"rank":2,"right":{"linear_Z4":[1,3,3,1,0,3,2,0,3],"matrix_rows":[429,258,129,322,68,136,16,96,256],"offset":408,"phase":2,"quadratic_rows":[301,66,493,301,0,493,38,292,429]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,11,17,33,64,129,259,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":349,"old":2,"rank":2,"right":{"linear_Z4":[1,0,3,1,0,3,2,0,2],"matrix_rows":[303,130,257,322,452,264,16,480,256],"offset":408,"phase":2,"quadratic_rows":[47,237,239,47,0,239,38,38,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,19,34,3,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":375,"old":2,"rank":2,"right":{"linear_Z4":[3,3,2,1,2,2,2,3,0],"matrix_rows":[391,348,257,258,84,280,96,256,384],"offset":209,"phase":0,"quadratic_rows":[135,135,139,76,0,64,40,135,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[6,11,16,35,65,1,131,259,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":376,"old":2,"rank":2,"right":{"linear_Z4":[1,2,0,0,3,0,0,2,3],"matrix_rows":[410,235,353,258,4,328,48,256,384],"offset":167,"phase":1,"quadratic_rows":[395,113,0,49,442,410,386,113,369]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[6,11,16,35,65,1,131,259,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":377,"old":2,"rank":2,"right":{"linear_Z4":[3,0,0,0,1,2,2,0,1],"matrix_rows":[410,171,353,258,68,264,112,256,384],"offset":2,"phase":1,"quadratic_rows":[459,49,64,49,506,410,21,49,305]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,18,35,2,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":378,"old":2,"rank":2,"right":{"linear_Z4":[1,3,1,2,1,0,1,3,1],"matrix_rows":[219,348,321,258,20,344,32,256,384],"offset":165,"phase":0,"quadratic_rows":[411,475,332,215,219,0,222,475,391]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,34,67,131,2,259,3],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":85,"old":3,"rank":2,"right":{"linear_Z4":[1,1,0,1,2,2,0,2,2],"matrix_rows":[187,184,321,330,12,64,272,288,384],"offset":0,"phase":0,"quadratic_rows":[507,499,8,269,259,259,3,259,187]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,32,66,1,128,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":86,"old":3,"rank":2,"right":{"linear_Z4":[3,3,0,0,3,2,0,3,2],"matrix_rows":[35,400,33,34,4,8,272,64,384],"offset":3,"phase":2,"quadratic_rows":[3,3,0,0,144,0,0,144,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[7,9,18,34,66,3,128,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":91,"old":3,"rank":2,"right":{"linear_Z4":[2,3,3,3,3,2,0,3,0],"matrix_rows":[291,413,33,290,260,264,272,64,384],"offset":3,"phase":2,"quadratic_rows":[158,3,157,157,157,0,0,157,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,33,66,128,1,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":92,"old":3,"rank":2,"right":{"linear_Z4":[3,3,0,3,3,0,0,3,2],"matrix_rows":[3,400,65,74,12,64,272,32,384],"offset":3,"phase":2,"quadratic_rows":[67,75,8,14,144,0,3,144,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,17,35,2,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":116,"old":3,"rank":2,"right":{"linear_Z4":[1,3,1,0,3,1,0,1,1],"matrix_rows":[189,282,257,18,260,280,288,64,384],"offset":2,"phase":1,"quadratic_rows":[445,266,445,183,189,445,0,445,423]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,18,33,64,1,128,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":117,"old":3,"rank":2,"right":{"linear_Z4":[3,0,3,3,0,2,0,3,2],"matrix_rows":[41,388,33,2,260,40,16,64,384],"offset":3,"phase":2,"quadratic_rows":[9,0,132,9,0,0,0,132,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,18,33,1,64,128,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":118,"old":3,"rank":2,"right":{"linear_Z4":[0,3,3,3,2,0,0,3,2],"matrix_rows":[26,388,1,18,260,24,32,64,384],"offset":3,"phase":2,"quadratic_rows":[0,10,132,10,0,0,0,132,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,18,35,66,1,128,258,2],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":119,"old":3,"rank":2,"right":{"linear_Z4":[3,1,1,0,1,3,0,1,1],"matrix_rows":[297,190,33,258,260,296,272,64,384],"offset":1,"phase":1,"quadratic_rows":[265,446,446,183,446,190,0,446,407]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,18,33,66,128,256,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":205,"old":3,"rank":2,"right":{"linear_Z4":[0,3,3,3,3,0,0,2,2],"matrix_rows":[138,276,1,130,260,136,272,32,64],"offset":3,"phase":2,"quadratic_rows":[0,10,20,10,20,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,18,33,66,128,256,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":206,"old":3,"rank":2,"right":{"linear_Z4":[0,3,3,3,3,0,0,2,2],"matrix_rows":[266,148,1,258,132,264,144,32,64],"offset":3,"phase":2,"quadratic_rows":[0,10,20,10,20,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[6,11,17,33,3,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":232,"old":3,"rank":2,"right":{"linear_Z4":[3,2,3,3,2,3,0,3,0],"matrix_rows":[430,275,273,18,260,264,288,64,384],"offset":3,"phase":2,"quadratic_rows":[3,173,174,174,0,174,0,174,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,33,64,130,1,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":233,"old":3,"rank":2,"right":{"linear_Z4":[3,3,0,3,0,3,0,3,2],"matrix_rows":[3,416,73,66,12,64,16,288,384],"offset":3,"phase":2,"quadratic_rows":[75,67,8,13,0,160,3,160,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,32,1,66,128,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":234,"old":3,"rank":2,"right":{"linear_Z4":[3,3,0,0,2,3,0,3,2],"matrix_rows":[19,416,17,18,4,8,288,64,384],"offset":3,"phase":2,"quadratic_rows":[3,3,0,0,0,160,0,160,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[6,10,16,33,67,131,1,259,3],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":235,"old":3,"rank":2,"right":{"linear_Z4":[1,1,0,1,2,2,0,2,2],"matrix_rows":[184,187,329,322,12,64,272,288,384],"offset":0,"phase":0,"quadratic_rows":[499,507,8,270,259,259,3,259,187]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,32,66,130,256,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":321,"old":3,"rank":2,"right":{"linear_Z4":[3,3,0,0,3,3,0,2,2],"matrix_rows":[131,304,129,130,4,8,272,288,64],"offset":3,"phase":2,"quadratic_rows":[3,3,0,0,48,48,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,32,66,130,256,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":322,"old":3,"rank":2,"right":{"linear_Z4":[3,3,0,0,3,3,0,2,2],"matrix_rows":[259,176,257,258,4,8,144,160,64],"offset":3,"phase":2,"quadratic_rows":[3,3,0,0,48,48,0,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,34,66,131,3,258,2],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":87,"old":4,"rank":2,"right":{"linear_Z4":[0,3,3,1,1,0,0,1,2],"matrix_rows":[6,184,33,354,324,264,272,64,384],"offset":1,"phase":1,"quadratic_rows":[32,358,326,440,440,411,6,440,190]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,1,34,64,128,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":88,"old":4,"rank":2,"right":{"linear_Z4":[0,3,3,2,3,0,0,3,2],"matrix_rows":[14,400,1,10,12,272,32,64,384],"offset":3,"phase":2,"quadratic_rows":[0,6,6,0,144,0,0,144,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,9,18,2,35,67,128,259,3],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":89,"old":4,"rank":2,"right":{"linear_Z4":[0,1,3,0,0,0,0,0,1],"matrix_rows":[187,437,257,266,12,272,288,64,384],"offset":2,"phase":1,"quadratic_rows":[14,435,445,437,14,14,0,14,270]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,32,66,129,1,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":90,"old":4,"rank":2,"right":{"linear_Z4":[0,3,3,0,3,3,0,3,2],"matrix_rows":[6,400,33,98,68,8,272,64,384],"offset":3,"phase":2,"quadratic_rows":[32,102,70,0,144,35,6,144,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,16,32,64,130,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":145,"old":4,"rank":2,"right":{"linear_Z4":[0,3,0,0,0,3,0,3,0],"matrix_rows":[384,162,1,386,4,8,16,416,64],"offset":2,"phase":1,"quadratic_rows":[0,290,0,0,0,290,0,384,162]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[6,8,16,32,66,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":146,"old":4,"rank":2,"right":{"linear_Z4":[3,0,0,0,3,0,0,3,0],"matrix_rows":[384,145,385,2,4,8,400,32,64],"offset":2,"phase":1,"quadratic_rows":[273,0,0,0,273,0,0,384,145]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,32,65,130,256,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":147,"old":4,"rank":2,"right":{"linear_Z4":[3,3,0,0,3,3,0,2,2],"matrix_rows":[145,290,129,258,4,8,144,288,64],"offset":3,"phase":2,"quadratic_rows":[17,34,0,0,17,34,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,32,65,130,256,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":148,"old":4,"rank":2,"right":{"linear_Z4":[3,3,0,0,3,3,0,2,2],"matrix_rows":[273,162,257,130,4,8,272,160,64],"offset":3,"phase":2,"quadratic_rows":[17,34,0,0,17,34,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[7,9,17,35,67,130,2,259,3],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":176,"old":4,"rank":2,"right":{"linear_Z4":[2,3,3,2,2,3,0,2,1],"matrix_rows":[415,409,257,322,356,296,272,64,384],"offset":3,"phase":2,"quadratic_rows":[262,223,255,294,262,44,6,262,409]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,18,32,64,130,2,257,1],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":177,"old":4,"rank":2,"right":{"linear_Z4":[3,3,3,0,0,3,0,3,2],"matrix_rows":[385,6,257,98,68,8,48,64,384],"offset":3,"phase":2,"quadratic_rows":[129,102,70,0,32,50,6,129,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,18,32,64,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":261,"old":4,"rank":2,"right":{"linear_Z4":[0,3,3,0,0,0,0,3,0],"matrix_rows":[384,134,1,386,388,8,16,32,64],"offset":2,"phase":1,"quadratic_rows":[0,262,262,0,0,0,0,384,134]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,16,34,66,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":262,"old":4,"rank":2,"right":{"linear_Z4":[0,0,0,3,3,0,0,3,0],"matrix_rows":[384,152,1,2,4,392,400,32,64],"offset":2,"phase":1,"quadratic_rows":[0,0,0,280,280,0,0,384,152]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,34,66,128,256,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":263,"old":4,"rank":2,"right":{"linear_Z4":[0,3,3,3,3,0,0,2,2],"matrix_rows":[262,152,1,258,260,136,144,32,64],"offset":3,"phase":2,"quadratic_rows":[0,6,6,24,24,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,34,66,128,256,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":264,"old":4,"rank":2,"right":{"linear_Z4":[0,3,3,3,3,0,0,2,2],"matrix_rows":[134,280,1,130,132,264,272,32,64],"offset":3,"phase":2,"quadratic_rows":[0,6,6,24,24,0,0,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[4,11,19,34,66,129,1,258,2],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":292,"old":4,"rank":2,"right":{"linear_Z4":[0,0,0,1,1,0,0,1,2],"matrix_rows":[6,190,33,322,356,264,272,64,384],"offset":1,"phase":1,"quadratic_rows":[32,504,472,446,446,411,6,446,190]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,34,1,64,128,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":293,"old":4,"rank":2,"right":{"linear_Z4":[0,3,3,3,2,0,0,3,2],"matrix_rows":[22,392,1,18,20,264,32,64,384],"offset":3,"phase":2,"quadratic_rows":[0,6,6,136,0,0,0,136,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[6,8,18,32,64,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":56,"old":5,"rank":2,"right":{"linear_Z4":[3,0,3,0,0,0,0,3,0],"matrix_rows":[384,133,385,2,388,8,16,32,64],"offset":2,"phase":1,"quadratic_rows":[261,0,261,0,0,0,0,384,133]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,16,34,64,130,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":57,"old":5,"rank":2,"right":{"linear_Z4":[0,0,0,3,0,3,0,3,0],"matrix_rows":[384,168,1,2,4,392,16,416,64],"offset":2,"phase":1,"quadratic_rows":[0,0,0,296,0,296,0,384,168]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,34,64,130,256,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":62,"old":5,"rank":2,"right":{"linear_Z4":[3,0,3,3,0,3,0,2,2],"matrix_rows":[133,296,129,2,132,264,16,288,64],"offset":3,"phase":2,"quadratic_rows":[5,0,5,40,0,40,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,34,64,130,256,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":63,"old":5,"rank":2,"right":{"linear_Z4":[3,0,3,3,0,3,0,2,2],"matrix_rows":[261,168,257,2,260,136,16,160,64],"offset":3,"phase":2,"quadratic_rows":[5,0,5,40,0,40,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,18,33,65,129,1,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":114,"old":5,"rank":2,"right":{"linear_Z4":[0,0,3,3,3,3,0,3,2],"matrix_rows":[40,388,1,18,260,88,64,96,384],"offset":3,"phase":2,"quadratic_rows":[0,16,132,120,26,104,40,132,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[4,10,18,35,67,129,1,258,2],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":115,"old":5,"rank":2,"right":{"linear_Z4":[0,1,1,0,0,0,0,1,2],"matrix_rows":[24,190,33,258,260,360,336,64,384],"offset":1,"phase":1,"quadratic_rows":[32,446,446,454,486,407,24,446,190]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,35,66,131,2,257,1],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":120,"old":5,"rank":2,"right":{"linear_Z4":[1,0,1,0,0,0,0,1,2],"matrix_rows":[189,40,257,18,260,344,64,352,384],"offset":2,"phase":1,"quadratic_rows":[445,16,445,453,423,469,40,445,189]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,18,33,65,129,1,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":121,"old":5,"rank":2,"right":{"linear_Z4":[0,0,3,3,3,3,0,3,2],"matrix_rows":[24,388,33,2,260,104,80,64,384],"offset":3,"phase":2,"quadratic_rows":[32,0,132,120,88,41,24,132,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,8,16,34,66,130,2,257,1],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":178,"old":5,"rank":2,"right":{"linear_Z4":[3,0,0,3,3,3,0,3,2],"matrix_rows":[385,24,257,2,36,104,80,64,384],"offset":3,"phase":2,"quadratic_rows":[129,0,32,120,88,44,24,129,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[7,11,19,33,65,130,2,259,3],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":179,"old":5,"rank":2,"right":{"linear_Z4":[2,2,2,3,3,3,0,2,1],"matrix_rows":[415,391,257,290,260,328,368,64,384],"offset":3,"phase":2,"quadratic_rows":[280,312,280,223,255,50,24,280,391]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,34,66,128,256,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":259,"old":5,"rank":2,"right":{"linear_Z4":[0,3,3,3,3,0,0,2,2],"matrix_rows":[134,280,1,130,132,264,272,32,64],"offset":3,"phase":2,"quadratic_rows":[0,6,6,24,24,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,34,66,128,256,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":260,"old":5,"rank":2,"right":{"linear_Z4":[0,3,3,3,3,0,0,2,2],"matrix_rows":[262,152,1,258,260,136,144,32,64],"offset":3,"phase":2,"quadratic_rows":[0,6,6,24,24,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,16,34,66,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":265,"old":5,"rank":2,"right":{"linear_Z4":[0,0,0,3,3,0,0,3,0],"matrix_rows":[384,152,1,2,4,392,400,32,64],"offset":2,"phase":1,"quadratic_rows":[0,0,0,280,280,0,0,384,152]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,18,32,64,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":266,"old":5,"rank":2,"right":{"linear_Z4":[0,3,3,0,0,0,0,3,0],"matrix_rows":[384,134,1,386,388,8,16,32,64],"offset":2,"phase":1,"quadratic_rows":[0,262,262,0,0,0,0,384,134]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[6,10,16,32,64,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":323,"old":5,"rank":2,"right":{"linear_Z4":[3,3,0,0,0,0,0,3,0],"matrix_rows":[384,131,385,386,4,8,16,32,64],"offset":2,"phase":1,"quadratic_rows":[259,259,0,0,0,0,0,384,131]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,16,32,66,130,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":324,"old":5,"rank":2,"right":{"linear_Z4":[0,0,0,0,3,3,0,3,0],"matrix_rows":[384,176,1,2,4,8,400,416,64],"offset":2,"phase":1,"quadratic_rows":[0,0,0,0,304,304,0,384,176]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,34,64,130,256,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":58,"old":6,"rank":2,"right":{"linear_Z4":[3,0,3,3,0,3,0,2,2],"matrix_rows":[261,168,257,2,260,136,16,160,64],"offset":3,"phase":2,"quadratic_rows":[5,0,5,40,0,40,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,34,64,130,256,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":59,"old":6,"rank":2,"right":{"linear_Z4":[3,0,3,3,0,3,0,2,2],"matrix_rows":[133,296,129,2,132,264,16,288,64],"offset":3,"phase":2,"quadratic_rows":[5,0,5,40,0,40,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,16,34,64,130,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":60,"old":6,"rank":2,"right":{"linear_Z4":[0,0,0,3,0,3,0,3,0],"matrix_rows":[384,168,1,2,4,392,16,416,64],"offset":2,"phase":1,"quadratic_rows":[0,0,0,296,0,296,0,384,168]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[6,8,18,32,64,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":61,"old":6,"rank":2,"right":{"linear_Z4":[3,0,3,0,0,0,0,3,0],"matrix_rows":[384,133,385,2,388,8,16,32,64],"offset":2,"phase":1,"quadratic_rows":[261,0,261,0,0,0,0,384,133]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,32,65,130,256,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":143,"old":6,"rank":2,"right":{"linear_Z4":[3,3,0,0,3,3,0,2,2],"matrix_rows":[273,162,257,130,4,8,272,160,64],"offset":3,"phase":2,"quadratic_rows":[17,34,0,0,17,34,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,32,65,130,256,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":144,"old":6,"rank":2,"right":{"linear_Z4":[3,3,0,0,3,3,0,2,2],"matrix_rows":[145,290,129,258,4,8,144,288,64],"offset":3,"phase":2,"quadratic_rows":[17,34,0,0,17,34,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[6,8,16,32,66,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":149,"old":6,"rank":2,"right":{"linear_Z4":[3,0,0,0,3,0,0,3,0],"matrix_rows":[384,145,385,2,4,8,400,32,64],"offset":2,"phase":1,"quadratic_rows":[273,0,0,0,273,0,0,384,145]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,16,32,64,130,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":150,"old":6,"rank":2,"right":{"linear_Z4":[0,3,0,0,0,3,0,3,0],"matrix_rows":[384,162,1,386,4,8,16,416,64],"offset":2,"phase":1,"quadratic_rows":[0,290,0,0,0,290,0,384,162]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,16,34,64,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":207,"old":6,"rank":2,"right":{"linear_Z4":[0,3,0,3,0,0,0,3,0],"matrix_rows":[384,138,1,386,4,392,16,32,64],"offset":2,"phase":1,"quadratic_rows":[0,266,0,266,0,0,0,384,138]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,18,32,66,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":208,"old":6,"rank":2,"right":{"linear_Z4":[0,0,3,0,3,0,0,3,0],"matrix_rows":[384,148,1,2,388,8,400,32,64],"offset":2,"phase":1,"quadratic_rows":[0,0,276,0,276,0,0,384,148]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,32,65,130,1,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":230,"old":6,"rank":2,"right":{"linear_Z4":[3,0,3,0,3,3,0,3,2],"matrix_rows":[5,416,81,18,68,8,64,288,384],"offset":3,"phase":2,"quadratic_rows":[85,16,69,0,19,160,5,160,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[6,11,17,1,35,67,128,259,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":231,"old":6,"rank":2,"right":{"linear_Z4":[1,0,3,0,0,0,0,0,1],"matrix_rows":[438,187,265,258,12,272,288,64,384],"offset":1,"phase":1,"quadratic_rows":[435,13,446,438,13,13,0,13,269]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[6,8,18,33,67,129,3,257,1],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":236,"old":6,"rank":2,"right":{"linear_Z4":[3,0,3,1,0,1,0,1,2],"matrix_rows":[184,5,337,18,324,264,64,288,384],"offset":2,"phase":1,"quadratic_rows":[341,16,325,440,427,440,5,440,189]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,1,32,66,128,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":237,"old":6,"rank":2,"right":{"linear_Z4":[3,0,3,2,0,3,0,3,2],"matrix_rows":[13,416,9,2,12,16,288,64,384],"offset":3,"phase":2,"quadratic_rows":[5,0,5,0,0,160,0,160,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,34,64,1,128,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":294,"old":6,"rank":2,"right":{"linear_Z4":[3,0,3,3,0,2,0,3,2],"matrix_rows":[37,392,33,2,36,264,16,64,384],"offset":3,"phase":2,"quadratic_rows":[5,0,5,136,0,0,0,136,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[7,8,19,33,66,129,2,257,1],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":295,"old":6,"rank":2,"right":{"linear_Z4":[0,0,0,1,0,1,0,1,2],"matrix_rows":[189,5,321,18,340,264,64,288,384],"offset":2,"phase":1,"quadratic_rows":[504,16,488,445,427,445,5,445,189]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":15,"old":7,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,2,0,0,0],"matrix_rows":[38,1,34,36,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":16,"old":7,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":17,"old":7,"rank":1,"right":{"linear_Z4":[3,0,3,0,2,0,0,0,0],"matrix_rows":[21,17,2,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":18,"old":8,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":19,"old":8,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":20,"old":8,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":18,"old":9,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,1,1,2],"matrix_rows":[461,289,2,292,296,16,256,320,384],"offset":0,"phase":0,"quadratic_rows":[237,0,237,237,0,13,205,205,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":21,"old":9,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":22,"old":9,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,1,1,2],"matrix_rows":[461,289,34,260,264,48,256,320,384],"offset":0,"phase":0,"quadratic_rows":[237,32,205,205,32,19,205,205,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":15,"old":10,"rank":1,"right":{"linear_Z4":[3,3,0,2,0,0,0,0,0],"matrix_rows":[11,9,10,4,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":23,"old":10,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":24,"old":10,"rank":1,"right":{"linear_Z4":[3,0,3,0,2,0,0,0,0],"matrix_rows":[21,17,2,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":19,"old":11,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,1,1,2],"matrix_rows":[467,289,290,4,8,304,256,320,384],"offset":0,"phase":0,"quadratic_rows":[243,243,0,0,243,19,211,211,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":21,"old":11,"rank":1,"right":{"linear_Z4":[1,1,0,0,2,1,1,1,2],"matrix_rows":[483,257,274,20,24,256,288,320,384],"offset":0,"phase":0,"quadratic_rows":[227,243,16,16,14,227,227,227,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":25,"old":11,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,1,1,2],"matrix_rows":[467,289,258,36,40,272,256,320,384],"offset":0,"phase":0,"quadratic_rows":[243,211,32,32,211,13,211,211,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":16,"old":12,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,2,0,0,0],"matrix_rows":[56,9,10,4,32,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[8,8,0,19,24,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":23,"old":12,"rank":1,"right":{"linear_Z4":[0,0,0,1,2,2,0,0,0],"matrix_rows":[40,1,18,20,56,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,16,16,24,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":26,"old":12,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,2,0,0,0],"matrix_rows":[56,17,2,20,40,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[16,0,16,24,13,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":17,"old":13,"rank":1,"right":{"linear_Z4":[3,3,0,2,0,0,0,0,0],"matrix_rows":[11,9,10,4,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":24,"old":13,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,2,0,0,0],"matrix_rows":[38,1,34,36,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":26,"old":13,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":20,"old":14,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,1,1,2],"matrix_rows":[462,1,274,276,280,256,32,320,384],"offset":0,"phase":0,"quadratic_rows":[0,222,222,222,14,0,206,206,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":22,"old":14,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":25,"old":14,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":528,"old":15,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,3,3,2],"matrix_rows":[448,1,2,4,8,16,32,320,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,0,192,192,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":529,"old":15,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,1,1,2],"matrix_rows":[213,257,2,260,8,272,32,320,384],"offset":0,"phase":0,"quadratic_rows":[469,0,469,0,469,0,469,469,213]}},{"left":{"linear_Z4":[3,2,2,2,0,0,0,0,0],"matrix_rows":[16,34,65,2,140,3,260,8,12],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":573,"old":15,"rank":4,"right":{"linear_Z4":[2,0,1,2,2,1,3,0,2],"matrix_rows":[12,34,464,144,5,8,40,272,448],"offset":93,"phase":1,"quadratic_rows":[4,40,37,34,64,46,80,0,0]}},{"left":{"linear_Z4":[2,3,3,3,0,0,0,0,0],"matrix_rows":[17,46,65,128,6,256,10,2,1],"offset":0,"phase":0,"quadratic_rows":[0,2,12,12,0,0,0,0,0]},"new":575,"old":15,"rank":4,"right":{"linear_Z4":[3,1,3,0,3,0,3,0,2],"matrix_rows":[261,2,194,146,257,210,260,8,32],"offset":3,"phase":2,"quadratic_rows":[5,130,5,0,80,0,80,2,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":28,"old":16,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,3,3,2],"matrix_rows":[448,1,2,4,8,16,32,320,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,0,192,192,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":34,"old":16,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,1,1,2],"matrix_rows":[213,257,2,260,8,272,32,320,384],"offset":0,"phase":0,"quadratic_rows":[469,0,469,0,469,0,469,469,213]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":30,"old":17,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,1,1,2],"matrix_rows":[230,1,258,260,8,16,288,320,384],"offset":0,"phase":0,"quadratic_rows":[0,486,486,0,0,486,486,486,230]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":32,"old":17,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,3,3,2],"matrix_rows":[448,1,2,4,8,16,32,320,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,0,192,192,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":466,"old":18,"rank":1,"right":{"linear_Z4":[3,0,3,0,2,0,0,0,0],"matrix_rows":[21,17,2,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":470,"old":18,"rank":1,"right":{"linear_Z4":[0,2,0,0,0,0,3,1,2],"matrix_rows":[448,1,66,4,8,16,32,256,384],"offset":132,"phase":2,"quadratic_rows":[0,64,0,0,0,0,194,192,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":528,"old":18,"rank":1,"right":{"linear_Z4":[3,0,3,3,0,0,0,0,0],"matrix_rows":[5,41,10,36,32,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[45,8,37,11,0,5,0,0,0]}},{"left":{"linear_Z4":[2,3,3,2,0,0,0,0,0],"matrix_rows":[16,33,67,1,136,2,264,4,12],"offset":0,"phase":0,"quadratic_rows":[2,3,12,4,0,0,0,0,0]},"new":572,"old":18,"rank":4,"right":{"linear_Z4":[2,1,0,3,3,3,0,2,3],"matrix_rows":[42,4,384,464,13,6,32,400,256],"offset":379,"phase":1,"quadratic_rows":[12,46,43,47,80,46,144,320,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":28,"old":19,"rank":1,"right":{"linear_Z4":[3,3,0,2,0,0,0,0,0],"matrix_rows":[11,9,10,4,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":33,"old":19,"rank":1,"right":{"linear_Z4":[3,3,0,0,3,0,0,0,0],"matrix_rows":[3,49,34,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[51,35,16,0,21,3,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":29,"old":20,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,2,0,0,0],"matrix_rows":[38,1,34,36,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":32,"old":20,"rank":1,"right":{"linear_Z4":[0,3,3,3,0,0,0,0,0],"matrix_rows":[6,9,26,20,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[8,30,22,11,6,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":30,"old":21,"rank":1,"right":{"linear_Z4":[0,2,2,0,0,1,1,1,2],"matrix_rows":[232,9,10,4,256,272,288,320,384],"offset":60,"phase":0,"quadratic_rows":[8,8,0,483,0,488,488,488,232]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":31,"old":21,"rank":1,"right":{"linear_Z4":[3,2,1,3,0,1,3,3,2],"matrix_rows":[461,257,34,292,264,16,256,320,384],"offset":77,"phase":0,"quadratic_rows":[205,32,237,205,0,38,205,205,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":27,"old":22,"rank":1,"right":{"linear_Z4":[2,2,0,1,0,0,1,1,2],"matrix_rows":[216,17,2,20,264,256,288,320,384],"offset":102,"phase":0,"quadratic_rows":[16,0,16,472,461,0,472,472,216]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":34,"old":22,"rank":1,"right":{"linear_Z4":[2,1,3,1,3,0,3,3,2],"matrix_rows":[470,9,266,260,256,272,32,320,384],"offset":23,"phase":0,"quadratic_rows":[8,222,214,11,214,0,214,214,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":29,"old":23,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,3,3,2],"matrix_rows":[448,1,2,4,8,16,32,320,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,0,192,192,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":31,"old":23,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,1,1,2],"matrix_rows":[203,257,258,4,264,16,32,320,384],"offset":0,"phase":0,"quadratic_rows":[459,459,0,459,0,0,459,459,203]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":27,"old":24,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,1,1,2],"matrix_rows":[203,257,258,4,264,16,32,320,384],"offset":0,"phase":0,"quadratic_rows":[459,459,0,459,0,0,459,459,203]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":33,"old":24,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,3,3,2],"matrix_rows":[448,1,2,4,8,16,32,320,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,0,192,192,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":441,"old":25,"rank":1,"right":{"linear_Z4":[2,3,1,2,3,0,3,3,2],"matrix_rows":[470,5,258,256,8,272,288,320,384],"offset":91,"phase":1,"quadratic_rows":[4,214,215,0,214,0,214,214,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":444,"old":25,"rank":1,"right":{"linear_Z4":[2,3,1,3,1,0,3,3,2],"matrix_rows":[462,17,258,276,264,256,32,320,384],"offset":43,"phase":0,"quadratic_rows":[16,206,222,206,21,0,206,206,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":529,"old":25,"rank":1,"right":{"linear_Z4":[2,0,2,0,1,0,1,1,2],"matrix_rows":[216,9,10,4,256,272,288,320,384],"offset":90,"phase":0,"quadratic_rows":[8,8,0,467,472,0,472,472,216]}},{"left":{"linear_Z4":[3,2,3,3,0,0,0,0,0],"matrix_rows":[18,35,66,129,260,1,3,8,14],"offset":0,"phase":0,"quadratic_rows":[1,12,14,14,0,0,0,0,0]},"new":574,"old":25,"rank":4,"right":{"linear_Z4":[1,2,1,0,0,0,2,0,0],"matrix_rows":[10,271,48,384,105,66,100,32,288],"offset":0,"phase":0,"quadratic_rows":[359,325,367,324,256,261,15,256,191]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":438,"old":26,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,2,0,0],"matrix_rows":[69,65,2,68,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":444,"old":26,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,1,1,2],"matrix_rows":[203,257,258,4,264,16,32,320,384],"offset":0,"phase":0,"quadratic_rows":[459,459,0,459,0,0,459,459,203]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":466,"old":26,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,3,3,2],"matrix_rows":[448,1,2,4,8,16,32,320,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,0,192,192,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":467,"old":26,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,3,0,2],"matrix_rows":[322,1,258,4,8,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,66,0,0,0,0,66,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":35,"old":27,"rank":1,"right":{"linear_Z4":[1,1,0,0,0,0,3,3,0],"matrix_rows":[203,265,266,4,256,16,32,320,384],"offset":23,"phase":0,"quadratic_rows":[451,451,0,448,0,0,459,459,203]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[15,23,32,67,128,256,5,1,7],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":584,"old":27,"rank":3,"right":{"linear_Z4":[1,1,0,2,0,0,2,1,3],"matrix_rows":[203,11,323,257,258,204,256,16,32],"offset":1,"phase":1,"quadratic_rows":[131,131,200,260,0,0,260,135,328]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[11,19,34,68,130,2,257,1,5],"offset":0,"phase":0,"quadratic_rows":[4,0,5,0,0,0,0,0,0]},"new":592,"old":27,"rank":3,"right":{"linear_Z4":[0,0,2,0,0,2,1,2,1],"matrix_rows":[323,39,8,161,162,32,256,48,192],"offset":70,"phase":1,"quadratic_rows":[452,452,3,256,0,0,451,67,331]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":35,"old":28,"rank":1,"right":{"linear_Z4":[3,3,0,0,3,0,0,0,0],"matrix_rows":[3,49,34,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[51,35,16,0,21,3,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,17,36,64,129,1,262,2,4],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":586,"old":28,"rank":3,"right":{"linear_Z4":[3,3,3,0,2,0,1,0,1],"matrix_rows":[3,448,388,33,50,452,8,32,256],"offset":291,"phase":0,"quadratic_rows":[35,51,68,0,2,3,324,256,448]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,19,32,67,1,2,132,260,4],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":594,"old":28,"rank":3,"right":{"linear_Z4":[2,0,2,0,1,2,1,1,2],"matrix_rows":[18,34,320,19,32,132,40,448,256],"offset":508,"phase":1,"quadratic_rows":[18,1,128,0,17,0,192,196,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":35,"old":29,"rank":1,"right":{"linear_Z4":[0,3,3,3,0,0,0,0,0],"matrix_rows":[6,9,26,20,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[8,30,22,11,6,0,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[12,18,34,66,2,128,261,1,4],"offset":0,"phase":0,"quadratic_rows":[5,2,1,0,0,0,0,0,0]},"new":600,"old":29,"rank":3,"right":{"linear_Z4":[3,3,3,2,0,0,1,0,1],"matrix_rows":[448,6,385,449,18,28,16,32,256],"offset":267,"phase":0,"quadratic_rows":[65,22,30,4,6,0,321,256,448]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,16,38,66,4,6,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":608,"old":29,"rank":3,"right":{"linear_Z4":[2,2,0,1,0,2,1,1,2],"matrix_rows":[320,60,20,129,14,32,48,448,256],"offset":475,"phase":3,"quadratic_rows":[128,12,2,10,0,0,192,193,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":35,"old":30,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,0,3,3,0],"matrix_rows":[230,1,290,292,8,16,256,320,384],"offset":77,"phase":0,"quadratic_rows":[0,454,454,0,0,448,486,486,230]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[8,23,39,64,128,259,5,1,7],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":602,"old":30,"rank":3,"right":{"linear_Z4":[0,1,1,0,0,2,2,1,3],"matrix_rows":[230,38,326,225,258,260,8,16,256],"offset":1,"phase":1,"quadratic_rows":[224,134,134,0,0,257,257,135,352]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,19,35,65,1,132,258,2,6],"offset":0,"phase":0,"quadratic_rows":[0,4,6,0,0,0,0,0,0]},"new":610,"old":30,"rank":3,"right":{"linear_Z4":[2,0,0,0,2,0,1,2,1],"matrix_rows":[23,326,32,16,146,148,24,256,192],"offset":133,"phase":1,"quadratic_rows":[6,449,449,0,0,256,454,70,358]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":35,"old":31,"rank":1,"right":{"linear_Z4":[0,1,1,3,0,0,3,3,2],"matrix_rows":[454,9,266,260,256,272,32,320,384],"offset":61,"phase":1,"quadratic_rows":[8,206,198,11,0,0,198,198,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[11,23,35,71,131,3,261,1,4],"offset":0,"phase":0,"quadratic_rows":[5,2,5,0,0,0,0,0,0]},"new":616,"old":31,"rank":3,"right":{"linear_Z4":[0,3,2,3,0,0,0,3,3],"matrix_rows":[271,207,78,229,294,32,296,48,256],"offset":511,"phase":1,"quadratic_rows":[292,170,105,174,0,207,292,170,321]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,20,38,68,134,6,258,2,3],"offset":0,"phase":0,"quadratic_rows":[3,7,2,0,0,0,0,0,0]},"new":624,"old":31,"rank":3,"right":{"linear_Z4":[0,3,1,3,0,1,3,2,3],"matrix_rows":[1,356,42,256,166,32,168,48,192],"offset":15,"phase":2,"quadratic_rows":[256,142,486,138,0,356,484,78,357]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":35,"old":32,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,2,0,0,0],"matrix_rows":[38,1,34,36,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,16,33,64,1,132,262,2,4],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":618,"old":32,"rank":3,"right":{"linear_Z4":[1,2,1,0,2,3,1,0,1],"matrix_rows":[17,448,416,21,6,16,8,480,256],"offset":443,"phase":3,"quadratic_rows":[5,4,7,0,0,96,352,256,448]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,16,34,1,3,64,132,260,4],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":626,"old":32,"rank":3,"right":{"linear_Z4":[0,2,1,2,1,2,1,1,2],"matrix_rows":[17,12,320,8,6,24,160,448,256],"offset":502,"phase":3,"quadratic_rows":[24,4,22,17,29,128,192,224,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":35,"old":33,"rank":1,"right":{"linear_Z4":[3,3,0,2,0,0,0,0,0],"matrix_rows":[11,9,10,4,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,16,33,68,129,1,262,2,4],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":632,"old":33,"rank":3,"right":{"linear_Z4":[2,2,2,3,0,2,1,0,1],"matrix_rows":[36,448,392,5,6,32,456,48,256],"offset":378,"phase":2,"quadratic_rows":[4,4,3,72,0,0,328,256,448]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,34,64,2,3,132,260,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":640,"old":33,"rank":3,"right":{"linear_Z4":[2,1,0,2,2,1,1,1,2],"matrix_rows":[18,36,320,3,48,16,136,448,256],"offset":477,"phase":3,"quadratic_rows":[2,35,48,128,36,54,192,200,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":35,"old":34,"rank":1,"right":{"linear_Z4":[1,1,0,0,3,0,3,3,2],"matrix_rows":[451,273,258,20,8,256,288,320,384],"offset":103,"phase":1,"quadratic_rows":[211,195,16,0,21,0,195,195,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[15,16,35,64,135,256,5,1,7],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":634,"old":34,"rank":3,"right":{"linear_Z4":[3,2,2,0,1,0,2,3,1],"matrix_rows":[17,209,405,453,198,256,8,272,32],"offset":58,"phase":0,"quadratic_rows":[145,196,402,0,85,0,402,199,324]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[10,19,36,67,130,3,257,1,5],"offset":0,"phase":0,"quadratic_rows":[7,1,5,0,0,0,0,0,0]},"new":642,"old":34,"rank":3,"right":{"linear_Z4":[3,1,0,0,3,1,3,2,3],"matrix_rows":[354,49,4,163,32,256,40,176,192],"offset":39,"phase":2,"quadratic_rows":[147,483,256,0,145,354,482,83,358]}},{"left":{"linear_Z4":[2,2,2,3,3,0,0,0,0],"matrix_rows":[33,66,4,131,5,6,264,16,24],"offset":0,"phase":0,"quadratic_rows":[6,5,3,24,24,0,0,0,0]},"new":1,"old":35,"rank":5,"right":{"linear_Z4":[2,2,0,0,0,0,0,0,1],"matrix_rows":[49,50,52,64,384,16,32,56,256],"offset":488,"phase":1,"quadratic_rows":[32,16,48,0,6,5,256,256,448]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,35,66,129,3,2,260,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":413,"old":35,"rank":4,"right":{"linear_Z4":[2,0,0,0,2,0,0,0,1],"matrix_rows":[3,6,64,384,48,18,32,56,256],"offset":436,"phase":1,"quadratic_rows":[50,21,34,0,3,5,256,256,448]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[18,35,65,131,1,2,260,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":414,"old":35,"rank":4,"right":{"linear_Z4":[3,1,0,0,0,2,0,0,1],"matrix_rows":[6,5,64,384,39,48,16,56,256],"offset":437,"phase":2,"quadratic_rows":[35,19,48,0,6,5,256,256,448]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[19,33,66,129,2,3,260,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":415,"old":35,"rank":4,"right":{"linear_Z4":[0,2,0,0,0,2,0,0,1],"matrix_rows":[3,5,64,384,33,48,16,56,256],"offset":436,"phase":1,"quadratic_rows":[38,49,17,0,6,3,256,256,448]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,34,67,131,1,2,260,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":416,"old":35,"rank":4,"right":{"linear_Z4":[0,0,2,0,2,2,0,0,1],"matrix_rows":[5,6,64,384,16,32,52,56,256],"offset":388,"phase":3,"quadratic_rows":[20,36,51,0,5,6,256,256,448]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":44,"old":36,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":45,"old":36,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,2,2,0],"matrix_rows":[144,1,2,4,72,208,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,64,80,64,56,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":46,"old":36,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,2,2,0],"matrix_rows":[144,65,2,68,8,208,32,128,256],"offset":0,"phase":0,"quadratic_rows":[64,0,64,0,80,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":47,"old":37,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":48,"old":37,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,2,0,2],"matrix_rows":[272,1,2,4,72,336,96,256,128],"offset":0,"phase":0,"quadratic_rows":[0,0,0,64,80,64,56,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":49,"old":37,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,2,0,2],"matrix_rows":[272,65,2,68,8,336,32,256,128],"offset":0,"phase":0,"quadratic_rows":[64,0,64,0,80,0,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":47,"old":38,"rank":1,"right":{"linear_Z4":[1,0,1,1,1,2,1,0,2],"matrix_rows":[349,289,2,292,296,272,256,320,128],"offset":0,"phase":0,"quadratic_rows":[125,0,125,125,93,13,93,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":50,"old":38,"rank":1,"right":{"linear_Z4":[1,0,1,1,1,1,2,0,2],"matrix_rows":[317,321,2,324,264,336,288,256,128],"offset":0,"phase":0,"quadratic_rows":[125,0,125,61,125,61,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":51,"old":38,"rank":1,"right":{"linear_Z4":[1,0,1,1,1,1,2,0,2],"matrix_rows":[317,257,2,260,328,336,352,256,128],"offset":0,"phase":0,"quadratic_rows":[61,0,61,125,125,125,56,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":44,"old":39,"rank":1,"right":{"linear_Z4":[1,0,1,1,1,2,1,2,0],"matrix_rows":[221,161,2,164,168,144,128,192,256],"offset":0,"phase":0,"quadratic_rows":[125,0,125,125,93,13,93,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":52,"old":39,"rank":1,"right":{"linear_Z4":[1,0,1,1,1,1,2,2,0],"matrix_rows":[189,193,2,196,136,208,160,128,256],"offset":0,"phase":0,"quadratic_rows":[125,0,125,61,125,61,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":53,"old":39,"rank":1,"right":{"linear_Z4":[1,0,1,1,1,1,2,2,0],"matrix_rows":[189,129,2,132,200,208,224,128,256],"offset":0,"phase":0,"quadratic_rows":[61,0,61,125,125,125,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":48,"old":40,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":50,"old":40,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":54,"old":40,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,2,0,0,2],"matrix_rows":[264,33,2,36,296,16,256,64,128],"offset":0,"phase":0,"quadratic_rows":[32,0,32,40,0,13,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":45,"old":41,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":52,"old":41,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":55,"old":41,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,2,0,2,0],"matrix_rows":[136,33,2,36,168,16,128,64,256],"offset":0,"phase":0,"quadratic_rows":[32,0,32,40,0,13,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":46,"old":42,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":53,"old":42,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":55,"old":42,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":49,"old":43,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":51,"old":43,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":54,"old":43,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":530,"old":44,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,0,3,0,2],"matrix_rows":[336,1,2,4,8,272,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,80,0,80,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":531,"old":44,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,0,2],"matrix_rows":[261,257,2,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,2,0,0,0,0,0],"matrix_rows":[16,33,67,1,136,2,268,12,4],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":577,"old":44,"rank":4,"right":{"linear_Z4":[2,1,0,3,1,3,3,2,0],"matrix_rows":[42,4,320,400,13,6,32,464,128],"offset":115,"phase":1,"quadratic_rows":[12,46,43,47,80,46,80,0,0]}},{"left":{"linear_Z4":[2,2,3,3,0,0,0,0,0],"matrix_rows":[16,1,34,66,132,256,8,12,2],"offset":0,"phase":0,"quadratic_rows":[0,0,12,12,0,0,0,0,0]},"new":579,"old":44,"rank":4,"right":{"linear_Z4":[0,2,3,3,0,0,0,1,2],"matrix_rows":[2,268,16,192,1,260,264,128,32],"offset":135,"phase":2,"quadratic_rows":[0,0,12,12,128,0,128,208,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":57,"old":45,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,3,0,0,2],"matrix_rows":[296,1,2,4,264,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,40,0,40,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":63,"old":45,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,0,2],"matrix_rows":[261,257,2,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":59,"old":46,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,3,0,0,2],"matrix_rows":[296,1,2,4,264,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,40,0,40,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":61,"old":46,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,0,2],"matrix_rows":[261,257,2,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":487,"old":47,"rank":1,"right":{"linear_Z4":[0,2,0,0,1,0,3,0,2],"matrix_rows":[336,1,66,4,8,272,32,256,128],"offset":132,"phase":2,"quadratic_rows":[0,64,0,0,80,0,82,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":490,"old":47,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,2,0],"matrix_rows":[140,1,2,132,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":530,"old":47,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,0,3,2,0],"matrix_rows":[208,1,2,4,8,144,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,80,0,80,0,0]}},{"left":{"linear_Z4":[3,2,2,2,0,0,0,0,0],"matrix_rows":[16,34,67,1,136,2,268,4,12],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":576,"old":47,"rank":4,"right":{"linear_Z4":[2,1,0,1,1,1,3,0,2],"matrix_rows":[44,42,192,400,13,46,32,464,256],"offset":115,"phase":1,"quadratic_rows":[12,6,43,45,80,44,80,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":57,"old":48,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,3,0,2,0],"matrix_rows":[168,1,2,4,136,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,40,0,40,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":62,"old":48,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,2,0],"matrix_rows":[133,129,2,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":58,"old":49,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,3,0,2,0],"matrix_rows":[168,1,2,4,136,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,40,0,40,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":61,"old":49,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,2,0],"matrix_rows":[133,129,2,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":59,"old":50,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,2,0],"matrix_rows":[133,129,2,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":60,"old":50,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,3,0,2,0],"matrix_rows":[168,1,2,4,136,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,40,0,40,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":56,"old":51,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,2,0],"matrix_rows":[133,129,2,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":63,"old":51,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,3,0,2,0],"matrix_rows":[168,1,2,4,136,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,40,0,40,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":58,"old":52,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,0,2],"matrix_rows":[261,257,2,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":60,"old":52,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,3,0,0,2],"matrix_rows":[296,1,2,4,264,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,40,0,40,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":56,"old":53,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,0,2],"matrix_rows":[261,257,2,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":62,"old":53,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,3,0,0,2],"matrix_rows":[296,1,2,4,264,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,40,0,40,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":439,"old":54,"rank":1,"right":{"linear_Z4":[0,1,1,1,1,0,1,2,0],"matrix_rows":[94,1,130,132,136,144,32,192,256],"offset":0,"phase":0,"quadratic_rows":[0,222,222,222,222,0,222,94,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":442,"old":54,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,2,0],"matrix_rows":[133,129,2,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":531,"old":54,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,0,3,2,0],"matrix_rows":[208,1,2,4,8,144,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,80,0,80,0,0]}},{"left":{"linear_Z4":[2,2,2,2,0,0,0,0,0],"matrix_rows":[16,42,69,129,258,4,10,8,5],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":578,"old":54,"rank":4,"right":{"linear_Z4":[2,2,0,1,3,0,2,0,2],"matrix_rows":[300,210,36,130,13,66,256,288,208],"offset":155,"phase":1,"quadratic_rows":[12,16,1,9,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":440,"old":55,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,2,0,0],"matrix_rows":[69,65,2,68,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":442,"old":55,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,0,2],"matrix_rows":[261,257,2,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":488,"old":55,"rank":1,"right":{"linear_Z4":[3,0,3,2,0,0,0,0,0],"matrix_rows":[5,33,2,44,32,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[37,0,45,4,0,5,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":489,"old":55,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,3,0,2],"matrix_rows":[322,1,258,4,8,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,66,0,0,0,0,66,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":64,"old":56,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,2,0,0,0],"matrix_rows":[24,33,2,36,104,80,64,128,256],"offset":1,"phase":1,"quadratic_rows":[32,0,32,120,88,13,24,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,20,32,64,132,6,2,257,1],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":684,"old":56,"rank":3,"right":{"linear_Z4":[0,1,0,2,3,2,2,0,2],"matrix_rows":[257,96,18,256,98,4,56,64,384],"offset":192,"phase":2,"quadratic_rows":[0,114,0,48,122,26,18,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,20,34,64,133,1,4,258,2],"offset":0,"phase":0,"quadratic_rows":[5,0,1,0,0,0,0,0,0]},"new":700,"old":56,"rank":3,"right":{"linear_Z4":[0,1,0,2,0,1,1,0,2],"matrix_rows":[112,260,98,1,114,256,56,64,384],"offset":213,"phase":1,"quadratic_rows":[0,18,0,48,106,120,112,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":64,"old":57,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,2,0,0,2],"matrix_rows":[24,33,2,36,296,272,256,320,384],"offset":0,"phase":0,"quadratic_rows":[32,0,32,312,280,13,0,0,24]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[10,23,6,32,65,130,3,258,2],"offset":0,"phase":0,"quadratic_rows":[4,0,5,0,0,0,0,0,0]},"new":685,"old":57,"rank":3,"right":{"linear_Z4":[1,1,1,0,3,3,1,0,0],"matrix_rows":[118,275,354,273,358,56,320,256,384],"offset":222,"phase":2,"quadratic_rows":[3,355,276,48,284,362,354,0,118]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[15,3,17,32,69,129,4,257,1],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":701,"old":57,"rank":3,"right":{"linear_Z4":[3,1,1,0,2,1,3,0,3],"matrix_rows":[277,113,355,115,276,56,320,256,384],"offset":213,"phase":3,"quadratic_rows":[117,274,5,48,363,121,113,0,274]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":64,"old":58,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,2,0,2,0],"matrix_rows":[136,33,2,36,168,16,128,64,256],"offset":0,"phase":0,"quadratic_rows":[32,0,32,40,0,13,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,20,33,68,129,2,1,6,256],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":692,"old":58,"rank":3,"right":{"linear_Z4":[3,3,3,0,2,2,0,3,0],"matrix_rows":[5,160,170,81,162,68,128,64,256],"offset":69,"phase":1,"quadratic_rows":[85,10,69,34,1,136,5,160,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[10,20,34,65,130,4,2,5,256],"offset":0,"phase":0,"quadratic_rows":[5,2,1,0,0,0,0,0,0]},"new":708,"old":58,"rank":3,"right":{"linear_Z4":[3,1,3,0,2,2,0,3,0],"matrix_rows":[8,5,170,65,10,84,128,64,256],"offset":87,"phase":1,"quadratic_rows":[69,162,85,32,4,138,5,162,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":64,"old":59,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,2,0,0,2],"matrix_rows":[264,33,2,36,296,16,256,64,128],"offset":0,"phase":0,"quadratic_rows":[32,0,32,40,0,13,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,20,33,68,129,2,1,256,6],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":693,"old":59,"rank":3,"right":{"linear_Z4":[3,3,3,0,2,2,0,0,3],"matrix_rows":[5,288,298,81,290,68,256,64,128],"offset":69,"phase":1,"quadratic_rows":[85,10,69,34,1,264,5,0,288]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[10,20,34,65,130,4,2,256,5],"offset":0,"phase":0,"quadratic_rows":[5,2,1,0,0,0,0,0,0]},"new":709,"old":59,"rank":3,"right":{"linear_Z4":[3,1,3,0,2,2,0,0,3],"matrix_rows":[8,5,298,65,10,84,256,64,128],"offset":87,"phase":1,"quadratic_rows":[69,290,85,32,4,266,5,0,290]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":64,"old":60,"rank":1,"right":{"linear_Z4":[3,0,3,3,0,2,0,0,0],"matrix_rows":[13,289,2,292,296,16,256,64,384],"offset":1,"phase":1,"quadratic_rows":[301,0,301,301,0,13,0,0,13]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,17,35,68,1,128,2,260,4],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":716,"old":60,"rank":3,"right":{"linear_Z4":[2,1,0,0,3,0,3,0,2],"matrix_rows":[82,4,264,21,6,64,256,32,384],"offset":59,"phase":1,"quadratic_rows":[20,86,83,0,87,0,86,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,18,35,64,1,132,2,260,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":732,"old":60,"rank":3,"right":{"linear_Z4":[2,1,0,0,1,0,1,0,2],"matrix_rows":[84,82,288,21,86,64,8,256,384],"offset":59,"phase":1,"quadratic_rows":[20,6,83,0,85,0,84,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":64,"old":61,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,19,39,71,129,2,6,263,7],"offset":0,"phase":0,"quadratic_rows":[3,5,2,0,0,0,0,0,0]},"new":717,"old":61,"rank":3,"right":{"linear_Z4":[0,2,2,1,1,1,0,0,1],"matrix_rows":[42,282,92,21,358,256,280,320,384],"offset":246,"phase":2,"quadratic_rows":[20,84,43,124,283,364,42,0,304]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[12,17,39,2,68,3,135,263,7],"offset":0,"phase":0,"quadratic_rows":[3,3,4,0,0,0,0,0,0]},"new":733,"old":61,"rank":3,"right":{"linear_Z4":[3,3,2,0,3,1,0,0,2],"matrix_rows":[10,44,17,293,46,256,304,320,384],"offset":235,"phase":2,"quadratic_rows":[309,38,35,0,305,55,0,0,17]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":64,"old":62,"rank":1,"right":{"linear_Z4":[3,0,3,3,3,2,0,0,2],"matrix_rows":[285,289,2,292,296,272,256,320,128],"offset":1,"phase":1,"quadratic_rows":[61,0,61,61,29,13,0,0,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[9,17,2,36,68,132,4,3,256],"offset":0,"phase":0,"quadratic_rows":[2,3,4,0,0,0,0,0,0]},"new":724,"old":62,"rank":3,"right":{"linear_Z4":[0,3,2,3,2,3,0,3,0],"matrix_rows":[135,132,40,128,134,88,64,96,256],"offset":13,"phase":1,"quadratic_rows":[6,3,129,120,8,104,40,132,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[11,1,18,32,64,132,260,2,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":740,"old":62,"rank":3,"right":{"linear_Z4":[2,3,0,2,2,1,0,3,2],"matrix_rows":[129,135,288,131,128,8,48,256,320],"offset":484,"phase":1,"quadratic_rows":[132,6,3,0,32,48,0,129,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":64,"old":63,"rank":1,"right":{"linear_Z4":[3,0,3,3,3,2,0,2,0],"matrix_rows":[157,161,2,164,168,144,128,192,256],"offset":1,"phase":1,"quadratic_rows":[61,0,61,61,29,13,0,0,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[9,17,2,36,68,132,4,256,3],"offset":0,"phase":0,"quadratic_rows":[2,3,4,0,0,0,0,0,0]},"new":725,"old":63,"rank":3,"right":{"linear_Z4":[0,3,2,3,2,3,0,0,3],"matrix_rows":[263,260,40,256,262,88,64,96,128],"offset":13,"phase":1,"quadratic_rows":[6,3,257,120,8,104,40,0,260]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[11,1,18,32,64,132,260,4,2],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":741,"old":63,"rank":3,"right":{"linear_Z4":[2,3,0,2,2,1,0,2,3],"matrix_rows":[257,263,160,259,256,8,48,128,192],"offset":484,"phase":1,"quadratic_rows":[260,6,3,0,32,48,0,0,257]}},{"left":{"linear_Z4":[2,2,2,3,3,0,0,0,0],"matrix_rows":[33,2,4,72,144,13,21,261,5],"offset":0,"phase":0,"quadratic_rows":[24,0,24,13,21,0,0,0,0]},"new":1,"old":64,"rank":5,"right":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[353,2,100,264,272,256,288,320,384],"offset":254,"phase":1,"quadratic_rows":[96,0,96,32,64,13,21,0,0]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,37,4,66,136,7,13,261,5],"offset":0,"phase":0,"quadratic_rows":[15,7,15,13,0,0,0,0,0]},"new":413,"old":64,"rank":4,"right":{"linear_Z4":[2,2,2,1,0,0,0,0,3],"matrix_rows":[107,264,366,272,256,266,288,320,384],"offset":254,"phase":3,"quadratic_rows":[362,13,362,47,64,13,21,0,261]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[18,3,33,68,136,5,9,257,1],"offset":0,"phase":0,"quadratic_rows":[15,3,5,9,0,0,0,0,0]},"new":414,"old":64,"rank":4,"right":{"linear_Z4":[1,3,0,0,0,1,1,0,2],"matrix_rows":[358,261,264,272,263,256,288,320,384],"offset":204,"phase":0,"quadratic_rows":[3,99,96,32,64,110,118,0,0]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,37,4,72,130,13,7,261,5],"offset":0,"phase":0,"quadratic_rows":[15,7,15,13,0,0,0,0,0]},"new":417,"old":64,"rank":4,"right":{"linear_Z4":[2,2,2,0,1,0,0,0,3],"matrix_rows":[115,272,374,264,256,274,288,320,384],"offset":254,"phase":3,"quadratic_rows":[370,21,370,32,87,13,21,0,261]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[22,3,37,73,129,12,4,261,5],"offset":0,"phase":0,"quadratic_rows":[15,7,15,13,0,0,0,0,0]},"new":418,"old":64,"rank":4,"right":{"linear_Z4":[2,0,0,2,3,2,2,0,3],"matrix_rows":[382,285,123,264,287,256,288,320,384],"offset":200,"phase":3,"quadratic_rows":[120,24,120,295,87,13,21,0,264]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":73,"old":65,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":74,"old":65,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":75,"old":65,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":76,"old":66,"rank":1,"right":{"linear_Z4":[0,3,3,2,0,0,0,0,0],"matrix_rows":[14,1,10,12,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":77,"old":66,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":78,"old":66,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,2,0,0],"matrix_rows":[69,65,2,68,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":76,"old":67,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,2,0,0,0],"matrix_rows":[35,33,34,4,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":79,"old":67,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":80,"old":67,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,2,0,0],"matrix_rows":[69,65,2,68,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":73,"old":68,"rank":1,"right":{"linear_Z4":[1,0,1,1,1,2,0,1,2],"matrix_rows":[413,289,2,292,296,272,256,64,384],"offset":0,"phase":0,"quadratic_rows":[189,0,189,189,157,13,0,157,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":81,"old":68,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":82,"old":68,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":77,"old":69,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,2,0,0],"matrix_rows":[104,33,34,4,72,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[32,32,0,40,0,11,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":79,"old":69,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,1,2,0,0],"matrix_rows":[104,1,10,12,64,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,8,8,38,0,40,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":83,"old":69,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,2,2,0,0],"matrix_rows":[72,33,2,36,104,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[32,0,32,40,0,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":74,"old":70,"rank":1,"right":{"linear_Z4":[1,1,0,1,1,0,2,1,2],"matrix_rows":[411,321,322,4,328,272,32,256,384],"offset":0,"phase":0,"quadratic_rows":[219,219,0,219,155,0,11,155,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":81,"old":70,"rank":1,"right":{"linear_Z4":[1,1,0,1,1,0,2,1,2],"matrix_rows":[411,257,322,68,264,272,96,256,384],"offset":0,"phase":0,"quadratic_rows":[155,219,64,155,155,64,38,155,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":84,"old":70,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":75,"old":71,"rank":1,"right":{"linear_Z4":[0,1,1,0,1,1,2,1,2],"matrix_rows":[438,1,322,324,8,272,352,256,384],"offset":0,"phase":0,"quadratic_rows":[0,246,246,0,182,246,38,182,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":82,"old":71,"rank":1,"right":{"linear_Z4":[0,1,1,0,1,1,2,1,2],"matrix_rows":[438,65,322,260,72,272,288,256,384],"offset":0,"phase":0,"quadratic_rows":[64,246,182,64,182,182,11,182,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":84,"old":71,"rank":1,"right":{"linear_Z4":[0,1,1,0,1,2,1,1,2],"matrix_rows":[470,33,258,292,40,272,256,320,384],"offset":0,"phase":0,"quadratic_rows":[32,214,246,32,214,13,214,214,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":78,"old":72,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,2,0,0,0],"matrix_rows":[35,33,34,4,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":80,"old":72,"rank":1,"right":{"linear_Z4":[0,3,3,2,0,0,0,0,0],"matrix_rows":[14,1,10,12,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":83,"old":72,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":532,"old":73,"rank":1,"right":{"linear_Z4":[3,0,3,3,0,0,0,0,0],"matrix_rows":[5,33,10,44,32,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[37,8,45,14,0,5,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":533,"old":73,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,2,0,0],"matrix_rows":[69,65,2,68,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,3,0,0,0,0,0],"matrix_rows":[16,34,67,1,132,2,260,8,12],"offset":0,"phase":0,"quadratic_rows":[3,1,8,12,0,0,0,0,0]},"new":581,"old":73,"rank":4,"right":{"linear_Z4":[2,1,0,1,0,1,3,2,3],"matrix_rows":[44,42,464,384,13,46,32,256,448],"offset":247,"phase":1,"quadratic_rows":[12,6,43,45,192,44,80,272,384]}},{"left":{"linear_Z4":[2,2,3,3,0,0,0,0,0],"matrix_rows":[16,1,34,66,132,256,2,8,12],"offset":0,"phase":0,"quadratic_rows":[0,0,12,12,0,0,0,0,0]},"new":583,"old":73,"rank":4,"right":{"linear_Z4":[0,2,3,3,0,0,2,0,1],"matrix_rows":[2,76,16,384,1,68,72,256,32],"offset":135,"phase":2,"quadratic_rows":[0,0,12,12,256,0,0,256,400]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":86,"old":74,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,2,0,0,0],"matrix_rows":[35,33,34,4,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":92,"old":74,"rank":1,"right":{"linear_Z4":[3,3,0,3,0,0,0,0,0],"matrix_rows":[3,65,74,12,64,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[67,75,8,14,0,0,3,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":88,"old":75,"rank":1,"right":{"linear_Z4":[0,3,3,2,0,0,0,0,0],"matrix_rows":[14,1,10,12,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":90,"old":75,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,3,0,0,0],"matrix_rows":[6,33,98,68,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[32,102,70,0,0,35,6,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":510,"old":76,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,1,1,2],"matrix_rows":[213,257,2,260,8,272,32,320,384],"offset":0,"phase":0,"quadratic_rows":[469,0,469,0,469,0,469,469,213]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":513,"old":76,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[2,1,258,4,8,16,32,64,128],"offset":0,"phase":0,"quadratic_rows":[0,258,0,0,0,0,0,0,2]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":532,"old":76,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,0,0,3,2],"matrix_rows":[400,1,2,4,8,272,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,144,0,0,144,0]}},{"left":{"linear_Z4":[3,2,2,2,0,0,0,0,0],"matrix_rows":[16,34,65,3,136,2,268,12,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":580,"old":76,"rank":4,"right":{"linear_Z4":[2,0,1,1,3,2,2,2,0],"matrix_rows":[36,10,320,464,5,32,40,400,192],"offset":93,"phase":1,"quadratic_rows":[4,40,13,46,80,10,16,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":86,"old":77,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,0,0,3,2],"matrix_rows":[400,1,2,4,8,272,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,144,0,0,144,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":91,"old":77,"rank":1,"right":{"linear_Z4":[0,1,1,1,1,0,0,1,2],"matrix_rows":[158,1,258,260,264,272,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,414,414,414,414,0,0,414,158]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":87,"old":78,"rank":1,"right":{"linear_Z4":[0,1,1,1,1,0,0,1,2],"matrix_rows":[158,1,258,260,264,272,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,414,414,414,414,0,0,414,158]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":90,"old":78,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,0,0,3,2],"matrix_rows":[400,1,2,4,8,272,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,144,0,0,144,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":88,"old":79,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,0,0,3,2],"matrix_rows":[400,1,2,4,8,272,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,144,0,0,144,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":89,"old":79,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,1,0,1,2],"matrix_rows":[179,257,258,4,8,272,288,64,384],"offset":0,"phase":0,"quadratic_rows":[435,435,0,0,435,435,0,435,179]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":85,"old":80,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,1,0,1,2],"matrix_rows":[179,257,258,4,8,272,288,64,384],"offset":0,"phase":0,"quadratic_rows":[435,435,0,0,435,435,0,435,179]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":92,"old":80,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,0,0,3,2],"matrix_rows":[400,1,2,4,8,272,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,144,0,0,144,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":87,"old":81,"rank":1,"right":{"linear_Z4":[0,2,2,1,1,0,0,1,2],"matrix_rows":[184,33,34,4,264,272,256,320,384],"offset":204,"phase":0,"quadratic_rows":[32,32,0,440,440,411,0,440,184]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":89,"old":81,"rank":1,"right":{"linear_Z4":[3,2,1,1,3,3,0,3,2],"matrix_rows":[437,257,10,268,256,272,288,64,384],"offset":29,"phase":0,"quadratic_rows":[181,8,189,14,181,181,0,181,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":85,"old":82,"rank":1,"right":{"linear_Z4":[2,2,0,0,1,1,0,1,2],"matrix_rows":[184,1,10,12,256,272,288,320,384],"offset":150,"phase":0,"quadratic_rows":[0,8,8,438,440,440,0,440,184]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":91,"old":82,"rank":1,"right":{"linear_Z4":[1,2,3,3,3,1,0,3,2],"matrix_rows":[413,289,34,260,264,272,256,64,384],"offset":71,"phase":0,"quadratic_rows":[189,32,157,157,157,35,0,157,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":438,"old":83,"rank":1,"right":{"linear_Z4":[3,0,3,0,2,0,0,0,0],"matrix_rows":[21,17,2,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":440,"old":83,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,2,0],"matrix_rows":[133,129,2,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":533,"old":83,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,0,0,3,2],"matrix_rows":[400,1,2,4,8,272,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,144,0,0,144,0]}},{"left":{"linear_Z4":[2,2,2,2,0,0,0,0,0],"matrix_rows":[16,42,69,129,258,4,5,8,10],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":582,"old":83,"rank":4,"right":{"linear_Z4":[2,2,0,1,3,0,2,0,2],"matrix_rows":[108,402,36,130,13,258,64,96,400],"offset":155,"phase":1,"quadratic_rows":[12,16,1,9,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":439,"old":84,"rank":1,"right":{"linear_Z4":[1,3,2,3,3,0,3,3,2],"matrix_rows":[475,257,386,132,392,400,32,448,256],"offset":444,"phase":2,"quadratic_rows":[219,91,128,91,91,0,91,133,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":441,"old":84,"rank":1,"right":{"linear_Z4":[3,0,2,3,0,0,0,0,0],"matrix_rows":[9,37,2,32,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[45,0,1,41,0,9,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":510,"old":84,"rank":1,"right":{"linear_Z4":[2,0,2,0,1,0,1,1,2],"matrix_rows":[216,1,10,12,256,272,288,320,384],"offset":90,"phase":0,"quadratic_rows":[0,8,8,470,472,0,472,472,216]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":512,"old":84,"rank":1,"right":{"linear_Z4":[2,3,2,1,3,0,3,3,2],"matrix_rows":[474,1,258,12,256,272,288,320,384],"offset":91,"phase":1,"quadratic_rows":[0,218,8,222,218,0,218,218,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":93,"old":85,"rank":1,"right":{"linear_Z4":[1,1,0,0,3,0,0,3,0],"matrix_rows":[179,289,290,4,8,272,256,64,384],"offset":71,"phase":0,"quadratic_rows":[403,403,0,0,435,400,0,435,179]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[11,19,32,64,131,6,256,2,7],"offset":0,"phase":0,"quadratic_rows":[5,2,5,0,0,0,0,0,0]},"new":686,"old":85,"rank":3,"right":{"linear_Z4":[0,0,0,0,2,2,0,1,3],"matrix_rows":[19,179,288,273,274,180,8,256,64],"offset":2,"phase":1,"quadratic_rows":[432,432,176,0,263,263,0,135,307]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[15,23,33,65,130,4,1,262,6],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":710,"old":85,"rank":3,"right":{"linear_Z4":[3,3,2,0,0,0,2,0,2],"matrix_rows":[71,403,163,321,322,64,72,256,384],"offset":131,"phase":1,"quadratic_rows":[55,55,3,0,131,131,0,48,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":93,"old":86,"rank":1,"right":{"linear_Z4":[3,3,0,3,0,0,0,0,0],"matrix_rows":[3,65,74,12,64,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[67,75,8,14,0,0,3,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,17,36,65,132,256,1,2,6],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":687,"old":86,"rank":3,"right":{"linear_Z4":[3,3,3,2,0,0,0,2,3],"matrix_rows":[3,384,404,73,66,388,64,256,32],"offset":133,"phase":1,"quadratic_rows":[75,67,20,1,132,0,3,272,384]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,19,32,65,132,3,2,260,4],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":711,"old":86,"rank":3,"right":{"linear_Z4":[2,0,2,1,3,2,0,1,2],"matrix_rows":[106,66,400,11,32,20,96,256,384],"offset":233,"phase":1,"quadratic_rows":[10,1,16,9,148,0,0,144,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":93,"old":87,"rank":1,"right":{"linear_Z4":[0,1,1,0,3,0,0,3,0],"matrix_rows":[158,1,266,268,256,272,32,64,384],"offset":29,"phase":0,"quadratic_rows":[0,406,406,400,414,0,0,414,158]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,23,39,66,4,129,1,262,6],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":694,"old":87,"rank":3,"right":{"linear_Z4":[2,3,3,0,0,0,2,0,2],"matrix_rows":[71,398,150,64,322,324,256,96,384],"offset":67,"phase":1,"quadratic_rows":[6,31,31,134,134,0,0,24,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[8,19,35,69,3,128,256,1,7],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":702,"old":87,"rank":3,"right":{"linear_Z4":[0,0,0,2,2,0,0,1,3],"matrix_rows":[158,278,8,153,18,20,256,32,64],"offset":1,"phase":1,"quadratic_rows":[152,408,408,263,263,0,0,135,286]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":93,"old":88,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,3,0,0,0],"matrix_rows":[6,33,98,68,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[32,102,70,0,0,35,6,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,16,38,70,129,2,4,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":695,"old":88,"rank":3,"right":{"linear_Z4":[2,2,0,0,3,1,2,1,2],"matrix_rows":[400,36,68,17,38,64,72,256,384],"offset":248,"phase":3,"quadratic_rows":[16,36,2,0,145,34,0,144,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[12,18,34,64,132,258,2,1,5],"offset":0,"phase":0,"quadratic_rows":[5,2,1,0,0,0,0,0,0]},"new":703,"old":88,"rank":3,"right":{"linear_Z4":[3,3,3,0,0,2,0,2,3],"matrix_rows":[384,6,401,385,66,100,8,256,64],"offset":134,"phase":1,"quadratic_rows":[17,70,102,0,129,4,6,272,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":93,"old":89,"rank":1,"right":{"linear_Z4":[0,1,1,0,3,3,0,3,2],"matrix_rows":[406,33,290,260,8,272,256,320,384],"offset":205,"phase":1,"quadratic_rows":[32,182,150,0,150,35,0,150,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,23,34,66,4,135,2,261,5],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":726,"old":89,"rank":3,"right":{"linear_Z4":[0,3,2,0,0,3,2,0,2],"matrix_rows":[423,98,182,256,326,64,72,352,384],"offset":11,"phase":1,"quadratic_rows":[166,55,19,0,166,51,0,17,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,16,39,71,135,259,4,1,2],"offset":0,"phase":0,"quadratic_rows":[4,4,7,0,0,0,0,0,0]},"new":734,"old":89,"rank":3,"right":{"linear_Z4":[0,0,2,0,3,1,2,3,1],"matrix_rows":[212,340,308,165,38,320,328,368,256],"offset":420,"phase":2,"quadratic_rows":[164,36,371,0,468,487,180,241,308]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":93,"old":90,"rank":1,"right":{"linear_Z4":[0,3,3,2,0,0,0,0,0],"matrix_rows":[14,1,10,12,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,16,34,64,132,1,3,260,4],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":727,"old":90,"rank":3,"right":{"linear_Z4":[0,2,1,2,3,2,1,1,2],"matrix_rows":[65,36,400,32,6,96,24,256,384],"offset":242,"phase":1,"quadratic_rows":[96,4,70,16,152,65,101,144,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,16,33,68,132,256,1,2,6],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":735,"old":90,"rank":3,"right":{"linear_Z4":[1,2,1,3,0,0,2,2,3],"matrix_rows":[65,384,408,69,6,64,392,256,32],"offset":189,"phase":0,"quadratic_rows":[5,4,7,24,136,0,0,272,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":93,"old":91,"rank":1,"right":{"linear_Z4":[1,1,0,3,3,0,0,3,2],"matrix_rows":[403,257,266,12,256,272,32,320,384],"offset":151,"phase":1,"quadratic_rows":[147,155,8,14,147,0,0,147,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[8,17,39,65,1,128,256,3,5],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":718,"old":91,"rank":3,"right":{"linear_Z4":[2,3,3,1,1,0,0,2,3],"matrix_rows":[10,388,4,149,134,256,24,32,64],"offset":62,"phase":1,"quadratic_rows":[148,142,151,26,157,0,0,279,384]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[14,17,34,70,4,129,1,263,7],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":742,"old":91,"rank":3,"right":{"linear_Z4":[2,1,0,2,0,0,0,3,2],"matrix_rows":[194,463,155,323,64,320,328,96,384],"offset":0,"phase":0,"quadratic_rows":[22,151,139,20,139,0,0,150,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":93,"old":92,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,2,0,0,0],"matrix_rows":[35,33,34,4,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,16,33,65,130,258,1,4,6],"offset":0,"phase":0,"quadratic_rows":[0,4,6,0,0,0,0,0,0]},"new":719,"old":92,"rank":3,"right":{"linear_Z4":[2,2,2,0,0,3,2,2,3],"matrix_rows":[68,432,384,5,6,64,72,256,416],"offset":186,"phase":3,"quadratic_rows":[4,4,3,0,160,48,0,272,384]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[8,17,34,3,68,4,2,128,256],"offset":0,"phase":0,"quadratic_rows":[3,1,4,0,0,0,0,0,0]},"new":743,"old":92,"rank":3,"right":{"linear_Z4":[2,1,0,1,1,2,2,0,0],"matrix_rows":[66,12,16,3,72,64,48,128,256],"offset":25,"phase":3,"quadratic_rows":[2,11,72,78,48,16,12,0,0]}},{"left":{"linear_Z4":[2,2,2,3,3,0,0,0,0],"matrix_rows":[33,66,4,134,264,3,5,16,24],"offset":0,"phase":0,"quadratic_rows":[6,5,3,24,24,0,0,0,0]},"new":1,"old":93,"rank":5,"right":{"linear_Z4":[0,2,2,0,0,0,0,0,1],"matrix_rows":[33,34,36,16,384,64,96,104,256],"offset":431,"phase":1,"quadratic_rows":[96,64,32,0,256,5,3,256,400]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,35,66,130,260,1,3,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":413,"old":93,"rank":4,"right":{"linear_Z4":[0,0,2,0,0,0,2,0,1],"matrix_rows":[3,6,16,384,32,66,96,104,256],"offset":484,"phase":1,"quadratic_rows":[34,69,98,0,256,5,6,256,400]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[18,35,65,130,260,3,1,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":414,"old":93,"rank":4,"right":{"linear_Z4":[1,1,2,0,0,2,2,0,1],"matrix_rows":[6,5,16,384,103,32,64,104,256],"offset":389,"phase":0,"quadratic_rows":[99,67,32,0,256,5,3,256,400]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[19,33,66,131,260,1,2,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":419,"old":93,"rank":4,"right":{"linear_Z4":[2,0,0,0,0,2,2,0,1],"matrix_rows":[3,5,16,384,97,32,64,104,256],"offset":388,"phase":3,"quadratic_rows":[102,33,65,0,256,3,5,256,400]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,34,67,130,260,3,1,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":420,"old":93,"rank":4,"right":{"linear_Z4":[0,2,0,0,0,2,0,0,1],"matrix_rows":[5,6,16,384,64,96,36,104,256],"offset":484,"phase":1,"quadratic_rows":[68,100,35,0,256,6,3,256,400]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":102,"old":94,"rank":1,"right":{"linear_Z4":[0,3,0,3,2,0,0,0,0],"matrix_rows":[26,1,18,4,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":103,"old":94,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,2,0,0],"matrix_rows":[81,65,2,4,8,80,32,128,256],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":104,"old":94,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":105,"old":95,"rank":1,"right":{"linear_Z4":[1,1,1,0,1,2,0,1,2],"matrix_rows":[407,289,290,260,8,304,256,64,384],"offset":0,"phase":0,"quadratic_rows":[183,183,151,0,183,19,0,151,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":106,"old":95,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":107,"old":95,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":105,"old":96,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":108,"old":96,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":109,"old":96,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":102,"old":97,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,2,0,0,0],"matrix_rows":[41,33,2,4,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":110,"old":97,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":111,"old":97,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,3,2,0,0],"matrix_rows":[98,1,66,4,8,16,96,128,256],"offset":1,"phase":1,"quadratic_rows":[0,34,0,0,0,34,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":106,"old":98,"rank":1,"right":{"linear_Z4":[1,1,1,1,0,0,2,1,2],"matrix_rows":[399,257,258,260,328,80,96,256,384],"offset":0,"phase":0,"quadratic_rows":[143,143,143,207,64,64,56,143,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":108,"old":98,"rank":1,"right":{"linear_Z4":[1,1,1,1,0,0,2,1,2],"matrix_rows":[399,321,322,260,328,16,32,256,384],"offset":0,"phase":0,"quadratic_rows":[207,207,143,207,0,0,11,143,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":112,"old":98,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":103,"old":99,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,2,0,0,0],"matrix_rows":[41,33,2,4,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":110,"old":99,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,2,0,0],"matrix_rows":[81,65,18,4,24,64,32,128,256],"offset":0,"phase":0,"quadratic_rows":[17,16,0,16,11,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":113,"old":99,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":104,"old":100,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,0,0],"matrix_rows":[98,33,66,4,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[32,34,0,32,0,11,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":111,"old":100,"rank":1,"right":{"linear_Z4":[0,3,0,3,2,0,0,0,0],"matrix_rows":[26,1,18,4,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":113,"old":100,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,2,2,0,0],"matrix_rows":[66,33,98,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[32,34,0,0,32,19,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":107,"old":101,"rank":1,"right":{"linear_Z4":[0,0,1,1,1,1,2,1,2],"matrix_rows":[444,65,66,260,328,272,288,256,384],"offset":0,"phase":0,"quadratic_rows":[64,64,188,252,188,188,11,188,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":109,"old":101,"rank":1,"right":{"linear_Z4":[0,0,1,1,1,1,2,1,2],"matrix_rows":[444,1,2,260,328,336,352,256,384],"offset":0,"phase":0,"quadratic_rows":[0,0,188,252,252,252,56,188,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":112,"old":101,"rank":1,"right":{"linear_Z4":[0,0,1,1,1,2,1,1,2],"matrix_rows":[476,33,34,260,264,304,256,320,384],"offset":0,"phase":0,"quadratic_rows":[32,32,220,220,252,19,220,220,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":535,"old":102,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,0,0,3,2],"matrix_rows":[388,1,2,260,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,132,0,0,0,0,132,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":537,"old":102,"rank":1,"right":{"linear_Z4":[3,3,3,3,0,0,3,3,2],"matrix_rows":[463,257,258,260,264,16,32,320,384],"offset":1,"phase":1,"quadratic_rows":[207,207,207,207,0,0,207,207,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,18,32,64,128,258,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":587,"old":102,"rank":2,"right":{"linear_Z4":[0,0,3,0,0,0,3,3,0],"matrix_rows":[384,196,1,2,388,8,16,32,448],"offset":2,"phase":1,"quadratic_rows":[0,0,324,0,0,0,324,384,196]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[19,35,78,131,259,3,5,9,1],"offset":0,"phase":0,"quadratic_rows":[15,15,15,15,0,0,0,0,0]},"new":591,"old":102,"rank":4,"right":{"linear_Z4":[2,2,1,1,0,1,1,1,0],"matrix_rows":[491,455,428,364,33,34,492,32,48],"offset":204,"phase":0,"quadratic_rows":[12,12,239,239,0,236,236,236,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":115,"old":103,"rank":1,"right":{"linear_Z4":[0,1,1,1,1,0,0,1,2],"matrix_rows":[158,1,258,260,264,272,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,414,414,414,414,0,0,414,158]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":121,"old":103,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,0,0,3,2],"matrix_rows":[388,1,2,260,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,132,0,0,0,0,132,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":117,"old":104,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,0,0,3,2],"matrix_rows":[388,1,2,260,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,132,0,0,0,0,132,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":119,"old":104,"rank":1,"right":{"linear_Z4":[0,1,1,1,1,0,0,1,2],"matrix_rows":[158,1,258,260,264,272,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,414,414,414,414,0,0,414,158]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":535,"old":105,"rank":1,"right":{"linear_Z4":[3,3,0,0,3,0,0,0,0],"matrix_rows":[3,33,50,4,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[35,51,0,16,26,3,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":536,"old":105,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,2,0,0],"matrix_rows":[81,65,2,4,8,80,32,128,256],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,3,0,0,0,0,0],"matrix_rows":[17,33,72,3,130,2,12,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,8,12,0,0,0,0,0]},"new":586,"old":105,"rank":4,"right":{"linear_Z4":[3,3,1,1,0,0,3,0,2],"matrix_rows":[27,24,192,388,41,58,452,32,256],"offset":3,"phase":2,"quadratic_rows":[51,35,68,24,9,3,324,256,192]}},{"left":{"linear_Z4":[2,3,2,3,0,0,0,0,0],"matrix_rows":[16,33,66,4,129,256,1,8,10],"offset":0,"phase":0,"quadratic_rows":[0,10,0,10,0,0,0,0,0]},"new":589,"old":105,"rank":4,"right":{"linear_Z4":[0,3,0,2,3,0,2,0,1],"matrix_rows":[82,4,8,384,1,66,256,80,32],"offset":71,"phase":2,"quadratic_rows":[0,18,256,0,18,0,0,256,388]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":115,"old":106,"rank":1,"right":{"linear_Z4":[0,1,1,2,2,0,0,1,2],"matrix_rows":[166,33,258,260,40,16,256,320,384],"offset":240,"phase":0,"quadratic_rows":[32,422,422,32,0,399,0,422,166]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":120,"old":106,"rank":1,"right":{"linear_Z4":[1,0,1,2,0,2,0,1,2],"matrix_rows":[149,257,18,260,24,256,32,320,384],"offset":240,"phase":0,"quadratic_rows":[405,16,405,16,399,0,0,405,149]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":116,"old":107,"rank":1,"right":{"linear_Z4":[3,1,3,2,1,3,0,3,2],"matrix_rows":[423,257,274,260,24,256,288,64,384],"offset":53,"phase":0,"quadratic_rows":[167,183,167,16,26,167,0,167,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":119,"old":107,"rank":1,"right":{"linear_Z4":[1,3,3,2,3,1,0,3,2],"matrix_rows":[407,289,258,260,40,272,256,64,384],"offset":83,"phase":0,"quadratic_rows":[183,151,151,32,151,41,0,151,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":117,"old":108,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,2,0,0,0],"matrix_rows":[41,33,2,4,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":118,"old":108,"rank":1,"right":{"linear_Z4":[0,3,0,3,2,0,0,0,0],"matrix_rows":[26,1,18,4,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":114,"old":109,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,3,0,0,0],"matrix_rows":[40,1,18,4,88,64,96,128,256],"offset":1,"phase":1,"quadratic_rows":[0,16,0,120,26,104,40,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":121,"old":109,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,3,0,0,0],"matrix_rows":[24,33,2,4,104,80,64,128,256],"offset":1,"phase":1,"quadratic_rows":[32,0,0,120,88,41,24,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":116,"old":110,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,1,0,1,2],"matrix_rows":[173,257,2,260,264,16,288,64,384],"offset":0,"phase":0,"quadratic_rows":[429,0,429,429,0,429,0,429,173]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":118,"old":110,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,0,0,3,2],"matrix_rows":[388,1,2,260,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,132,0,0,0,0,132,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":114,"old":111,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,0,0,3,2],"matrix_rows":[388,1,2,260,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,132,0,0,0,0,132,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":120,"old":111,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,1,0,1,2],"matrix_rows":[173,257,2,260,264,16,288,64,384],"offset":0,"phase":0,"quadratic_rows":[429,0,429,429,0,429,0,429,173]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":534,"old":112,"rank":1,"right":{"linear_Z4":[1,3,3,3,2,0,1,3,2],"matrix_rows":[399,321,258,260,264,80,32,256,384],"offset":163,"phase":0,"quadratic_rows":[207,143,143,143,64,0,81,143,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":537,"old":112,"rank":1,"right":{"linear_Z4":[3,3,0,0,3,0,0,0,0],"matrix_rows":[3,33,50,4,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[35,51,0,16,26,3,0,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[4,11,19,35,67,128,259,1,2],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":585,"old":112,"rank":2,"right":{"linear_Z4":[2,0,0,0,2,0,1,0,3],"matrix_rows":[286,158,193,322,324,328,400,32,256],"offset":319,"phase":1,"quadratic_rows":[192,192,192,192,0,0,207,335,384]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,11,18,34,65,1,130,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":590,"old":112,"rank":2,"right":{"linear_Z4":[0,0,0,1,3,0,1,1,2],"matrix_rows":[3,479,289,306,256,264,32,320,384],"offset":1,"phase":1,"quadratic_rows":[252,236,219,223,221,3,223,223,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":534,"old":113,"rank":1,"right":{"linear_Z4":[0,1,1,1,1,0,0,1,2],"matrix_rows":[158,1,258,260,264,272,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,414,414,414,414,0,0,414,158]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":536,"old":113,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,0,0,3,2],"matrix_rows":[388,1,2,260,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,132,0,0,0,0,132,0]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[18,34,74,12,133,261,5,4,7],"offset":0,"phase":0,"quadratic_rows":[3,15,14,14,0,0,0,0,0]},"new":584,"old":113,"rank":4,"right":{"linear_Z4":[3,3,2,2,0,0,0,3,3],"matrix_rows":[336,207,472,468,337,322,476,64,96],"offset":436,"phase":1,"quadratic_rows":[415,399,195,195,385,0,12,415,403]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,16,34,65,129,1,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":588,"old":113,"rank":2,"right":{"linear_Z4":[2,2,0,3,1,0,2,3,2],"matrix_rows":[80,392,1,18,4,264,64,96,384],"offset":207,"phase":2,"quadratic_rows":[0,16,0,136,18,0,0,136,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":122,"old":114,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,0,0],"matrix_rows":[98,33,66,4,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[32,34,0,32,0,11,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,18,33,64,130,4,6,257,1],"offset":0,"phase":0,"quadratic_rows":[0,4,6,0,0,0,0,0,0]},"new":668,"old":114,"rank":3,"right":{"linear_Z4":[2,2,3,2,0,1,3,1,2],"matrix_rows":[388,66,96,5,64,256,40,80,384],"offset":248,"phase":3,"quadratic_rows":[4,0,133,32,0,104,96,132,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[12,18,36,64,128,258,2,1,5],"offset":0,"phase":0,"quadratic_rows":[5,0,1,0,0,0,0,0,0]},"new":700,"old":114,"rank":3,"right":{"linear_Z4":[3,1,0,2,0,1,2,2,3],"matrix_rows":[384,66,389,385,98,256,40,16,64],"offset":374,"phase":0,"quadratic_rows":[5,34,129,32,0,42,0,260,384]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":122,"old":115,"rank":1,"right":{"linear_Z4":[3,0,1,0,2,0,0,1,2],"matrix_rows":[149,257,18,260,24,256,32,320,384],"offset":162,"phase":1,"quadratic_rows":[405,16,405,16,399,0,0,405,149]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,4,39,71,129,1,262,6],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":669,"old":115,"rank":3,"right":{"linear_Z4":[2,0,0,3,3,0,2,0,2],"matrix_rows":[89,410,156,64,256,328,336,96,384],"offset":19,"phase":1,"quadratic_rows":[24,152,152,31,31,0,0,6,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,19,32,64,133,256,5,1,7],"offset":0,"phase":0,"quadratic_rows":[4,6,3,0,0,0,0,0,0]},"new":701,"old":115,"rank":3,"right":{"linear_Z4":[0,2,0,0,2,0,1,1,3],"matrix_rows":[210,66,272,147,320,20,24,64,32],"offset":1,"phase":1,"quadratic_rows":[146,321,16,16,269,0,450,193,338]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":122,"old":116,"rank":1,"right":{"linear_Z4":[1,0,3,1,0,0,0,3,0],"matrix_rows":[173,289,2,260,296,16,256,64,384],"offset":83,"phase":0,"quadratic_rows":[397,0,429,397,0,388,0,429,173]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[11,16,35,67,128,6,256,2,7],"offset":0,"phase":0,"quadratic_rows":[5,2,5,0,0,0,0,0,0]},"new":676,"old":116,"rank":3,"right":{"linear_Z4":[2,2,1,0,0,1,0,0,1],"matrix_rows":[169,9,288,261,166,256,424,16,64],"offset":57,"phase":0,"quadratic_rows":[420,164,167,256,0,167,0,295,393]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[14,22,34,65,129,4,1,263,7],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":710,"old":116,"rank":3,"right":{"linear_Z4":[2,2,0,1,0,0,0,3,2],"matrix_rows":[200,463,171,321,330,320,64,80,384],"offset":0,"phase":0,"quadratic_rows":[36,44,139,174,0,139,0,172,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":122,"old":117,"rank":1,"right":{"linear_Z4":[0,3,0,3,2,0,0,0,0],"matrix_rows":[26,1,18,4,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,17,34,65,130,256,1,4,6],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":677,"old":117,"rank":3,"right":{"linear_Z4":[3,2,0,3,3,0,0,2,3],"matrix_rows":[9,404,384,67,64,256,72,400,32],"offset":35,"phase":1,"quadratic_rows":[75,1,144,73,20,0,9,260,384]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[8,19,36,65,4,1,2,128,256],"offset":0,"phase":0,"quadratic_rows":[2,3,4,0,0,0,0,0,0]},"new":711,"old":117,"rank":3,"right":{"linear_Z4":[2,0,1,3,2,1,3,0,0],"matrix_rows":[106,34,4,11,96,20,32,128,256],"offset":27,"phase":0,"quadratic_rows":[10,33,20,73,4,34,72,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":122,"old":118,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,2,0,0,0],"matrix_rows":[41,33,2,4,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,17,34,64,129,258,1,4,6],"offset":0,"phase":0,"quadratic_rows":[0,4,6,0,0,0,0,0,0]},"new":720,"old":118,"rank":3,"right":{"linear_Z4":[2,1,0,2,0,3,2,2,3],"matrix_rows":[66,420,384,3,64,256,8,80,416],"offset":234,"phase":3,"quadratic_rows":[2,3,160,0,0,36,0,260,384]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[8,19,36,1,66,4,2,128,256],"offset":0,"phase":0,"quadratic_rows":[3,1,4,0,0,0,0,0,0]},"new":748,"old":118,"rank":3,"right":{"linear_Z4":[2,0,1,3,0,2,1,0,0],"matrix_rows":[74,66,4,11,64,36,80,128,256],"offset":27,"phase":0,"quadratic_rows":[10,65,36,73,0,4,74,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":122,"old":119,"rank":1,"right":{"linear_Z4":[0,1,3,1,0,0,0,3,0],"matrix_rows":[158,1,274,260,280,256,32,64,384],"offset":53,"phase":0,"quadratic_rows":[0,398,414,398,388,0,0,414,158]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[8,19,35,67,5,128,256,1,7],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":721,"old":119,"rank":3,"right":{"linear_Z4":[2,2,1,0,1,0,0,0,1],"matrix_rows":[10,154,272,149,262,256,408,32,64],"offset":58,"phase":0,"quadratic_rows":[148,404,151,256,151,0,0,279,394]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[14,22,34,65,4,129,1,263,7],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":749,"old":119,"rank":3,"right":{"linear_Z4":[2,2,0,1,0,0,0,3,2],"matrix_rows":[200,463,155,329,322,320,64,96,384],"offset":0,"phase":0,"quadratic_rows":[28,20,139,157,139,0,0,156,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":122,"old":120,"rank":1,"right":{"linear_Z4":[0,3,1,0,0,2,0,1,2],"matrix_rows":[166,33,258,260,40,16,256,320,384],"offset":196,"phase":1,"quadratic_rows":[32,422,422,32,0,399,0,422,166]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,4,39,66,135,2,261,5],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":730,"old":120,"rank":3,"right":{"linear_Z4":[0,2,0,3,0,3,2,0,2],"matrix_rows":[425,106,172,256,64,328,80,352,384],"offset":11,"phase":1,"quadratic_rows":[168,40,168,47,0,47,0,5,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,19,35,64,131,261,6,1,4],"offset":0,"phase":0,"quadratic_rows":[6,7,3,0,0,0,0,0,0]},"new":756,"old":120,"rank":3,"right":{"linear_Z4":[0,2,2,0,0,0,0,3,0],"matrix_rows":[198,294,96,163,320,356,40,336,256],"offset":422,"phase":3,"quadratic_rows":[162,1,128,32,0,393,384,229,96]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":122,"old":121,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,2,0,0],"matrix_rows":[81,65,18,4,24,64,32,128,256],"offset":0,"phase":0,"quadratic_rows":[17,16,0,16,11,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,16,34,64,132,1,5,258,2],"offset":0,"phase":0,"quadratic_rows":[4,0,5,0,0,0,0,0,0]},"new":731,"old":121,"rank":3,"right":{"linear_Z4":[0,2,3,2,1,2,1,1,2],"matrix_rows":[65,388,48,32,6,256,24,96,384],"offset":244,"phase":1,"quadratic_rows":[96,4,134,16,88,65,113,132,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,20,36,64,129,256,1,2,6],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":757,"old":121,"rank":3,"right":{"linear_Z4":[1,3,0,2,1,0,2,2,3],"matrix_rows":[65,384,390,81,386,256,24,64,32],"offset":237,"phase":0,"quadratic_rows":[17,6,130,16,25,0,0,260,384]}},{"left":{"linear_Z4":[2,2,3,3,3,0,0,0,0],"matrix_rows":[33,66,132,264,10,9,11,16,20],"offset":0,"phase":0,"quadratic_rows":[2,1,20,8,20,0,0,0,0]},"new":1,"old":122,"rank":5,"right":{"linear_Z4":[0,0,0,2,1,1,0,0,1],"matrix_rows":[49,50,4,8,384,80,96,256,112],"offset":239,"phase":1,"quadratic_rows":[96,80,256,112,58,57,11,256,388]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,33,68,130,2,259,3,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":413,"old":122,"rank":4,"right":{"linear_Z4":[2,1,0,2,2,0,2,0,1],"matrix_rows":[11,8,4,384,80,90,256,16,96],"offset":86,"phase":0,"quadratic_rows":[90,83,256,65,3,0,11,256,388]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[18,34,68,129,259,1,3,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":415,"old":122,"rank":4,"right":{"linear_Z4":[1,2,0,2,0,2,2,0,1],"matrix_rows":[8,11,4,384,105,96,256,32,80],"offset":101,"phase":0,"quadratic_rows":[99,105,256,66,0,3,11,256,388]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,33,66,132,4,261,5,8,10],"offset":0,"phase":0,"quadratic_rows":[1,10,4,10,0,0,0,0,0]},"new":417,"old":122,"rank":4,"right":{"linear_Z4":[2,1,0,2,2,0,2,0,1],"matrix_rows":[3,4,8,384,80,82,256,16,96],"offset":86,"phase":0,"quadratic_rows":[82,83,256,16,11,0,3,256,388]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,33,66,132,261,4,5,8,10],"offset":0,"phase":0,"quadratic_rows":[1,10,4,10,0,0,0,0,0]},"new":419,"old":122,"rank":4,"right":{"linear_Z4":[1,2,0,2,0,2,2,0,1],"matrix_rows":[3,4,8,384,97,96,256,32,80],"offset":102,"phase":0,"quadratic_rows":[99,97,256,32,0,11,3,256,388]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":131,"old":123,"rank":1,"right":{"linear_Z4":[1,1,1,0,1,2,1,0,2],"matrix_rows":[343,289,290,260,8,304,256,320,128],"offset":0,"phase":0,"quadratic_rows":[119,119,87,0,119,19,87,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":132,"old":123,"rank":1,"right":{"linear_Z4":[1,1,1,0,1,1,2,0,2],"matrix_rows":[311,321,258,324,8,336,288,256,128],"offset":0,"phase":0,"quadratic_rows":[119,55,119,0,119,55,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":133,"old":123,"rank":1,"right":{"linear_Z4":[1,1,1,0,1,1,2,0,2],"matrix_rows":[311,257,322,324,8,272,352,256,128],"offset":0,"phase":0,"quadratic_rows":[55,119,119,0,55,119,38,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":134,"old":124,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":135,"old":124,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,2,2,0],"matrix_rows":[132,65,2,196,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[64,0,68,0,64,0,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":136,"old":124,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,2,2,0],"matrix_rows":[132,1,66,196,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,64,68,0,0,64,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":134,"old":125,"rank":1,"right":{"linear_Z4":[1,1,1,0,1,2,1,2,0],"matrix_rows":[215,161,162,132,8,176,128,192,256],"offset":0,"phase":0,"quadratic_rows":[119,119,87,0,119,19,87,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":137,"old":125,"rank":1,"right":{"linear_Z4":[1,1,1,0,1,1,2,2,0],"matrix_rows":[183,129,194,196,8,144,224,128,256],"offset":0,"phase":0,"quadratic_rows":[55,119,119,0,55,119,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":138,"old":125,"rank":1,"right":{"linear_Z4":[1,1,1,0,1,1,2,2,0],"matrix_rows":[183,193,130,196,8,208,160,128,256],"offset":0,"phase":0,"quadratic_rows":[119,55,119,0,119,55,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":131,"old":126,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":139,"old":126,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,2,0,2],"matrix_rows":[260,1,66,324,8,16,96,256,128],"offset":0,"phase":0,"quadratic_rows":[0,64,68,0,0,64,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":140,"old":126,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,2,0,2],"matrix_rows":[260,65,2,324,8,80,32,256,128],"offset":0,"phase":0,"quadratic_rows":[64,0,68,0,64,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":135,"old":127,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":137,"old":127,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":141,"old":127,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":132,"old":128,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":139,"old":128,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":142,"old":128,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,2,0,0,2],"matrix_rows":[258,33,290,4,8,48,256,64,128],"offset":0,"phase":0,"quadratic_rows":[32,34,0,0,32,19,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":133,"old":129,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":140,"old":129,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":142,"old":129,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":136,"old":130,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":138,"old":130,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":141,"old":130,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,2,0,2,0],"matrix_rows":[130,33,162,4,8,48,128,64,256],"offset":0,"phase":0,"quadratic_rows":[32,34,0,0,32,19,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":539,"old":131,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,0,3,2,0],"matrix_rows":[196,1,2,132,8,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,0,68,0,0,0,68,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":541,"old":131,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,2,0],"matrix_rows":[145,129,2,4,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,32,65,1,130,2,256],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":595,"old":131,"rank":2,"right":{"linear_Z4":[3,3,0,0,3,0,1,2,0],"matrix_rows":[3,64,33,50,4,24,32,192,256],"offset":1,"phase":1,"quadratic_rows":[35,51,0,16,26,3,192,64,0]}},{"left":{"linear_Z4":[2,3,2,3,0,0,0,0,0],"matrix_rows":[16,33,66,4,129,256,8,1,10],"offset":0,"phase":0,"quadratic_rows":[0,10,0,10,0,0,0,0,0]},"new":599,"old":131,"rank":4,"right":{"linear_Z4":[0,3,0,2,3,0,0,2,1],"matrix_rows":[146,4,8,320,1,130,256,144,32],"offset":71,"phase":2,"quadratic_rows":[0,18,256,0,18,0,256,0,324]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":144,"old":132,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,2,0],"matrix_rows":[145,129,2,4,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":150,"old":132,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,3,0,2,0],"matrix_rows":[162,1,130,4,8,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,34,0,0,0,34,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":146,"old":133,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,2,0],"matrix_rows":[145,129,2,4,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":148,"old":133,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,3,0,2,0],"matrix_rows":[162,1,130,4,8,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,34,0,0,0,34,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":539,"old":134,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,0,3,0,2],"matrix_rows":[324,1,2,260,8,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,0,68,0,0,0,68,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":540,"old":134,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,0,2],"matrix_rows":[273,257,2,4,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[3,3,3,2,0,0,0,0,0],"matrix_rows":[16,35,68,8,1,2,128,256,4],"offset":0,"phase":0,"quadratic_rows":[3,3,4,0,0,0,0,0,0]},"new":594,"old":134,"rank":4,"right":{"linear_Z4":[2,0,1,2,3,3,0,0,2],"matrix_rows":[50,2,4,8,19,32,260,64,128],"offset":59,"phase":1,"quadratic_rows":[18,1,260,0,49,48,0,0,4]}},{"left":{"linear_Z4":[2,3,2,3,0,0,0,0,0],"matrix_rows":[16,33,66,4,129,256,8,10,1],"offset":0,"phase":0,"quadratic_rows":[0,10,0,10,0,0,0,0,0]},"new":597,"old":134,"rank":4,"right":{"linear_Z4":[0,3,0,2,3,0,0,1,2],"matrix_rows":[274,4,8,192,1,258,128,272,32],"offset":71,"phase":2,"quadratic_rows":[0,18,128,0,18,0,128,196,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":144,"old":135,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,3,0,0,2],"matrix_rows":[290,1,258,4,8,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,34,0,0,0,34,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":149,"old":135,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,0,2],"matrix_rows":[273,257,2,4,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":145,"old":136,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,3,0,0,2],"matrix_rows":[290,1,258,4,8,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,34,0,0,0,34,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":148,"old":136,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,0,2],"matrix_rows":[273,257,2,4,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":146,"old":137,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,0,2],"matrix_rows":[273,257,2,4,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":147,"old":137,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,3,0,0,2],"matrix_rows":[290,1,258,4,8,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,34,0,0,0,34,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":143,"old":138,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,0,2],"matrix_rows":[273,257,2,4,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":150,"old":138,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,3,0,0,2],"matrix_rows":[290,1,258,4,8,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,34,0,0,0,34,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":145,"old":139,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,3,0,2,0],"matrix_rows":[162,1,130,4,8,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,34,0,0,0,34,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":147,"old":139,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,2,0],"matrix_rows":[145,129,2,4,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":143,"old":140,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,3,0,2,0],"matrix_rows":[162,1,130,4,8,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,34,0,0,0,34,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":149,"old":140,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,2,0],"matrix_rows":[145,129,2,4,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":538,"old":141,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,0,2],"matrix_rows":[273,257,2,4,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":541,"old":141,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,0,3,0,2],"matrix_rows":[324,1,2,260,8,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,0,68,0,0,0,68,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[6,11,19,35,65,128,1,256,3],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":593,"old":141,"rank":2,"right":{"linear_Z4":[3,2,2,2,3,0,2,0,2],"matrix_rows":[30,335,321,258,260,264,80,32,128],"offset":3,"phase":2,"quadratic_rows":[15,81,81,81,94,0,30,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,16,34,65,129,258,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":598,"old":141,"rank":2,"right":{"linear_Z4":[2,2,0,3,1,0,3,2,2],"matrix_rows":[144,328,1,18,4,264,128,160,320],"offset":207,"phase":2,"quadratic_rows":[0,16,0,72,18,0,72,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":538,"old":142,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,2,0],"matrix_rows":[145,129,2,4,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":540,"old":142,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,0,3,2,0],"matrix_rows":[196,1,2,132,8,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,0,68,0,0,0,68,0,0]}},{"left":{"linear_Z4":[2,3,2,2,0,0,0,0,0],"matrix_rows":[18,34,4,8,65,129,259,3,1],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":592,"old":142,"rank":4,"right":{"linear_Z4":[1,1,2,2,0,0,2,2,0],"matrix_rows":[336,83,4,8,401,386,256,288,192],"offset":12,"phase":2,"quadratic_rows":[451,467,0,0,386,0,387,83,83]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,16,34,65,129,258,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":596,"old":142,"rank":2,"right":{"linear_Z4":[2,2,0,3,1,0,3,2,2],"matrix_rows":[272,200,1,18,4,136,256,288,192],"offset":207,"phase":2,"quadratic_rows":[0,16,0,72,18,0,72,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":151,"old":143,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,2,0,2,0],"matrix_rows":[130,33,162,4,8,48,128,64,256],"offset":0,"phase":0,"quadratic_rows":[32,34,0,0,32,19,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,18,33,66,129,4,1,6,256],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":670,"old":143,"rank":3,"right":{"linear_Z4":[3,0,2,3,3,2,0,3,0],"matrix_rows":[17,170,160,69,128,64,168,80,256],"offset":19,"phase":1,"quadratic_rows":[85,40,1,10,81,130,17,160,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,21,32,1,66,132,258,4,2],"offset":0,"phase":0,"quadratic_rows":[5,0,1,0,0,0,0,0,0]},"new":708,"old":143,"rank":3,"right":{"linear_Z4":[2,2,2,3,1,0,0,3,2],"matrix_rows":[130,272,170,1,138,20,256,128,320],"offset":362,"phase":1,"quadratic_rows":[0,160,16,40,20,10,0,130,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":151,"old":144,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,2,0,0,2],"matrix_rows":[258,33,290,4,8,48,256,64,128],"offset":0,"phase":0,"quadratic_rows":[32,34,0,0,32,19,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,18,33,66,129,4,1,256,6],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":671,"old":144,"rank":3,"right":{"linear_Z4":[3,0,2,3,3,2,0,0,3],"matrix_rows":[17,298,288,69,256,64,296,80,128],"offset":19,"phase":1,"quadratic_rows":[85,40,1,10,81,258,17,0,288]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,21,32,1,66,132,258,2,4],"offset":0,"phase":0,"quadratic_rows":[5,0,1,0,0,0,0,0,0]},"new":709,"old":144,"rank":3,"right":{"linear_Z4":[2,2,2,3,1,0,0,2,3],"matrix_rows":[258,144,298,1,266,20,128,256,192],"offset":362,"phase":1,"quadratic_rows":[0,288,16,40,20,10,0,0,258]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":151,"old":145,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,2,0,0,2],"matrix_rows":[6,33,290,260,8,48,256,320,384],"offset":0,"phase":0,"quadratic_rows":[32,294,262,0,32,19,0,0,6]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[14,16,35,71,4,134,5,262,6],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":678,"old":145,"rank":3,"right":{"linear_Z4":[2,0,3,3,2,0,2,0,1],"matrix_rows":[124,25,269,261,38,320,376,256,384],"offset":236,"phase":1,"quadratic_rows":[16,36,278,24,269,2,0,0,276]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[14,20,36,1,7,67,131,259,3],"offset":0,"phase":0,"quadratic_rows":[7,3,5,0,0,0,0,0,0]},"new":702,"old":145,"rank":3,"right":{"linear_Z4":[0,3,3,1,1,2,0,0,2],"matrix_rows":[56,9,15,57,306,276,256,320,384],"offset":243,"phase":2,"quadratic_rows":[62,319,287,15,55,19,0,0,6]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":151,"old":146,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,2,0,0,0],"matrix_rows":[6,33,98,68,8,48,64,128,256],"offset":1,"phase":1,"quadratic_rows":[32,102,70,0,32,19,6,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,16,38,70,128,2,4,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":679,"old":146,"rank":3,"right":{"linear_Z4":[0,2,0,2,0,2,2,0,2],"matrix_rows":[257,12,108,256,38,64,104,16,384],"offset":48,"phase":2,"quadratic_rows":[0,36,2,0,0,2,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,33,3,68,130,2,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":703,"old":146,"rank":3,"right":{"linear_Z4":[0,3,3,1,0,0,0,0,2],"matrix_rows":[46,40,272,1,74,108,256,64,384],"offset":3,"phase":2,"quadratic_rows":[0,102,70,40,0,10,6,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":151,"old":147,"rank":1,"right":{"linear_Z4":[3,3,3,0,3,2,0,0,2],"matrix_rows":[279,289,290,260,8,304,256,320,128],"offset":1,"phase":1,"quadratic_rows":[55,55,23,0,55,19,0,0,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[9,18,34,65,4,130,2,5,256],"offset":0,"phase":0,"quadratic_rows":[4,2,5,0,0,0,0,0,0]},"new":728,"old":147,"rank":3,"right":{"linear_Z4":[0,3,2,3,2,3,0,3,0],"matrix_rows":[153,34,144,128,70,64,152,96,256],"offset":11,"phase":1,"quadratic_rows":[24,102,2,9,129,98,34,144,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[13,16,32,1,68,130,258,4,2],"offset":0,"phase":0,"quadratic_rows":[5,0,1,0,0,0,0,0,0]},"new":750,"old":147,"rank":3,"right":{"linear_Z4":[2,2,2,3,0,1,0,3,2],"matrix_rows":[129,288,153,137,2,36,128,256,320],"offset":434,"phase":1,"quadratic_rows":[144,0,32,24,9,36,0,129,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":151,"old":148,"rank":1,"right":{"linear_Z4":[3,3,3,0,3,2,0,2,0],"matrix_rows":[151,161,162,132,8,176,128,192,256],"offset":1,"phase":1,"quadratic_rows":[55,55,23,0,55,19,0,0,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[9,18,34,65,4,130,2,256,5],"offset":0,"phase":0,"quadratic_rows":[4,2,5,0,0,0,0,0,0]},"new":729,"old":148,"rank":3,"right":{"linear_Z4":[0,3,2,3,2,3,0,0,3],"matrix_rows":[281,34,272,256,70,64,280,96,128],"offset":11,"phase":1,"quadratic_rows":[24,102,2,9,257,98,34,0,272]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[13,16,32,1,68,130,258,2,4],"offset":0,"phase":0,"quadratic_rows":[5,0,1,0,0,0,0,0,0]},"new":751,"old":148,"rank":3,"right":{"linear_Z4":[2,2,2,3,0,1,0,2,3],"matrix_rows":[257,160,281,265,2,36,256,128,192],"offset":434,"phase":1,"quadratic_rows":[272,0,32,24,9,36,0,0,257]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":151,"old":149,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,21,35,71,133,4,6,261,5],"offset":0,"phase":0,"quadratic_rows":[5,0,1,0,0,0,0,0,0]},"new":722,"old":149,"rank":3,"right":{"linear_Z4":[0,2,3,3,0,2,2,0,1],"matrix_rows":[42,124,270,21,262,320,376,256,384],"offset":244,"phase":1,"quadratic_rows":[20,32,293,40,1,270,0,0,292]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[12,21,36,2,67,7,131,259,3],"offset":0,"phase":0,"quadratic_rows":[3,7,6,0,0,0,0,0,0]},"new":758,"old":149,"rank":3,"right":{"linear_Z4":[3,0,3,1,2,1,0,0,2],"matrix_rows":[10,56,15,305,58,292,256,320,384],"offset":235,"phase":2,"quadratic_rows":[319,61,303,15,35,55,0,0,5]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":151,"old":150,"rank":1,"right":{"linear_Z4":[3,3,0,0,3,2,0,0,0],"matrix_rows":[19,289,290,4,8,304,256,64,384],"offset":1,"phase":1,"quadratic_rows":[307,307,0,0,307,19,0,0,19]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,18,37,69,1,128,4,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":723,"old":150,"rank":3,"right":{"linear_Z4":[2,0,0,2,2,0,2,0,2],"matrix_rows":[12,258,92,21,256,64,88,32,384],"offset":40,"phase":2,"quadratic_rows":[20,0,1,0,1,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,16,33,3,66,132,2,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":759,"old":150,"rank":3,"right":{"linear_Z4":[3,0,3,1,0,0,0,0,2],"matrix_rows":[29,24,288,73,2,92,64,256,384],"offset":3,"phase":2,"quadratic_rows":[85,0,69,24,9,0,5,0,0]}},{"left":{"linear_Z4":[2,3,3,2,2,0,0,0,0],"matrix_rows":[33,66,132,8,16,19,21,273,17],"offset":0,"phase":0,"quadratic_rows":[6,19,21,0,6,0,0,0,0]},"new":1,"old":151,"rank":5,"right":{"linear_Z4":[2,0,0,2,2,0,0,0,0],"matrix_rows":[353,258,260,8,112,256,288,320,384],"offset":254,"phase":1,"quadratic_rows":[96,32,64,0,96,19,21,0,0]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,43,68,2,8,137,13,265,9],"offset":0,"phase":0,"quadratic_rows":[15,11,13,15,0,0,0,0,0]},"new":413,"old":151,"rank":4,"right":{"linear_Z4":[0,1,0,2,0,0,0,0,1],"matrix_rows":[331,258,260,90,256,266,320,288,384],"offset":85,"phase":0,"quadratic_rows":[74,283,64,19,74,0,21,0,258]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[24,34,68,9,129,3,5,257,1],"offset":0,"phase":0,"quadratic_rows":[15,3,5,9,0,0,0,0,0]},"new":415,"old":151,"rank":4,"right":{"linear_Z4":[1,0,0,3,0,1,1,0,2],"matrix_rows":[376,258,260,273,281,288,320,256,384],"offset":102,"phase":0,"quadratic_rows":[9,32,64,105,96,122,124,0,0]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[24,35,69,9,129,2,4,257,1],"offset":0,"phase":0,"quadratic_rows":[15,3,5,9,0,0,0,0,0]},"new":418,"old":151,"rank":4,"right":{"linear_Z4":[1,1,1,3,0,1,1,0,2],"matrix_rows":[382,258,260,279,287,288,320,256,384],"offset":102,"phase":0,"quadratic_rows":[9,342,310,105,102,124,122,0,6]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,34,77,4,8,11,137,265,9],"offset":0,"phase":0,"quadratic_rows":[15,11,13,15,0,0,0,0,0]},"new":420,"old":151,"rank":4,"right":{"linear_Z4":[0,0,1,2,0,0,0,0,1],"matrix_rows":[301,258,260,60,256,288,268,320,384],"offset":51,"phase":0,"quadratic_rows":[44,32,285,21,44,19,0,0,260]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":160,"old":152,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":161,"old":152,"rank":1,"right":{"linear_Z4":[1,1,1,0,0,1,2,1,2],"matrix_rows":[423,257,258,260,72,80,352,256,384],"offset":0,"phase":0,"quadratic_rows":[167,167,167,64,64,231,56,167,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":162,"old":152,"rank":1,"right":{"linear_Z4":[1,1,1,0,0,1,2,1,2],"matrix_rows":[423,257,322,324,8,16,352,256,384],"offset":0,"phase":0,"quadratic_rows":[167,231,231,0,0,231,38,167,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":163,"old":153,"rank":1,"right":{"linear_Z4":[0,0,1,0,2,0,2,0,0],"matrix_rows":[68,1,18,84,24,64,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,16,20,16,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":164,"old":153,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,2,0,0,0],"matrix_rows":[44,1,2,36,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":165,"old":153,"rank":1,"right":{"linear_Z4":[0,3,0,0,3,2,0,0,0],"matrix_rows":[50,1,34,4,8,48,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":163,"old":154,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":166,"old":154,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,2,0,0,0],"matrix_rows":[44,1,2,36,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":167,"old":154,"rank":1,"right":{"linear_Z4":[0,3,0,0,3,2,0,0,0],"matrix_rows":[50,1,34,4,8,48,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":160,"old":155,"rank":1,"right":{"linear_Z4":[1,0,0,1,2,1,1,1,2],"matrix_rows":[489,257,18,20,280,256,288,320,384],"offset":0,"phase":0,"quadratic_rows":[233,16,16,249,14,233,233,233,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":168,"old":155,"rank":1,"right":{"linear_Z4":[1,0,0,1,1,1,2,1,2],"matrix_rows":[441,257,66,68,264,272,352,256,384],"offset":0,"phase":0,"quadratic_rows":[185,64,64,185,185,249,38,185,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":169,"old":155,"rank":1,"right":{"linear_Z4":[1,0,0,1,1,1,2,1,2],"matrix_rows":[441,257,2,4,328,336,352,256,384],"offset":0,"phase":0,"quadratic_rows":[185,0,0,249,249,249,56,185,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":164,"old":156,"rank":1,"right":{"linear_Z4":[0,0,3,0,3,0,2,0,0],"matrix_rows":[84,1,2,68,8,80,32,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,20,0,20,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":166,"old":156,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,2,0,0],"matrix_rows":[74,1,66,4,72,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":170,"old":156,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":161,"old":157,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":168,"old":157,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":171,"old":157,"rank":1,"right":{"linear_Z4":[1,1,1,1,2,0,0,1,2],"matrix_rows":[399,257,274,276,280,256,32,64,384],"offset":0,"phase":0,"quadratic_rows":[143,159,159,159,14,0,0,143,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":162,"old":158,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":169,"old":158,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":171,"old":158,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":165,"old":159,"rank":1,"right":{"linear_Z4":[0,0,3,0,3,0,2,0,0],"matrix_rows":[84,1,2,68,8,80,32,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,20,0,20,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":167,"old":159,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,2,0,0],"matrix_rows":[74,1,66,4,72,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":170,"old":159,"rank":1,"right":{"linear_Z4":[0,1,0,0,2,2,0,0,0],"matrix_rows":[34,1,50,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,18,16,16,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":543,"old":160,"rank":1,"right":{"linear_Z4":[3,1,3,2,0,3,1,3,2],"matrix_rows":[423,257,322,260,72,16,288,256,384],"offset":149,"phase":0,"quadratic_rows":[167,231,167,64,0,167,74,167,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":545,"old":160,"rank":1,"right":{"linear_Z4":[3,3,1,2,0,1,3,3,2],"matrix_rows":[455,257,258,292,40,16,256,320,384],"offset":89,"phase":0,"quadratic_rows":[199,199,231,32,0,44,199,199,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[7,8,19,35,64,131,259,2,1],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":603,"old":160,"rank":2,"right":{"linear_Z4":[0,2,0,2,0,0,1,0,3],"matrix_rows":[173,301,321,194,324,392,16,352,256],"offset":415,"phase":1,"quadratic_rows":[192,192,192,0,0,192,231,359,384]}},{"left":{"linear_Z4":[2,2,3,3,0,0,0,0,0],"matrix_rows":[19,33,65,130,2,259,4,8,15],"offset":0,"phase":0,"quadratic_rows":[14,13,15,15,0,0,0,0,0]},"new":607,"old":160,"rank":4,"right":{"linear_Z4":[0,3,3,2,0,2,0,0,1],"matrix_rows":[271,265,320,384,289,306,316,16,256],"offset":368,"phase":2,"quadratic_rows":[294,63,55,290,6,15,256,256,457]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":173,"old":161,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,3,0,0,0],"matrix_rows":[24,1,2,36,104,80,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,32,120,88,44,24,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":179,"old":161,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,3,0,0,0],"matrix_rows":[24,1,34,4,72,112,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,32,0,88,120,50,24,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":175,"old":162,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,3,0,0,0],"matrix_rows":[6,1,66,100,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,70,102,32,0,44,6,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":177,"old":162,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,3,0,0,0],"matrix_rows":[6,1,98,68,8,48,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,102,70,0,32,50,6,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":543,"old":163,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,1,0,1,2],"matrix_rows":[173,257,2,260,264,16,288,64,384],"offset":0,"phase":0,"quadratic_rows":[429,0,429,429,0,429,0,429,173]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":544,"old":163,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,0,0,3,2],"matrix_rows":[385,257,2,4,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[129,0,0,0,0,0,0,129,0]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[28,36,68,131,259,9,3,1,7],"offset":0,"phase":0,"quadratic_rows":[13,6,15,13,0,0,0,0,0]},"new":602,"old":163,"rank":4,"right":{"linear_Z4":[2,3,3,0,0,2,0,3,3],"matrix_rows":[488,328,231,457,489,330,324,64,80],"offset":481,"phase":1,"quadratic_rows":[198,431,423,386,0,198,33,431,398]}},{"left":{"linear_Z4":[3,2,3,2,0,0,0,0,0],"matrix_rows":[24,32,70,130,4,264,2,9,1],"offset":0,"phase":0,"quadratic_rows":[9,4,6,1,0,0,0,0,0]},"new":605,"old":163,"rank":4,"right":{"linear_Z4":[3,2,0,3,3,3,1,3,0],"matrix_rows":[384,92,68,161,385,14,80,64,416],"offset":110,"phase":1,"quadratic_rows":[289,12,66,26,24,289,68,384,161]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":173,"old":164,"rank":1,"right":{"linear_Z4":[3,3,3,3,3,0,0,3,2],"matrix_rows":[415,257,258,260,264,272,32,64,384],"offset":1,"phase":1,"quadratic_rows":[159,159,159,159,159,0,0,159,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":178,"old":164,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,0,0,3,2],"matrix_rows":[385,257,2,4,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[129,0,0,0,0,0,0,129,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":174,"old":165,"rank":1,"right":{"linear_Z4":[3,3,3,3,3,0,0,3,2],"matrix_rows":[415,257,258,260,264,272,32,64,384],"offset":1,"phase":1,"quadratic_rows":[159,159,159,159,159,0,0,159,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":177,"old":165,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,0,0,3,2],"matrix_rows":[385,257,2,4,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[129,0,0,0,0,0,0,129,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":175,"old":166,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,0,0,3,2],"matrix_rows":[385,257,2,4,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[129,0,0,0,0,0,0,129,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":176,"old":166,"rank":1,"right":{"linear_Z4":[3,3,3,3,3,0,0,3,2],"matrix_rows":[415,257,258,260,264,272,32,64,384],"offset":1,"phase":1,"quadratic_rows":[159,159,159,159,159,0,0,159,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":172,"old":167,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,0,0,3,2],"matrix_rows":[385,257,2,4,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[129,0,0,0,0,0,0,129,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":179,"old":167,"rank":1,"right":{"linear_Z4":[3,3,3,3,3,0,0,3,2],"matrix_rows":[415,257,258,260,264,272,32,64,384],"offset":1,"phase":1,"quadratic_rows":[159,159,159,159,159,0,0,159,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":174,"old":168,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,3,0,0,0],"matrix_rows":[6,1,98,68,8,48,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,102,70,0,32,50,6,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":176,"old":168,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,3,0,0,0],"matrix_rows":[6,1,66,100,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,70,102,32,0,44,6,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":172,"old":169,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,3,0,0,0],"matrix_rows":[24,1,34,4,72,112,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,32,0,88,120,50,24,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":178,"old":169,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,3,0,0,0],"matrix_rows":[24,1,2,36,104,80,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,32,120,88,44,24,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":542,"old":170,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,0,0,3,2],"matrix_rows":[385,257,2,4,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[129,0,0,0,0,0,0,129,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":545,"old":170,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,1,1,2],"matrix_rows":[203,257,258,4,264,16,32,320,384],"offset":0,"phase":0,"quadratic_rows":[459,459,0,459,0,0,459,459,203]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[6,8,16,32,64,128,258,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":601,"old":170,"rank":2,"right":{"linear_Z4":[3,0,0,0,0,0,3,3,0],"matrix_rows":[384,193,385,2,4,8,16,32,448],"offset":2,"phase":1,"quadratic_rows":[321,0,0,0,0,0,321,384,193]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[6,10,18,33,65,1,131,259,3],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":606,"old":170,"rank":2,"right":{"linear_Z4":[1,3,3,0,0,0,2,2,3],"matrix_rows":[488,231,297,290,300,32,48,320,384],"offset":120,"phase":0,"quadratic_rows":[463,455,463,453,0,0,15,15,271]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":542,"old":171,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,2,0,0,0],"matrix_rows":[44,1,2,36,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":544,"old":171,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,2,0,0],"matrix_rows":[74,1,66,4,72,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,3,0,0,0,0,0],"matrix_rows":[24,34,66,132,4,6,9,257,1],"offset":0,"phase":0,"quadratic_rows":[8,4,2,9,0,0,0,0,0]},"new":600,"old":171,"rank":4,"right":{"linear_Z4":[1,3,3,0,0,1,3,0,2],"matrix_rows":[192,46,40,385,449,50,60,16,256],"offset":6,"phase":2,"quadratic_rows":[65,30,22,34,6,40,321,256,192]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,18,32,64,1,2,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":604,"old":171,"rank":2,"right":{"linear_Z4":[1,3,3,0,0,2,2,0,0],"matrix_rows":[1,70,33,66,68,8,16,128,256],"offset":2,"phase":1,"quadratic_rows":[33,6,6,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":180,"old":172,"rank":1,"right":{"linear_Z4":[0,1,0,0,2,2,0,0,0],"matrix_rows":[34,1,50,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,18,16,16,14,0,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,18,1,32,68,6,2,128,256],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":668,"old":172,"rank":3,"right":{"linear_Z4":[1,0,2,2,1,1,2,0,0],"matrix_rows":[1,34,80,5,64,24,96,128,256],"offset":100,"phase":3,"quadratic_rows":[5,96,1,16,56,114,34,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,20,33,64,132,4,256,2,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":684,"old":172,"rank":3,"right":{"linear_Z4":[0,1,3,2,3,2,0,2,3],"matrix_rows":[389,384,50,256,34,388,24,32,64],"offset":201,"phase":2,"quadratic_rows":[132,18,5,16,26,0,0,257,384]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":180,"old":173,"rank":1,"right":{"linear_Z4":[3,0,3,0,2,0,0,3,0],"matrix_rows":[133,257,18,276,24,256,32,320,384],"offset":1,"phase":1,"quadratic_rows":[389,16,405,16,14,0,0,389,133]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,2,20,35,67,132,4,263,7],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":669,"old":173,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,1,2],"matrix_rows":[473,154,196,320,64,328,336,96,384],"offset":9,"phase":0,"quadratic_rows":[152,152,128,3,3,0,0,135,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[14,16,38,64,129,6,263,2,5],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":685,"old":173,"rank":3,"right":{"linear_Z4":[2,2,0,0,2,1,0,1,3],"matrix_rows":[304,437,53,49,134,32,24,288,320],"offset":48,"phase":2,"quadratic_rows":[432,132,290,16,425,437,0,435,437]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":180,"old":174,"rank":1,"right":{"linear_Z4":[1,0,0,1,2,0,0,1,2],"matrix_rows":[393,257,18,20,280,256,288,320,384],"offset":0,"phase":0,"quadratic_rows":[137,16,16,153,14,0,0,137,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[14,16,33,64,134,6,263,2,5],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":678,"old":174,"rank":3,"right":{"linear_Z4":[2,0,2,2,0,1,0,1,3],"matrix_rows":[292,437,53,37,6,288,152,32,320],"offset":192,"phase":2,"quadratic_rows":[420,4,419,144,296,437,0,429,437]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,19,35,2,68,132,4,263,7],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":694,"old":174,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,1,2],"matrix_rows":[455,142,208,320,322,324,64,96,384],"offset":9,"phase":0,"quadratic_rows":[134,9,9,134,128,0,0,153,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":180,"old":175,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,16,34,66,129,2,256,4,5],"offset":0,"phase":0,"quadratic_rows":[4,0,5,0,0,0,0,0,0]},"new":679,"old":175,"rank":3,"right":{"linear_Z4":[0,2,3,1,3,2,0,2,3],"matrix_rows":[401,44,384,256,6,32,40,400,64],"offset":57,"phase":2,"quadratic_rows":[144,4,14,12,17,0,0,257,384]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,16,34,68,1,6,4,128,256],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":695,"old":175,"rank":3,"right":{"linear_Z4":[1,2,1,0,2,1,2,0,0],"matrix_rows":[1,68,40,17,6,96,64,128,256],"offset":50,"phase":3,"quadratic_rows":[17,4,38,96,1,108,40,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":180,"old":176,"rank":1,"right":{"linear_Z4":[1,1,1,1,2,0,0,1,2],"matrix_rows":[399,257,274,276,280,256,32,64,384],"offset":0,"phase":0,"quadratic_rows":[143,159,159,159,14,0,0,143,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[8,16,33,64,134,1,256,2,5],"offset":0,"phase":0,"quadratic_rows":[4,6,7,0,0,0,0,0,0]},"new":736,"old":176,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,1,0,3,0],"matrix_rows":[260,432,48,5,6,32,152,288,64],"offset":198,"phase":0,"quadratic_rows":[4,4,291,144,40,180,0,424,132]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,21,37,66,4,130,2,263,7],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":752,"old":176,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,1,2],"matrix_rows":[455,200,150,320,322,324,64,96,384],"offset":9,"phase":0,"quadratic_rows":[134,17,17,128,134,0,0,153,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":180,"old":177,"rank":1,"right":{"linear_Z4":[0,0,0,1,2,0,2,0,0],"matrix_rows":[8,1,18,20,88,64,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,16,16,88,14,0,8,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,16,34,65,130,256,2,4,5],"offset":0,"phase":0,"quadratic_rows":[4,0,5,0,0,0,0,0,0]},"new":737,"old":177,"rank":3,"right":{"linear_Z4":[0,2,3,3,1,0,2,2,3],"matrix_rows":[393,84,384,256,6,64,392,80,32],"offset":57,"phase":2,"quadratic_rows":[136,4,22,9,20,0,0,257,384]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,16,34,1,68,4,6,128,256],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":753,"old":177,"rank":3,"right":{"linear_Z4":[1,2,1,2,0,2,1,0,0],"matrix_rows":[1,36,80,9,6,96,32,128,256],"offset":50,"phase":3,"quadratic_rows":[9,4,70,1,96,80,116,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":180,"old":178,"rank":1,"right":{"linear_Z4":[0,0,1,0,2,0,2,0,0],"matrix_rows":[68,1,18,84,24,64,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,16,20,16,14,0,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,1,18,32,68,2,6,128,256],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":746,"old":178,"rank":3,"right":{"linear_Z4":[1,2,0,2,1,2,1,0,0],"matrix_rows":[1,68,48,3,32,24,96,128,256],"offset":100,"phase":3,"quadratic_rows":[3,1,96,16,88,68,116,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,17,36,64,132,256,4,2,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":762,"old":178,"rank":3,"right":{"linear_Z4":[0,3,1,2,3,0,2,2,3],"matrix_rows":[387,384,84,256,386,68,24,64,32],"offset":201,"phase":2,"quadratic_rows":[130,3,20,16,28,0,0,257,384]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":180,"old":179,"rank":1,"right":{"linear_Z4":[3,3,0,0,2,0,0,3,0],"matrix_rows":[131,257,274,20,24,256,288,64,384],"offset":1,"phase":1,"quadratic_rows":[387,403,16,16,14,0,0,387,131]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,4,37,69,130,2,263,7],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":747,"old":179,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,1,2],"matrix_rows":[473,194,156,320,64,328,336,96,384],"offset":9,"phase":0,"quadratic_rows":[152,128,152,5,5,0,0,135,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[8,16,38,64,129,1,256,2,5],"offset":0,"phase":0,"quadratic_rows":[4,6,7,0,0,0,0,0,0]},"new":763,"old":179,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,1,0,3,0],"matrix_rows":[272,420,36,17,134,288,24,32,64],"offset":54,"phase":0,"quadratic_rows":[16,132,34,16,297,180,0,418,144]}},{"left":{"linear_Z4":[3,2,2,3,3,0,0,0,0],"matrix_rows":[33,66,132,264,14,12,10,16,17],"offset":0,"phase":0,"quadratic_rows":[17,4,2,8,17,0,0,0,0]},"new":1,"old":180,"rank":5,"right":{"linear_Z4":[0,0,0,2,0,1,1,0,1],"matrix_rows":[1,98,100,8,384,256,48,80,112],"offset":239,"phase":1,"quadratic_rows":[256,80,48,112,14,108,106,256,385]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,36,68,130,262,6,2,8,9],"offset":0,"phase":0,"quadratic_rows":[9,2,4,9,0,0,0,0,0]},"new":413,"old":180,"rank":4,"right":{"linear_Z4":[0,1,2,2,0,2,2,0,1],"matrix_rows":[1,8,14,384,256,106,96,64,48],"offset":83,"phase":0,"quadratic_rows":[256,102,106,36,0,14,6,256,385]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,34,66,132,262,4,6,8,9],"offset":0,"phase":0,"quadratic_rows":[9,2,4,9,0,0,0,0,0]},"new":416,"old":180,"rank":4,"right":{"linear_Z4":[0,2,1,2,0,2,2,0,1],"matrix_rows":[1,6,8,384,256,96,100,32,80],"offset":53,"phase":0,"quadratic_rows":[256,100,102,32,0,14,6,256,385]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,34,66,132,262,6,4,8,9],"offset":0,"phase":0,"quadratic_rows":[9,2,4,9,0,0,0,0,0]},"new":417,"old":180,"rank":4,"right":{"linear_Z4":[0,1,2,2,0,2,2,0,1],"matrix_rows":[1,6,8,384,256,98,96,64,48],"offset":85,"phase":0,"quadratic_rows":[256,102,98,64,0,6,14,256,385]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,34,66,132,262,4,6,8,9],"offset":0,"phase":0,"quadratic_rows":[9,2,4,9,0,0,0,0,0]},"new":420,"old":180,"rank":4,"right":{"linear_Z4":[0,2,1,2,0,2,2,0,1],"matrix_rows":[1,14,8,384,256,96,108,32,80],"offset":53,"phase":0,"quadratic_rows":[256,108,102,66,0,6,14,256,385]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":189,"old":181,"rank":1,"right":{"linear_Z4":[0,0,1,0,2,0,0,2,0],"matrix_rows":[132,1,18,148,24,128,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,16,20,16,14,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":190,"old":181,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":191,"old":181,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":192,"old":182,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":193,"old":182,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":194,"old":182,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":192,"old":183,"rank":1,"right":{"linear_Z4":[0,0,1,0,2,0,0,0,2],"matrix_rows":[260,1,18,276,24,256,32,64,128],"offset":0,"phase":0,"quadratic_rows":[0,16,20,16,14,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":195,"old":183,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":196,"old":183,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":189,"old":184,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":197,"old":184,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":198,"old":184,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":193,"old":185,"rank":1,"right":{"linear_Z4":[1,1,1,1,1,0,2,0,2],"matrix_rows":[287,321,258,324,264,336,32,256,128],"offset":0,"phase":0,"quadratic_rows":[95,31,95,31,95,0,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":195,"old":185,"rank":1,"right":{"linear_Z4":[1,1,1,1,1,0,2,0,2],"matrix_rows":[287,321,322,260,328,272,32,256,128],"offset":0,"phase":0,"quadratic_rows":[95,95,31,95,31,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":199,"old":185,"rank":1,"right":{"linear_Z4":[1,1,1,1,2,0,1,0,2],"matrix_rows":[335,257,274,276,280,256,32,320,128],"offset":0,"phase":0,"quadratic_rows":[79,95,95,95,14,0,79,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":190,"old":186,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,2,2,0],"matrix_rows":[129,193,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[65,0,64,0,64,0,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":197,"old":186,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,2,2,0],"matrix_rows":[129,193,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[65,64,0,64,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":200,"old":186,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":191,"old":187,"rank":1,"right":{"linear_Z4":[1,1,1,1,1,0,2,2,0],"matrix_rows":[159,193,194,132,200,144,32,128,256],"offset":0,"phase":0,"quadratic_rows":[95,95,31,95,31,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":198,"old":187,"rank":1,"right":{"linear_Z4":[1,1,1,1,1,0,2,2,0],"matrix_rows":[159,193,130,196,136,208,32,128,256],"offset":0,"phase":0,"quadratic_rows":[95,31,95,31,95,0,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":200,"old":187,"rank":1,"right":{"linear_Z4":[1,1,1,1,2,0,1,2,0],"matrix_rows":[207,129,146,148,152,128,32,192,256],"offset":0,"phase":0,"quadratic_rows":[79,95,95,95,14,0,79,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":194,"old":188,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,2,0,2],"matrix_rows":[257,321,66,4,72,16,32,256,128],"offset":0,"phase":0,"quadratic_rows":[65,64,0,64,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":196,"old":188,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,2,0,2],"matrix_rows":[257,321,2,68,8,80,32,256,128],"offset":0,"phase":0,"quadratic_rows":[65,0,64,0,64,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":199,"old":188,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":547,"old":189,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,0,0,2],"matrix_rows":[266,1,258,4,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":549,"old":189,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,0,3,0,2],"matrix_rows":[321,257,2,4,8,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[65,0,0,0,0,0,65,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[7,9,19,34,64,131,2,256,3],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":611,"old":189,"rank":2,"right":{"linear_Z4":[2,3,2,3,0,2,2,0,2],"matrix_rows":[359,45,257,322,260,72,16,288,128],"offset":3,"phase":2,"quadratic_rows":[74,39,74,109,0,74,45,0,0]}},{"left":{"linear_Z4":[3,2,3,2,0,0,0,0,0],"matrix_rows":[24,32,70,130,4,264,9,2,1],"offset":0,"phase":0,"quadratic_rows":[9,4,6,1,0,0,0,0,0]},"new":615,"old":189,"rank":4,"right":{"linear_Z4":[3,2,0,3,3,3,3,1,0],"matrix_rows":[320,156,132,97,321,14,144,128,352],"offset":110,"phase":1,"quadratic_rows":[289,12,130,26,24,289,320,132,97]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":202,"old":190,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,0,0,2],"matrix_rows":[266,1,258,4,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":208,"old":190,"rank":1,"right":{"linear_Z4":[0,0,3,0,3,0,0,0,2],"matrix_rows":[276,1,2,260,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,20,0,20,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":204,"old":191,"rank":1,"right":{"linear_Z4":[0,0,3,0,3,0,0,0,2],"matrix_rows":[276,1,2,260,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,20,0,20,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":206,"old":191,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,0,0,2],"matrix_rows":[266,1,258,4,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":547,"old":192,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,0,2,0],"matrix_rows":[138,1,130,4,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":548,"old":192,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,0,3,2,0],"matrix_rows":[193,129,2,4,8,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[65,0,0,0,0,0,65,0,0]}},{"left":{"linear_Z4":[2,2,3,2,0,0,0,0,0],"matrix_rows":[1,20,36,66,130,8,262,6,2],"offset":0,"phase":0,"quadratic_rows":[0,0,4,0,0,0,0,0,0]},"new":610,"old":192,"rank":4,"right":{"linear_Z4":[2,1,1,0,0,2,2,2,0],"matrix_rows":[1,328,78,32,394,388,256,272,192],"offset":9,"phase":2,"quadratic_rows":[0,454,462,388,0,0,390,78,78]}},{"left":{"linear_Z4":[3,2,3,2,0,0,0,0,0],"matrix_rows":[24,32,70,130,4,264,9,1,2],"offset":0,"phase":0,"quadratic_rows":[9,4,6,1,0,0,0,0,0]},"new":613,"old":192,"rank":4,"right":{"linear_Z4":[3,2,0,3,3,3,3,0,1],"matrix_rows":[192,284,260,97,193,14,272,256,224],"offset":110,"phase":1,"quadratic_rows":[161,12,258,26,24,161,192,97,260]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":202,"old":193,"rank":1,"right":{"linear_Z4":[0,0,3,0,3,0,0,2,0],"matrix_rows":[148,1,2,132,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,20,0,20,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":207,"old":193,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,0,2,0],"matrix_rows":[138,1,130,4,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":203,"old":194,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,0,2,0],"matrix_rows":[138,1,130,4,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":206,"old":194,"rank":1,"right":{"linear_Z4":[0,0,3,0,3,0,0,2,0],"matrix_rows":[148,1,2,132,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,20,0,20,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":204,"old":195,"rank":1,"right":{"linear_Z4":[0,0,3,0,3,0,0,2,0],"matrix_rows":[148,1,2,132,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,20,0,20,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":205,"old":195,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,0,2,0],"matrix_rows":[138,1,130,4,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":201,"old":196,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,0,2,0],"matrix_rows":[138,1,130,4,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":208,"old":196,"rank":1,"right":{"linear_Z4":[0,0,3,0,3,0,0,2,0],"matrix_rows":[148,1,2,132,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,20,0,20,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":203,"old":197,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,0,0,2],"matrix_rows":[266,1,258,4,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":205,"old":197,"rank":1,"right":{"linear_Z4":[0,0,3,0,3,0,0,0,2],"matrix_rows":[276,1,2,260,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,20,0,20,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":201,"old":198,"rank":1,"right":{"linear_Z4":[0,0,3,0,3,0,0,0,2],"matrix_rows":[276,1,2,260,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,20,0,20,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":207,"old":198,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,0,0,2],"matrix_rows":[266,1,258,4,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":546,"old":199,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,0,3,2,0],"matrix_rows":[193,129,2,4,8,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[65,0,0,0,0,0,65,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":549,"old":199,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,0,2,0],"matrix_rows":[138,1,130,4,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,8,17,33,64,1,130,2,256],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":609,"old":199,"rank":2,"right":{"linear_Z4":[0,0,3,3,0,2,1,2,0],"matrix_rows":[44,64,1,2,36,40,16,192,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,192,64,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,18,32,64,1,128,2,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":614,"old":199,"rank":2,"right":{"linear_Z4":[1,3,3,0,0,2,0,2,0],"matrix_rows":[1,134,33,130,132,8,16,64,256],"offset":2,"phase":1,"quadratic_rows":[33,6,6,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":546,"old":200,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,0,3,0,2],"matrix_rows":[321,257,2,4,8,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[65,0,0,0,0,0,65,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":548,"old":200,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,0,0,2],"matrix_rows":[266,1,258,4,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,3,2,0,0,0,0,0],"matrix_rows":[17,32,70,2,4,8,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":608,"old":200,"rank":4,"right":{"linear_Z4":[1,2,0,3,3,2,0,0,2],"matrix_rows":[1,28,4,32,257,14,16,64,128],"offset":110,"phase":1,"quadratic_rows":[257,12,2,26,24,0,0,0,1]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,18,32,64,1,128,256,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":612,"old":200,"rank":2,"right":{"linear_Z4":[1,3,3,0,0,2,0,0,2],"matrix_rows":[1,262,33,258,260,8,16,64,128],"offset":2,"phase":1,"quadratic_rows":[33,6,6,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":209,"old":201,"rank":1,"right":{"linear_Z4":[3,3,3,3,2,0,0,0,2],"matrix_rows":[271,257,274,276,280,256,32,320,128],"offset":1,"phase":1,"quadratic_rows":[15,31,31,31,14,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,18,33,70,128,4,257,2,1],"offset":0,"phase":0,"quadratic_rows":[0,4,6,0,0,0,0,0,0]},"new":670,"old":201,"rank":3,"right":{"linear_Z4":[2,0,1,2,2,3,0,3,2],"matrix_rows":[260,170,136,5,128,256,168,16,320],"offset":425,"phase":1,"quadratic_rows":[4,40,5,130,0,34,0,136,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,22,32,68,129,2,257,4,1],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":692,"old":201,"rank":3,"right":{"linear_Z4":[2,2,2,0,1,3,0,3,2],"matrix_rows":[272,130,170,17,162,4,128,256,320],"offset":425,"phase":1,"quadratic_rows":[16,136,0,34,17,40,0,130,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":209,"old":202,"rank":1,"right":{"linear_Z4":[3,3,3,3,2,0,0,2,0],"matrix_rows":[143,129,146,148,152,128,32,192,256],"offset":1,"phase":1,"quadratic_rows":[15,31,31,31,14,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,18,33,70,128,4,257,1,2],"offset":0,"phase":0,"quadratic_rows":[0,4,6,0,0,0,0,0,0]},"new":671,"old":202,"rank":3,"right":{"linear_Z4":[2,0,1,2,2,3,0,2,3],"matrix_rows":[132,298,264,5,256,128,296,16,192],"offset":425,"phase":1,"quadratic_rows":[4,40,5,258,0,34,0,0,264]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,22,32,68,129,2,257,1,4],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":693,"old":202,"rank":3,"right":{"linear_Z4":[2,2,2,0,1,3,0,2,3],"matrix_rows":[144,258,298,17,290,4,256,128,192],"offset":425,"phase":1,"quadratic_rows":[16,264,0,34,17,40,0,0,258]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":209,"old":203,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[11,23,3,36,6,2,64,128,256],"offset":0,"phase":0,"quadratic_rows":[6,1,1,0,0,0,0,0,0]},"new":676,"old":203,"rank":3,"right":{"linear_Z4":[0,3,2,3,1,2,0,0,0],"matrix_rows":[55,7,30,5,54,56,64,128,256],"offset":5,"phase":2,"quadratic_rows":[52,26,25,46,55,25,0,0,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[9,17,35,70,7,4,134,262,6],"offset":0,"phase":0,"quadratic_rows":[5,6,7,0,0,0,0,0,0]},"new":686,"old":203,"rank":3,"right":{"linear_Z4":[3,3,0,2,1,1,0,0,2],"matrix_rows":[39,36,56,273,282,60,256,320,384],"offset":222,"phase":2,"quadratic_rows":[311,319,59,22,31,39,0,0,3]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":209,"old":204,"rank":1,"right":{"linear_Z4":[0,3,3,3,2,0,0,0,0],"matrix_rows":[14,1,274,276,280,256,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,286,286,286,14,0,0,0,14]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[10,19,36,66,128,1,3,260,4],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":677,"old":204,"rank":3,"right":{"linear_Z4":[3,1,0,3,0,2,0,0,2],"matrix_rows":[34,9,260,99,64,256,104,16,384],"offset":3,"phase":2,"quadratic_rows":[107,3,0,105,0,9,9,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[10,18,32,65,132,3,1,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":687,"old":204,"rank":3,"right":{"linear_Z4":[3,3,0,0,0,1,0,0,2],"matrix_rows":[40,43,272,105,98,4,64,256,384],"offset":3,"phase":2,"quadratic_rows":[67,75,0,34,0,40,3,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":209,"old":205,"rank":1,"right":{"linear_Z4":[0,0,1,0,2,0,0,0,2],"matrix_rows":[260,1,18,276,24,256,32,64,128],"offset":0,"phase":0,"quadratic_rows":[0,16,20,16,14,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,17,34,64,134,4,257,1,2],"offset":0,"phase":0,"quadratic_rows":[0,4,6,0,0,0,0,0,0]},"new":744,"old":205,"rank":3,"right":{"linear_Z4":[2,1,0,2,2,3,0,2,3],"matrix_rows":[130,308,272,3,128,256,8,304,192],"offset":345,"phase":1,"quadratic_rows":[2,3,48,0,260,36,0,0,272]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,16,38,65,132,2,257,1,4],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":754,"old":205,"rank":3,"right":{"linear_Z4":[2,2,2,1,0,3,0,2,3],"matrix_rows":[136,260,308,9,2,292,128,256,192],"offset":345,"phase":1,"quadratic_rows":[8,0,272,9,36,48,0,0,260]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":209,"old":206,"rank":1,"right":{"linear_Z4":[0,0,1,0,2,0,0,2,0],"matrix_rows":[132,1,18,148,24,128,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,16,20,16,14,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,17,34,64,134,4,257,2,1],"offset":0,"phase":0,"quadratic_rows":[0,4,6,0,0,0,0,0,0]},"new":745,"old":206,"rank":3,"right":{"linear_Z4":[2,1,0,2,2,3,0,3,2],"matrix_rows":[258,180,144,3,256,128,8,176,320],"offset":345,"phase":1,"quadratic_rows":[2,3,48,0,132,36,0,144,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,16,38,65,132,2,257,4,1],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":755,"old":206,"rank":3,"right":{"linear_Z4":[2,2,2,1,0,3,0,3,2],"matrix_rows":[264,132,180,9,2,164,256,128,320],"offset":345,"phase":1,"quadratic_rows":[8,0,144,9,36,48,0,132,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":209,"old":207,"rank":1,"right":{"linear_Z4":[3,0,3,0,2,0,0,0,0],"matrix_rows":[5,65,18,84,24,64,32,128,256],"offset":1,"phase":1,"quadratic_rows":[69,16,85,16,14,0,5,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[12,18,37,64,132,1,5,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,4,0,0,0,0,0,0]},"new":738,"old":207,"rank":3,"right":{"linear_Z4":[3,0,1,0,3,2,0,0,2],"matrix_rows":[36,258,17,101,256,64,8,112,384],"offset":5,"phase":2,"quadratic_rows":[117,0,5,0,113,17,17,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[10,16,34,68,129,3,1,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":760,"old":207,"rank":3,"right":{"linear_Z4":[3,0,3,0,0,1,0,0,2],"matrix_rows":[48,53,264,113,2,100,256,64,384],"offset":3,"phase":2,"quadratic_rows":[69,0,85,0,36,48,5,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":209,"old":208,"rank":1,"right":{"linear_Z4":[1,0,1,0,2,0,0,0,2],"matrix_rows":[5,257,18,276,24,256,32,320,384],"offset":0,"phase":0,"quadratic_rows":[261,16,277,16,14,0,0,0,5]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,22,35,71,5,4,134,262,6],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":739,"old":208,"rank":3,"right":{"linear_Z4":[0,2,3,3,1,2,0,0,1],"matrix_rows":[44,42,286,21,278,256,312,320,384],"offset":244,"phase":1,"quadratic_rows":[20,32,309,40,309,286,0,0,308]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[9,21,33,7,70,2,134,262,6],"offset":0,"phase":0,"quadratic_rows":[3,7,6,0,0,0,0,0,0]},"new":761,"old":208,"rank":3,"right":{"linear_Z4":[3,0,3,1,2,1,0,0,2],"matrix_rows":[39,56,34,265,58,284,256,320,384],"offset":238,"phase":2,"quadratic_rows":[303,61,319,31,14,39,0,0,5]}},{"left":{"linear_Z4":[3,2,3,2,2,0,0,0,0],"matrix_rows":[33,66,132,8,14,16,11,266,10],"offset":0,"phase":0,"quadratic_rows":[11,5,14,5,0,0,0,0,0]},"new":1,"old":209,"rank":5,"right":{"linear_Z4":[0,2,0,2,0,2,0,0,0],"matrix_rows":[257,338,260,88,32,320,256,272,384],"offset":253,"phase":1,"quadratic_rows":[64,80,16,80,14,0,11,0,0]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,40,68,138,14,2,11,266,10],"offset":0,"phase":0,"quadratic_rows":[11,15,14,15,0,0,0,0,0]},"new":413,"old":209,"rank":4,"right":{"linear_Z4":[0,1,0,3,2,0,2,0,1],"matrix_rows":[257,376,260,114,320,298,272,256,384],"offset":85,"phase":0,"quadratic_rows":[64,346,16,346,14,0,11,0,266]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,34,78,8,138,4,11,266,10],"offset":0,"phase":0,"quadratic_rows":[11,15,14,15,0,0,0,0,0]},"new":416,"old":209,"rank":4,"right":{"linear_Z4":[0,0,1,0,0,2,0,0,1],"matrix_rows":[257,358,260,108,320,256,292,272,384],"offset":51,"phase":0,"quadratic_rows":[64,100,302,100,0,14,11,0,260]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[27,35,69,9,15,1,138,266,10],"offset":0,"phase":0,"quadratic_rows":[11,15,14,15,0,0,0,0,0]},"new":418,"old":209,"rank":4,"right":{"linear_Z4":[1,1,3,1,0,2,0,0,1],"matrix_rows":[257,317,260,55,303,256,272,320,384],"offset":102,"phase":0,"quadratic_rows":[293,26,53,26,14,5,0,0,257]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[27,34,68,8,14,1,138,266,10],"offset":0,"phase":0,"quadratic_rows":[11,15,14,15,0,0,0,0,0]},"new":419,"old":209,"rank":4,"right":{"linear_Z4":[1,0,0,0,0,2,0,0,1],"matrix_rows":[257,307,260,57,289,256,272,320,384],"offset":102,"phase":0,"quadratic_rows":[299,49,16,49,14,11,0,0,257]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":218,"old":210,"rank":1,"right":{"linear_Z4":[3,3,0,0,2,0,0,0,0],"matrix_rows":[19,17,18,4,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":219,"old":210,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":220,"old":210,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,2,0,0],"matrix_rows":[70,1,66,68,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":221,"old":211,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,1,0,1,2],"matrix_rows":[430,1,274,276,280,256,288,64,384],"offset":0,"phase":0,"quadratic_rows":[0,190,190,190,14,174,0,174,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":222,"old":211,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":223,"old":211,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":221,"old":212,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":224,"old":212,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":225,"old":212,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":218,"old":213,"rank":1,"right":{"linear_Z4":[3,0,3,2,0,0,0,0,0],"matrix_rows":[13,9,2,12,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":226,"old":213,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":227,"old":213,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,2,0,0],"matrix_rows":[70,1,66,68,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":222,"old":214,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,1,2,1,2],"matrix_rows":[427,321,258,68,264,80,288,256,384],"offset":0,"phase":0,"quadratic_rows":[235,171,64,171,64,171,21,171,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":224,"old":214,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,1,2,1,2],"matrix_rows":[427,321,322,4,328,16,288,256,384],"offset":0,"phase":0,"quadratic_rows":[235,235,0,235,0,171,11,171,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":228,"old":214,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":219,"old":215,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,2,0,0],"matrix_rows":[88,9,2,12,64,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[8,0,8,21,24,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":226,"old":215,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,2,0,0],"matrix_rows":[88,17,18,4,72,64,32,128,256],"offset":0,"phase":0,"quadratic_rows":[16,16,0,24,11,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":229,"old":215,"rank":1,"right":{"linear_Z4":[0,0,0,1,2,0,2,0,0],"matrix_rows":[72,1,18,20,88,64,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,16,16,24,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":220,"old":216,"rank":1,"right":{"linear_Z4":[3,0,3,2,0,0,0,0,0],"matrix_rows":[13,9,2,12,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":227,"old":216,"rank":1,"right":{"linear_Z4":[3,3,0,0,2,0,0,0,0],"matrix_rows":[19,17,18,4,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":229,"old":216,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":223,"old":217,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,1,2,1,2],"matrix_rows":[437,321,66,260,72,272,288,256,384],"offset":0,"phase":0,"quadratic_rows":[245,64,181,64,181,181,11,181,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":225,"old":217,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,1,2,1,2],"matrix_rows":[437,321,2,324,8,336,288,256,384],"offset":0,"phase":0,"quadratic_rows":[245,0,245,0,245,181,21,181,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":228,"old":217,"rank":1,"right":{"linear_Z4":[1,0,1,0,2,1,1,1,2],"matrix_rows":[485,257,18,276,24,256,288,320,384],"offset":0,"phase":0,"quadratic_rows":[229,16,245,16,14,229,229,229,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":551,"old":218,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,3,0,3,2],"matrix_rows":[416,1,2,4,8,16,288,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,160,0,160,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":553,"old":218,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,1,1,2],"matrix_rows":[230,1,258,260,8,16,288,320,384],"offset":0,"phase":0,"quadratic_rows":[0,486,486,0,0,486,486,486,230]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,16,32,64,130,258,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":619,"old":218,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,3,3,3,0],"matrix_rows":[384,224,1,2,4,8,16,416,448],"offset":2,"phase":1,"quadratic_rows":[0,0,0,0,0,352,352,384,224]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[30,32,64,128,256,3,5,9,1],"offset":0,"phase":0,"quadratic_rows":[15,15,15,15,0,0,0,0,0]},"new":623,"old":218,"rank":4,"right":{"linear_Z4":[3,0,0,0,0,3,3,3,0],"matrix_rows":[480,449,417,353,481,2,4,8,16],"offset":1,"phase":1,"quadratic_rows":[225,0,0,0,0,225,225,225,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":231,"old":219,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,1,0,1,2],"matrix_rows":[179,257,258,4,8,272,288,64,384],"offset":0,"phase":0,"quadratic_rows":[435,435,0,0,435,435,0,435,179]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":237,"old":219,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,3,0,3,2],"matrix_rows":[416,1,2,4,8,16,288,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,160,0,160,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":233,"old":220,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,3,0,3,2],"matrix_rows":[416,1,2,4,8,16,288,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,160,0,160,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":235,"old":220,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,1,0,1,2],"matrix_rows":[179,257,258,4,8,272,288,64,384],"offset":0,"phase":0,"quadratic_rows":[435,435,0,0,435,435,0,435,179]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":551,"old":221,"rank":1,"right":{"linear_Z4":[0,3,3,3,0,0,0,0,0],"matrix_rows":[6,9,18,28,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[8,22,30,13,6,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":552,"old":221,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,2,0,0],"matrix_rows":[70,1,66,68,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,3,0,0,0,0,0],"matrix_rows":[18,32,67,1,2,136,12,260,4],"offset":0,"phase":0,"quadratic_rows":[3,1,8,12,0,0,0,0,0]},"new":618,"old":221,"rank":4,"right":{"linear_Z4":[1,2,0,1,1,1,3,0,2],"matrix_rows":[28,25,192,416,29,14,16,480,256],"offset":115,"phase":1,"quadratic_rows":[5,12,27,30,28,96,352,256,192]}},{"left":{"linear_Z4":[2,2,3,3,0,0,0,0,0],"matrix_rows":[1,16,34,66,128,260,2,8,12],"offset":0,"phase":0,"quadratic_rows":[0,0,12,12,0,0,0,0,0]},"new":621,"old":221,"rank":4,"right":{"linear_Z4":[2,0,3,3,0,0,2,0,1],"matrix_rows":[1,76,32,384,2,68,72,16,256],"offset":263,"phase":2,"quadratic_rows":[0,0,12,12,0,256,0,256,416]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":231,"old":222,"rank":1,"right":{"linear_Z4":[2,3,1,1,3,3,0,3,2],"matrix_rows":[438,9,258,268,256,272,288,64,384],"offset":27,"phase":0,"quadratic_rows":[8,182,190,13,182,182,0,182,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":236,"old":222,"rank":1,"right":{"linear_Z4":[2,0,2,1,0,1,0,1,2],"matrix_rows":[184,17,18,4,264,256,288,320,384],"offset":170,"phase":0,"quadratic_rows":[16,16,0,440,427,440,0,440,184]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":232,"old":223,"rank":1,"right":{"linear_Z4":[2,1,3,3,1,3,0,3,2],"matrix_rows":[430,17,274,260,264,256,288,64,384],"offset":39,"phase":0,"quadratic_rows":[16,190,174,174,19,174,0,174,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":235,"old":223,"rank":1,"right":{"linear_Z4":[2,2,0,0,1,1,0,1,2],"matrix_rows":[184,9,2,12,256,272,288,320,384],"offset":150,"phase":0,"quadratic_rows":[8,0,8,437,440,440,0,440,184]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":233,"old":224,"rank":1,"right":{"linear_Z4":[3,3,0,3,0,0,0,0,0],"matrix_rows":[3,73,66,12,64,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[75,67,8,13,0,0,3,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":234,"old":224,"rank":1,"right":{"linear_Z4":[3,3,0,0,2,0,0,0,0],"matrix_rows":[19,17,18,4,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":230,"old":225,"rank":1,"right":{"linear_Z4":[3,0,3,0,3,0,0,0,0],"matrix_rows":[5,81,18,68,8,64,32,128,256],"offset":1,"phase":1,"quadratic_rows":[85,16,69,0,19,0,5,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":237,"old":225,"rank":1,"right":{"linear_Z4":[3,0,3,2,0,0,0,0,0],"matrix_rows":[13,9,2,12,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":232,"old":226,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,1,0,1,2],"matrix_rows":[173,257,2,260,264,16,288,64,384],"offset":0,"phase":0,"quadratic_rows":[429,0,429,429,0,429,0,429,173]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":234,"old":226,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,3,0,3,2],"matrix_rows":[416,1,2,4,8,16,288,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,160,0,160,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":230,"old":227,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,3,0,3,2],"matrix_rows":[416,1,2,4,8,16,288,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,160,0,160,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":236,"old":227,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,1,0,1,2],"matrix_rows":[173,257,2,260,264,16,288,64,384],"offset":0,"phase":0,"quadratic_rows":[429,0,429,429,0,429,0,429,173]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":550,"old":228,"rank":1,"right":{"linear_Z4":[3,1,2,3,0,3,1,3,2],"matrix_rows":[427,257,322,68,264,16,288,256,384],"offset":141,"phase":0,"quadratic_rows":[171,235,64,171,0,171,70,171,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":553,"old":228,"rank":1,"right":{"linear_Z4":[0,2,2,0,0,1,1,1,2],"matrix_rows":[232,9,2,12,256,272,288,320,384],"offset":60,"phase":0,"quadratic_rows":[8,0,8,485,0,488,488,488,232]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[7,8,19,35,64,131,259,2,1],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":617,"old":228,"rank":2,"right":{"linear_Z4":[0,2,2,0,0,0,1,0,3],"matrix_rows":[173,301,321,194,388,328,16,352,256],"offset":431,"phase":1,"quadratic_rows":[192,192,0,192,0,192,235,363,384]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,10,18,33,65,2,131,259,3],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":622,"old":228,"rank":2,"right":{"linear_Z4":[2,3,3,0,0,0,2,2,2],"matrix_rows":[201,239,257,2,12,256,272,320,384],"offset":120,"phase":0,"quadratic_rows":[294,239,231,290,0,207,294,294,201]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":550,"old":229,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,1,0,1,2],"matrix_rows":[173,257,2,260,264,16,288,64,384],"offset":0,"phase":0,"quadratic_rows":[429,0,429,429,0,429,0,429,173]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":552,"old":229,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,3,0,3,2],"matrix_rows":[416,1,2,4,8,16,288,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,160,0,160,0]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[28,36,71,132,263,9,7,1,3],"offset":0,"phase":0,"quadratic_rows":[13,6,15,13,0,0,0,0,0]},"new":616,"old":229,"rank":4,"right":{"linear_Z4":[2,3,1,3,0,2,3,3,0],"matrix_rows":[484,324,431,453,485,326,64,328,80],"offset":481,"phase":1,"quadratic_rows":[398,235,45,239,0,398,202,235,33]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,18,34,2,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":620,"old":229,"rank":2,"right":{"linear_Z4":[3,3,3,2,0,0,0,3,2],"matrix_rows":[385,6,257,18,28,16,32,64,384],"offset":3,"phase":2,"quadratic_rows":[129,22,30,4,6,0,0,129,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":238,"old":230,"rank":1,"right":{"linear_Z4":[3,0,3,2,0,0,0,0,0],"matrix_rows":[13,9,2,12,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,18,33,64,2,132,3,260,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":672,"old":230,"rank":3,"right":{"linear_Z4":[2,0,1,2,2,3,1,1,2],"matrix_rows":[20,66,416,5,16,80,40,256,384],"offset":233,"phase":1,"quadratic_rows":[4,80,69,32,66,168,86,160,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,17,33,68,128,260,1,2,6],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":732,"old":230,"rank":3,"right":{"linear_Z4":[2,1,1,3,0,0,2,2,3],"matrix_rows":[66,384,424,5,70,64,392,16,256],"offset":317,"phase":0,"quadratic_rows":[4,6,7,40,0,136,0,288,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":238,"old":231,"rank":1,"right":{"linear_Z4":[1,0,1,0,3,3,0,3,2],"matrix_rows":[421,273,18,260,8,256,288,320,384],"offset":171,"phase":1,"quadratic_rows":[181,16,165,0,19,165,0,165,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[15,18,33,65,135,4,1,262,6],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":673,"old":231,"rank":3,"right":{"linear_Z4":[3,0,2,0,3,0,2,0,2],"matrix_rows":[81,407,181,325,256,64,72,336,384],"offset":19,"phase":1,"quadratic_rows":[55,149,35,0,51,149,0,34,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[12,23,39,71,132,259,7,2,1],"offset":0,"phase":0,"quadratic_rows":[3,3,4,0,0,0,0,0,0]},"new":733,"old":231,"rank":3,"right":{"linear_Z4":[1,1,0,0,1,3,0,0,3],"matrix_rows":[130,258,183,357,230,64,72,368,256],"offset":463,"phase":1,"quadratic_rows":[467,467,368,0,471,356,183,83,311]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":238,"old":232,"rank":1,"right":{"linear_Z4":[1,1,0,3,0,3,0,3,2],"matrix_rows":[419,265,258,12,256,16,288,320,384],"offset":151,"phase":1,"quadratic_rows":[171,163,8,13,0,163,0,163,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[10,16,39,66,128,2,256,3,6],"offset":0,"phase":0,"quadratic_rows":[5,2,5,0,0,0,0,0,0]},"new":682,"old":232,"rank":3,"right":{"linear_Z4":[3,2,3,1,0,1,0,2,3],"matrix_rows":[388,9,4,133,166,256,40,16,64],"offset":61,"phase":1,"quadratic_rows":[141,164,167,41,0,174,0,295,384]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[15,17,34,71,129,4,1,262,6],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":742,"old":232,"rank":3,"right":{"linear_Z4":[3,2,0,3,0,0,2,0,2],"matrix_rows":[73,399,171,323,64,256,328,80,384],"offset":35,"phase":1,"quadratic_rows":[47,37,139,45,0,139,0,36,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":238,"old":233,"rank":1,"right":{"linear_Z4":[3,3,0,0,2,0,0,0,0],"matrix_rows":[19,17,18,4,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,16,33,65,132,260,1,2,6],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":683,"old":233,"rank":3,"right":{"linear_Z4":[2,2,2,0,3,0,2,2,3],"matrix_rows":[68,384,432,5,6,64,72,400,256],"offset":316,"phase":3,"quadratic_rows":[4,4,3,0,48,144,0,288,384]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,34,2,64,132,3,260,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":743,"old":233,"rank":3,"right":{"linear_Z4":[2,1,0,2,2,3,1,1,2],"matrix_rows":[10,68,416,3,72,8,48,256,384],"offset":217,"phase":1,"quadratic_rows":[2,67,72,68,32,176,78,160,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":238,"old":234,"rank":1,"right":{"linear_Z4":[3,3,0,3,0,0,0,0,0],"matrix_rows":[3,73,66,12,64,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[75,67,8,13,0,0,3,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,17,36,65,128,260,1,2,6],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":688,"old":234,"rank":3,"right":{"linear_Z4":[3,3,3,2,0,0,0,2,3],"matrix_rows":[3,384,420,65,74,388,64,16,256],"offset":261,"phase":1,"quadratic_rows":[67,75,36,2,0,132,3,288,384]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,19,32,65,3,132,2,260,4],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":748,"old":234,"rank":3,"right":{"linear_Z4":[2,0,2,1,2,3,0,1,2],"matrix_rows":[90,66,416,11,16,36,80,256,384],"offset":233,"phase":1,"quadratic_rows":[10,1,32,9,0,164,0,160,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":238,"old":235,"rank":1,"right":{"linear_Z4":[1,1,0,0,0,3,0,3,0],"matrix_rows":[179,273,274,4,8,256,288,64,384],"offset":39,"phase":0,"quadratic_rows":[419,419,0,0,416,435,0,435,179]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[11,19,32,64,134,3,256,2,7],"offset":0,"phase":0,"quadratic_rows":[5,2,5,0,0,0,0,0,0]},"new":689,"old":235,"rank":3,"right":{"linear_Z4":[0,0,0,0,2,2,0,1,3],"matrix_rows":[291,179,16,33,34,180,8,256,64],"offset":2,"phase":1,"quadratic_rows":[432,432,176,0,263,263,0,135,307]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[15,23,33,65,130,4,1,262,6],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":749,"old":235,"rank":3,"right":{"linear_Z4":[3,3,2,0,0,0,2,0,2],"matrix_rows":[71,403,163,321,322,64,72,256,384],"offset":131,"phase":1,"quadratic_rows":[55,55,3,0,131,131,0,48,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":238,"old":236,"rank":1,"right":{"linear_Z4":[1,0,1,0,0,3,0,3,0],"matrix_rows":[173,265,2,268,256,16,288,64,384],"offset":27,"phase":0,"quadratic_rows":[421,0,421,416,0,429,0,429,173]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[15,17,39,66,129,4,1,262,6],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":698,"old":236,"rank":3,"right":{"linear_Z4":[3,2,3,0,0,0,2,0,2],"matrix_rows":[71,397,165,321,64,324,256,80,384],"offset":67,"phase":1,"quadratic_rows":[47,5,47,133,0,133,0,40,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[11,16,35,70,128,3,256,2,7],"offset":0,"phase":0,"quadratic_rows":[5,2,5,0,0,0,0,0,0]},"new":758,"old":236,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,2,0,1,3],"matrix_rows":[293,173,8,33,170,36,256,16,64],"offset":2,"phase":1,"quadratic_rows":[424,168,424,263,0,263,0,135,301]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":238,"old":237,"rank":1,"right":{"linear_Z4":[3,0,3,0,3,0,0,0,0],"matrix_rows":[5,81,18,68,8,64,32,128,256],"offset":1,"phase":1,"quadratic_rows":[85,16,69,0,19,0,5,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,16,37,69,1,130,4,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":699,"old":237,"rank":3,"right":{"linear_Z4":[2,2,0,0,1,3,2,1,2],"matrix_rows":[20,416,68,21,34,64,72,256,384],"offset":248,"phase":3,"quadratic_rows":[20,32,1,0,17,162,0,160,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[10,20,34,64,130,260,2,1,5],"offset":0,"phase":0,"quadratic_rows":[5,2,1,0,0,0,0,0,0]},"new":759,"old":237,"rank":3,"right":{"linear_Z4":[3,3,3,0,2,0,0,2,3],"matrix_rows":[384,5,418,65,386,84,8,64,256],"offset":262,"phase":1,"quadratic_rows":[69,34,85,0,4,130,5,288,384]}},{"left":{"linear_Z4":[2,2,2,3,3,0,0,0,0],"matrix_rows":[33,66,4,133,3,264,6,16,24],"offset":0,"phase":0,"quadratic_rows":[6,5,3,24,24,0,0,0,0]},"new":1,"old":238,"rank":5,"right":{"linear_Z4":[2,0,2,0,0,0,0,0,1],"matrix_rows":[17,18,20,32,384,80,64,88,256],"offset":463,"phase":1,"quadratic_rows":[64,80,16,0,6,256,3,256,416]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[18,35,65,129,3,260,2,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":414,"old":238,"rank":4,"right":{"linear_Z4":[3,3,2,0,0,0,2,0,1],"matrix_rows":[6,5,32,384,71,16,80,88,256],"offset":469,"phase":2,"quadratic_rows":[67,83,16,0,6,256,3,256,416]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[19,33,66,130,1,260,3,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":415,"old":238,"rank":4,"right":{"linear_Z4":[0,0,2,0,0,0,2,0,1],"matrix_rows":[3,5,32,384,65,16,80,88,256],"offset":468,"phase":1,"quadratic_rows":[70,17,81,0,6,256,5,256,416]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,35,66,131,1,260,2,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":417,"old":238,"rank":4,"right":{"linear_Z4":[0,2,0,0,2,0,2,0,1],"matrix_rows":[3,6,32,384,16,82,64,88,256],"offset":388,"phase":3,"quadratic_rows":[18,85,66,0,3,256,6,256,416]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,34,67,129,3,260,2,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":420,"old":238,"rank":4,"right":{"linear_Z4":[2,0,0,0,2,0,0,0,1],"matrix_rows":[5,6,32,384,80,64,20,88,256],"offset":468,"phase":1,"quadratic_rows":[84,68,19,0,5,256,3,256,416]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":247,"old":239,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,1,1,0,2],"matrix_rows":[366,1,274,276,280,256,288,320,128],"offset":0,"phase":0,"quadratic_rows":[0,126,126,126,14,110,110,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":248,"old":239,"rank":1,"right":{"linear_Z4":[0,1,1,1,1,1,2,0,2],"matrix_rows":[318,1,258,260,328,336,352,256,128],"offset":0,"phase":0,"quadratic_rows":[0,62,62,126,126,126,56,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":249,"old":239,"rank":1,"right":{"linear_Z4":[0,1,1,1,1,1,2,0,2],"matrix_rows":[318,1,322,324,264,272,352,256,128],"offset":0,"phase":0,"quadratic_rows":[0,126,126,62,62,126,38,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":250,"old":240,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":251,"old":240,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,1,2,2,0],"matrix_rows":[160,1,2,4,72,80,224,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,64,64,96,56,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":252,"old":240,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,1,2,2,0],"matrix_rows":[160,1,66,68,8,16,224,128,256],"offset":0,"phase":0,"quadratic_rows":[0,64,64,0,0,96,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":250,"old":241,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,1,1,2,0],"matrix_rows":[238,1,146,148,152,128,160,192,256],"offset":0,"phase":0,"quadratic_rows":[0,126,126,126,14,110,110,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":253,"old":241,"rank":1,"right":{"linear_Z4":[0,1,1,1,1,1,2,2,0],"matrix_rows":[190,1,194,196,136,144,224,128,256],"offset":0,"phase":0,"quadratic_rows":[0,126,126,62,62,126,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":254,"old":241,"rank":1,"right":{"linear_Z4":[0,1,1,1,1,1,2,2,0],"matrix_rows":[190,1,130,132,200,208,224,128,256],"offset":0,"phase":0,"quadratic_rows":[0,62,62,126,126,126,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":247,"old":242,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":255,"old":242,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,1,2,0,2],"matrix_rows":[288,1,66,68,8,16,352,256,128],"offset":0,"phase":0,"quadratic_rows":[0,64,64,0,0,96,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":256,"old":242,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,1,2,0,2],"matrix_rows":[288,1,2,4,72,80,352,256,128],"offset":0,"phase":0,"quadratic_rows":[0,0,0,64,64,96,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":251,"old":243,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":253,"old":243,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":257,"old":243,"rank":1,"right":{"linear_Z4":[0,0,0,1,2,0,0,2,0],"matrix_rows":[136,1,18,20,152,128,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,16,16,24,14,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":248,"old":244,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":255,"old":244,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":258,"old":244,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":249,"old":245,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":256,"old":245,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":258,"old":245,"rank":1,"right":{"linear_Z4":[0,0,0,1,2,0,0,0,2],"matrix_rows":[264,1,18,20,280,256,32,64,128],"offset":0,"phase":0,"quadratic_rows":[0,16,16,24,14,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":252,"old":246,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":254,"old":246,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":257,"old":246,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":555,"old":247,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,3,3,2,0],"matrix_rows":[224,1,2,4,8,16,160,192,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,96,96,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":557,"old":247,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,2,0],"matrix_rows":[134,1,130,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,33,1,64,130,2,256],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":627,"old":247,"rank":2,"right":{"linear_Z4":[0,3,3,3,0,0,1,2,0],"matrix_rows":[6,64,9,18,28,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[8,22,30,13,6,0,192,64,0]}},{"left":{"linear_Z4":[2,2,3,3,0,0,0,0,0],"matrix_rows":[1,16,34,66,128,260,8,2,12],"offset":0,"phase":0,"quadratic_rows":[0,0,12,12,0,0,0,0,0]},"new":631,"old":247,"rank":4,"right":{"linear_Z4":[2,0,3,3,0,0,0,2,1],"matrix_rows":[1,140,32,320,2,132,136,16,256],"offset":263,"phase":2,"quadratic_rows":[0,0,12,12,0,256,256,0,352]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":260,"old":248,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,0,0,2,0],"matrix_rows":[152,1,2,4,136,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,24,24,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":266,"old":248,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,2,0],"matrix_rows":[134,1,130,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":262,"old":249,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,0,0,2,0],"matrix_rows":[152,1,2,4,136,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,24,24,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":264,"old":249,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,2,0],"matrix_rows":[134,1,130,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":555,"old":250,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,3,3,0,2],"matrix_rows":[352,1,2,4,8,16,288,320,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,96,96,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":556,"old":250,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,0,2],"matrix_rows":[262,1,258,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,3,3,0,0,0,0,0],"matrix_rows":[1,16,38,2,4,72,128,256,8],"offset":0,"phase":0,"quadratic_rows":[0,6,6,8,0,0,0,0,0]},"new":626,"old":250,"rank":4,"right":{"linear_Z4":[2,2,0,3,3,1,0,0,2],"matrix_rows":[1,28,4,32,14,16,288,64,128],"offset":55,"phase":1,"quadratic_rows":[0,12,2,26,24,288,0,0,32]}},{"left":{"linear_Z4":[2,2,3,3,0,0,0,0,0],"matrix_rows":[1,16,34,66,128,260,8,12,2],"offset":0,"phase":0,"quadratic_rows":[0,0,12,12,0,0,0,0,0]},"new":629,"old":250,"rank":4,"right":{"linear_Z4":[2,0,3,3,0,0,0,1,2],"matrix_rows":[1,268,32,192,2,260,264,16,128],"offset":263,"phase":2,"quadratic_rows":[0,0,12,12,0,128,128,224,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":260,"old":251,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,0,2],"matrix_rows":[262,1,258,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":265,"old":251,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,0,0,0,2],"matrix_rows":[280,1,2,4,264,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,24,24,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":261,"old":252,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,0,2],"matrix_rows":[262,1,258,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":264,"old":252,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,0,0,0,2],"matrix_rows":[280,1,2,4,264,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,24,24,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":262,"old":253,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,0,0,0,2],"matrix_rows":[280,1,2,4,264,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,24,24,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":263,"old":253,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,0,2],"matrix_rows":[262,1,258,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":259,"old":254,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,0,0,0,2],"matrix_rows":[280,1,2,4,264,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,24,24,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":266,"old":254,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,0,2],"matrix_rows":[262,1,258,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":261,"old":255,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,2,0],"matrix_rows":[134,1,130,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":263,"old":255,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,0,0,2,0],"matrix_rows":[152,1,2,4,136,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,24,24,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":259,"old":256,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,2,0],"matrix_rows":[134,1,130,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":265,"old":256,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,0,0,2,0],"matrix_rows":[152,1,2,4,136,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,24,24,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":554,"old":257,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,0,2],"matrix_rows":[262,1,258,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":557,"old":257,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,3,3,0,2],"matrix_rows":[352,1,2,4,8,16,288,320,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,96,96,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[7,9,18,35,64,131,2,256,3],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":625,"old":257,"rank":2,"right":{"linear_Z4":[2,3,3,2,0,2,2,0,2],"matrix_rows":[363,45,257,322,68,264,16,288,128],"offset":3,"phase":2,"quadratic_rows":[70,43,109,70,0,70,45,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,18,34,2,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":630,"old":257,"rank":2,"right":{"linear_Z4":[3,3,3,2,0,0,3,0,2],"matrix_rows":[321,6,257,18,28,16,32,320,128],"offset":3,"phase":2,"quadratic_rows":[65,22,30,4,6,0,65,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":554,"old":258,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,2,0],"matrix_rows":[134,1,130,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":556,"old":258,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,3,3,2,0],"matrix_rows":[224,1,2,4,8,16,160,192,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,96,96,0,0]}},{"left":{"linear_Z4":[2,2,2,2,0,0,0,0,0],"matrix_rows":[1,20,38,68,134,8,258,2,6],"offset":0,"phase":0,"quadratic_rows":[0,4,2,0,0,0,0,0,0]},"new":624,"old":258,"rank":4,"right":{"linear_Z4":[2,3,3,3,0,2,1,2,3],"matrix_rows":[1,324,266,32,390,256,392,272,192],"offset":13,"phase":3,"quadratic_rows":[0,142,454,138,0,0,452,78,324]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,18,34,2,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":628,"old":258,"rank":2,"right":{"linear_Z4":[3,3,3,2,0,0,3,2,0],"matrix_rows":[193,6,129,18,28,16,32,192,256],"offset":3,"phase":2,"quadratic_rows":[65,22,30,4,6,0,65,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":267,"old":259,"rank":1,"right":{"linear_Z4":[0,3,3,3,2,3,0,0,2],"matrix_rows":[302,1,274,276,280,256,288,320,128],"offset":1,"phase":1,"quadratic_rows":[0,62,62,62,14,46,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[10,18,1,36,68,132,4,3,256],"offset":0,"phase":0,"quadratic_rows":[3,1,4,0,0,0,0,0,0]},"new":674,"old":259,"rank":3,"right":{"linear_Z4":[3,0,2,3,3,2,0,3,0],"matrix_rows":[132,135,24,133,128,104,80,64,256],"offset":22,"phase":1,"quadratic_rows":[3,5,130,120,88,8,24,132,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[10,17,2,36,68,132,4,3,256],"offset":0,"phase":0,"quadratic_rows":[3,1,4,0,0,0,0,0,0]},"new":740,"old":259,"rank":3,"right":{"linear_Z4":[1,0,2,3,3,2,0,3,0],"matrix_rows":[2,135,24,3,128,72,112,64,256],"offset":31,"phase":1,"quadratic_rows":[133,4,131,88,120,16,24,133,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":267,"old":260,"rank":1,"right":{"linear_Z4":[0,3,3,3,2,3,0,2,0],"matrix_rows":[174,1,146,148,152,128,160,192,256],"offset":1,"phase":1,"quadratic_rows":[0,62,62,62,14,46,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[10,18,1,36,68,132,4,256,3],"offset":0,"phase":0,"quadratic_rows":[3,1,4,0,0,0,0,0,0]},"new":675,"old":260,"rank":3,"right":{"linear_Z4":[3,0,2,3,3,2,0,0,3],"matrix_rows":[260,263,24,261,256,104,80,64,128],"offset":22,"phase":1,"quadratic_rows":[3,5,258,120,88,8,24,0,260]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[10,17,2,36,68,132,4,256,3],"offset":0,"phase":0,"quadratic_rows":[3,1,4,0,0,0,0,0,0]},"new":741,"old":260,"rank":3,"right":{"linear_Z4":[1,0,2,3,3,2,0,0,3],"matrix_rows":[2,263,24,3,256,72,112,64,128],"offset":31,"phase":1,"quadratic_rows":[261,4,259,88,120,16,24,0,261]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":267,"old":261,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[11,16,39,71,1,130,5,263,7],"offset":0,"phase":0,"quadratic_rows":[6,3,1,0,0,0,0,0,0]},"new":680,"old":261,"rank":3,"right":{"linear_Z4":[2,0,2,1,1,1,0,0,1],"matrix_rows":[297,25,108,341,38,256,296,320,384],"offset":237,"phase":2,"quadratic_rows":[100,36,27,124,348,299,25,0,304]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[13,16,39,1,71,131,4,263,7],"offset":0,"phase":0,"quadratic_rows":[6,1,5,0,0,0,0,0,0]},"new":734,"old":261,"rank":3,"right":{"linear_Z4":[0,0,2,3,3,1,0,0,1],"matrix_rows":[305,340,25,109,38,256,304,320,384],"offset":225,"phase":2,"quadratic_rows":[324,36,27,124,348,298,25,0,305]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":267,"old":262,"rank":1,"right":{"linear_Z4":[0,3,3,3,2,0,0,0,0],"matrix_rows":[14,1,274,276,280,256,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,286,286,286,14,0,0,0,14]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[10,16,35,68,128,2,1,260,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":681,"old":262,"rank":3,"right":{"linear_Z4":[1,2,0,0,0,3,3,0,2],"matrix_rows":[4,97,264,5,38,64,256,16,384],"offset":59,"phase":1,"quadratic_rows":[101,36,99,0,0,103,101,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[10,16,35,64,132,1,2,260,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":735,"old":262,"rank":3,"right":{"linear_Z4":[1,2,0,0,0,1,1,0,2],"matrix_rows":[100,97,272,101,38,64,8,256,384],"offset":59,"phase":1,"quadratic_rows":[5,36,99,0,0,102,100,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":267,"old":263,"rank":1,"right":{"linear_Z4":[0,0,0,1,2,0,0,2,0],"matrix_rows":[136,1,18,20,152,128,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,16,16,24,14,0,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[12,18,34,68,1,130,2,5,256],"offset":0,"phase":0,"quadratic_rows":[5,2,1,0,0,0,0,0,0]},"new":696,"old":263,"rank":3,"right":{"linear_Z4":[3,3,3,0,2,2,0,3,0],"matrix_rows":[144,6,153,145,98,68,128,64,256],"offset":70,"phase":1,"quadratic_rows":[9,102,70,17,136,2,6,144,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[12,18,34,65,4,130,2,5,256],"offset":0,"phase":0,"quadratic_rows":[5,2,1,0,0,0,0,0,0]},"new":750,"old":263,"rank":3,"right":{"linear_Z4":[1,3,3,0,2,2,0,3,0],"matrix_rows":[8,6,153,9,66,100,128,64,256],"offset":79,"phase":1,"quadratic_rows":[145,70,102,16,137,4,6,145,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":267,"old":264,"rank":1,"right":{"linear_Z4":[0,0,0,1,2,0,0,0,2],"matrix_rows":[264,1,18,20,280,256,32,64,128],"offset":0,"phase":0,"quadratic_rows":[0,16,16,24,14,0,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[12,18,34,68,1,130,2,256,5],"offset":0,"phase":0,"quadratic_rows":[5,2,1,0,0,0,0,0,0]},"new":697,"old":264,"rank":3,"right":{"linear_Z4":[3,3,3,0,2,2,0,0,3],"matrix_rows":[272,6,281,273,98,68,256,64,128],"offset":70,"phase":1,"quadratic_rows":[9,102,70,17,264,2,6,0,272]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[12,18,34,65,4,130,2,256,5],"offset":0,"phase":0,"quadratic_rows":[5,2,1,0,0,0,0,0,0]},"new":751,"old":264,"rank":3,"right":{"linear_Z4":[1,3,3,0,2,2,0,0,3],"matrix_rows":[8,6,281,9,66,100,256,64,128],"offset":79,"phase":1,"quadratic_rows":[273,70,102,16,265,4,6,0,273]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":267,"old":265,"rank":1,"right":{"linear_Z4":[0,0,0,1,2,1,0,0,2],"matrix_rows":[40,1,18,20,280,256,288,320,384],"offset":0,"phase":0,"quadratic_rows":[0,16,16,312,14,296,0,0,40]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[15,17,5,32,65,130,3,257,1],"offset":0,"phase":0,"quadratic_rows":[0,4,6,0,0,0,0,0,0]},"new":690,"old":265,"rank":3,"right":{"linear_Z4":[1,1,1,0,3,3,1,0,0],"matrix_rows":[291,117,337,341,290,56,256,320,384],"offset":221,"phase":2,"quadratic_rows":[339,3,292,48,345,300,337,0,117]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[15,3,17,32,65,133,4,257,1],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":756,"old":265,"rank":3,"right":{"linear_Z4":[3,1,1,0,1,2,3,0,3],"matrix_rows":[293,113,339,115,292,56,256,320,384],"offset":213,"phase":3,"quadratic_rows":[117,290,5,48,121,347,113,0,290]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":267,"old":266,"rank":1,"right":{"linear_Z4":[0,0,0,3,2,3,0,0,0],"matrix_rows":[40,1,18,20,88,64,96,128,256],"offset":1,"phase":1,"quadratic_rows":[0,16,16,120,14,104,40,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[12,18,32,64,133,4,1,258,2],"offset":0,"phase":0,"quadratic_rows":[5,0,1,0,0,0,0,0,0]},"new":691,"old":266,"rank":3,"right":{"linear_Z4":[1,0,0,2,0,3,3,0,2],"matrix_rows":[16,258,97,17,256,4,56,64,384],"offset":205,"phase":1,"quadratic_rows":[113,0,0,48,105,121,113,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[12,16,34,64,133,1,4,258,2],"offset":0,"phase":0,"quadratic_rows":[5,0,1,0,0,0,0,0,0]},"new":757,"old":266,"rank":3,"right":{"linear_Z4":[1,0,0,2,0,1,1,0,2],"matrix_rows":[112,260,97,113,2,256,56,64,384],"offset":205,"phase":1,"quadratic_rows":[17,0,0,48,105,120,112,0,0]}},{"left":{"linear_Z4":[2,2,2,3,3,0,0,0,0],"matrix_rows":[1,34,4,72,14,144,22,262,6],"offset":0,"phase":0,"quadratic_rows":[0,24,24,14,22,0,0,0,0]},"new":1,"old":267,"rank":5,"right":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[1,338,84,264,288,256,272,320,384],"offset":253,"phase":1,"quadratic_rows":[0,80,80,16,14,64,38,0,0]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[18,35,1,68,6,136,10,258,2],"offset":0,"phase":0,"quadratic_rows":[3,15,6,10,0,0,0,0,0]},"new":414,"old":267,"rank":4,"right":{"linear_Z4":[3,1,0,0,1,0,1,0,3],"matrix_rows":[262,85,264,288,263,256,272,320,384],"offset":253,"phase":3,"quadratic_rows":[339,259,80,16,349,64,373,0,339]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[22,34,4,65,7,136,14,262,6],"offset":0,"phase":0,"quadratic_rows":[7,15,15,14,0,0,0,0,0]},"new":415,"old":267,"rank":4,"right":{"linear_Z4":[2,2,2,1,0,0,0,0,3],"matrix_rows":[264,91,349,288,265,256,272,320,384],"offset":253,"phase":3,"quadratic_rows":[14,345,345,31,14,64,38,0,262]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[22,35,5,73,15,129,7,262,6],"offset":0,"phase":0,"quadratic_rows":[7,15,15,14,0,0,0,0,0]},"new":418,"old":267,"rank":4,"right":{"linear_Z4":[2,0,0,0,0,1,0,0,3],"matrix_rows":[302,125,379,264,303,256,272,320,384],"offset":253,"phase":3,"quadratic_rows":[40,120,120,279,14,103,38,0,264]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[22,34,4,72,14,129,7,262,6],"offset":0,"phase":0,"quadratic_rows":[7,15,15,14,0,0,0,0,0]},"new":419,"old":267,"rank":4,"right":{"linear_Z4":[2,2,2,0,0,1,0,0,3],"matrix_rows":[288,115,373,264,289,256,272,320,384],"offset":253,"phase":3,"quadratic_rows":[38,369,369,16,14,103,38,0,262]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":276,"old":268,"rank":1,"right":{"linear_Z4":[0,1,1,1,0,2,1,1,2],"matrix_rows":[462,33,290,260,264,48,256,320,384],"offset":0,"phase":0,"quadratic_rows":[32,238,206,206,32,19,206,206,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":277,"old":268,"rank":1,"right":{"linear_Z4":[0,1,1,1,0,1,2,1,2],"matrix_rows":[430,65,258,324,264,80,288,256,384],"offset":0,"phase":0,"quadratic_rows":[64,174,238,174,64,174,21,174,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":278,"old":268,"rank":1,"right":{"linear_Z4":[0,1,1,1,0,1,2,1,2],"matrix_rows":[430,1,322,324,264,16,352,256,384],"offset":0,"phase":0,"quadratic_rows":[0,238,238,174,0,238,38,174,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":279,"old":269,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,2,2,0,0],"matrix_rows":[80,33,34,4,8,112,64,128,256],"offset":0,"phase":0,"quadratic_rows":[32,32,0,0,48,19,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":280,"old":269,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,2,0,0],"matrix_rows":[112,33,2,36,8,80,64,128,256],"offset":0,"phase":0,"quadratic_rows":[32,0,32,0,48,21,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":281,"old":269,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,1,2,0,0],"matrix_rows":[112,1,18,20,8,64,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,16,16,0,38,48,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":279,"old":270,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":282,"old":270,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,2,0,0,0],"matrix_rows":[37,33,2,36,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":283,"old":270,"rank":1,"right":{"linear_Z4":[0,3,3,0,2,0,0,0,0],"matrix_rows":[22,1,18,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":276,"old":271,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":284,"old":271,"rank":1,"right":{"linear_Z4":[1,0,1,1,1,0,2,1,2],"matrix_rows":[413,257,66,324,264,272,96,256,384],"offset":0,"phase":0,"quadratic_rows":[157,64,221,157,157,64,38,157,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":285,"old":271,"rank":1,"right":{"linear_Z4":[1,0,1,1,1,0,2,1,2],"matrix_rows":[413,321,2,324,264,336,32,256,384],"offset":0,"phase":0,"quadratic_rows":[221,0,221,157,221,0,21,157,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":280,"old":272,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":282,"old":272,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,2,0,0],"matrix_rows":[67,65,66,4,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":286,"old":272,"rank":1,"right":{"linear_Z4":[0,3,3,0,2,0,0,0,0],"matrix_rows":[22,1,18,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":277,"old":273,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":284,"old":273,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":287,"old":273,"rank":1,"right":{"linear_Z4":[1,1,0,1,1,2,0,1,2],"matrix_rows":[411,289,290,4,264,304,256,64,384],"offset":0,"phase":0,"quadratic_rows":[187,187,0,155,187,19,0,155,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":278,"old":274,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":285,"old":274,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":287,"old":274,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":281,"old":275,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":283,"old":275,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,2,0,0],"matrix_rows":[67,65,66,4,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":286,"old":275,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,2,0,0,0],"matrix_rows":[37,33,2,36,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":559,"old":276,"rank":1,"right":{"linear_Z4":[1,2,3,3,3,0,1,3,2],"matrix_rows":[413,321,66,260,264,272,32,256,384],"offset":135,"phase":0,"quadratic_rows":[221,64,157,157,157,0,67,157,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":561,"old":276,"rank":1,"right":{"linear_Z4":[2,2,0,1,0,0,1,1,2],"matrix_rows":[216,1,18,20,264,256,288,320,384],"offset":102,"phase":0,"quadratic_rows":[0,16,16,472,462,0,472,472,216]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,33,65,128,257,3,2],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":635,"old":276,"rank":2,"right":{"linear_Z4":[2,3,1,1,1,0,1,2,0],"matrix_rows":[286,384,193,386,324,328,336,32,256],"offset":373,"phase":0,"quadratic_rows":[192,158,94,94,94,0,221,67,0]}},{"left":{"linear_Z4":[2,3,3,3,0,0,0,0,0],"matrix_rows":[17,33,67,131,258,2,4,8,13],"offset":0,"phase":0,"quadratic_rows":[12,2,13,13,0,0,0,0,0]},"new":639,"old":276,"rank":4,"right":{"linear_Z4":[1,1,2,2,0,2,0,0,0],"matrix_rows":[279,20,320,384,265,282,300,288,32],"offset":0,"phase":0,"quadratic_rows":[31,15,43,23,41,20,256,256,192]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":289,"old":277,"rank":1,"right":{"linear_Z4":[1,3,2,3,3,1,0,3,2],"matrix_rows":[411,289,258,36,264,272,256,64,384],"offset":75,"phase":0,"quadratic_rows":[187,155,32,155,155,37,0,155,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":295,"old":277,"rank":1,"right":{"linear_Z4":[2,0,2,1,0,1,0,1,2],"matrix_rows":[184,1,18,20,264,256,288,320,384],"offset":170,"phase":0,"quadratic_rows":[0,16,16,440,430,440,0,440,184]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":291,"old":278,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,3,0,0,0],"matrix_rows":[6,33,66,100,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[32,70,102,0,0,37,6,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":293,"old":278,"rank":1,"right":{"linear_Z4":[0,3,3,0,2,0,0,0,0],"matrix_rows":[22,1,18,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":559,"old":279,"rank":1,"right":{"linear_Z4":[0,1,1,1,1,0,0,1,2],"matrix_rows":[158,1,258,260,264,272,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,414,414,414,414,0,0,414,158]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":560,"old":279,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,0,0,3,2],"matrix_rows":[392,1,2,4,264,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,136,0,0,0,136,0]}},{"left":{"linear_Z4":[2,3,2,2,0,0,0,0,0],"matrix_rows":[31,45,7,11,66,128,256,3,2],"offset":0,"phase":0,"quadratic_rows":[12,2,1,1,0,0,0,0,0]},"new":634,"old":279,"rank":4,"right":{"linear_Z4":[0,3,3,3,1,0,0,0,2],"matrix_rows":[399,17,263,267,141,398,272,32,64],"offset":12,"phase":2,"quadratic_rows":[286,15,399,399,273,0,0,12,29]}},{"left":{"linear_Z4":[2,2,3,2,0,0,0,0,0],"matrix_rows":[16,35,72,136,257,2,3,12,4],"offset":0,"phase":0,"quadratic_rows":[0,0,12,4,0,0,0,0,0]},"new":637,"old":279,"rank":4,"right":{"linear_Z4":[2,0,3,3,1,0,2,3,0],"matrix_rows":[114,34,384,140,19,64,388,392,96],"offset":281,"phase":0,"quadratic_rows":[18,1,268,268,17,0,0,384,140]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":289,"old":280,"rank":1,"right":{"linear_Z4":[0,1,1,1,1,0,0,1,2],"matrix_rows":[158,1,258,260,264,272,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,414,414,414,414,0,0,414,158]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":294,"old":280,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,0,0,3,2],"matrix_rows":[392,1,2,4,264,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,136,0,0,0,136,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":290,"old":281,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,1,0,1,2],"matrix_rows":[173,257,2,260,264,16,288,64,384],"offset":0,"phase":0,"quadratic_rows":[429,0,429,429,0,429,0,429,173]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":293,"old":281,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,0,0,3,2],"matrix_rows":[392,1,2,4,264,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,136,0,0,0,136,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":291,"old":282,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,0,0,3,2],"matrix_rows":[392,1,2,4,264,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,136,0,0,0,136,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":292,"old":282,"rank":1,"right":{"linear_Z4":[0,1,1,1,1,0,0,1,2],"matrix_rows":[158,1,258,260,264,272,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,414,414,414,414,0,0,414,158]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":288,"old":283,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,0,0,3,2],"matrix_rows":[392,1,2,4,264,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,136,0,0,0,136,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":295,"old":283,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,1,0,1,2],"matrix_rows":[173,257,2,260,264,16,288,64,384],"offset":0,"phase":0,"quadratic_rows":[429,0,429,429,0,429,0,429,173]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":290,"old":284,"rank":1,"right":{"linear_Z4":[3,1,2,3,1,3,0,3,2],"matrix_rows":[427,257,274,20,264,256,288,64,384],"offset":45,"phase":0,"quadratic_rows":[171,187,16,171,22,171,0,171,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":292,"old":284,"rank":1,"right":{"linear_Z4":[0,2,2,1,1,0,0,1,2],"matrix_rows":[184,33,2,36,264,272,256,320,384],"offset":204,"phase":0,"quadratic_rows":[32,0,32,440,440,413,0,440,184]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":288,"old":285,"rank":1,"right":{"linear_Z4":[3,0,3,0,3,0,0,0,0],"matrix_rows":[5,65,18,84,8,64,32,128,256],"offset":1,"phase":1,"quadratic_rows":[69,16,85,0,22,0,5,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":294,"old":285,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,2,0,0,0],"matrix_rows":[37,33,2,36,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":558,"old":286,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,0,0,3,2],"matrix_rows":[392,1,2,4,264,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,136,0,0,0,136,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":561,"old":286,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,1,1,2],"matrix_rows":[203,257,258,4,264,16,32,320,384],"offset":0,"phase":0,"quadratic_rows":[459,459,0,459,0,0,459,459,203]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,16,34,64,128,258,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":633,"old":286,"rank":2,"right":{"linear_Z4":[0,0,0,3,0,0,3,3,0],"matrix_rows":[384,200,1,2,4,392,16,32,448],"offset":2,"phase":1,"quadratic_rows":[0,0,0,328,0,0,328,384,200]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,9,18,2,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":638,"old":286,"rank":2,"right":{"linear_Z4":[3,3,1,2,0,0,3,3,2],"matrix_rows":[451,4,257,258,12,16,32,320,384],"offset":1,"phase":1,"quadratic_rows":[195,195,12,4,0,0,195,195,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":558,"old":287,"rank":1,"right":{"linear_Z4":[3,3,0,0,3,0,0,0,0],"matrix_rows":[3,33,50,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[35,51,16,0,22,3,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":560,"old":287,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,2,0,0],"matrix_rows":[67,65,66,4,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,3,0,0,0,0,0],"matrix_rows":[17,33,3,72,130,2,12,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,8,12,0,0,0,0,0]},"new":632,"old":287,"rank":4,"right":{"linear_Z4":[3,3,1,1,0,0,3,0,2],"matrix_rows":[23,20,192,392,37,54,456,32,256],"offset":3,"phase":2,"quadratic_rows":[51,35,20,72,5,3,328,256,192]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,16,34,65,128,1,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":636,"old":287,"rank":2,"right":{"linear_Z4":[3,0,2,3,3,0,2,1,2],"matrix_rows":[81,392,65,2,12,256,80,32,384],"offset":49,"phase":3,"quadratic_rows":[17,0,8,140,17,0,0,136,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":296,"old":288,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,2,0,0,0],"matrix_rows":[37,33,2,36,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[8,18,33,68,3,4,2,128,256],"offset":0,"phase":0,"quadratic_rows":[3,1,4,0,0,0,0,0,0]},"new":672,"old":288,"rank":3,"right":{"linear_Z4":[2,0,1,1,1,2,2,0,0],"matrix_rows":[68,18,8,5,64,80,40,128,256],"offset":41,"phase":3,"quadratic_rows":[4,80,21,40,86,8,18,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,17,33,66,1,130,256,4,6],"offset":0,"phase":0,"quadratic_rows":[0,4,6,0,0,0,0,0,0]},"new":716,"old":288,"rank":3,"right":{"linear_Z4":[2,1,1,0,2,3,0,2,3],"matrix_rows":[18,424,384,5,22,16,256,416,64],"offset":123,"phase":0,"quadratic_rows":[4,6,7,160,0,40,0,264,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":296,"old":289,"rank":1,"right":{"linear_Z4":[1,0,1,3,3,0,0,3,2],"matrix_rows":[397,257,18,276,264,256,32,320,384],"offset":171,"phase":1,"quadratic_rows":[141,16,157,141,22,0,0,141,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[14,18,33,4,70,129,1,263,7],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":673,"old":289,"rank":3,"right":{"linear_Z4":[2,0,1,0,2,0,0,3,2],"matrix_rows":[196,471,157,325,320,64,336,96,384],"offset":0,"phase":0,"quadratic_rows":[14,149,143,149,10,0,0,142,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,16,39,71,129,7,262,2,4],"offset":0,"phase":0,"quadratic_rows":[7,1,1,0,0,0,0,0,0]},"new":717,"old":289,"rank":3,"right":{"linear_Z4":[0,0,2,3,3,2,0,3,3],"matrix_rows":[268,444,60,21,134,32,56,288,320],"offset":353,"phase":2,"quadratic_rows":[20,132,59,188,157,140,0,442,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":296,"old":290,"rank":1,"right":{"linear_Z4":[0,1,1,3,0,3,0,3,2],"matrix_rows":[398,33,258,292,264,16,256,320,384],"offset":205,"phase":1,"quadratic_rows":[32,142,174,142,0,37,0,142,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,16,39,71,135,2,261,1,4],"offset":0,"phase":0,"quadratic_rows":[2,7,2,0,0,0,0,0,0]},"new":680,"old":290,"rank":3,"right":{"linear_Z4":[0,0,2,3,0,3,0,3,1],"matrix_rows":[172,268,300,133,38,256,296,272,320],"offset":354,"phase":2,"quadratic_rows":[132,36,299,428,0,174,0,169,268]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,21,34,4,66,133,2,263,7],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":726,"old":290,"rank":3,"right":{"linear_Z4":[0,2,1,0,0,2,0,3,2],"matrix_rows":[487,196,174,320,326,64,80,352,384],"offset":0,"phase":0,"quadratic_rows":[166,13,143,166,0,9,0,141,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":296,"old":291,"rank":1,"right":{"linear_Z4":[0,3,3,0,2,0,0,0,0],"matrix_rows":[22,1,18,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,16,33,66,130,1,256,4,6],"offset":0,"phase":0,"quadratic_rows":[0,4,6,0,0,0,0,0,0]},"new":681,"old":291,"rank":3,"right":{"linear_Z4":[1,2,1,0,3,2,0,2,3],"matrix_rows":[33,408,384,37,6,32,256,400,64],"offset":123,"phase":0,"quadratic_rows":[5,4,7,144,24,0,0,264,384]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[9,16,34,68,4,3,1,128,256],"offset":0,"phase":0,"quadratic_rows":[2,3,4,0,0,0,0,0,0]},"new":727,"old":291,"rank":3,"right":{"linear_Z4":[0,2,1,1,2,1,2,0,0],"matrix_rows":[33,68,8,64,6,96,24,128,256],"offset":50,"phase":3,"quadratic_rows":[96,4,38,24,8,101,33,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":296,"old":292,"rank":1,"right":{"linear_Z4":[0,1,1,3,0,0,0,3,0],"matrix_rows":[158,1,274,276,264,256,32,64,384],"offset":45,"phase":0,"quadratic_rows":[0,398,398,414,392,0,0,414,158]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[8,19,35,67,5,128,256,1,7],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":704,"old":292,"rank":3,"right":{"linear_Z4":[0,0,0,2,2,0,0,1,3],"matrix_rows":[158,14,272,153,266,268,256,32,64],"offset":1,"phase":1,"quadratic_rows":[152,408,408,263,263,0,0,135,286]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,23,39,66,4,129,1,262,6],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":752,"old":292,"rank":3,"right":{"linear_Z4":[2,3,3,0,0,0,2,0,2],"matrix_rows":[71,398,150,64,322,324,256,96,384],"offset":67,"phase":1,"quadratic_rows":[6,31,31,134,134,0,0,24,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":296,"old":293,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,3,0,0,0],"matrix_rows":[6,33,66,100,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[32,70,102,0,0,37,6,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[12,18,34,68,128,258,2,1,5],"offset":0,"phase":0,"quadratic_rows":[5,2,1,0,0,0,0,0,0]},"new":705,"old":293,"rank":3,"right":{"linear_Z4":[3,3,3,0,0,2,0,2,3],"matrix_rows":[384,6,393,385,98,68,256,16,64],"offset":70,"phase":1,"quadratic_rows":[9,102,70,129,0,2,6,264,384]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,16,38,65,134,2,4,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":753,"old":293,"rank":3,"right":{"linear_Z4":[2,2,0,3,0,1,2,1,2],"matrix_rows":[392,36,68,9,38,64,256,80,384],"offset":248,"phase":3,"quadratic_rows":[8,36,2,137,0,34,0,136,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":296,"old":294,"rank":1,"right":{"linear_Z4":[3,0,3,0,3,0,0,0,0],"matrix_rows":[5,65,18,84,8,64,32,128,256],"offset":1,"phase":1,"quadratic_rows":[69,16,85,0,22,0,5,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,16,37,66,129,5,4,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":714,"old":294,"rank":3,"right":{"linear_Z4":[2,2,0,3,1,2,0,1,2],"matrix_rows":[116,392,68,21,10,32,256,96,384],"offset":217,"phase":1,"quadratic_rows":[20,8,1,138,17,0,0,136,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,20,33,68,129,256,1,2,6],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":760,"old":294,"rank":3,"right":{"linear_Z4":[3,3,3,0,2,0,0,2,3],"matrix_rows":[5,384,394,81,386,68,256,64,32],"offset":69,"phase":1,"quadratic_rows":[85,10,69,130,1,0,5,264,384]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":296,"old":295,"rank":1,"right":{"linear_Z4":[1,0,1,3,0,0,0,3,0],"matrix_rows":[173,289,2,292,264,16,256,64,384],"offset":75,"phase":0,"quadratic_rows":[397,0,397,429,0,392,0,429,173]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[15,17,39,66,129,4,1,262,6],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":715,"old":295,"rank":3,"right":{"linear_Z4":[3,2,3,0,0,0,2,0,2],"matrix_rows":[71,397,165,321,64,324,256,80,384],"offset":67,"phase":1,"quadratic_rows":[47,5,47,133,0,133,0,40,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[11,16,35,67,128,6,256,2,7],"offset":0,"phase":0,"quadratic_rows":[5,2,5,0,0,0,0,0,0]},"new":761,"old":295,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,2,0,1,3],"matrix_rows":[13,173,288,265,170,268,256,16,64],"offset":2,"phase":1,"quadratic_rows":[424,168,424,263,0,263,0,135,301]}},{"left":{"linear_Z4":[2,2,2,3,3,0,0,0,0],"matrix_rows":[33,66,4,136,262,5,3,16,24],"offset":0,"phase":0,"quadratic_rows":[6,5,3,24,24,0,0,0,0]},"new":1,"old":296,"rank":5,"right":{"linear_Z4":[0,2,2,0,0,0,0,0,1],"matrix_rows":[65,66,68,8,384,32,96,256,112],"offset":431,"phase":1,"quadratic_rows":[96,32,64,256,0,3,5,256,392]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[18,35,65,132,258,1,3,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":414,"old":296,"rank":4,"right":{"linear_Z4":[1,1,2,0,0,2,2,0,1],"matrix_rows":[6,5,8,384,103,64,32,256,112],"offset":389,"phase":0,"quadratic_rows":[99,35,64,256,0,3,5,256,392]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,34,67,132,258,1,3,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":416,"old":296,"rank":4,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,1],"matrix_rows":[5,6,8,384,32,96,68,256,112],"offset":484,"phase":1,"quadratic_rows":[36,100,67,256,0,3,6,256,392]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,35,66,132,258,3,1,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":417,"old":296,"rank":4,"right":{"linear_Z4":[0,0,2,0,0,2,0,0,1],"matrix_rows":[3,6,8,384,64,34,96,256,112],"offset":484,"phase":1,"quadratic_rows":[66,37,98,256,0,6,5,256,392]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[19,33,66,132,259,2,1,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":419,"old":296,"rank":4,"right":{"linear_Z4":[2,0,0,0,0,2,2,0,1],"matrix_rows":[3,5,8,384,97,64,32,256,112],"offset":388,"phase":3,"quadratic_rows":[102,65,33,256,0,5,3,256,392]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":305,"old":297,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,2,0,2,0],"matrix_rows":[144,33,34,4,8,176,128,64,256],"offset":0,"phase":0,"quadratic_rows":[32,32,0,0,48,19,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":306,"old":297,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":307,"old":297,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":308,"old":298,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":309,"old":298,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":310,"old":298,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":308,"old":299,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,2,0,0,2],"matrix_rows":[272,33,34,4,8,304,256,64,128],"offset":0,"phase":0,"quadratic_rows":[32,32,0,0,48,19,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":311,"old":299,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":312,"old":299,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":305,"old":300,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":313,"old":300,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":314,"old":300,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":309,"old":301,"rank":1,"right":{"linear_Z4":[1,1,0,1,1,1,2,0,2],"matrix_rows":[315,257,258,4,328,336,352,256,128],"offset":0,"phase":0,"quadratic_rows":[59,59,0,123,123,123,56,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":311,"old":301,"rank":1,"right":{"linear_Z4":[1,1,0,1,1,1,2,0,2],"matrix_rows":[315,321,322,4,328,272,288,256,128],"offset":0,"phase":0,"quadratic_rows":[123,123,0,123,59,59,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":315,"old":301,"rank":1,"right":{"linear_Z4":[1,1,0,1,1,2,1,0,2],"matrix_rows":[347,289,290,4,264,304,256,320,128],"offset":0,"phase":0,"quadratic_rows":[123,123,0,91,123,19,91,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":306,"old":302,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,2,2,0],"matrix_rows":[136,1,2,4,200,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,72,64,64,56,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":313,"old":302,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,2,2,0],"matrix_rows":[136,65,66,4,200,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[64,64,0,72,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":316,"old":302,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":307,"old":303,"rank":1,"right":{"linear_Z4":[1,1,0,1,1,1,2,2,0],"matrix_rows":[187,193,194,4,200,144,160,128,256],"offset":0,"phase":0,"quadratic_rows":[123,123,0,123,59,59,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":314,"old":303,"rank":1,"right":{"linear_Z4":[1,1,0,1,1,1,2,2,0],"matrix_rows":[187,129,130,4,200,208,224,128,256],"offset":0,"phase":0,"quadratic_rows":[59,59,0,123,123,123,56,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":316,"old":303,"rank":1,"right":{"linear_Z4":[1,1,0,1,1,2,1,2,0],"matrix_rows":[219,161,162,4,136,176,128,192,256],"offset":0,"phase":0,"quadratic_rows":[123,123,0,91,123,19,91,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":310,"old":304,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,2,0,2],"matrix_rows":[264,65,66,4,328,16,32,256,128],"offset":0,"phase":0,"quadratic_rows":[64,64,0,72,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":312,"old":304,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,2,0,2],"matrix_rows":[264,1,2,4,328,80,96,256,128],"offset":0,"phase":0,"quadratic_rows":[0,0,0,72,64,64,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":315,"old":304,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":563,"old":305,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,0,2],"matrix_rows":[259,257,258,4,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":565,"old":305,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,0,3,0,2],"matrix_rows":[328,1,2,4,264,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,72,0,0,72,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[6,11,17,33,65,128,3,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":643,"old":305,"rank":2,"right":{"linear_Z4":[3,2,3,3,3,0,2,0,2],"matrix_rows":[30,323,321,66,260,264,272,32,128],"offset":3,"phase":2,"quadratic_rows":[3,285,286,286,286,0,0,0,30]}},{"left":{"linear_Z4":[2,2,3,2,0,0,0,0,0],"matrix_rows":[16,35,72,136,257,2,12,3,4],"offset":0,"phase":0,"quadratic_rows":[0,0,12,4,0,0,0,0,0]},"new":647,"old":305,"rank":4,"right":{"linear_Z4":[2,0,3,3,1,0,3,2,0],"matrix_rows":[178,34,320,76,19,128,324,328,160],"offset":281,"phase":0,"quadratic_rows":[18,1,268,268,17,0,320,0,76]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":318,"old":306,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,0,2],"matrix_rows":[259,257,258,4,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":324,"old":306,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,3,0,0,2],"matrix_rows":[304,1,2,4,8,272,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,48,48,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":320,"old":307,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,3,0,0,2],"matrix_rows":[304,1,2,4,8,272,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,48,48,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":322,"old":307,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,0,2],"matrix_rows":[259,257,258,4,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":563,"old":308,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,2,0],"matrix_rows":[131,129,130,4,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":564,"old":308,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,0,3,2,0],"matrix_rows":[200,1,2,4,136,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,72,0,0,72,0,0]}},{"left":{"linear_Z4":[2,2,2,2,0,0,0,0,0],"matrix_rows":[18,35,4,8,66,131,257,1,3],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":642,"old":308,"rank":4,"right":{"linear_Z4":[3,3,2,2,3,0,1,2,3],"matrix_rows":[322,273,4,8,387,256,400,288,192],"offset":14,"phase":3,"quadratic_rows":[147,451,0,0,145,0,450,83,322]}},{"left":{"linear_Z4":[2,2,3,2,0,0,0,0,0],"matrix_rows":[16,35,72,136,257,2,12,4,3],"offset":0,"phase":0,"quadratic_rows":[0,0,12,4,0,0,0,0,0]},"new":645,"old":308,"rank":4,"right":{"linear_Z4":[2,0,3,3,1,0,3,0,2],"matrix_rows":[306,34,192,76,19,256,196,200,288],"offset":281,"phase":0,"quadratic_rows":[18,1,140,140,17,0,192,76,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":318,"old":309,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,3,0,2,0],"matrix_rows":[176,1,2,4,8,144,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,48,48,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":323,"old":309,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,2,0],"matrix_rows":[131,129,130,4,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":319,"old":310,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,2,0],"matrix_rows":[131,129,130,4,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":322,"old":310,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,3,0,2,0],"matrix_rows":[176,1,2,4,8,144,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,48,48,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":320,"old":311,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,3,0,2,0],"matrix_rows":[176,1,2,4,8,144,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,48,48,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":321,"old":311,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,2,0],"matrix_rows":[131,129,130,4,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":317,"old":312,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,2,0],"matrix_rows":[131,129,130,4,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":324,"old":312,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,3,0,2,0],"matrix_rows":[176,1,2,4,8,144,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,48,48,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":319,"old":313,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,0,2],"matrix_rows":[259,257,258,4,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":321,"old":313,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,3,0,0,2],"matrix_rows":[304,1,2,4,8,272,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,48,48,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":317,"old":314,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,3,0,0,2],"matrix_rows":[304,1,2,4,8,272,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,48,48,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":323,"old":314,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,0,2],"matrix_rows":[259,257,258,4,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":562,"old":315,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,0,3,2,0],"matrix_rows":[200,1,2,4,136,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,72,0,0,72,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":565,"old":315,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,2,0],"matrix_rows":[131,129,130,4,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,32,65,1,130,2,256],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":641,"old":315,"rank":2,"right":{"linear_Z4":[3,3,0,0,3,0,1,2,0],"matrix_rows":[3,64,33,50,20,8,32,192,256],"offset":1,"phase":1,"quadratic_rows":[35,51,16,0,22,3,192,64,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,16,34,65,128,258,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":646,"old":315,"rank":2,"right":{"linear_Z4":[3,0,2,3,3,0,1,2,2],"matrix_rows":[145,328,129,2,12,256,144,32,320],"offset":49,"phase":3,"quadratic_rows":[17,0,8,76,17,0,72,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":562,"old":316,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,0,3,0,2],"matrix_rows":[328,1,2,4,264,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,72,0,0,72,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":564,"old":316,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,0,2],"matrix_rows":[259,257,258,4,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,2,3,0,0,0,0,0],"matrix_rows":[16,35,4,72,1,2,128,256,8],"offset":0,"phase":0,"quadratic_rows":[3,3,0,8,0,0,0,0,0]},"new":640,"old":316,"rank":4,"right":{"linear_Z4":[2,0,2,1,3,3,0,0,2],"matrix_rows":[50,2,4,8,19,32,264,64,128],"offset":55,"phase":1,"quadratic_rows":[18,1,0,264,49,48,0,0,8]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,16,34,65,128,258,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":644,"old":316,"rank":2,"right":{"linear_Z4":[3,0,2,3,3,0,1,2,2],"matrix_rows":[273,200,257,2,12,128,272,32,192],"offset":49,"phase":3,"quadratic_rows":[17,0,8,76,17,0,72,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":325,"old":317,"rank":1,"right":{"linear_Z4":[3,3,0,3,3,2,0,0,2],"matrix_rows":[283,289,290,4,264,304,256,320,128],"offset":1,"phase":1,"quadratic_rows":[59,59,0,27,59,19,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[11,18,1,32,64,132,260,2,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":674,"old":317,"rank":3,"right":{"linear_Z4":[2,0,3,2,2,1,0,3,2],"matrix_rows":[129,135,288,133,128,40,16,256,320],"offset":484,"phase":1,"quadratic_rows":[130,5,6,32,0,40,0,129,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,19,2,32,68,128,260,1,4],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":724,"old":317,"rank":3,"right":{"linear_Z4":[0,2,3,2,1,2,0,3,2],"matrix_rows":[135,130,272,128,134,24,256,32,320],"offset":484,"phase":1,"quadratic_rows":[6,129,5,16,24,0,0,130,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":325,"old":318,"rank":1,"right":{"linear_Z4":[3,3,0,3,3,2,0,2,0],"matrix_rows":[155,161,162,4,136,176,128,192,256],"offset":1,"phase":1,"quadratic_rows":[59,59,0,27,59,19,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[11,18,1,32,64,132,260,4,2],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":675,"old":318,"rank":3,"right":{"linear_Z4":[2,0,3,2,2,1,0,2,3],"matrix_rows":[257,263,160,261,256,40,16,128,192],"offset":484,"phase":1,"quadratic_rows":[258,5,6,32,0,40,0,0,257]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,19,2,32,68,128,260,4,1],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":725,"old":318,"rank":3,"right":{"linear_Z4":[0,2,3,2,1,2,0,2,3],"matrix_rows":[263,258,144,256,262,24,128,32,192],"offset":484,"phase":1,"quadratic_rows":[6,257,5,16,24,0,0,0,258]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":325,"old":319,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[12,22,7,34,3,2,64,128,256],"offset":0,"phase":0,"quadratic_rows":[5,0,1,0,0,0,0,0,0]},"new":682,"old":319,"rank":3,"right":{"linear_Z4":[3,0,3,1,0,3,0,0,0],"matrix_rows":[20,42,39,21,54,40,64,128,256],"offset":4,"phase":1,"quadratic_rows":[51,57,20,10,39,51,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[13,20,7,33,1,3,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":718,"old":319,"rank":3,"right":{"linear_Z4":[0,3,3,1,3,0,0,0,0],"matrix_rows":[25,36,23,53,38,24,64,128,256],"offset":4,"phase":1,"quadratic_rows":[58,51,36,9,51,23,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":325,"old":320,"rank":1,"right":{"linear_Z4":[3,3,0,0,3,2,0,0,0],"matrix_rows":[19,289,290,4,8,304,256,64,384],"offset":1,"phase":1,"quadratic_rows":[307,307,0,0,307,19,0,0,19]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,17,3,34,64,132,2,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":683,"old":320,"rank":3,"right":{"linear_Z4":[3,3,1,0,0,0,0,0,2],"matrix_rows":[15,12,288,69,78,64,16,256,384],"offset":3,"phase":2,"quadratic_rows":[75,67,12,5,0,0,3,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[10,18,3,33,68,128,1,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":719,"old":320,"rank":3,"right":{"linear_Z4":[3,3,1,0,0,0,0,0,2],"matrix_rows":[12,15,272,77,70,64,256,32,384],"offset":3,"phase":2,"quadratic_rows":[67,75,12,6,0,0,3,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":325,"old":321,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,2,0,0,2],"matrix_rows":[272,33,34,4,8,304,256,64,128],"offset":0,"phase":0,"quadratic_rows":[32,32,0,0,48,19,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,17,36,65,130,4,1,256,6],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":712,"old":321,"rank":3,"right":{"linear_Z4":[3,3,1,2,0,2,0,0,3],"matrix_rows":[3,16,308,65,74,20,64,256,128],"offset":167,"phase":1,"quadratic_rows":[67,75,292,2,32,276,3,0,292]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,17,36,65,132,2,1,256,6],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":754,"old":321,"rank":3,"right":{"linear_Z4":[3,3,3,2,0,2,0,0,3],"matrix_rows":[3,288,308,73,66,292,64,256,128],"offset":133,"phase":1,"quadratic_rows":[75,67,20,1,36,272,3,0,288]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":325,"old":322,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,2,0,2,0],"matrix_rows":[144,33,34,4,8,176,128,64,256],"offset":0,"phase":0,"quadratic_rows":[32,32,0,0,48,19,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,17,36,65,130,4,1,6,256],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":713,"old":322,"rank":3,"right":{"linear_Z4":[3,3,1,2,0,2,0,3,0],"matrix_rows":[3,16,180,65,74,20,64,128,256],"offset":167,"phase":1,"quadratic_rows":[67,75,164,2,32,148,3,164,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,17,36,65,132,2,1,6,256],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":755,"old":322,"rank":3,"right":{"linear_Z4":[3,3,3,2,0,2,0,3,0],"matrix_rows":[3,160,180,73,66,164,64,128,256],"offset":133,"phase":1,"quadratic_rows":[75,67,20,1,36,144,3,160,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":325,"old":323,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,2,0,0,0],"matrix_rows":[24,33,34,4,72,112,64,128,256],"offset":1,"phase":1,"quadratic_rows":[32,32,0,88,120,19,24,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,17,36,64,134,4,2,257,1],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":706,"old":323,"rank":3,"right":{"linear_Z4":[0,0,1,2,0,3,3,0,2],"matrix_rows":[258,16,100,1,256,20,56,64,384],"offset":230,"phase":1,"quadratic_rows":[0,0,116,48,108,124,116,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,16,36,64,132,6,2,257,1],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":762,"old":323,"rank":3,"right":{"linear_Z4":[0,0,1,2,3,2,2,0,2],"matrix_rows":[257,96,20,256,2,100,56,64,384],"offset":192,"phase":2,"quadratic_rows":[0,0,116,48,124,28,20,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":325,"old":324,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,2,0,0,2],"matrix_rows":[24,33,34,4,264,304,256,320,384],"offset":0,"phase":0,"quadratic_rows":[32,32,0,280,312,19,0,0,24]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[15,17,5,32,67,2,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,4,6,0,0,0,0,0,0]},"new":707,"old":324,"rank":3,"right":{"linear_Z4":[3,1,1,0,2,3,0,0,3],"matrix_rows":[307,293,17,21,306,56,256,320,384],"offset":211,"phase":3,"quadratic_rows":[19,3,308,48,301,316,0,0,308]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[10,23,6,32,65,3,130,258,2],"offset":0,"phase":0,"quadratic_rows":[4,0,5,0,0,0,0,0,0]},"new":763,"old":324,"rank":3,"right":{"linear_Z4":[1,1,1,0,3,0,0,0,0],"matrix_rows":[22,307,290,305,294,56,256,320,384],"offset":222,"phase":2,"quadratic_rows":[3,291,308,48,316,30,0,0,22]}},{"left":{"linear_Z4":[2,2,2,3,3,0,0,0,0],"matrix_rows":[33,2,4,72,144,19,11,259,3],"offset":0,"phase":0,"quadratic_rows":[24,24,0,11,19,0,0,0,0]},"new":1,"old":325,"rank":5,"right":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[353,98,4,264,272,256,320,288,384],"offset":254,"phase":1,"quadratic_rows":[96,96,0,64,32,19,11,0,0]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[18,35,1,68,136,11,7,259,3],"offset":0,"phase":0,"quadratic_rows":[15,15,7,11,0,0,0,0,0]},"new":414,"old":325,"rank":4,"right":{"linear_Z4":[1,3,0,0,0,2,2,0,1],"matrix_rows":[358,101,264,272,263,256,320,288,384],"offset":204,"phase":0,"quadratic_rows":[355,355,0,64,32,19,11,0,259]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,2,35,72,132,7,11,259,3],"offset":0,"phase":0,"quadratic_rows":[15,15,7,11,0,0,0,0,0]},"new":416,"old":325,"rank":4,"right":{"linear_Z4":[2,2,2,0,1,0,0,0,3],"matrix_rows":[117,374,272,264,256,276,320,288,384],"offset":254,"phase":3,"quadratic_rows":[372,372,19,64,55,19,11,0,259]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[22,35,5,73,129,2,10,259,3],"offset":0,"phase":0,"quadratic_rows":[15,15,7,11,0,0,0,0,0]},"new":418,"old":325,"rank":4,"right":{"linear_Z4":[2,0,0,2,3,2,2,0,3],"matrix_rows":[382,125,283,264,287,256,320,288,384],"offset":200,"phase":3,"quadratic_rows":[120,120,24,327,55,19,11,0,264]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,2,35,68,136,11,7,259,3],"offset":0,"phase":0,"quadratic_rows":[15,15,7,11,0,0,0,0,0]},"new":420,"old":325,"rank":4,"right":{"linear_Z4":[2,2,2,1,0,0,0,0,3],"matrix_rows":[109,366,264,272,256,268,320,288,384],"offset":254,"phase":3,"quadratic_rows":[364,364,11,79,32,19,11,0,259]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":334,"old":326,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":335,"old":326,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":336,"old":326,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":337,"old":327,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":338,"old":327,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":339,"old":327,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":337,"old":328,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,2,0,2,0],"matrix_rows":[132,33,2,164,40,16,128,64,256],"offset":0,"phase":0,"quadratic_rows":[32,0,36,32,0,13,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":340,"old":328,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":341,"old":328,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":334,"old":329,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,2,0,0,2],"matrix_rows":[260,33,2,292,40,16,256,64,128],"offset":0,"phase":0,"quadratic_rows":[32,0,36,32,0,13,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":342,"old":329,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":343,"old":329,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":338,"old":330,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,2,0],"matrix_rows":[130,65,194,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[64,66,0,64,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":340,"old":330,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,2,0],"matrix_rows":[130,1,194,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,66,64,0,0,64,38,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":344,"old":330,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":335,"old":331,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,0,2],"matrix_rows":[258,65,322,4,72,16,32,256,128],"offset":0,"phase":0,"quadratic_rows":[64,66,0,64,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":342,"old":331,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,0,2],"matrix_rows":[258,1,322,68,8,16,96,256,128],"offset":0,"phase":0,"quadratic_rows":[0,66,64,0,0,64,38,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":345,"old":331,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":336,"old":332,"rank":1,"right":{"linear_Z4":[1,1,1,1,0,1,2,0,2],"matrix_rows":[303,257,322,324,264,16,352,256,128],"offset":0,"phase":0,"quadratic_rows":[47,111,111,47,0,111,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":343,"old":332,"rank":1,"right":{"linear_Z4":[1,1,1,1,0,1,2,0,2],"matrix_rows":[303,321,322,260,328,16,288,256,128],"offset":0,"phase":0,"quadratic_rows":[111,111,47,111,0,47,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":345,"old":332,"rank":1,"right":{"linear_Z4":[1,1,1,1,0,2,1,0,2],"matrix_rows":[335,289,258,292,296,16,256,320,128],"offset":0,"phase":0,"quadratic_rows":[111,79,111,111,0,13,79,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":339,"old":333,"rank":1,"right":{"linear_Z4":[1,1,1,1,0,1,2,2,0],"matrix_rows":[175,129,194,196,136,16,224,128,256],"offset":0,"phase":0,"quadratic_rows":[47,111,111,47,0,111,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":341,"old":333,"rank":1,"right":{"linear_Z4":[1,1,1,1,0,1,2,2,0],"matrix_rows":[175,193,194,132,200,16,160,128,256],"offset":0,"phase":0,"quadratic_rows":[111,111,47,111,0,47,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":344,"old":333,"rank":1,"right":{"linear_Z4":[1,1,1,1,0,2,1,2,0],"matrix_rows":[207,161,130,164,168,16,128,192,256],"offset":0,"phase":0,"quadratic_rows":[111,79,111,111,0,13,79,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":566,"old":334,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,2,0],"matrix_rows":[137,129,2,4,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":567,"old":334,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,3,2,0],"matrix_rows":[194,1,130,4,8,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,66,0,0,0,0,66,0,0]}},{"left":{"linear_Z4":[2,3,2,2,0,0,0,0,0],"matrix_rows":[18,35,66,129,4,257,8,3,1],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":649,"old":334,"rank":4,"right":{"linear_Z4":[1,2,1,0,2,0,2,2,0],"matrix_rows":[266,15,16,64,393,130,388,256,288],"offset":12,"phase":2,"quadratic_rows":[391,389,399,388,0,0,0,15,15]}},{"left":{"linear_Z4":[2,3,3,2,0,0,0,0,0],"matrix_rows":[16,40,69,129,264,4,10,2,1],"offset":0,"phase":0,"quadratic_rows":[4,10,5,2,0,0,0,0,0]},"new":651,"old":334,"rank":4,"right":{"linear_Z4":[2,3,0,3,3,3,3,0,1],"matrix_rows":[300,192,260,82,13,194,288,256,208],"offset":93,"phase":1,"quadratic_rows":[12,146,257,41,146,40,192,82,260]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":347,"old":335,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,2,0],"matrix_rows":[137,129,2,4,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":353,"old":335,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,3,0,2,0],"matrix_rows":[164,1,2,132,8,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,36,0,0,36,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":349,"old":336,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,3,0,2,0],"matrix_rows":[164,1,2,132,8,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,36,0,0,36,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":351,"old":336,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,2,0],"matrix_rows":[137,129,2,4,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":486,"old":337,"rank":1,"right":{"linear_Z4":[0,3,0,0,3,0,0,0,2],"matrix_rows":[274,1,258,4,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":488,"old":337,"rank":1,"right":{"linear_Z4":[2,0,2,1,0,0,0,2,0],"matrix_rows":[136,1,2,12,128,16,160,64,256],"offset":91,"phase":1,"quadratic_rows":[0,0,8,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":566,"old":337,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,0,2],"matrix_rows":[265,257,2,4,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[20,44,68,131,10,259,2,3,7],"offset":0,"phase":0,"quadratic_rows":[5,14,15,14,0,0,0,0,0]},"new":648,"old":337,"rank":4,"right":{"linear_Z4":[3,2,3,0,2,0,3,0,3],"matrix_rows":[392,472,215,458,393,474,388,128,160],"offset":466,"phase":1,"quadratic_rows":[351,197,343,321,197,0,351,18,333]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":347,"old":338,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,0,2],"matrix_rows":[265,257,2,4,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":352,"old":338,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,3,0,0,2],"matrix_rows":[292,1,2,260,8,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,36,0,0,36,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":348,"old":339,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,3,0,0,2],"matrix_rows":[292,1,2,260,8,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,36,0,0,36,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":351,"old":339,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,0,2],"matrix_rows":[265,257,2,4,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":349,"old":340,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,0,2],"matrix_rows":[265,257,2,4,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":350,"old":340,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,3,0,0,2],"matrix_rows":[292,1,2,260,8,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,36,0,0,36,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":346,"old":341,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,3,0,0,2],"matrix_rows":[292,1,2,260,8,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,36,0,0,36,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":353,"old":341,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,0,2],"matrix_rows":[265,257,2,4,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":348,"old":342,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,2,0],"matrix_rows":[137,129,2,4,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":350,"old":342,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,3,0,2,0],"matrix_rows":[164,1,2,132,8,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,36,0,0,36,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":346,"old":343,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,3,0,2,0],"matrix_rows":[164,1,2,132,8,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,36,0,0,36,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":352,"old":343,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,2,0],"matrix_rows":[137,129,2,4,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":462,"old":344,"rank":1,"right":{"linear_Z4":[0,0,3,3,2,0,0,0,0],"matrix_rows":[28,1,2,20,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":463,"old":344,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,3,0,2],"matrix_rows":[322,1,258,4,8,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,66,0,0,0,0,66,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":567,"old":344,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,0,2],"matrix_rows":[265,257,2,4,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,3,0,0,0,0,0],"matrix_rows":[17,34,65,128,4,256,8,10,1],"offset":0,"phase":0,"quadratic_rows":[0,10,0,10,0,0,0,0,0]},"new":650,"old":344,"rank":4,"right":{"linear_Z4":[3,0,3,0,2,0,0,1,2],"matrix_rows":[261,2,16,192,257,128,260,8,32],"offset":39,"phase":2,"quadratic_rows":[5,128,5,0,0,0,128,194,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":463,"old":345,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,3,2,0],"matrix_rows":[194,1,130,4,8,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,66,0,0,0,0,66,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":467,"old":345,"rank":1,"right":{"linear_Z4":[3,0,3,0,2,0,0,0,0],"matrix_rows":[21,17,2,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":485,"old":345,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,2,0],"matrix_rows":[140,1,2,132,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":489,"old":345,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,2,0],"matrix_rows":[133,129,2,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":354,"old":346,"rank":1,"right":{"linear_Z4":[3,0,3,3,0,2,0,0,0],"matrix_rows":[13,289,2,292,296,16,256,64,384],"offset":1,"phase":1,"quadratic_rows":[301,0,301,301,0,13,0,0,13]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,17,32,66,3,132,2,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":688,"old":346,"rank":3,"right":{"linear_Z4":[3,3,0,0,1,0,0,0,2],"matrix_rows":[27,24,288,81,90,4,64,256,384],"offset":3,"phase":2,"quadratic_rows":[75,67,0,17,24,0,3,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[10,19,36,66,1,128,3,260,4],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":720,"old":346,"rank":3,"right":{"linear_Z4":[3,1,0,3,2,0,0,0,2],"matrix_rows":[18,9,260,83,64,256,88,32,384],"offset":3,"phase":2,"quadratic_rows":[91,3,0,89,9,0,9,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":354,"old":347,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[10,18,35,69,4,7,133,261,5],"offset":0,"phase":0,"quadratic_rows":[5,6,7,0,0,0,0,0,0]},"new":689,"old":347,"rank":3,"right":{"linear_Z4":[3,3,0,2,1,1,0,0,2],"matrix_rows":[20,23,56,297,290,60,256,320,384],"offset":221,"phase":2,"quadratic_rows":[319,311,59,37,23,47,0,0,3]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[15,19,3,36,5,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[2,5,2,0,0,0,0,0,0]},"new":721,"old":347,"rank":3,"right":{"linear_Z4":[3,0,2,3,1,2,0,0,0],"matrix_rows":[7,55,29,53,6,56,64,128,256],"offset":6,"phase":2,"quadratic_rows":[25,52,26,45,55,26,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":354,"old":348,"rank":1,"right":{"linear_Z4":[3,3,3,3,0,2,0,0,2],"matrix_rows":[271,289,258,292,296,16,256,320,128],"offset":1,"phase":1,"quadratic_rows":[47,15,47,47,0,13,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[13,16,32,68,1,130,258,4,2],"offset":0,"phase":0,"quadratic_rows":[5,0,1,0,0,0,0,0,0]},"new":696,"old":348,"rank":3,"right":{"linear_Z4":[2,2,2,0,3,1,0,3,2],"matrix_rows":[129,288,153,145,34,4,128,256,320],"offset":434,"phase":1,"quadratic_rows":[136,32,0,17,24,34,0,129,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,16,34,69,4,128,258,1,2],"offset":0,"phase":0,"quadratic_rows":[4,0,5,0,0,0,0,0,0]},"new":728,"old":348,"rank":3,"right":{"linear_Z4":[0,2,1,2,3,2,0,3,2],"matrix_rows":[153,260,136,128,6,256,152,32,320],"offset":434,"phase":1,"quadratic_rows":[24,4,6,129,17,0,0,136,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":354,"old":349,"rank":1,"right":{"linear_Z4":[3,3,3,3,0,2,0,2,0],"matrix_rows":[143,161,130,164,168,16,128,192,256],"offset":1,"phase":1,"quadratic_rows":[47,15,47,47,0,13,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[13,16,32,68,1,130,258,2,4],"offset":0,"phase":0,"quadratic_rows":[5,0,1,0,0,0,0,0,0]},"new":697,"old":349,"rank":3,"right":{"linear_Z4":[2,2,2,0,3,1,0,2,3],"matrix_rows":[257,160,281,273,34,4,256,128,192],"offset":434,"phase":1,"quadratic_rows":[264,32,0,17,24,34,0,0,257]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,16,34,69,4,128,258,2,1],"offset":0,"phase":0,"quadratic_rows":[4,0,5,0,0,0,0,0,0]},"new":729,"old":349,"rank":3,"right":{"linear_Z4":[0,2,1,2,3,2,0,2,3],"matrix_rows":[281,132,264,256,6,128,280,32,192],"offset":434,"phase":1,"quadratic_rows":[24,4,6,257,17,0,0,0,264]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":354,"old":350,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,2,0,0,2],"matrix_rows":[6,33,258,292,40,16,256,320,384],"offset":0,"phase":0,"quadratic_rows":[32,262,294,32,0,13,0,0,6]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[14,18,34,7,1,69,133,261,5],"offset":0,"phase":0,"quadratic_rows":[7,3,5,0,0,0,0,0,0]},"new":704,"old":350,"rank":3,"right":{"linear_Z4":[0,3,3,1,1,2,0,0,2],"matrix_rows":[56,23,17,57,266,300,256,320,384],"offset":245,"phase":2,"quadratic_rows":[62,287,319,47,23,13,0,0,6]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[14,16,35,71,4,5,134,262,6],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":736,"old":350,"rank":3,"right":{"linear_Z4":[2,0,3,3,2,1,0,0,1],"matrix_rows":[28,25,301,293,38,256,312,320,384],"offset":236,"phase":1,"quadratic_rows":[16,36,310,24,301,310,0,0,308]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":354,"old":351,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,2,0,0,0],"matrix_rows":[6,33,66,100,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[32,70,102,32,0,13,6,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,18,34,68,3,129,1,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":705,"old":351,"rank":3,"right":{"linear_Z4":[0,3,3,0,1,0,0,0,2],"matrix_rows":[48,54,264,1,114,84,256,64,384],"offset":3,"phase":2,"quadratic_rows":[0,70,102,0,48,20,6,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,16,38,64,134,2,4,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":737,"old":351,"rank":3,"right":{"linear_Z4":[0,2,0,0,2,2,2,0,2],"matrix_rows":[257,20,116,256,38,64,8,112,384],"offset":48,"phase":2,"quadratic_rows":[0,36,2,0,0,2,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":354,"old":352,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,2,0,0,2],"matrix_rows":[260,33,2,292,40,16,256,64,128],"offset":0,"phase":0,"quadratic_rows":[32,0,36,32,0,13,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,16,38,65,2,132,257,1,4],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":712,"old":352,"rank":3,"right":{"linear_Z4":[2,2,2,1,3,0,0,2,3],"matrix_rows":[136,260,308,1,10,276,128,256,192],"offset":345,"phase":1,"quadratic_rows":[0,8,288,10,48,20,0,0,260]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,17,34,65,130,4,1,256,6],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":744,"old":352,"rank":3,"right":{"linear_Z4":[3,2,0,3,3,2,0,0,3],"matrix_rows":[9,308,288,67,64,256,72,304,128],"offset":35,"phase":1,"quadratic_rows":[75,1,48,73,20,260,9,0,288]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":354,"old":353,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,2,0,2,0],"matrix_rows":[132,33,2,164,40,16,128,64,256],"offset":0,"phase":0,"quadratic_rows":[32,0,36,32,0,13,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,16,38,65,2,132,257,4,1],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":713,"old":353,"rank":3,"right":{"linear_Z4":[2,2,2,1,3,0,0,3,2],"matrix_rows":[264,132,180,1,10,148,256,128,320],"offset":345,"phase":1,"quadratic_rows":[0,8,160,10,48,20,0,132,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,17,34,65,130,4,1,6,256],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":745,"old":353,"rank":3,"right":{"linear_Z4":[3,2,0,3,3,2,0,3,0],"matrix_rows":[9,180,160,67,64,128,72,176,256],"offset":35,"phase":1,"quadratic_rows":[75,1,48,73,20,132,9,160,0]}},{"left":{"linear_Z4":[2,3,3,2,2,0,0,0,0],"matrix_rows":[33,66,132,8,16,13,11,265,9],"offset":0,"phase":0,"quadratic_rows":[6,11,13,6,0,0,0,0,0]},"new":1,"old":354,"rank":5,"right":{"linear_Z4":[2,0,0,2,2,0,0,0,0],"matrix_rows":[353,258,260,104,16,256,320,288,384],"offset":254,"phase":1,"quadratic_rows":[96,64,32,96,0,13,11,0,0]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[24,34,68,137,1,13,11,265,9],"offset":0,"phase":0,"quadratic_rows":[15,11,13,15,0,0,0,0,0]},"new":415,"old":354,"rank":4,"right":{"linear_Z4":[1,0,0,3,0,2,2,0,1],"matrix_rows":[376,258,260,113,281,320,288,256,384],"offset":102,"phase":0,"quadratic_rows":[361,64,32,361,0,13,11,0,265]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,34,77,8,4,137,11,265,9],"offset":0,"phase":0,"quadratic_rows":[15,11,13,15,0,0,0,0,0]},"new":416,"old":354,"rank":4,"right":{"linear_Z4":[0,0,1,0,2,0,0,0,1],"matrix_rows":[341,258,260,92,256,320,276,288,384],"offset":51,"phase":0,"quadratic_rows":[84,64,285,84,13,0,11,0,260]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,43,68,8,2,13,137,265,9],"offset":0,"phase":0,"quadratic_rows":[15,11,13,15,0,0,0,0,0]},"new":417,"old":354,"rank":4,"right":{"linear_Z4":[0,1,0,0,2,0,0,0,1],"matrix_rows":[307,258,260,58,256,274,288,320,384],"offset":85,"phase":0,"quadratic_rows":[50,283,32,50,11,13,0,0,258]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[24,35,69,137,1,12,10,265,9],"offset":0,"phase":0,"quadratic_rows":[15,11,13,15,0,0,0,0,0]},"new":418,"old":354,"rank":4,"right":{"linear_Z4":[1,1,1,3,0,2,2,0,1],"matrix_rows":[382,258,260,119,287,320,288,256,384],"offset":102,"phase":0,"quadratic_rows":[361,86,54,361,6,13,11,0,265]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":363,"old":355,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":364,"old":355,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,2,0,0,0],"matrix_rows":[49,33,2,4,8,48,64,128,256],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":365,"old":355,"rank":1,"right":{"linear_Z4":[0,0,3,3,2,0,0,0,0],"matrix_rows":[28,1,2,20,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":366,"old":356,"rank":1,"right":{"linear_Z4":[0,1,0,1,1,2,1,1,2],"matrix_rows":[474,33,258,36,296,272,256,320,384],"offset":0,"phase":0,"quadratic_rows":[32,218,32,250,218,13,218,218,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":367,"old":356,"rank":1,"right":{"linear_Z4":[0,1,0,1,1,1,2,1,2],"matrix_rows":[442,1,258,4,328,336,352,256,384],"offset":0,"phase":0,"quadratic_rows":[0,186,0,250,250,250,56,186,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":368,"old":356,"rank":1,"right":{"linear_Z4":[0,1,0,1,1,1,2,1,2],"matrix_rows":[442,65,258,68,264,336,288,256,384],"offset":0,"phase":0,"quadratic_rows":[64,186,64,186,250,186,21,186,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":366,"old":357,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":369,"old":357,"rank":1,"right":{"linear_Z4":[1,1,1,0,1,0,2,1,2],"matrix_rows":[407,321,258,324,8,336,32,256,384],"offset":0,"phase":0,"quadratic_rows":[215,151,215,0,215,0,21,151,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":370,"old":357,"rank":1,"right":{"linear_Z4":[1,1,1,0,1,0,2,1,2],"matrix_rows":[407,257,258,260,72,336,96,256,384],"offset":0,"phase":0,"quadratic_rows":[151,151,151,64,215,64,56,151,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":363,"old":358,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,2,2,0,0],"matrix_rows":[68,33,2,100,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[32,0,36,32,0,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":371,"old":358,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,2,0,0],"matrix_rows":[100,33,2,68,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[32,0,36,0,32,21,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":372,"old":358,"rank":1,"right":{"linear_Z4":[0,0,3,3,2,0,0,0,0],"matrix_rows":[28,1,2,20,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":367,"old":359,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":369,"old":359,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":373,"old":359,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":364,"old":360,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,2,0,0],"matrix_rows":[73,65,2,4,72,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":371,"old":360,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":374,"old":360,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,2,0,0,0],"matrix_rows":[49,33,2,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[17,0,16,16,13,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":365,"old":361,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,2,0,0],"matrix_rows":[73,65,2,4,72,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":372,"old":361,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,3,2,0,0],"matrix_rows":[100,1,2,68,8,16,96,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,36,0,0,36,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":374,"old":361,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":368,"old":362,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":370,"old":362,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":373,"old":362,"rank":1,"right":{"linear_Z4":[1,1,1,1,0,2,0,1,2],"matrix_rows":[399,289,258,292,296,16,256,64,384],"offset":0,"phase":0,"quadratic_rows":[175,143,175,175,0,13,0,143,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":568,"old":363,"rank":1,"right":{"linear_Z4":[0,1,1,1,1,0,0,1,2],"matrix_rows":[158,1,258,260,264,272,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,414,414,414,414,0,0,414,158]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":569,"old":363,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,0,3,2],"matrix_rows":[386,1,258,4,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,130,0,0,0,0,0,130,0]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[19,45,67,131,6,259,3,10,2],"offset":0,"phase":0,"quadratic_rows":[15,15,15,15,0,0,0,0,0]},"new":653,"old":363,"rank":4,"right":{"linear_Z4":[2,3,2,2,3,0,3,3,0],"matrix_rows":[415,469,458,346,73,474,68,64,96],"offset":466,"phase":1,"quadratic_rows":[2,215,10,212,218,0,218,218,0]}},{"left":{"linear_Z4":[2,3,3,2,0,0,0,0,0],"matrix_rows":[16,40,69,129,264,4,1,10,2],"offset":0,"phase":0,"quadratic_rows":[4,10,5,2,0,0,0,0,0]},"new":655,"old":363,"rank":4,"right":{"linear_Z4":[2,3,0,3,3,3,1,3,0],"matrix_rows":[108,384,68,146,13,386,96,64,400],"offset":93,"phase":1,"quadratic_rows":[12,274,65,41,274,40,68,384,146]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":376,"old":364,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,0,3,2],"matrix_rows":[386,1,258,4,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,130,0,0,0,0,0,130,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":382,"old":364,"rank":1,"right":{"linear_Z4":[0,1,1,1,1,0,0,1,2],"matrix_rows":[158,1,258,260,264,272,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,414,414,414,414,0,0,414,158]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":378,"old":365,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,0,3,2],"matrix_rows":[386,1,258,4,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,130,0,0,0,0,0,130,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":380,"old":365,"rank":1,"right":{"linear_Z4":[3,3,3,3,0,3,0,3,2],"matrix_rows":[431,257,258,260,264,16,288,64,384],"offset":1,"phase":1,"quadratic_rows":[175,175,175,175,0,175,0,175,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":508,"old":366,"rank":1,"right":{"linear_Z4":[3,3,1,2,1,0,3,3,2],"matrix_rows":[455,257,258,276,24,256,32,320,384],"offset":57,"phase":0,"quadratic_rows":[199,199,215,16,28,0,199,199,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":512,"old":366,"rank":1,"right":{"linear_Z4":[3,0,3,2,0,0,0,0,0],"matrix_rows":[5,33,2,44,32,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[37,0,45,4,0,5,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":568,"old":366,"rank":1,"right":{"linear_Z4":[1,3,3,2,3,0,1,3,2],"matrix_rows":[407,321,258,260,72,272,32,256,384],"offset":147,"phase":0,"quadratic_rows":[215,151,151,64,151,0,73,151,0]}},{"left":{"linear_Z4":[2,3,2,3,0,0,0,0,0],"matrix_rows":[20,34,68,129,8,1,261,5,15],"offset":0,"phase":0,"quadratic_rows":[14,15,11,15,0,0,0,0,0]},"new":652,"old":366,"rank":4,"right":{"linear_Z4":[1,0,1,0,0,0,2,2,3],"matrix_rows":[328,2,333,272,169,256,164,32,192],"offset":34,"phase":0,"quadratic_rows":[485,256,493,132,256,5,133,77,279]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":376,"old":367,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,3,0,0,0],"matrix_rows":[24,33,2,4,72,112,64,128,256],"offset":1,"phase":1,"quadratic_rows":[32,0,0,88,120,49,24,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":381,"old":367,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,3,0,0,0],"matrix_rows":[40,1,2,20,88,64,96,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,16,120,28,104,40,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":377,"old":368,"rank":1,"right":{"linear_Z4":[1,3,3,3,2,1,0,3,2],"matrix_rows":[399,289,258,260,264,48,256,64,384],"offset":99,"phase":0,"quadratic_rows":[175,143,143,143,32,49,0,143,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":380,"old":368,"rank":1,"right":{"linear_Z4":[3,0,3,0,3,0,0,0,0],"matrix_rows":[5,65,2,84,24,64,32,128,256],"offset":1,"phase":1,"quadratic_rows":[69,0,85,16,28,0,5,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":378,"old":369,"rank":1,"right":{"linear_Z4":[3,0,3,0,3,0,0,0,0],"matrix_rows":[5,65,2,84,24,64,32,128,256],"offset":1,"phase":1,"quadratic_rows":[69,0,85,16,28,0,5,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":379,"old":369,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,2,0,0,0],"matrix_rows":[49,33,2,4,8,48,64,128,256],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":375,"old":370,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,3,0,0,0],"matrix_rows":[40,1,2,20,88,64,96,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,16,120,28,104,40,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":382,"old":370,"rank":1,"right":{"linear_Z4":[0,1,1,2,2,0,0,1,2],"matrix_rows":[166,33,258,260,8,48,256,320,384],"offset":240,"phase":0,"quadratic_rows":[32,422,422,0,32,407,0,422,166]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":377,"old":371,"rank":1,"right":{"linear_Z4":[0,1,1,1,1,0,0,1,2],"matrix_rows":[158,1,258,260,264,272,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,414,414,414,414,0,0,414,158]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":379,"old":371,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,0,3,2],"matrix_rows":[386,1,258,4,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,130,0,0,0,0,0,130,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":375,"old":372,"rank":1,"right":{"linear_Z4":[3,3,3,3,0,3,0,3,2],"matrix_rows":[431,257,258,260,264,16,288,64,384],"offset":1,"phase":1,"quadratic_rows":[175,175,175,175,0,175,0,175,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":381,"old":372,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,0,3,2],"matrix_rows":[386,1,258,4,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,130,0,0,0,0,0,130,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":465,"old":373,"rank":1,"right":{"linear_Z4":[0,0,3,3,2,0,0,0,0],"matrix_rows":[28,1,2,20,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":470,"old":373,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,0,0],"matrix_rows":[2,1,66,4,8,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,66,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":569,"old":373,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,2,0,0],"matrix_rows":[73,65,2,4,72,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,2,0,0,0,0,0],"matrix_rows":[20,42,68,129,2,1,5,264,8],"offset":0,"phase":0,"quadratic_rows":[4,10,1,2,0,0,0,0,0]},"new":654,"old":373,"rank":4,"right":{"linear_Z4":[3,2,3,0,3,0,1,0,3],"matrix_rows":[72,258,77,402,105,274,100,32,256],"offset":5,"phase":2,"quadratic_rows":[37,384,45,68,144,5,72,18,258]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":462,"old":374,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,3,2,0],"matrix_rows":[194,1,130,4,8,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,66,0,0,0,0,66,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":465,"old":374,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,0,3,2],"matrix_rows":[386,1,258,4,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,130,0,0,0,0,0,130,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":507,"old":374,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,2,0],"matrix_rows":[140,1,2,132,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":508,"old":374,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,1,1,2],"matrix_rows":[203,257,258,4,264,16,32,320,384],"offset":0,"phase":0,"quadratic_rows":[459,459,0,459,0,0,459,459,203]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":383,"old":375,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,2,0,3,0],"matrix_rows":[134,33,258,292,40,16,256,320,384],"offset":1,"phase":1,"quadratic_rows":[32,390,422,32,0,13,0,390,134]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,21,37,64,133,2,263,1,6],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":690,"old":375,"rank":3,"right":{"linear_Z4":[2,2,0,0,0,2,0,1,2],"matrix_rows":[166,32,294,133,290,256,40,272,320],"offset":40,"phase":2,"quadratic_rows":[132,160,1,32,0,138,0,163,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,2,20,35,68,131,4,263,7],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":730,"old":375,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,1,2],"matrix_rows":[489,170,196,320,64,328,80,352,384],"offset":9,"phase":0,"quadratic_rows":[168,168,128,3,0,3,0,135,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":383,"old":376,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,2,0,0,0],"matrix_rows":[49,33,2,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[17,0,16,16,13,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,18,34,64,129,1,256,4,6],"offset":0,"phase":0,"quadratic_rows":[0,4,6,0,0,0,0,0,0]},"new":691,"old":376,"rank":3,"right":{"linear_Z4":[1,0,3,2,1,2,0,2,3],"matrix_rows":[33,390,384,49,256,388,24,32,64],"offset":219,"phase":0,"quadratic_rows":[17,132,6,16,25,0,0,258,384]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[9,18,2,32,68,5,1,128,256],"offset":0,"phase":0,"quadratic_rows":[4,2,5,0,0,0,0,0,0]},"new":731,"old":376,"rank":3,"right":{"linear_Z4":[0,1,2,2,1,1,2,0,0],"matrix_rows":[33,2,80,64,6,24,96,128,256],"offset":100,"phase":3,"quadratic_rows":[96,6,2,16,56,113,33,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":383,"old":377,"rank":1,"right":{"linear_Z4":[0,1,0,3,3,0,0,1,2],"matrix_rows":[394,1,258,20,280,256,288,320,384],"offset":240,"phase":2,"quadratic_rows":[0,138,16,154,28,0,0,138,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[14,18,38,4,65,129,1,263,7],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":698,"old":377,"rank":3,"right":{"linear_Z4":[2,0,2,0,1,0,0,3,2],"matrix_rows":[208,471,157,337,320,324,64,96,384],"offset":0,"phase":0,"quadratic_rows":[26,149,10,149,155,0,0,154,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,21,35,64,133,5,262,4,2],"offset":0,"phase":0,"quadratic_rows":[7,5,3,0,0,0,0,0,0]},"new":722,"old":377,"rank":3,"right":{"linear_Z4":[0,2,1,0,1,0,0,3,2],"matrix_rows":[274,292,438,21,38,288,152,32,320],"offset":403,"phase":3,"quadratic_rows":[20,128,389,144,25,384,0,430,164]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":383,"old":378,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[8,18,33,68,5,2,4,128,256],"offset":0,"phase":0,"quadratic_rows":[5,2,1,0,0,0,0,0,0]},"new":699,"old":378,"rank":3,"right":{"linear_Z4":[2,1,1,0,1,2,2,0,0],"matrix_rows":[68,2,24,5,34,80,64,128,256],"offset":41,"phase":3,"quadratic_rows":[4,34,21,80,92,2,24,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,18,33,65,1,130,256,4,6],"offset":0,"phase":0,"quadratic_rows":[0,4,6,0,0,0,0,0,0]},"new":723,"old":378,"rank":3,"right":{"linear_Z4":[2,0,3,1,2,3,0,2,3],"matrix_rows":[28,418,384,5,256,16,24,416,64],"offset":58,"phase":2,"quadratic_rows":[4,160,13,12,0,34,0,258,384]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":383,"old":379,"rank":1,"right":{"linear_Z4":[0,0,0,1,3,0,2,0,0],"matrix_rows":[8,1,2,20,88,64,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,16,88,28,0,8,0,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[8,18,37,2,65,1,4,128,256],"offset":0,"phase":0,"quadratic_rows":[4,2,5,0,0,0,0,0,0]},"new":714,"old":379,"rank":3,"right":{"linear_Z4":[2,1,0,2,3,1,3,0,0],"matrix_rows":[116,2,36,21,10,96,32,128,256],"offset":45,"phase":0,"quadratic_rows":[20,10,33,2,81,36,80,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,18,33,66,129,256,1,4,6],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":738,"old":379,"rank":3,"right":{"linear_Z4":[3,0,2,3,3,0,0,2,3],"matrix_rows":[17,394,384,69,256,64,392,80,32],"offset":19,"phase":1,"quadratic_rows":[85,136,1,10,81,0,17,258,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":383,"old":380,"rank":1,"right":{"linear_Z4":[1,1,1,1,0,2,0,1,2],"matrix_rows":[399,289,258,292,296,16,256,64,384],"offset":0,"phase":0,"quadratic_rows":[175,143,175,175,0,13,0,143,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[13,17,37,66,130,4,2,263,7],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":715,"old":380,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,1,2],"matrix_rows":[455,200,165,321,320,324,64,80,384],"offset":17,"phase":0,"quadratic_rows":[34,133,34,128,0,133,0,170,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[8,16,33,64,129,6,256,2,5],"offset":0,"phase":0,"quadratic_rows":[4,6,7,0,0,0,0,0,0]},"new":739,"old":380,"rank":3,"right":{"linear_Z4":[0,0,2,2,0,2,0,1,3],"matrix_rows":[260,160,288,5,6,256,168,272,64],"offset":224,"phase":1,"quadratic_rows":[4,4,3,160,0,264,0,136,288]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":383,"old":381,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,2,2,0,0],"matrix_rows":[68,33,2,100,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[32,0,36,32,0,13,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[10,18,36,64,128,260,4,1,3],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":706,"old":381,"rank":3,"right":{"linear_Z4":[3,0,1,2,0,3,2,2,3],"matrix_rows":[384,387,100,385,256,68,40,16,64],"offset":338,"phase":2,"quadratic_rows":[3,129,36,32,0,44,0,258,384]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,17,34,64,130,4,6,257,1],"offset":0,"phase":0,"quadratic_rows":[0,4,6,0,0,0,0,0,0]},"new":746,"old":381,"rank":3,"right":{"linear_Z4":[2,3,2,2,0,1,3,1,2],"matrix_rows":[386,68,96,3,256,64,40,80,384],"offset":248,"phase":3,"quadratic_rows":[2,131,0,32,0,104,96,130,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":383,"old":382,"rank":1,"right":{"linear_Z4":[3,1,0,0,2,0,0,1,2],"matrix_rows":[147,257,258,20,24,256,288,64,384],"offset":98,"phase":1,"quadratic_rows":[403,403,16,16,399,0,0,403,147]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,16,37,64,131,3,256,1,7],"offset":0,"phase":0,"quadratic_rows":[2,5,6,0,0,0,0,0,0]},"new":707,"old":382,"rank":3,"right":{"linear_Z4":[0,0,2,0,2,1,0,1,3],"matrix_rows":[180,272,36,149,18,288,24,32,64],"offset":1,"phase":1,"quadratic_rows":[148,16,289,16,267,420,0,161,308]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,4,39,71,129,1,262,6],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":747,"old":382,"rank":3,"right":{"linear_Z4":[2,0,0,3,3,0,2,0,2],"matrix_rows":[89,410,156,64,256,328,336,96,384],"offset":19,"phase":1,"quadratic_rows":[24,152,152,31,31,0,0,6,0]}},{"left":{"linear_Z4":[2,3,2,3,3,0,0,0,0],"matrix_rows":[33,66,132,264,12,13,9,16,18],"offset":0,"phase":0,"quadratic_rows":[4,18,1,8,18,0,0,0,0]},"new":1,"old":383,"rank":5,"right":{"linear_Z4":[0,0,0,2,1,0,1,0,1],"matrix_rows":[81,2,84,8,384,48,256,96,112],"offset":239,"phase":1,"quadratic_rows":[96,256,48,112,92,13,89,256,386]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[20,34,68,129,261,5,1,8,10],"offset":0,"phase":0,"quadratic_rows":[1,10,4,10,0,0,0,0,0]},"new":415,"old":383,"rank":4,"right":{"linear_Z4":[1,0,2,2,0,2,2,0,1],"matrix_rows":[8,2,13,384,105,256,96,64,48],"offset":99,"phase":0,"quadratic_rows":[101,256,105,36,0,13,5,256,386]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,34,65,132,4,261,5,8,10],"offset":0,"phase":0,"quadratic_rows":[1,10,4,10,0,0,0,0,0]},"new":416,"old":383,"rank":4,"right":{"linear_Z4":[2,0,1,2,2,0,2,0,1],"matrix_rows":[5,2,8,384,80,256,84,16,96],"offset":54,"phase":0,"quadratic_rows":[84,256,85,16,13,0,5,256,386]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[18,33,66,132,262,6,4,8,9],"offset":0,"phase":0,"quadratic_rows":[9,2,4,9,0,0,0,0,0]},"new":419,"old":383,"rank":4,"right":{"linear_Z4":[1,0,2,2,0,2,2,0,1],"matrix_rows":[2,5,8,384,97,256,96,64,48],"offset":101,"phase":0,"quadratic_rows":[101,256,97,64,0,5,13,256,386]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,34,65,132,4,261,5,8,10],"offset":0,"phase":0,"quadratic_rows":[1,10,4,10,0,0,0,0,0]},"new":420,"old":383,"rank":4,"right":{"linear_Z4":[2,0,1,2,2,0,2,0,1],"matrix_rows":[13,2,8,384,80,256,92,16,96],"offset":54,"phase":0,"quadratic_rows":[92,256,85,65,5,0,13,256,386]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":392,"old":384,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":393,"old":384,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":394,"old":384,"rank":1,"right":{"linear_Z4":[0,1,0,0,2,0,0,2,0],"matrix_rows":[130,1,146,20,24,128,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,18,16,16,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":395,"old":385,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,2,0,0,2],"matrix_rows":[257,289,2,36,40,16,256,64,128],"offset":0,"phase":0,"quadratic_rows":[33,0,32,32,0,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":396,"old":385,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,2,0,0,2],"matrix_rows":[257,289,34,4,8,48,256,64,128],"offset":0,"phase":0,"quadratic_rows":[33,32,0,0,32,19,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":397,"old":385,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":395,"old":386,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":398,"old":386,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":399,"old":386,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":392,"old":387,"rank":1,"right":{"linear_Z4":[1,1,1,1,1,2,0,2,0],"matrix_rows":[159,161,130,164,168,144,128,64,256],"offset":0,"phase":0,"quadratic_rows":[63,31,63,63,31,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":400,"old":387,"rank":1,"right":{"linear_Z4":[1,1,1,1,2,1,0,2,0],"matrix_rows":[175,129,146,148,152,128,160,64,256],"offset":0,"phase":0,"quadratic_rows":[47,63,63,63,14,47,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":401,"old":387,"rank":1,"right":{"linear_Z4":[1,1,1,1,1,2,0,2,0],"matrix_rows":[159,161,162,132,136,176,128,64,256],"offset":0,"phase":0,"quadratic_rows":[63,63,31,31,63,19,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":396,"old":388,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":398,"old":388,"rank":1,"right":{"linear_Z4":[0,1,0,0,2,0,0,0,2],"matrix_rows":[258,1,274,20,24,256,32,64,128],"offset":0,"phase":0,"quadratic_rows":[0,18,16,16,14,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":402,"old":388,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":393,"old":389,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,2,0,2,0],"matrix_rows":[129,161,34,4,8,48,128,64,256],"offset":0,"phase":0,"quadratic_rows":[33,32,0,0,32,19,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":400,"old":389,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":403,"old":389,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,2,0,2,0],"matrix_rows":[129,161,2,36,40,16,128,64,256],"offset":0,"phase":0,"quadratic_rows":[33,0,32,32,0,13,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":394,"old":390,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":401,"old":390,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":403,"old":390,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":397,"old":391,"rank":1,"right":{"linear_Z4":[1,1,1,1,2,1,0,0,2],"matrix_rows":[303,257,274,276,280,256,288,64,128],"offset":0,"phase":0,"quadratic_rows":[47,63,63,63,14,47,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":399,"old":391,"rank":1,"right":{"linear_Z4":[1,1,1,1,1,2,0,0,2],"matrix_rows":[287,289,290,260,264,304,256,64,128],"offset":0,"phase":0,"quadratic_rows":[63,63,31,31,63,19,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":402,"old":391,"rank":1,"right":{"linear_Z4":[1,1,1,1,1,2,0,0,2],"matrix_rows":[287,289,258,292,296,272,256,64,128],"offset":0,"phase":0,"quadratic_rows":[63,31,63,63,31,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":570,"old":392,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,0,2],"matrix_rows":[268,1,2,260,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":571,"old":392,"rank":1,"right":{"linear_Z4":[0,3,0,0,3,0,0,0,2],"matrix_rows":[274,1,258,4,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[2,3,3,2,0,0,0,0,0],"matrix_rows":[17,34,64,129,4,256,8,6,1],"offset":0,"phase":0,"quadratic_rows":[0,6,6,0,0,0,0,0,0]},"new":657,"old":392,"rank":4,"right":{"linear_Z4":[3,0,0,3,0,0,2,1,2],"matrix_rows":[265,2,144,64,257,128,4,264,32],"offset":43,"phase":2,"quadratic_rows":[9,128,0,9,128,0,0,146,0]}},{"left":{"linear_Z4":[2,2,3,2,0,0,0,0,0],"matrix_rows":[20,40,69,132,266,5,1,10,2],"offset":0,"phase":0,"quadratic_rows":[0,0,4,0,0,0,0,0,0]},"new":659,"old":392,"rank":4,"right":{"linear_Z4":[3,1,1,3,3,0,2,2,0],"matrix_rows":[68,272,9,386,101,402,32,104,128],"offset":5,"phase":2,"quadratic_rows":[109,18,5,105,18,9,9,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":405,"old":393,"rank":1,"right":{"linear_Z4":[0,3,0,0,3,0,0,0,2],"matrix_rows":[274,1,258,4,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":411,"old":393,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,0,2],"matrix_rows":[268,1,2,260,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":407,"old":394,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,0,2],"matrix_rows":[268,1,2,260,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":409,"old":394,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,3,0,0,2],"matrix_rows":[289,257,2,4,8,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[33,0,0,0,0,33,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":511,"old":395,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,2,0],"matrix_rows":[140,1,2,132,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":513,"old":395,"rank":1,"right":{"linear_Z4":[3,1,3,0,0,0,0,0,2],"matrix_rows":[15,257,266,268,256,16,288,64,128],"offset":90,"phase":0,"quadratic_rows":[271,263,263,257,0,0,0,0,15]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":570,"old":395,"rank":1,"right":{"linear_Z4":[0,3,0,0,3,0,0,2,0],"matrix_rows":[146,1,130,4,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,2,0,0,0,0,0],"matrix_rows":[16,40,69,1,138,260,10,2,4],"offset":0,"phase":0,"quadratic_rows":[5,0,1,0,0,0,0,0,0]},"new":656,"old":395,"rank":4,"right":{"linear_Z4":[2,3,0,3,2,0,2,0,1],"matrix_rows":[268,144,260,210,13,194,256,80,288],"offset":95,"phase":2,"quadratic_rows":[12,18,257,265,2,0,0,0,268]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":405,"old":396,"rank":1,"right":{"linear_Z4":[0,3,0,0,3,0,0,2,0],"matrix_rows":[146,1,130,4,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":410,"old":396,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,2,0],"matrix_rows":[140,1,2,132,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":406,"old":397,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,3,0,2,0],"matrix_rows":[161,129,2,4,8,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[33,0,0,0,0,33,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":409,"old":397,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,2,0],"matrix_rows":[140,1,2,132,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":407,"old":398,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,2,0],"matrix_rows":[140,1,2,132,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":408,"old":398,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,3,0,2,0],"matrix_rows":[161,129,2,4,8,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[33,0,0,0,0,33,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":404,"old":399,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,2,0],"matrix_rows":[140,1,2,132,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":411,"old":399,"rank":1,"right":{"linear_Z4":[0,3,0,0,3,0,0,2,0],"matrix_rows":[146,1,130,4,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":406,"old":400,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,3,0,0,2],"matrix_rows":[289,257,2,4,8,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[33,0,0,0,0,33,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":408,"old":400,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,0,2],"matrix_rows":[268,1,2,260,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":404,"old":401,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,0,2],"matrix_rows":[268,1,2,260,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":410,"old":401,"rank":1,"right":{"linear_Z4":[0,3,0,0,3,0,0,0,2],"matrix_rows":[274,1,258,4,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":486,"old":402,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,2,0],"matrix_rows":[137,129,2,4,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":487,"old":402,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,0,0],"matrix_rows":[2,1,66,4,8,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,66,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":571,"old":402,"rank":1,"right":{"linear_Z4":[0,3,0,0,3,0,0,2,0],"matrix_rows":[146,1,130,4,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[3,3,3,2,0,0,0,0,0],"matrix_rows":[16,34,69,1,128,4,8,2,256],"offset":0,"phase":0,"quadratic_rows":[5,2,5,0,0,0,0,0,0]},"new":658,"old":402,"rank":4,"right":{"linear_Z4":[2,1,0,3,0,3,2,2,0],"matrix_rows":[44,2,4,64,13,130,32,16,256],"offset":93,"phase":1,"quadratic_rows":[12,130,1,41,0,40,0,2,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":485,"old":403,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,3,0,2],"matrix_rows":[322,1,258,4,8,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,66,0,0,0,0,66,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":490,"old":403,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,0,3,0,2],"matrix_rows":[336,1,2,4,8,272,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,80,0,80,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":507,"old":403,"rank":1,"right":{"linear_Z4":[0,0,3,3,2,0,0,0,0],"matrix_rows":[28,1,2,20,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":511,"old":403,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,0,2],"matrix_rows":[268,1,2,260,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":412,"old":404,"rank":1,"right":{"linear_Z4":[3,3,0,0,2,0,0,0,0],"matrix_rows":[3,33,50,20,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[35,51,16,16,14,3,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,34,4,65,128,1,262,6],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":589,"old":404,"rank":3,"right":{"linear_Z4":[0,3,0,0,3,0,2,0,2],"matrix_rows":[82,260,8,1,66,256,80,32,384],"offset":35,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[8,19,32,64,1,2,4,128,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":637,"old":404,"rank":3,"right":{"linear_Z4":[2,0,0,0,3,3,2,0,0],"matrix_rows":[50,2,64,19,32,4,8,128,256],"offset":31,"phase":1,"quadratic_rows":[18,1,0,0,49,48,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":412,"old":405,"rank":1,"right":{"linear_Z4":[1,1,0,0,2,0,0,0,2],"matrix_rows":[3,257,274,20,24,256,288,64,384],"offset":0,"phase":0,"quadratic_rows":[259,275,16,16,14,0,0,0,3]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[11,19,36,6,67,131,2,259,3],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":591,"old":405,"rank":3,"right":{"linear_Z4":[2,2,1,1,0,0,2,0,2],"matrix_rows":[3,75,84,257,274,92,256,288,384],"offset":218,"phase":1,"quadratic_rows":[328,344,12,31,10,0,3,0,3]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,17,35,3,66,130,4,258,2],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":639,"old":405,"rank":3,"right":{"linear_Z4":[1,1,0,2,2,0,2,0,2],"matrix_rows":[23,20,64,265,282,12,256,288,384],"offset":6,"phase":2,"quadratic_rows":[287,271,11,23,9,0,0,0,3]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":412,"old":406,"rank":1,"right":{"linear_Z4":[3,0,3,3,0,2,0,0,0],"matrix_rows":[13,289,2,292,296,16,256,64,384],"offset":1,"phase":1,"quadratic_rows":[301,0,301,301,0,13,0,0,13]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[8,16,35,1,2,64,4,128,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":605,"old":406,"rank":3,"right":{"linear_Z4":[0,2,0,3,3,0,2,0,0],"matrix_rows":[28,4,64,1,14,16,32,128,256],"offset":55,"phase":1,"quadratic_rows":[0,12,2,26,24,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,16,34,66,128,4,2,261,5],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":621,"old":406,"rank":3,"right":{"linear_Z4":[0,0,3,3,0,0,2,0,2],"matrix_rows":[257,76,32,256,2,68,72,16,384],"offset":11,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":412,"old":407,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[11,17,33,66,130,3,4,258,2],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":607,"old":407,"rank":3,"right":{"linear_Z4":[0,1,1,2,0,2,2,0,2],"matrix_rows":[15,9,64,33,290,300,256,272,384],"offset":6,"phase":2,"quadratic_rows":[38,303,295,34,0,15,0,0,6]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[12,19,35,67,131,5,1,259,3],"offset":0,"phase":0,"quadratic_rows":[5,2,5,0,0,0,0,0,0]},"new":623,"old":407,"rank":3,"right":{"linear_Z4":[1,2,2,0,0,1,2,0,2],"matrix_rows":[102,6,73,105,258,268,256,272,384],"offset":241,"phase":1,"quadratic_rows":[33,352,360,36,0,47,6,0,6]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":412,"old":408,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,2,0,2,0],"matrix_rows":[129,161,2,36,40,16,128,64,256],"offset":0,"phase":0,"quadratic_rows":[33,0,32,32,0,13,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,16,38,2,68,129,1,256,4],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":613,"old":408,"rank":3,"right":{"linear_Z4":[3,2,0,3,0,3,2,0,1],"matrix_rows":[97,268,260,65,14,256,272,96,128],"offset":55,"phase":1,"quadratic_rows":[33,12,258,266,0,33,0,0,268]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,16,32,64,128,2,4,3,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":629,"old":408,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,2,1,0],"matrix_rows":[1,160,64,128,2,4,8,16,256],"offset":13,"phase":1,"quadratic_rows":[128,0,0,0,0,128,0,161,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":412,"old":409,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,2,0,0,2],"matrix_rows":[257,289,2,36,40,16,256,64,128],"offset":0,"phase":0,"quadratic_rows":[33,0,32,32,0,13,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,16,38,2,68,129,1,4,256],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":615,"old":409,"rank":3,"right":{"linear_Z4":[3,2,0,3,0,3,2,1,0],"matrix_rows":[97,140,132,65,14,128,144,96,256],"offset":55,"phase":1,"quadratic_rows":[33,12,130,138,0,33,0,140,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,16,32,64,128,2,4,256,3],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":631,"old":409,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,1],"matrix_rows":[1,288,64,256,2,4,8,16,128],"offset":13,"phase":1,"quadratic_rows":[256,0,0,0,0,256,0,0,289]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":412,"old":410,"rank":1,"right":{"linear_Z4":[3,3,3,3,2,0,0,0,2],"matrix_rows":[271,257,274,276,280,256,288,64,128],"offset":1,"phase":1,"quadratic_rows":[15,31,31,31,14,0,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[8,16,33,2,64,128,4,3,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":597,"old":410,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,2,1,0],"matrix_rows":[4,136,64,1,2,128,16,32,256],"offset":37,"phase":1,"quadratic_rows":[0,0,128,128,0,0,0,140,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,19,36,68,1,130,4,256,2],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":645,"old":410,"rank":3,"right":{"linear_Z4":[2,0,3,3,3,0,2,0,1],"matrix_rows":[274,258,76,19,256,68,72,288,128],"offset":31,"phase":1,"quadratic_rows":[18,257,12,12,273,0,0,0,274]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":412,"old":411,"rank":1,"right":{"linear_Z4":[3,3,3,3,2,0,0,2,0],"matrix_rows":[143,129,146,148,152,128,160,64,256],"offset":1,"phase":1,"quadratic_rows":[15,31,31,31,14,0,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[8,16,33,2,64,128,4,256,3],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":599,"old":411,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,1],"matrix_rows":[4,264,64,1,2,256,16,32,128],"offset":37,"phase":1,"quadratic_rows":[0,0,256,256,0,0,0,0,268]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,19,36,68,1,130,4,2,256],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":647,"old":411,"rank":3,"right":{"linear_Z4":[2,0,3,3,3,0,2,1,0],"matrix_rows":[146,130,76,19,128,68,72,160,256],"offset":31,"phase":1,"quadratic_rows":[18,129,12,12,145,0,0,146,0]}},{"left":{"linear_Z4":[3,3,2,2,2,0,0,0,0],"matrix_rows":[33,66,132,8,14,13,16,268,12],"offset":0,"phase":0,"quadratic_rows":[13,14,3,3,0,0,0,0,0]},"new":1,"old":412,"rank":5,"right":{"linear_Z4":[0,0,2,2,0,0,2,0,0],"matrix_rows":[257,258,308,56,64,288,272,256,384],"offset":251,"phase":1,"quadratic_rows":[32,16,48,48,14,13,0,0,0]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,46,68,8,140,13,2,268,12],"offset":0,"phase":0,"quadratic_rows":[13,14,15,15,0,0,0,0,0]},"new":417,"old":412,"rank":4,"right":{"linear_Z4":[0,1,0,0,0,0,2,0,1],"matrix_rows":[257,258,358,106,288,322,256,272,384],"offset":85,"phase":0,"quadratic_rows":[32,334,98,98,0,13,14,0,258]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[29,35,69,9,15,140,1,268,12],"offset":0,"phase":0,"quadratic_rows":[13,14,15,15,0,0,0,0,0]},"new":418,"old":412,"rank":4,"right":{"linear_Z4":[1,3,1,1,0,0,2,0,1],"matrix_rows":[257,258,347,87,335,272,256,288,384],"offset":102,"phase":0,"quadratic_rows":[323,83,28,28,14,0,3,0,257]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[29,34,68,8,14,140,1,268,12],"offset":0,"phase":0,"quadratic_rows":[13,14,15,15,0,0,0,0,0]},"new":419,"old":412,"rank":4,"right":{"linear_Z4":[1,0,0,0,0,0,2,0,1],"matrix_rows":[257,258,341,89,321,272,256,288,384],"offset":102,"phase":0,"quadratic_rows":[333,16,81,81,14,0,13,0,257]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,34,72,140,14,13,4,268,12],"offset":0,"phase":0,"quadratic_rows":[13,14,15,15,0,0,0,0,0]},"new":420,"old":412,"rank":4,"right":{"linear_Z4":[0,0,1,3,2,2,0,0,1],"matrix_rows":[257,258,376,116,288,272,332,256,384],"offset":51,"phase":0,"quadratic_rows":[32,16,316,316,14,13,0,0,268]}},{"left":{"linear_Z4":[2,3,2,3,2,2,2,2,0],"matrix_rows":[1,264,4,10,16,2,32,64,128],"offset":0,"phase":0,"quadratic_rows":[0,10,0,10,0,0,0,0,0]},"new":0,"old":413,"rank":8,"right":{"linear_Z4":[2,3,2,1,2,0,2,2,2],"matrix_rows":[1,40,4,34,16,64,128,256,42],"offset":8,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":413,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[34,1,32,4,40,16,64,128,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,2,2,2,2,2,2,0],"matrix_rows":[258,3,1,4,8,16,32,64,128],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":0,"old":414,"rank":8,"right":{"linear_Z4":[3,1,0,2,2,2,2,2,2],"matrix_rows":[6,5,8,16,32,64,128,256,7],"offset":2,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,1,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":414,"rank":1,"right":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[5,4,6,8,16,32,64,128,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,3,2,2,2,2,0],"matrix_rows":[264,2,4,9,1,16,32,64,128],"offset":0,"phase":0,"quadratic_rows":[9,0,0,9,0,0,0,0,0]},"new":0,"old":415,"rank":8,"right":{"linear_Z4":[3,2,2,1,0,2,2,2,2],"matrix_rows":[24,2,4,17,32,64,128,256,25],"offset":8,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":415,"rank":1,"right":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[17,16,2,4,24,32,64,128,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,2,3,2,2,2,0],"matrix_rows":[1,2,272,8,20,4,32,64,128],"offset":0,"phase":0,"quadratic_rows":[0,0,20,0,20,0,0,0,0]},"new":0,"old":416,"rank":8,"right":{"linear_Z4":[2,2,3,2,1,0,2,2,2],"matrix_rows":[1,2,48,8,36,64,128,256,52],"offset":16,"phase":1,"quadratic_rows":[0,0,20,0,20,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":416,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[36,1,2,32,8,48,64,128,256],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,2,3,2,2,2,0],"matrix_rows":[1,272,4,8,18,32,2,64,128],"offset":0,"phase":0,"quadratic_rows":[0,18,0,0,18,0,0,0,0]},"new":0,"old":417,"rank":8,"right":{"linear_Z4":[2,3,2,2,1,2,0,2,2],"matrix_rows":[1,80,4,8,66,32,128,256,82],"offset":16,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":417,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[66,1,64,4,8,80,32,128,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,3,3,3,3,2,2,0],"matrix_rows":[318,3,5,9,17,33,1,64,128],"offset":0,"phase":0,"quadratic_rows":[63,63,63,63,63,63,0,0,0]},"new":0,"old":418,"rank":8,"right":{"linear_Z4":[3,1,1,1,1,1,0,2,2],"matrix_rows":[126,125,123,119,111,95,128,256,127],"offset":62,"phase":1,"quadratic_rows":[63,63,63,63,63,63,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":418,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[65,64,66,68,72,80,96,128,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,2,2,3,2,2,0],"matrix_rows":[288,2,4,8,16,33,1,64,128],"offset":0,"phase":0,"quadratic_rows":[33,0,0,0,0,33,0,0,0]},"new":0,"old":419,"rank":8,"right":{"linear_Z4":[3,2,2,2,2,1,0,2,2],"matrix_rows":[96,2,4,8,16,65,128,256,97],"offset":32,"phase":1,"quadratic_rows":[33,0,0,0,0,33,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":419,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[65,64,2,4,8,16,96,128,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,3,2,2,2,2,0],"matrix_rows":[1,2,264,12,16,32,4,64,128],"offset":0,"phase":0,"quadratic_rows":[0,0,12,12,0,0,0,0,0]},"new":0,"old":420,"rank":8,"right":{"linear_Z4":[2,2,3,1,2,2,0,2,2],"matrix_rows":[1,2,72,68,16,32,128,256,76],"offset":8,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":420,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[68,1,2,64,72,16,32,128,256],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":15,"old":421,"rank":1,"right":{"linear_Z4":[3,0,3,3,0,0,0,0,0],"matrix_rows":[5,41,10,36,32,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[45,8,37,11,0,5,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":18,"old":421,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,3,3,2],"matrix_rows":[448,1,2,4,8,16,32,320,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,0,192,192,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":25,"old":421,"rank":1,"right":{"linear_Z4":[0,3,3,3,3,0,3,3,2],"matrix_rows":[478,1,258,260,264,272,32,320,384],"offset":1,"phase":1,"quadratic_rows":[0,222,222,222,222,0,222,222,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":26,"old":421,"rank":1,"right":{"linear_Z4":[3,0,3,0,2,0,0,0,0],"matrix_rows":[21,17,2,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":44,"old":421,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,0,3,2,0],"matrix_rows":[208,1,2,4,8,144,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,80,0,80,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":47,"old":421,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,0,3,0,2],"matrix_rows":[336,1,2,4,8,272,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,80,0,80,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":54,"old":421,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,0,2],"matrix_rows":[261,257,2,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":55,"old":421,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,2,0],"matrix_rows":[133,129,2,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":73,"old":421,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,0,0,3,2],"matrix_rows":[400,1,2,4,8,272,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,144,0,0,144,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":76,"old":421,"rank":1,"right":{"linear_Z4":[3,0,3,3,0,0,0,0,0],"matrix_rows":[5,33,10,44,32,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[37,8,45,14,0,5,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":83,"old":421,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,2,0,0],"matrix_rows":[69,65,2,68,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":84,"old":421,"rank":1,"right":{"linear_Z4":[3,3,0,3,3,0,3,3,2],"matrix_rows":[475,257,258,4,264,272,32,320,384],"offset":1,"phase":1,"quadratic_rows":[219,219,0,219,219,0,219,219,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":334,"old":421,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,0,2],"matrix_rows":[265,257,2,4,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":337,"old":421,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,2,0],"matrix_rows":[137,129,2,4,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":344,"old":421,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,3,2,0],"matrix_rows":[194,1,130,4,8,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,66,0,0,0,0,66,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":345,"old":421,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,3,0,2],"matrix_rows":[322,1,258,4,8,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,66,0,0,0,0,66,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":363,"old":421,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,2,0,0],"matrix_rows":[73,65,2,4,72,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":366,"old":421,"rank":1,"right":{"linear_Z4":[3,3,3,0,3,0,3,3,2],"matrix_rows":[471,257,258,260,8,272,32,320,384],"offset":1,"phase":1,"quadratic_rows":[215,215,215,0,215,0,215,215,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":373,"old":421,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,0,3,2],"matrix_rows":[386,1,258,4,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,130,0,0,0,0,0,130,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":374,"old":421,"rank":1,"right":{"linear_Z4":[0,0,3,3,2,0,0,0,0],"matrix_rows":[28,1,2,20,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":392,"old":421,"rank":1,"right":{"linear_Z4":[0,3,0,0,3,0,0,2,0],"matrix_rows":[146,1,130,4,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":395,"old":421,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,0,2],"matrix_rows":[268,1,2,260,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":402,"old":421,"rank":1,"right":{"linear_Z4":[0,3,0,0,3,0,0,0,2],"matrix_rows":[274,1,258,4,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":403,"old":421,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,2,0],"matrix_rows":[140,1,2,132,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[14,21,38,65,135,1,2,263,7],"offset":0,"phase":0,"quadratic_rows":[3,7,6,0,0,0,0,0,0]},"new":425,"old":421,"rank":3,"right":{"linear_Z4":[2,2,2,1,3,0,1,3,3],"matrix_rows":[218,477,223,297,322,292,32,272,384],"offset":0,"phase":0,"quadratic_rows":[42,325,34,217,216,5,218,216,258]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[11,21,35,68,2,4,135,263,7],"offset":0,"phase":0,"quadratic_rows":[3,7,6,0,0,0,0,0,0]},"new":426,"old":421,"rank":3,"right":{"linear_Z4":[2,2,2,1,1,0,3,3,3],"matrix_rows":[223,477,218,289,274,300,32,320,384],"offset":0,"phase":0,"quadratic_rows":[34,277,42,220,218,5,216,216,258]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[9,20,33,64,129,256,1,6,2],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":427,"old":421,"rank":3,"right":{"linear_Z4":[1,1,1,0,1,0,2,3,0],"matrix_rows":[21,384,258,65,386,68,8,80,32],"offset":0,"phase":0,"quadratic_rows":[85,130,85,0,85,0,21,130,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[14,23,33,70,131,1,4,263,7],"offset":0,"phase":0,"quadratic_rows":[5,6,7,0,0,0,0,0,0]},"new":433,"old":421,"rank":3,"right":{"linear_Z4":[2,3,1,2,2,0,1,3,3],"matrix_rows":[214,223,463,293,258,32,296,336,384],"offset":0,"phase":0,"quadratic_rows":[52,198,199,48,329,9,214,198,272]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[9,17,32,65,132,256,1,6,2],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":434,"old":421,"rank":3,"right":{"linear_Z4":[1,1,0,1,1,0,2,3,0],"matrix_rows":[11,384,272,65,66,4,72,400,32],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,144,0,11,144,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[8,17,33,65,1,128,260,6,2],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":435,"old":421,"rank":3,"right":{"linear_Z4":[0,1,1,1,2,0,1,3,0],"matrix_rows":[14,384,320,1,18,20,24,32,448],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,192,192,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,33,64,1,130,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":528,"old":421,"rank":2,"right":{"linear_Z4":[3,0,3,3,0,0,3,3,2],"matrix_rows":[5,448,41,10,36,32,16,320,384],"offset":3,"phase":2,"quadratic_rows":[45,8,37,11,0,5,192,192,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[6,8,18,35,65,3,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":529,"old":421,"rank":2,"right":{"linear_Z4":[3,0,3,0,1,0,1,1,2],"matrix_rows":[216,5,297,10,292,32,272,320,384],"offset":2,"phase":1,"quadratic_rows":[301,8,293,467,472,5,472,472,221]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,16,32,66,128,258,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":530,"old":421,"rank":2,"right":{"linear_Z4":[0,0,0,0,3,0,3,3,0],"matrix_rows":[384,208,1,2,4,8,400,32,448],"offset":2,"phase":1,"quadratic_rows":[0,0,0,0,336,0,336,384,208]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,32,66,128,258,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":531,"old":421,"rank":2,"right":{"linear_Z4":[3,0,3,0,3,0,3,2,2],"matrix_rows":[261,208,257,2,260,8,144,32,192],"offset":3,"phase":2,"quadratic_rows":[5,0,5,0,80,0,80,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,33,66,1,128,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":532,"old":421,"rank":2,"right":{"linear_Z4":[3,0,3,3,3,0,0,3,2],"matrix_rows":[5,400,33,10,44,32,272,64,384],"offset":3,"phase":2,"quadratic_rows":[37,8,45,14,144,5,0,144,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,32,66,128,1,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":533,"old":421,"rank":2,"right":{"linear_Z4":[3,0,3,0,3,0,2,3,2],"matrix_rows":[69,400,65,2,68,8,272,32,384],"offset":3,"phase":2,"quadratic_rows":[5,0,5,0,144,0,0,144,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[6,8,16,34,64,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":566,"old":421,"rank":2,"right":{"linear_Z4":[3,0,0,3,0,0,0,3,0],"matrix_rows":[384,137,385,2,4,392,16,32,64],"offset":2,"phase":1,"quadratic_rows":[265,0,0,265,0,0,0,384,137]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,33,64,128,258,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":567,"old":421,"rank":2,"right":{"linear_Z4":[3,3,0,3,0,0,3,2,2],"matrix_rows":[265,194,257,130,4,264,16,32,192],"offset":3,"phase":2,"quadratic_rows":[9,66,0,9,0,0,66,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,18,35,66,128,1,258,2],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":568,"old":421,"rank":2,"right":{"linear_Z4":[3,1,1,0,1,0,3,1,1],"matrix_rows":[329,222,65,258,260,328,272,32,384],"offset":1,"phase":1,"quadratic_rows":[265,478,478,215,478,0,222,478,407]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,33,64,128,1,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":569,"old":421,"rank":2,"right":{"linear_Z4":[3,3,0,3,0,0,2,3,2],"matrix_rows":[73,386,65,258,4,72,16,32,384],"offset":3,"phase":2,"quadratic_rows":[9,130,0,9,0,0,0,130,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,18,34,65,128,256,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":570,"old":421,"rank":2,"right":{"linear_Z4":[0,3,3,3,3,0,0,2,2],"matrix_rows":[146,268,1,130,260,264,144,32,64],"offset":3,"phase":2,"quadratic_rows":[0,18,12,12,18,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,16,32,66,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":571,"old":421,"rank":2,"right":{"linear_Z4":[0,3,0,0,3,0,0,3,0],"matrix_rows":[384,146,1,386,4,8,400,32,64],"offset":2,"phase":1,"quadratic_rows":[0,274,0,0,274,0,0,384,146]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[6,10,16,35,65,1,131,259,3],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":27,"old":422,"rank":2,"right":{"linear_Z4":[1,1,0,2,1,0,2,2,2],"matrix_rows":[216,219,305,290,20,264,32,320,384],"offset":0,"phase":0,"quadratic_rows":[491,507,16,259,278,3,259,259,219]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,1,32,64,130,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":28,"old":422,"rank":2,"right":{"linear_Z4":[3,3,0,2,0,0,3,3,2],"matrix_rows":[11,448,9,10,4,16,32,320,384],"offset":3,"phase":2,"quadratic_rows":[3,3,0,0,0,0,192,192,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,32,65,1,130,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":33,"old":422,"rank":2,"right":{"linear_Z4":[3,3,0,0,3,0,3,3,2],"matrix_rows":[3,448,49,34,20,8,32,320,384],"offset":3,"phase":2,"quadratic_rows":[51,35,16,0,21,3,192,192,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[6,11,17,3,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":34,"old":422,"rank":2,"right":{"linear_Z4":[3,2,3,2,3,0,3,3,0],"matrix_rows":[470,267,265,10,260,272,32,320,384],"offset":3,"phase":2,"quadratic_rows":[3,213,214,0,214,0,214,214,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":102,"old":422,"rank":1,"right":{"linear_Z4":[3,3,0,0,3,0,0,0,0],"matrix_rows":[3,33,50,4,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[35,51,0,16,26,3,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":105,"old":422,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,0,0,3,2],"matrix_rows":[388,1,2,260,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,132,0,0,0,0,132,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":112,"old":422,"rank":1,"right":{"linear_Z4":[3,3,3,3,0,0,3,3,2],"matrix_rows":[463,257,258,260,264,16,32,320,384],"offset":1,"phase":1,"quadratic_rows":[207,207,207,207,0,0,207,207,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":113,"old":422,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,2,0,0],"matrix_rows":[81,65,2,4,8,80,32,128,256],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":131,"old":422,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,0,3,0,2],"matrix_rows":[324,1,2,260,8,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,0,68,0,0,0,68,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":134,"old":422,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,0,3,2,0],"matrix_rows":[196,1,2,132,8,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,0,68,0,0,0,68,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":141,"old":422,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,2,0],"matrix_rows":[145,129,2,4,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":142,"old":422,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,0,2],"matrix_rows":[273,257,2,4,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":276,"old":422,"rank":1,"right":{"linear_Z4":[3,0,3,3,3,0,3,3,2],"matrix_rows":[477,257,2,260,264,272,32,320,384],"offset":1,"phase":1,"quadratic_rows":[221,0,221,221,221,0,221,221,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":279,"old":422,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,2,0,0],"matrix_rows":[67,65,66,4,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":286,"old":422,"rank":1,"right":{"linear_Z4":[3,3,0,0,3,0,0,0,0],"matrix_rows":[3,33,50,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[35,51,16,0,22,3,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":287,"old":422,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,0,0,3,2],"matrix_rows":[392,1,2,4,264,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,136,0,0,0,136,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":305,"old":422,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,2,0],"matrix_rows":[131,129,130,4,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":308,"old":422,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,0,2],"matrix_rows":[259,257,258,4,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":315,"old":422,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,0,3,0,2],"matrix_rows":[328,1,2,4,264,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,72,0,0,72,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":316,"old":422,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,0,3,2,0],"matrix_rows":[200,1,2,4,136,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,72,0,0,72,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,18,34,64,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":404,"old":422,"rank":2,"right":{"linear_Z4":[0,0,3,3,0,0,0,3,0],"matrix_rows":[384,140,1,2,388,392,16,32,64],"offset":2,"phase":1,"quadratic_rows":[0,0,268,268,0,0,0,384,140]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,16,32,66,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":405,"old":422,"rank":2,"right":{"linear_Z4":[0,3,0,0,3,0,0,3,0],"matrix_rows":[384,146,1,386,4,8,400,32,64],"offset":2,"phase":1,"quadratic_rows":[0,274,0,0,274,0,0,384,146]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,18,34,65,128,256,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":410,"old":422,"rank":2,"right":{"linear_Z4":[0,3,3,3,3,0,0,2,2],"matrix_rows":[274,140,1,258,132,136,272,32,64],"offset":3,"phase":2,"quadratic_rows":[0,18,12,12,18,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,18,34,65,128,256,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":411,"old":422,"rank":2,"right":{"linear_Z4":[0,3,3,3,3,0,0,2,2],"matrix_rows":[146,268,1,130,260,264,144,32,64],"offset":3,"phase":2,"quadratic_rows":[0,18,12,12,18,0,0,0,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[14,19,37,65,134,3,4,261,5],"offset":0,"phase":0,"quadratic_rows":[5,2,5,0,0,0,0,0,0]},"new":424,"old":422,"rank":3,"right":{"linear_Z4":[0,0,2,1,0,0,0,2,3],"matrix_rows":[206,17,471,291,32,260,328,304,384],"offset":2,"phase":1,"quadratic_rows":[228,24,25,398,230,17,17,25,264]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[9,16,33,68,129,256,1,6,2],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":428,"old":422,"rank":3,"right":{"linear_Z4":[1,0,1,1,1,0,2,3,0],"matrix_rows":[21,384,264,65,2,68,392,80,32],"offset":0,"phase":0,"quadratic_rows":[85,0,85,136,85,0,21,136,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[14,22,35,71,129,1,4,263,7],"offset":0,"phase":0,"quadratic_rows":[5,6,7,0,0,0,0,0,0]},"new":432,"old":422,"rank":3,"right":{"linear_Z4":[2,2,2,3,1,0,1,3,3],"matrix_rows":[220,223,475,305,290,324,264,32,384],"offset":0,"phase":0,"quadratic_rows":[52,36,323,216,217,3,220,216,260]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[18,34,72,131,257,1,3,12,4],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":437,"old":422,"rank":4,"right":{"linear_Z4":[1,1,1,2,3,0,2,3,0],"matrix_rows":[8,11,384,260,113,98,388,88,32],"offset":0,"phase":0,"quadratic_rows":[123,107,132,83,25,3,11,132,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,18,34,67,128,1,258,2],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":534,"old":422,"rank":2,"right":{"linear_Z4":[3,1,1,1,0,0,3,1,1],"matrix_rows":[337,222,65,258,260,264,336,32,384],"offset":1,"phase":1,"quadratic_rows":[273,478,478,478,207,0,222,478,399]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,18,32,65,1,128,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":535,"old":422,"rank":2,"right":{"linear_Z4":[3,3,3,0,3,0,0,3,2],"matrix_rows":[3,388,33,50,260,24,32,64,384],"offset":3,"phase":2,"quadratic_rows":[35,51,132,16,26,3,0,132,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,18,32,65,128,1,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":536,"old":422,"rank":2,"right":{"linear_Z4":[3,0,3,0,3,0,2,3,2],"matrix_rows":[81,388,65,2,260,8,80,32,384],"offset":3,"phase":2,"quadratic_rows":[17,0,132,0,17,0,0,132,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,19,35,66,2,131,259,3],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":537,"old":422,"rank":2,"right":{"linear_Z4":[3,3,2,2,3,0,2,2,1],"matrix_rows":[463,460,289,306,260,280,32,320,384],"offset":3,"phase":2,"quadratic_rows":[239,255,259,275,26,3,259,259,460]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[6,8,16,32,66,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":538,"old":422,"rank":2,"right":{"linear_Z4":[3,0,0,0,3,0,0,3,0],"matrix_rows":[384,145,385,2,4,8,400,32,64],"offset":2,"phase":1,"quadratic_rows":[273,0,0,0,273,0,0,384,145]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,18,32,64,128,258,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":539,"old":422,"rank":2,"right":{"linear_Z4":[0,0,3,0,0,0,3,3,0],"matrix_rows":[384,196,1,2,388,8,16,32,448],"offset":2,"phase":1,"quadratic_rows":[0,0,324,0,0,0,324,384,196]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,18,32,65,128,258,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":540,"old":422,"rank":2,"right":{"linear_Z4":[3,0,3,0,3,0,3,2,2],"matrix_rows":[273,196,257,2,132,8,272,32,192],"offset":3,"phase":2,"quadratic_rows":[17,0,68,0,17,0,68,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,18,32,65,128,258,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":541,"old":422,"rank":2,"right":{"linear_Z4":[3,0,3,0,3,0,3,2,2],"matrix_rows":[145,324,129,2,260,8,144,32,320],"offset":3,"phase":2,"quadratic_rows":[17,0,68,0,17,0,68,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,34,65,1,128,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":558,"old":422,"rank":2,"right":{"linear_Z4":[3,3,0,3,3,0,0,3,2],"matrix_rows":[3,392,33,50,20,264,32,64,384],"offset":3,"phase":2,"quadratic_rows":[35,51,16,136,22,3,0,136,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[7,9,18,34,66,128,3,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":559,"old":422,"rank":2,"right":{"linear_Z4":[2,3,3,3,3,0,2,3,0],"matrix_rows":[323,413,65,322,260,264,272,32,384],"offset":3,"phase":2,"quadratic_rows":[158,3,157,157,157,0,0,157,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,34,64,128,1,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":560,"old":422,"rank":2,"right":{"linear_Z4":[3,3,0,3,0,0,2,3,2],"matrix_rows":[67,392,65,66,4,264,16,32,384],"offset":3,"phase":2,"quadratic_rows":[3,3,0,136,0,0,0,136,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,35,66,2,131,259,3],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":561,"old":422,"rank":2,"right":{"linear_Z4":[1,1,0,2,1,0,2,2,2],"matrix_rows":[219,216,289,306,20,264,32,320,384],"offset":0,"phase":0,"quadratic_rows":[507,491,16,259,277,3,259,259,219]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,16,34,64,128,258,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":562,"old":422,"rank":2,"right":{"linear_Z4":[0,0,0,3,0,0,3,3,0],"matrix_rows":[384,200,1,2,4,392,16,32,448],"offset":2,"phase":1,"quadratic_rows":[0,0,0,328,0,0,328,384,200]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[6,10,16,32,64,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":563,"old":422,"rank":2,"right":{"linear_Z4":[3,3,0,0,0,0,0,3,0],"matrix_rows":[384,131,385,386,4,8,16,32,64],"offset":2,"phase":1,"quadratic_rows":[259,259,0,0,0,0,0,384,131]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,34,64,128,258,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":564,"old":422,"rank":2,"right":{"linear_Z4":[3,3,0,3,0,0,3,2,2],"matrix_rows":[259,200,257,258,4,136,16,32,192],"offset":3,"phase":2,"quadratic_rows":[3,3,0,72,0,0,72,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,34,64,128,258,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":565,"old":422,"rank":2,"right":{"linear_Z4":[3,3,0,3,0,0,3,2,2],"matrix_rows":[131,328,129,130,4,264,16,32,320],"offset":3,"phase":2,"quadratic_rows":[3,3,0,72,0,0,72,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,32,64,1,130,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":29,"old":423,"rank":2,"right":{"linear_Z4":[0,3,3,0,0,2,3,3,2],"matrix_rows":[38,448,1,34,36,8,16,320,384],"offset":3,"phase":2,"quadratic_rows":[0,6,6,0,0,0,192,192,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,35,3,66,130,258,2],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":30,"old":423,"rank":2,"right":{"linear_Z4":[0,3,3,0,0,1,1,1,2],"matrix_rows":[6,232,9,282,276,16,288,320,384],"offset":1,"phase":1,"quadratic_rows":[8,286,278,483,6,488,488,488,238]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,9,18,35,64,2,131,259,3],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":31,"old":423,"rank":2,"right":{"linear_Z4":[0,1,3,0,0,0,0,0,1],"matrix_rows":[235,461,257,290,36,264,16,320,384],"offset":2,"phase":1,"quadratic_rows":[38,459,493,38,0,461,38,38,294]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,33,1,64,130,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":32,"old":423,"rank":2,"right":{"linear_Z4":[0,3,3,3,0,0,3,3,2],"matrix_rows":[6,448,9,26,20,16,32,320,384],"offset":3,"phase":2,"quadratic_rows":[8,30,22,11,6,0,192,192,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":160,"old":423,"rank":1,"right":{"linear_Z4":[3,3,3,0,0,3,3,3,2],"matrix_rows":[487,257,258,260,8,16,288,320,384],"offset":1,"phase":1,"quadratic_rows":[231,231,231,0,0,231,231,231,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":163,"old":423,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,2,0,0],"matrix_rows":[74,1,66,4,72,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":170,"old":423,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,2,0,0,0],"matrix_rows":[44,1,2,36,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":171,"old":423,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,0,0,3,2],"matrix_rows":[385,257,2,4,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[129,0,0,0,0,0,0,129,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":189,"old":423,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,0,2,0],"matrix_rows":[138,1,130,4,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":192,"old":423,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,0,0,2],"matrix_rows":[266,1,258,4,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":199,"old":423,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,0,3,0,2],"matrix_rows":[321,257,2,4,8,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[65,0,0,0,0,0,65,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":200,"old":423,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,0,3,2,0],"matrix_rows":[193,129,2,4,8,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[65,0,0,0,0,0,65,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":218,"old":423,"rank":1,"right":{"linear_Z4":[0,3,3,3,0,0,0,0,0],"matrix_rows":[6,9,18,28,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[8,22,30,13,6,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":221,"old":423,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,3,0,3,2],"matrix_rows":[416,1,2,4,8,16,288,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,160,0,160,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":228,"old":423,"rank":1,"right":{"linear_Z4":[3,3,0,3,0,3,3,3,2],"matrix_rows":[491,257,258,4,264,16,288,320,384],"offset":1,"phase":1,"quadratic_rows":[235,235,0,235,0,235,235,235,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":229,"old":423,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,2,0,0],"matrix_rows":[70,1,66,68,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":247,"old":423,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,3,3,0,2],"matrix_rows":[352,1,2,4,8,16,288,320,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,96,96,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":250,"old":423,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,3,3,2,0],"matrix_rows":[224,1,2,4,8,16,160,192,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,96,96,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":257,"old":423,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,2,0],"matrix_rows":[134,1,130,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":258,"old":423,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,0,2],"matrix_rows":[262,1,258,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[6,8,16,32,64,130,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":406,"old":423,"rank":2,"right":{"linear_Z4":[3,0,0,0,0,3,0,3,0],"matrix_rows":[384,161,385,2,4,8,16,416,64],"offset":2,"phase":1,"quadratic_rows":[289,0,0,0,0,289,0,384,161]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,18,34,64,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":407,"old":423,"rank":2,"right":{"linear_Z4":[0,0,3,3,0,0,0,3,0],"matrix_rows":[384,140,1,2,388,392,16,32,64],"offset":2,"phase":1,"quadratic_rows":[0,0,268,268,0,0,0,384,140]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,18,34,64,129,256,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":408,"old":423,"rank":2,"right":{"linear_Z4":[3,0,3,3,0,3,0,2,2],"matrix_rows":[161,268,129,2,260,264,16,160,64],"offset":3,"phase":2,"quadratic_rows":[33,0,12,12,0,33,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,18,34,64,129,256,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":409,"old":423,"rank":2,"right":{"linear_Z4":[3,0,3,3,0,3,0,2,2],"matrix_rows":[289,140,257,2,132,136,16,288,64],"offset":3,"phase":2,"quadratic_rows":[33,0,12,12,0,33,0,0,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[15,21,34,69,2,131,4,263,7],"offset":0,"phase":0,"quadratic_rows":[5,6,7,0,0,0,0,0,0]},"new":429,"old":423,"rank":3,"right":{"linear_Z4":[3,2,1,2,0,2,1,3,3],"matrix_rows":[239,229,463,257,278,16,280,352,384],"offset":0,"phase":0,"quadratic_rows":[197,52,199,48,10,330,229,197,288]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[14,21,37,66,2,135,1,263,7],"offset":0,"phase":0,"quadratic_rows":[7,3,5,0,0,0,0,0,0]},"new":430,"old":423,"rank":3,"right":{"linear_Z4":[2,2,2,1,0,3,1,3,3],"matrix_rows":[494,233,239,321,282,276,16,288,384],"offset":0,"phase":0,"quadratic_rows":[326,25,17,234,6,232,233,232,257]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[12,18,34,64,128,258,2,5,1],"offset":0,"phase":0,"quadratic_rows":[5,2,5,0,0,0,0,0,0]},"new":431,"old":423,"rank":3,"right":{"linear_Z4":[1,1,1,0,0,1,2,3,0],"matrix_rows":[384,38,257,385,66,68,8,16,96],"offset":0,"phase":0,"quadratic_rows":[129,102,102,0,0,102,38,129,0]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,34,67,130,3,264,1,12,4],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":436,"old":423,"rank":4,"right":{"linear_Z4":[1,3,3,3,0,1,2,3,0],"matrix_rows":[1,10,384,288,69,86,16,88,416],"offset":2,"phase":1,"quadratic_rows":[69,94,7,90,10,160,11,160,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,18,34,64,2,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":542,"old":423,"rank":2,"right":{"linear_Z4":[3,0,3,3,0,2,0,3,2],"matrix_rows":[385,44,257,2,36,40,16,64,384],"offset":3,"phase":2,"quadratic_rows":[129,0,12,12,0,0,0,129,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,17,35,64,129,2,257,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":543,"old":423,"rank":2,"right":{"linear_Z4":[1,3,1,0,0,1,3,1,1],"matrix_rows":[237,330,257,66,260,328,16,288,384],"offset":2,"phase":1,"quadratic_rows":[493,266,493,231,0,493,237,493,423]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,34,64,128,2,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":544,"old":423,"rank":2,"right":{"linear_Z4":[3,3,0,3,0,0,2,3,2],"matrix_rows":[385,74,257,66,4,72,16,32,384],"offset":3,"phase":2,"quadratic_rows":[129,10,0,10,0,0,0,129,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,18,35,64,2,129,257,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":545,"old":423,"rank":2,"right":{"linear_Z4":[1,1,3,0,0,3,1,1,1],"matrix_rows":[235,300,257,258,36,296,16,320,384],"offset":2,"phase":1,"quadratic_rows":[491,491,268,231,0,235,491,491,455]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[6,8,16,32,64,128,258,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":546,"old":423,"rank":2,"right":{"linear_Z4":[3,0,0,0,0,0,3,3,0],"matrix_rows":[384,193,385,2,4,8,16,32,448],"offset":2,"phase":1,"quadratic_rows":[321,0,0,0,0,0,321,384,193]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,16,34,64,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":547,"old":423,"rank":2,"right":{"linear_Z4":[0,3,0,3,0,0,0,3,0],"matrix_rows":[384,138,1,386,4,392,16,32,64],"offset":2,"phase":1,"quadratic_rows":[0,266,0,266,0,0,0,384,138]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,34,64,128,257,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":548,"old":423,"rank":2,"right":{"linear_Z4":[3,3,0,3,0,0,3,2,2],"matrix_rows":[193,266,129,258,4,264,16,32,192],"offset":3,"phase":2,"quadratic_rows":[65,10,0,10,0,0,65,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,34,64,128,257,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":549,"old":423,"rank":2,"right":{"linear_Z4":[3,3,0,3,0,0,3,2,2],"matrix_rows":[321,138,257,130,4,136,16,32,320],"offset":3,"phase":2,"quadratic_rows":[65,10,0,10,0,0,65,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,19,33,64,129,2,257,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":550,"old":423,"rank":2,"right":{"linear_Z4":[1,3,0,1,0,1,3,1,1],"matrix_rows":[237,326,257,66,324,264,16,288,384],"offset":2,"phase":1,"quadratic_rows":[493,262,235,493,0,493,237,493,427]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,33,1,66,128,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":551,"old":423,"rank":2,"right":{"linear_Z4":[0,3,3,3,0,3,0,3,2],"matrix_rows":[6,416,9,18,28,16,288,64,384],"offset":3,"phase":2,"quadratic_rows":[8,22,30,13,6,160,0,160,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,32,64,130,1,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":552,"old":423,"rank":2,"right":{"linear_Z4":[0,3,3,0,0,3,2,3,2],"matrix_rows":[70,416,1,66,68,8,16,288,384],"offset":3,"phase":2,"quadratic_rows":[0,6,6,0,0,160,0,160,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[4,11,19,33,1,66,130,258,2],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":553,"old":423,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,1,1,1,2],"matrix_rows":[6,238,9,274,284,16,288,320,384],"offset":1,"phase":1,"quadratic_rows":[8,504,496,483,6,494,494,494,238]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,18,32,64,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":554,"old":423,"rank":2,"right":{"linear_Z4":[0,3,3,0,0,0,0,3,0],"matrix_rows":[384,134,1,386,388,8,16,32,64],"offset":2,"phase":1,"quadratic_rows":[0,262,262,0,0,0,0,384,134]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,16,32,64,130,258,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":555,"old":423,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,3,3,3,0],"matrix_rows":[384,224,1,2,4,8,16,416,448],"offset":2,"phase":1,"quadratic_rows":[0,0,0,0,0,352,352,384,224]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,32,64,130,258,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":556,"old":423,"rank":2,"right":{"linear_Z4":[0,3,3,0,0,3,3,2,2],"matrix_rows":[262,224,1,258,260,8,16,160,192],"offset":3,"phase":2,"quadratic_rows":[0,6,6,0,0,96,96,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,32,64,130,258,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":557,"old":423,"rank":2,"right":{"linear_Z4":[0,3,3,0,0,3,3,2,2],"matrix_rows":[134,352,1,130,132,8,16,288,320],"offset":3,"phase":2,"quadratic_rows":[0,6,6,0,0,96,96,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,8,18,35,67,128,256,1,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":740,"old":424,"rank":2,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,1],"matrix_rows":[281,28,129,2,256,264,272,32,64],"offset":18,"phase":0,"quadratic_rows":[409,0,280,5,5,0,0,1,261]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[7,8,17,34,66,128,256,2,3],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":741,"old":424,"rank":2,"right":{"linear_Z4":[0,0,0,1,1,0,0,0,2],"matrix_rows":[261,153,257,2,256,136,144,32,64],"offset":17,"phase":0,"quadratic_rows":[156,0,1,25,25,0,0,1,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[7,8,17,35,66,2,128,259,3],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":742,"old":424,"rank":2,"right":{"linear_Z4":[2,0,0,2,2,0,0,2,2],"matrix_rows":[429,153,257,2,288,264,32,64,384],"offset":64,"phase":3,"quadratic_rows":[52,0,137,52,169,153,0,52,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,8,18,33,67,128,1,259,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":743,"old":424,"rank":2,"right":{"linear_Z4":[2,0,0,1,0,0,0,0,1],"matrix_rows":[408,212,9,2,320,64,272,32,384],"offset":37,"phase":3,"quadratic_rows":[8,0,400,473,76,0,408,76,332]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,18,33,67,128,256,1,3],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":744,"old":424,"rank":2,"right":{"linear_Z4":[1,0,0,1,0,0,0,0,2],"matrix_rows":[153,276,129,2,256,136,272,32,64],"offset":18,"phase":0,"quadratic_rows":[25,0,16,25,141,0,0,16,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,8,17,35,66,128,256,2,3],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":745,"old":424,"rank":2,"right":{"linear_Z4":[0,0,0,0,1,0,0,2,1],"matrix_rows":[13,281,257,2,256,264,144,32,64],"offset":17,"phase":0,"quadratic_rows":[20,0,265,20,409,0,0,16,276]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,8,17,32,66,2,128,259,3],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":746,"old":424,"rank":2,"right":{"linear_Z4":[0,0,0,2,1,0,0,0,1],"matrix_rows":[165,401,257,2,288,24,32,64,384],"offset":98,"phase":3,"quadratic_rows":[52,0,385,16,441,401,0,52,308]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,2,19,35,64,128,259,3],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":747,"old":424,"rank":2,"right":{"linear_Z4":[2,0,0,2,2,0,0,2,2],"matrix_rows":[153,156,256,258,264,272,32,64,384],"offset":4,"phase":3,"quadratic_rows":[408,0,152,261,261,0,0,261,153]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,9,19,32,66,128,1,259,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":748,"old":425,"rank":2,"right":{"linear_Z4":[2,1,0,0,0,0,0,0,1],"matrix_rows":[390,212,3,64,260,8,320,32,384],"offset":13,"phase":3,"quadratic_rows":[2,455,82,0,388,0,390,82,338]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,11,17,32,66,1,128,259,3],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":749,"old":425,"rank":2,"right":{"linear_Z4":[2,2,2,0,0,0,0,2,2],"matrix_rows":[135,435,257,258,32,8,288,64,384],"offset":16,"phase":3,"quadratic_rows":[52,52,163,0,131,135,0,52,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,11,19,32,66,128,256,1,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":750,"old":425,"rank":2,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,1],"matrix_rows":[263,22,129,258,260,8,256,32,64],"offset":66,"phase":0,"quadratic_rows":[391,17,17,0,262,0,0,1,273]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[7,9,17,32,66,128,256,1,3],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":751,"old":425,"rank":2,"right":{"linear_Z4":[0,1,1,0,0,0,0,0,2],"matrix_rows":[135,273,257,130,132,8,256,32,64],"offset":66,"phase":0,"quadratic_rows":[150,7,7,0,1,0,0,1,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,11,19,33,2,64,128,259,3],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":752,"old":425,"rank":2,"right":{"linear_Z4":[2,2,2,0,0,0,0,2,2],"matrix_rows":[135,150,256,258,260,264,32,64,384],"offset":4,"phase":3,"quadratic_rows":[390,273,273,0,134,0,0,273,135]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[7,8,17,32,66,1,128,259,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":753,"old":425,"rank":2,"right":{"linear_Z4":[0,2,1,0,0,0,0,0,1],"matrix_rows":[389,177,257,6,32,8,288,64,384],"offset":25,"phase":3,"quadratic_rows":[52,4,423,0,385,389,0,52,308]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,19,32,66,128,256,1,3],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":754,"old":425,"rank":2,"right":{"linear_Z4":[1,1,0,0,0,0,0,0,2],"matrix_rows":[135,276,129,130,260,8,256,32,64],"offset":66,"phase":0,"quadratic_rows":[7,7,147,0,4,0,0,4,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[7,11,17,32,66,128,256,1,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":755,"old":425,"rank":2,"right":{"linear_Z4":[0,0,1,0,0,0,0,2,1],"matrix_rows":[263,19,257,258,132,8,256,32,64],"offset":66,"phase":0,"quadratic_rows":[20,20,391,0,259,0,0,4,276]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":764,"old":426,"rank":1,"right":{"linear_Z4":[1,1,3,0,0,0,0,3,0],"matrix_rows":[199,321,322,260,8,16,32,256,384],"offset":135,"phase":0,"quadratic_rows":[391,391,455,0,0,0,388,455,199]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":765,"old":426,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,3,3,2],"matrix_rows":[455,257,258,256,264,16,32,320,384],"offset":9,"phase":0,"quadratic_rows":[199,199,195,0,0,0,199,199,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":766,"old":426,"rank":1,"right":{"linear_Z4":[3,1,1,0,0,0,0,3,0],"matrix_rows":[199,257,322,324,8,16,32,256,384],"offset":141,"phase":0,"quadratic_rows":[455,391,391,0,0,0,385,455,199]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":767,"old":426,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,3,3,2],"matrix_rows":[455,256,258,260,8,16,288,320,384],"offset":3,"phase":0,"quadratic_rows":[198,199,199,0,0,0,199,199,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":768,"old":426,"rank":1,"right":{"linear_Z4":[1,3,3,0,0,0,1,0,0],"matrix_rows":[199,385,258,260,8,16,32,448,256],"offset":387,"phase":0,"quadratic_rows":[327,455,455,0,0,0,327,262,199]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":769,"old":426,"rank":1,"right":{"linear_Z4":[3,1,1,0,0,0,3,0,0],"matrix_rows":[199,257,386,388,8,16,32,320,256],"offset":269,"phase":0,"quadratic_rows":[455,327,327,0,0,0,455,321,199]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":770,"old":426,"rank":1,"right":{"linear_Z4":[3,3,1,0,0,0,1,0,0],"matrix_rows":[199,257,258,388,8,16,32,448,256],"offset":393,"phase":0,"quadratic_rows":[455,455,327,0,0,0,327,259,199]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":771,"old":426,"rank":1,"right":{"linear_Z4":[1,1,3,0,0,0,3,0,0],"matrix_rows":[199,385,386,260,8,16,32,320,256],"offset":263,"phase":0,"quadratic_rows":[327,327,455,0,0,0,455,324,199]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[6,11,17,32,65,128,1,259,3],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":756,"old":427,"rank":2,"right":{"linear_Z4":[1,1,3,0,3,0,0,0,3],"matrix_rows":[342,81,339,256,68,24,64,32,384],"offset":15,"phase":0,"quadratic_rows":[259,263,278,16,28,0,0,0,263]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[7,8,18,32,65,2,3,128,256],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":757,"old":427,"rank":2,"right":{"linear_Z4":[2,0,2,2,2,0,2,0,0],"matrix_rows":[97,21,81,2,32,24,96,128,256],"offset":117,"phase":3,"quadratic_rows":[36,0,49,16,44,21,0,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,34,67,2,3,128,256],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":758,"old":427,"rank":2,"right":{"linear_Z4":[3,2,3,1,0,0,0,0,0],"matrix_rows":[5,24,113,26,100,32,64,128,256],"offset":43,"phase":0,"quadratic_rows":[117,24,101,42,35,29,5,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,35,66,3,2,128,256],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":759,"old":427,"rank":2,"right":{"linear_Z4":[1,0,1,3,2,0,0,0,0],"matrix_rows":[29,24,105,2,124,32,64,128,256],"offset":55,"phase":1,"quadratic_rows":[117,0,101,56,41,29,5,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[7,8,19,34,65,2,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":760,"old":427,"rank":2,"right":{"linear_Z4":[2,0,2,0,1,0,0,0,0],"matrix_rows":[5,29,113,2,100,32,64,128,256],"offset":35,"phase":1,"quadratic_rows":[104,0,120,53,60,29,5,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,35,66,3,2,128,256],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":761,"old":427,"rank":2,"right":{"linear_Z4":[1,2,1,0,1,0,0,0,0],"matrix_rows":[29,24,105,26,124,32,64,128,256],"offset":63,"phase":0,"quadratic_rows":[117,24,101,34,51,29,5,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,18,32,66,1,3,128,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":762,"old":427,"rank":2,"right":{"linear_Z4":[0,0,1,2,3,2,1,0,0],"matrix_rows":[65,84,32,2,100,24,96,128,256],"offset":101,"phase":2,"quadratic_rows":[96,0,52,16,60,21,65,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,11,18,32,65,2,3,128,256],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":763,"old":427,"rank":2,"right":{"linear_Z4":[0,2,3,0,2,0,1,0,0],"matrix_rows":[39,83,81,70,32,24,96,128,256],"offset":26,"phase":3,"quadratic_rows":[36,48,69,16,106,83,116,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,19,32,65,1,2,128,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":732,"old":428,"rank":2,"right":{"linear_Z4":[2,3,2,0,1,3,1,0,0],"matrix_rows":[116,114,21,86,96,8,32,128,256],"offset":77,"phase":0,"quadratic_rows":[20,38,83,0,117,114,116,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[7,10,19,34,67,128,3,258,2],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":733,"old":428,"rank":2,"right":{"linear_Z4":[2,1,0,2,2,0,0,0,0],"matrix_rows":[17,23,69,270,64,256,80,32,384],"offset":43,"phase":0,"quadratic_rows":[66,283,280,6,70,0,17,0,6]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[6,8,19,33,67,128,3,257,1],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":734,"old":428,"rank":2,"right":{"linear_Z4":[3,0,0,2,0,0,1,0,0],"matrix_rows":[348,281,333,6,64,256,80,32,384],"offset":37,"phase":3,"quadratic_rows":[85,4,83,0,5,0,69,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[7,8,17,32,66,2,3,128,256],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":735,"old":428,"rank":2,"right":{"linear_Z4":[2,2,2,0,2,0,2,0,0],"matrix_rows":[97,21,69,6,96,8,32,128,256],"offset":93,"phase":3,"quadratic_rows":[48,4,50,0,37,21,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,8,17,35,66,2,3,128,256],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":736,"old":428,"rank":2,"right":{"linear_Z4":[0,0,2,2,3,0,1,0,0],"matrix_rows":[57,77,69,6,96,88,32,128,256],"offset":98,"phase":3,"quadratic_rows":[48,4,106,36,81,77,116,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,18,32,66,1,3,128,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":737,"old":428,"rank":2,"right":{"linear_Z4":[0,2,3,0,1,2,1,0,0],"matrix_rows":[65,84,32,6,96,8,112,128,256],"offset":29,"phase":2,"quadratic_rows":[96,4,54,0,52,21,65,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[7,10,17,32,67,2,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":738,"old":428,"rank":2,"right":{"linear_Z4":[2,0,1,0,2,0,0,0,0],"matrix_rows":[17,23,101,32,64,8,112,128,256],"offset":11,"phase":1,"quadratic_rows":[98,53,54,0,102,23,17,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,10,19,34,65,1,2,128,256],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":739,"old":428,"rank":2,"right":{"linear_Z4":[0,3,2,1,3,1,1,0,0],"matrix_rows":[116,42,21,86,96,88,32,128,256],"offset":114,"phase":2,"quadratic_rows":[20,126,83,122,95,42,94,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,35,64,131,256,2,3],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":724,"old":429,"rank":2,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,1],"matrix_rows":[41,298,256,130,4,264,16,288,64],"offset":5,"phase":0,"quadratic_rows":[296,426,0,3,0,3,0,2,259]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,11,16,34,64,130,256,2,3],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":725,"old":429,"rank":2,"right":{"linear_Z4":[0,0,0,1,0,1,0,0,2],"matrix_rows":[259,170,256,258,4,136,16,160,64],"offset":5,"phase":0,"quadratic_rows":[2,169,0,42,0,42,0,2,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,11,16,34,2,67,128,259,3],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":726,"old":429,"rank":2,"right":{"linear_Z4":[0,2,0,2,0,2,0,2,2],"matrix_rows":[435,170,272,258,4,16,288,64,384],"offset":32,"phase":3,"quadratic_rows":[162,25,0,178,170,25,0,25,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,16,35,64,130,2,259,3],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":727,"old":429,"rank":2,"right":{"linear_Z4":[0,2,0,0,0,1,0,0,1],"matrix_rows":[201,424,320,34,4,264,16,64,384],"offset":138,"phase":3,"quadratic_rows":[392,32,0,97,0,490,424,97,353]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,11,16,34,64,131,256,2,3],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":728,"old":429,"rank":2,"right":{"linear_Z4":[0,0,0,1,0,0,0,2,1],"matrix_rows":[35,298,256,258,4,136,16,288,64],"offset":5,"phase":0,"quadratic_rows":[290,9,0,426,0,9,0,8,265]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,35,64,130,256,2,3],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":729,"old":429,"rank":2,"right":{"linear_Z4":[0,1,0,0,0,1,0,0,2],"matrix_rows":[265,170,256,130,4,264,16,160,64],"offset":5,"phase":0,"quadratic_rows":[8,42,0,163,0,42,0,8,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,2,19,32,67,128,259,3],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":730,"old":429,"rank":2,"right":{"linear_Z4":[0,2,0,2,0,2,0,2,2],"matrix_rows":[429,170,260,4,264,16,288,64,384],"offset":8,"phase":3,"quadratic_rows":[168,172,170,7,0,7,0,7,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,11,16,32,64,130,2,259,3],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":731,"old":429,"rank":2,"right":{"linear_Z4":[0,0,0,2,0,1,0,0,1],"matrix_rows":[195,418,320,258,4,40,16,64,384],"offset":162,"phase":3,"quadratic_rows":[386,97,0,32,0,490,418,97,353]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[7,9,19,32,64,130,256,1,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":708,"old":430,"rank":2,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,1],"matrix_rows":[263,37,257,130,260,8,16,256,64],"offset":130,"phase":0,"quadratic_rows":[34,391,34,0,0,261,0,2,290]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,11,17,32,64,130,256,1,3],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":709,"old":430,"rank":2,"right":{"linear_Z4":[1,0,1,0,0,0,0,0,2],"matrix_rows":[135,290,129,258,132,8,16,256,64],"offset":130,"phase":0,"quadratic_rows":[7,165,7,0,0,2,0,2,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,11,17,32,65,2,128,259,3],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":710,"old":430,"rank":2,"right":{"linear_Z4":[2,2,2,0,0,0,0,2,2],"matrix_rows":[135,163,257,258,256,8,272,64,384],"offset":16,"phase":3,"quadratic_rows":[292,292,387,0,0,131,0,292,135]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,9,19,33,64,2,128,259,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":711,"old":430,"rank":2,"right":{"linear_Z4":[2,1,0,0,0,0,0,0,3],"matrix_rows":[390,420,3,256,260,264,16,64,384],"offset":13,"phase":3,"quadratic_rows":[2,135,290,0,0,388,0,290,420]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,19,32,64,130,256,1,3],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":712,"old":430,"rank":2,"right":{"linear_Z4":[1,1,0,0,0,0,0,0,2],"matrix_rows":[135,292,129,130,260,8,16,256,64],"offset":130,"phase":0,"quadratic_rows":[7,7,163,0,0,4,0,4,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[7,11,17,32,64,130,256,1,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":713,"old":430,"rank":2,"right":{"linear_Z4":[0,0,1,0,0,0,0,2,1],"matrix_rows":[263,35,257,258,132,8,16,256,64],"offset":130,"phase":0,"quadratic_rows":[36,36,391,0,0,259,0,4,292]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,11,17,32,65,2,128,259,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":714,"old":430,"rank":2,"right":{"linear_Z4":[2,0,1,0,0,0,0,0,3],"matrix_rows":[390,418,5,258,256,8,272,64,384],"offset":21,"phase":3,"quadratic_rows":[4,292,135,0,0,386,0,292,418]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,9,19,33,64,2,128,259,3],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":715,"old":430,"rank":2,"right":{"linear_Z4":[2,2,2,0,0,0,0,2,2],"matrix_rows":[135,165,257,256,260,264,16,64,384],"offset":8,"phase":3,"quadratic_rows":[290,389,290,0,0,133,0,290,135]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,11,18,32,66,1,3,128,256],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":700,"old":431,"rank":2,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,0],"matrix_rows":[2,38,1,98,64,40,80,128,256],"offset":104,"phase":3,"quadratic_rows":[0,68,98,32,0,76,38,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,11,17,32,67,1,2,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":701,"old":431,"rank":2,"right":{"linear_Z4":[1,1,3,0,0,1,2,0,0],"matrix_rows":[5,66,35,64,4,40,80,128,256],"offset":15,"phase":0,"quadratic_rows":[39,35,5,32,0,43,0,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[4,10,18,33,1,67,3,128,256],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":702,"old":431,"rank":2,"right":{"linear_Z4":[2,3,3,1,0,0,0,0,0],"matrix_rows":[40,6,41,114,84,16,64,128,256],"offset":39,"phase":0,"quadratic_rows":[40,118,86,25,46,19,6,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,35,3,66,2,128,256],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":703,"old":431,"rank":2,"right":{"linear_Z4":[0,1,1,3,0,2,0,0,0],"matrix_rows":[46,40,1,90,124,16,64,128,256],"offset":59,"phase":1,"quadratic_rows":[0,118,86,56,46,26,6,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[4,10,18,35,3,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":704,"old":431,"rank":2,"right":{"linear_Z4":[2,1,1,0,0,1,0,0,0],"matrix_rows":[40,46,41,90,124,16,64,128,256],"offset":63,"phase":0,"quadratic_rows":[40,118,86,17,46,51,6,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[4,11,19,34,2,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":705,"old":431,"rank":2,"right":{"linear_Z4":[0,2,2,0,0,1,0,0,0],"matrix_rows":[6,46,1,114,84,16,64,128,256],"offset":35,"phase":1,"quadratic_rows":[0,88,120,54,46,60,6,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,18,32,65,2,3,128,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":706,"old":431,"rank":2,"right":{"linear_Z4":[0,2,3,2,0,1,3,0,0],"matrix_rows":[66,100,1,64,4,40,80,128,256],"offset":113,"phase":0,"quadratic_rows":[0,0,100,32,0,108,100,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[7,11,17,32,65,2,3,128,256],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":707,"old":431,"rank":2,"right":{"linear_Z4":[2,0,3,0,0,2,3,0,0],"matrix_rows":[99,71,69,98,64,40,80,128,256],"offset":21,"phase":3,"quadratic_rows":[96,68,70,32,0,9,71,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[7,9,19,34,64,128,256,1,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":692,"old":432,"rank":2,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,1],"matrix_rows":[263,13,257,130,260,256,16,32,64],"offset":34,"phase":0,"quadratic_rows":[10,391,10,261,0,0,0,2,266]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,11,17,34,64,128,256,1,3],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":693,"old":432,"rank":2,"right":{"linear_Z4":[1,0,1,0,0,0,0,0,2],"matrix_rows":[135,266,129,258,132,256,16,32,64],"offset":34,"phase":0,"quadratic_rows":[7,141,7,2,0,0,0,2,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,11,19,34,1,64,128,259,3],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":694,"old":432,"rank":2,"right":{"linear_Z4":[2,2,2,0,0,0,0,2,2],"matrix_rows":[135,414,16,258,260,272,32,64,384],"offset":4,"phase":3,"quadratic_rows":[150,25,25,134,135,0,0,25,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[7,8,17,34,64,128,1,259,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":695,"old":432,"rank":2,"right":{"linear_Z4":[0,2,1,0,0,0,0,0,1],"matrix_rows":[389,201,257,6,64,320,16,32,384],"offset":25,"phase":3,"quadratic_rows":[76,4,455,385,0,0,389,76,332]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,11,19,34,64,128,256,1,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":696,"old":432,"rank":2,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,1],"matrix_rows":[263,14,129,258,260,256,16,32,64],"offset":34,"phase":0,"quadratic_rows":[391,9,9,262,0,0,0,1,265]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[7,9,17,34,64,128,256,1,3],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":697,"old":432,"rank":2,"right":{"linear_Z4":[0,1,1,0,0,0,0,0,2],"matrix_rows":[135,265,257,130,132,256,16,32,64],"offset":34,"phase":0,"quadratic_rows":[142,7,7,1,0,0,0,1,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,9,19,34,64,1,128,259,3],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":698,"old":432,"rank":2,"right":{"linear_Z4":[2,2,2,0,0,0,0,2,2],"matrix_rows":[135,429,257,32,260,288,16,64,384],"offset":8,"phase":3,"quadratic_rows":[42,165,42,133,0,135,0,42,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,11,17,34,64,128,1,259,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":699,"old":432,"rank":2,"right":{"linear_Z4":[2,0,1,0,0,0,0,0,1],"matrix_rows":[390,202,5,258,64,320,16,32,384],"offset":21,"phase":3,"quadratic_rows":[4,76,455,386,0,0,390,76,332]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,9,16,32,66,128,2,259,3],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":668,"old":433,"rank":2,"right":{"linear_Z4":[0,0,0,2,1,0,0,0,1],"matrix_rows":[195,401,257,320,4,24,64,32,384],"offset":98,"phase":3,"quadratic_rows":[82,385,0,16,473,0,401,82,338]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,1,19,35,64,128,259,3],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":669,"old":433,"rank":2,"right":{"linear_Z4":[2,0,0,2,2,0,0,2,2],"matrix_rows":[153,414,4,260,264,272,32,64,384],"offset":4,"phase":3,"quadratic_rows":[156,152,153,7,7,0,0,7,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,9,16,34,67,128,256,2,3],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":670,"old":433,"rank":2,"right":{"linear_Z4":[0,0,0,1,0,0,0,2,1],"matrix_rows":[19,281,257,256,4,136,272,32,64],"offset":9,"phase":0,"quadratic_rows":[10,273,0,409,10,0,0,8,266]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,35,65,128,256,1,3],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":671,"old":433,"rank":2,"right":{"linear_Z4":[1,0,0,0,1,0,0,0,2],"matrix_rows":[153,266,129,256,4,264,144,32,64],"offset":10,"phase":0,"quadratic_rows":[25,8,0,147,25,0,0,8,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,10,16,35,65,128,1,259,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":672,"old":433,"rank":2,"right":{"linear_Z4":[2,0,0,0,1,0,0,0,1],"matrix_rows":[408,202,17,320,4,264,64,32,384],"offset":69,"phase":3,"quadratic_rows":[16,392,0,82,473,0,408,82,338]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[7,9,16,34,67,2,128,259,3],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":673,"old":433,"rank":2,"right":{"linear_Z4":[2,0,0,2,2,0,0,2,2],"matrix_rows":[435,153,257,288,4,32,272,64,384],"offset":32,"phase":3,"quadratic_rows":[42,145,0,177,42,153,0,42,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,35,67,128,256,1,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":674,"old":433,"rank":2,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,1],"matrix_rows":[281,26,129,256,4,264,272,32,64],"offset":10,"phase":0,"quadratic_rows":[409,280,0,3,3,0,0,1,259]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[7,9,16,34,66,128,256,2,3],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":675,"old":433,"rank":2,"right":{"linear_Z4":[0,0,0,1,1,0,0,0,2],"matrix_rows":[259,153,257,256,4,136,144,32,64],"offset":9,"phase":0,"quadratic_rows":[154,1,0,25,25,0,0,1,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,10,19,33,66,3,128,258,2],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":676,"old":434,"rank":2,"right":{"linear_Z4":[0,1,0,3,2,1,0,0,0],"matrix_rows":[281,39,37,278,32,312,256,64,384],"offset":106,"phase":0,"quadratic_rows":[282,307,304,41,39,318,0,0,39]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[7,9,18,35,64,2,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":677,"old":434,"rank":2,"right":{"linear_Z4":[2,1,0,2,0,0,0,0,0],"matrix_rows":[9,15,99,64,32,104,16,128,256],"offset":19,"phase":1,"quadratic_rows":[100,46,43,102,0,15,9,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,35,66,1,128,258,2],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":678,"old":434,"rank":2,"right":{"linear_Z4":[1,0,3,2,3,1,0,0,1],"matrix_rows":[281,40,37,6,32,312,256,64,384],"offset":98,"phase":3,"quadratic_rows":[317,4,7,1,305,305,0,0,305]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,18,34,64,3,1,128,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":679,"old":434,"rank":2,"right":{"linear_Z4":[0,2,3,1,0,1,2,0,0],"matrix_rows":[33,44,64,6,96,104,16,128,256],"offset":29,"phase":2,"quadratic_rows":[96,4,78,76,0,33,13,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[6,8,19,35,65,3,128,257,1],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":680,"old":434,"rank":2,"right":{"linear_Z4":[3,0,0,0,2,1,0,0,0],"matrix_rows":[316,281,309,6,32,40,256,64,384],"offset":69,"phase":3,"quadratic_rows":[45,4,43,5,0,37,0,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[7,8,17,34,64,3,2,128,256],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":681,"old":434,"rank":2,"right":{"linear_Z4":[2,2,2,2,0,2,0,0,0],"matrix_rows":[97,13,37,6,96,64,16,128,256],"offset":61,"phase":3,"quadratic_rows":[72,4,74,69,0,0,13,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[6,9,19,35,65,3,128,257,1],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":682,"old":434,"rank":2,"right":{"linear_Z4":[3,1,3,0,2,1,0,0,0],"matrix_rows":[42,281,309,278,32,40,256,64,384],"offset":77,"phase":0,"quadratic_rows":[45,318,7,275,42,307,0,0,42]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,19,34,64,1,2,128,256],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":683,"old":434,"rank":2,"right":{"linear_Z4":[1,1,3,2,0,1,3,0,0],"matrix_rows":[79,108,37,46,96,64,16,128,256],"offset":2,"phase":1,"quadratic_rows":[107,99,76,69,0,35,79,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":660,"old":435,"rank":1,"right":{"linear_Z4":[1,1,1,1,0,0,0,0,2],"matrix_rows":[335,321,322,324,328,16,32,256,384],"offset":159,"phase":0,"quadratic_rows":[15,15,15,15,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":661,"old":435,"rank":1,"right":{"linear_Z4":[1,1,2,0,0,2,0,0,0],"matrix_rows":[39,33,34,32,8,48,64,128,256],"offset":8,"phase":3,"quadratic_rows":[7,7,3,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":662,"old":435,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,0,0],"matrix_rows":[13,32,2,36,40,16,64,128,256],"offset":3,"phase":0,"quadratic_rows":[44,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":663,"old":435,"rank":1,"right":{"linear_Z4":[0,1,0,1,0,0,0,0,2],"matrix_rows":[330,1,322,4,328,16,32,256,384],"offset":149,"phase":0,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":664,"old":435,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,0,0,0,2],"matrix_rows":[326,1,322,324,8,16,32,256,384],"offset":141,"phase":0,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":665,"old":435,"rank":1,"right":{"linear_Z4":[0,1,1,3,0,2,0,0,0],"matrix_rows":[38,9,34,44,32,48,64,128,256],"offset":61,"phase":1,"quadratic_rows":[8,6,14,13,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":666,"old":435,"rank":1,"right":{"linear_Z4":[1,1,0,2,0,2,0,0,0],"matrix_rows":[43,33,34,4,32,48,64,128,256],"offset":16,"phase":3,"quadratic_rows":[11,11,0,3,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":667,"old":435,"rank":1,"right":{"linear_Z4":[1,1,0,0,0,0,0,0,2],"matrix_rows":[323,321,322,4,8,16,32,256,384],"offset":135,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":716,"old":436,"rank":1,"right":{"linear_Z4":[2,1,0,2,0,0,2,0,0],"matrix_rows":[10,1,66,4,64,80,32,128,256],"offset":50,"phase":1,"quadratic_rows":[0,74,0,66,0,0,10,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":717,"old":436,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,2,0,0,0],"matrix_rows":[2,1,290,4,8,16,256,64,384],"offset":69,"phase":3,"quadratic_rows":[0,290,0,0,0,2,0,0,2]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":718,"old":436,"rank":1,"right":{"linear_Z4":[1,1,0,0,0,0,0,0,2],"matrix_rows":[291,289,290,4,8,16,256,64,384],"offset":71,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":719,"old":436,"rank":1,"right":{"linear_Z4":[3,3,0,2,0,0,2,0,0],"matrix_rows":[67,73,66,4,64,80,32,128,256],"offset":1,"phase":1,"quadratic_rows":[11,3,0,1,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":720,"old":436,"rank":1,"right":{"linear_Z4":[3,2,0,3,0,0,2,0,0],"matrix_rows":[73,67,64,68,72,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[11,1,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":721,"old":436,"rank":1,"right":{"linear_Z4":[1,0,0,1,0,0,0,0,2],"matrix_rows":[297,289,2,4,296,16,256,64,384],"offset":83,"phase":0,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":722,"old":436,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,2,0,0,0],"matrix_rows":[8,1,2,4,296,16,256,64,384],"offset":81,"phase":3,"quadratic_rows":[0,0,0,296,0,8,0,0,8]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":723,"old":436,"rank":1,"right":{"linear_Z4":[2,2,0,1,0,0,2,0,0],"matrix_rows":[10,1,64,68,72,16,32,128,256],"offset":14,"phase":1,"quadratic_rows":[0,72,0,74,0,0,10,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":684,"old":437,"rank":1,"right":{"linear_Z4":[2,1,0,2,0,0,2,0,0],"matrix_rows":[3,64,66,4,8,80,32,128,256],"offset":50,"phase":1,"quadratic_rows":[66,67,0,0,0,0,3,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":685,"old":437,"rank":1,"right":{"linear_Z4":[0,1,2,0,0,0,0,0,0],"matrix_rows":[2,1,262,256,8,16,32,64,384],"offset":13,"phase":3,"quadratic_rows":[0,262,2,0,0,0,0,0,2]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":686,"old":437,"rank":1,"right":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[8,1,10,12,64,80,96,128,256],"offset":73,"phase":3,"quadratic_rows":[0,8,8,70,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":687,"old":437,"rank":1,"right":{"linear_Z4":[2,2,0,3,0,0,0,0,0],"matrix_rows":[8,9,2,4,64,80,96,128,256],"offset":71,"phase":0,"quadratic_rows":[8,0,0,73,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":688,"old":437,"rank":1,"right":{"linear_Z4":[2,2,0,3,0,0,0,0,0],"matrix_rows":[8,1,10,4,64,80,96,128,256],"offset":39,"phase":0,"quadratic_rows":[0,8,0,74,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":689,"old":437,"rank":1,"right":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[8,9,2,12,64,80,96,128,256],"offset":41,"phase":3,"quadratic_rows":[8,0,8,69,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":690,"old":437,"rank":1,"right":{"linear_Z4":[1,0,2,0,0,0,0,0,0],"matrix_rows":[1,261,2,256,8,16,32,64,384],"offset":11,"phase":3,"quadratic_rows":[261,0,1,0,0,0,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":691,"old":437,"rank":1,"right":{"linear_Z4":[1,2,0,2,0,0,2,0,0],"matrix_rows":[3,65,64,4,8,16,96,128,256],"offset":84,"phase":1,"quadratic_rows":[67,65,0,0,0,0,3,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":445,"old":438,"rank":1,"right":{"linear_Z4":[0,3,3,3,0,0,0,3,2],"matrix_rows":[398,1,258,260,264,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,142,142,142,0,0,0,142,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":447,"old":438,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,2,0],"matrix_rows":[133,129,2,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":443,"old":439,"rank":1,"right":{"linear_Z4":[0,3,3,3,3,0,3,0,0],"matrix_rows":[30,65,194,132,200,208,32,128,256],"offset":1,"phase":1,"quadratic_rows":[64,222,158,222,222,0,91,30,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":446,"old":439,"rank":1,"right":{"linear_Z4":[2,3,1,2,3,0,3,0,2],"matrix_rows":[342,5,258,256,8,272,288,320,384],"offset":438,"phase":2,"quadratic_rows":[4,86,87,0,86,0,86,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":447,"old":440,"rank":1,"right":{"linear_Z4":[3,0,3,0,2,0,0,0,0],"matrix_rows":[21,17,2,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":448,"old":440,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,0,2],"matrix_rows":[261,257,2,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":446,"old":441,"rank":1,"right":{"linear_Z4":[1,1,0,1,1,0,1,2,2],"matrix_rows":[347,385,386,4,392,400,32,448,256],"offset":0,"phase":0,"quadratic_rows":[219,219,0,219,219,0,219,91,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":450,"old":441,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,1,1,2],"matrix_rows":[475,257,258,4,264,256,32,320,384],"offset":0,"phase":0,"quadratic_rows":[219,219,0,219,203,0,219,219,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":443,"old":442,"rank":1,"right":{"linear_Z4":[3,3,0,3,3,0,2,0,0],"matrix_rows":[91,65,66,4,72,80,32,128,256],"offset":1,"phase":1,"quadratic_rows":[27,27,0,27,27,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":448,"old":442,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,2,0,0],"matrix_rows":[69,65,2,68,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":449,"old":443,"rank":1,"right":{"linear_Z4":[1,3,2,3,3,0,2,0,0],"matrix_rows":[91,65,82,20,88,64,32,128,256],"offset":60,"phase":2,"quadratic_rows":[27,11,16,11,21,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":454,"old":443,"rank":1,"right":{"linear_Z4":[1,0,2,1,0,0,0,0,2],"matrix_rows":[9,261,2,256,264,16,288,64,384],"offset":0,"phase":0,"quadratic_rows":[269,0,1,265,0,0,0,0,9]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":445,"old":444,"rank":1,"right":{"linear_Z4":[3,3,0,3,0,0,3,3,0],"matrix_rows":[139,321,258,68,264,16,32,256,384],"offset":1,"phase":1,"quadratic_rows":[459,395,64,395,0,0,69,395,139]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":450,"old":444,"rank":1,"right":{"linear_Z4":[3,0,2,3,0,2,0,0,0],"matrix_rows":[41,37,2,32,40,48,64,128,256],"offset":1,"phase":1,"quadratic_rows":[13,0,1,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":452,"old":445,"rank":1,"right":{"linear_Z4":[2,3,1,3,0,0,0,1,2],"matrix_rows":[270,129,258,388,264,16,32,64,256],"offset":267,"phase":0,"quadratic_rows":[128,14,142,14,0,0,0,133,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":453,"old":445,"rank":1,"right":{"linear_Z4":[2,1,3,2,0,0,0,1,2],"matrix_rows":[390,5,258,256,8,272,288,320,384],"offset":250,"phase":2,"quadratic_rows":[4,134,135,0,0,0,0,134,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":451,"old":446,"rank":1,"right":{"linear_Z4":[3,3,0,3,0,0,3,0,0],"matrix_rows":[91,129,130,4,136,128,32,192,256],"offset":33,"phase":0,"quadratic_rows":[219,219,0,219,203,0,219,91,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":454,"old":446,"rank":1,"right":{"linear_Z4":[1,1,0,1,1,0,0,0,0],"matrix_rows":[91,193,194,4,200,208,32,128,256],"offset":183,"phase":0,"quadratic_rows":[155,155,0,155,155,0,128,91,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":452,"old":447,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,0,0,2],"matrix_rows":[11,257,258,4,264,16,32,64,128],"offset":0,"phase":0,"quadratic_rows":[267,267,0,267,0,0,0,0,11]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":455,"old":447,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,0,2],"matrix_rows":[261,257,2,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":449,"old":448,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":455,"old":448,"rank":1,"right":{"linear_Z4":[3,0,3,0,2,0,0,0,0],"matrix_rows":[21,17,2,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,11,19,33,66,2,131,259,3],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":456,"old":449,"rank":2,"right":{"linear_Z4":[2,2,1,2,0,0,0,0,1],"matrix_rows":[34,266,13,270,256,288,48,320,384],"offset":30,"phase":0,"quadratic_rows":[12,36,7,289,0,266,0,0,296]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[6,10,17,34,3,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":459,"old":449,"rank":2,"right":{"linear_Z4":[1,0,2,1,1,0,0,0,0],"matrix_rows":[276,271,277,272,256,280,288,320,384],"offset":1,"phase":1,"quadratic_rows":[27,29,10,31,27,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":451,"old":450,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,1,0,0],"matrix_rows":[203,385,386,4,392,16,32,448,256],"offset":407,"phase":0,"quadratic_rows":[331,331,0,331,0,0,331,256,203]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":453,"old":450,"rank":1,"right":{"linear_Z4":[3,3,0,3,0,0,0,3,0],"matrix_rows":[203,257,258,4,264,16,32,256,384],"offset":129,"phase":0,"quadratic_rows":[459,459,0,459,0,0,395,459,203]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[7,9,16,35,64,128,2,3,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":458,"old":451,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,0,0,1,0],"matrix_rows":[11,201,129,128,4,136,16,32,256],"offset":9,"phase":0,"quadratic_rows":[66,137,0,66,0,0,137,194,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,33,64,128,1,3,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":461,"old":451,"rank":2,"right":{"linear_Z4":[1,0,0,1,0,0,0,1,0],"matrix_rows":[201,2,65,128,4,72,16,32,256],"offset":10,"phase":0,"quadratic_rows":[137,128,0,137,0,0,128,203,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,11,19,33,67,130,259,3,1],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":457,"old":452,"rank":2,"right":{"linear_Z4":[2,2,1,3,0,0,0,1,0],"matrix_rows":[138,258,13,134,128,256,144,416,192],"offset":29,"phase":0,"quadratic_rows":[12,268,15,399,0,0,0,392,138]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[7,10,17,35,65,129,257,1,2],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":460,"old":452,"rank":2,"right":{"linear_Z4":[0,0,1,0,0,0,0,2,0],"matrix_rows":[137,15,389,256,128,392,144,160,192],"offset":10,"phase":0,"quadratic_rows":[258,269,270,262,0,0,0,0,15]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,33,64,128,256,1,3],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":458,"old":453,"rank":2,"right":{"linear_Z4":[1,0,0,1,0,0,0,0,1],"matrix_rows":[393,2,129,256,4,136,16,32,64],"offset":10,"phase":0,"quadratic_rows":[265,256,0,265,0,0,0,256,395]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[7,9,16,35,64,128,256,2,3],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":460,"old":453,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,1],"matrix_rows":[11,393,257,256,4,264,16,32,64],"offset":9,"phase":0,"quadratic_rows":[130,265,0,130,0,0,0,265,386]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,33,1,64,3,128,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":459,"old":454,"rank":2,"right":{"linear_Z4":[1,0,0,1,0,0,1,0,0],"matrix_rows":[89,2,17,64,4,24,32,128,256],"offset":10,"phase":0,"quadratic_rows":[73,64,0,73,64,0,91,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[7,9,16,35,2,64,3,128,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":461,"old":454,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,0,1,0,0],"matrix_rows":[11,89,65,64,4,72,32,128,256],"offset":9,"phase":0,"quadratic_rows":[18,73,0,18,73,0,82,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,19,33,67,2,131,259,3],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":456,"old":455,"rank":2,"right":{"linear_Z4":[2,1,0,1,0,0,0,0,3],"matrix_rows":[44,266,13,46,256,288,272,320,384],"offset":31,"phase":1,"quadratic_rows":[12,294,267,45,0,266,0,0,294]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,9,19,33,67,2,131,259,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":457,"old":455,"rank":2,"right":{"linear_Z4":[2,1,0,3,0,0,0,0,1],"matrix_rows":[266,292,13,294,256,288,272,320,384],"offset":31,"phase":1,"quadratic_rows":[12,46,267,47,0,266,0,0,292]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,19,35,66,1,130,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":456,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,2],"matrix_rows":[1,258,32,256,292,296,272,320,384],"offset":62,"phase":1,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":812,"old":456,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,2,36,40,16,64,128,256],"offset":26,"phase":1,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":875,"old":456,"rank":1,"right":{"linear_Z4":[1,2,0,0,0,0,0,0,0],"matrix_rows":[1,259,256,260,264,272,32,320,384],"offset":31,"phase":1,"quadratic_rows":[259,1,0,0,0,0,0,0,1]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":456,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,260,264,272,32,320,384],"offset":29,"phase":2,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,19,33,66,3,130,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":457,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[1,258,288,256,36,296,272,320,384],"offset":42,"phase":3,"quadratic_rows":[288,0,0,0,0,1,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":818,"old":457,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,2,36,40,16,64,128,256],"offset":16,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":893,"old":457,"rank":1,"right":{"linear_Z4":[1,2,0,0,0,0,0,0,0],"matrix_rows":[1,259,256,260,8,272,288,320,384],"offset":79,"phase":1,"quadratic_rows":[259,1,0,0,0,0,0,0,1]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,34,64,2,128,3,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":458,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,0,0,1,0],"matrix_rows":[129,136,160,2,164,32,16,64,256],"offset":51,"phase":0,"quadratic_rows":[32,0,0,160,0,9,0,136,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":814,"old":458,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,0],"matrix_rows":[9,129,2,4,128,16,160,64,256],"offset":64,"phase":3,"quadratic_rows":[137,0,0,129,0,0,0,9,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":881,"old":458,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,0,2,0],"matrix_rows":[9,128,2,132,136,16,32,64,256],"offset":8,"phase":3,"quadratic_rows":[136,0,0,137,0,0,0,9,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,34,3,2,64,128,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":459,"rank":2,"right":{"linear_Z4":[2,0,0,0,1,0,0,0,0],"matrix_rows":[17,24,48,2,52,32,64,128,256],"offset":51,"phase":0,"quadratic_rows":[32,0,0,48,24,9,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":810,"old":459,"rank":1,"right":{"linear_Z4":[3,0,0,2,0,2,0,0,0],"matrix_rows":[9,33,2,4,32,48,64,128,256],"offset":50,"phase":1,"quadratic_rows":[41,0,0,33,0,9,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":869,"old":459,"rank":1,"right":{"linear_Z4":[0,0,0,1,2,0,0,0,0],"matrix_rows":[9,16,2,20,24,32,64,128,256],"offset":8,"phase":3,"quadratic_rows":[24,0,0,25,9,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,34,64,2,128,256,3],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":460,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,0,0,0,1],"matrix_rows":[257,264,288,2,292,32,16,64,128],"offset":51,"phase":0,"quadratic_rows":[32,0,0,288,0,9,0,0,264]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":816,"old":460,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[9,257,2,4,256,16,288,64,128],"offset":64,"phase":3,"quadratic_rows":[265,0,0,257,0,0,0,0,9]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":887,"old":460,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,0,0,2],"matrix_rows":[9,256,2,260,264,16,32,64,128],"offset":8,"phase":3,"quadratic_rows":[264,0,0,265,0,0,0,0,9]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":460,"rank":1,"right":{"linear_Z4":[2,0,0,3,0,0,0,0,2],"matrix_rows":[264,9,2,4,256,16,288,64,128],"offset":67,"phase":3,"quadratic_rows":[8,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,34,64,2,3,128,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":461,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,0,1,0,0],"matrix_rows":[65,72,96,2,100,32,16,128,256],"offset":51,"phase":0,"quadratic_rows":[32,0,0,96,0,9,72,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":820,"old":461,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,2,0,0],"matrix_rows":[9,65,2,4,64,16,96,128,256],"offset":64,"phase":3,"quadratic_rows":[73,0,0,65,0,0,9,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":899,"old":461,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,2,0,0],"matrix_rows":[9,64,2,68,72,16,32,128,256],"offset":8,"phase":3,"quadratic_rows":[72,0,0,73,0,0,9,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":461,"rank":1,"right":{"linear_Z4":[2,0,0,3,0,0,2,0,0],"matrix_rows":[72,9,2,4,64,16,96,128,256],"offset":67,"phase":3,"quadratic_rows":[8,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":464,"old":462,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,3,0,2],"matrix_rows":[322,1,258,4,8,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,66,0,0,0,0,66,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":473,"old":462,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,1,0,2],"matrix_rows":[64,1,2,4,8,16,32,320,128],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,320,0,64]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":464,"old":463,"rank":1,"right":{"linear_Z4":[0,0,3,3,2,0,0,0,0],"matrix_rows":[28,1,2,20,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":468,"old":463,"rank":1,"right":{"linear_Z4":[3,0,3,0,2,0,0,0,0],"matrix_rows":[21,17,2,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":477,"old":464,"rank":1,"right":{"linear_Z4":[2,0,2,1,0,2,0,0,0],"matrix_rows":[40,9,2,4,32,48,64,128,256],"offset":42,"phase":3,"quadratic_rows":[8,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":480,"old":464,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,8,16,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":471,"old":465,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,0,0],"matrix_rows":[2,1,66,4,8,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,66,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":473,"old":465,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,1,2],"matrix_rows":[258,1,386,4,8,16,32,192,256],"offset":389,"phase":0,"quadratic_rows":[0,130,0,0,0,0,128,194,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":469,"old":466,"rank":1,"right":{"linear_Z4":[0,2,0,0,0,0,1,3,2],"matrix_rows":[448,1,130,4,8,16,32,320,256],"offset":260,"phase":2,"quadratic_rows":[0,128,0,0,0,0,192,194,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":472,"old":466,"rank":1,"right":{"linear_Z4":[0,2,0,0,0,0,3,1,2],"matrix_rows":[448,1,66,4,8,16,32,256,384],"offset":132,"phase":2,"quadratic_rows":[0,64,0,0,0,0,194,192,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":468,"old":467,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,3,2,0],"matrix_rows":[194,1,130,4,8,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,66,0,0,0,0,66,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":469,"old":467,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,0],"matrix_rows":[2,1,130,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,130,0,0,0,0,0,2,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":475,"old":468,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[320,1,2,4,8,16,32,256,384],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":477,"old":468,"rank":1,"right":{"linear_Z4":[3,0,3,2,0,0,0,0,0],"matrix_rows":[5,41,2,36,32,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[45,0,37,1,0,5,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":475,"old":469,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[322,1,258,4,8,16,32,256,128],"offset":0,"phase":0,"quadratic_rows":[0,66,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":476,"old":469,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,0,2],"matrix_rows":[258,1,322,4,8,16,32,256,128],"offset":0,"phase":0,"quadratic_rows":[0,66,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":471,"old":470,"rank":1,"right":{"linear_Z4":[0,0,3,3,2,0,0,0,0],"matrix_rows":[28,1,2,20,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":472,"old":470,"rank":1,"right":{"linear_Z4":[3,0,3,0,2,0,0,0,0],"matrix_rows":[21,17,2,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":474,"old":471,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[386,1,258,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,130,0,0,0,0,0,2,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":479,"old":471,"rank":1,"right":{"linear_Z4":[2,0,2,1,0,2,0,0,0],"matrix_rows":[40,9,2,4,32,48,64,128,256],"offset":42,"phase":3,"quadratic_rows":[8,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":476,"old":472,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,2],"matrix_rows":[258,1,386,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,130,0,0,0,0,0,2,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":479,"old":472,"rank":1,"right":{"linear_Z4":[3,0,3,2,0,0,0,0,0],"matrix_rows":[5,41,2,36,32,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[45,0,37,1,0,5,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":474,"old":473,"rank":1,"right":{"linear_Z4":[0,2,0,0,0,0,3,0,2],"matrix_rows":[320,1,66,4,8,16,32,256,384],"offset":388,"phase":1,"quadratic_rows":[0,64,0,0,0,0,66,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":480,"old":473,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,1,2,0],"matrix_rows":[194,1,128,4,8,16,32,192,256],"offset":0,"phase":0,"quadratic_rows":[0,64,0,0,0,0,66,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,17,32,65,1,130,256,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":459,"old":474,"rank":2,"right":{"linear_Z4":[2,0,1,2,0,2,0,0,2],"matrix_rows":[36,258,5,256,32,8,48,320,128],"offset":110,"phase":3,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,19,1,34,2,64,128,256],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":482,"old":474,"rank":2,"right":{"linear_Z4":[2,0,0,3,0,1,0,0,0],"matrix_rows":[44,36,13,2,32,48,64,128,256],"offset":23,"phase":0,"quadratic_rows":[12,0,33,41,0,44,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,19,33,3,2,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":478,"old":475,"rank":2,"right":{"linear_Z4":[2,0,0,1,2,0,0,0,0],"matrix_rows":[60,36,13,2,16,48,64,128,256],"offset":37,"phase":3,"quadratic_rows":[12,0,1,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[6,9,18,34,64,2,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":481,"old":475,"rank":2,"right":{"linear_Z4":[3,0,3,2,0,0,0,0,2],"matrix_rows":[258,5,33,256,44,32,16,64,384],"offset":11,"phase":1,"quadratic_rows":[37,0,45,4,0,5,0,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[6,9,18,34,64,2,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":481,"old":476,"rank":2,"right":{"linear_Z4":[3,0,3,2,0,0,0,2,0],"matrix_rows":[130,5,33,128,44,32,16,192,256],"offset":11,"phase":1,"quadratic_rows":[37,0,45,4,0,5,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,19,33,3,2,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":484,"old":476,"rank":2,"right":{"linear_Z4":[2,0,0,1,2,0,0,0,0],"matrix_rows":[60,36,13,2,16,48,64,128,256],"offset":37,"phase":3,"quadratic_rows":[12,0,1,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,17,32,65,1,130,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":478,"old":477,"rank":2,"right":{"linear_Z4":[2,0,3,0,0,2,0,0,2],"matrix_rows":[36,320,5,2,32,8,48,256,384],"offset":84,"phase":1,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,17,32,65,1,128,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":483,"old":477,"rank":2,"right":{"linear_Z4":[2,0,3,0,0,2,0,0,2],"matrix_rows":[36,258,5,256,32,8,48,64,384],"offset":84,"phase":1,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,17,33,64,1,128,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":478,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,2],"matrix_rows":[1,258,32,256,36,40,16,64,384],"offset":14,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":860,"old":478,"rank":1,"right":{"linear_Z4":[1,2,0,0,0,0,0,0,0],"matrix_rows":[1,259,256,4,8,16,32,64,384],"offset":7,"phase":3,"quadratic_rows":[259,1,0,0,0,0,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1019,"old":478,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,2,36,40,16,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":478,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,8,16,32,64,384],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,17,32,65,1,128,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":482,"old":479,"rank":2,"right":{"linear_Z4":[2,1,3,0,0,2,0,0,2],"matrix_rows":[36,386,5,258,32,8,48,64,256],"offset":84,"phase":1,"quadratic_rows":[4,130,5,0,0,0,0,2,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,17,32,65,1,128,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":484,"old":479,"rank":2,"right":{"linear_Z4":[2,1,3,0,0,2,0,2,2],"matrix_rows":[36,258,5,386,32,8,48,64,256],"offset":84,"phase":1,"quadratic_rows":[4,130,5,0,0,0,0,2,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,17,32,65,1,130,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":459,"old":480,"rank":2,"right":{"linear_Z4":[2,0,1,2,0,2,0,0,2],"matrix_rows":[36,320,5,2,32,8,48,256,384],"offset":230,"phase":3,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,19,1,34,2,64,128,256],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":483,"old":480,"rank":2,"right":{"linear_Z4":[2,0,0,3,0,1,0,0,0],"matrix_rows":[44,36,13,2,32,48,64,128,256],"offset":23,"phase":0,"quadratic_rows":[12,0,33,41,0,44,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,18,34,3,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":481,"rank":2,"right":{"linear_Z4":[0,0,2,0,1,0,0,0,0],"matrix_rows":[17,20,32,2,48,56,64,128,256],"offset":39,"phase":0,"quadratic_rows":[48,0,32,0,17,5,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":858,"old":481,"rank":1,"right":{"linear_Z4":[2,0,3,0,0,2,0,0,0],"matrix_rows":[5,32,2,36,8,48,64,128,256],"offset":42,"phase":1,"quadratic_rows":[36,0,37,0,0,5,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1013,"old":481,"rank":1,"right":{"linear_Z4":[1,0,0,0,2,0,0,0,0],"matrix_rows":[5,17,2,16,24,32,64,128,256],"offset":16,"phase":3,"quadratic_rows":[21,0,17,0,5,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,17,33,64,1,130,256,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":482,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,2],"matrix_rows":[1,258,32,256,36,40,16,320,128],"offset":14,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":854,"old":482,"rank":1,"right":{"linear_Z4":[1,2,0,0,0,0,0,0,0],"matrix_rows":[1,259,256,4,8,16,32,320,128],"offset":7,"phase":3,"quadratic_rows":[259,1,0,0,0,0,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1001,"old":482,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,2,36,40,16,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,33,64,1,130,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":483,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,2],"matrix_rows":[1,320,32,2,36,40,16,256,384],"offset":134,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":813,"old":483,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,2,0,0],"matrix_rows":[1,321,2,4,8,16,32,256,384],"offset":131,"phase":3,"quadratic_rows":[321,0,0,0,0,0,1,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":874,"old":483,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,2,36,40,16,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":483,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[320,1,2,4,8,16,32,256,384],"offset":129,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,17,33,64,1,130,2,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":484,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,2,0,2,0],"matrix_rows":[1,130,32,128,36,40,16,192,256],"offset":14,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":856,"old":484,"rank":1,"right":{"linear_Z4":[1,2,0,0,0,0,0,0,0],"matrix_rows":[1,131,128,4,8,16,32,192,256],"offset":7,"phase":3,"quadratic_rows":[131,1,0,0,0,0,0,1,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1007,"old":484,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,2,36,40,16,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":484,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[130,1,128,4,8,16,32,192,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":491,"old":485,"rank":1,"right":{"linear_Z4":[0,1,0,0,2,0,0,0,0],"matrix_rows":[2,1,18,4,8,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,18,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":492,"old":485,"rank":1,"right":{"linear_Z4":[2,0,2,1,0,0,0,2,0],"matrix_rows":[136,9,2,4,128,16,160,64,256],"offset":91,"phase":1,"quadratic_rows":[8,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":494,"old":486,"rank":1,"right":{"linear_Z4":[2,0,2,1,0,0,0,2,0],"matrix_rows":[136,1,2,12,128,16,160,64,256],"offset":91,"phase":1,"quadratic_rows":[0,0,8,12,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":495,"old":486,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,0,0],"matrix_rows":[2,1,66,4,8,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,66,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":495,"old":487,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,2,0],"matrix_rows":[137,129,2,4,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":502,"old":487,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,2,0],"matrix_rows":[140,1,2,132,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":494,"old":488,"rank":1,"right":{"linear_Z4":[0,3,0,0,3,0,0,0,2],"matrix_rows":[274,1,258,4,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":496,"old":488,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,3,0,2],"matrix_rows":[322,1,258,4,8,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,66,0,0,0,0,66,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":492,"old":489,"rank":1,"right":{"linear_Z4":[3,0,3,2,0,0,0,0,0],"matrix_rows":[5,41,2,36,32,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[45,0,37,1,0,5,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":496,"old":489,"rank":1,"right":{"linear_Z4":[3,0,3,2,0,0,0,0,0],"matrix_rows":[5,33,2,44,32,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[37,0,45,4,0,5,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":491,"old":490,"rank":1,"right":{"linear_Z4":[0,2,0,0,3,0,1,0,2],"matrix_rows":[336,1,18,4,8,256,32,320,128],"offset":36,"phase":2,"quadratic_rows":[0,16,0,0,82,0,80,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":502,"old":490,"rank":1,"right":{"linear_Z4":[0,2,0,0,1,0,3,0,2],"matrix_rows":[336,1,66,4,8,272,32,256,128],"offset":132,"phase":2,"quadratic_rows":[0,64,0,0,80,0,82,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":493,"old":491,"rank":1,"right":{"linear_Z4":[2,0,2,1,0,0,0,2,0],"matrix_rows":[136,9,2,4,128,16,160,64,256],"offset":91,"phase":1,"quadratic_rows":[8,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":503,"old":491,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,0,2],"matrix_rows":[258,1,322,4,8,16,32,256,128],"offset":0,"phase":0,"quadratic_rows":[0,66,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":493,"old":492,"rank":1,"right":{"linear_Z4":[0,1,0,0,2,0,0,0,0],"matrix_rows":[2,1,18,4,8,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,18,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":497,"old":492,"rank":1,"right":{"linear_Z4":[2,0,3,0,0,0,0,2,0],"matrix_rows":[132,5,2,128,8,16,160,64,256],"offset":67,"phase":3,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,17,32,64,129,258,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":498,"old":493,"rank":2,"right":{"linear_Z4":[2,1,3,0,0,0,0,2,2],"matrix_rows":[132,322,5,258,128,8,16,160,256],"offset":133,"phase":3,"quadratic_rows":[4,66,5,0,0,0,2,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,9,16,32,65,128,2,256,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":504,"old":493,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,3],"matrix_rows":[258,320,1,256,4,8,272,32,128],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,256,0,320]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":499,"old":494,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,2,0,0],"matrix_rows":[16,1,2,4,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,80,0,16,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":501,"old":494,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,0,0],"matrix_rows":[2,1,66,4,8,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,66,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":501,"old":495,"rank":1,"right":{"linear_Z4":[2,0,2,1,0,0,0,2,0],"matrix_rows":[136,1,2,12,128,16,160,64,256],"offset":91,"phase":1,"quadratic_rows":[0,0,8,12,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":505,"old":495,"rank":1,"right":{"linear_Z4":[3,0,2,3,0,0,0,0,0],"matrix_rows":[9,37,2,32,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[45,0,1,41,0,9,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":497,"old":496,"rank":1,"right":{"linear_Z4":[2,0,3,0,0,0,0,2,0],"matrix_rows":[132,5,2,128,136,16,32,64,256],"offset":19,"phase":3,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":499,"old":496,"rank":1,"right":{"linear_Z4":[0,1,0,0,2,0,3,0,2],"matrix_rows":[322,1,258,4,8,80,32,256,128],"offset":160,"phase":2,"quadratic_rows":[0,66,0,0,64,0,82,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,11,16,32,1,64,130,256,2],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":498,"old":497,"rank":2,"right":{"linear_Z4":[0,2,0,0,3,0,0,0,3],"matrix_rows":[258,338,1,274,4,8,32,256,128],"offset":0,"phase":0,"quadratic_rows":[0,320,0,0,80,0,18,0,258]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,9,16,32,65,128,2,256,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":500,"old":497,"rank":2,"right":{"linear_Z4":[0,0,0,0,3,0,2,0,3],"matrix_rows":[338,320,1,256,4,8,336,32,128],"offset":9,"phase":0,"quadratic_rows":[0,80,0,0,18,0,258,0,320]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,17,33,66,1,128,256,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":498,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,2],"matrix_rows":[1,258,32,256,36,40,272,64,128],"offset":14,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":864,"old":498,"rank":1,"right":{"linear_Z4":[1,2,0,0,0,0,0,0,0],"matrix_rows":[1,259,256,4,8,272,32,64,128],"offset":7,"phase":3,"quadratic_rows":[259,1,0,0,0,0,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1031,"old":498,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,2,36,40,16,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":498,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,8,272,32,64,128],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,17,33,66,128,256,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":500,"old":499,"rank":2,"right":{"linear_Z4":[2,0,3,0,1,0,0,2,2],"matrix_rows":[132,274,5,256,128,136,272,32,64],"offset":37,"phase":3,"quadratic_rows":[4,16,5,0,18,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,16,32,66,128,2,256,3],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":506,"old":499,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,1],"matrix_rows":[66,272,1,320,4,8,64,32,128],"offset":66,"phase":0,"quadratic_rows":[0,256,0,0,320,0,272,0,338]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,33,66,1,130,256,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":500,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,2],"matrix_rows":[1,272,32,2,36,40,256,320,128],"offset":70,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":817,"old":500,"rank":1,"right":{"linear_Z4":[1,0,0,0,2,0,0,0,0],"matrix_rows":[1,273,2,4,8,256,32,320,128],"offset":35,"phase":3,"quadratic_rows":[273,0,0,0,1,0,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":886,"old":500,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,2,36,40,16,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":500,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[272,1,2,4,8,256,32,320,128],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,17,33,66,128,256,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":482,"old":501,"rank":2,"right":{"linear_Z4":[2,1,3,0,0,0,0,2,2],"matrix_rows":[132,274,5,258,128,136,256,32,64],"offset":37,"phase":3,"quadratic_rows":[4,18,5,0,2,0,0,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,9,16,32,66,128,1,256,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":506,"old":501,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,1],"matrix_rows":[258,80,1,64,4,8,320,32,128],"offset":9,"phase":0,"quadratic_rows":[0,320,0,0,256,0,258,0,338]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":503,"old":502,"rank":1,"right":{"linear_Z4":[0,1,0,0,2,0,0,0,2],"matrix_rows":[258,1,274,4,8,256,32,64,128],"offset":0,"phase":0,"quadratic_rows":[0,18,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":505,"old":502,"rank":1,"right":{"linear_Z4":[2,0,1,2,0,0,0,2,0],"matrix_rows":[132,5,2,128,8,16,160,64,256],"offset":91,"phase":1,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,17,32,66,129,2,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":458,"old":503,"rank":2,"right":{"linear_Z4":[2,0,1,2,0,0,2,2,0],"matrix_rows":[132,66,5,64,128,8,80,160,256],"offset":191,"phase":1,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,16,33,66,129,2,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":504,"old":503,"rank":2,"right":{"linear_Z4":[2,0,2,1,0,0,2,2,0],"matrix_rows":[136,66,9,64,4,128,80,160,256],"offset":191,"phase":1,"quadratic_rows":[8,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,18,33,64,2,128,3,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":504,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,0,0,1,0],"matrix_rows":[129,132,160,2,32,168,16,64,256],"offset":51,"phase":0,"quadratic_rows":[32,0,160,0,0,5,0,132,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":857,"old":504,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,2,0],"matrix_rows":[5,128,2,132,136,16,32,64,256],"offset":16,"phase":3,"quadratic_rows":[132,0,133,0,0,0,0,5,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1006,"old":504,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,0],"matrix_rows":[5,129,2,128,8,16,160,64,256],"offset":64,"phase":3,"quadratic_rows":[133,0,129,0,0,0,0,5,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":504,"rank":1,"right":{"linear_Z4":[2,0,3,0,0,0,0,2,0],"matrix_rows":[132,5,2,128,8,16,160,64,256],"offset":67,"phase":3,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,9,16,32,66,128,1,256,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":458,"old":505,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,1],"matrix_rows":[258,80,1,64,4,8,320,32,128],"offset":9,"phase":0,"quadratic_rows":[0,320,0,0,256,0,258,0,338]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,16,33,66,129,256,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":482,"old":505,"rank":2,"right":{"linear_Z4":[2,1,0,3,0,0,0,2,2],"matrix_rows":[136,274,9,258,4,128,256,160,64],"offset":133,"phase":3,"quadratic_rows":[8,18,0,9,2,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,18,34,64,1,128,3,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":506,"rank":2,"right":{"linear_Z4":[0,0,2,0,0,0,0,1,0],"matrix_rows":[129,132,32,2,160,168,16,64,256],"offset":39,"phase":0,"quadratic_rows":[160,0,32,0,0,5,0,129,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":862,"old":506,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,2,0],"matrix_rows":[5,128,2,132,8,16,160,64,256],"offset":64,"phase":3,"quadratic_rows":[132,0,133,0,0,0,0,5,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1025,"old":506,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,0],"matrix_rows":[5,129,2,128,136,16,32,64,256],"offset":16,"phase":3,"quadratic_rows":[133,0,129,0,0,0,0,5,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":509,"old":507,"rank":1,"right":{"linear_Z4":[3,3,3,0,0,0,3,0,2],"matrix_rows":[327,257,258,260,8,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[71,71,71,0,0,0,71,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":519,"old":507,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,0,2],"matrix_rows":[268,1,2,260,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":509,"old":508,"rank":1,"right":{"linear_Z4":[3,3,0,3,0,0,3,3,0],"matrix_rows":[75,257,258,132,392,16,32,320,256],"offset":1,"phase":1,"quadratic_rows":[331,331,128,459,0,0,331,140,75]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":523,"old":508,"rank":1,"right":{"linear_Z4":[2,3,2,1,0,0,3,3,2],"matrix_rows":[458,1,258,12,256,272,288,320,384],"offset":123,"phase":0,"quadratic_rows":[0,202,8,206,0,0,202,202,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":522,"old":509,"rank":1,"right":{"linear_Z4":[3,3,1,2,0,0,3,0,2],"matrix_rows":[327,321,322,260,72,16,32,256,128],"offset":150,"phase":2,"quadratic_rows":[7,7,71,64,0,0,76,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":525,"old":509,"rank":1,"right":{"linear_Z4":[1,0,1,2,0,0,0,2,0],"matrix_rows":[5,129,2,140,128,144,160,64,256],"offset":0,"phase":0,"quadratic_rows":[133,0,141,4,0,0,0,5,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":514,"old":510,"rank":1,"right":{"linear_Z4":[1,2,1,0,1,0,1,1,0],"matrix_rows":[213,385,130,388,8,400,32,448,256],"offset":431,"phase":3,"quadratic_rows":[341,128,341,0,341,0,341,386,213]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":515,"old":510,"rank":1,"right":{"linear_Z4":[3,2,3,0,0,2,0,0,0],"matrix_rows":[39,33,32,36,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[7,5,7,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":517,"old":511,"rank":1,"right":{"linear_Z4":[3,0,3,3,0,0,0,0,2],"matrix_rows":[5,257,10,268,256,16,288,64,384],"offset":90,"phase":0,"quadratic_rows":[261,8,269,14,0,0,0,0,5]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":519,"old":511,"rank":1,"right":{"linear_Z4":[0,0,3,3,2,0,0,0,0],"matrix_rows":[28,1,2,20,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":515,"old":512,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,1,1,2],"matrix_rows":[471,257,256,260,8,272,32,320,384],"offset":0,"phase":0,"quadratic_rows":[215,213,215,0,215,0,215,215,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":523,"old":512,"rank":1,"right":{"linear_Z4":[1,1,1,0,0,0,1,1,2],"matrix_rows":[471,257,258,260,8,256,32,320,384],"offset":0,"phase":0,"quadratic_rows":[215,215,215,0,199,0,215,215,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":514,"old":513,"rank":1,"right":{"linear_Z4":[1,1,1,0,1,0,1,2,0],"matrix_rows":[87,129,130,132,8,144,32,192,256],"offset":0,"phase":0,"quadratic_rows":[215,215,215,0,215,0,215,87,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":517,"old":513,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,0],"matrix_rows":[2,1,130,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,130,0,0,0,0,0,2,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":516,"old":514,"rank":1,"right":{"linear_Z4":[2,0,2,0,3,0,3,0,2],"matrix_rows":[338,1,256,4,264,272,288,320,384],"offset":95,"phase":0,"quadratic_rows":[0,80,0,0,82,0,82,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":518,"old":514,"rank":1,"right":{"linear_Z4":[3,3,3,0,3,0,2,0,0],"matrix_rows":[23,193,130,196,8,208,32,128,256],"offset":1,"phase":1,"quadratic_rows":[215,151,215,0,215,0,21,23,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":516,"old":515,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,1,0,0],"matrix_rows":[213,385,2,388,8,400,32,448,256],"offset":427,"phase":0,"quadratic_rows":[341,0,341,0,341,0,341,256,213]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":524,"old":515,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,3,3,0],"matrix_rows":[213,257,2,260,8,256,32,320,384],"offset":33,"phase":0,"quadratic_rows":[469,0,469,0,453,0,469,469,213]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,32,65,128,2,3,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":481,"old":516,"rank":2,"right":{"linear_Z4":[1,0,1,0,0,0,0,1,0],"matrix_rows":[21,192,145,2,148,8,128,32,256],"offset":85,"phase":0,"quadratic_rows":[133,0,133,0,128,0,128,213,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[7,8,19,32,65,128,2,3,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":506,"old":516,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,0,0,1,0],"matrix_rows":[21,197,129,2,132,8,128,32,256],"offset":65,"phase":0,"quadratic_rows":[80,0,80,0,133,0,133,208,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":518,"old":517,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":520,"old":517,"rank":1,"right":{"linear_Z4":[0,1,0,0,2,0,0,0,0],"matrix_rows":[2,1,18,4,8,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,18,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,10,19,34,65,130,1,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":481,"old":518,"rank":2,"right":{"linear_Z4":[2,0,2,0,0,0,0,0,2],"matrix_rows":[21,263,337,256,340,264,64,288,384],"offset":235,"phase":0,"quadratic_rows":[66,5,66,0,64,0,21,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,8,17,33,2,64,3,128,256],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":521,"old":518,"rank":2,"right":{"linear_Z4":[2,0,3,0,3,0,3,0,0],"matrix_rows":[68,80,5,18,64,72,32,128,256],"offset":20,"phase":2,"quadratic_rows":[4,16,5,0,82,0,80,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":520,"old":519,"rank":1,"right":{"linear_Z4":[1,3,1,2,0,0,0,0,0],"matrix_rows":[15,257,266,268,256,272,288,64,384],"offset":91,"phase":1,"quadratic_rows":[271,263,263,257,0,0,0,0,15]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":522,"old":519,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,19,3,32,64,2,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":457,"old":520,"rank":2,"right":{"linear_Z4":[2,1,2,2,0,0,0,0,0],"matrix_rows":[74,68,5,78,8,16,32,128,256],"offset":29,"phase":0,"quadratic_rows":[4,6,3,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,11,17,1,32,64,2,128,256],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":521,"old":520,"rank":2,"right":{"linear_Z4":[2,2,3,3,0,0,3,0,0],"matrix_rows":[78,10,5,74,8,16,32,128,256],"offset":20,"phase":2,"quadratic_rows":[4,12,71,10,0,0,68,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,17,35,66,3,130,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":521,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[1,258,288,256,292,40,272,320,384],"offset":26,"phase":3,"quadratic_rows":[288,0,0,0,0,1,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":861,"old":521,"rank":1,"right":{"linear_Z4":[1,2,0,0,0,0,0,0,0],"matrix_rows":[1,259,256,4,264,272,288,320,384],"offset":87,"phase":1,"quadratic_rows":[259,1,0,0,0,0,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1018,"old":521,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,2,36,40,16,64,128,256],"offset":8,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":521,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,264,272,288,320,384],"offset":85,"phase":2,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,10,19,33,66,130,1,258,2],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":457,"old":522,"rank":2,"right":{"linear_Z4":[2,3,2,3,0,0,3,0,1],"matrix_rows":[332,66,13,262,320,64,272,288,384],"offset":141,"phase":0,"quadratic_rows":[12,326,259,265,0,0,66,0,270]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,10,19,33,66,130,1,258,2],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":527,"old":522,"rank":2,"right":{"linear_Z4":[2,3,2,1,0,0,3,0,1],"matrix_rows":[332,74,13,270,320,64,272,288,384],"offset":45,"phase":0,"quadratic_rows":[12,326,267,77,0,0,74,0,262]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":524,"old":523,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,3,3,0],"matrix_rows":[199,257,256,260,8,16,32,320,384],"offset":5,"phase":0,"quadratic_rows":[455,453,455,0,0,0,455,455,199]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":525,"old":523,"rank":1,"right":{"linear_Z4":[3,3,3,0,0,0,3,0,0],"matrix_rows":[199,257,258,260,8,16,32,320,256],"offset":257,"phase":0,"quadratic_rows":[455,455,455,0,0,0,455,327,199]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,32,64,128,258,1,3],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":506,"old":524,"rank":2,"right":{"linear_Z4":[1,0,1,0,0,0,0,0,1],"matrix_rows":[389,64,129,2,132,8,16,32,256],"offset":258,"phase":0,"quadratic_rows":[261,0,261,0,0,0,256,256,453]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[7,8,19,32,64,128,257,2,3],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":526,"old":524,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,1],"matrix_rows":[69,389,257,2,260,8,16,32,256],"offset":257,"phase":0,"quadratic_rows":[192,0,192,0,0,0,261,261,448]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[7,9,19,32,64,128,2,256,3],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":526,"old":525,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,1],"matrix_rows":[7,325,257,256,260,8,16,32,128],"offset":9,"phase":0,"quadratic_rows":[66,261,66,0,0,0,261,0,322]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,8,17,33,64,128,2,256,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":527,"old":525,"rank":2,"right":{"linear_Z4":[2,2,0,0,0,0,0,0,3],"matrix_rows":[260,320,5,6,256,264,16,32,128],"offset":29,"phase":0,"quadratic_rows":[4,4,3,0,0,0,256,0,320]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,18,34,64,1,128,256,3],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":526,"rank":2,"right":{"linear_Z4":[0,0,2,0,0,0,0,0,1],"matrix_rows":[257,260,32,2,288,296,16,64,128],"offset":39,"phase":0,"quadratic_rows":[288,0,32,0,0,5,0,0,257]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":865,"old":526,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,0,2],"matrix_rows":[5,256,2,260,8,16,288,64,128],"offset":64,"phase":3,"quadratic_rows":[260,0,261,0,0,0,0,0,5]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1030,"old":526,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[5,257,2,256,264,16,32,64,128],"offset":16,"phase":3,"quadratic_rows":[261,0,257,0,0,0,0,0,5]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":526,"rank":1,"right":{"linear_Z4":[2,0,3,0,0,0,0,0,2],"matrix_rows":[260,5,2,256,264,16,32,64,128],"offset":19,"phase":3,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,19,3,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":527,"rank":2,"right":{"linear_Z4":[2,0,0,2,0,0,0,0,0],"matrix_rows":[1,42,32,40,12,16,64,128,256],"offset":4,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":821,"old":527,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,2,36,40,16,64,128,256],"offset":26,"phase":1,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":898,"old":527,"rank":1,"right":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[1,11,8,12,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[11,1,0,1,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":527,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[10,1,8,12,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":35,"old":528,"rank":1,"right":{"linear_Z4":[3,0,3,0,2,0,0,0,0],"matrix_rows":[21,17,2,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,17,33,64,132,1,262,2,4],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":576,"old":528,"rank":3,"right":{"linear_Z4":[2,1,1,0,3,2,1,0,1],"matrix_rows":[34,448,400,5,38,32,8,464,256],"offset":443,"phase":3,"quadratic_rows":[4,6,7,0,80,0,336,256,448]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,18,33,2,64,3,132,260,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":580,"old":528,"rank":3,"right":{"linear_Z4":[2,0,1,2,2,1,1,1,2],"matrix_rows":[12,34,320,5,8,40,144,448,256],"offset":493,"phase":3,"quadratic_rows":[4,40,37,34,128,46,192,208,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":35,"old":529,"rank":1,"right":{"linear_Z4":[1,0,1,0,0,0,3,3,0],"matrix_rows":[213,273,2,276,8,256,32,320,384],"offset":43,"phase":0,"quadratic_rows":[453,0,453,0,448,0,469,469,213]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[15,16,39,64,131,256,5,1,7],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":648,"old":529,"rank":3,"right":{"linear_Z4":[1,0,1,0,2,0,2,1,3],"matrix_rows":[213,21,325,257,210,260,8,256,32],"offset":1,"phase":1,"quadratic_rows":[133,208,133,0,258,0,258,135,336]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[11,18,35,66,132,2,257,1,5],"offset":0,"phase":0,"quadratic_rows":[4,0,5,0,0,0,0,0,0]},"new":652,"old":529,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,2,1,2,1],"matrix_rows":[325,39,16,161,32,164,40,256,192],"offset":134,"phase":1,"quadratic_rows":[450,5,450,0,256,0,453,69,341]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":64,"old":530,"rank":1,"right":{"linear_Z4":[3,0,3,0,3,0,2,0,0],"matrix_rows":[21,321,2,324,8,336,32,256,384],"offset":1,"phase":1,"quadratic_rows":[341,0,341,0,341,0,21,0,21]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,17,35,1,64,2,132,260,4],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":572,"old":530,"rank":3,"right":{"linear_Z4":[2,1,0,3,0,3,0,0,2],"matrix_rows":[42,4,320,13,6,32,16,256,384],"offset":59,"phase":1,"quadratic_rows":[12,46,43,47,0,46,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,18,35,1,68,2,128,260,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":581,"old":530,"rank":3,"right":{"linear_Z4":[2,1,0,1,0,1,0,0,2],"matrix_rows":[44,42,272,13,46,32,256,64,384],"offset":59,"phase":1,"quadratic_rows":[12,6,43,45,0,44,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":64,"old":531,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,2,2,0],"matrix_rows":[144,65,2,68,8,208,32,128,256],"offset":0,"phase":0,"quadratic_rows":[64,0,64,0,80,0,21,0,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[8,1,16,32,66,128,4,6,256],"offset":0,"phase":0,"quadratic_rows":[0,6,6,0,0,0,0,0,0]},"new":650,"old":531,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,0,0,1,0],"matrix_rows":[2,16,192,1,4,8,128,32,256],"offset":67,"phase":1,"quadratic_rows":[0,0,0,0,128,0,128,208,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,16,37,65,130,4,258,2,5],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":656,"old":531,"rank":3,"right":{"linear_Z4":[2,2,0,1,1,0,1,2,2],"matrix_rows":[300,144,36,13,66,256,288,208,128],"offset":475,"phase":3,"quadratic_rows":[12,64,1,9,80,0,82,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":93,"old":532,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,2,0,0],"matrix_rows":[69,65,2,68,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,18,33,3,68,2,128,260,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":573,"old":532,"rank":3,"right":{"linear_Z4":[2,0,1,1,1,2,2,3,2],"matrix_rows":[36,10,400,5,32,40,272,192,256],"offset":425,"phase":1,"quadratic_rows":[4,40,13,46,144,10,128,208,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,17,33,1,70,128,2,260,4],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":577,"old":532,"rank":3,"right":{"linear_Z4":[2,1,1,2,2,0,3,0,3],"matrix_rows":[10,272,464,5,14,8,336,32,256],"offset":57,"phase":0,"quadratic_rows":[4,6,7,0,384,0,192,80,272]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":93,"old":533,"rank":1,"right":{"linear_Z4":[3,0,3,3,0,0,0,0,0],"matrix_rows":[5,33,10,44,32,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[37,8,45,14,0,5,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,20,33,65,130,1,256,4,6],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":654,"old":533,"rank":3,"right":{"linear_Z4":[3,1,3,2,0,0,0,2,3],"matrix_rows":[5,16,402,41,18,36,32,256,64],"offset":151,"phase":1,"quadratic_rows":[45,386,37,1,128,5,0,274,386]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,16,37,65,130,4,5,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":658,"old":533,"rank":3,"right":{"linear_Z4":[2,2,0,1,1,0,2,3,2],"matrix_rows":[108,400,36,13,130,64,96,272,256],"offset":345,"phase":1,"quadratic_rows":[12,128,1,9,144,0,0,146,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":122,"old":534,"rank":1,"right":{"linear_Z4":[0,0,1,3,3,0,0,1,2],"matrix_rows":[396,1,18,260,280,256,288,320,384],"offset":240,"phase":2,"quadratic_rows":[0,16,140,156,26,0,0,140,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":593,"old":534,"rank":1,"right":{"linear_Z4":[0,3,3,3,3,0,0,3,0],"matrix_rows":[30,129,258,260,264,400,32,64,256],"offset":1,"phase":1,"quadratic_rows":[128,286,286,286,414,0,0,145,30]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[18,34,68,8,129,257,1,3,14],"offset":0,"phase":0,"quadratic_rows":[3,15,14,14,0,0,0,0,0]},"new":779,"old":534,"rank":4,"right":{"linear_Z4":[1,1,0,0,0,0,0,1,2],"matrix_rows":[208,403,68,264,209,194,320,64,96],"offset":68,"phase":0,"quadratic_rows":[323,339,256,256,450,0,403,464,223]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":122,"old":535,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":595,"old":535,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,2,3,2],"matrix_rows":[388,1,2,260,8,16,32,192,256],"offset":384,"phase":2,"quadratic_rows":[0,0,132,0,0,0,128,196,0]}},{"left":{"linear_Z4":[3,3,2,2,0,0,0,0,0],"matrix_rows":[16,33,74,132,5,4,2,264,8],"offset":0,"phase":0,"quadratic_rows":[5,10,1,2,0,0,0,0,0]},"new":781,"old":535,"rank":4,"right":{"linear_Z4":[2,1,2,0,1,2,3,0,3],"matrix_rows":[34,260,24,452,3,48,324,32,256],"offset":49,"phase":3,"quadratic_rows":[2,19,384,48,58,24,192,68,260]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":122,"old":536,"rank":1,"right":{"linear_Z4":[0,0,0,1,3,0,2,0,0],"matrix_rows":[8,1,18,4,88,64,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,16,0,88,26,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":636,"old":536,"rank":1,"right":{"linear_Z4":[0,0,1,2,0,0,0,0,0],"matrix_rows":[4,1,2,12,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,12,4,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,3,0,0,0,0,0],"matrix_rows":[16,35,68,132,257,2,1,8,12],"offset":0,"phase":0,"quadratic_rows":[2,3,8,12,0,0,0,0,0]},"new":800,"old":536,"rank":4,"right":{"linear_Z4":[2,0,0,3,3,3,1,2,3],"matrix_rows":[114,66,396,384,19,96,256,392,64],"offset":119,"phase":0,"quadratic_rows":[18,65,136,12,49,48,66,260,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":122,"old":537,"rank":1,"right":{"linear_Z4":[1,1,1,1,0,0,2,1,2],"matrix_rows":[399,321,322,260,328,16,32,256,384],"offset":0,"phase":0,"quadratic_rows":[207,207,143,207,0,0,11,143,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":638,"old":537,"rank":1,"right":{"linear_Z4":[2,2,1,2,0,0,1,1,2],"matrix_rows":[452,1,2,268,256,272,288,320,384],"offset":102,"phase":0,"quadratic_rows":[0,0,204,4,0,0,196,196,0]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[19,35,65,130,258,2,4,8,15],"offset":0,"phase":0,"quadratic_rows":[15,15,15,15,0,0,0,0,0]},"new":799,"old":537,"rank":4,"right":{"linear_Z4":[2,2,0,0,0,0,0,0,1],"matrix_rows":[39,299,320,384,261,262,288,32,48],"offset":0,"phase":0,"quadratic_rows":[8,8,256,259,0,0,256,256,460]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":151,"old":538,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":585,"old":538,"rank":1,"right":{"linear_Z4":[3,3,3,3,0,0,2,0,0],"matrix_rows":[79,65,66,68,72,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[15,15,15,15,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,3,0,0,0,0,0],"matrix_rows":[16,35,75,12,133,6,4,261,5],"offset":0,"phase":0,"quadratic_rows":[12,12,15,15,0,0,0,0,0]},"new":775,"old":538,"rank":4,"right":{"linear_Z4":[2,2,3,1,0,0,0,0,0],"matrix_rows":[334,126,376,372,19,288,380,256,384],"offset":220,"phase":1,"quadratic_rows":[18,1,316,316,13,12,0,0,12]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":151,"old":539,"rank":1,"right":{"linear_Z4":[3,0,3,0,3,0,2,0,0],"matrix_rows":[21,321,2,324,8,336,32,256,384],"offset":1,"phase":1,"quadratic_rows":[341,0,341,0,341,0,21,0,21]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":587,"old":539,"rank":1,"right":{"linear_Z4":[3,3,0,0,3,0,0,0,0],"matrix_rows":[3,33,50,4,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[35,51,0,16,26,3,0,0,0]}},{"left":{"linear_Z4":[2,2,2,2,0,0,0,0,0],"matrix_rows":[17,33,68,3,130,2,8,268,12],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":777,"old":539,"rank":4,"right":{"linear_Z4":[3,3,0,1,0,0,0,0,2],"matrix_rows":[27,24,260,64,41,58,256,32,384],"offset":71,"phase":2,"quadratic_rows":[51,35,0,24,9,3,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":151,"old":540,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,2,2,0],"matrix_rows":[132,65,2,196,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[64,0,68,0,64,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":644,"old":540,"rank":1,"right":{"linear_Z4":[0,0,1,2,0,0,0,0,0],"matrix_rows":[4,1,2,12,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,12,4,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,3,0,0,0,0,0],"matrix_rows":[16,35,68,132,257,2,8,12,1],"offset":0,"phase":0,"quadratic_rows":[2,3,8,12,0,0,0,0,0]},"new":804,"old":540,"rank":4,"right":{"linear_Z4":[2,0,0,3,3,3,2,3,1],"matrix_rows":[306,258,204,192,19,288,128,200,256],"offset":119,"phase":0,"quadratic_rows":[18,257,72,12,49,48,132,192,258]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":151,"old":541,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,2,0,2],"matrix_rows":[260,65,2,324,8,80,32,256,128],"offset":0,"phase":0,"quadratic_rows":[64,0,68,0,64,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":646,"old":541,"rank":1,"right":{"linear_Z4":[0,0,1,2,0,0,0,0,0],"matrix_rows":[4,1,2,12,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,12,4,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,3,0,0,0,0,0],"matrix_rows":[16,35,68,132,257,2,8,1,12],"offset":0,"phase":0,"quadratic_rows":[2,3,8,12,0,0,0,0,0]},"new":803,"old":541,"rank":4,"right":{"linear_Z4":[2,0,0,3,3,3,2,1,3],"matrix_rows":[178,130,332,320,19,160,256,328,128],"offset":119,"phase":0,"quadratic_rows":[18,129,72,12,49,48,260,130,320]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":180,"old":542,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,2,0,0],"matrix_rows":[74,1,66,4,72,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":609,"old":542,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,2,3,2],"matrix_rows":[385,257,2,4,8,16,32,192,256],"offset":384,"phase":2,"quadratic_rows":[129,0,0,0,0,0,128,193,0]}},{"left":{"linear_Z4":[3,3,2,2,0,0,0,0,0],"matrix_rows":[25,32,70,2,132,4,1,264,8],"offset":0,"phase":0,"quadratic_rows":[9,6,2,1,0,0,0,0,0]},"new":787,"old":542,"rank":4,"right":{"linear_Z4":[2,2,0,3,0,1,3,0,3],"matrix_rows":[257,44,36,449,321,14,32,48,256],"offset":102,"phase":0,"quadratic_rows":[384,12,34,42,0,44,192,65,257]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":180,"old":543,"rank":1,"right":{"linear_Z4":[3,0,1,1,0,0,0,3,0],"matrix_rows":[173,257,2,292,296,16,256,64,384],"offset":89,"phase":0,"quadratic_rows":[429,0,397,397,0,385,0,429,173]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":611,"old":543,"rank":1,"right":{"linear_Z4":[3,0,3,3,0,3,0,3,0],"matrix_rows":[45,257,130,260,392,16,288,64,256],"offset":1,"phase":1,"quadratic_rows":[301,128,301,429,0,301,0,138,45]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,36,68,130,258,8,2,6,13],"offset":0,"phase":0,"quadratic_rows":[13,6,15,13,0,0,0,0,0]},"new":789,"old":543,"rank":4,"right":{"linear_Z4":[0,1,1,0,0,0,0,1,2],"matrix_rows":[65,200,398,288,320,202,196,64,80],"offset":17,"phase":0,"quadratic_rows":[256,326,334,452,0,256,398,456,239]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":180,"old":544,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,2,0,0,0],"matrix_rows":[44,1,2,36,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":620,"old":544,"rank":1,"right":{"linear_Z4":[0,2,2,1,0,0,2,0,0],"matrix_rows":[72,1,2,12,64,80,32,128,256],"offset":61,"phase":1,"quadratic_rows":[0,0,8,12,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,2,3,0,0,0,0,0],"matrix_rows":[17,34,66,130,2,4,256,8,9],"offset":0,"phase":0,"quadratic_rows":[9,2,0,9,0,0,0,0,0]},"new":792,"old":544,"rank":4,"right":{"linear_Z4":[0,3,2,3,0,2,0,0,1],"matrix_rows":[1,10,32,384,256,22,16,24,64],"offset":23,"phase":2,"quadratic_rows":[256,30,2,26,10,0,0,256,385]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":180,"old":545,"rank":1,"right":{"linear_Z4":[3,1,0,1,0,0,0,3,0],"matrix_rows":[203,257,322,4,328,16,32,256,384],"offset":149,"phase":0,"quadratic_rows":[459,395,0,395,0,0,385,459,203]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":622,"old":545,"rank":1,"right":{"linear_Z4":[3,2,2,1,0,0,3,3,2],"matrix_rows":[457,257,2,12,256,272,288,320,384],"offset":125,"phase":0,"quadratic_rows":[201,0,8,205,0,0,201,201,0]}},{"left":{"linear_Z4":[3,2,3,3,0,0,0,0,0],"matrix_rows":[21,32,71,130,261,5,9,1,10],"offset":0,"phase":0,"quadratic_rows":[11,13,6,11,0,0,0,0,0]},"new":791,"old":545,"rank":4,"right":{"linear_Z4":[0,2,2,1,0,3,2,1,3],"matrix_rows":[257,300,449,320,229,14,288,256,48],"offset":486,"phase":2,"quadratic_rows":[36,12,227,42,0,237,36,420,384]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":209,"old":546,"rank":1,"right":{"linear_Z4":[3,3,0,3,0,0,2,0,0],"matrix_rows":[11,321,322,4,328,16,32,256,384],"offset":1,"phase":1,"quadratic_rows":[331,331,0,331,0,0,11,0,11]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":601,"old":546,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,2,0,0,0],"matrix_rows":[44,1,2,36,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,2,0,0,0,0,0],"matrix_rows":[17,34,66,132,4,6,8,265,9],"offset":0,"phase":0,"quadratic_rows":[0,4,2,0,0,0,0,0,0]},"new":783,"old":546,"rank":4,"right":{"linear_Z4":[0,3,3,0,0,1,0,0,2],"matrix_rows":[257,46,40,64,256,50,60,16,384],"offset":23,"phase":2,"quadratic_rows":[0,30,22,34,6,40,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":209,"old":547,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":603,"old":547,"rank":1,"right":{"linear_Z4":[3,3,3,0,0,3,2,0,0],"matrix_rows":[103,65,66,68,8,16,96,128,256],"offset":1,"phase":1,"quadratic_rows":[39,39,39,0,0,39,0,0,0]}},{"left":{"linear_Z4":[3,2,2,3,0,0,0,0,0],"matrix_rows":[30,32,70,131,5,9,1,259,3],"offset":0,"phase":0,"quadratic_rows":[15,9,9,15,0,0,0,0,0]},"new":785,"old":547,"rank":4,"right":{"linear_Z4":[3,2,2,0,0,1,0,0,0],"matrix_rows":[376,357,125,345,377,14,272,256,384],"offset":185,"phase":1,"quadratic_rows":[313,12,2,35,33,313,0,0,33]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":209,"old":548,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,2,2,0],"matrix_rows":[129,193,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[65,64,0,64,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":628,"old":548,"rank":1,"right":{"linear_Z4":[0,2,2,1,0,0,0,0,2],"matrix_rows":[264,1,2,12,256,272,32,64,128],"offset":61,"phase":1,"quadratic_rows":[0,0,8,12,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,2,3,0,0,0,0,0],"matrix_rows":[17,34,66,130,2,4,8,9,256],"offset":0,"phase":0,"quadratic_rows":[9,2,0,9,0,0,0,0,0]},"new":796,"old":548,"rank":4,"right":{"linear_Z4":[0,3,2,3,0,2,0,1,0],"matrix_rows":[1,10,32,192,128,22,16,24,256],"offset":23,"phase":2,"quadratic_rows":[128,30,2,26,10,0,128,193,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":209,"old":549,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,2,0,2],"matrix_rows":[257,321,66,4,72,16,32,256,128],"offset":0,"phase":0,"quadratic_rows":[65,64,0,64,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":630,"old":549,"rank":1,"right":{"linear_Z4":[0,2,2,1,0,0,0,2,0],"matrix_rows":[136,1,2,12,128,144,32,64,256],"offset":61,"phase":1,"quadratic_rows":[0,0,8,12,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,2,3,0,0,0,0,0],"matrix_rows":[17,34,66,130,2,4,8,256,9],"offset":0,"phase":0,"quadratic_rows":[9,2,0,9,0,0,0,0,0]},"new":795,"old":549,"rank":4,"right":{"linear_Z4":[0,3,2,3,0,2,0,0,1],"matrix_rows":[1,10,32,320,256,22,16,24,128],"offset":23,"phase":2,"quadratic_rows":[256,30,2,26,10,0,256,0,321]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":238,"old":550,"rank":1,"right":{"linear_Z4":[0,1,1,3,0,3,0,3,2],"matrix_rows":[422,9,258,268,256,272,288,64,384],"offset":61,"phase":1,"quadratic_rows":[8,166,174,13,0,166,0,166,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":625,"old":550,"rank":1,"right":{"linear_Z4":[3,0,3,3,0,3,0,3,0],"matrix_rows":[45,257,130,388,264,16,288,64,256],"offset":1,"phase":1,"quadratic_rows":[301,128,429,301,0,301,0,134,45]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,36,70,132,262,8,6,2,13],"offset":0,"phase":0,"quadratic_rows":[13,6,15,13,0,0,0,0,0]},"new":795,"old":550,"rank":4,"right":{"linear_Z4":[0,1,3,1,0,0,1,0,2],"matrix_rows":[65,196,330,288,320,198,64,200,80],"offset":17,"phase":0,"quadratic_rows":[256,398,70,394,0,256,196,74,43]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":238,"old":551,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,2,0,0],"matrix_rows":[70,1,66,68,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":627,"old":551,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,1,2,3,2],"matrix_rows":[416,1,2,4,8,16,288,192,256],"offset":384,"phase":2,"quadratic_rows":[0,0,0,0,0,160,128,224,0]}},{"left":{"linear_Z4":[2,3,3,2,0,0,0,0,0],"matrix_rows":[17,32,66,3,1,140,4,264,8],"offset":0,"phase":0,"quadratic_rows":[2,3,12,4,0,0,0,0,0]},"new":797,"old":551,"rank":4,"right":{"linear_Z4":[0,2,1,1,2,2,3,0,3],"matrix_rows":[9,20,288,480,16,6,24,352,256],"offset":98,"phase":3,"quadratic_rows":[24,4,14,29,9,384,192,96,288]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":238,"old":552,"rank":1,"right":{"linear_Z4":[0,3,3,3,0,0,0,0,0],"matrix_rows":[6,9,18,28,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[8,22,30,13,6,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":604,"old":552,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,3,0,1,2],"matrix_rows":[416,33,2,4,8,16,256,64,384],"offset":66,"phase":2,"quadratic_rows":[32,0,0,0,0,161,0,160,0]}},{"left":{"linear_Z4":[3,2,2,2,0,0,0,0,0],"matrix_rows":[24,32,70,130,4,264,6,1,9],"offset":0,"phase":0,"quadratic_rows":[9,0,0,1,0,0,0,0,0]},"new":784,"old":552,"rank":4,"right":{"linear_Z4":[3,2,0,1,0,0,2,2,3],"matrix_rows":[384,92,20,417,385,14,64,80,256],"offset":426,"phase":3,"quadratic_rows":[33,12,2,10,0,129,0,288,384]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":238,"old":553,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,3,0,3,0],"matrix_rows":[230,1,322,324,8,16,288,256,384],"offset":141,"phase":0,"quadratic_rows":[0,422,422,0,0,486,416,486,230]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":606,"old":553,"rank":1,"right":{"linear_Z4":[2,3,3,0,0,1,3,3,0],"matrix_rows":[230,33,258,260,8,16,256,320,384],"offset":67,"phase":3,"quadratic_rows":[32,486,486,0,0,487,486,486,230]}},{"left":{"linear_Z4":[2,3,3,3,0,0,0,0,0],"matrix_rows":[17,35,67,129,1,258,4,8,14],"offset":0,"phase":0,"quadratic_rows":[0,14,14,14,0,0,0,0,0]},"new":783,"old":553,"rank":4,"right":{"linear_Z4":[2,0,0,0,2,0,0,0,0],"matrix_rows":[23,38,320,384,16,306,308,24,256],"offset":1,"phase":1,"quadratic_rows":[6,257,257,0,0,256,256,256,230]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":267,"old":554,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":617,"old":554,"rank":1,"right":{"linear_Z4":[3,3,0,3,0,3,2,0,0],"matrix_rows":[107,65,66,4,72,16,96,128,256],"offset":1,"phase":1,"quadratic_rows":[43,43,0,43,0,43,0,0,0]}},{"left":{"linear_Z4":[3,2,3,3,0,0,0,0,0],"matrix_rows":[26,32,71,130,5,9,1,263,7],"offset":0,"phase":0,"quadratic_rows":[11,13,6,11,0,0,0,0,0]},"new":791,"old":554,"rank":4,"right":{"linear_Z4":[2,2,0,1,0,0,3,0,1],"matrix_rows":[372,361,276,341,373,14,256,272,384],"offset":121,"phase":1,"quadratic_rows":[328,12,330,127,328,328,125,0,309]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":267,"old":555,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,3,2,0,0],"matrix_rows":[38,1,322,324,8,16,352,256,384],"offset":1,"phase":1,"quadratic_rows":[0,358,358,0,0,358,38,0,38]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":619,"old":555,"rank":1,"right":{"linear_Z4":[0,3,3,3,0,0,0,0,0],"matrix_rows":[6,9,18,28,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[8,22,30,13,6,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,2,0,0,0,0,0],"matrix_rows":[18,32,67,1,2,132,8,268,12],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":793,"old":555,"rank":4,"right":{"linear_Z4":[1,2,0,1,1,0,0,0,2],"matrix_rows":[28,25,288,64,29,14,16,256,384],"offset":247,"phase":1,"quadratic_rows":[5,12,27,30,28,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":267,"old":556,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,1,2,2,0],"matrix_rows":[160,1,66,68,8,16,224,128,256],"offset":0,"phase":0,"quadratic_rows":[0,64,64,0,0,96,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":612,"old":556,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,3,1,2,0],"matrix_rows":[224,33,2,4,8,16,128,192,256],"offset":66,"phase":2,"quadratic_rows":[32,0,0,0,0,97,96,0,0]}},{"left":{"linear_Z4":[3,2,2,2,0,0,0,0,0],"matrix_rows":[24,32,70,130,4,264,1,9,6],"offset":0,"phase":0,"quadratic_rows":[9,0,0,1,0,0,0,0,0]},"new":788,"old":556,"rank":4,"right":{"linear_Z4":[3,2,0,1,0,0,2,3,2],"matrix_rows":[192,284,20,225,193,14,256,272,128],"offset":426,"phase":3,"quadratic_rows":[33,12,2,10,0,65,160,192,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":267,"old":557,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,1,2,0,2],"matrix_rows":[288,1,66,68,8,16,352,256,128],"offset":0,"phase":0,"quadratic_rows":[0,64,64,0,0,96,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":614,"old":557,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,3,1,0,2],"matrix_rows":[352,33,2,4,8,16,256,320,128],"offset":66,"phase":2,"quadratic_rows":[32,0,0,0,0,97,96,0,0]}},{"left":{"linear_Z4":[3,2,2,2,0,0,0,0,0],"matrix_rows":[24,32,70,130,4,264,1,6,9],"offset":0,"phase":0,"quadratic_rows":[9,0,0,1,0,0,0,0,0]},"new":787,"old":557,"rank":4,"right":{"linear_Z4":[3,2,0,1,0,0,2,2,3],"matrix_rows":[320,156,20,353,321,14,128,144,256],"offset":426,"phase":3,"quadratic_rows":[33,12,2,10,0,65,288,0,320]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":296,"old":558,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,2,0,0],"matrix_rows":[67,65,66,4,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":641,"old":558,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,2,3,2],"matrix_rows":[392,1,2,4,264,16,32,192,256],"offset":384,"phase":2,"quadratic_rows":[0,0,0,136,0,0,128,200,0]}},{"left":{"linear_Z4":[3,2,3,2,0,0,0,0,0],"matrix_rows":[16,33,66,140,3,2,4,264,8],"offset":0,"phase":0,"quadratic_rows":[3,1,12,4,0,0,0,0,0]},"new":803,"old":558,"rank":4,"right":{"linear_Z4":[2,1,0,2,1,2,3,0,3],"matrix_rows":[34,20,264,456,3,48,32,328,256],"offset":49,"phase":3,"quadratic_rows":[2,19,48,384,54,20,192,72,264]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":296,"old":559,"rank":1,"right":{"linear_Z4":[1,1,0,3,3,0,0,3,2],"matrix_rows":[395,257,274,20,264,256,288,64,384],"offset":103,"phase":1,"quadratic_rows":[139,155,16,139,22,0,0,139,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":643,"old":559,"rank":1,"right":{"linear_Z4":[0,3,3,3,3,0,0,3,0],"matrix_rows":[30,129,386,260,264,272,32,64,256],"offset":1,"phase":1,"quadratic_rows":[128,414,286,286,286,0,0,131,30]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[18,35,68,8,130,259,3,1,14],"offset":0,"phase":0,"quadratic_rows":[3,15,14,14,0,0,0,0,0]},"new":805,"old":559,"rank":4,"right":{"linear_Z4":[1,3,0,0,1,0,1,0,2],"matrix_rows":[194,337,68,264,195,64,320,208,96],"offset":68,"phase":0,"quadratic_rows":[403,67,256,256,401,0,194,81,29]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":296,"old":560,"rank":1,"right":{"linear_Z4":[3,3,0,0,3,0,0,0,0],"matrix_rows":[3,33,50,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[35,51,16,0,22,3,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":588,"old":560,"rank":1,"right":{"linear_Z4":[3,3,0,0,2,0,0,0,0],"matrix_rows":[3,33,50,4,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[35,51,0,0,2,3,0,0,0]}},{"left":{"linear_Z4":[3,2,3,3,0,0,0,0,0],"matrix_rows":[17,33,2,68,129,1,256,8,12],"offset":0,"phase":0,"quadratic_rows":[1,0,12,12,0,0,0,0,0]},"new":776,"old":560,"rank":4,"right":{"linear_Z4":[3,3,2,0,2,0,0,0,1],"matrix_rows":[3,4,8,384,49,34,256,32,64],"offset":71,"phase":2,"quadratic_rows":[51,35,0,256,1,3,0,256,392]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":296,"old":561,"rank":1,"right":{"linear_Z4":[1,1,0,3,0,0,0,3,0],"matrix_rows":[203,321,322,4,264,16,32,256,384],"offset":135,"phase":0,"quadratic_rows":[395,395,0,459,0,0,392,459,203]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":590,"old":561,"rank":1,"right":{"linear_Z4":[3,3,2,0,0,2,0,0,0],"matrix_rows":[39,33,34,32,8,48,64,128,256],"offset":1,"phase":1,"quadratic_rows":[7,7,3,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,3,3,0,0,0,0,0],"matrix_rows":[16,33,64,134,1,256,10,2,15],"offset":0,"phase":0,"quadratic_rows":[14,3,13,13,0,0,0,0,0]},"new":775,"old":561,"rank":4,"right":{"linear_Z4":[2,3,2,2,3,0,2,1,2],"matrix_rows":[258,216,24,320,3,16,204,272,32],"offset":244,"phase":1,"quadratic_rows":[2,275,200,276,474,0,276,148,90]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":325,"old":562,"rank":1,"right":{"linear_Z4":[3,3,0,3,0,0,2,0,0],"matrix_rows":[11,321,322,4,328,16,32,256,384],"offset":1,"phase":1,"quadratic_rows":[331,331,0,331,0,0,11,0,11]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":633,"old":562,"rank":1,"right":{"linear_Z4":[3,3,0,0,3,0,0,0,0],"matrix_rows":[3,33,50,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[35,51,16,0,22,3,0,0,0]}},{"left":{"linear_Z4":[2,2,2,2,0,0,0,0,0],"matrix_rows":[17,33,3,68,130,2,8,268,12],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":799,"old":562,"rank":4,"right":{"linear_Z4":[3,3,1,0,0,0,0,0,2],"matrix_rows":[23,20,264,64,37,54,256,32,384],"offset":71,"phase":2,"quadratic_rows":[51,35,20,0,5,3,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":325,"old":563,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":635,"old":563,"rank":1,"right":{"linear_Z4":[3,0,3,3,3,0,2,0,0],"matrix_rows":[93,65,2,68,72,80,32,128,256],"offset":1,"phase":1,"quadratic_rows":[29,0,29,29,29,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,2,0,0,0,0,0],"matrix_rows":[30,46,7,11,65,1,3,128,256],"offset":0,"phase":0,"quadratic_rows":[14,13,3,3,0,0,0,0,0]},"new":801,"old":563,"rank":4,"right":{"linear_Z4":[3,3,0,0,2,0,1,0,0],"matrix_rows":[92,95,23,27,125,110,32,128,256],"offset":12,"phase":2,"quadratic_rows":[47,63,3,3,66,3,80,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":325,"old":564,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,2,2,0],"matrix_rows":[136,65,66,4,200,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[64,64,0,72,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":596,"old":564,"rank":1,"right":{"linear_Z4":[3,3,0,0,2,0,0,0,0],"matrix_rows":[3,33,50,4,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[35,51,0,0,2,3,0,0,0]}},{"left":{"linear_Z4":[3,2,3,3,0,0,0,0,0],"matrix_rows":[17,33,2,68,129,1,8,12,256],"offset":0,"phase":0,"quadratic_rows":[1,0,12,12,0,0,0,0,0]},"new":780,"old":564,"rank":4,"right":{"linear_Z4":[3,3,2,0,2,0,0,1,0],"matrix_rows":[3,4,8,192,49,34,128,32,256],"offset":71,"phase":2,"quadratic_rows":[51,35,0,128,1,3,128,200,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":325,"old":565,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,2,0,2],"matrix_rows":[264,65,66,4,328,16,32,256,128],"offset":0,"phase":0,"quadratic_rows":[64,64,0,72,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":598,"old":565,"rank":1,"right":{"linear_Z4":[3,3,0,0,2,0,0,0,0],"matrix_rows":[3,33,50,4,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[35,51,0,0,2,3,0,0,0]}},{"left":{"linear_Z4":[3,2,3,3,0,0,0,0,0],"matrix_rows":[17,33,2,68,129,1,8,256,12],"offset":0,"phase":0,"quadratic_rows":[1,0,12,12,0,0,0,0,0]},"new":779,"old":565,"rank":4,"right":{"linear_Z4":[3,3,2,0,2,0,0,0,1],"matrix_rows":[3,4,8,320,49,34,256,32,128],"offset":71,"phase":2,"quadratic_rows":[51,35,0,256,1,3,256,0,328]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":354,"old":566,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[10,19,34,65,4,129,3,257,1],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":574,"old":566,"rank":3,"right":{"linear_Z4":[1,0,1,2,2,0,2,0,2],"matrix_rows":[10,15,16,329,66,324,256,288,384],"offset":5,"phase":2,"quadratic_rows":[327,69,335,68,0,0,15,0,5]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[11,20,35,67,6,131,2,259,3],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":653,"old":566,"rank":3,"right":{"linear_Z4":[2,1,2,0,1,0,2,0,2],"matrix_rows":[5,85,74,265,90,260,256,288,384],"offset":234,"phase":1,"quadratic_rows":[344,18,336,17,31,0,5,0,5]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":354,"old":567,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,2,0],"matrix_rows":[130,65,194,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[64,66,0,64,0,0,11,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,18,37,65,128,4,258,2,1],"offset":0,"phase":0,"quadratic_rows":[4,0,5,0,0,0,0,0,0]},"new":578,"old":567,"rank":3,"right":{"linear_Z4":[2,1,0,3,2,3,1,2,1],"matrix_rows":[300,130,260,13,194,288,256,80,128],"offset":447,"phase":0,"quadratic_rows":[12,66,257,41,64,40,82,0,260]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[8,17,32,64,2,128,4,5,256],"offset":0,"phase":0,"quadratic_rows":[5,0,5,0,0,0,0,0,0]},"new":657,"old":567,"rank":3,"right":{"linear_Z4":[0,0,0,0,2,0,0,1,0],"matrix_rows":[2,16,192,1,128,4,8,32,256],"offset":19,"phase":1,"quadratic_rows":[0,128,0,0,0,0,128,194,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":383,"old":568,"rank":1,"right":{"linear_Z4":[0,3,1,1,0,0,0,3,0],"matrix_rows":[158,1,258,276,280,256,32,64,384],"offset":57,"phase":0,"quadratic_rows":[0,414,398,398,386,0,0,414,158]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[12,23,36,67,134,259,3,2,7],"offset":0,"phase":0,"quadratic_rows":[2,5,2,0,0,0,0,0,0]},"new":575,"old":568,"rank":3,"right":{"linear_Z4":[3,1,3,3,3,0,0,0,1],"matrix_rows":[210,258,455,329,410,324,64,320,96],"offset":362,"phase":1,"quadratic_rows":[143,399,135,155,24,0,0,15,258]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[10,19,34,65,132,257,1,3,6],"offset":0,"phase":0,"quadratic_rows":[0,4,6,0,0,0,0,0,0]},"new":649,"old":568,"rank":3,"right":{"linear_Z4":[1,2,1,0,0,0,0,2,3],"matrix_rows":[74,271,80,201,130,196,64,320,96],"offset":0,"phase":0,"quadratic_rows":[455,453,463,452,256,0,271,15,351]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":383,"old":569,"rank":1,"right":{"linear_Z4":[0,0,3,3,2,0,0,0,0],"matrix_rows":[28,1,2,20,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,20,35,65,128,2,1,260,4],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":582,"old":569,"rank":3,"right":{"linear_Z4":[2,1,0,3,2,3,1,3,2],"matrix_rows":[108,68,386,13,258,96,64,144,256],"offset":427,"phase":2,"quadratic_rows":[12,130,65,41,128,40,68,146,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,22,33,65,2,1,128,260,4],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":659,"old":569,"rank":3,"right":{"linear_Z4":[3,2,2,3,3,0,0,0,3],"matrix_rows":[9,258,402,37,274,32,40,64,256],"offset":1,"phase":1,"quadratic_rows":[45,384,1,41,144,9,0,18,258]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":412,"old":570,"rank":1,"right":{"linear_Z4":[0,1,0,0,2,0,0,2,0],"matrix_rows":[130,1,146,20,24,128,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,18,16,16,14,0,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[8,17,32,64,2,128,4,3,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":579,"old":570,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,2,1,0],"matrix_rows":[2,144,64,1,128,4,8,32,256],"offset":21,"phase":1,"quadratic_rows":[0,128,0,0,128,0,0,146,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,18,37,1,66,132,2,256,4],"offset":0,"phase":0,"quadratic_rows":[5,0,1,0,0,0,0,0,0]},"new":651,"old":570,"rank":3,"right":{"linear_Z4":[2,3,0,3,3,0,2,0,1],"matrix_rows":[268,82,260,13,66,256,80,288,128],"offset":47,"phase":1,"quadratic_rows":[12,18,257,265,18,0,0,0,268]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":412,"old":571,"rank":1,"right":{"linear_Z4":[0,3,3,3,2,0,0,0,0],"matrix_rows":[14,1,274,276,280,256,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,286,286,286,14,0,0,0,14]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,34,66,4,128,2,261,5],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":583,"old":571,"rank":3,"right":{"linear_Z4":[0,0,3,3,0,0,2,0,2],"matrix_rows":[258,76,16,1,256,68,72,32,384],"offset":19,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[8,16,35,1,64,2,4,128,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":655,"old":571,"rank":3,"right":{"linear_Z4":[2,0,0,3,0,3,2,0,0],"matrix_rows":[44,4,64,13,2,32,16,128,256],"offset":47,"phase":1,"quadratic_rows":[12,0,1,41,0,40,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":772,"old":572,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[272,1,2,4,8,256,32,64,384],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":774,"old":572,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[34,1,32,36,8,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":483,"old":573,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,1,0,2],"matrix_rows":[336,1,2,4,8,256,32,320,128],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,64,0,80,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":773,"old":573,"rank":1,"right":{"linear_Z4":[0,0,0,0,2,0,3,0,2],"matrix_rows":[320,1,2,4,8,80,32,256,384],"offset":289,"phase":3,"quadratic_rows":[0,0,0,0,64,0,80,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":772,"old":574,"rank":1,"right":{"linear_Z4":[2,2,0,0,0,0,2,0,0],"matrix_rows":[68,5,6,64,8,16,96,128,256],"offset":15,"phase":0,"quadratic_rows":[4,4,3,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":808,"old":574,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,0,0],"matrix_rows":[7,65,64,68,8,16,32,128,256],"offset":5,"phase":0,"quadratic_rows":[71,69,71,0,0,0,7,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":456,"old":575,"rank":1,"right":{"linear_Z4":[2,2,2,0,0,0,0,0,2],"matrix_rows":[260,5,6,256,8,16,288,64,128],"offset":14,"phase":3,"quadratic_rows":[4,4,3,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":807,"old":575,"rank":1,"right":{"linear_Z4":[3,2,3,0,0,0,0,2,0],"matrix_rows":[7,129,128,132,136,144,160,192,256],"offset":94,"phase":3,"quadratic_rows":[135,133,135,0,0,0,0,7,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":527,"old":576,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[144,1,2,4,8,128,32,192,256],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":773,"old":576,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[10,1,8,12,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":500,"old":577,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[34,1,32,36,8,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":772,"old":577,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[272,1,2,4,8,256,32,320,128],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":773,"old":578,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,2,0,0],"matrix_rows":[82,1,64,4,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,16,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":809,"old":578,"rank":1,"right":{"linear_Z4":[0,2,0,0,3,0,0,2,0],"matrix_rows":[144,1,18,4,8,128,32,192,256],"offset":164,"phase":1,"quadratic_rows":[0,16,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":460,"old":579,"rank":1,"right":{"linear_Z4":[2,0,1,2,0,0,0,0,2],"matrix_rows":[260,5,2,256,8,16,288,64,128],"offset":91,"phase":1,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":807,"old":579,"rank":1,"right":{"linear_Z4":[2,0,2,1,0,0,0,0,2],"matrix_rows":[264,9,2,4,256,16,288,64,128],"offset":91,"phase":1,"quadratic_rows":[8,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":500,"old":580,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,2,2,0],"matrix_rows":[144,1,2,4,8,208,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,80,0,16,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":774,"old":580,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,0,2,0],"matrix_rows":[208,1,2,4,8,144,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,80,0,16,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":483,"old":581,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[10,1,8,12,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":527,"old":581,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[320,1,2,4,8,16,32,256,384],"offset":129,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":774,"old":582,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,0,0,2],"matrix_rows":[274,1,256,4,8,272,32,64,128],"offset":0,"phase":0,"quadratic_rows":[0,16,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":809,"old":582,"rank":1,"right":{"linear_Z4":[0,2,0,0,3,0,0,0,2],"matrix_rows":[272,1,18,4,8,256,32,64,384],"offset":261,"phase":3,"quadratic_rows":[0,16,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":461,"old":583,"rank":1,"right":{"linear_Z4":[2,0,1,2,0,0,2,0,0],"matrix_rows":[68,5,2,64,8,16,96,128,256],"offset":91,"phase":1,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":808,"old":583,"rank":1,"right":{"linear_Z4":[2,0,2,1,0,0,2,0,0],"matrix_rows":[72,9,2,4,64,16,96,128,256],"offset":91,"phase":1,"quadratic_rows":[8,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":775,"old":584,"rank":1,"right":{"linear_Z4":[2,1,2,0,0,0,0,0,2],"matrix_rows":[258,3,256,4,8,16,288,64,128],"offset":74,"phase":3,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":780,"old":584,"rank":1,"right":{"linear_Z4":[2,2,2,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,264,272,288,320,384],"offset":110,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":660,"old":585,"rank":1,"right":{"linear_Z4":[3,3,0,0,2,0,0,0,2],"matrix_rows":[3,257,274,20,24,256,288,64,384],"offset":102,"phase":0,"quadratic_rows":[259,275,16,16,14,0,0,0,3]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[15,23,34,4,65,129,6,257,1],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":776,"old":585,"rank":3,"right":{"linear_Z4":[1,1,0,0,2,0,1,0,2],"matrix_rows":[3,23,91,337,322,64,256,288,384],"offset":34,"phase":0,"quadratic_rows":[287,271,83,83,13,0,76,0,3]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":777,"old":586,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[132,1,2,128,8,16,32,192,256],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":782,"old":586,"rank":1,"right":{"linear_Z4":[2,3,0,0,2,0,0,0,0],"matrix_rows":[18,3,16,4,24,32,64,128,256],"offset":22,"phase":1,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":661,"old":587,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,8,16,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,32,66,3,2,132,260,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":778,"old":587,"rank":3,"right":{"linear_Z4":[2,1,0,0,1,2,0,0,2],"matrix_rows":[34,24,320,3,48,4,32,256,384],"offset":25,"phase":3,"quadratic_rows":[2,19,0,48,58,24,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":764,"old":588,"rank":1,"right":{"linear_Z4":[0,0,2,3,0,0,0,1,2],"matrix_rows":[392,1,2,12,256,16,32,64,384],"offset":24,"phase":2,"quadratic_rows":[0,0,8,140,0,0,0,136,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,17,36,68,129,256,1,2,6],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":778,"old":588,"rank":3,"right":{"linear_Z4":[2,3,3,0,0,0,2,2,3],"matrix_rows":[66,384,396,3,64,388,256,80,32],"offset":205,"phase":3,"quadratic_rows":[2,3,12,132,0,0,0,264,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":776,"old":589,"rank":1,"right":{"linear_Z4":[2,2,0,0,1,0,2,0,0],"matrix_rows":[80,17,2,4,8,64,96,128,256],"offset":103,"phase":1,"quadratic_rows":[16,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":802,"old":589,"rank":1,"right":{"linear_Z4":[2,1,0,0,2,0,2,0,0],"matrix_rows":[66,3,64,4,8,16,96,128,256],"offset":103,"phase":1,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":765,"old":590,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,3,3,0],"matrix_rows":[203,257,258,4,256,16,32,320,384],"offset":17,"phase":0,"quadratic_rows":[459,459,0,451,0,0,459,459,203]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[9,17,32,65,128,256,2,4,7],"offset":0,"phase":0,"quadratic_rows":[7,7,7,0,0,0,0,0,0]},"new":777,"old":590,"rank":3,"right":{"linear_Z4":[1,1,0,0,0,0,0,0,0],"matrix_rows":[11,320,384,265,266,4,256,16,32],"offset":0,"phase":0,"quadratic_rows":[259,259,0,256,0,0,256,256,203]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":775,"old":591,"rank":1,"right":{"linear_Z4":[2,3,1,0,2,0,0,0,0],"matrix_rows":[22,3,16,20,8,32,64,128,256],"offset":6,"phase":2,"quadratic_rows":[2,7,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":801,"old":591,"rank":1,"right":{"linear_Z4":[2,2,2,0,0,0,0,0,2],"matrix_rows":[260,5,6,256,264,272,288,320,384],"offset":14,"phase":3,"quadratic_rows":[4,4,3,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":776,"old":592,"rank":1,"right":{"linear_Z4":[1,1,0,0,0,0,0,0,0],"matrix_rows":[67,193,194,4,8,16,32,128,256],"offset":135,"phase":0,"quadratic_rows":[131,131,0,0,0,0,128,67,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":779,"old":592,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[67,129,130,4,8,16,32,128,256],"offset":129,"phase":0,"quadratic_rows":[195,195,0,0,0,0,131,67,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":660,"old":593,"rank":1,"right":{"linear_Z4":[3,3,0,0,2,0,0,2,0],"matrix_rows":[3,129,146,20,24,128,160,192,256],"offset":102,"phase":0,"quadratic_rows":[131,147,16,16,14,0,0,3,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[15,23,34,4,65,129,257,1,6],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":780,"old":593,"rank":3,"right":{"linear_Z4":[1,1,0,0,2,0,0,2,1],"matrix_rows":[3,23,283,401,386,256,128,160,192],"offset":34,"phase":0,"quadratic_rows":[159,143,275,275,13,0,0,3,268]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":778,"old":594,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,2,0],"matrix_rows":[196,1,2,132,8,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,68,0,0,0,4,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":781,"old":594,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,2,2,0],"matrix_rows":[132,1,2,196,8,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,68,0,0,0,4,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":661,"old":595,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,1,0,2],"matrix_rows":[324,1,2,256,8,16,32,320,128],"offset":0,"phase":0,"quadratic_rows":[0,0,64,0,0,0,68,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,32,68,5,4,130,258,2],"offset":0,"phase":0,"quadratic_rows":[5,0,1,0,0,0,0,0,0]},"new":782,"old":595,"rank":3,"right":{"linear_Z4":[2,1,2,0,1,2,3,0,2],"matrix_rows":[34,320,24,3,48,68,32,256,384],"offset":315,"phase":2,"quadratic_rows":[2,19,64,48,58,24,68,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":770,"old":596,"rank":1,"right":{"linear_Z4":[0,0,2,3,0,0,1,2,0],"matrix_rows":[200,1,2,12,128,16,32,192,256],"offset":24,"phase":2,"quadratic_rows":[0,0,8,76,0,0,72,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,17,36,68,129,256,2,6,1],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":782,"old":596,"rank":3,"right":{"linear_Z4":[2,3,3,0,0,0,2,3,2],"matrix_rows":[258,192,204,3,256,196,128,272,32],"offset":205,"phase":3,"quadratic_rows":[2,3,12,68,0,0,136,192,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":780,"old":597,"rank":1,"right":{"linear_Z4":[2,2,0,0,1,0,0,0,2],"matrix_rows":[272,17,2,4,8,256,288,64,128],"offset":103,"phase":1,"quadratic_rows":[16,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":806,"old":597,"rank":1,"right":{"linear_Z4":[2,1,0,0,2,0,0,0,2],"matrix_rows":[258,3,256,4,8,16,288,64,128],"offset":103,"phase":1,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":771,"old":598,"rank":1,"right":{"linear_Z4":[0,0,2,3,0,0,1,0,2],"matrix_rows":[328,1,2,12,256,16,32,320,128],"offset":24,"phase":2,"quadratic_rows":[0,0,8,76,0,0,72,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,17,36,68,129,256,2,1,6],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":781,"old":598,"rank":3,"right":{"linear_Z4":[2,3,3,0,0,0,2,2,3],"matrix_rows":[130,320,332,3,128,324,256,144,32],"offset":205,"phase":3,"quadratic_rows":[2,3,12,68,0,0,264,0,320]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":779,"old":599,"rank":1,"right":{"linear_Z4":[2,2,0,0,1,0,0,2,0],"matrix_rows":[144,17,2,4,8,128,160,64,256],"offset":103,"phase":1,"quadratic_rows":[16,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":805,"old":599,"rank":1,"right":{"linear_Z4":[2,1,0,0,2,0,0,2,0],"matrix_rows":[130,3,128,4,8,16,160,64,256],"offset":103,"phase":1,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":783,"old":600,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,2,4,8,16,32,192,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":788,"old":600,"rank":1,"right":{"linear_Z4":[0,2,3,0,0,2,0,0,0],"matrix_rows":[36,1,6,32,40,16,64,128,256],"offset":21,"phase":3,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":662,"old":601,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,8,16,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,16,35,1,66,2,132,260,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":784,"old":601,"rank":3,"right":{"linear_Z4":[0,2,0,3,0,1,0,0,2],"matrix_rows":[44,36,320,1,14,32,48,256,384],"offset":51,"phase":0,"quadratic_rows":[0,12,34,42,0,44,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":785,"old":602,"rank":1,"right":{"linear_Z4":[2,2,1,0,0,0,0,0,2],"matrix_rows":[260,1,6,256,8,272,32,64,128],"offset":38,"phase":3,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":790,"old":602,"rank":1,"right":{"linear_Z4":[2,2,2,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,264,272,288,320,384],"offset":62,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":663,"old":603,"rank":1,"right":{"linear_Z4":[3,1,3,2,0,3,2,0,0],"matrix_rows":[103,97,66,100,40,16,64,128,256],"offset":90,"phase":2,"quadratic_rows":[7,39,7,32,0,42,0,0,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[9,23,39,66,130,4,5,258,2],"offset":0,"phase":0,"quadratic_rows":[5,2,5,0,0,0,0,0,0]},"new":786,"old":603,"rank":3,"right":{"linear_Z4":[0,1,1,2,0,0,1,0,2],"matrix_rows":[15,6,110,64,330,324,256,272,384],"offset":9,"phase":0,"quadratic_rows":[78,303,295,35,0,78,97,0,6]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":766,"old":604,"rank":1,"right":{"linear_Z4":[0,3,3,2,0,0,0,0,0],"matrix_rows":[6,1,18,28,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,22,30,4,6,0,0,0,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[9,18,34,66,2,129,256,4,5],"offset":0,"phase":0,"quadratic_rows":[4,2,5,0,0,0,0,0,0]},"new":786,"old":604,"rank":3,"right":{"linear_Z4":[0,3,3,2,0,0,0,0,3],"matrix_rows":[257,6,384,256,26,20,16,288,64],"offset":11,"phase":1,"quadratic_rows":[0,30,22,2,6,0,0,256,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":784,"old":605,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[288,1,2,4,8,16,256,64,384],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":794,"old":605,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,8,16,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":767,"old":606,"rank":1,"right":{"linear_Z4":[0,2,2,0,0,0,3,3,2],"matrix_rows":[449,256,2,4,264,272,288,320,384],"offset":63,"phase":0,"quadratic_rows":[192,0,0,0,0,0,193,193,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[8,16,34,66,128,256,5,1,6],"offset":0,"phase":0,"quadratic_rows":[5,4,7,0,0,0,0,0,0]},"new":785,"old":606,"rank":3,"right":{"linear_Z4":[0,2,3,0,0,0,0,3,3],"matrix_rows":[192,260,320,193,6,256,264,16,32],"offset":48,"phase":2,"quadratic_rows":[192,4,6,0,0,0,257,129,320]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":783,"old":607,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,0,0],"matrix_rows":[7,32,34,36,8,16,64,128,256],"offset":3,"phase":0,"quadratic_rows":[38,39,39,0,0,7,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":793,"old":607,"rank":1,"right":{"linear_Z4":[2,2,0,0,0,2,0,0,0],"matrix_rows":[36,5,6,32,40,16,64,128,256],"offset":15,"phase":0,"quadratic_rows":[4,4,3,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":784,"old":608,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,0],"matrix_rows":[193,129,2,4,8,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[65,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":787,"old":608,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,2,2,0],"matrix_rows":[129,193,2,4,8,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[65,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":662,"old":609,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,1,0,2],"matrix_rows":[321,256,2,4,8,16,32,320,128],"offset":0,"phase":0,"quadratic_rows":[64,0,0,0,0,0,65,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,16,38,2,68,4,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":788,"old":609,"rank":3,"right":{"linear_Z4":[2,2,0,3,0,1,3,0,2],"matrix_rows":[320,44,36,65,14,32,48,256,384],"offset":319,"phase":3,"quadratic_rows":[64,12,34,42,0,44,65,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":786,"old":610,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,0,0,0,0],"matrix_rows":[70,1,194,196,8,16,32,128,256],"offset":141,"phase":0,"quadratic_rows":[0,134,134,0,0,0,128,70,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":789,"old":610,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,0,0],"matrix_rows":[70,1,130,132,8,16,32,128,256],"offset":129,"phase":0,"quadratic_rows":[0,198,198,0,0,0,134,70,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":663,"old":611,"rank":1,"right":{"linear_Z4":[3,1,3,2,0,3,0,0,2],"matrix_rows":[295,289,258,292,40,16,256,64,128],"offset":90,"phase":2,"quadratic_rows":[7,39,7,32,0,42,0,0,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[9,23,39,66,130,4,258,2,5],"offset":0,"phase":0,"quadratic_rows":[5,2,5,0,0,0,0,0,0]},"new":790,"old":611,"rank":3,"right":{"linear_Z4":[0,1,1,2,0,0,0,2,1],"matrix_rows":[15,6,302,256,394,388,128,144,192],"offset":9,"phase":0,"quadratic_rows":[270,175,167,35,0,270,0,6,289]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":768,"old":612,"rank":1,"right":{"linear_Z4":[0,3,3,2,0,0,0,0,0],"matrix_rows":[6,1,18,28,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,22,30,4,6,0,0,0,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[9,18,34,66,2,129,4,5,256],"offset":0,"phase":0,"quadratic_rows":[4,2,5,0,0,0,0,0,0]},"new":790,"old":612,"rank":3,"right":{"linear_Z4":[0,3,3,2,0,0,0,3,0],"matrix_rows":[129,6,192,128,26,20,16,160,256],"offset":11,"phase":1,"quadratic_rows":[0,30,22,2,6,0,128,192,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":788,"old":613,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[160,1,2,4,8,16,128,192,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":798,"old":613,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,2,4,8,16,32,192,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":769,"old":614,"rank":1,"right":{"linear_Z4":[0,3,3,2,0,0,0,0,0],"matrix_rows":[6,1,18,28,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,22,30,4,6,0,0,0,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[9,18,34,66,2,129,4,256,5],"offset":0,"phase":0,"quadratic_rows":[4,2,5,0,0,0,0,0,0]},"new":789,"old":614,"rank":3,"right":{"linear_Z4":[0,3,3,2,0,0,0,0,3],"matrix_rows":[257,6,320,256,26,20,16,288,128],"offset":11,"phase":1,"quadratic_rows":[0,30,22,2,6,0,256,0,320]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":787,"old":615,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[288,1,2,4,8,16,256,320,128],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":797,"old":615,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,8,16,32,320,128],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":791,"old":616,"rank":1,"right":{"linear_Z4":[2,2,0,1,0,0,0,0,2],"matrix_rows":[264,1,10,4,256,272,32,64,128],"offset":38,"phase":3,"quadratic_rows":[0,8,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":796,"old":616,"rank":1,"right":{"linear_Z4":[2,2,0,2,0,0,0,0,2],"matrix_rows":[257,256,2,260,8,272,288,320,384],"offset":62,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":664,"old":617,"rank":1,"right":{"linear_Z4":[3,1,2,3,0,3,2,0,0],"matrix_rows":[107,97,66,36,104,16,64,128,256],"offset":90,"phase":2,"quadratic_rows":[11,43,32,11,0,38,0,0,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[9,23,34,71,130,4,5,258,2],"offset":0,"phase":0,"quadratic_rows":[5,2,5,0,0,0,0,0,0]},"new":792,"old":617,"rank":3,"right":{"linear_Z4":[0,1,2,1,0,0,1,0,2],"matrix_rows":[15,10,110,64,326,256,328,272,384],"offset":9,"phase":0,"quadratic_rows":[78,303,35,299,0,78,97,0,10]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":793,"old":618,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[160,1,2,4,8,16,128,192,256],"offset":65,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":798,"old":618,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[9,8,2,12,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":665,"old":619,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[288,1,2,4,8,16,256,64,384],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,16,34,3,1,64,132,260,4],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":794,"old":619,"rank":3,"right":{"linear_Z4":[0,2,1,1,2,0,0,0,2],"matrix_rows":[9,20,320,16,6,24,32,256,384],"offset":50,"phase":3,"quadratic_rows":[24,4,14,29,9,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":766,"old":620,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,2,0,0,0],"matrix_rows":[1,33,2,4,8,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[33,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,16,34,66,128,257,2,4,5],"offset":0,"phase":0,"quadratic_rows":[4,0,5,0,0,0,0,0,0]},"new":794,"old":620,"rank":3,"right":{"linear_Z4":[0,2,3,0,0,3,2,2,3],"matrix_rows":[417,68,384,256,6,64,72,16,416],"offset":91,"phase":3,"quadratic_rows":[160,4,6,0,0,33,0,257,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":786,"old":621,"rank":1,"right":{"linear_Z4":[0,2,2,1,0,0,2,0,0],"matrix_rows":[72,1,10,4,64,80,32,128,256],"offset":61,"phase":1,"quadratic_rows":[0,8,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":792,"old":621,"rank":1,"right":{"linear_Z4":[0,2,1,2,0,0,2,0,0],"matrix_rows":[68,1,6,64,8,80,32,128,256],"offset":61,"phase":1,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":767,"old":622,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,3,3,0],"matrix_rows":[199,256,258,260,8,16,32,320,384],"offset":3,"phase":0,"quadratic_rows":[454,455,455,0,0,0,455,455,199]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[8,16,33,65,128,256,2,4,7],"offset":0,"phase":0,"quadratic_rows":[6,7,7,0,0,0,0,0,0]},"new":793,"old":622,"rank":3,"right":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[260,320,384,5,6,256,264,16,32],"offset":89,"phase":0,"quadratic_rows":[4,4,3,0,0,0,256,256,192]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":785,"old":623,"rank":1,"right":{"linear_Z4":[1,2,3,2,0,0,0,0,0],"matrix_rows":[13,9,6,8,16,32,64,128,256],"offset":12,"phase":2,"quadratic_rows":[5,4,7,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":791,"old":623,"rank":1,"right":{"linear_Z4":[1,2,1,2,0,0,0,0,0],"matrix_rows":[9,13,6,8,16,32,64,128,256],"offset":15,"phase":0,"quadratic_rows":[5,4,7,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":792,"old":624,"rank":1,"right":{"linear_Z4":[0,1,0,1,0,0,0,0,0],"matrix_rows":[74,1,194,4,200,16,32,128,256],"offset":149,"phase":0,"quadratic_rows":[0,138,0,138,0,0,128,74,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":795,"old":624,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,0,0,0],"matrix_rows":[74,1,130,4,136,16,32,128,256],"offset":129,"phase":0,"quadratic_rows":[0,202,0,202,0,0,138,74,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":664,"old":625,"rank":1,"right":{"linear_Z4":[3,1,2,3,0,3,0,0,2],"matrix_rows":[299,289,258,36,296,16,256,64,128],"offset":90,"phase":2,"quadratic_rows":[11,43,32,11,0,38,0,0,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[9,23,34,71,130,4,258,2,5],"offset":0,"phase":0,"quadratic_rows":[5,2,5,0,0,0,0,0,0]},"new":796,"old":625,"rank":3,"right":{"linear_Z4":[0,1,2,1,0,0,0,2,1],"matrix_rows":[15,10,302,256,390,128,392,144,192],"offset":9,"phase":0,"quadratic_rows":[270,175,35,171,0,270,0,10,289]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":794,"old":626,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,1,0,2,0],"matrix_rows":[224,1,2,4,8,16,160,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,96,32,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":797,"old":626,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,1,2,2,0],"matrix_rows":[160,1,2,4,8,16,224,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,96,32,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":665,"old":627,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,1,0,2],"matrix_rows":[352,1,2,4,8,16,256,320,128],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,64,96,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,16,34,3,1,64,132,260,4],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":798,"old":627,"rank":3,"right":{"linear_Z4":[0,2,1,1,2,2,3,0,2],"matrix_rows":[9,20,320,16,6,24,96,256,384],"offset":374,"phase":2,"quadratic_rows":[24,4,14,29,9,64,96,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":768,"old":628,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,2,0,0,0],"matrix_rows":[1,33,2,4,8,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[33,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,16,34,66,128,257,4,5,2],"offset":0,"phase":0,"quadratic_rows":[4,0,5,0,0,0,0,0,0]},"new":798,"old":628,"rank":3,"right":{"linear_Z4":[0,2,3,0,0,3,2,3,2],"matrix_rows":[225,260,192,128,6,256,264,16,224],"offset":91,"phase":3,"quadratic_rows":[96,4,6,0,0,33,129,192,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":790,"old":629,"rank":1,"right":{"linear_Z4":[0,2,2,1,0,0,0,0,2],"matrix_rows":[264,1,10,4,256,272,32,64,128],"offset":61,"phase":1,"quadratic_rows":[0,8,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":796,"old":629,"rank":1,"right":{"linear_Z4":[0,2,1,2,0,0,0,0,2],"matrix_rows":[260,1,6,256,8,272,32,64,128],"offset":61,"phase":1,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":769,"old":630,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,2,0,0,0],"matrix_rows":[1,33,2,4,8,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[33,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,16,34,66,128,257,4,2,5],"offset":0,"phase":0,"quadratic_rows":[4,0,5,0,0,0,0,0,0]},"new":797,"old":630,"rank":3,"right":{"linear_Z4":[0,2,3,0,0,3,2,2,3],"matrix_rows":[353,132,320,256,6,128,136,16,352],"offset":91,"phase":3,"quadratic_rows":[96,4,6,0,0,33,257,0,320]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":789,"old":631,"rank":1,"right":{"linear_Z4":[0,2,2,1,0,0,0,2,0],"matrix_rows":[136,1,10,4,128,144,32,64,256],"offset":61,"phase":1,"quadratic_rows":[0,8,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":795,"old":631,"rank":1,"right":{"linear_Z4":[0,2,1,2,0,0,0,2,0],"matrix_rows":[132,1,6,128,8,144,32,64,256],"offset":61,"phase":1,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":799,"old":632,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[136,1,2,4,128,16,32,192,256],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":804,"old":632,"rank":1,"right":{"linear_Z4":[2,3,0,0,2,0,0,0,0],"matrix_rows":[18,3,16,20,8,32,64,128,256],"offset":14,"phase":1,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":666,"old":633,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[264,1,2,4,256,16,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,34,64,3,2,132,260,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":800,"old":633,"rank":3,"right":{"linear_Z4":[2,1,0,0,1,2,0,0,2],"matrix_rows":[34,20,320,3,48,32,8,256,384],"offset":25,"phase":3,"quadratic_rows":[2,19,48,0,54,20,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":801,"old":634,"rank":1,"right":{"linear_Z4":[2,2,0,0,1,0,0,0,2],"matrix_rows":[272,17,2,4,8,256,288,64,128],"offset":103,"phase":1,"quadratic_rows":[16,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":806,"old":634,"rank":1,"right":{"linear_Z4":[2,1,0,0,2,0,0,0,2],"matrix_rows":[258,3,256,260,264,16,288,320,384],"offset":511,"phase":1,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":667,"old":635,"rank":1,"right":{"linear_Z4":[2,2,0,0,1,0,2,0,0],"matrix_rows":[80,1,18,20,24,64,96,128,256],"offset":103,"phase":1,"quadratic_rows":[0,16,16,16,30,0,0,0,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[15,17,34,4,71,129,6,257,1],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":802,"old":635,"rank":3,"right":{"linear_Z4":[1,2,0,0,1,0,1,0,2],"matrix_rows":[17,23,91,323,256,64,336,288,384],"offset":34,"phase":0,"quadratic_rows":[287,13,83,83,285,0,76,0,17]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":764,"old":636,"rank":1,"right":{"linear_Z4":[2,2,0,0,1,0,2,0,0],"matrix_rows":[80,1,18,4,8,64,96,128,256],"offset":103,"phase":1,"quadratic_rows":[0,16,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,17,34,66,129,1,256,4,6],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":802,"old":636,"rank":3,"right":{"linear_Z4":[3,2,0,0,3,0,0,0,3],"matrix_rows":[17,260,384,35,32,256,264,48,64],"offset":35,"phase":1,"quadratic_rows":[51,1,0,0,49,17,0,256,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":778,"old":637,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[264,1,2,4,256,16,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":800,"old":637,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,8,16,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":765,"old":638,"rank":1,"right":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[7,33,34,32,40,48,64,128,256],"offset":17,"phase":0,"quadratic_rows":[39,39,35,0,0,7,0,0,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[11,19,35,67,131,3,261,1,4],"offset":0,"phase":0,"quadratic_rows":[5,2,5,0,0,0,0,0,0]},"new":801,"old":638,"rank":3,"right":{"linear_Z4":[2,2,3,0,0,0,3,2,3],"matrix_rows":[455,7,64,229,230,32,40,48,256],"offset":295,"phase":1,"quadratic_rows":[292,292,487,0,0,7,196,324,391]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":777,"old":639,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[7,9,10,8,16,32,64,128,256],"offset":9,"phase":0,"quadratic_rows":[15,15,11,7,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":799,"old":639,"rank":1,"right":{"linear_Z4":[1,1,0,0,0,0,0,0,0],"matrix_rows":[7,13,14,8,16,32,64,128,256],"offset":15,"phase":0,"quadratic_rows":[11,11,8,7,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":800,"old":640,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,0,2,0],"matrix_rows":[200,1,2,4,136,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,72,0,0,8,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":803,"old":640,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,2,2,0],"matrix_rows":[136,1,2,4,200,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,72,0,0,8,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":666,"old":641,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,1,0,2],"matrix_rows":[328,1,2,4,256,16,32,320,128],"offset":0,"phase":0,"quadratic_rows":[0,0,0,64,0,0,72,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,34,64,3,2,132,260,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":804,"old":641,"rank":3,"right":{"linear_Z4":[2,1,0,2,1,2,3,0,2],"matrix_rows":[34,20,320,3,48,32,72,256,384],"offset":349,"phase":2,"quadratic_rows":[2,19,48,64,54,20,72,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":802,"old":642,"rank":1,"right":{"linear_Z4":[1,0,0,0,1,0,0,0,0],"matrix_rows":[81,193,2,4,8,208,32,128,256],"offset":163,"phase":0,"quadratic_rows":[145,0,0,0,145,0,128,81,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":805,"old":642,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,0,0],"matrix_rows":[81,129,2,4,8,144,32,128,256],"offset":129,"phase":0,"quadratic_rows":[209,0,0,0,209,0,145,81,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":667,"old":643,"rank":1,"right":{"linear_Z4":[2,2,0,0,1,0,0,0,2],"matrix_rows":[272,1,18,20,24,256,288,64,128],"offset":103,"phase":1,"quadratic_rows":[0,16,16,16,30,0,0,0,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[15,17,34,4,71,129,257,1,6],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":806,"old":643,"rank":3,"right":{"linear_Z4":[1,2,0,0,1,0,0,2,1],"matrix_rows":[17,23,283,387,128,256,400,160,192],"offset":34,"phase":0,"quadratic_rows":[159,13,275,275,157,0,0,17,268]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":770,"old":644,"rank":1,"right":{"linear_Z4":[2,2,0,0,1,0,0,0,2],"matrix_rows":[272,1,18,4,8,256,288,64,128],"offset":103,"phase":1,"quadratic_rows":[0,16,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,17,34,66,129,1,4,6,256],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":806,"old":644,"rank":3,"right":{"linear_Z4":[3,2,0,0,3,0,0,3,0],"matrix_rows":[17,132,192,35,32,128,136,48,256],"offset":35,"phase":1,"quadratic_rows":[51,1,0,0,49,17,128,192,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":782,"old":645,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[136,1,2,4,128,16,32,192,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":804,"old":645,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[132,1,2,128,8,16,32,192,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":771,"old":646,"rank":1,"right":{"linear_Z4":[2,2,0,0,1,0,0,2,0],"matrix_rows":[144,1,18,4,8,128,160,64,256],"offset":103,"phase":1,"quadratic_rows":[0,16,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,17,34,66,129,1,4,256,6],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":805,"old":646,"rank":3,"right":{"linear_Z4":[3,2,0,0,3,0,0,0,3],"matrix_rows":[17,260,320,35,32,256,264,48,128],"offset":35,"phase":1,"quadratic_rows":[51,1,0,0,49,17,256,0,320]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":781,"old":647,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[264,1,2,4,256,16,32,320,128],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":803,"old":647,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,8,16,32,320,128],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":521,"old":648,"rank":1,"right":{"linear_Z4":[2,2,1,0,0,0,0,0,2],"matrix_rows":[260,5,2,256,8,16,288,64,128],"offset":70,"phase":3,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":807,"old":648,"rank":1,"right":{"linear_Z4":[2,2,2,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,264,272,288,320,384],"offset":94,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":504,"old":649,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,0,0],"matrix_rows":[7,129,128,132,8,16,32,64,256],"offset":5,"phase":0,"quadratic_rows":[135,133,135,0,0,0,0,7,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":772,"old":649,"rank":1,"right":{"linear_Z4":[2,2,0,0,0,0,0,2,0],"matrix_rows":[132,5,6,128,8,16,160,64,256],"offset":15,"phase":0,"quadratic_rows":[4,4,3,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":526,"old":650,"rank":1,"right":{"linear_Z4":[3,0,3,2,0,0,0,0,0],"matrix_rows":[5,33,2,44,32,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[37,0,45,4,0,5,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":807,"old":650,"rank":1,"right":{"linear_Z4":[3,0,3,2,0,0,0,0,0],"matrix_rows":[5,41,2,36,32,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[45,0,37,1,0,5,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":484,"old":651,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[144,1,2,4,8,128,32,192,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":773,"old":651,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[130,1,128,4,8,16,32,192,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":504,"old":652,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,0,0],"matrix_rows":[69,129,2,132,8,16,32,128,256],"offset":129,"phase":0,"quadratic_rows":[197,0,197,0,0,0,133,69,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":808,"old":652,"rank":1,"right":{"linear_Z4":[1,0,1,0,0,0,0,0,0],"matrix_rows":[69,193,2,196,8,16,32,128,256],"offset":139,"phase":0,"quadratic_rows":[133,0,133,0,0,0,128,69,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":456,"old":653,"rank":1,"right":{"linear_Z4":[2,1,1,0,0,2,0,0,0],"matrix_rows":[34,5,38,32,8,16,64,128,256],"offset":15,"phase":0,"quadratic_rows":[4,6,7,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":521,"old":653,"rank":1,"right":{"linear_Z4":[2,1,3,0,0,2,0,0,0],"matrix_rows":[38,5,34,32,8,16,64,128,256],"offset":10,"phase":2,"quadratic_rows":[4,6,7,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":498,"old":654,"rank":1,"right":{"linear_Z4":[2,0,3,0,0,0,2,0,0],"matrix_rows":[68,5,2,64,8,16,96,128,256],"offset":67,"phase":3,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":808,"old":654,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,8,272,32,64,128],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":478,"old":655,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[272,1,2,4,8,256,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":774,"old":655,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,8,16,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":484,"old":656,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,0,0],"matrix_rows":[82,1,66,4,8,64,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,18,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":809,"old":656,"rank":1,"right":{"linear_Z4":[0,1,0,0,2,0,2,0,0],"matrix_rows":[66,1,82,4,8,64,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,18,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":460,"old":657,"rank":1,"right":{"linear_Z4":[3,0,2,3,0,0,0,0,0],"matrix_rows":[9,37,2,32,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[45,0,1,41,0,9,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":526,"old":657,"rank":1,"right":{"linear_Z4":[2,0,2,1,0,0,0,0,2],"matrix_rows":[264,1,2,12,256,16,288,64,128],"offset":91,"phase":1,"quadratic_rows":[0,0,8,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":478,"old":658,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[274,1,258,4,8,256,32,64,128],"offset":0,"phase":0,"quadratic_rows":[0,18,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":809,"old":658,"rank":1,"right":{"linear_Z4":[0,1,0,0,2,0,0,0,2],"matrix_rows":[258,1,274,4,8,256,32,64,128],"offset":0,"phase":0,"quadratic_rows":[0,18,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":461,"old":659,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,8,272,32,64,128],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":498,"old":659,"rank":1,"right":{"linear_Z4":[2,0,0,3,0,0,2,0,0],"matrix_rows":[72,9,2,4,64,16,96,128,256],"offset":67,"phase":3,"quadratic_rows":[8,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[6,10,17,2,35,67,131,259,3],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":866,"old":660,"rank":2,"right":{"linear_Z4":[3,3,2,2,0,0,0,0,1],"matrix_rows":[4,267,5,6,256,272,288,320,384],"offset":114,"phase":0,"quadratic_rows":[271,271,259,259,0,0,0,0,271]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":872,"old":660,"rank":1,"right":{"linear_Z4":[0,0,3,2,0,0,0,0,2],"matrix_rows":[260,1,2,268,256,272,288,320,384],"offset":1,"phase":1,"quadratic_rows":[0,0,12,4,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[8,17,34,4,71,6,135,263,7],"offset":0,"phase":0,"quadratic_rows":[0,6,6,0,0,0,0,0,0]},"new":1035,"old":660,"rank":3,"right":{"linear_Z4":[2,1,2,2,0,3,0,0,2],"matrix_rows":[290,4,40,3,288,32,272,320,384],"offset":108,"phase":2,"quadratic_rows":[2,3,32,32,0,44,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,16,33,1,64,130,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":867,"old":661,"rank":2,"right":{"linear_Z4":[2,3,0,1,2,0,0,0,2],"matrix_rows":[26,320,3,16,4,24,32,256,384],"offset":142,"phase":2,"quadratic_rows":[2,11,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":873,"old":661,"rank":1,"right":{"linear_Z4":[3,3,0,2,0,2,0,0,0],"matrix_rows":[43,33,34,4,32,48,64,128,256],"offset":1,"phase":1,"quadratic_rows":[11,11,0,3,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,32,66,3,2,132,260,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":1035,"old":661,"rank":3,"right":{"linear_Z4":[2,1,0,0,1,2,0,0,2],"matrix_rows":[34,24,320,3,48,4,32,256,384],"offset":157,"phase":3,"quadratic_rows":[2,19,0,48,58,24,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,17,32,65,1,130,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":870,"old":662,"rank":2,"right":{"linear_Z4":[0,2,1,2,0,2,0,0,2],"matrix_rows":[36,320,1,6,32,8,48,256,384],"offset":251,"phase":1,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":876,"old":662,"rank":1,"right":{"linear_Z4":[0,3,3,2,0,2,0,0,0],"matrix_rows":[38,1,34,44,32,48,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,14,4,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,16,35,1,66,2,132,260,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":1036,"old":662,"rank":3,"right":{"linear_Z4":[0,2,0,3,0,1,0,0,2],"matrix_rows":[44,36,320,1,14,32,48,256,384],"offset":183,"phase":0,"quadratic_rows":[0,12,34,42,0,44,0,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[6,8,19,34,65,1,130,258,2],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":871,"old":663,"rank":2,"right":{"linear_Z4":[3,2,2,1,0,3,0,0,1],"matrix_rows":[292,41,261,14,288,256,48,320,384],"offset":77,"phase":0,"quadratic_rows":[301,12,267,303,0,41,0,0,269]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":877,"old":663,"rank":1,"right":{"linear_Z4":[1,2,2,1,0,0,0,0,2],"matrix_rows":[265,257,2,12,256,272,288,320,384],"offset":127,"phase":3,"quadratic_rows":[9,0,8,13,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[9,16,38,66,4,5,130,258,2],"offset":0,"phase":0,"quadratic_rows":[5,4,3,0,0,0,0,0,0]},"new":1036,"old":663,"rank":3,"right":{"linear_Z4":[0,2,2,1,1,3,0,0,1],"matrix_rows":[17,284,292,48,14,272,256,320,384],"offset":61,"phase":3,"quadratic_rows":[32,12,290,26,56,309,0,0,292]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,9,18,33,66,3,130,258,2],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":870,"old":664,"rank":2,"right":{"linear_Z4":[0,1,2,1,0,1,0,0,0],"matrix_rows":[271,292,288,294,256,296,272,320,384],"offset":2,"phase":1,"quadratic_rows":[46,43,9,47,0,43,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":877,"old":664,"rank":1,"right":{"linear_Z4":[1,1,1,2,0,2,0,0,0],"matrix_rows":[7,33,34,44,32,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[39,39,47,4,0,7,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,16,38,66,4,5,134,262,6],"offset":0,"phase":0,"quadratic_rows":[5,0,5,0,0,0,0,0,0]},"new":1036,"old":664,"rank":3,"right":{"linear_Z4":[0,2,2,3,2,1,0,0,2],"matrix_rows":[17,284,52,48,14,256,272,320,384],"offset":89,"phase":2,"quadratic_rows":[32,12,34,10,0,37,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,1,32,64,130,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":871,"old":665,"rank":2,"right":{"linear_Z4":[1,2,1,2,0,0,0,0,2],"matrix_rows":[9,320,13,6,8,16,32,256,384],"offset":159,"phase":0,"quadratic_rows":[5,4,7,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":876,"old":665,"rank":1,"right":{"linear_Z4":[2,3,3,0,2,0,0,0,0],"matrix_rows":[23,16,18,20,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[6,7,7,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,16,34,3,1,64,132,260,4],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":1036,"old":665,"rank":3,"right":{"linear_Z4":[0,2,1,1,2,0,0,0,2],"matrix_rows":[9,20,320,16,6,24,32,256,384],"offset":182,"phase":3,"quadratic_rows":[24,4,14,29,9,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,17,32,65,1,130,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":866,"old":666,"rank":2,"right":{"linear_Z4":[2,2,2,0,0,2,0,0,2],"matrix_rows":[36,320,5,6,32,8,48,256,384],"offset":158,"phase":3,"quadratic_rows":[4,4,3,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":873,"old":666,"rank":1,"right":{"linear_Z4":[3,3,2,0,0,2,0,0,0],"matrix_rows":[39,33,34,32,8,48,64,128,256],"offset":1,"phase":1,"quadratic_rows":[7,7,3,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,34,64,3,2,132,260,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":1035,"old":666,"rank":3,"right":{"linear_Z4":[2,1,0,0,1,2,0,0,2],"matrix_rows":[34,20,320,3,48,32,8,256,384],"offset":157,"phase":3,"quadratic_rows":[2,19,48,0,54,20,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,18,33,67,2,129,257,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":867,"old":667,"rank":2,"right":{"linear_Z4":[2,3,2,1,0,1,0,0,1],"matrix_rows":[42,292,3,256,32,264,304,320,384],"offset":117,"phase":3,"quadratic_rows":[2,299,256,298,0,42,0,0,270]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":872,"old":667,"rank":1,"right":{"linear_Z4":[1,1,1,2,0,2,0,0,0],"matrix_rows":[7,33,34,44,32,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[39,39,47,4,0,7,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,34,4,71,6,129,257,1],"offset":0,"phase":0,"quadratic_rows":[6,1,1,0,0,0,0,0,0]},"new":1035,"old":667,"rank":3,"right":{"linear_Z4":[2,1,2,2,0,3,0,0,2],"matrix_rows":[290,292,264,3,256,32,304,320,384],"offset":108,"phase":2,"quadratic_rows":[2,35,256,256,0,290,0,0,44]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[9,16,33,66,130,258,2,4,5],"offset":0,"phase":0,"quadratic_rows":[4,2,5,0,0,0,0,0,0]},"new":1,"old":668,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,3],"matrix_rows":[257,8,384,256,2,260,64,80,96],"offset":73,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,256,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":878,"old":668,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,2],"matrix_rows":[257,385,2,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[129,0,0,0,0,0,0,1,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":884,"old":668,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[385,257,2,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[129,0,0,0,0,0,0,1,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,16,32,65,130,257,2,4,7],"offset":0,"phase":0,"quadratic_rows":[6,5,7,0,0,0,0,0,0]},"new":1,"old":669,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[264,272,384,1,2,4,320,64,352],"offset":195,"phase":0,"quadratic_rows":[0,0,0,64,320,0,24,256,144]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":879,"old":669,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,0,0,0,0],"matrix_rows":[152,1,2,4,392,400,32,64,256],"offset":305,"phase":0,"quadratic_rows":[0,0,0,280,280,0,0,256,152]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":885,"old":669,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,0,0,0,0],"matrix_rows":[152,1,2,4,264,272,32,64,256],"offset":257,"phase":0,"quadratic_rows":[0,0,0,408,408,0,0,280,152]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,16,33,66,132,258,4,2,5],"offset":0,"phase":0,"quadratic_rows":[4,0,1,0,0,0,0,0,0]},"new":1,"old":670,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,0,2,1],"matrix_rows":[257,136,272,320,2,324,128,64,160],"offset":231,"phase":0,"quadratic_rows":[64,0,0,0,320,0,17,0,272]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":882,"old":670,"rank":1,"right":{"linear_Z4":[2,0,0,0,3,0,0,0,2],"matrix_rows":[272,17,2,4,8,256,32,320,128],"offset":131,"phase":3,"quadratic_rows":[16,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":888,"old":670,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[136,1,2,4,128,16,160,64,256],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,16,33,66,132,258,4,5,2],"offset":0,"phase":0,"quadratic_rows":[4,0,1,0,0,0,0,0,0]},"new":1,"old":671,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,0,1,2],"matrix_rows":[129,264,144,192,2,196,256,64,288],"offset":231,"phase":0,"quadratic_rows":[64,0,0,0,192,0,17,144,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":883,"old":671,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[264,1,2,4,256,16,288,64,128],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":889,"old":671,"rank":1,"right":{"linear_Z4":[2,0,0,0,3,0,0,2,0],"matrix_rows":[144,17,2,4,8,128,32,192,256],"offset":131,"phase":3,"quadratic_rows":[16,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,16,33,66,129,258,1,4,6],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":1,"old":672,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,3],"matrix_rows":[1,264,384,64,2,68,256,80,288],"offset":74,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,256,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":882,"old":672,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,0,2,2],"matrix_rows":[264,1,2,4,392,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,136,0,0,0,8,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":889,"old":672,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,0,0,2],"matrix_rows":[392,1,2,4,264,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,136,0,0,0,8,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,16,33,64,130,256,2,4,7],"offset":0,"phase":0,"quadratic_rows":[6,5,7,0,0,0,0,0,0]},"new":1,"old":673,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,272,384,320,2,324,8,64,32],"offset":139,"phase":0,"quadratic_rows":[64,0,0,0,320,0,17,256,144]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":883,"old":673,"rank":1,"right":{"linear_Z4":[1,0,0,0,1,0,0,0,0],"matrix_rows":[145,385,2,4,8,400,32,64,256],"offset":291,"phase":0,"quadratic_rows":[273,0,0,0,273,0,0,256,145]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":888,"old":673,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,0,0],"matrix_rows":[145,257,2,4,8,272,32,64,256],"offset":257,"phase":0,"quadratic_rows":[401,0,0,0,401,0,0,273,145]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,16,33,66,132,258,4,1,6],"offset":0,"phase":0,"quadratic_rows":[0,4,2,0,0,0,0,0,0]},"new":1,"old":674,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,0,0,2,1],"matrix_rows":[129,264,272,128,2,132,320,64,352],"offset":399,"phase":0,"quadratic_rows":[0,0,0,64,320,0,24,0,272]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":878,"old":674,"rank":1,"right":{"linear_Z4":[0,0,0,2,3,0,0,0,2],"matrix_rows":[272,1,2,4,24,256,32,320,128],"offset":145,"phase":3,"quadratic_rows":[0,0,0,16,24,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":885,"old":674,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,2,132,8,16,32,64,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,16,33,66,132,258,4,6,1],"offset":0,"phase":0,"quadratic_rows":[0,4,2,0,0,0,0,0,0]},"new":1,"old":675,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,0,0,1,2],"matrix_rows":[257,136,144,256,2,260,192,64,224],"offset":399,"phase":0,"quadratic_rows":[0,0,0,64,192,0,24,144,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":879,"old":675,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,260,8,16,32,64,128],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":884,"old":675,"rank":1,"right":{"linear_Z4":[0,0,0,2,3,0,0,2,0],"matrix_rows":[144,1,2,4,24,128,32,192,256],"offset":145,"phase":3,"quadratic_rows":[0,0,0,16,24,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,18,35,4,70,134,7,262,6],"offset":0,"phase":0,"quadratic_rows":[4,4,7,0,0,0,0,0,0]},"new":1,"old":676,"rank":3,"right":{"linear_Z4":[2,2,0,0,0,0,3,0,0],"matrix_rows":[321,258,72,320,256,68,272,288,384],"offset":56,"phase":1,"quadratic_rows":[0,0,0,64,0,0,72,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":890,"old":676,"rank":1,"right":{"linear_Z4":[1,1,0,2,0,0,0,0,0],"matrix_rows":[3,265,258,4,256,272,288,320,384],"offset":151,"phase":1,"quadratic_rows":[267,259,0,1,0,0,0,0,3]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":896,"old":676,"rank":1,"right":{"linear_Z4":[3,3,0,2,0,0,0,0,0],"matrix_rows":[3,257,266,4,256,272,288,320,384],"offset":1,"phase":1,"quadratic_rows":[259,267,0,2,0,0,0,0,3]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,17,32,66,132,3,2,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":677,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,1,0,0,2],"matrix_rows":[33,40,272,96,98,4,64,256,384],"offset":215,"phase":0,"quadratic_rows":[64,0,0,96,0,40,9,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":891,"old":677,"rank":1,"right":{"linear_Z4":[2,0,0,3,0,0,2,0,0],"matrix_rows":[72,9,2,4,64,16,96,128,256],"offset":82,"phase":1,"quadratic_rows":[8,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":897,"old":677,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[272,1,2,4,8,256,32,64,384],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[9,18,35,68,132,6,7,260,4],"offset":0,"phase":0,"quadratic_rows":[4,2,5,0,0,0,0,0,0]},"new":1,"old":678,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,1,1,0,3],"matrix_rows":[353,2,104,96,288,324,256,272,384],"offset":79,"phase":1,"quadratic_rows":[256,288,0,352,0,106,104,0,267]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":894,"old":678,"rank":1,"right":{"linear_Z4":[3,2,0,2,0,0,0,0,2],"matrix_rows":[257,265,2,4,256,272,288,320,384],"offset":150,"phase":0,"quadratic_rows":[9,0,0,1,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":900,"old":678,"rank":1,"right":{"linear_Z4":[3,2,0,0,0,0,0,0,2],"matrix_rows":[265,257,2,4,256,272,288,320,384],"offset":85,"phase":2,"quadratic_rows":[9,0,0,1,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,33,2,68,131,3,260,4],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":679,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,2],"matrix_rows":[2,8,272,1,64,68,256,96,384],"offset":84,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":895,"old":679,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[72,1,2,4,64,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":901,"old":679,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[272,1,2,4,8,256,32,64,384],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,18,35,4,65,134,7,257,1],"offset":0,"phase":0,"quadratic_rows":[5,2,1,0,0,0,0,0,0]},"new":1,"old":680,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,0,0,3],"matrix_rows":[1,2,264,256,320,68,272,352,384],"offset":58,"phase":2,"quadratic_rows":[256,320,0,256,0,0,2,0,267]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":894,"old":680,"rank":1,"right":{"linear_Z4":[2,2,0,1,0,0,2,0,0],"matrix_rows":[72,9,2,4,64,16,96,128,256],"offset":70,"phase":3,"quadratic_rows":[8,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":901,"old":680,"rank":1,"right":{"linear_Z4":[0,2,0,3,0,0,0,0,2],"matrix_rows":[265,256,2,260,264,272,32,320,384],"offset":15,"phase":2,"quadratic_rows":[8,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,18,35,64,132,2,3,260,4],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":1,"old":681,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,2],"matrix_rows":[97,2,272,96,32,68,8,256,384],"offset":148,"phase":3,"quadratic_rows":[0,32,0,0,0,2,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":895,"old":681,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[65,64,2,68,8,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":900,"old":681,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[272,1,2,4,8,256,32,64,384],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,35,68,131,6,7,259,3],"offset":0,"phase":0,"quadratic_rows":[7,1,1,0,0,0,0,0,0]},"new":1,"old":682,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,1,0,0,0],"matrix_rows":[33,258,296,96,352,260,320,272,384],"offset":77,"phase":0,"quadratic_rows":[64,96,0,96,0,42,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":890,"old":682,"rank":1,"right":{"linear_Z4":[2,2,0,1,0,0,2,0,0],"matrix_rows":[72,9,2,4,64,16,96,128,256],"offset":70,"phase":3,"quadratic_rows":[8,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":897,"old":682,"rank":1,"right":{"linear_Z4":[2,1,0,2,0,0,0,0,2],"matrix_rows":[258,3,256,260,8,272,288,320,384],"offset":82,"phase":3,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,35,2,68,128,1,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":683,"rank":3,"right":{"linear_Z4":[2,2,0,3,0,0,3,0,2],"matrix_rows":[73,74,272,64,8,76,256,32,384],"offset":124,"phase":1,"quadratic_rows":[8,64,0,73,0,0,74,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":891,"old":683,"rank":1,"right":{"linear_Z4":[2,3,0,2,0,0,0,0,0],"matrix_rows":[10,3,8,12,16,32,64,128,256],"offset":14,"phase":1,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":896,"old":683,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[272,1,2,4,8,256,32,64,384],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,17,34,68,4,133,5,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,4,0,0,0,0,0,0]},"new":1,"old":684,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,2],"matrix_rows":[82,260,8,1,80,256,16,96,384],"offset":98,"phase":3,"quadratic_rows":[0,0,0,16,8,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":902,"old":684,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,8,16,32,64,384],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":908,"old":684,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[66,1,64,4,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[9,18,34,68,133,6,7,258,2],"offset":0,"phase":0,"quadratic_rows":[2,3,4,0,0,0,0,0,0]},"new":1,"old":685,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,1,1,0,3],"matrix_rows":[353,98,8,96,256,260,288,336,384],"offset":31,"phase":1,"quadratic_rows":[256,352,0,288,0,106,98,0,267]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":903,"old":685,"rank":1,"right":{"linear_Z4":[3,0,0,2,0,0,0,0,2],"matrix_rows":[259,257,256,260,8,16,288,320,384],"offset":85,"phase":2,"quadratic_rows":[3,1,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":909,"old":685,"rank":1,"right":{"linear_Z4":[3,2,0,2,0,0,0,0,2],"matrix_rows":[257,259,256,260,8,16,288,320,384],"offset":150,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,70,7,132,5,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":686,"rank":3,"right":{"linear_Z4":[0,2,2,0,3,0,0,0,1],"matrix_rows":[273,274,260,320,80,256,344,288,384],"offset":112,"phase":1,"quadratic_rows":[80,320,0,0,273,0,3,0,274]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":906,"old":686,"rank":1,"right":{"linear_Z4":[2,2,2,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,264,272,288,320,384],"offset":158,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":912,"old":686,"rank":1,"right":{"linear_Z4":[2,1,2,0,2,0,0,0,0],"matrix_rows":[18,3,16,4,24,32,64,128,256],"offset":26,"phase":3,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,65,128,3,2,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":687,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,1,0,0,2],"matrix_rows":[33,34,260,96,64,256,104,16,384],"offset":119,"phase":0,"quadratic_rows":[64,96,0,0,0,34,3,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":907,"old":687,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,8,16,32,64,384],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":913,"old":687,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,2,0,0],"matrix_rows":[66,3,64,4,8,16,96,128,256],"offset":70,"phase":1,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,66,3,128,1,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":688,"rank":3,"right":{"linear_Z4":[0,2,0,0,1,0,0,0,2],"matrix_rows":[17,18,260,64,80,256,88,32,384],"offset":111,"phase":0,"quadratic_rows":[80,64,0,0,17,0,3,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":906,"old":688,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,8,16,32,64,384],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":913,"old":688,"rank":1,"right":{"linear_Z4":[2,3,0,0,2,0,0,0,0],"matrix_rows":[18,3,16,4,24,32,64,128,256],"offset":19,"phase":3,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,69,132,7,6,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":689,"rank":3,"right":{"linear_Z4":[2,0,2,0,0,3,0,0,1],"matrix_rows":[289,290,260,96,320,256,360,272,384],"offset":104,"phase":1,"quadratic_rows":[320,96,0,0,0,290,3,0,289]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":907,"old":689,"rank":1,"right":{"linear_Z4":[2,2,2,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,264,272,288,320,384],"offset":158,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":912,"old":689,"rank":1,"right":{"linear_Z4":[2,1,2,0,0,0,2,0,0],"matrix_rows":[66,3,64,4,8,16,96,128,256],"offset":79,"phase":1,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,18,33,68,5,134,7,257,1],"offset":0,"phase":0,"quadratic_rows":[3,1,4,0,0,0,0,0,0]},"new":1,"old":690,"rank":3,"right":{"linear_Z4":[0,0,0,2,1,0,1,0,3],"matrix_rows":[81,338,8,256,80,260,272,352,384],"offset":31,"phase":1,"quadratic_rows":[336,256,0,272,89,0,81,0,267]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":902,"old":690,"rank":1,"right":{"linear_Z4":[0,3,0,2,0,0,0,0,2],"matrix_rows":[259,256,258,260,8,272,32,320,384],"offset":51,"phase":2,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":909,"old":690,"rank":1,"right":{"linear_Z4":[2,1,0,2,0,0,2,0,0],"matrix_rows":[66,3,64,4,8,16,96,128,256],"offset":82,"phase":3,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,16,34,68,133,4,5,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,4,0,0,0,0,0,0]},"new":1,"old":691,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,2],"matrix_rows":[97,260,8,96,2,256,32,80,384],"offset":98,"phase":3,"quadratic_rows":[0,0,0,32,0,8,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":903,"old":691,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,8,16,32,64,384],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":908,"old":691,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[65,64,2,4,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,64,129,258,4,2,5],"offset":0,"phase":0,"quadratic_rows":[4,0,1,0,0,0,0,0,0]},"new":1,"old":692,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,0,2,1],"matrix_rows":[257,130,260,320,128,64,8,336,160],"offset":183,"phase":0,"quadratic_rows":[64,0,320,0,0,0,5,0,260]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":914,"old":692,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[130,1,128,4,8,16,160,64,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":920,"old":692,"rank":1,"right":{"linear_Z4":[2,0,3,0,0,0,0,0,2],"matrix_rows":[260,5,2,256,8,16,32,320,128],"offset":131,"phase":3,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,64,129,258,4,5,2],"offset":0,"phase":0,"quadratic_rows":[4,0,1,0,0,0,0,0,0]},"new":1,"old":693,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,0,1,2],"matrix_rows":[129,258,132,192,256,64,8,208,288],"offset":183,"phase":0,"quadratic_rows":[64,0,192,0,0,0,5,132,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":915,"old":693,"rank":1,"right":{"linear_Z4":[2,0,3,0,0,0,0,2,0],"matrix_rows":[132,5,2,128,8,16,32,192,256],"offset":131,"phase":3,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":921,"old":693,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,8,16,288,64,128],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,17,34,64,128,257,2,4,7],"offset":0,"phase":0,"quadratic_rows":[6,5,7,0,0,0,0,0,0]},"new":1,"old":694,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,260,384,1,320,64,8,16,352],"offset":51,"phase":0,"quadratic_rows":[0,64,320,0,0,0,6,256,132]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":918,"old":694,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,0,0],"matrix_rows":[134,1,258,260,8,16,32,64,256],"offset":257,"phase":0,"quadratic_rows":[0,390,390,0,0,0,0,262,134]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":924,"old":694,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,0,0,0,0],"matrix_rows":[134,1,386,388,8,16,32,64,256],"offset":269,"phase":0,"quadratic_rows":[0,262,262,0,0,0,0,256,134]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[9,18,34,64,129,258,2,4,5],"offset":0,"phase":0,"quadratic_rows":[4,2,5,0,0,0,0,0,0]},"new":1,"old":695,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,3],"matrix_rows":[257,2,384,256,64,68,8,272,96],"offset":25,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,256,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":919,"old":695,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[385,257,2,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[129,0,0,0,0,0,0,1,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":925,"old":695,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,2],"matrix_rows":[257,385,2,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[129,0,0,0,0,0,0,1,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,64,129,258,4,1,6],"offset":0,"phase":0,"quadratic_rows":[0,4,2,0,0,0,0,0,0]},"new":1,"old":696,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,0,0,2,1],"matrix_rows":[129,258,260,128,320,64,8,144,352],"offset":303,"phase":0,"quadratic_rows":[0,64,320,0,0,0,6,0,260]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":918,"old":696,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,2,4,8,144,32,64,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":925,"old":696,"rank":1,"right":{"linear_Z4":[0,2,3,0,0,0,0,0,2],"matrix_rows":[260,1,6,256,8,16,32,320,128],"offset":133,"phase":3,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,64,129,258,4,6,1],"offset":0,"phase":0,"quadratic_rows":[0,4,2,0,0,0,0,0,0]},"new":1,"old":697,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,0,0,1,2],"matrix_rows":[257,130,132,256,192,64,8,272,224],"offset":303,"phase":0,"quadratic_rows":[0,64,192,0,0,0,6,132,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":919,"old":697,"rank":1,"right":{"linear_Z4":[0,2,3,0,0,0,0,2,0],"matrix_rows":[132,1,6,128,8,16,32,192,256],"offset":133,"phase":3,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":924,"old":697,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,8,272,32,64,128],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,16,34,64,129,256,2,4,7],"offset":0,"phase":0,"quadratic_rows":[6,5,7,0,0,0,0,0,0]},"new":1,"old":698,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,260,384,320,2,64,8,336,32],"offset":43,"phase":0,"quadratic_rows":[64,0,320,0,0,0,5,256,132]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":914,"old":698,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,0,0],"matrix_rows":[133,257,2,260,8,16,32,64,256],"offset":257,"phase":0,"quadratic_rows":[389,0,389,0,0,0,0,261,133]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":921,"old":698,"rank":1,"right":{"linear_Z4":[1,0,1,0,0,0,0,0,0],"matrix_rows":[133,385,2,388,8,16,32,64,256],"offset":267,"phase":0,"quadratic_rows":[261,0,261,0,0,0,0,256,133]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,18,33,64,129,258,1,4,6],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":1,"old":699,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,3],"matrix_rows":[1,258,384,64,256,68,8,80,288],"offset":26,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,256,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":915,"old":699,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[386,1,258,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,130,0,0,0,0,0,2,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":920,"old":699,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,2],"matrix_rows":[258,1,386,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,130,0,0,0,0,0,2,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,18,32,68,134,6,4,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,4,0,0,0,0,0,0]},"new":1,"old":700,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,2,0,0,2],"matrix_rows":[257,98,8,256,96,4,64,48,384],"offset":73,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":926,"old":700,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[34,1,32,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":932,"old":700,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,8,16,32,64,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,17,34,68,135,5,6,257,1],"offset":0,"phase":0,"quadratic_rows":[3,1,4,0,0,0,0,0,0]},"new":1,"old":701,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,1,1,0,0],"matrix_rows":[353,100,8,256,258,352,288,336,384],"offset":47,"phase":1,"quadratic_rows":[96,0,256,288,0,361,353,0,108]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":927,"old":701,"rank":1,"right":{"linear_Z4":[2,0,1,2,0,0,2,0,0],"matrix_rows":[68,5,2,64,8,80,32,128,256],"offset":59,"phase":1,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":933,"old":701,"rank":1,"right":{"linear_Z4":[0,0,3,2,0,0,0,0,2],"matrix_rows":[261,256,258,260,8,272,288,64,384],"offset":83,"phase":2,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,65,135,3,5,257,1],"offset":0,"phase":0,"quadratic_rows":[0,4,2,0,0,0,0,0,0]},"new":1,"old":702,"rank":3,"right":{"linear_Z4":[2,2,2,0,0,1,1,0,2],"matrix_rows":[257,98,100,256,288,320,264,368,384],"offset":142,"phase":0,"quadratic_rows":[0,320,288,0,0,100,98,0,6]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":930,"old":702,"rank":1,"right":{"linear_Z4":[2,2,1,0,0,0,2,0,0],"matrix_rows":[68,1,6,64,8,80,32,128,256],"offset":47,"phase":1,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":936,"old":702,"rank":1,"right":{"linear_Z4":[2,2,2,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,264,272,288,320,384],"offset":206,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,70,128,4,2,257,1],"offset":0,"phase":0,"quadratic_rows":[0,4,2,0,0,0,0,0,0]},"new":1,"old":703,"rank":3,"right":{"linear_Z4":[0,2,2,0,0,3,3,0,2],"matrix_rows":[257,98,100,256,64,32,104,16,384],"offset":121,"phase":1,"quadratic_rows":[0,32,64,0,0,98,100,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":931,"old":703,"rank":1,"right":{"linear_Z4":[0,2,3,0,0,2,0,0,0],"matrix_rows":[36,1,6,32,40,16,64,128,256],"offset":28,"phase":1,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":937,"old":703,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,8,16,32,64,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,71,129,5,3,257,1],"offset":0,"phase":0,"quadratic_rows":[0,4,2,0,0,0,0,0,0]},"new":1,"old":704,"rank":3,"right":{"linear_Z4":[2,2,2,0,0,1,1,0,2],"matrix_rows":[257,98,100,256,320,288,360,272,384],"offset":78,"phase":0,"quadratic_rows":[0,288,320,0,0,98,100,0,6]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":930,"old":704,"rank":1,"right":{"linear_Z4":[2,2,1,0,0,2,0,0,0],"matrix_rows":[36,1,6,32,40,16,64,128,256],"offset":31,"phase":1,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":937,"old":704,"rank":1,"right":{"linear_Z4":[2,2,2,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,264,272,288,320,384],"offset":206,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,64,134,2,4,257,1],"offset":0,"phase":0,"quadratic_rows":[0,4,2,0,0,0,0,0,0]},"new":1,"old":705,"rank":3,"right":{"linear_Z4":[0,2,2,0,0,3,3,0,2],"matrix_rows":[257,98,100,256,32,64,8,112,384],"offset":185,"phase":1,"quadratic_rows":[0,64,32,0,0,100,98,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":931,"old":705,"rank":1,"right":{"linear_Z4":[0,2,3,0,0,0,2,0,0],"matrix_rows":[68,1,6,64,8,80,32,128,256],"offset":44,"phase":1,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":936,"old":705,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,8,16,32,64,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,16,34,68,134,4,6,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,4,0,0,0,0,0,0]},"new":1,"old":706,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,2],"matrix_rows":[257,100,8,256,2,96,32,80,384],"offset":73,"phase":3,"quadratic_rows":[0,0,0,32,0,8,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":926,"old":706,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[68,1,2,64,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":933,"old":706,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,8,16,32,64,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,18,33,68,135,6,5,257,1],"offset":0,"phase":0,"quadratic_rows":[3,1,4,0,0,0,0,0,0]},"new":1,"old":707,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,1,1,0,0],"matrix_rows":[353,98,8,256,352,260,320,304,384],"offset":31,"phase":1,"quadratic_rows":[96,256,0,320,0,353,361,0,106]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":927,"old":707,"rank":1,"right":{"linear_Z4":[2,1,0,2,0,2,0,0,0],"matrix_rows":[34,3,32,4,8,48,64,128,256],"offset":55,"phase":1,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":932,"old":707,"rank":1,"right":{"linear_Z4":[0,3,0,2,0,0,0,0,2],"matrix_rows":[259,256,258,260,8,272,32,320,384],"offset":147,"phase":2,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,66,132,256,1,2,5],"offset":0,"phase":0,"quadratic_rows":[4,0,1,0,0,0,0,0,0]},"new":1,"old":708,"rank":3,"right":{"linear_Z4":[0,0,2,0,0,0,0,2,1],"matrix_rows":[257,130,260,64,128,320,136,336,32],"offset":159,"phase":0,"quadratic_rows":[320,0,64,0,0,0,5,0,257]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":938,"old":708,"rank":1,"right":{"linear_Z4":[2,0,3,0,0,0,0,0,2],"matrix_rows":[260,5,2,256,8,272,32,64,128],"offset":35,"phase":3,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":944,"old":708,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[130,1,128,4,136,16,32,64,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,66,132,256,1,5,2],"offset":0,"phase":0,"quadratic_rows":[4,0,1,0,0,0,0,0,0]},"new":1,"old":709,"rank":3,"right":{"linear_Z4":[0,0,2,0,0,0,0,1,2],"matrix_rows":[129,258,132,64,256,192,264,208,32],"offset":159,"phase":0,"quadratic_rows":[192,0,64,0,0,0,5,129,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":939,"old":709,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,264,16,32,64,128],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":945,"old":709,"rank":1,"right":{"linear_Z4":[2,0,3,0,0,0,0,2,0],"matrix_rows":[132,5,2,128,8,144,32,64,256],"offset":35,"phase":3,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,18,32,66,128,256,1,4,7],"offset":0,"phase":0,"quadratic_rows":[6,5,7,0,0,0,0,0,0]},"new":1,"old":710,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,258,384,64,320,4,328,16,32],"offset":27,"phase":0,"quadratic_rows":[320,64,0,0,0,0,3,256,129]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":942,"old":710,"rank":1,"right":{"linear_Z4":[1,1,0,0,0,0,0,0,0],"matrix_rows":[131,385,386,4,8,16,32,64,256],"offset":263,"phase":0,"quadratic_rows":[259,259,0,0,0,0,0,256,131]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":948,"old":710,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[131,257,258,4,8,16,32,64,256],"offset":257,"phase":0,"quadratic_rows":[387,387,0,0,0,0,0,259,131]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,17,34,65,130,256,1,4,6],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":1,"old":711,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,3],"matrix_rows":[1,260,384,64,66,256,72,272,32],"offset":42,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,256,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":943,"old":711,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,2,2],"matrix_rows":[260,1,2,388,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,0,132,0,0,0,0,4,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":949,"old":711,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,0,2],"matrix_rows":[388,1,2,260,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,0,132,0,0,0,0,4,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,66,132,256,1,3,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":712,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,0,0,1,2],"matrix_rows":[129,130,260,64,192,256,200,272,32],"offset":111,"phase":0,"quadratic_rows":[192,64,0,0,0,0,3,129,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":942,"old":712,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,8,272,32,64,128],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":949,"old":712,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,0,2,0],"matrix_rows":[130,3,128,4,136,16,32,64,256],"offset":19,"phase":3,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,66,132,256,1,4,3],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":713,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,0,0,2,1],"matrix_rows":[257,258,132,64,320,128,328,144,32],"offset":111,"phase":0,"quadratic_rows":[320,64,0,0,0,0,3,0,257]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":943,"old":713,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,0,0,2],"matrix_rows":[258,3,256,4,264,16,32,64,128],"offset":19,"phase":3,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":948,"old":713,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[132,1,2,128,8,144,32,64,256],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,18,33,66,129,256,1,4,6],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":1,"old":714,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,3],"matrix_rows":[1,258,384,64,256,68,264,80,32],"offset":26,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,256,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":938,"old":714,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,2],"matrix_rows":[258,1,386,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,130,0,0,0,0,0,2,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":945,"old":714,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[386,1,258,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,130,0,0,0,0,0,2,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,16,34,64,130,256,1,4,7],"offset":0,"phase":0,"quadratic_rows":[6,5,7,0,0,0,0,0,0]},"new":1,"old":715,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,260,384,64,2,320,8,336,32],"offset":43,"phase":0,"quadratic_rows":[320,0,64,0,0,0,5,256,129]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":939,"old":715,"rank":1,"right":{"linear_Z4":[1,0,1,0,0,0,0,0,0],"matrix_rows":[133,385,2,388,8,16,32,64,256],"offset":267,"phase":0,"quadratic_rows":[261,0,261,0,0,0,0,256,133]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":944,"old":715,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,0,0],"matrix_rows":[133,257,2,260,8,16,32,64,256],"offset":257,"phase":0,"quadratic_rows":[389,0,389,0,0,0,0,261,133]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,35,64,1,132,3,260,4],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":716,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,2],"matrix_rows":[1,82,288,16,80,68,8,256,384],"offset":140,"phase":3,"quadratic_rows":[16,0,0,0,1,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":950,"old":716,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[288,1,2,4,8,16,256,64,384],"offset":65,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":956,"old":716,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[66,1,64,68,8,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,18,35,4,69,130,7,258,2],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":1,"old":717,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,0,0,0,3],"matrix_rows":[1,2,264,320,256,68,336,288,384],"offset":57,"phase":2,"quadratic_rows":[320,256,0,256,0,0,1,0,267]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":951,"old":717,"rank":1,"right":{"linear_Z4":[2,0,0,3,0,0,0,0,2],"matrix_rows":[266,1,256,260,264,16,288,320,384],"offset":15,"phase":2,"quadratic_rows":[0,8,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":957,"old":717,"rank":1,"right":{"linear_Z4":[2,2,0,1,0,0,2,0,0],"matrix_rows":[72,1,10,4,64,80,32,128,256],"offset":38,"phase":3,"quadratic_rows":[0,8,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,18,35,68,5,131,7,259,3],"offset":0,"phase":0,"quadratic_rows":[2,7,2,0,0,0,0,0,0]},"new":1,"old":718,"rank":3,"right":{"linear_Z4":[0,0,0,0,1,0,0,0,0],"matrix_rows":[257,18,280,336,80,260,320,288,384],"offset":86,"phase":0,"quadratic_rows":[80,64,0,80,25,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":954,"old":718,"rank":1,"right":{"linear_Z4":[3,2,0,3,0,0,0,0,0],"matrix_rows":[9,259,256,260,264,16,288,320,384],"offset":1,"phase":1,"quadratic_rows":[267,1,0,265,0,0,0,0,9]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":960,"old":718,"rank":1,"right":{"linear_Z4":[2,2,0,1,0,0,2,0,0],"matrix_rows":[72,1,10,4,64,80,32,128,256],"offset":38,"phase":3,"quadratic_rows":[0,8,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,35,1,64,132,2,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":719,"rank":3,"right":{"linear_Z4":[2,2,0,3,0,0,3,0,2],"matrix_rows":[73,74,288,8,64,76,16,256,384],"offset":188,"phase":1,"quadratic_rows":[64,8,0,74,0,0,73,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":955,"old":719,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[288,1,2,4,8,16,256,64,384],"offset":65,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":961,"old":719,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,2,0,0],"matrix_rows":[66,3,64,68,8,16,32,128,256],"offset":14,"phase":1,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,17,32,66,3,132,2,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":720,"rank":3,"right":{"linear_Z4":[2,0,0,0,1,0,0,0,2],"matrix_rows":[17,24,288,80,82,4,64,256,384],"offset":215,"phase":0,"quadratic_rows":[64,0,0,80,24,0,9,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":954,"old":720,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[288,1,2,4,8,16,256,64,384],"offset":65,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":961,"old":720,"rank":1,"right":{"linear_Z4":[2,0,0,3,0,0,2,0,0],"matrix_rows":[72,9,2,4,64,80,32,128,256],"offset":50,"phase":1,"quadratic_rows":[8,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,18,35,4,69,133,7,261,5],"offset":0,"phase":0,"quadratic_rows":[4,4,7,0,0,0,0,0,0]},"new":1,"old":721,"rank":3,"right":{"linear_Z4":[2,2,0,0,0,0,3,0,0],"matrix_rows":[257,322,72,256,320,68,272,288,384],"offset":56,"phase":1,"quadratic_rows":[0,0,0,64,0,0,72,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":955,"old":721,"rank":1,"right":{"linear_Z4":[3,3,0,2,0,0,0,0,0],"matrix_rows":[3,265,258,4,256,272,288,320,384],"offset":1,"phase":1,"quadratic_rows":[267,259,0,1,0,0,0,0,3]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":960,"old":721,"rank":1,"right":{"linear_Z4":[1,1,0,2,0,0,0,0,0],"matrix_rows":[3,257,266,4,256,272,288,320,384],"offset":151,"phase":1,"quadratic_rows":[259,267,0,2,0,0,0,0,3]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,18,35,68,5,132,7,260,4],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":1,"old":722,"rank":3,"right":{"linear_Z4":[2,0,0,0,1,0,1,0,3],"matrix_rows":[1,338,88,272,80,324,256,288,384],"offset":87,"phase":1,"quadratic_rows":[272,256,0,336,89,0,88,0,267]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":950,"old":722,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,0,0,2],"matrix_rows":[266,1,258,4,256,272,288,320,384],"offset":51,"phase":2,"quadratic_rows":[0,10,0,2,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":957,"old":722,"rank":1,"right":{"linear_Z4":[2,3,0,2,0,0,0,0,2],"matrix_rows":[258,1,266,4,256,272,288,320,384],"offset":150,"phase":0,"quadratic_rows":[0,10,0,2,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[9,16,33,2,67,132,3,260,4],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":723,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,2],"matrix_rows":[1,8,288,64,2,68,80,256,384],"offset":140,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":951,"old":723,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[288,1,2,4,8,16,256,64,384],"offset":65,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":956,"old":723,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[72,1,2,4,64,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,33,66,130,260,4,1,6],"offset":0,"phase":0,"quadratic_rows":[0,4,2,0,0,0,0,0,0]},"new":1,"old":724,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,0,0,2,1],"matrix_rows":[130,264,288,1,128,132,320,336,64],"offset":407,"phase":0,"quadratic_rows":[0,0,0,64,0,320,40,0,288]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":962,"old":724,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[130,1,128,132,8,16,32,64,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":968,"old":724,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,3,0,0,2],"matrix_rows":[288,1,2,4,40,16,256,320,128],"offset":145,"phase":3,"quadratic_rows":[0,0,0,32,0,40,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,33,66,130,260,4,6,1],"offset":0,"phase":0,"quadratic_rows":[0,4,2,0,0,0,0,0,0]},"new":1,"old":725,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,0,0,1,2],"matrix_rows":[258,136,160,1,256,260,192,208,64],"offset":407,"phase":0,"quadratic_rows":[0,0,0,64,0,192,40,160,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":963,"old":725,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,3,0,2,0],"matrix_rows":[160,1,2,4,40,16,128,192,256],"offset":145,"phase":3,"quadratic_rows":[0,0,0,32,0,40,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":969,"old":725,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,260,8,16,32,64,128],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,17,33,64,128,258,2,4,7],"offset":0,"phase":0,"quadratic_rows":[6,5,7,0,0,0,0,0,0]},"new":1,"old":726,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,288,384,1,320,324,8,16,64],"offset":275,"phase":0,"quadratic_rows":[0,64,0,0,0,320,34,256,160]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":966,"old":726,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,3,0,0,0],"matrix_rows":[162,1,258,4,8,16,288,64,256],"offset":257,"phase":0,"quadratic_rows":[0,418,0,0,0,418,0,290,162]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":972,"old":726,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,1,0,0,0],"matrix_rows":[162,1,386,4,8,16,416,64,256],"offset":325,"phase":0,"quadratic_rows":[0,290,0,0,0,290,0,256,162]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[8,17,33,66,130,257,1,4,6],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":1,"old":727,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,3],"matrix_rows":[2,264,384,1,64,68,256,272,96],"offset":82,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,256,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":967,"old":727,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,0,0,2],"matrix_rows":[392,1,2,4,264,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,136,0,0,0,8,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":973,"old":727,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,0,2,2],"matrix_rows":[264,1,2,4,392,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,136,0,0,0,8,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,33,66,130,260,4,2,5],"offset":0,"phase":0,"quadratic_rows":[4,0,1,0,0,0,0,0,0]},"new":1,"old":728,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,0,0,2,1],"matrix_rows":[258,136,288,1,320,324,128,144,64],"offset":359,"phase":0,"quadratic_rows":[0,64,0,0,0,320,34,0,288]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":966,"old":728,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[136,1,2,4,128,144,32,64,256],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":973,"old":728,"rank":1,"right":{"linear_Z4":[0,2,0,0,0,3,0,0,2],"matrix_rows":[288,1,34,4,8,16,256,320,128],"offset":133,"phase":3,"quadratic_rows":[0,32,0,0,0,34,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,33,66,130,260,4,5,2],"offset":0,"phase":0,"quadratic_rows":[4,0,1,0,0,0,0,0,0]},"new":1,"old":729,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,0,0,1,2],"matrix_rows":[130,264,160,1,192,196,256,272,64],"offset":359,"phase":0,"quadratic_rows":[0,64,0,0,0,192,34,160,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":967,"old":729,"rank":1,"right":{"linear_Z4":[0,2,0,0,0,3,0,2,0],"matrix_rows":[160,1,34,4,8,16,128,192,256],"offset":133,"phase":3,"quadratic_rows":[0,32,0,0,0,34,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":972,"old":729,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[264,1,2,4,256,272,32,64,128],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,16,32,65,129,258,2,4,7],"offset":0,"phase":0,"quadratic_rows":[6,5,7,0,0,0,0,0,0]},"new":1,"old":730,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[264,288,384,1,2,4,320,336,64],"offset":323,"phase":0,"quadratic_rows":[0,0,0,64,0,320,40,256,160]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":962,"old":730,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,3,0,0,0],"matrix_rows":[168,1,2,4,264,16,288,64,256],"offset":257,"phase":0,"quadratic_rows":[0,0,0,424,0,424,0,296,168]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":969,"old":730,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,1,0,0,0],"matrix_rows":[168,1,2,4,392,16,416,64,256],"offset":337,"phase":0,"quadratic_rows":[0,0,0,296,0,296,0,256,168]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[8,17,33,66,130,258,2,4,5],"offset":0,"phase":0,"quadratic_rows":[4,2,5,0,0,0,0,0,0]},"new":1,"old":731,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,3],"matrix_rows":[258,8,384,1,256,260,64,80,96],"offset":81,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,256,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":963,"old":731,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[386,1,258,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,130,0,0,0,0,0,2,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":968,"old":731,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,2],"matrix_rows":[258,1,386,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,130,0,0,0,0,0,2,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,35,68,3,128,1,260,4],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":732,"rank":3,"right":{"linear_Z4":[2,0,0,0,2,0,0,0,2],"matrix_rows":[1,82,264,64,80,20,256,32,384],"offset":76,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":974,"old":732,"rank":1,"right":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[18,1,16,20,8,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":980,"old":732,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[264,1,2,4,256,16,32,64,384],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,35,66,132,7,6,258,2],"offset":0,"phase":0,"quadratic_rows":[4,0,1,0,0,0,0,0,0]},"new":1,"old":733,"rank":3,"right":{"linear_Z4":[2,2,0,0,0,3,0,0,1],"matrix_rows":[289,258,304,96,256,356,264,320,384],"offset":56,"phase":1,"quadratic_rows":[320,0,0,0,96,304,17,0,289]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":975,"old":733,"rank":1,"right":{"linear_Z4":[2,2,0,0,1,0,2,0,0],"matrix_rows":[80,17,2,4,8,64,96,128,256],"offset":103,"phase":1,"quadratic_rows":[16,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":981,"old":733,"rank":1,"right":{"linear_Z4":[2,2,0,0,2,0,0,0,2],"matrix_rows":[258,1,256,260,264,16,288,320,384],"offset":174,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,18,35,65,4,135,6,257,1],"offset":0,"phase":0,"quadratic_rows":[5,2,1,0,0,0,0,0,0]},"new":1,"old":734,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,0,0,3],"matrix_rows":[1,2,272,256,64,324,264,352,384],"offset":58,"phase":2,"quadratic_rows":[256,64,0,0,256,0,2,0,273]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":978,"old":734,"rank":1,"right":{"linear_Z4":[2,2,0,0,1,0,2,0,0],"matrix_rows":[80,17,2,4,8,64,96,128,256],"offset":103,"phase":1,"quadratic_rows":[16,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":984,"old":734,"rank":1,"right":{"linear_Z4":[0,2,0,0,3,0,0,0,2],"matrix_rows":[273,256,2,260,264,272,288,64,384],"offset":15,"phase":2,"quadratic_rows":[16,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,18,35,68,128,3,2,260,4],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":1,"old":735,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,2,0,0,2],"matrix_rows":[97,2,264,96,64,36,256,16,384],"offset":84,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":979,"old":735,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[33,32,2,36,8,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":985,"old":735,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[264,1,2,4,256,16,32,64,384],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[9,18,35,68,132,7,6,260,4],"offset":0,"phase":0,"quadratic_rows":[4,2,5,0,0,0,0,0,0]},"new":1,"old":736,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,1,1,0,3],"matrix_rows":[353,2,104,96,320,292,256,272,384],"offset":79,"phase":1,"quadratic_rows":[256,320,0,352,0,104,106,0,267]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":978,"old":736,"rank":1,"right":{"linear_Z4":[3,2,0,2,0,0,0,0,2],"matrix_rows":[257,265,2,4,256,272,288,320,384],"offset":86,"phase":0,"quadratic_rows":[9,0,0,1,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":985,"old":736,"rank":1,"right":{"linear_Z4":[3,2,0,0,0,0,0,0,2],"matrix_rows":[265,257,2,4,256,272,288,320,384],"offset":149,"phase":2,"quadratic_rows":[9,0,0,1,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,33,66,4,133,5,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":737,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,2],"matrix_rows":[2,264,16,1,64,68,256,96,384],"offset":82,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":979,"old":737,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[80,1,2,4,8,64,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":984,"old":737,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[264,1,2,4,256,16,32,64,384],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,16,33,66,132,5,4,258,2],"offset":0,"phase":0,"quadratic_rows":[4,0,1,0,0,0,0,0,0]},"new":1,"old":738,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,1,0,0,2],"matrix_rows":[33,264,48,96,2,100,256,64,384],"offset":231,"phase":0,"quadratic_rows":[64,0,0,0,96,48,17,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":974,"old":738,"rank":1,"right":{"linear_Z4":[2,0,0,0,3,0,2,0,0],"matrix_rows":[80,17,2,4,8,64,96,128,256],"offset":98,"phase":1,"quadratic_rows":[16,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":981,"old":738,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[264,1,2,4,256,16,32,64,384],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,18,35,68,7,132,5,260,4],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":1,"old":739,"rank":3,"right":{"linear_Z4":[2,0,0,0,1,0,1,0,3],"matrix_rows":[1,338,88,320,80,276,256,288,384],"offset":87,"phase":1,"quadratic_rows":[320,256,0,336,88,0,89,0,267]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":975,"old":739,"rank":1,"right":{"linear_Z4":[2,3,0,2,0,0,0,0,2],"matrix_rows":[258,1,266,4,256,272,288,320,384],"offset":54,"phase":0,"quadratic_rows":[0,10,0,2,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":980,"old":739,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,0,0,2],"matrix_rows":[266,1,258,4,256,272,288,320,384],"offset":147,"phase":2,"quadratic_rows":[0,10,0,2,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,17,32,66,132,260,2,1,6],"offset":0,"phase":0,"quadratic_rows":[0,4,2,0,0,0,0,0,0]},"new":1,"old":740,"rank":3,"right":{"linear_Z4":[0,0,0,0,2,0,0,2,1],"matrix_rows":[129,264,272,128,130,4,64,320,352],"offset":335,"phase":0,"quadratic_rows":[0,0,0,320,64,0,24,0,264]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":986,"old":740,"rank":1,"right":{"linear_Z4":[0,0,0,2,3,0,0,0,2],"matrix_rows":[272,1,2,4,24,256,288,64,128],"offset":81,"phase":3,"quadratic_rows":[0,0,0,16,24,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":992,"old":740,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,130,4,8,16,32,64,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,17,32,66,132,260,2,6,1],"offset":0,"phase":0,"quadratic_rows":[0,4,2,0,0,0,0,0,0]},"new":1,"old":741,"rank":3,"right":{"linear_Z4":[0,0,0,0,2,0,0,1,2],"matrix_rows":[257,136,144,256,258,4,64,192,224],"offset":335,"phase":0,"quadratic_rows":[0,0,0,192,64,0,24,136,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":987,"old":741,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,258,4,8,16,32,64,128],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":993,"old":741,"rank":1,"right":{"linear_Z4":[0,0,0,2,3,0,0,2,0],"matrix_rows":[144,1,2,4,24,128,160,64,256],"offset":81,"phase":3,"quadratic_rows":[0,0,0,16,24,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,17,32,66,128,256,2,4,7],"offset":0,"phase":0,"quadratic_rows":[6,5,7,0,0,0,0,0,0]},"new":1,"old":742,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,264,384,320,322,4,64,16,32],"offset":75,"phase":0,"quadratic_rows":[64,0,0,320,0,0,9,256,136]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":990,"old":742,"rank":1,"right":{"linear_Z4":[1,0,0,1,0,0,0,0,0],"matrix_rows":[137,385,2,4,392,16,32,64,256],"offset":275,"phase":0,"quadratic_rows":[265,0,0,265,0,0,0,256,137]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":996,"old":742,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,0,0],"matrix_rows":[137,257,2,4,264,16,32,64,256],"offset":257,"phase":0,"quadratic_rows":[393,0,0,393,0,0,0,265,137]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,17,32,65,130,258,1,4,6],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":1,"old":743,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,3],"matrix_rows":[1,272,384,64,66,4,72,256,288],"offset":138,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,256,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":991,"old":743,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,0,2,2],"matrix_rows":[272,1,2,4,8,400,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,144,0,0,16,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":997,"old":743,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,0,0,2],"matrix_rows":[400,1,2,4,8,272,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,144,0,0,16,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,17,32,66,132,260,2,3,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":744,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,0,1,2],"matrix_rows":[129,136,272,192,194,4,64,256,288],"offset":215,"phase":0,"quadratic_rows":[64,0,0,192,0,0,9,136,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":990,"old":744,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[272,1,2,4,8,256,288,64,128],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":997,"old":744,"rank":1,"right":{"linear_Z4":[2,0,0,3,0,0,0,2,0],"matrix_rows":[136,9,2,4,128,16,32,192,256],"offset":131,"phase":3,"quadratic_rows":[8,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,17,32,66,132,260,2,4,3],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":745,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,0,2,1],"matrix_rows":[257,264,144,320,322,4,64,128,160],"offset":215,"phase":0,"quadratic_rows":[64,0,0,320,0,0,9,0,264]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":991,"old":745,"rank":1,"right":{"linear_Z4":[2,0,0,3,0,0,0,0,2],"matrix_rows":[264,9,2,4,256,16,32,320,128],"offset":131,"phase":3,"quadratic_rows":[8,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":996,"old":745,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[144,1,2,4,8,128,160,64,256],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[9,17,32,66,130,258,2,4,5],"offset":0,"phase":0,"quadratic_rows":[4,2,5,0,0,0,0,0,0]},"new":1,"old":746,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,3],"matrix_rows":[257,8,384,256,258,4,64,80,96],"offset":73,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,256,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":986,"old":746,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,2],"matrix_rows":[257,385,2,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[129,0,0,0,0,0,0,1,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":993,"old":746,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[385,257,2,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[129,0,0,0,0,0,0,1,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,16,32,65,130,258,1,4,7],"offset":0,"phase":0,"quadratic_rows":[6,5,7,0,0,0,0,0,0]},"new":1,"old":747,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[264,272,384,1,2,4,64,320,352],"offset":195,"phase":0,"quadratic_rows":[0,0,0,320,64,0,24,256,136]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":987,"old":747,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,0,0,0,0],"matrix_rows":[152,1,2,4,392,400,32,64,256],"offset":305,"phase":0,"quadratic_rows":[0,0,0,280,280,0,0,256,152]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":992,"old":747,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,0,0,0,0],"matrix_rows":[152,1,2,4,264,272,32,64,256],"offset":257,"phase":0,"quadratic_rows":[0,0,0,408,408,0,0,280,152]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,17,34,65,128,258,1,4,6],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":1,"old":748,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,3],"matrix_rows":[1,260,384,64,66,256,72,16,288],"offset":42,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,256,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":998,"old":748,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,0,2],"matrix_rows":[388,1,2,260,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,0,132,0,0,0,0,4,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1004,"old":748,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,2,2],"matrix_rows":[260,1,2,388,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,0,132,0,0,0,0,4,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,18,32,65,128,256,2,4,7],"offset":0,"phase":0,"quadratic_rows":[6,5,7,0,0,0,0,0,0]},"new":1,"old":749,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,258,384,320,64,4,328,16,32],"offset":27,"phase":0,"quadratic_rows":[64,320,0,0,0,0,3,256,130]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":999,"old":749,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[131,257,258,4,8,16,32,64,256],"offset":257,"phase":0,"quadratic_rows":[387,387,0,0,0,0,0,259,131]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1005,"old":749,"rank":1,"right":{"linear_Z4":[1,1,0,0,0,0,0,0,0],"matrix_rows":[131,385,386,4,8,16,32,64,256],"offset":263,"phase":0,"quadratic_rows":[259,259,0,0,0,0,0,256,131]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,65,128,260,2,1,6],"offset":0,"phase":0,"quadratic_rows":[0,4,2,0,0,0,0,0,0]},"new":1,"old":750,"rank":3,"right":{"linear_Z4":[0,0,2,0,0,0,0,2,1],"matrix_rows":[129,258,260,128,64,320,136,16,352],"offset":287,"phase":0,"quadratic_rows":[0,320,64,0,0,0,6,0,258]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1002,"old":750,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,2,4,136,16,32,64,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1008,"old":750,"rank":1,"right":{"linear_Z4":[0,2,3,0,0,0,0,0,2],"matrix_rows":[260,1,6,256,8,16,288,64,128],"offset":69,"phase":3,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,65,128,260,2,6,1],"offset":0,"phase":0,"quadratic_rows":[0,4,2,0,0,0,0,0,0]},"new":1,"old":751,"rank":3,"right":{"linear_Z4":[0,0,2,0,0,0,0,1,2],"matrix_rows":[257,130,132,256,64,192,264,16,224],"offset":287,"phase":0,"quadratic_rows":[0,192,64,0,0,0,6,130,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1003,"old":751,"rank":1,"right":{"linear_Z4":[0,2,3,0,0,0,0,2,0],"matrix_rows":[132,1,6,128,8,16,160,64,256],"offset":69,"phase":3,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1009,"old":751,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,264,16,32,64,128],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,17,34,64,128,258,1,4,7],"offset":0,"phase":0,"quadratic_rows":[6,5,7,0,0,0,0,0,0]},"new":1,"old":752,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,260,384,1,64,320,8,16,352],"offset":51,"phase":0,"quadratic_rows":[0,320,64,0,0,0,6,256,130]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1002,"old":752,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,0,0],"matrix_rows":[134,1,258,260,8,16,32,64,256],"offset":257,"phase":0,"quadratic_rows":[0,390,390,0,0,0,0,262,134]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1009,"old":752,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,0,0,0,0],"matrix_rows":[134,1,386,388,8,16,32,64,256],"offset":269,"phase":0,"quadratic_rows":[0,262,262,0,0,0,0,256,134]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[9,18,34,65,128,258,2,4,5],"offset":0,"phase":0,"quadratic_rows":[4,2,5,0,0,0,0,0,0]},"new":1,"old":753,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,3],"matrix_rows":[257,2,384,256,64,68,264,16,96],"offset":25,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,256,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1003,"old":753,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[385,257,2,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[129,0,0,0,0,0,0,1,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1008,"old":753,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,2],"matrix_rows":[257,385,2,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[129,0,0,0,0,0,0,1,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,65,128,260,2,3,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":754,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,0,1,2],"matrix_rows":[129,130,260,192,64,256,200,16,288],"offset":119,"phase":0,"quadratic_rows":[64,192,0,0,0,0,3,130,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":998,"old":754,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,0,2,0],"matrix_rows":[130,3,128,4,8,16,32,192,256],"offset":131,"phase":3,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1005,"old":754,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,8,16,288,64,128],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,65,128,260,2,4,3],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":755,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,0,2,1],"matrix_rows":[257,258,132,320,64,128,328,16,160],"offset":119,"phase":0,"quadratic_rows":[64,320,0,0,0,0,3,0,258]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":999,"old":755,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[132,1,2,128,8,16,160,64,256],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1004,"old":755,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,0,0,2],"matrix_rows":[258,3,256,4,8,16,32,320,128],"offset":131,"phase":3,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,17,34,68,5,135,6,257,1],"offset":0,"phase":0,"quadratic_rows":[3,1,4,0,0,0,0,0,0]},"new":1,"old":756,"rank":3,"right":{"linear_Z4":[0,0,0,2,1,0,1,0,0],"matrix_rows":[337,84,8,256,258,336,272,352,384],"offset":47,"phase":1,"quadratic_rows":[80,0,256,272,345,0,337,0,92]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1010,"old":756,"rank":1,"right":{"linear_Z4":[0,0,3,2,0,0,0,0,2],"matrix_rows":[261,256,258,260,8,272,288,64,384],"offset":51,"phase":2,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1016,"old":756,"rank":1,"right":{"linear_Z4":[2,0,1,2,0,0,2,0,0],"matrix_rows":[68,5,2,64,8,16,96,128,256],"offset":91,"phase":1,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,18,32,68,133,5,4,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,4,0,0,0,0,0,0]},"new":1,"old":757,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,2,0,0,2],"matrix_rows":[97,258,8,96,256,4,64,48,384],"offset":82,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1011,"old":757,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,8,16,32,64,384],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1017,"old":757,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[33,32,2,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,66,131,7,6,258,2],"offset":0,"phase":0,"quadratic_rows":[4,0,1,0,0,0,0,0,0]},"new":1,"old":758,"rank":3,"right":{"linear_Z4":[2,2,0,0,0,3,0,0,1],"matrix_rows":[289,258,292,96,256,320,264,368,384],"offset":152,"phase":1,"quadratic_rows":[320,0,96,0,0,292,5,0,289]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1014,"old":758,"rank":1,"right":{"linear_Z4":[2,2,2,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,264,272,288,320,384],"offset":174,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1020,"old":758,"rank":1,"right":{"linear_Z4":[2,2,1,0,0,0,2,0,0],"matrix_rows":[68,5,2,64,8,16,96,128,256],"offset":79,"phase":1,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,69,4,128,1,258,2],"offset":0,"phase":0,"quadratic_rows":[4,0,1,0,0,0,0,0,0]},"new":1,"old":759,"rank":3,"right":{"linear_Z4":[2,0,2,0,3,0,3,0,2],"matrix_rows":[81,258,84,64,256,16,88,32,384],"offset":122,"phase":1,"quadratic_rows":[16,0,64,0,81,0,84,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1015,"old":759,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,8,16,32,64,384],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1021,"old":759,"rank":1,"right":{"linear_Z4":[2,0,3,0,2,0,0,0,0],"matrix_rows":[20,5,2,16,24,32,64,128,256],"offset":26,"phase":1,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,64,129,5,4,258,2],"offset":0,"phase":0,"quadratic_rows":[4,0,1,0,0,0,0,0,0]},"new":1,"old":760,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,1,0,0,2],"matrix_rows":[33,258,36,96,256,64,8,112,384],"offset":183,"phase":0,"quadratic_rows":[64,0,96,0,0,36,5,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1014,"old":760,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,8,16,32,64,384],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1021,"old":760,"rank":1,"right":{"linear_Z4":[2,0,3,0,0,0,2,0,0],"matrix_rows":[68,5,2,64,8,16,96,128,256],"offset":74,"phase":1,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,71,6,130,3,258,2],"offset":0,"phase":0,"quadratic_rows":[4,0,1,0,0,0,0,0,0]},"new":1,"old":761,"rank":3,"right":{"linear_Z4":[2,2,2,0,1,0,1,0,2],"matrix_rows":[81,258,84,320,256,272,344,288,384],"offset":85,"phase":0,"quadratic_rows":[272,0,320,0,81,0,84,0,5]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1015,"old":761,"rank":1,"right":{"linear_Z4":[2,2,2,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,264,272,288,320,384],"offset":174,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1020,"old":761,"rank":1,"right":{"linear_Z4":[2,2,1,0,2,0,0,0,0],"matrix_rows":[20,5,2,16,24,32,64,128,256],"offset":31,"phase":1,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,17,34,68,4,134,6,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,4,0,0,0,0,0,0]},"new":1,"old":762,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,2],"matrix_rows":[258,84,8,1,256,80,16,96,384],"offset":81,"phase":3,"quadratic_rows":[0,0,0,16,8,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1010,"old":762,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,8,16,32,64,384],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1017,"old":762,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[68,1,2,64,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[9,18,34,68,133,7,6,258,2],"offset":0,"phase":0,"quadratic_rows":[2,3,4,0,0,0,0,0,0]},"new":1,"old":763,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,1,1,0,3],"matrix_rows":[353,98,8,96,256,260,320,304,384],"offset":31,"phase":1,"quadratic_rows":[256,352,0,320,0,98,106,0,267]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1011,"old":763,"rank":1,"right":{"linear_Z4":[3,0,0,2,0,0,0,0,2],"matrix_rows":[259,257,256,260,8,16,288,320,384],"offset":149,"phase":2,"quadratic_rows":[3,1,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1016,"old":763,"rank":1,"right":{"linear_Z4":[3,2,0,2,0,0,0,0,2],"matrix_rows":[257,259,256,260,8,16,288,320,384],"offset":86,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,3,0,0,0,0,0],"matrix_rows":[17,34,68,132,258,1,3,8,12],"offset":0,"phase":0,"quadratic_rows":[2,1,8,12,0,0,0,0,0]},"new":1,"old":764,"rank":4,"right":{"linear_Z4":[0,2,0,0,0,0,1,0,3],"matrix_rows":[65,66,260,384,32,96,256,264,112],"offset":343,"phase":0,"quadratic_rows":[96,32,0,0,0,3,65,256,384]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,18,32,65,128,1,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1022,"old":764,"rank":2,"right":{"linear_Z4":[2,3,1,0,0,0,2,2,2],"matrix_rows":[66,260,3,64,388,8,80,32,256],"offset":69,"phase":3,"quadratic_rows":[2,3,132,0,0,0,0,4,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1028,"old":764,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,0,2],"matrix_rows":[388,129,130,260,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[128,128,132,0,0,0,0,7,0]}},{"left":{"linear_Z4":[2,2,3,3,0,0,0,0,0],"matrix_rows":[17,34,64,128,258,1,4,8,15],"offset":0,"phase":0,"quadratic_rows":[14,13,15,15,0,0,0,0,0]},"new":1,"old":765,"rank":4,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,3],"matrix_rows":[257,258,320,384,32,288,4,8,304],"offset":51,"phase":0,"quadratic_rows":[288,32,0,0,0,3,256,256,449]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,32,64,128,258,1,3],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":1023,"old":765,"rank":2,"right":{"linear_Z4":[1,1,0,0,0,0,0,0,1],"matrix_rows":[387,64,129,130,4,8,16,32,256],"offset":258,"phase":0,"quadratic_rows":[259,259,0,0,0,0,256,256,451]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1029,"old":765,"rank":1,"right":{"linear_Z4":[1,1,0,0,0,0,1,2,2],"matrix_rows":[323,257,258,4,8,16,32,448,256],"offset":0,"phase":0,"quadratic_rows":[67,67,0,0,0,0,195,64,0]}},{"left":{"linear_Z4":[2,2,2,3,0,0,0,0,0],"matrix_rows":[17,34,68,132,2,257,6,8,9],"offset":0,"phase":0,"quadratic_rows":[8,4,2,9,0,0,0,0,0]},"new":1,"old":766,"rank":4,"right":{"linear_Z4":[0,0,2,0,0,0,1,0,3],"matrix_rows":[257,66,68,384,256,16,80,88,288],"offset":183,"phase":0,"quadratic_rows":[0,80,16,0,6,0,66,256,384]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,18,34,64,128,2,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1026,"old":766,"rank":2,"right":{"linear_Z4":[1,2,3,0,0,0,2,2,2],"matrix_rows":[257,68,385,6,64,72,16,32,256],"offset":42,"phase":3,"quadratic_rows":[129,4,6,0,0,0,0,1,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1032,"old":766,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[385,257,130,132,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[129,128,128,0,0,0,0,7,0]}},{"left":{"linear_Z4":[2,2,3,3,0,0,0,0,0],"matrix_rows":[16,33,66,130,1,256,4,8,15],"offset":0,"phase":0,"quadratic_rows":[14,13,15,15,0,0,0,0,0]},"new":1,"old":767,"rank":4,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,3],"matrix_rows":[258,260,320,384,1,16,272,280,32],"offset":99,"phase":0,"quadratic_rows":[0,272,16,0,6,0,256,256,450]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,32,64,128,258,1,3],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":1027,"old":767,"rank":2,"right":{"linear_Z4":[0,1,1,0,0,0,0,0,1],"matrix_rows":[390,64,1,130,132,8,16,32,256],"offset":258,"phase":0,"quadratic_rows":[0,262,262,0,0,0,256,256,454]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1033,"old":767,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,0,1,2,2],"matrix_rows":[326,1,258,260,8,16,32,448,256],"offset":0,"phase":0,"quadratic_rows":[0,70,70,0,0,0,198,64,0]}},{"left":{"linear_Z4":[2,2,2,3,0,0,0,0,0],"matrix_rows":[17,34,68,132,2,257,8,9,6],"offset":0,"phase":0,"quadratic_rows":[8,4,2,9,0,0,0,0,0]},"new":1,"old":768,"rank":4,"right":{"linear_Z4":[0,0,2,0,0,0,0,3,1],"matrix_rows":[129,258,260,192,128,16,272,280,160],"offset":183,"phase":0,"quadratic_rows":[0,272,16,0,6,0,128,192,258]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[6,8,17,33,64,128,258,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1026,"old":768,"rank":2,"right":{"linear_Z4":[1,2,3,0,0,0,0,2,2],"matrix_rows":[260,193,129,6,256,264,16,32,128],"offset":41,"phase":3,"quadratic_rows":[65,4,6,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1033,"old":768,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,1,2,0],"matrix_rows":[65,128,2,4,8,16,160,192,256],"offset":64,"phase":3,"quadratic_rows":[192,0,0,0,0,0,193,65,0]}},{"left":{"linear_Z4":[2,2,2,3,0,0,0,0,0],"matrix_rows":[17,34,68,132,2,257,8,6,9],"offset":0,"phase":0,"quadratic_rows":[8,4,2,9,0,0,0,0,0]},"new":1,"old":769,"rank":4,"right":{"linear_Z4":[0,0,2,0,0,0,0,1,3],"matrix_rows":[257,130,132,320,256,16,144,152,288],"offset":183,"phase":0,"quadratic_rows":[0,144,16,0,6,0,256,130,320]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,8,16,32,64,129,2,256,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":1027,"old":769,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,3],"matrix_rows":[257,320,256,2,4,8,16,288,128],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,256,0,320]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1032,"old":769,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[321,257,66,68,8,16,32,256,128],"offset":0,"phase":0,"quadratic_rows":[65,64,64,0,0,0,7,0,0]}},{"left":{"linear_Z4":[2,2,2,3,0,0,0,0,0],"matrix_rows":[17,34,68,132,258,1,8,12,3],"offset":0,"phase":0,"quadratic_rows":[2,1,8,12,0,0,0,0,0]},"new":1,"old":770,"rank":4,"right":{"linear_Z4":[0,2,0,0,0,0,0,3,1],"matrix_rows":[257,258,132,192,32,288,128,136,304],"offset":343,"phase":0,"quadratic_rows":[288,32,0,0,0,3,128,192,257]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,18,32,65,128,258,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1022,"old":770,"rank":2,"right":{"linear_Z4":[2,3,1,0,0,0,0,2,2],"matrix_rows":[258,196,3,256,132,8,272,32,128],"offset":69,"phase":3,"quadratic_rows":[2,3,68,0,0,0,4,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1029,"old":770,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,1,2,0],"matrix_rows":[68,1,2,128,136,16,32,192,256],"offset":16,"phase":3,"quadratic_rows":[0,0,192,0,0,0,196,68,0]}},{"left":{"linear_Z4":[2,2,2,3,0,0,0,0,0],"matrix_rows":[17,34,68,132,258,1,8,3,12],"offset":0,"phase":0,"quadratic_rows":[2,1,8,12,0,0,0,0,0]},"new":1,"old":771,"rank":4,"right":{"linear_Z4":[0,2,0,0,0,0,0,1,3],"matrix_rows":[129,130,260,320,32,160,256,264,176],"offset":343,"phase":0,"quadratic_rows":[160,32,0,0,0,3,256,129,320]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,8,17,33,64,128,2,256,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":1023,"old":771,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,3],"matrix_rows":[260,320,1,2,256,264,16,32,128],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,256,0,320]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1028,"old":771,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,0,2],"matrix_rows":[324,65,66,260,8,16,32,256,128],"offset":0,"phase":0,"quadratic_rows":[64,64,68,0,0,0,7,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":811,"old":772,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,2,36,40,16,64,128,256],"offset":16,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":868,"old":772,"rank":1,"right":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[1,35,32,36,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[35,1,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":772,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[34,1,32,36,8,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":815,"old":773,"rank":1,"right":{"linear_Z4":[1,0,0,0,2,0,0,0,0],"matrix_rows":[1,145,2,4,8,128,32,192,256],"offset":35,"phase":3,"quadratic_rows":[145,0,0,0,1,0,0,1,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":880,"old":773,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,2,36,40,16,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":773,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[144,1,2,4,8,128,32,192,256],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":819,"old":774,"rank":1,"right":{"linear_Z4":[1,0,0,0,2,0,0,0,0],"matrix_rows":[1,273,2,4,8,256,32,64,384],"offset":35,"phase":3,"quadratic_rows":[273,0,0,0,1,0,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":892,"old":774,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,2,36,40,16,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":774,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[272,1,2,4,8,256,32,64,384],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,18,34,67,3,130,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":775,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[1,260,288,290,256,264,48,320,384],"offset":26,"phase":3,"quadratic_rows":[288,0,0,0,0,1,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":824,"old":775,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,34,4,8,48,64,128,256],"offset":4,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":911,"old":775,"rank":1,"right":{"linear_Z4":[1,0,2,0,0,0,0,0,0],"matrix_rows":[1,261,2,256,264,272,288,320,384],"offset":107,"phase":1,"quadratic_rows":[261,0,1,0,0,0,0,0,1]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1035,"old":775,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,264,272,288,320,384],"offset":105,"phase":2,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,32,65,2,3,128,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":776,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,0,1,0,0],"matrix_rows":[65,66,96,32,4,8,112,128,256],"offset":75,"phase":0,"quadratic_rows":[32,96,0,0,0,3,66,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":822,"old":776,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,0,0],"matrix_rows":[3,64,66,4,8,80,32,128,256],"offset":32,"phase":3,"quadratic_rows":[66,67,0,0,0,0,3,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":905,"old":776,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,2,0,0],"matrix_rows":[3,65,64,4,8,16,96,128,256],"offset":64,"phase":3,"quadratic_rows":[67,65,0,0,0,0,3,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1035,"old":776,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,2,0,0],"matrix_rows":[66,3,64,4,8,16,96,128,256],"offset":67,"phase":3,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":823,"old":777,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,2,0,0,0],"matrix_rows":[3,32,34,4,40,16,64,128,256],"offset":22,"phase":1,"quadratic_rows":[34,35,0,0,0,3,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":904,"old":777,"rank":1,"right":{"linear_Z4":[3,2,0,0,2,0,0,0,0],"matrix_rows":[3,17,16,4,24,32,64,128,256],"offset":22,"phase":1,"quadratic_rows":[19,17,0,0,3,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1035,"old":777,"rank":1,"right":{"linear_Z4":[2,3,0,0,2,0,0,0,0],"matrix_rows":[18,3,16,4,24,32,64,128,256],"offset":22,"phase":1,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":825,"old":778,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,34,4,8,48,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":910,"old":778,"rank":1,"right":{"linear_Z4":[1,0,2,0,0,0,0,0,0],"matrix_rows":[1,261,2,256,8,16,32,64,384],"offset":11,"phase":3,"quadratic_rows":[261,0,1,0,0,0,0,0,1]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1035,"old":778,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,8,16,32,64,384],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,32,65,2,128,3,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":779,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,0,0,1,0],"matrix_rows":[129,130,160,32,4,8,176,64,256],"offset":75,"phase":0,"quadratic_rows":[32,160,0,0,0,3,0,130,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":828,"old":779,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,0],"matrix_rows":[3,128,130,4,8,144,32,64,256],"offset":32,"phase":3,"quadratic_rows":[130,131,0,0,0,0,0,3,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":923,"old":779,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,0],"matrix_rows":[3,129,128,4,8,16,160,64,256],"offset":64,"phase":3,"quadratic_rows":[131,129,0,0,0,0,0,3,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,32,65,2,128,256,3],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":780,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,0,0,0,1],"matrix_rows":[257,258,288,32,4,8,304,64,128],"offset":75,"phase":0,"quadratic_rows":[32,288,0,0,0,3,0,0,258]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":826,"old":780,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[3,257,256,4,8,16,288,64,128],"offset":64,"phase":3,"quadratic_rows":[259,257,0,0,0,0,0,0,3]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":917,"old":780,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[3,256,258,4,8,272,32,64,128],"offset":32,"phase":3,"quadratic_rows":[258,259,0,0,0,0,0,0,3]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1035,"old":780,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,0,0,2],"matrix_rows":[258,3,256,4,8,16,288,64,128],"offset":67,"phase":3,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,18,32,65,1,130,256,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":781,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,2],"matrix_rows":[1,260,32,34,256,8,48,320,128],"offset":22,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":827,"old":781,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,34,4,8,48,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":916,"old":781,"rank":1,"right":{"linear_Z4":[1,0,2,0,0,0,0,0,0],"matrix_rows":[1,261,2,256,8,16,32,320,128],"offset":11,"phase":3,"quadratic_rows":[261,0,1,0,0,0,0,0,1]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1035,"old":781,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,8,16,32,320,128],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":829,"old":782,"rank":1,"right":{"linear_Z4":[1,0,2,0,0,0,0,0,0],"matrix_rows":[1,133,2,128,8,16,32,192,256],"offset":11,"phase":3,"quadratic_rows":[133,0,1,0,0,0,0,1,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":922,"old":782,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,34,4,8,48,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1035,"old":782,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[132,1,2,128,8,16,32,192,256],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,18,34,1,3,64,128,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":783,"rank":2,"right":{"linear_Z4":[0,0,2,0,0,1,0,0,0],"matrix_rows":[34,36,1,16,48,56,64,128,256],"offset":43,"phase":0,"quadratic_rows":[0,48,16,0,6,34,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":832,"old":783,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,2,0,0,0],"matrix_rows":[6,1,34,32,40,16,64,128,256],"offset":16,"phase":3,"quadratic_rows":[0,38,34,0,0,6,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":935,"old":783,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,2,0,0,0],"matrix_rows":[6,1,32,36,8,48,64,128,256],"offset":32,"phase":3,"quadratic_rows":[0,36,38,0,0,6,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1036,"old":783,"rank":1,"right":{"linear_Z4":[0,2,3,0,0,2,0,0,0],"matrix_rows":[36,1,6,32,40,16,64,128,256],"offset":21,"phase":3,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,18,34,2,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":1,"old":784,"rank":2,"right":{"linear_Z4":[0,2,0,0,2,0,0,0,2],"matrix_rows":[257,2,256,16,20,24,32,64,384],"offset":13,"phase":3,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":830,"old":784,"rank":1,"right":{"linear_Z4":[0,2,0,0,2,0,0,0,0],"matrix_rows":[2,1,16,20,24,32,64,128,256],"offset":4,"phase":3,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":929,"old":784,"rank":1,"right":{"linear_Z4":[2,3,0,0,2,0,0,0,0],"matrix_rows":[2,3,16,20,24,32,64,128,256],"offset":6,"phase":2,"quadratic_rows":[2,19,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1036,"old":784,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,8,16,32,64,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":831,"old":785,"rank":1,"right":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[2,1,16,20,24,32,64,128,256],"offset":8,"phase":3,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":928,"old":785,"rank":1,"right":{"linear_Z4":[2,1,0,0,2,0,0,0,0],"matrix_rows":[2,3,16,20,24,32,64,128,256],"offset":10,"phase":2,"quadratic_rows":[2,19,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1036,"old":785,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,264,272,288,320,384],"offset":51,"phase":2,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,18,33,2,64,3,128,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":786,"rank":2,"right":{"linear_Z4":[0,2,0,0,0,0,1,0,0],"matrix_rows":[66,68,1,80,16,88,32,128,256],"offset":51,"phase":0,"quadratic_rows":[0,16,80,0,6,0,68,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":833,"old":786,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,0,0],"matrix_rows":[6,1,66,64,8,80,32,128,256],"offset":32,"phase":3,"quadratic_rows":[0,70,66,0,0,0,6,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":934,"old":786,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,2,0,0],"matrix_rows":[6,1,64,68,72,16,32,128,256],"offset":16,"phase":3,"quadratic_rows":[0,68,70,0,0,0,6,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1036,"old":786,"rank":1,"right":{"linear_Z4":[0,2,3,0,0,0,2,0,0],"matrix_rows":[68,1,6,64,8,80,32,128,256],"offset":37,"phase":3,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,18,34,2,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":1,"old":787,"rank":2,"right":{"linear_Z4":[0,2,0,0,2,0,0,0,2],"matrix_rows":[257,2,256,16,20,24,32,320,128],"offset":13,"phase":3,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":836,"old":787,"rank":1,"right":{"linear_Z4":[0,2,0,0,2,0,0,0,0],"matrix_rows":[2,1,16,20,24,32,64,128,256],"offset":4,"phase":3,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":947,"old":787,"rank":1,"right":{"linear_Z4":[2,3,0,0,2,0,0,0,0],"matrix_rows":[2,3,16,20,24,32,64,128,256],"offset":6,"phase":2,"quadratic_rows":[2,19,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,18,34,2,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":1,"old":788,"rank":2,"right":{"linear_Z4":[0,2,0,0,2,0,0,2,0],"matrix_rows":[129,2,128,16,20,24,32,192,256],"offset":13,"phase":3,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":834,"old":788,"rank":1,"right":{"linear_Z4":[2,3,0,0,2,0,0,0,0],"matrix_rows":[2,3,16,20,24,32,64,128,256],"offset":6,"phase":2,"quadratic_rows":[2,19,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":941,"old":788,"rank":1,"right":{"linear_Z4":[0,2,0,0,2,0,0,0,0],"matrix_rows":[2,1,16,20,24,32,64,128,256],"offset":4,"phase":3,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1036,"old":788,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,2,4,8,16,32,192,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,18,33,2,64,128,3,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":789,"rank":2,"right":{"linear_Z4":[0,2,0,0,0,0,0,1,0],"matrix_rows":[130,132,1,144,16,152,32,64,256],"offset":51,"phase":0,"quadratic_rows":[0,16,144,0,6,0,0,132,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":835,"old":789,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,0],"matrix_rows":[6,1,130,128,8,144,32,64,256],"offset":32,"phase":3,"quadratic_rows":[0,134,130,0,0,0,0,6,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":940,"old":789,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,2,0],"matrix_rows":[6,1,128,132,136,16,32,64,256],"offset":16,"phase":3,"quadratic_rows":[0,132,134,0,0,0,0,6,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1036,"old":789,"rank":1,"right":{"linear_Z4":[0,2,3,0,0,0,0,2,0],"matrix_rows":[132,1,6,128,8,144,32,64,256],"offset":37,"phase":3,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,18,33,2,64,128,256,3],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":790,"rank":2,"right":{"linear_Z4":[0,2,0,0,0,0,0,0,1],"matrix_rows":[258,260,1,272,16,280,32,64,128],"offset":51,"phase":0,"quadratic_rows":[0,16,272,0,6,0,0,0,260]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":837,"old":790,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,0,2],"matrix_rows":[6,1,256,260,264,16,32,64,128],"offset":16,"phase":3,"quadratic_rows":[0,260,262,0,0,0,0,0,6]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":946,"old":790,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[6,1,258,256,8,272,32,64,128],"offset":32,"phase":3,"quadratic_rows":[0,262,258,0,0,0,0,0,6]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1036,"old":790,"rank":1,"right":{"linear_Z4":[0,2,3,0,0,0,0,0,2],"matrix_rows":[260,1,6,256,8,272,32,64,128],"offset":37,"phase":3,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,19,34,3,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":1,"old":791,"rank":2,"right":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[257,2,256,272,20,280,288,320,384],"offset":37,"phase":3,"quadratic_rows":[0,272,0,0,2,0,0,0,2]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":840,"old":791,"rank":1,"right":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[2,1,16,20,24,32,64,128,256],"offset":16,"phase":3,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":959,"old":791,"rank":1,"right":{"linear_Z4":[2,1,0,0,2,0,0,0,0],"matrix_rows":[2,3,16,20,24,32,64,128,256],"offset":18,"phase":2,"quadratic_rows":[2,19,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1036,"old":791,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,260,8,272,288,320,384],"offset":43,"phase":2,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,34,2,64,3,128,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":792,"rank":2,"right":{"linear_Z4":[0,2,0,0,0,0,1,0,0],"matrix_rows":[66,72,1,80,84,16,32,128,256],"offset":51,"phase":0,"quadratic_rows":[0,16,0,80,10,0,72,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":838,"old":792,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,0,0],"matrix_rows":[10,1,66,4,64,80,32,128,256],"offset":32,"phase":3,"quadratic_rows":[0,74,0,66,0,0,10,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":953,"old":792,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,2,0,0],"matrix_rows":[10,1,64,68,72,16,32,128,256],"offset":8,"phase":3,"quadratic_rows":[0,72,0,74,0,0,10,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1036,"old":792,"rank":1,"right":{"linear_Z4":[0,2,0,3,0,0,2,0,0],"matrix_rows":[72,1,10,4,64,80,32,128,256],"offset":37,"phase":3,"quadratic_rows":[0,8,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":839,"old":793,"rank":1,"right":{"linear_Z4":[2,3,0,0,2,0,0,0,0],"matrix_rows":[2,3,16,20,24,32,64,128,256],"offset":30,"phase":0,"quadratic_rows":[2,19,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":952,"old":793,"rank":1,"right":{"linear_Z4":[0,2,0,0,2,0,0,0,0],"matrix_rows":[2,1,16,20,24,32,64,128,256],"offset":28,"phase":1,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1036,"old":793,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[9,8,2,12,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,33,1,66,128,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":794,"rank":2,"right":{"linear_Z4":[0,2,0,0,2,0,0,0,2],"matrix_rows":[2,288,1,16,20,24,256,64,384],"offset":74,"phase":3,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":841,"old":794,"rank":1,"right":{"linear_Z4":[0,2,0,0,2,0,0,0,0],"matrix_rows":[2,1,16,20,24,32,64,128,256],"offset":4,"phase":3,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":958,"old":794,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,2,0,0,0],"matrix_rows":[2,1,290,4,8,16,256,64,384],"offset":69,"phase":3,"quadratic_rows":[0,290,0,0,0,2,0,0,2]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1036,"old":794,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[288,1,2,4,8,16,256,64,384],"offset":65,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,34,2,64,128,3,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":795,"rank":2,"right":{"linear_Z4":[0,2,0,0,0,0,0,1,0],"matrix_rows":[130,136,1,144,148,16,32,64,256],"offset":51,"phase":0,"quadratic_rows":[0,16,0,144,10,0,0,136,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":844,"old":795,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,0],"matrix_rows":[10,1,130,4,128,144,32,64,256],"offset":32,"phase":3,"quadratic_rows":[0,138,0,130,0,0,0,10,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":971,"old":795,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,0,2,0],"matrix_rows":[10,1,128,132,136,16,32,64,256],"offset":8,"phase":3,"quadratic_rows":[0,136,0,138,0,0,0,10,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,34,2,64,128,256,3],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":796,"rank":2,"right":{"linear_Z4":[0,2,0,0,0,0,0,0,1],"matrix_rows":[258,264,1,272,276,16,32,64,128],"offset":51,"phase":0,"quadratic_rows":[0,16,0,272,10,0,0,0,264]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":842,"old":796,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,0,0,2],"matrix_rows":[10,1,256,260,264,16,32,64,128],"offset":8,"phase":3,"quadratic_rows":[0,264,0,266,0,0,0,0,10]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":965,"old":796,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[10,1,258,4,256,272,32,64,128],"offset":32,"phase":3,"quadratic_rows":[0,266,0,258,0,0,0,0,10]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1036,"old":796,"rank":1,"right":{"linear_Z4":[0,2,0,3,0,0,0,0,2],"matrix_rows":[264,1,10,4,256,272,32,64,128],"offset":37,"phase":3,"quadratic_rows":[0,8,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,33,1,66,130,256,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":797,"rank":2,"right":{"linear_Z4":[0,2,0,0,2,0,0,0,2],"matrix_rows":[2,288,1,16,20,24,256,320,128],"offset":74,"phase":3,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":843,"old":797,"rank":1,"right":{"linear_Z4":[0,2,0,0,2,0,0,0,0],"matrix_rows":[2,1,16,20,24,32,64,128,256],"offset":4,"phase":3,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":964,"old":797,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,2,0,0,0],"matrix_rows":[2,1,290,4,8,16,256,320,128],"offset":69,"phase":3,"quadratic_rows":[0,290,0,0,0,2,0,0,2]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1036,"old":797,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[288,1,2,4,8,16,256,320,128],"offset":65,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,33,1,66,130,2,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":798,"rank":2,"right":{"linear_Z4":[0,2,0,0,2,0,0,2,0],"matrix_rows":[2,160,1,16,20,24,128,192,256],"offset":74,"phase":3,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":845,"old":798,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,2,0,0,0],"matrix_rows":[2,1,162,4,8,16,128,192,256],"offset":69,"phase":3,"quadratic_rows":[0,162,0,0,0,2,0,2,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":970,"old":798,"rank":1,"right":{"linear_Z4":[0,2,0,0,2,0,0,0,0],"matrix_rows":[2,1,16,20,24,32,64,128,256],"offset":4,"phase":3,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1036,"old":798,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[160,1,2,4,8,16,128,192,256],"offset":65,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,19,32,2,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":799,"rank":2,"right":{"linear_Z4":[2,2,0,0,3,3,0,0,0],"matrix_rows":[49,50,32,16,52,8,64,128,256],"offset":28,"phase":1,"quadratic_rows":[16,32,0,0,49,50,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":848,"old":799,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,2,0,0,0],"matrix_rows":[3,32,34,36,8,16,64,128,256],"offset":14,"phase":1,"quadratic_rows":[34,35,0,0,0,3,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":983,"old":799,"rank":1,"right":{"linear_Z4":[3,2,0,0,2,0,0,0,0],"matrix_rows":[3,17,16,20,8,32,64,128,256],"offset":14,"phase":1,"quadratic_rows":[19,17,0,0,3,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1035,"old":799,"rank":1,"right":{"linear_Z4":[2,3,0,0,2,0,0,0,0],"matrix_rows":[18,3,16,20,8,32,64,128,256],"offset":14,"phase":1,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,34,65,1,128,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":800,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,2],"matrix_rows":[1,264,32,34,4,256,48,64,384],"offset":38,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":846,"old":800,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,34,4,8,48,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":977,"old":800,"rank":1,"right":{"linear_Z4":[1,0,0,2,0,0,0,0,0],"matrix_rows":[1,265,2,4,256,16,32,64,384],"offset":19,"phase":3,"quadratic_rows":[265,0,0,1,0,0,0,0,1]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1035,"old":800,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[264,1,2,4,256,16,32,64,384],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":847,"old":801,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[3,257,256,260,264,16,288,320,384],"offset":64,"phase":3,"quadratic_rows":[259,257,0,0,0,0,0,0,3]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":976,"old":801,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[3,256,258,260,264,272,32,320,384],"offset":32,"phase":3,"quadratic_rows":[258,259,0,0,0,0,0,0,3]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1035,"old":801,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,0,0,2],"matrix_rows":[258,3,256,260,264,16,288,320,384],"offset":67,"phase":3,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":849,"old":802,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,2,0,0],"matrix_rows":[17,65,2,4,8,64,96,128,256],"offset":64,"phase":3,"quadratic_rows":[81,0,0,0,65,0,17,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":982,"old":802,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,2,0,0],"matrix_rows":[17,64,66,4,8,80,32,128,256],"offset":4,"phase":3,"quadratic_rows":[80,0,0,0,81,0,17,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1035,"old":802,"rank":1,"right":{"linear_Z4":[2,0,0,0,3,0,2,0,0],"matrix_rows":[80,17,2,4,8,64,96,128,256],"offset":67,"phase":3,"quadratic_rows":[16,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,34,65,1,130,256,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":803,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,2],"matrix_rows":[1,264,32,34,4,256,48,320,128],"offset":38,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":852,"old":803,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,34,4,8,48,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":995,"old":803,"rank":1,"right":{"linear_Z4":[1,0,0,2,0,0,0,0,0],"matrix_rows":[1,265,2,4,256,16,32,320,128],"offset":19,"phase":3,"quadratic_rows":[265,0,0,1,0,0,0,0,1]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,34,65,1,130,2,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":804,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,2,0,2,0],"matrix_rows":[1,136,32,34,4,128,48,192,256],"offset":38,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":850,"old":804,"rank":1,"right":{"linear_Z4":[1,0,0,2,0,0,0,0,0],"matrix_rows":[1,137,2,4,128,16,32,192,256],"offset":19,"phase":3,"quadratic_rows":[137,0,0,1,0,0,0,1,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":989,"old":804,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,34,4,8,48,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1035,"old":804,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[136,1,2,4,128,16,32,192,256],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,32,66,2,128,3,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":805,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,0,0,1,0],"matrix_rows":[129,144,160,162,4,8,32,64,256],"offset":75,"phase":0,"quadratic_rows":[32,0,0,0,160,17,0,144,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":851,"old":805,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,0],"matrix_rows":[17,129,2,4,8,128,160,64,256],"offset":64,"phase":3,"quadratic_rows":[145,0,0,0,129,0,0,17,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":988,"old":805,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,0,2,0],"matrix_rows":[17,128,130,4,8,144,32,64,256],"offset":4,"phase":3,"quadratic_rows":[144,0,0,0,145,0,0,17,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1035,"old":805,"rank":1,"right":{"linear_Z4":[2,0,0,0,3,0,0,2,0],"matrix_rows":[144,17,2,4,8,128,160,64,256],"offset":67,"phase":3,"quadratic_rows":[16,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":853,"old":806,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,0,0,2],"matrix_rows":[17,256,258,4,8,272,32,64,128],"offset":4,"phase":3,"quadratic_rows":[272,0,0,0,273,0,0,0,17]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":994,"old":806,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[17,257,2,4,8,256,288,64,128],"offset":64,"phase":3,"quadratic_rows":[273,0,0,0,257,0,0,0,17]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1035,"old":806,"rank":1,"right":{"linear_Z4":[2,0,0,0,3,0,0,0,2],"matrix_rows":[272,17,2,4,8,256,288,64,128],"offset":67,"phase":3,"quadratic_rows":[16,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":855,"old":807,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,0,2],"matrix_rows":[5,256,2,260,264,16,32,64,128],"offset":16,"phase":3,"quadratic_rows":[260,0,261,0,0,0,0,0,5]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1000,"old":807,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[5,257,2,256,8,16,288,64,128],"offset":64,"phase":3,"quadratic_rows":[261,0,257,0,0,0,0,0,5]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":807,"rank":1,"right":{"linear_Z4":[2,0,3,0,0,0,0,0,2],"matrix_rows":[260,5,2,256,8,16,288,64,128],"offset":67,"phase":3,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":859,"old":808,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,2,0,0],"matrix_rows":[5,64,2,68,72,16,32,128,256],"offset":16,"phase":3,"quadratic_rows":[68,0,69,0,0,0,5,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1012,"old":808,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,2,0,0],"matrix_rows":[5,65,2,64,8,16,96,128,256],"offset":64,"phase":3,"quadratic_rows":[69,0,65,0,0,0,5,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":808,"rank":1,"right":{"linear_Z4":[2,0,3,0,0,0,2,0,0],"matrix_rows":[68,5,2,64,8,16,96,128,256],"offset":67,"phase":3,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":863,"old":809,"rank":1,"right":{"linear_Z4":[1,2,0,0,0,0,0,0,0],"matrix_rows":[1,131,128,4,8,144,32,64,256],"offset":7,"phase":3,"quadratic_rows":[131,1,0,0,0,0,0,1,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1024,"old":809,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,2,36,40,16,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":809,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[130,1,128,4,8,144,32,64,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":810,"rank":1,"right":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[17,16,2,20,8,32,64,128,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":811,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[34,1,32,36,8,16,64,128,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":812,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,260,264,272,32,320,384],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":813,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,260,264,16,288,320,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":814,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,2,132,8,16,32,64,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":815,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,2,132,136,144,160,192,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":816,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,260,8,16,32,64,128],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":817,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,260,264,272,288,320,128],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":818,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,260,8,272,288,320,384],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":819,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,260,264,272,288,64,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":820,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[65,64,2,68,8,16,32,128,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":821,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[10,1,8,12,16,32,64,128,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":822,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[66,1,64,4,8,16,96,128,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":823,"rank":1,"right":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[18,1,16,4,24,32,64,128,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":824,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,264,272,288,320,384],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":825,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,8,16,32,64,384],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":826,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,8,272,32,64,128],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":827,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,8,16,32,320,128],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":828,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[130,1,128,4,8,16,160,64,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":829,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,130,132,8,144,160,192,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":830,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,8,16,32,64,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":831,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,264,272,288,320,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":832,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[34,1,32,4,8,48,64,128,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":833,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[66,1,64,4,72,16,32,128,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":834,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,130,132,136,144,32,192,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":835,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[130,1,128,4,136,16,32,64,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":836,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,8,16,32,320,128],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":837,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,8,272,32,64,128],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":838,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[66,1,64,68,8,16,32,128,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":839,"rank":1,"right":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[17,16,18,4,8,32,64,128,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":840,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,260,8,272,288,320,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":841,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[288,1,2,4,8,16,256,64,384],"offset":65,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":842,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[264,1,2,4,256,272,32,64,128],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":843,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[288,1,2,4,8,16,256,320,128],"offset":65,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":844,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[130,1,128,132,8,16,32,64,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":845,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[130,1,128,132,136,144,160,192,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":846,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[264,1,2,4,256,16,32,64,384],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":847,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,260,264,272,32,320,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":848,"rank":1,"right":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[18,1,16,20,8,32,64,128,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":849,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[65,64,66,4,8,16,32,128,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":850,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,130,4,136,144,160,192,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":851,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,130,4,8,16,32,64,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":852,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[264,1,2,4,256,16,32,320,128],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":853,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[272,1,2,4,8,256,288,64,128],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":854,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,258,260,264,16,288,320,128],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":855,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,8,16,288,64,128],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":856,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,130,132,136,16,160,192,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":857,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[132,1,2,128,8,16,160,64,256],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":858,"rank":1,"right":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[20,1,2,16,24,32,64,128,256],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":859,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[68,1,2,64,8,16,96,128,256],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":860,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,258,260,264,16,288,64,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":861,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,258,260,8,272,32,320,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":862,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[132,1,2,128,136,16,32,64,256],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":863,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,130,132,136,144,160,64,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":864,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,258,260,264,272,288,64,128],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":865,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,264,16,32,64,128],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":810,"old":866,"rank":1,"right":{"linear_Z4":[3,2,0,0,0,2,0,0,0],"matrix_rows":[3,33,32,36,8,16,64,128,256],"offset":14,"phase":1,"quadratic_rows":[35,33,0,0,0,3,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":811,"old":866,"rank":1,"right":{"linear_Z4":[2,3,0,0,2,0,0,0,0],"matrix_rows":[3,16,18,20,8,32,64,128,256],"offset":14,"phase":1,"quadratic_rows":[18,19,0,0,3,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":868,"old":867,"rank":1,"right":{"linear_Z4":[3,0,0,2,0,0,0,0,0],"matrix_rows":[1,41,2,4,32,48,64,128,256],"offset":1,"phase":1,"quadratic_rows":[41,0,0,1,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":869,"old":867,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,34,4,8,48,64,128,256],"offset":4,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":868,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[9,8,10,4,16,32,64,128,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":869,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[40,1,2,4,32,48,64,128,256],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":811,"old":870,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,2,0,0,0],"matrix_rows":[10,1,34,4,32,48,64,128,256],"offset":32,"phase":3,"quadratic_rows":[0,42,0,34,0,10,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":869,"old":870,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,2,0,0,0],"matrix_rows":[10,1,32,36,40,16,64,128,256],"offset":8,"phase":3,"quadratic_rows":[0,40,0,42,0,10,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":810,"old":871,"rank":1,"right":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[2,1,16,20,24,32,64,128,256],"offset":16,"phase":3,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":868,"old":871,"rank":1,"right":{"linear_Z4":[2,1,0,0,2,0,0,0,0],"matrix_rows":[2,3,16,20,24,32,64,128,256],"offset":18,"phase":2,"quadratic_rows":[2,19,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,9,18,2,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":812,"old":872,"rank":2,"right":{"linear_Z4":[0,3,2,0,0,0,0,0,2],"matrix_rows":[7,4,256,262,8,16,288,320,384],"offset":90,"phase":2,"quadratic_rows":[262,259,265,4,0,0,0,0,7]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[6,10,17,1,34,64,130,258,2],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":813,"old":872,"rank":2,"right":{"linear_Z4":[3,0,2,0,0,0,0,0,2],"matrix_rows":[4,7,261,256,8,272,32,320,384],"offset":53,"phase":2,"quadratic_rows":[259,261,266,4,0,0,0,0,7]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,32,2,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":874,"old":873,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,32,16,4,8,64,128,256],"offset":15,"phase":0,"quadratic_rows":[32,16,0,0,2,1,0,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,11,16,32,3,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":875,"old":873,"rank":2,"right":{"linear_Z4":[1,3,0,0,0,0,0,0,2],"matrix_rows":[1,2,323,16,4,8,32,256,384],"offset":138,"phase":3,"quadratic_rows":[323,339,0,0,2,0,3,0,3]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":874,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[320,1,2,4,8,16,32,256,384],"offset":129,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":875,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,258,4,8,272,288,320,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[4,9,19,3,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":812,"old":876,"rank":2,"right":{"linear_Z4":[0,1,3,0,0,0,0,0,2],"matrix_rows":[2,4,1,326,8,16,32,256,384],"offset":146,"phase":3,"quadratic_rows":[0,326,334,4,0,0,6,0,6]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[4,9,18,2,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":874,"old":876,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,1,16,8,32,64,128,256],"offset":27,"phase":0,"quadratic_rows":[0,16,8,4,2,0,0,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[7,10,17,33,2,64,131,259,3],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":813,"old":877,"rank":2,"right":{"linear_Z4":[0,2,1,0,0,0,0,0,2],"matrix_rows":[1,7,261,16,272,280,32,320,384],"offset":44,"phase":1,"quadratic_rows":[258,21,22,0,6,0,0,0,1]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[7,9,18,34,1,64,131,259,3],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":875,"old":877,"rank":2,"right":{"linear_Z4":[0,3,0,0,0,0,0,0,2],"matrix_rows":[1,7,259,16,272,280,32,320,384],"offset":44,"phase":1,"quadratic_rows":[260,278,275,0,6,0,0,0,7]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":814,"old":878,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":16,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":815,"old":878,"rank":1,"right":{"linear_Z4":[2,0,0,3,0,0,2,0,0],"matrix_rows":[8,9,2,4,64,80,96,128,256],"offset":18,"phase":2,"quadratic_rows":[8,0,0,73,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":880,"old":879,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,0,2,0],"matrix_rows":[24,1,2,4,128,144,160,64,256],"offset":64,"phase":3,"quadratic_rows":[0,0,0,144,152,0,0,24,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":881,"old":879,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,0,2,0],"matrix_rows":[24,1,2,4,136,128,32,192,256],"offset":128,"phase":3,"quadratic_rows":[0,0,0,152,136,0,0,24,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":880,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[144,1,2,4,8,128,32,192,256],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":881,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[136,1,2,4,128,16,160,64,256],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":815,"old":882,"rank":1,"right":{"linear_Z4":[1,0,0,2,0,0,0,0,0],"matrix_rows":[1,137,2,4,128,16,160,64,256],"offset":19,"phase":3,"quadratic_rows":[137,0,0,1,0,0,0,1,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":881,"old":882,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,2,68,8,80,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":814,"old":883,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,0],"matrix_rows":[17,129,2,4,8,128,32,192,256],"offset":128,"phase":3,"quadratic_rows":[145,0,0,0,129,0,0,17,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":880,"old":883,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,0,2,0],"matrix_rows":[17,128,2,132,8,144,32,64,256],"offset":8,"phase":3,"quadratic_rows":[144,0,0,0,145,0,0,17,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":816,"old":884,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":16,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":817,"old":884,"rank":1,"right":{"linear_Z4":[2,0,0,3,0,0,2,0,0],"matrix_rows":[8,9,2,4,64,80,96,128,256],"offset":18,"phase":2,"quadratic_rows":[8,0,0,73,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":886,"old":885,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,0,0,2],"matrix_rows":[24,1,2,4,256,272,288,64,128],"offset":64,"phase":3,"quadratic_rows":[0,0,0,272,280,0,0,0,24]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":887,"old":885,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,0,0,2],"matrix_rows":[24,1,2,4,264,256,32,320,128],"offset":128,"phase":3,"quadratic_rows":[0,0,0,280,264,0,0,0,24]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":886,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[272,1,2,4,8,256,32,320,128],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":887,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[264,1,2,4,256,16,288,64,128],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":816,"old":888,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[17,257,2,4,8,256,32,320,128],"offset":128,"phase":3,"quadratic_rows":[273,0,0,0,257,0,0,0,17]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":886,"old":888,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,0,0,2],"matrix_rows":[17,256,2,260,8,272,32,64,128],"offset":8,"phase":3,"quadratic_rows":[272,0,0,0,273,0,0,0,17]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":817,"old":889,"rank":1,"right":{"linear_Z4":[1,0,0,2,0,0,0,0,0],"matrix_rows":[1,265,2,4,256,16,288,64,128],"offset":19,"phase":3,"quadratic_rows":[265,0,0,1,0,0,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":887,"old":889,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,2,68,8,80,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":818,"old":890,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[3,256,258,260,264,272,288,64,384],"offset":16,"phase":3,"quadratic_rows":[258,259,0,0,0,0,0,0,3]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":819,"old":890,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[3,257,256,260,8,272,288,320,384],"offset":128,"phase":3,"quadratic_rows":[259,257,0,0,0,0,0,0,3]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":892,"old":891,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,66,4,72,16,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":893,"old":891,"rank":1,"right":{"linear_Z4":[1,0,0,0,2,0,0,0,0],"matrix_rows":[1,273,2,4,8,256,32,64,384],"offset":35,"phase":3,"quadratic_rows":[273,0,0,0,1,0,0,0,1]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":892,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[272,1,2,4,8,256,32,64,384],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":893,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,258,4,264,272,32,320,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":819,"old":894,"rank":1,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,0],"matrix_rows":[2,1,64,68,8,16,96,128,256],"offset":76,"phase":1,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":893,"old":894,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,2,0,0],"matrix_rows":[2,3,64,68,8,16,96,128,256],"offset":78,"phase":0,"quadratic_rows":[2,67,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":818,"old":895,"rank":1,"right":{"linear_Z4":[0,1,0,0,2,0,0,0,0],"matrix_rows":[2,1,274,4,8,256,32,64,384],"offset":37,"phase":3,"quadratic_rows":[0,274,0,0,2,0,0,0,2]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":892,"old":895,"rank":1,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,0],"matrix_rows":[2,1,64,68,8,16,96,128,256],"offset":4,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":820,"old":896,"rank":1,"right":{"linear_Z4":[3,2,0,2,0,0,0,0,0],"matrix_rows":[3,9,8,12,16,32,64,128,256],"offset":14,"phase":1,"quadratic_rows":[11,9,0,3,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":821,"old":896,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,2,0,0],"matrix_rows":[3,64,66,68,8,16,32,128,256],"offset":14,"phase":1,"quadratic_rows":[66,67,0,0,0,0,3,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":898,"old":897,"rank":1,"right":{"linear_Z4":[3,0,0,2,0,0,2,0,0],"matrix_rows":[9,65,2,4,64,16,96,128,256],"offset":82,"phase":1,"quadratic_rows":[73,0,0,65,0,0,9,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":899,"old":897,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,2,0,0,0],"matrix_rows":[9,32,34,4,40,16,64,128,256],"offset":4,"phase":3,"quadratic_rows":[40,0,0,41,0,9,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":898,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[33,32,34,4,8,16,64,128,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":899,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[72,1,2,4,64,16,96,128,256],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":820,"old":900,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[2,1,64,68,8,16,96,128,256],"offset":64,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":898,"old":900,"rank":1,"right":{"linear_Z4":[2,1,0,0,0,0,2,0,0],"matrix_rows":[2,3,64,68,8,16,96,128,256],"offset":66,"phase":2,"quadratic_rows":[2,67,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":821,"old":901,"rank":1,"right":{"linear_Z4":[0,3,0,2,0,0,0,0,0],"matrix_rows":[2,1,74,4,64,16,96,128,256],"offset":1,"phase":1,"quadratic_rows":[0,74,0,2,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":899,"old":901,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[2,1,64,68,8,16,96,128,256],"offset":8,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":822,"old":902,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":32,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":823,"old":902,"rank":1,"right":{"linear_Z4":[0,2,0,1,0,0,2,0,0],"matrix_rows":[8,1,10,4,64,80,96,128,256],"offset":36,"phase":2,"quadratic_rows":[0,8,0,74,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":904,"old":903,"rank":1,"right":{"linear_Z4":[2,0,0,1,0,0,2,0,0],"matrix_rows":[8,9,2,4,64,80,96,128,256],"offset":66,"phase":2,"quadratic_rows":[8,0,0,73,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":905,"old":903,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":64,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":904,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[33,32,2,4,40,16,64,128,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":905,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[65,64,2,4,8,80,32,128,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":823,"old":906,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,2,0,0],"matrix_rows":[3,64,66,4,8,80,32,128,256],"offset":38,"phase":1,"quadratic_rows":[66,67,0,0,0,0,3,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":905,"old":906,"rank":1,"right":{"linear_Z4":[1,0,0,0,2,0,0,0,0],"matrix_rows":[3,17,16,4,24,32,64,128,256],"offset":16,"phase":3,"quadratic_rows":[19,17,0,0,3,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":822,"old":907,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,2,0,0,0],"matrix_rows":[3,32,34,4,40,16,64,128,256],"offset":16,"phase":3,"quadratic_rows":[34,35,0,0,0,3,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":904,"old":907,"rank":1,"right":{"linear_Z4":[3,2,0,0,0,0,2,0,0],"matrix_rows":[3,65,64,4,8,16,96,128,256],"offset":70,"phase":1,"quadratic_rows":[67,65,0,0,0,0,3,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":824,"old":908,"rank":1,"right":{"linear_Z4":[0,0,2,3,0,0,2,0,0],"matrix_rows":[8,1,2,12,64,80,96,128,256],"offset":24,"phase":2,"quadratic_rows":[0,0,8,76,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":825,"old":908,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":16,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":910,"old":909,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":112,"phase":1,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":911,"old":909,"rank":1,"right":{"linear_Z4":[2,0,0,3,0,0,2,0,0],"matrix_rows":[8,9,2,4,64,80,96,128,256],"offset":114,"phase":0,"quadratic_rows":[8,0,0,73,0,0,8,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":910,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,258,260,8,272,288,64,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":911,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,258,260,264,16,32,320,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":824,"old":912,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,66,4,72,16,32,128,256],"offset":4,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":910,"old":912,"rank":1,"right":{"linear_Z4":[1,0,2,0,0,0,0,0,0],"matrix_rows":[1,261,2,256,264,272,288,320,384],"offset":155,"phase":1,"quadratic_rows":[261,0,1,0,0,0,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":825,"old":913,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,66,4,72,16,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":911,"old":913,"rank":1,"right":{"linear_Z4":[1,0,2,0,0,0,0,0,0],"matrix_rows":[1,261,2,256,8,16,32,64,384],"offset":11,"phase":3,"quadratic_rows":[261,0,1,0,0,0,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":826,"old":914,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[5,257,2,256,8,16,32,320,128],"offset":128,"phase":3,"quadratic_rows":[261,0,257,0,0,0,0,0,5]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":827,"old":914,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,0,2],"matrix_rows":[5,256,2,260,8,272,32,64,128],"offset":32,"phase":3,"quadratic_rows":[260,0,261,0,0,0,0,0,5]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":916,"old":915,"rank":1,"right":{"linear_Z4":[1,2,0,0,0,0,0,0,0],"matrix_rows":[1,259,256,4,8,16,288,64,128],"offset":7,"phase":3,"quadratic_rows":[259,1,0,0,0,0,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":917,"old":915,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,2,68,8,80,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":916,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,258,260,8,272,288,320,128],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":917,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,8,16,288,64,128],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":827,"old":918,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,0,2],"matrix_rows":[6,1,256,260,8,16,288,64,128],"offset":64,"phase":3,"quadratic_rows":[0,260,262,0,0,0,0,0,6]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":917,"old":918,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[6,1,258,256,8,16,32,320,128],"offset":128,"phase":3,"quadratic_rows":[0,262,258,0,0,0,0,0,6]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":826,"old":919,"rank":1,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,0],"matrix_rows":[2,1,64,68,8,16,96,128,256],"offset":4,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":916,"old":919,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,2,0,0],"matrix_rows":[2,3,64,68,8,16,96,128,256],"offset":6,"phase":2,"quadratic_rows":[2,67,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":828,"old":920,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,2,68,8,80,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":829,"old":920,"rank":1,"right":{"linear_Z4":[1,2,0,0,0,0,0,0,0],"matrix_rows":[1,131,128,4,8,16,160,64,256],"offset":7,"phase":3,"quadratic_rows":[131,1,0,0,0,0,0,1,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":922,"old":921,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,2,0],"matrix_rows":[5,128,2,132,8,144,32,64,256],"offset":32,"phase":3,"quadratic_rows":[132,0,133,0,0,0,0,5,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":923,"old":921,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,0],"matrix_rows":[5,129,2,128,8,16,32,192,256],"offset":128,"phase":3,"quadratic_rows":[133,0,129,0,0,0,0,5,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":922,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[132,1,2,128,8,16,32,192,256],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":923,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,2,4,8,144,32,64,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":828,"old":924,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,0],"matrix_rows":[6,1,130,128,8,16,32,192,256],"offset":128,"phase":3,"quadratic_rows":[0,134,130,0,0,0,0,6,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":922,"old":924,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,2,0],"matrix_rows":[6,1,128,132,8,16,160,64,256],"offset":64,"phase":3,"quadratic_rows":[0,132,134,0,0,0,0,6,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":829,"old":925,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,2,0,0],"matrix_rows":[2,3,64,68,8,16,96,128,256],"offset":6,"phase":2,"quadratic_rows":[2,67,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":923,"old":925,"rank":1,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,0],"matrix_rows":[2,1,64,68,8,16,96,128,256],"offset":4,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":830,"old":926,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":16,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":831,"old":926,"rank":1,"right":{"linear_Z4":[2,0,0,3,0,0,2,0,0],"matrix_rows":[8,9,2,4,64,80,96,128,256],"offset":18,"phase":2,"quadratic_rows":[8,0,0,73,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":928,"old":927,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":32,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":929,"old":927,"rank":1,"right":{"linear_Z4":[2,0,0,1,0,0,2,0,0],"matrix_rows":[8,9,2,4,64,80,96,128,256],"offset":34,"phase":2,"quadratic_rows":[8,0,0,73,0,0,8,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":928,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,258,260,8,16,288,320,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":929,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,258,260,264,272,32,64,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":831,"old":930,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[2,1,64,68,8,16,96,128,256],"offset":8,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":929,"old":930,"rank":1,"right":{"linear_Z4":[2,1,0,0,0,0,2,0,0],"matrix_rows":[2,3,64,68,8,16,96,128,256],"offset":10,"phase":2,"quadratic_rows":[2,67,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":830,"old":931,"rank":1,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,0],"matrix_rows":[2,1,64,68,8,16,96,128,256],"offset":4,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":928,"old":931,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,2,0,0],"matrix_rows":[2,3,64,68,8,16,96,128,256],"offset":6,"phase":2,"quadratic_rows":[2,67,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":832,"old":932,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":112,"phase":1,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":833,"old":932,"rank":1,"right":{"linear_Z4":[0,2,0,3,0,0,2,0,0],"matrix_rows":[8,1,10,4,64,80,96,128,256],"offset":116,"phase":0,"quadratic_rows":[0,8,0,74,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":934,"old":933,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":64,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":935,"old":933,"rank":1,"right":{"linear_Z4":[0,0,2,1,0,0,2,0,0],"matrix_rows":[8,1,2,12,64,80,96,128,256],"offset":72,"phase":2,"quadratic_rows":[0,0,8,76,0,0,8,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":934,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[68,1,2,64,8,80,32,128,256],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":935,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[36,1,2,32,40,16,64,128,256],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":832,"old":936,"rank":1,"right":{"linear_Z4":[0,3,2,0,0,0,2,0,0],"matrix_rows":[6,1,66,64,8,80,32,128,256],"offset":44,"phase":1,"quadratic_rows":[0,70,66,0,0,0,6,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":934,"old":936,"rank":1,"right":{"linear_Z4":[0,2,3,0,0,2,0,0,0],"matrix_rows":[6,1,32,36,8,48,64,128,256],"offset":44,"phase":1,"quadratic_rows":[0,36,38,0,0,6,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":833,"old":937,"rank":1,"right":{"linear_Z4":[0,3,2,0,0,2,0,0,0],"matrix_rows":[6,1,34,32,40,16,64,128,256],"offset":28,"phase":1,"quadratic_rows":[0,38,34,0,0,6,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":935,"old":937,"rank":1,"right":{"linear_Z4":[0,2,3,0,0,0,2,0,0],"matrix_rows":[6,1,64,68,72,16,32,128,256],"offset":28,"phase":1,"quadratic_rows":[0,68,70,0,0,0,6,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":834,"old":938,"rank":1,"right":{"linear_Z4":[1,2,0,0,0,0,0,0,0],"matrix_rows":[1,131,128,4,136,16,32,64,256],"offset":7,"phase":3,"quadratic_rows":[131,1,0,0,0,0,0,1,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":835,"old":938,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,2,68,8,80,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":940,"old":939,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,2,0],"matrix_rows":[5,128,2,132,8,16,32,192,256],"offset":128,"phase":3,"quadratic_rows":[132,0,133,0,0,0,0,5,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":941,"old":939,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,0],"matrix_rows":[5,129,2,128,8,144,32,64,256],"offset":32,"phase":3,"quadratic_rows":[133,0,129,0,0,0,0,5,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":940,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[132,1,2,128,8,144,32,64,256],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":941,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,2,4,8,16,32,192,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":835,"old":942,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,0],"matrix_rows":[3,128,130,4,8,16,32,192,256],"offset":128,"phase":3,"quadratic_rows":[130,131,0,0,0,0,0,3,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":941,"old":942,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,0],"matrix_rows":[3,129,128,4,136,16,32,64,256],"offset":16,"phase":3,"quadratic_rows":[131,129,0,0,0,0,0,3,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":834,"old":943,"rank":1,"right":{"linear_Z4":[1,0,2,0,0,0,0,0,0],"matrix_rows":[1,133,2,128,8,144,32,64,256],"offset":11,"phase":3,"quadratic_rows":[133,0,1,0,0,0,0,1,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":940,"old":943,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,66,4,72,16,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":836,"old":944,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[5,257,2,256,8,272,32,64,128],"offset":32,"phase":3,"quadratic_rows":[261,0,257,0,0,0,0,0,5]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":837,"old":944,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,0,2],"matrix_rows":[5,256,2,260,8,16,32,320,128],"offset":128,"phase":3,"quadratic_rows":[260,0,261,0,0,0,0,0,5]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":946,"old":945,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,2,68,8,80,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":947,"old":945,"rank":1,"right":{"linear_Z4":[1,2,0,0,0,0,0,0,0],"matrix_rows":[1,259,256,4,264,16,32,64,128],"offset":7,"phase":3,"quadratic_rows":[259,1,0,0,0,0,0,0,1]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":946,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,264,16,32,64,128],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":947,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,258,260,264,272,32,320,128],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":836,"old":948,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[3,257,256,4,264,16,32,64,128],"offset":16,"phase":3,"quadratic_rows":[259,257,0,0,0,0,0,0,3]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":946,"old":948,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[3,256,258,4,8,16,32,320,128],"offset":128,"phase":3,"quadratic_rows":[258,259,0,0,0,0,0,0,3]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":837,"old":949,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,66,4,72,16,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":947,"old":949,"rank":1,"right":{"linear_Z4":[1,0,2,0,0,0,0,0,0],"matrix_rows":[1,261,2,256,8,272,32,64,128],"offset":11,"phase":3,"quadratic_rows":[261,0,1,0,0,0,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":838,"old":950,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,2,68,8,80,32,128,256],"offset":32,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":839,"old":950,"rank":1,"right":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[1,67,64,68,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[67,1,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":952,"old":951,"rank":1,"right":{"linear_Z4":[3,0,0,2,0,0,0,0,0],"matrix_rows":[1,73,2,4,64,80,32,128,256],"offset":1,"phase":1,"quadratic_rows":[73,0,0,1,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":953,"old":951,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,2,68,8,80,32,128,256],"offset":8,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":952,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[9,8,2,12,16,32,64,128,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":953,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[72,1,2,4,64,80,32,128,256],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":839,"old":954,"rank":1,"right":{"linear_Z4":[3,0,0,2,0,0,2,0,0],"matrix_rows":[9,65,2,4,64,80,32,128,256],"offset":50,"phase":1,"quadratic_rows":[73,0,0,65,0,0,9,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":953,"old":954,"rank":1,"right":{"linear_Z4":[0,0,0,1,2,0,0,0,0],"matrix_rows":[9,16,18,4,24,32,64,128,256],"offset":4,"phase":3,"quadratic_rows":[24,0,0,25,9,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":838,"old":955,"rank":1,"right":{"linear_Z4":[2,3,0,2,0,0,0,0,0],"matrix_rows":[3,8,10,12,16,32,64,128,256],"offset":14,"phase":1,"quadratic_rows":[10,11,0,3,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":952,"old":955,"rank":1,"right":{"linear_Z4":[3,2,0,0,0,0,2,0,0],"matrix_rows":[3,65,64,68,8,16,32,128,256],"offset":14,"phase":1,"quadratic_rows":[67,65,0,0,0,0,3,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":840,"old":956,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,2,0,0,0],"matrix_rows":[1,289,2,4,8,16,256,64,384],"offset":67,"phase":3,"quadratic_rows":[289,0,0,0,0,1,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":841,"old":956,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,2,68,8,80,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":958,"old":957,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,2,68,8,80,32,128,256],"offset":42,"phase":1,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":959,"old":957,"rank":1,"right":{"linear_Z4":[1,2,0,0,0,0,0,0,0],"matrix_rows":[1,259,256,260,264,272,288,64,384],"offset":47,"phase":1,"quadratic_rows":[259,1,0,0,0,0,0,0,1]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":958,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,260,264,272,288,64,384],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":959,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,258,4,264,16,288,320,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":840,"old":960,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[3,257,256,260,264,272,288,64,384],"offset":16,"phase":3,"quadratic_rows":[259,257,0,0,0,0,0,0,3]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":958,"old":960,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[3,256,258,260,8,272,288,320,384],"offset":128,"phase":3,"quadratic_rows":[258,259,0,0,0,0,0,0,3]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":841,"old":961,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,66,4,72,16,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":959,"old":961,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,2,0,0,0],"matrix_rows":[1,289,2,4,8,16,256,64,384],"offset":67,"phase":3,"quadratic_rows":[289,0,0,0,0,1,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":842,"old":962,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,0,0,2],"matrix_rows":[40,1,2,4,264,16,256,320,128],"offset":128,"phase":3,"quadratic_rows":[0,0,0,296,0,264,0,0,40]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":843,"old":962,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,1,0,0,2],"matrix_rows":[40,1,2,4,256,272,288,64,128],"offset":32,"phase":3,"quadratic_rows":[0,0,0,288,0,296,0,0,40]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":964,"old":963,"rank":1,"right":{"linear_Z4":[0,2,0,3,0,0,2,0,0],"matrix_rows":[8,1,10,4,64,80,96,128,256],"offset":20,"phase":2,"quadratic_rows":[0,8,0,74,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":965,"old":963,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":16,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":964,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,260,264,272,288,320,128],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":965,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,260,8,16,32,64,128],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":843,"old":966,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,1,0,0,2],"matrix_rows":[34,1,256,260,8,16,288,64,128],"offset":8,"phase":3,"quadratic_rows":[0,288,0,0,0,290,0,0,34]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":965,"old":966,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[34,1,258,4,8,16,256,320,128],"offset":128,"phase":3,"quadratic_rows":[0,290,0,0,0,258,0,0,34]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":842,"old":967,"rank":1,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,0],"matrix_rows":[2,1,64,68,8,16,96,128,256],"offset":4,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":964,"old":967,"rank":1,"right":{"linear_Z4":[0,1,0,2,0,0,0,0,0],"matrix_rows":[2,1,266,4,256,272,32,64,128],"offset":21,"phase":3,"quadratic_rows":[0,266,0,2,0,0,0,0,2]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":844,"old":968,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":16,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":845,"old":968,"rank":1,"right":{"linear_Z4":[0,2,0,3,0,0,2,0,0],"matrix_rows":[8,1,10,4,64,80,96,128,256],"offset":20,"phase":2,"quadratic_rows":[0,8,0,74,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":970,"old":969,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,1,0,2,0],"matrix_rows":[40,1,2,4,128,144,160,64,256],"offset":32,"phase":3,"quadratic_rows":[0,0,0,160,0,168,0,40,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":971,"old":969,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,0,2,0],"matrix_rows":[40,1,2,4,136,16,128,192,256],"offset":128,"phase":3,"quadratic_rows":[0,0,0,168,0,136,0,40,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":970,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[160,1,2,4,8,16,128,192,256],"offset":65,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":971,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[136,1,2,4,128,144,32,64,256],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":844,"old":972,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,0],"matrix_rows":[34,1,130,4,8,16,128,192,256],"offset":128,"phase":3,"quadratic_rows":[0,162,0,0,0,130,0,34,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":970,"old":972,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,1,0,2,0],"matrix_rows":[34,1,128,132,8,16,160,64,256],"offset":8,"phase":3,"quadratic_rows":[0,160,0,0,0,162,0,34,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":845,"old":973,"rank":1,"right":{"linear_Z4":[0,1,0,2,0,0,0,0,0],"matrix_rows":[2,1,138,4,128,144,32,64,256],"offset":21,"phase":3,"quadratic_rows":[0,138,0,2,0,0,0,2,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":971,"old":973,"rank":1,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,0],"matrix_rows":[2,1,64,68,8,16,96,128,256],"offset":4,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":846,"old":974,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,2,68,8,80,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":847,"old":974,"rank":1,"right":{"linear_Z4":[1,0,0,2,0,0,0,0,0],"matrix_rows":[1,265,2,4,256,16,32,64,384],"offset":19,"phase":3,"quadratic_rows":[265,0,0,1,0,0,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":976,"old":975,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,2,68,8,80,32,128,256],"offset":32,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":977,"old":975,"rank":1,"right":{"linear_Z4":[1,2,0,0,0,0,0,0,0],"matrix_rows":[1,259,256,260,264,16,288,320,384],"offset":143,"phase":1,"quadratic_rows":[259,1,0,0,0,0,0,0,1]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":976,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,260,264,16,288,320,384],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":977,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,258,4,264,272,288,64,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":847,"old":978,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[2,1,64,68,8,16,96,128,256],"offset":64,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":977,"old":978,"rank":1,"right":{"linear_Z4":[2,1,0,0,0,0,2,0,0],"matrix_rows":[2,3,64,68,8,16,96,128,256],"offset":66,"phase":2,"quadratic_rows":[2,67,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":846,"old":979,"rank":1,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,0],"matrix_rows":[2,1,64,68,8,16,96,128,256],"offset":4,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":976,"old":979,"rank":1,"right":{"linear_Z4":[0,1,0,2,0,0,0,0,0],"matrix_rows":[2,1,266,4,256,16,32,64,384],"offset":21,"phase":3,"quadratic_rows":[0,266,0,2,0,0,0,0,2]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":848,"old":980,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,2,68,8,80,32,128,256],"offset":42,"phase":1,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":849,"old":980,"rank":1,"right":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[1,19,16,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[19,1,0,0,1,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":982,"old":981,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,2,0,0,0],"matrix_rows":[17,32,2,36,8,48,64,128,256],"offset":8,"phase":3,"quadratic_rows":[48,0,0,0,49,17,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":983,"old":981,"rank":1,"right":{"linear_Z4":[3,0,0,0,2,0,2,0,0],"matrix_rows":[17,65,2,4,8,64,96,128,256],"offset":98,"phase":1,"quadratic_rows":[81,0,0,0,65,0,17,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":982,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[80,1,2,4,8,64,96,128,256],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":983,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[33,32,2,36,8,16,64,128,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":848,"old":984,"rank":1,"right":{"linear_Z4":[0,3,0,0,2,0,0,0,0],"matrix_rows":[2,1,82,4,8,64,96,128,256],"offset":1,"phase":1,"quadratic_rows":[0,82,0,0,2,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":982,"old":984,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[2,1,64,68,8,16,96,128,256],"offset":8,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":849,"old":985,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,2,0,0],"matrix_rows":[2,3,64,68,8,16,96,128,256],"offset":78,"phase":0,"quadratic_rows":[2,67,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":983,"old":985,"rank":1,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,0],"matrix_rows":[2,1,64,68,8,16,96,128,256],"offset":76,"phase":1,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":850,"old":986,"rank":1,"right":{"linear_Z4":[2,0,0,3,0,0,2,0,0],"matrix_rows":[8,9,2,4,64,80,96,128,256],"offset":18,"phase":2,"quadratic_rows":[8,0,0,73,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":851,"old":986,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":16,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":988,"old":987,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,0,2,0],"matrix_rows":[24,1,2,4,128,144,32,192,256],"offset":128,"phase":3,"quadratic_rows":[0,0,0,144,152,0,0,24,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":989,"old":987,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,0,2,0],"matrix_rows":[24,1,2,4,136,128,160,64,256],"offset":64,"phase":3,"quadratic_rows":[0,0,0,152,136,0,0,24,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":988,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[144,1,2,4,8,128,160,64,256],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":989,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[136,1,2,4,128,16,32,192,256],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":851,"old":990,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,0],"matrix_rows":[9,129,2,4,128,16,32,192,256],"offset":128,"phase":3,"quadratic_rows":[137,0,0,129,0,0,0,9,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":989,"old":990,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,0,2,0],"matrix_rows":[9,128,130,4,136,16,32,64,256],"offset":4,"phase":3,"quadratic_rows":[136,0,0,137,0,0,0,9,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":850,"old":991,"rank":1,"right":{"linear_Z4":[1,0,0,0,2,0,0,0,0],"matrix_rows":[1,145,2,4,8,128,160,64,256],"offset":35,"phase":3,"quadratic_rows":[145,0,0,0,1,0,0,1,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":988,"old":991,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,66,4,72,16,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":852,"old":992,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,0,0,2],"matrix_rows":[24,1,2,4,264,256,288,64,128],"offset":64,"phase":3,"quadratic_rows":[0,0,0,280,264,0,0,0,24]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":853,"old":992,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,0,0,2],"matrix_rows":[24,1,2,4,256,272,32,320,128],"offset":128,"phase":3,"quadratic_rows":[0,0,0,272,280,0,0,0,24]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":994,"old":993,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":16,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":995,"old":993,"rank":1,"right":{"linear_Z4":[2,0,0,3,0,0,2,0,0],"matrix_rows":[8,9,2,4,64,80,96,128,256],"offset":18,"phase":2,"quadratic_rows":[8,0,0,73,0,0,8,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":994,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,258,4,8,16,32,64,128],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":995,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,258,4,264,272,288,320,128],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":852,"old":996,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,0,0,2],"matrix_rows":[9,256,258,4,264,16,32,64,128],"offset":4,"phase":3,"quadratic_rows":[264,0,0,265,0,0,0,0,9]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":994,"old":996,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[9,257,2,4,256,16,32,320,128],"offset":128,"phase":3,"quadratic_rows":[265,0,0,257,0,0,0,0,9]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":853,"old":997,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,66,4,72,16,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":995,"old":997,"rank":1,"right":{"linear_Z4":[1,0,0,0,2,0,0,0,0],"matrix_rows":[1,273,2,4,8,256,288,64,128],"offset":35,"phase":3,"quadratic_rows":[273,0,0,0,1,0,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":854,"old":998,"rank":1,"right":{"linear_Z4":[1,0,2,0,0,0,0,0,0],"matrix_rows":[1,261,2,256,8,16,288,64,128],"offset":11,"phase":3,"quadratic_rows":[261,0,1,0,0,0,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":855,"old":998,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,66,4,72,16,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1000,"old":999,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[3,257,256,4,8,16,32,320,128],"offset":128,"phase":3,"quadratic_rows":[259,257,0,0,0,0,0,0,3]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1001,"old":999,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[3,256,258,4,264,16,32,64,128],"offset":16,"phase":3,"quadratic_rows":[258,259,0,0,0,0,0,0,3]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":1000,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,264,16,32,64,128],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":1001,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,8,16,32,320,128],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":855,"old":1002,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,0,2],"matrix_rows":[6,1,256,260,8,16,32,320,128],"offset":128,"phase":3,"quadratic_rows":[0,260,262,0,0,0,0,0,6]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1001,"old":1002,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[6,1,258,256,8,16,288,64,128],"offset":64,"phase":3,"quadratic_rows":[0,262,258,0,0,0,0,0,6]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":854,"old":1003,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,2,0,0],"matrix_rows":[2,3,64,68,8,16,96,128,256],"offset":6,"phase":2,"quadratic_rows":[2,67,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1000,"old":1003,"rank":1,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,0],"matrix_rows":[2,1,64,68,8,16,96,128,256],"offset":4,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":856,"old":1004,"rank":1,"right":{"linear_Z4":[1,0,2,0,0,0,0,0,0],"matrix_rows":[1,133,2,128,8,16,160,64,256],"offset":11,"phase":3,"quadratic_rows":[133,0,1,0,0,0,0,1,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":857,"old":1004,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,66,4,72,16,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1006,"old":1005,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,0],"matrix_rows":[3,129,128,4,8,16,32,192,256],"offset":128,"phase":3,"quadratic_rows":[131,129,0,0,0,0,0,3,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1007,"old":1005,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,0],"matrix_rows":[3,128,130,4,136,16,32,64,256],"offset":16,"phase":3,"quadratic_rows":[130,131,0,0,0,0,0,3,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":1006,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,2,4,136,16,32,64,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":1007,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[130,1,128,4,8,16,32,192,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":856,"old":1008,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,2,0,0],"matrix_rows":[2,3,64,68,8,16,96,128,256],"offset":6,"phase":2,"quadratic_rows":[2,67,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1006,"old":1008,"rank":1,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,0],"matrix_rows":[2,1,64,68,8,16,96,128,256],"offset":4,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":857,"old":1009,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,2,0],"matrix_rows":[6,1,128,132,8,16,32,192,256],"offset":128,"phase":3,"quadratic_rows":[0,132,134,0,0,0,0,6,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1007,"old":1009,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,0],"matrix_rows":[6,1,130,128,8,16,160,64,256],"offset":64,"phase":3,"quadratic_rows":[0,134,130,0,0,0,0,6,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":858,"old":1010,"rank":1,"right":{"linear_Z4":[0,0,2,1,0,0,2,0,0],"matrix_rows":[8,1,2,12,64,80,96,128,256],"offset":40,"phase":2,"quadratic_rows":[0,0,8,76,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":859,"old":1010,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":32,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1012,"old":1011,"rank":1,"right":{"linear_Z4":[2,0,0,3,0,0,2,0,0],"matrix_rows":[8,9,2,4,64,80,96,128,256],"offset":114,"phase":0,"quadratic_rows":[8,0,0,73,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1013,"old":1011,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":112,"phase":1,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":1012,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[65,64,2,4,72,16,32,128,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":1013,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[33,32,2,4,8,48,64,128,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":859,"old":1014,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,2,0,0,0],"matrix_rows":[5,32,2,36,8,48,64,128,256],"offset":32,"phase":3,"quadratic_rows":[36,0,37,0,0,5,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1013,"old":1014,"rank":1,"right":{"linear_Z4":[3,0,2,0,0,0,2,0,0],"matrix_rows":[5,65,2,64,8,16,96,128,256],"offset":74,"phase":1,"quadratic_rows":[69,0,65,0,0,0,5,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":858,"old":1015,"rank":1,"right":{"linear_Z4":[2,0,3,0,0,0,2,0,0],"matrix_rows":[5,64,2,68,72,16,32,128,256],"offset":26,"phase":1,"quadratic_rows":[68,0,69,0,0,0,5,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1012,"old":1015,"rank":1,"right":{"linear_Z4":[3,0,2,0,2,0,0,0,0],"matrix_rows":[5,17,2,16,24,32,64,128,256],"offset":26,"phase":1,"quadratic_rows":[21,0,17,0,5,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":860,"old":1016,"rank":1,"right":{"linear_Z4":[2,0,0,1,0,0,2,0,0],"matrix_rows":[8,9,2,4,64,80,96,128,256],"offset":66,"phase":2,"quadratic_rows":[8,0,0,73,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":861,"old":1016,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":64,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1018,"old":1017,"rank":1,"right":{"linear_Z4":[0,2,0,3,0,0,2,0,0],"matrix_rows":[8,1,10,4,64,80,96,128,256],"offset":20,"phase":2,"quadratic_rows":[0,8,0,74,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1019,"old":1017,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":16,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":1018,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,264,272,288,320,384],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":1019,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,8,16,32,64,384],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":860,"old":1020,"rank":1,"right":{"linear_Z4":[1,2,0,0,0,0,0,0,0],"matrix_rows":[1,259,256,4,264,272,288,320,384],"offset":167,"phase":1,"quadratic_rows":[259,1,0,0,0,0,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1018,"old":1020,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,2,68,8,80,32,128,256],"offset":8,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":861,"old":1021,"rank":1,"right":{"linear_Z4":[1,2,0,0,0,0,0,0,0],"matrix_rows":[1,259,256,4,8,16,32,64,384],"offset":7,"phase":3,"quadratic_rows":[259,1,0,0,0,0,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1019,"old":1021,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,2,68,8,80,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":862,"old":1022,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,34,4,8,48,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":863,"old":1022,"rank":1,"right":{"linear_Z4":[1,0,2,0,0,0,0,0,0],"matrix_rows":[1,133,2,128,136,16,32,64,256],"offset":11,"phase":3,"quadratic_rows":[133,0,1,0,0,0,0,1,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1024,"old":1023,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,0],"matrix_rows":[3,128,130,4,8,16,160,64,256],"offset":64,"phase":3,"quadratic_rows":[130,131,0,0,0,0,0,3,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1025,"old":1023,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,0],"matrix_rows":[3,129,128,4,8,144,32,64,256],"offset":32,"phase":3,"quadratic_rows":[131,129,0,0,0,0,0,3,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":1024,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[130,1,128,4,8,144,32,64,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":1025,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,2,4,8,16,160,64,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":863,"old":1026,"rank":1,"right":{"linear_Z4":[2,3,0,0,2,0,0,0,0],"matrix_rows":[2,3,16,20,24,32,64,128,256],"offset":6,"phase":2,"quadratic_rows":[2,19,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1025,"old":1026,"rank":1,"right":{"linear_Z4":[0,2,0,0,2,0,0,0,0],"matrix_rows":[2,1,16,20,24,32,64,128,256],"offset":4,"phase":3,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":862,"old":1027,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,2,0],"matrix_rows":[6,1,128,132,8,144,32,64,256],"offset":32,"phase":3,"quadratic_rows":[0,132,134,0,0,0,0,6,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1024,"old":1027,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,0],"matrix_rows":[6,1,130,128,136,16,32,64,256],"offset":16,"phase":3,"quadratic_rows":[0,134,130,0,0,0,0,6,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[6,11,17,33,67,128,259,3,2],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":864,"old":1028,"rank":2,"right":{"linear_Z4":[3,3,0,0,0,0,0,2,2],"matrix_rows":[6,5,263,128,384,392,144,32,192],"offset":82,"phase":3,"quadratic_rows":[259,387,128,0,0,0,0,6,3]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,19,32,66,1,131,259,3],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":865,"old":1028,"rank":2,"right":{"linear_Z4":[0,2,2,0,0,0,0,0,0],"matrix_rows":[5,6,32,288,260,8,304,320,384],"offset":71,"phase":0,"quadratic_rows":[36,292,259,0,0,3,0,0,6]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,32,65,128,258,2,1],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":1030,"old":1029,"rank":2,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[3,64,257,256,4,8,272,32,128],"offset":322,"phase":3,"quadratic_rows":[259,257,0,0,0,0,128,64,3]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,32,64,129,258,2,1],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":1031,"old":1029,"rank":2,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[3,64,256,258,4,8,16,288,128],"offset":386,"phase":3,"quadratic_rows":[258,259,0,0,0,0,128,64,3]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":1030,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,8,16,288,64,128],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":1031,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,8,272,32,64,128],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[6,11,17,33,3,64,130,258,2],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":864,"old":1032,"rank":2,"right":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[6,5,263,16,272,280,32,320,384],"offset":43,"phase":0,"quadratic_rows":[259,275,16,0,6,0,0,0,3]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[7,9,18,34,1,64,131,259,3],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":1030,"old":1032,"rank":2,"right":{"linear_Z4":[2,0,2,0,0,0,0,0,0],"matrix_rows":[3,5,257,16,272,280,32,320,384],"offset":43,"phase":0,"quadratic_rows":[262,17,273,0,6,0,0,0,5]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,32,65,128,258,2,1],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":865,"old":1033,"rank":2,"right":{"linear_Z4":[0,0,1,0,0,0,0,0,2],"matrix_rows":[6,64,1,256,260,8,272,32,128],"offset":322,"phase":3,"quadratic_rows":[0,260,262,0,0,0,128,64,6]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,33,64,128,258,2,1],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":1031,"old":1033,"rank":2,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[6,64,1,258,256,264,16,32,128],"offset":290,"phase":3,"quadratic_rows":[0,262,258,0,0,0,128,64,6]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":1034,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,2,36,40,16,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":1035,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,34,4,8,48,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":1036,"rank":1,"right":{"linear_Z4":[0,2,0,0,2,0,0,0,0],"matrix_rows":[2,1,16,20,24,32,64,128,256],"offset":4,"phase":3,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}}],"endpoint_adapters":[{"frame":7,"left":{"linear_Z4":[1,1,0,0,0,0,0,0,0],"matrix_rows":[2,1,4,11,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"port":0,"rank":0,"right":null,"role":"source"},{"frame":868,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,4,9,16,32,64,128,256],"offset":11,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":0,"rank":0,"right":null,"role":"target"},{"frame":213,"left":{"linear_Z4":[1,1,0,0,0,0,0,0,0],"matrix_rows":[2,1,4,8,19,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"port":1,"rank":0,"right":null,"role":"source"},{"frame":839,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,4,8,17,32,64,128,256],"offset":19,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":1,"rank":0,"right":null,"role":"target"},{"frame":66,"left":{"linear_Z4":[1,1,0,0,0,0,0,0,0],"matrix_rows":[2,1,4,8,16,35,64,128,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"port":2,"rank":0,"right":null,"role":"source"},{"frame":898,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,4,8,16,33,64,128,256],"offset":35,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":2,"rank":0,"right":null,"role":"target"},{"frame":270,"left":{"linear_Z4":[1,1,0,0,0,0,0,0,0],"matrix_rows":[2,1,4,8,16,32,67,128,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"port":3,"rank":0,"right":null,"role":"source"},{"frame":849,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,4,8,16,32,65,128,256],"offset":67,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":3,"rank":0,"right":null,"role":"target"},{"frame":300,"left":{"linear_Z4":[1,1,0,0,0,0,0,0,0],"matrix_rows":[2,1,4,8,16,32,64,131,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"port":4,"rank":0,"right":null,"role":"source"},{"frame":851,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,4,8,16,32,64,129,256],"offset":131,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":4,"rank":0,"right":null,"role":"target"},{"frame":298,"left":{"linear_Z4":[1,1,0,0,0,0,0,0,0],"matrix_rows":[2,1,4,8,16,32,64,128,259],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"port":5,"rank":0,"right":null,"role":"source"},{"frame":994,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,4,8,16,32,64,128,257],"offset":259,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":5,"rank":0,"right":null,"role":"target"},{"frame":210,"left":{"linear_Z4":[1,0,1,0,0,0,0,0,0],"matrix_rows":[4,2,1,13,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[5,0,5,0,0,0,0,0,0]},"port":6,"rank":0,"right":null,"role":"source"},{"frame":952,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,5,9,16,32,64,128,256],"offset":13,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":6,"rank":0,"right":null,"role":"target"},{"frame":13,"left":{"linear_Z4":[1,0,1,0,0,0,0,0,0],"matrix_rows":[4,2,1,8,21,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[5,0,5,0,0,0,0,0,0]},"port":7,"rank":0,"right":null,"role":"source"},{"frame":810,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,5,8,17,32,64,128,256],"offset":21,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":7,"rank":0,"right":null,"role":"target"},{"frame":272,"left":{"linear_Z4":[1,0,1,0,0,0,0,0,0],"matrix_rows":[4,2,1,8,16,37,64,128,256],"offset":0,"phase":0,"quadratic_rows":[5,0,5,0,0,0,0,0,0]},"port":8,"rank":0,"right":null,"role":"source"},{"frame":983,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,5,8,16,33,64,128,256],"offset":37,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":8,"rank":0,"right":null,"role":"target"},{"frame":72,"left":{"linear_Z4":[1,0,1,0,0,0,0,0,0],"matrix_rows":[4,2,1,8,16,32,69,128,256],"offset":0,"phase":0,"quadratic_rows":[5,0,5,0,0,0,0,0,0]},"port":9,"rank":0,"right":null,"role":"source"},{"frame":820,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,5,8,16,32,65,128,256],"offset":69,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":9,"rank":0,"right":null,"role":"target"},{"frame":42,"left":{"linear_Z4":[1,0,1,0,0,0,0,0,0],"matrix_rows":[4,2,1,8,16,32,64,133,256],"offset":0,"phase":0,"quadratic_rows":[5,0,5,0,0,0,0,0,0]},"port":10,"rank":0,"right":null,"role":"source"},{"frame":814,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,5,8,16,32,64,129,256],"offset":133,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":10,"rank":0,"right":null,"role":"target"},{"frame":43,"left":{"linear_Z4":[1,0,1,0,0,0,0,0,0],"matrix_rows":[4,2,1,8,16,32,64,128,261],"offset":0,"phase":0,"quadratic_rows":[5,0,5,0,0,0,0,0,0]},"port":11,"rank":0,"right":null,"role":"source"},{"frame":816,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,5,8,16,32,64,128,257],"offset":261,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":11,"rank":0,"right":null,"role":"target"},{"frame":94,"left":{"linear_Z4":[1,0,0,1,0,0,0,0,0],"matrix_rows":[8,2,4,1,16,41,64,128,256],"offset":0,"phase":0,"quadratic_rows":[9,0,0,9,0,0,0,0,0]},"port":12,"rank":0,"right":null,"role":"source"},{"frame":904,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,9,16,33,64,128,256],"offset":41,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":12,"rank":0,"right":null,"role":"target"},{"frame":355,"left":{"linear_Z4":[1,0,0,1,0,0,0,0,0],"matrix_rows":[8,2,4,1,16,32,73,128,256],"offset":0,"phase":0,"quadratic_rows":[9,0,0,9,0,0,0,0,0]},"port":13,"rank":0,"right":null,"role":"source"},{"frame":1012,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,9,16,32,65,128,256],"offset":73,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":13,"rank":0,"right":null,"role":"target"},{"frame":327,"left":{"linear_Z4":[1,0,0,1,0,0,0,0,0],"matrix_rows":[8,2,4,1,16,32,64,137,256],"offset":0,"phase":0,"quadratic_rows":[9,0,0,9,0,0,0,0,0]},"port":14,"rank":0,"right":null,"role":"source"},{"frame":1006,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,9,16,32,64,129,256],"offset":137,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":14,"rank":0,"right":null,"role":"target"},{"frame":326,"left":{"linear_Z4":[1,0,0,1,0,0,0,0,0],"matrix_rows":[8,2,4,1,16,32,64,128,265],"offset":0,"phase":0,"quadratic_rows":[9,0,0,9,0,0,0,0,0]},"port":15,"rank":0,"right":null,"role":"source"},{"frame":1000,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,9,16,32,64,128,257],"offset":265,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":15,"rank":0,"right":null,"role":"target"},{"frame":360,"left":{"linear_Z4":[1,0,0,0,1,0,0,0,0],"matrix_rows":[16,2,4,8,1,49,64,128,256],"offset":0,"phase":0,"quadratic_rows":[17,0,0,0,17,0,0,0,0]},"port":16,"rank":0,"right":null,"role":"source"},{"frame":1013,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,17,33,64,128,256],"offset":49,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":16,"rank":0,"right":null,"role":"target"},{"frame":99,"left":{"linear_Z4":[1,0,0,0,1,0,0,0,0],"matrix_rows":[16,2,4,8,1,32,81,128,256],"offset":0,"phase":0,"quadratic_rows":[17,0,0,0,17,0,0,0,0]},"port":17,"rank":0,"right":null,"role":"source"},{"frame":905,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,17,32,65,128,256],"offset":81,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":17,"rank":0,"right":null,"role":"target"},{"frame":127,"left":{"linear_Z4":[1,0,0,0,1,0,0,0,0],"matrix_rows":[16,2,4,8,1,32,64,145,256],"offset":0,"phase":0,"quadratic_rows":[17,0,0,0,17,0,0,0,0]},"port":18,"rank":0,"right":null,"role":"source"},{"frame":923,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,17,32,64,129,256],"offset":145,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":18,"rank":0,"right":null,"role":"target"},{"frame":129,"left":{"linear_Z4":[1,0,0,0,1,0,0,0,0],"matrix_rows":[16,2,4,8,1,32,64,128,273],"offset":0,"phase":0,"quadratic_rows":[17,0,0,0,17,0,0,0,0]},"port":19,"rank":0,"right":null,"role":"source"},{"frame":826,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,17,32,64,128,257],"offset":273,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":19,"rank":0,"right":null,"role":"target"},{"frame":389,"left":{"linear_Z4":[1,0,0,0,0,1,0,0,0],"matrix_rows":[32,2,4,8,16,1,64,161,256],"offset":0,"phase":0,"quadratic_rows":[33,0,0,0,0,33,0,0,0]},"port":20,"rank":0,"right":null,"role":"source"},{"frame":1025,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,33,64,129,256],"offset":161,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":20,"rank":0,"right":null,"role":"target"},{"frame":385,"left":{"linear_Z4":[1,0,0,0,0,1,0,0,0],"matrix_rows":[32,2,4,8,16,1,64,128,289],"offset":0,"phase":0,"quadratic_rows":[33,0,0,0,0,33,0,0,0]},"port":21,"rank":0,"right":null,"role":"source"},{"frame":1030,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,33,64,128,257],"offset":289,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":21,"rank":0,"right":null,"role":"target"},{"frame":186,"left":{"linear_Z4":[1,0,0,0,0,0,1,0,0],"matrix_rows":[64,2,4,8,16,32,1,193,256],"offset":0,"phase":0,"quadratic_rows":[65,0,0,0,0,0,65,0,0]},"port":22,"rank":0,"right":null,"role":"source"},{"frame":941,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,65,129,256],"offset":193,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":22,"rank":0,"right":null,"role":"target"},{"frame":188,"left":{"linear_Z4":[1,0,0,0,0,0,1,0,0],"matrix_rows":[64,2,4,8,16,32,1,128,321],"offset":0,"phase":0,"quadratic_rows":[65,0,0,0,0,0,65,0,0]},"port":23,"rank":0,"right":null,"role":"source"},{"frame":836,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,65,128,257],"offset":321,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":23,"rank":0,"right":null,"role":"target"},{"frame":158,"left":{"linear_Z4":[1,0,0,0,0,0,0,1,0],"matrix_rows":[128,2,4,8,16,32,64,1,385],"offset":0,"phase":0,"quadratic_rows":[129,0,0,0,0,0,0,129,0]},"port":24,"rank":0,"right":null,"role":"source"},{"frame":830,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,129,257],"offset":385,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":24,"rank":0,"right":null,"role":"target"},{"frame":67,"left":{"linear_Z4":[0,1,1,0,0,0,0,0,0],"matrix_rows":[1,4,2,14,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,6,6,0,0,0,0,0,0]},"port":25,"rank":0,"right":null,"role":"source"},{"frame":821,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,6,10,16,32,64,128,256],"offset":14,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":25,"rank":0,"right":null,"role":"target"},{"frame":275,"left":{"linear_Z4":[0,1,1,0,0,0,0,0,0],"matrix_rows":[1,4,2,8,22,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,6,6,0,0,0,0,0,0]},"port":26,"rank":0,"right":null,"role":"source"},{"frame":848,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,6,8,18,32,64,128,256],"offset":22,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":26,"rank":0,"right":null,"role":"target"},{"frame":10,"left":{"linear_Z4":[0,1,1,0,0,0,0,0,0],"matrix_rows":[1,4,2,8,16,38,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,6,6,0,0,0,0,0,0]},"port":27,"rank":0,"right":null,"role":"source"},{"frame":811,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,6,8,16,34,64,128,256],"offset":38,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":27,"rank":0,"right":null,"role":"target"},{"frame":216,"left":{"linear_Z4":[0,1,1,0,0,0,0,0,0],"matrix_rows":[1,4,2,8,16,32,70,128,256],"offset":0,"phase":0,"quadratic_rows":[0,6,6,0,0,0,0,0,0]},"port":28,"rank":0,"right":null,"role":"source"},{"frame":838,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,6,8,16,32,66,128,256],"offset":70,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":28,"rank":0,"right":null,"role":"target"},{"frame":246,"left":{"linear_Z4":[0,1,1,0,0,0,0,0,0],"matrix_rows":[1,4,2,8,16,32,64,134,256],"offset":0,"phase":0,"quadratic_rows":[0,6,6,0,0,0,0,0,0]},"port":29,"rank":0,"right":null,"role":"source"},{"frame":844,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,6,8,16,32,64,130,256],"offset":134,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":29,"rank":0,"right":null,"role":"target"},{"frame":244,"left":{"linear_Z4":[0,1,1,0,0,0,0,0,0],"matrix_rows":[1,4,2,8,16,32,64,128,262],"offset":0,"phase":0,"quadratic_rows":[0,6,6,0,0,0,0,0,0]},"port":30,"rank":0,"right":null,"role":"source"},{"frame":965,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,6,8,16,32,64,128,258],"offset":262,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":30,"rank":0,"right":null,"role":"target"},{"frame":97,"left":{"linear_Z4":[0,1,0,1,0,0,0,0,0],"matrix_rows":[1,8,4,2,26,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,10,0,10,0,0,0,0,0]},"port":31,"rank":0,"right":null,"role":"source"},{"frame":823,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,10,18,32,64,128,256],"offset":26,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":31,"rank":0,"right":null,"role":"target"},{"frame":154,"left":{"linear_Z4":[0,1,0,1,0,0,0,0,0],"matrix_rows":[1,8,4,2,16,32,74,128,256],"offset":0,"phase":0,"quadratic_rows":[0,10,0,10,0,0,0,0,0]},"port":32,"rank":0,"right":null,"role":"source"},{"frame":833,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,10,16,32,66,128,256],"offset":74,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":32,"rank":0,"right":null,"role":"target"},{"frame":184,"left":{"linear_Z4":[0,1,0,1,0,0,0,0,0],"matrix_rows":[1,8,4,2,16,32,64,138,256],"offset":0,"phase":0,"quadratic_rows":[0,10,0,10,0,0,0,0,0]},"port":33,"rank":0,"right":null,"role":"source"},{"frame":835,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,10,16,32,64,130,256],"offset":138,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":33,"rank":0,"right":null,"role":"target"},{"frame":182,"left":{"linear_Z4":[0,1,0,1,0,0,0,0,0],"matrix_rows":[1,8,4,2,16,32,64,128,266],"offset":0,"phase":0,"quadratic_rows":[0,10,0,10,0,0,0,0,0]},"port":34,"rank":0,"right":null,"role":"source"},{"frame":946,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,10,16,32,64,128,258],"offset":266,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":34,"rank":0,"right":null,"role":"target"},{"frame":159,"left":{"linear_Z4":[0,1,0,0,1,0,0,0,0],"matrix_rows":[1,16,4,8,2,50,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,18,0,0,18,0,0,0,0]},"port":35,"rank":0,"right":null,"role":"source"},{"frame":832,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,18,34,64,128,256],"offset":50,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":35,"rank":0,"right":null,"role":"target"},{"frame":384,"left":{"linear_Z4":[0,1,0,0,1,0,0,0,0],"matrix_rows":[1,16,4,8,2,32,64,146,256],"offset":0,"phase":0,"quadratic_rows":[0,18,0,0,18,0,0,0,0]},"port":36,"rank":0,"right":null,"role":"source"},{"frame":1024,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,18,32,64,130,256],"offset":146,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":36,"rank":0,"right":null,"role":"target"},{"frame":388,"left":{"linear_Z4":[0,1,0,0,1,0,0,0,0],"matrix_rows":[1,16,4,8,2,32,64,128,274],"offset":0,"phase":0,"quadratic_rows":[0,18,0,0,18,0,0,0,0]},"port":37,"rank":0,"right":null,"role":"source"},{"frame":1031,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,18,32,64,128,258],"offset":274,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":37,"rank":0,"right":null,"role":"target"},{"frame":100,"left":{"linear_Z4":[0,1,0,0,0,1,0,0,0],"matrix_rows":[1,32,4,8,16,2,98,128,256],"offset":0,"phase":0,"quadratic_rows":[0,34,0,0,0,34,0,0,0]},"port":38,"rank":0,"right":null,"role":"source"},{"frame":822,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,34,66,128,256],"offset":98,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":38,"rank":0,"right":null,"role":"target"},{"frame":130,"left":{"linear_Z4":[0,1,0,0,0,1,0,0,0],"matrix_rows":[1,32,4,8,16,2,64,162,256],"offset":0,"phase":0,"quadratic_rows":[0,34,0,0,0,34,0,0,0]},"port":39,"rank":0,"right":null,"role":"source"},{"frame":828,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,34,64,130,256],"offset":162,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":39,"rank":0,"right":null,"role":"target"},{"frame":128,"left":{"linear_Z4":[0,1,0,0,0,1,0,0,0],"matrix_rows":[1,32,4,8,16,2,64,128,290],"offset":0,"phase":0,"quadratic_rows":[0,34,0,0,0,34,0,0,0]},"port":40,"rank":0,"right":null,"role":"source"},{"frame":917,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,34,64,128,258],"offset":290,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":40,"rank":0,"right":null,"role":"target"},{"frame":330,"left":{"linear_Z4":[0,1,0,0,0,0,1,0,0],"matrix_rows":[1,64,4,8,16,32,2,194,256],"offset":0,"phase":0,"quadratic_rows":[0,66,0,0,0,0,66,0,0]},"port":41,"rank":0,"right":null,"role":"source"},{"frame":1007,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,66,130,256],"offset":194,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":41,"rank":0,"right":null,"role":"target"},{"frame":331,"left":{"linear_Z4":[0,1,0,0,0,0,1,0,0],"matrix_rows":[1,64,4,8,16,32,2,128,322],"offset":0,"phase":0,"quadratic_rows":[0,66,0,0,0,0,66,0,0]},"port":42,"rank":0,"right":null,"role":"source"},{"frame":1001,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,66,128,258],"offset":322,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":42,"rank":0,"right":null,"role":"target"},{"frame":359,"left":{"linear_Z4":[0,1,0,0,0,0,0,1,0],"matrix_rows":[1,128,4,8,16,32,64,2,386],"offset":0,"phase":0,"quadratic_rows":[0,130,0,0,0,0,0,130,0]},"port":43,"rank":0,"right":null,"role":"source"},{"frame":1019,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,130,258],"offset":386,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":43,"rank":0,"right":null,"role":"target"},{"frame":361,"left":{"linear_Z4":[0,0,1,1,0,0,0,0,0],"matrix_rows":[1,2,8,4,28,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,12,12,0,0,0,0,0]},"port":44,"rank":0,"right":null,"role":"source"},{"frame":858,"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,12,20,32,64,128,256],"offset":28,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":44,"rank":0,"right":null,"role":"target"},{"frame":156,"left":{"linear_Z4":[0,0,1,1,0,0,0,0,0],"matrix_rows":[1,2,8,4,16,44,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,12,12,0,0,0,0,0]},"port":45,"rank":0,"right":null,"role":"source"},{"frame":935,"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,12,16,36,64,128,256],"offset":44,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":45,"rank":0,"right":null,"role":"target"},{"frame":390,"left":{"linear_Z4":[0,0,1,1,0,0,0,0,0],"matrix_rows":[1,2,8,4,16,32,64,140,256],"offset":0,"phase":0,"quadratic_rows":[0,0,12,12,0,0,0,0,0]},"port":46,"rank":0,"right":null,"role":"source"},{"frame":862,"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,12,16,32,64,132,256],"offset":140,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":46,"rank":0,"right":null,"role":"target"},{"frame":386,"left":{"linear_Z4":[0,0,1,1,0,0,0,0,0],"matrix_rows":[1,2,8,4,16,32,64,128,268],"offset":0,"phase":0,"quadratic_rows":[0,0,12,12,0,0,0,0,0]},"port":47,"rank":0,"right":null,"role":"source"},{"frame":865,"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,12,16,32,64,128,260],"offset":268,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":47,"rank":0,"right":null,"role":"target"},{"frame":153,"left":{"linear_Z4":[0,0,1,0,1,0,0,0,0],"matrix_rows":[1,2,16,8,4,32,84,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,20,0,20,0,0,0,0]},"port":48,"rank":0,"right":null,"role":"source"},{"frame":934,"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,20,32,68,128,256],"offset":84,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":48,"rank":0,"right":null,"role":"target"},{"frame":181,"left":{"linear_Z4":[0,0,1,0,1,0,0,0,0],"matrix_rows":[1,2,16,8,4,32,64,148,256],"offset":0,"phase":0,"quadratic_rows":[0,0,20,0,20,0,0,0,0]},"port":49,"rank":0,"right":null,"role":"source"},{"frame":940,"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,20,32,64,132,256],"offset":148,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":49,"rank":0,"right":null,"role":"target"},{"frame":183,"left":{"linear_Z4":[0,0,1,0,1,0,0,0,0],"matrix_rows":[1,2,16,8,4,32,64,128,276],"offset":0,"phase":0,"quadratic_rows":[0,0,20,0,20,0,0,0,0]},"port":50,"rank":0,"right":null,"role":"source"},{"frame":837,"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,20,32,64,128,260],"offset":276,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":50,"rank":0,"right":null,"role":"target"},{"frame":358,"left":{"linear_Z4":[0,0,1,0,0,1,0,0,0],"matrix_rows":[1,2,32,8,16,4,100,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,36,0,0,36,0,0,0]},"port":51,"rank":0,"right":null,"role":"source"},{"frame":859,"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,36,68,128,256],"offset":100,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":51,"rank":0,"right":null,"role":"target"},{"frame":328,"left":{"linear_Z4":[0,0,1,0,0,1,0,0,0],"matrix_rows":[1,2,32,8,16,4,64,164,256],"offset":0,"phase":0,"quadratic_rows":[0,0,36,0,0,36,0,0,0]},"port":52,"rank":0,"right":null,"role":"source"},{"frame":857,"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,36,64,132,256],"offset":164,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":52,"rank":0,"right":null,"role":"target"},{"frame":329,"left":{"linear_Z4":[0,0,1,0,0,1,0,0,0],"matrix_rows":[1,2,32,8,16,4,64,128,292],"offset":0,"phase":0,"quadratic_rows":[0,0,36,0,0,36,0,0,0]},"port":53,"rank":0,"right":null,"role":"source"},{"frame":855,"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,36,64,128,260],"offset":292,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":53,"rank":0,"right":null,"role":"target"},{"frame":124,"left":{"linear_Z4":[0,0,1,0,0,0,1,0,0],"matrix_rows":[1,2,64,8,16,32,4,196,256],"offset":0,"phase":0,"quadratic_rows":[0,0,68,0,0,0,68,0,0]},"port":54,"rank":0,"right":null,"role":"source"},{"frame":922,"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,68,132,256],"offset":196,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":54,"rank":0,"right":null,"role":"target"},{"frame":126,"left":{"linear_Z4":[0,0,1,0,0,0,1,0,0],"matrix_rows":[1,2,64,8,16,32,4,128,324],"offset":0,"phase":0,"quadratic_rows":[0,0,68,0,0,0,68,0,0]},"port":55,"rank":0,"right":null,"role":"source"},{"frame":827,"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,68,128,260],"offset":324,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":55,"rank":0,"right":null,"role":"target"},{"frame":96,"left":{"linear_Z4":[0,0,1,0,0,0,0,1,0],"matrix_rows":[1,2,128,8,16,32,64,4,388],"offset":0,"phase":0,"quadratic_rows":[0,0,132,0,0,0,0,132,0]},"port":56,"rank":0,"right":null,"role":"source"},{"frame":825,"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,132,260],"offset":388,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":56,"rank":0,"right":null,"role":"target"},{"frame":12,"left":{"linear_Z4":[0,0,0,1,1,0,0,0,0],"matrix_rows":[1,2,4,16,8,56,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,24,24,0,0,0,0]},"port":57,"rank":0,"right":null,"role":"source"},{"frame":869,"left":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[1,2,4,8,24,40,64,128,256],"offset":56,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":57,"rank":0,"right":null,"role":"target"},{"frame":215,"left":{"linear_Z4":[0,0,0,1,1,0,0,0,0],"matrix_rows":[1,2,4,16,8,32,88,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,24,24,0,0,0,0]},"port":58,"rank":0,"right":null,"role":"source"},{"frame":953,"left":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[1,2,4,8,24,32,72,128,256],"offset":88,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":58,"rank":0,"right":null,"role":"target"},{"frame":243,"left":{"linear_Z4":[0,0,0,1,1,0,0,0,0],"matrix_rows":[1,2,4,16,8,32,64,152,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,24,24,0,0,0,0]},"port":59,"rank":0,"right":null,"role":"source"},{"frame":971,"left":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[1,2,4,8,24,32,64,136,256],"offset":152,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":59,"rank":0,"right":null,"role":"target"},{"frame":245,"left":{"linear_Z4":[0,0,0,1,1,0,0,0,0],"matrix_rows":[1,2,4,16,8,32,64,128,280],"offset":0,"phase":0,"quadratic_rows":[0,0,0,24,24,0,0,0,0]},"port":60,"rank":0,"right":null,"role":"source"},{"frame":842,"left":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[1,2,4,8,24,32,64,128,264],"offset":280,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":60,"rank":0,"right":null,"role":"target"},{"frame":69,"left":{"linear_Z4":[0,0,0,1,0,1,0,0,0],"matrix_rows":[1,2,4,32,16,8,104,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,40,0,40,0,0,0]},"port":61,"rank":0,"right":null,"role":"source"},{"frame":899,"left":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,40,72,128,256],"offset":104,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":61,"rank":0,"right":null,"role":"target"},{"frame":41,"left":{"linear_Z4":[0,0,0,1,0,1,0,0,0],"matrix_rows":[1,2,4,32,16,8,64,168,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,40,0,40,0,0,0]},"port":62,"rank":0,"right":null,"role":"source"},{"frame":881,"left":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,40,64,136,256],"offset":168,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":62,"rank":0,"right":null,"role":"target"},{"frame":40,"left":{"linear_Z4":[0,0,0,1,0,1,0,0,0],"matrix_rows":[1,2,4,32,16,8,64,128,296],"offset":0,"phase":0,"quadratic_rows":[0,0,0,40,0,40,0,0,0]},"port":63,"rank":0,"right":null,"role":"source"},{"frame":887,"left":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,40,64,128,264],"offset":296,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":63,"rank":0,"right":null,"role":"target"},{"frame":302,"left":{"linear_Z4":[0,0,0,1,0,0,1,0,0],"matrix_rows":[1,2,4,64,16,32,8,200,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,72,0,0,72,0,0]},"port":64,"rank":0,"right":null,"role":"source"},{"frame":989,"left":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,72,136,256],"offset":200,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":64,"rank":0,"right":null,"role":"target"},{"frame":304,"left":{"linear_Z4":[0,0,0,1,0,0,1,0,0],"matrix_rows":[1,2,4,64,16,32,8,128,328],"offset":0,"phase":0,"quadratic_rows":[0,0,0,72,0,0,72,0,0]},"port":65,"rank":0,"right":null,"role":"source"},{"frame":852,"left":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,72,128,264],"offset":328,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":65,"rank":0,"right":null,"role":"target"},{"frame":274,"left":{"linear_Z4":[0,0,0,1,0,0,0,1,0],"matrix_rows":[1,2,4,128,16,32,64,8,392],"offset":0,"phase":0,"quadratic_rows":[0,0,0,136,0,0,0,136,0]},"port":66,"rank":0,"right":null,"role":"source"},{"frame":846,"left":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,136,264],"offset":392,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":66,"rank":0,"right":null,"role":"target"},{"frame":269,"left":{"linear_Z4":[0,0,0,0,1,1,0,0,0],"matrix_rows":[1,2,4,8,32,16,112,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,48,48,0,0,0]},"port":67,"rank":0,"right":null,"role":"source"},{"frame":982,"left":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[1,2,4,8,16,48,80,128,256],"offset":112,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":67,"rank":0,"right":null,"role":"target"},{"frame":297,"left":{"linear_Z4":[0,0,0,0,1,1,0,0,0],"matrix_rows":[1,2,4,8,32,16,64,176,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,48,48,0,0,0]},"port":68,"rank":0,"right":null,"role":"source"},{"frame":988,"left":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[1,2,4,8,16,48,64,144,256],"offset":176,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":68,"rank":0,"right":null,"role":"target"},{"frame":299,"left":{"linear_Z4":[0,0,0,0,1,1,0,0,0],"matrix_rows":[1,2,4,8,32,16,64,128,304],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,48,48,0,0,0]},"port":69,"rank":0,"right":null,"role":"source"},{"frame":853,"left":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[1,2,4,8,16,48,64,128,272],"offset":304,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":69,"rank":0,"right":null,"role":"target"},{"frame":36,"left":{"linear_Z4":[0,0,0,0,1,0,1,0,0],"matrix_rows":[1,2,4,8,64,32,16,208,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,80,0,80,0,0]},"port":70,"rank":0,"right":null,"role":"source"},{"frame":880,"left":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,80,144,256],"offset":208,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":70,"rank":0,"right":null,"role":"target"},{"frame":37,"left":{"linear_Z4":[0,0,0,0,1,0,1,0,0],"matrix_rows":[1,2,4,8,64,32,16,128,336],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,80,0,80,0,0]},"port":71,"rank":0,"right":null,"role":"source"},{"frame":886,"left":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,80,128,272],"offset":336,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":71,"rank":0,"right":null,"role":"target"},{"frame":65,"left":{"linear_Z4":[0,0,0,0,1,0,0,1,0],"matrix_rows":[1,2,4,8,128,32,64,16,400],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,144,0,0,144,0]},"port":72,"rank":0,"right":null,"role":"source"},{"frame":892,"left":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,144,272],"offset":400,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":72,"rank":0,"right":null,"role":"target"},{"frame":240,"left":{"linear_Z4":[0,0,0,0,0,1,1,0,0],"matrix_rows":[1,2,4,8,16,64,32,224,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,96,96,0,0]},"port":73,"rank":0,"right":null,"role":"source"},{"frame":970,"left":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[1,2,4,8,16,32,96,160,256],"offset":224,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":73,"rank":0,"right":null,"role":"target"},{"frame":242,"left":{"linear_Z4":[0,0,0,0,0,1,1,0,0],"matrix_rows":[1,2,4,8,16,64,32,128,352],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,96,96,0,0]},"port":74,"rank":0,"right":null,"role":"source"},{"frame":843,"left":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[1,2,4,8,16,32,96,128,288],"offset":352,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":74,"rank":0,"right":null,"role":"target"},{"frame":212,"left":{"linear_Z4":[0,0,0,0,0,1,0,1,0],"matrix_rows":[1,2,4,8,16,128,64,32,416],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,160,0,160,0]},"port":75,"rank":0,"right":null,"role":"source"},{"frame":841,"left":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,160,288],"offset":416,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":75,"rank":0,"right":null,"role":"target"},{"frame":8,"left":{"linear_Z4":[0,0,0,0,0,0,1,1,0],"matrix_rows":[1,2,4,8,16,32,128,64,448],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,192,192,0]},"port":76,"rank":0,"right":null,"role":"source"},{"frame":874,"left":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[1,2,4,8,16,32,64,192,320],"offset":448,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":76,"rank":0,"right":null,"role":"target"},{"frame":101,"left":{"linear_Z4":[0,0,1,1,1,1,1,1,0],"matrix_rows":[1,2,248,244,236,220,188,124,508],"offset":0,"phase":0,"quadratic_rows":[0,0,252,252,252,252,252,252,0]},"port":77,"rank":0,"right":null,"role":"source"},{"frame":824,"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,12,20,36,68,132,260],"offset":508,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":77,"rank":0,"right":null,"role":"target"},{"frame":356,"left":{"linear_Z4":[0,1,0,1,1,1,1,1,0],"matrix_rows":[1,248,4,242,234,218,186,122,506],"offset":0,"phase":0,"quadratic_rows":[0,250,0,250,250,250,250,250,0]},"port":78,"rank":0,"right":null,"role":"source"},{"frame":1018,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,10,18,34,66,130,258],"offset":506,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":78,"rank":0,"right":null,"role":"target"},{"frame":71,"left":{"linear_Z4":[0,1,1,0,1,1,1,1,0],"matrix_rows":[1,244,242,8,230,214,182,118,502],"offset":0,"phase":0,"quadratic_rows":[0,246,246,0,246,246,246,246,0]},"port":79,"rank":0,"right":null,"role":"source"},{"frame":818,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,6,8,18,34,66,130,258],"offset":502,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":79,"rank":0,"right":null,"role":"target"},{"frame":268,"left":{"linear_Z4":[0,1,1,1,0,1,1,1,0],"matrix_rows":[1,236,234,230,16,206,174,110,494],"offset":0,"phase":0,"quadratic_rows":[0,238,238,238,0,238,238,238,0]},"port":80,"rank":0,"right":null,"role":"source"},{"frame":976,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,6,10,16,34,66,130,258],"offset":494,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":80,"rank":0,"right":null,"role":"target"},{"frame":14,"left":{"linear_Z4":[0,1,1,1,1,0,1,1,0],"matrix_rows":[1,220,218,214,206,32,158,94,478],"offset":0,"phase":0,"quadratic_rows":[0,222,222,222,222,0,222,222,0]},"port":81,"rank":0,"right":null,"role":"source"},{"frame":812,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,6,10,18,32,66,130,258],"offset":478,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":81,"rank":0,"right":null,"role":"target"},{"frame":211,"left":{"linear_Z4":[0,1,1,1,1,1,0,1,0],"matrix_rows":[1,188,186,182,174,158,64,62,446],"offset":0,"phase":0,"quadratic_rows":[0,190,190,190,190,190,0,190,0]},"port":82,"rank":0,"right":null,"role":"source"},{"frame":958,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,6,10,18,34,64,130,258],"offset":446,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":82,"rank":0,"right":null,"role":"target"},{"frame":239,"left":{"linear_Z4":[0,1,1,1,1,1,1,0,0],"matrix_rows":[1,124,122,118,110,94,62,128,382],"offset":0,"phase":0,"quadratic_rows":[0,126,126,126,126,126,126,0,0]},"port":83,"rank":0,"right":null,"role":"source"},{"frame":964,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,6,10,18,34,66,128,258],"offset":382,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":83,"rank":0,"right":null,"role":"target"},{"frame":241,"left":{"linear_Z4":[0,1,1,1,1,1,1,0,0],"matrix_rows":[1,124,122,118,110,94,62,254,256],"offset":0,"phase":0,"quadratic_rows":[0,126,126,126,126,126,126,0,0]},"port":84,"rank":0,"right":null,"role":"source"},{"frame":845,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,6,10,18,34,66,130,256],"offset":254,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":84,"rank":0,"right":null,"role":"target"},{"frame":155,"left":{"linear_Z4":[1,0,0,1,1,1,1,1,0],"matrix_rows":[248,2,4,241,233,217,185,121,505],"offset":0,"phase":0,"quadratic_rows":[249,0,0,249,249,249,249,249,0]},"port":85,"rank":0,"right":null,"role":"source"},{"frame":831,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,9,17,33,65,129,257],"offset":505,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":85,"rank":0,"right":null,"role":"target"},{"frame":217,"left":{"linear_Z4":[1,0,1,0,1,1,1,1,0],"matrix_rows":[244,2,241,8,229,213,181,117,501],"offset":0,"phase":0,"quadratic_rows":[245,0,245,0,245,245,245,245,0]},"port":86,"rank":0,"right":null,"role":"source"},{"frame":840,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,5,8,17,33,65,129,257],"offset":501,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":86,"rank":0,"right":null,"role":"target"},{"frame":9,"left":{"linear_Z4":[1,0,1,1,0,1,1,1,0],"matrix_rows":[236,2,233,229,16,205,173,109,493],"offset":0,"phase":0,"quadratic_rows":[237,0,237,237,0,237,237,237,0]},"port":87,"rank":0,"right":null,"role":"source"},{"frame":813,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,5,9,16,33,65,129,257],"offset":493,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":87,"rank":0,"right":null,"role":"target"},{"frame":271,"left":{"linear_Z4":[1,0,1,1,1,0,1,1,0],"matrix_rows":[220,2,217,213,205,32,157,93,477],"offset":0,"phase":0,"quadratic_rows":[221,0,221,221,221,0,221,221,0]},"port":88,"rank":0,"right":null,"role":"source"},{"frame":847,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,5,9,17,32,65,129,257],"offset":477,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":88,"rank":0,"right":null,"role":"target"},{"frame":68,"left":{"linear_Z4":[1,0,1,1,1,1,0,1,0],"matrix_rows":[188,2,185,181,173,157,64,61,445],"offset":0,"phase":0,"quadratic_rows":[189,0,189,189,189,189,0,189,0]},"port":89,"rank":0,"right":null,"role":"source"},{"frame":819,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,5,9,17,33,64,129,257],"offset":445,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":89,"rank":0,"right":null,"role":"target"},{"frame":38,"left":{"linear_Z4":[1,0,1,1,1,1,1,0,0],"matrix_rows":[124,2,121,117,109,93,61,128,381],"offset":0,"phase":0,"quadratic_rows":[125,0,125,125,125,125,125,0,0]},"port":90,"rank":0,"right":null,"role":"source"},{"frame":817,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,5,9,17,33,65,128,257],"offset":381,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":90,"rank":0,"right":null,"role":"target"},{"frame":39,"left":{"linear_Z4":[1,0,1,1,1,1,1,0,0],"matrix_rows":[124,2,121,117,109,93,61,253,256],"offset":0,"phase":0,"quadratic_rows":[125,0,125,125,125,125,125,0,0]},"port":91,"rank":0,"right":null,"role":"source"},{"frame":815,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,5,9,17,33,65,129,256],"offset":253,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":91,"rank":0,"right":null,"role":"target"},{"frame":11,"left":{"linear_Z4":[1,1,0,0,1,1,1,1,0],"matrix_rows":[242,241,4,8,227,211,179,115,499],"offset":0,"phase":0,"quadratic_rows":[243,243,0,0,243,243,243,243,0]},"port":92,"rank":0,"right":null,"role":"source"},{"frame":875,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,4,8,17,33,65,129,257],"offset":499,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":92,"rank":0,"right":null,"role":"target"},{"frame":214,"left":{"linear_Z4":[1,1,0,1,0,1,1,1,0],"matrix_rows":[234,233,4,227,16,203,171,107,491],"offset":0,"phase":0,"quadratic_rows":[235,235,0,235,0,235,235,235,0]},"port":93,"rank":0,"right":null,"role":"source"},{"frame":959,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,4,9,16,33,65,129,257],"offset":491,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":93,"rank":0,"right":null,"role":"target"},{"frame":70,"left":{"linear_Z4":[1,1,0,1,1,0,1,1,0],"matrix_rows":[218,217,4,211,203,32,155,91,475],"offset":0,"phase":0,"quadratic_rows":[219,219,0,219,219,0,219,219,0]},"port":94,"rank":0,"right":null,"role":"source"},{"frame":893,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,4,9,17,32,65,129,257],"offset":475,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":94,"rank":0,"right":null,"role":"target"},{"frame":273,"left":{"linear_Z4":[1,1,0,1,1,1,0,1,0],"matrix_rows":[186,185,4,179,171,155,64,59,443],"offset":0,"phase":0,"quadratic_rows":[187,187,0,187,187,187,0,187,0]},"port":95,"rank":0,"right":null,"role":"source"},{"frame":977,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,4,9,17,33,64,129,257],"offset":443,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":95,"rank":0,"right":null,"role":"target"},{"frame":301,"left":{"linear_Z4":[1,1,0,1,1,1,1,0,0],"matrix_rows":[122,121,4,115,107,91,59,128,379],"offset":0,"phase":0,"quadratic_rows":[123,123,0,123,123,123,123,0,0]},"port":96,"rank":0,"right":null,"role":"source"},{"frame":995,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,4,9,17,33,65,128,257],"offset":379,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":96,"rank":0,"right":null,"role":"target"},{"frame":303,"left":{"linear_Z4":[1,1,0,1,1,1,1,0,0],"matrix_rows":[122,121,4,115,107,91,59,251,256],"offset":0,"phase":0,"quadratic_rows":[123,123,0,123,123,123,123,0,0]},"port":97,"rank":0,"right":null,"role":"source"},{"frame":850,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,4,9,17,33,65,129,256],"offset":251,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":97,"rank":0,"right":null,"role":"target"},{"frame":152,"left":{"linear_Z4":[1,1,1,0,0,1,1,1,0],"matrix_rows":[230,229,227,8,16,199,167,103,487],"offset":0,"phase":0,"quadratic_rows":[231,231,231,0,0,231,231,231,0]},"port":98,"rank":0,"right":null,"role":"source"},{"frame":928,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,8,16,33,65,129,257],"offset":487,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":98,"rank":0,"right":null,"role":"target"},{"frame":357,"left":{"linear_Z4":[1,1,1,0,1,0,1,1,0],"matrix_rows":[214,213,211,8,199,32,151,87,471],"offset":0,"phase":0,"quadratic_rows":[215,215,215,0,215,0,215,215,0]},"port":99,"rank":0,"right":null,"role":"source"},{"frame":861,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,8,17,32,65,129,257],"offset":471,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":99,"rank":0,"right":null,"role":"target"},{"frame":95,"left":{"linear_Z4":[1,1,1,0,1,1,0,1,0],"matrix_rows":[182,181,179,8,167,151,64,55,439],"offset":0,"phase":0,"quadratic_rows":[183,183,183,0,183,183,0,183,0]},"port":100,"rank":0,"right":null,"role":"source"},{"frame":910,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,8,17,33,64,129,257],"offset":439,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":100,"rank":0,"right":null,"role":"target"},{"frame":123,"left":{"linear_Z4":[1,1,1,0,1,1,1,0,0],"matrix_rows":[118,117,115,8,103,87,55,128,375],"offset":0,"phase":0,"quadratic_rows":[119,119,119,0,119,119,119,0,0]},"port":101,"rank":0,"right":null,"role":"source"},{"frame":916,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,8,17,33,65,128,257],"offset":375,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":101,"rank":0,"right":null,"role":"target"},{"frame":125,"left":{"linear_Z4":[1,1,1,0,1,1,1,0,0],"matrix_rows":[118,117,115,8,103,87,55,247,256],"offset":0,"phase":0,"quadratic_rows":[119,119,119,0,119,119,119,0,0]},"port":102,"rank":0,"right":null,"role":"source"},{"frame":829,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,8,17,33,65,129,256],"offset":247,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":102,"rank":0,"right":null,"role":"target"},{"frame":98,"left":{"linear_Z4":[1,1,1,1,0,0,1,1,0],"matrix_rows":[206,205,203,199,16,32,143,79,463],"offset":0,"phase":0,"quadratic_rows":[207,207,207,207,0,0,207,207,0]},"port":103,"rank":0,"right":null,"role":"source"},{"frame":911,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,9,16,32,65,129,257],"offset":463,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":103,"rank":0,"right":null,"role":"target"},{"frame":362,"left":{"linear_Z4":[1,1,1,1,0,1,0,1,0],"matrix_rows":[174,173,171,167,16,143,64,47,431],"offset":0,"phase":0,"quadratic_rows":[175,175,175,175,0,175,0,175,0]},"port":104,"rank":0,"right":null,"role":"source"},{"frame":860,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,9,16,33,64,129,257],"offset":431,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":104,"rank":0,"right":null,"role":"target"},{"frame":332,"left":{"linear_Z4":[1,1,1,1,0,1,1,0,0],"matrix_rows":[110,109,107,103,16,79,47,128,367],"offset":0,"phase":0,"quadratic_rows":[111,111,111,111,0,111,111,0,0]},"port":105,"rank":0,"right":null,"role":"source"},{"frame":854,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,9,16,33,65,128,257],"offset":367,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":105,"rank":0,"right":null,"role":"target"},{"frame":333,"left":{"linear_Z4":[1,1,1,1,0,1,1,0,0],"matrix_rows":[110,109,107,103,16,79,47,239,256],"offset":0,"phase":0,"quadratic_rows":[111,111,111,111,0,111,111,0,0]},"port":106,"rank":0,"right":null,"role":"source"},{"frame":856,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,9,16,33,65,129,256],"offset":239,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":106,"rank":0,"right":null,"role":"target"},{"frame":157,"left":{"linear_Z4":[1,1,1,1,1,0,0,1,0],"matrix_rows":[158,157,155,151,143,32,64,31,415],"offset":0,"phase":0,"quadratic_rows":[159,159,159,159,159,0,0,159,0]},"port":107,"rank":0,"right":null,"role":"source"},{"frame":929,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,9,17,32,64,129,257],"offset":415,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":107,"rank":0,"right":null,"role":"target"},{"frame":185,"left":{"linear_Z4":[1,1,1,1,1,0,1,0,0],"matrix_rows":[94,93,91,87,79,32,31,128,351],"offset":0,"phase":0,"quadratic_rows":[95,95,95,95,95,0,95,0,0]},"port":108,"rank":0,"right":null,"role":"source"},{"frame":947,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,9,17,32,65,128,257],"offset":351,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":108,"rank":0,"right":null,"role":"target"},{"frame":187,"left":{"linear_Z4":[1,1,1,1,1,0,1,0,0],"matrix_rows":[94,93,91,87,79,32,31,223,256],"offset":0,"phase":0,"quadratic_rows":[95,95,95,95,95,0,95,0,0]},"port":109,"rank":0,"right":null,"role":"source"},{"frame":834,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,9,17,32,65,129,256],"offset":223,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":109,"rank":0,"right":null,"role":"target"},{"frame":391,"left":{"linear_Z4":[1,1,1,1,1,1,0,0,0],"matrix_rows":[62,61,59,55,47,31,64,128,319],"offset":0,"phase":0,"quadratic_rows":[63,63,63,63,63,63,0,0,0]},"port":110,"rank":0,"right":null,"role":"source"},{"frame":864,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,9,17,33,64,128,257],"offset":319,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":110,"rank":0,"right":null,"role":"target"},{"frame":387,"left":{"linear_Z4":[1,1,1,1,1,1,0,0,0],"matrix_rows":[62,61,59,55,47,31,64,191,256],"offset":0,"phase":0,"quadratic_rows":[63,63,63,63,63,63,0,0,0]},"port":111,"rank":0,"right":null,"role":"source"},{"frame":863,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,9,17,33,64,129,256],"offset":191,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":111,"rank":0,"right":null,"role":"target"}]} \ No newline at end of file diff --git a/research/gauge44-leaver/evidence/local/CLIFFORD-REVIEW.json b/research/gauge44-leaver/evidence/local/CLIFFORD-REVIEW.json new file mode 100644 index 0000000000..6b12ae0e4b --- /dev/null +++ b/research/gauge44-leaver/evidence/local/CLIFFORD-REVIEW.json @@ -0,0 +1,19 @@ +{ + "status": "PASS_NEW_WORD_EXACT_LOCAL_PHASE_RECIPES", + "canonical_word_sha256": "92941c2b718b533f1d3addb710d261a6e2b9ec5d19f0051d79775b08cb2571ed", + "frames": 1037, + "directed_edges": 3019, + "ranks": { + "1": 2029, + "2": 394, + "3": 412, + "8": 16, + "4": 154, + "5": 14 + }, + "endpoint_adapters": 224, + "all_child_equalities_include_global_phase": true, + "recipe_sha256": "0a60293f43d88dbb1b321f02e61204afe1b6272b1346968ef35705caea1e4771", + "seconds": 198.28347681800005, + "scope": "Every local frame and center transition. Expanded scalar-interface integration and global emitted program are separate obligations." +} diff --git a/research/gauge44-leaver/evidence/local/FULL-WORD.json.gz b/research/gauge44-leaver/evidence/local/FULL-WORD.json.gz new file mode 100644 index 0000000000..447d45d08b Binary files /dev/null and b/research/gauge44-leaver/evidence/local/FULL-WORD.json.gz differ diff --git a/research/gauge44-leaver/evidence/local/INDEPENDENT-LOCAL-REPLAY.json b/research/gauge44-leaver/evidence/local/INDEPENDENT-LOCAL-REPLAY.json new file mode 100644 index 0000000000..aa15edfba5 --- /dev/null +++ b/research/gauge44-leaver/evidence/local/INDEPENDENT-LOCAL-REPLAY.json @@ -0,0 +1,71 @@ +{ + "status": "PASS_INDEPENDENT_LOCAL_SCALAR_FRAME_AND_WRAPPER_REPLAY", + "canonical_word_sha256": "92941c2b718b533f1d3addb710d261a6e2b9ec5d19f0051d79775b08cb2571ed", + "local_programs_sha256": "172dc3d23e437909ddc01d07b12ede735afbb5bb6145f1ddf5c2e03097dfebe2", + "v": 112, + "helpers": 492, + "local": { + "forward": { + "all_exact_columns": 716, + "prefix_l1_upper": "2323449462751823289130723296176889733365478515961323543/64", + "prefix_bits_upper": 175, + "charged_payload_bits": 192, + "private_work_erased": true + }, + "backward": { + "all_exact_columns": 716, + "prefix_l1_upper": "600338326363508935771850050281004728884643/32", + "prefix_bits_upper": 134, + "charged_payload_bits": 192, + "private_work_erased": true + } + }, + "paid_profiles": { + "forward": { + "1": 2514, + "4": 160, + "8": 8, + "3": 448, + "2": 404, + "5": 56 + }, + "backward": { + "1": 2514, + "4": 160, + "8": 8, + "3": 448, + "2": 404, + "5": 56 + } + }, + "entering_helpers": 204, + "cold_hyperplane_ended_helpers": 44, + "negative_controls_rejected": [ + "wrong_scale", + "missing_center", + "wrong_common_frame", + "wrong_child_rank", + "missing_pre_wrapper", + "missing_post_wrapper", + "wrapper_with_wrong_frame", + "wrapper_in_wrong_phase", + "wrapper_on_a_data_register", + "wrapper_on_a_target_register", + "wrapper_on_a_centre_register", + "hpe_pre_wrapper_resolved_to_full_recipe", + "hpe_post_wrapper_without_terminal_frame", + "hpe_post_wrapper_wrong_terminal_frame", + "hpe_tail_gate_at_full_frame", + "hpe_tail_climb_dropped", + "hpe_helper_exit_adapter_to_full", + "hpe_tail_gate_moved_into_full_cleanup", + "cold_hpe_pre_wrapper_replaced_by_identity_entry_adapter", + "cold_hpe_pre_wrapper_dropped", + "cold_hpe_post_wrapper_replaced_by_exit_adapter", + "cold_hpe_pre_wrapper_resolved_to_cold_full_convention", + "cold_hpe_wrapper_with_nonzero_entrance", + "cold_hpe_post_wrapper_wrong_terminal_frame", + "cold_hpe_premix_gate_before_pre_wrapper" + ], + "scope": "Literal forward and inverse-transpose replay on every arbitrary data/helper column, physical frame incidence, ordered paid wrappers, cleared private work and prefix coefficients. Global hosting and outer exponent are separate." +} diff --git a/research/gauge44-leaver/evidence/local/LOCAL-CHECKS.json b/research/gauge44-leaver/evidence/local/LOCAL-CHECKS.json new file mode 100644 index 0000000000..3872f0e596 --- /dev/null +++ b/research/gauge44-leaver/evidence/local/LOCAL-CHECKS.json @@ -0,0 +1,36 @@ +{ + "forward": { + "sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "scalar_macros": 41570, + "real_component_primitive_bound": 420052, + "paid_profile": { + "1": 2514, + "2": 404, + "3": 448, + "4": 160, + "5": 56, + "8": 8 + }, + "all_columns": 716, + "private_centers_cleared": true, + "private_coefficient_stream_cleared_after_each_macro": true + }, + "backward": { + "sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "scalar_macros": 41570, + "real_component_primitive_bound": 420100, + "paid_profile": { + "1": 2514, + "2": 404, + "3": 448, + "4": 160, + "5": 56, + "8": 8 + }, + "all_columns": 716, + "private_centers_cleared": true, + "private_coefficient_stream_cleared_after_each_macro": true + } +} diff --git a/research/gauge44-leaver/evidence/local/LOCAL-PROGRAMS.json.gz b/research/gauge44-leaver/evidence/local/LOCAL-PROGRAMS.json.gz new file mode 100644 index 0000000000..d511f2afa4 Binary files /dev/null and b/research/gauge44-leaver/evidence/local/LOCAL-PROGRAMS.json.gz differ diff --git a/research/gauge44-leaver/evidence/local/RESIDUAL-ADAPTERS.json b/research/gauge44-leaver/evidence/local/RESIDUAL-ADAPTERS.json new file mode 100644 index 0000000000..9c66f92ffb --- /dev/null +++ b/research/gauge44-leaver/evidence/local/RESIDUAL-ADAPTERS.json @@ -0,0 +1 @@ +{"recipes":{"0:122":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[2,2,2,3,0,0,0,0,0],"matrix_rows":[18,33,68,136,10,9,11,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,8,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[1,1,3,1,1,1,2,3,2],"matrix_rows":[50,49,388,8,97,82,260,120,384],"offset":4,"phase":1,"quadratic_rows":[81,98,132,120,57,58,11,132,0]},"terminal":122,"terminal_rank":4,"terminal_vectors":[388,75,41,26],"vectors":[]},"0:151":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[3,3,3,2,0,0,0,0,0],"matrix_rows":[30,35,69,128,270,3,5,9,1],"offset":0,"phase":0,"quadratic_rows":[9,2,4,1,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[1,2,2,0,1,2,2,3,0],"matrix_rows":[390,19,21,145,481,34,68,8,496],"offset":8,"phase":1,"quadratic_rows":[375,437,467,0,375,19,21,390,151]},"terminal":151,"terminal_rank":4,"terminal_vectors":[273,145,85,51],"vectors":[]},"0:180":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[2,2,2,3,0,0,0,0,0],"matrix_rows":[17,36,66,136,14,12,10,257,1],"offset":0,"phase":0,"quadratic_rows":[0,4,2,8,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[3,1,1,1,2,1,1,3,2],"matrix_rows":[385,100,98,8,257,82,52,120,384],"offset":1,"phase":1,"quadratic_rows":[129,50,84,120,14,106,108,129,0]},"terminal":180,"terminal_rank":4,"terminal_vectors":[385,74,44,30],"vectors":[]},"0:209":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[3,3,3,2,0,0,0,0,0],"matrix_rows":[19,45,70,141,6,256,3,10,2],"offset":0,"phase":0,"quadratic_rows":[1,10,4,2,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[2,1,2,1,2,0,2,3,0],"matrix_rows":[11,389,14,138,65,466,20,472,32],"offset":8,"phase":1,"quadratic_rows":[462,351,411,351,14,0,11,389,143]},"terminal":209,"terminal_rank":4,"terminal_vectors":[266,138,75,30],"vectors":[]},"0:238":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[3,3,2,2,0,0,0,0,0],"matrix_rows":[22,33,71,5,3,136,2,264,8],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[2,3,1,2,2,3,2,3,2],"matrix_rows":[6,5,93,416,25,82,76,288,384],"offset":15,"phase":0,"quadratic_rows":[64,86,22,0,6,160,3,160,0]},"terminal":238,"terminal_rank":4,"terminal_vectors":[416,70,19,13],"vectors":[]},"0:267":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[3,3,3,2,0,0,0,0,0],"matrix_rows":[16,46,78,131,3,261,5,9,1],"offset":0,"phase":0,"quadratic_rows":[9,2,4,1,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[0,1,1,2,2,2,2,3,0],"matrix_rows":[424,14,38,134,1,466,468,24,96],"offset":8,"phase":1,"quadratic_rows":[0,382,382,438,14,462,38,424,174]},"terminal":267,"terminal_rank":4,"terminal_vectors":[262,134,102,30],"vectors":[]},"0:296":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[3,3,2,2,0,0,0,0,0],"matrix_rows":[18,41,75,132,10,1,3,260,4],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[3,2,1,3,2,2,2,3,2],"matrix_rows":[6,5,392,118,97,82,52,264,384],"offset":15,"phase":0,"quadratic_rows":[101,32,69,136,0,3,5,136,0]},"terminal":296,"terminal_rank":4,"terminal_vectors":[392,67,37,22],"vectors":[]},"0:325":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[3,3,3,2,0,0,0,0,0],"matrix_rows":[30,46,64,131,261,5,3,9,1],"offset":0,"phase":0,"quadratic_rows":[9,2,4,1,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[1,1,0,2,2,2,2,3,0],"matrix_rows":[408,11,19,131,481,482,4,72,48],"offset":8,"phase":1,"quadratic_rows":[379,379,0,467,427,19,11,408,155]},"terminal":325,"terminal_rank":4,"terminal_vectors":[259,131,75,51],"vectors":[]},"0:35":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[3,3,2,2,0,0,0,0,0],"matrix_rows":[22,37,67,7,1,2,136,264,8],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[2,2,2,2,2,2,3,3,2],"matrix_rows":[6,5,59,448,25,42,52,320,384],"offset":15,"phase":0,"quadratic_rows":[38,21,51,0,6,5,192,192,0]},"terminal":35,"terminal_rank":4,"terminal_vectors":[448,38,21,11],"vectors":[]},"0:354":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[3,3,3,2,0,0,0,0,0],"matrix_rows":[30,35,69,142,256,5,3,9,1],"offset":0,"phase":0,"quadratic_rows":[9,2,4,1,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[1,2,2,1,0,2,2,3,0],"matrix_rows":[390,11,13,137,481,66,36,488,16],"offset":8,"phase":1,"quadratic_rows":[367,461,427,367,0,13,11,390,143]},"terminal":354,"terminal_rank":4,"terminal_vectors":[265,137,75,45],"vectors":[]},"0:383":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[2,2,2,3,0,0,0,0,0],"matrix_rows":[20,34,65,136,12,13,9,258,2],"offset":0,"phase":0,"quadratic_rows":[4,0,1,8,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[1,3,1,1,1,2,1,3,2],"matrix_rows":[84,386,81,8,97,258,52,120,384],"offset":2,"phase":1,"quadratic_rows":[49,130,100,120,89,13,92,130,0]},"terminal":383,"terminal_rank":4,"terminal_vectors":[386,73,45,28],"vectors":[]},"0:412":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[3,3,3,2,0,0,0,0,0],"matrix_rows":[21,38,75,139,6,5,256,12,4],"offset":0,"phase":0,"quadratic_rows":[1,2,12,4,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[2,2,1,1,2,2,0,3,0],"matrix_rows":[13,14,387,140,33,18,436,440,64],"offset":8,"phase":1,"quadratic_rows":[430,413,319,319,14,13,0,387,143]},"terminal":412,"terminal_rank":4,"terminal_vectors":[268,140,45,30],"vectors":[]},"0:64":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[3,3,3,2,0,0,0,0,0],"matrix_rows":[30,32,78,131,261,3,5,9,1],"offset":0,"phase":0,"quadratic_rows":[9,2,4,1,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[1,0,1,2,2,2,2,3,0],"matrix_rows":[408,13,21,133,481,2,484,40,80],"offset":8,"phase":1,"quadratic_rows":[381,0,381,437,461,13,21,408,157]},"terminal":64,"terminal_rank":4,"terminal_vectors":[261,133,85,45],"vectors":[]},"0:93":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[3,3,2,2,0,0,0,0,0],"matrix_rows":[18,37,71,6,136,3,1,264,8],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[3,2,1,2,3,2,2,3,2],"matrix_rows":[6,5,110,400,97,42,76,272,384],"offset":15,"phase":0,"quadratic_rows":[101,64,37,0,144,5,3,144,0]},"terminal":93,"terminal_rank":4,"terminal_vectors":[400,69,35,14],"vectors":[]},"2":{"entrance_rank":1,"frame":2,"left":{"linear_Z4":[3,3,2,3,2,2,3,3,0],"matrix_rows":[257,2,4,8,16,32,64,128,203],"offset":0,"phase":0,"quadratic_rows":[203,203,0,203,0,0,203,203,0]},"rank":8,"right":{"linear_Z4":[0,0,2,0,2,2,0,0,0],"matrix_rows":[1,258,4,264,16,32,320,384,256],"offset":309,"phase":3,"quadratic_rows":[256,256,0,256,0,0,256,256,203]},"vectors":[459]},"3":{"entrance_rank":1,"frame":3,"left":{"linear_Z4":[3,3,2,3,2,2,2,2,0],"matrix_rows":[257,2,4,8,16,32,11,64,128],"offset":0,"phase":0,"quadratic_rows":[11,11,0,11,0,0,0,0,0]},"rank":8,"right":{"linear_Z4":[0,0,2,0,2,2,0,2,2],"matrix_rows":[1,66,4,72,16,32,128,256,64],"offset":244,"phase":1,"quadratic_rows":[64,64,0,64,0,0,11,0,0]},"vectors":[75]},"4":{"entrance_rank":1,"frame":4,"left":{"linear_Z4":[2,3,3,2,2,3,2,2,0],"matrix_rows":[1,258,4,8,16,32,38,64,128],"offset":0,"phase":0,"quadratic_rows":[0,38,38,0,0,38,0,0,0]},"rank":8,"right":{"linear_Z4":[2,0,0,2,2,0,0,2,2],"matrix_rows":[1,2,68,8,16,96,128,256,64],"offset":217,"phase":1,"quadratic_rows":[0,64,64,0,0,64,38,0,0]},"vectors":[102]},"421":{"entrance_rank":1,"frame":421,"left":{"linear_Z4":[3,2,3,3,2,2,2,2,0],"matrix_rows":[257,2,4,8,16,13,32,64,128],"offset":0,"phase":0,"quadratic_rows":[13,0,13,13,0,0,0,0,0]},"rank":8,"right":{"linear_Z4":[0,2,0,0,2,0,2,2,2],"matrix_rows":[1,2,36,40,16,64,128,256,32],"offset":242,"phase":1,"quadratic_rows":[32,0,32,32,0,13,0,0,0]},"vectors":[45]},"421:1034":{"entrance_rank":1,"frame":421,"left":{"linear_Z4":[3,2,3,2,2,2,2,0,0],"matrix_rows":[128,2,261,1,8,4,16,32,64],"offset":0,"phase":0,"quadratic_rows":[5,0,5,0,0,0,0,0,0]},"rank":7,"right":{"linear_Z4":[2,2,0,3,2,3,2,2,2],"matrix_rows":[44,2,4,16,64,128,256,13,32],"offset":511,"phase":1,"quadratic_rows":[12,0,1,41,0,40,0,0,0]},"terminal":1034,"terminal_rank":8,"terminal_vectors":[256,128,64,33,16,9,5,2],"vectors":[45]},"422":{"entrance_rank":1,"frame":422,"left":{"linear_Z4":[3,3,2,2,3,2,2,2,0],"matrix_rows":[257,2,4,8,16,19,32,64,128],"offset":0,"phase":0,"quadratic_rows":[19,19,0,0,19,0,0,0,0]},"rank":8,"right":{"linear_Z4":[0,0,2,2,0,0,2,2,2],"matrix_rows":[1,34,4,8,48,64,128,256,32],"offset":236,"phase":1,"quadratic_rows":[32,32,0,0,32,19,0,0,0]},"vectors":[51]},"422:1035":{"entrance_rank":1,"frame":422,"left":{"linear_Z4":[3,3,2,2,2,2,2,0,0],"matrix_rows":[128,259,4,8,1,2,16,32,64],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"rank":7,"right":{"linear_Z4":[2,0,2,2,3,3,2,2,2],"matrix_rows":[50,2,4,8,64,128,256,19,32],"offset":511,"phase":1,"quadratic_rows":[18,1,0,0,49,48,0,0,0]},"terminal":1035,"terminal_rank":8,"terminal_vectors":[256,128,64,33,17,8,4,3],"vectors":[51]},"423":{"entrance_rank":1,"frame":423,"left":{"linear_Z4":[2,3,3,3,2,2,2,2,0],"matrix_rows":[1,258,4,8,14,16,32,64,128],"offset":0,"phase":0,"quadratic_rows":[0,14,14,14,0,0,0,0,0]},"rank":8,"right":{"linear_Z4":[2,0,0,0,0,2,2,2,2],"matrix_rows":[1,2,20,24,32,64,128,256,16],"offset":241,"phase":1,"quadratic_rows":[0,16,16,16,14,0,0,0,0]},"vectors":[30]},"423:1036":{"entrance_rank":1,"frame":423,"left":{"linear_Z4":[2,3,3,2,2,2,2,0,0],"matrix_rows":[1,128,262,2,4,8,16,32,64],"offset":0,"phase":0,"quadratic_rows":[0,6,6,0,0,0,0,0,0]},"rank":7,"right":{"linear_Z4":[2,2,0,3,3,2,2,2,2],"matrix_rows":[1,28,4,32,64,128,256,14,16],"offset":511,"phase":1,"quadratic_rows":[0,12,2,26,24,0,0,0,0]},"terminal":1036,"terminal_rank":8,"terminal_vectors":[256,128,64,32,18,10,6,1],"vectors":[30]},"424":{"entrance_rank":4,"frame":424,"left":{"linear_Z4":[2,3,2,2,3,0,0,0,0],"matrix_rows":[33,65,2,132,264,8,4,16,31],"offset":0,"phase":0,"quadratic_rows":[30,31,27,23,31,0,0,0,0]},"rank":5,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,260,264,272,384,352,354,64,32],"offset":429,"phase":0,"quadratic_rows":[96,0,256,320,288,17,9,256,156]},"vectors":[413,72,48,3]},"425":{"entrance_rank":4,"frame":425,"left":{"linear_Z4":[2,2,2,3,3,0,0,0,0],"matrix_rows":[33,66,132,257,8,4,2,16,31],"offset":0,"phase":0,"quadratic_rows":[30,29,27,31,31,0,0,0,0]},"rank":5,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,258,260,272,384,352,64,32,360],"offset":231,"phase":0,"quadratic_rows":[96,320,288,0,256,5,3,256,150]},"vectors":[407,66,36,9]},"426":{"entrance_rank":4,"frame":426,"left":{"linear_Z4":[2,2,2,3,3,0,0,0,0],"matrix_rows":[33,66,132,260,2,1,8,16,31],"offset":0,"phase":0,"quadratic_rows":[30,29,27,31,31,0,0,0,0]},"rank":5,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,258,260,320,384,32,16,304,312],"offset":231,"phase":0,"quadratic_rows":[288,272,48,0,6,5,256,256,195]},"vectors":[455,33,18,12]},"427":{"entrance_rank":4,"frame":427,"left":{"linear_Z4":[2,2,2,3,3,0,0,0,0],"matrix_rows":[33,66,4,136,16,13,21,258,2],"offset":0,"phase":0,"quadratic_rows":[24,0,24,13,21,0,0,0,0]},"rank":5,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[33,258,100,72,80,64,256,96,384],"offset":66,"phase":0,"quadratic_rows":[96,0,96,32,64,13,21,0,0]},"vectors":[258,130,85,45]},"428":{"entrance_rank":4,"frame":428,"left":{"linear_Z4":[2,3,3,2,2,0,0,0,0],"matrix_rows":[33,66,4,136,16,19,21,264,8],"offset":0,"phase":0,"quadratic_rows":[6,19,21,0,6,0,0,0,0]},"rank":5,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[33,66,68,264,112,64,96,256,384],"offset":136,"phase":0,"quadratic_rows":[96,32,64,0,96,19,21,0,0]},"vectors":[264,136,85,51]},"429":{"entrance_rank":4,"frame":429,"left":{"linear_Z4":[3,2,2,2,3,0,0,0,0],"matrix_rows":[33,66,2,132,4,264,8,16,31],"offset":0,"phase":0,"quadratic_rows":[31,29,27,23,31,0,0,0,0]},"rank":5,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[85,258,264,288,384,340,4,16,64],"offset":462,"phase":0,"quadratic_rows":[256,260,258,272,264,320,288,256,255]},"vectors":[427,96,24,6]},"430":{"entrance_rank":4,"frame":430,"left":{"linear_Z4":[2,2,2,3,3,0,0,0,0],"matrix_rows":[33,66,132,258,4,8,1,16,31],"offset":0,"phase":0,"quadratic_rows":[30,29,27,31,31,0,0,0,0]},"rank":5,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,258,260,288,384,64,336,16,344],"offset":231,"phase":0,"quadratic_rows":[320,80,272,0,6,256,3,256,165]},"vectors":[423,65,20,10]},"431":{"entrance_rank":4,"frame":431,"left":{"linear_Z4":[2,2,2,3,3,0,0,0,0],"matrix_rows":[33,66,4,136,14,16,22,257,1],"offset":0,"phase":0,"quadratic_rows":[0,24,24,14,22,0,0,0,0]},"rank":5,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,18,84,72,96,256,64,80,384],"offset":33,"phase":0,"quadratic_rows":[0,80,80,16,14,64,38,0,0]},"vectors":[257,129,102,30]},"432":{"entrance_rank":4,"frame":432,"left":{"linear_Z4":[2,2,2,3,3,0,0,0,0],"matrix_rows":[33,66,132,264,1,2,4,16,31],"offset":0,"phase":0,"quadratic_rows":[30,29,27,31,31,0,0,0,0]},"rank":5,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[257,258,260,120,384,16,32,64,368],"offset":231,"phase":0,"quadratic_rows":[272,288,320,256,257,258,260,256,255]},"vectors":[399,68,34,17]},"433":{"entrance_rank":4,"frame":433,"left":{"linear_Z4":[2,3,2,2,3,0,0,0,0],"matrix_rows":[33,66,1,132,264,4,8,16,31],"offset":0,"phase":0,"quadratic_rows":[30,31,27,23,31,0,0,0,0]},"rank":5,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[257,102,264,272,384,4,356,32,64],"offset":429,"phase":0,"quadratic_rows":[260,256,257,288,320,264,272,256,255]},"vectors":[411,80,40,5]},"434":{"entrance_rank":4,"frame":434,"left":{"linear_Z4":[2,3,3,2,2,0,0,0,0],"matrix_rows":[33,66,4,8,144,13,11,272,16],"offset":0,"phase":0,"quadratic_rows":[6,11,13,6,0,0,0,0,0]},"rank":5,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[65,34,36,104,272,32,96,256,384],"offset":144,"phase":0,"quadratic_rows":[96,64,32,96,0,13,11,0,0]},"vectors":[272,144,75,45]},"435":{"entrance_rank":4,"frame":435,"left":{"linear_Z4":[3,3,2,2,2,0,0,0,0],"matrix_rows":[33,66,4,8,14,13,144,272,16],"offset":0,"phase":0,"quadratic_rows":[13,14,3,3,0,0,0,0,0]},"rank":5,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[1,2,52,56,320,32,16,256,384],"offset":144,"phase":0,"quadratic_rows":[32,16,48,48,14,13,0,0,0]},"vectors":[320,192,45,30]},"436":{"entrance_rank":5,"frame":436,"left":{"linear_Z4":[3,2,2,2,0,0,0,0,0],"matrix_rows":[17,34,67,4,5,136,7,264,8],"offset":0,"phase":0,"quadratic_rows":[1,4,2,0,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[0,2,0,0,3,0,3,0,2],"matrix_rows":[1,82,88,288,16,80,68,256,384],"offset":249,"phase":2,"quadratic_rows":[16,0,0,80,89,0,88,0,0]},"vectors":[288,160,75,25,7]},"437":{"entrance_rank":5,"frame":437,"left":{"linear_Z4":[2,2,2,3,0,0,0,0,0],"matrix_rows":[17,34,68,136,9,10,11,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,8,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[0,0,0,2,1,1,0,0,2],"matrix_rows":[49,50,260,8,96,80,256,112,384],"offset":127,"phase":1,"quadratic_rows":[80,96,0,112,57,58,11,0,0]},"vectors":[260,132,75,42,25]},"5":{"entrance_rank":1,"frame":5,"left":{"linear_Z4":[2,2,2,3,3,3,2,2,0],"matrix_rows":[1,2,4,264,16,32,56,64,128],"offset":0,"phase":0,"quadratic_rows":[0,0,0,56,56,56,0,0,0]},"rank":8,"right":{"linear_Z4":[2,2,2,0,0,0,0,2,2],"matrix_rows":[1,2,4,8,80,96,128,256,64],"offset":199,"phase":1,"quadratic_rows":[0,0,0,64,64,64,56,0,0]},"vectors":[120]},"6":{"entrance_rank":1,"frame":6,"left":{"linear_Z4":[3,2,3,2,3,2,2,2,0],"matrix_rows":[257,2,4,8,16,32,21,64,128],"offset":0,"phase":0,"quadratic_rows":[21,0,21,0,21,0,0,0,0]},"rank":8,"right":{"linear_Z4":[0,2,0,2,0,2,0,2,2],"matrix_rows":[1,2,68,8,80,32,128,256,64],"offset":234,"phase":1,"quadratic_rows":[64,0,64,0,64,0,21,0,0]},"vectors":[85]}},"status":"RESIDUAL_ADAPTER_RECIPES"} diff --git a/research/gauge44-leaver/evidence/local/SCALAR-FRAME-AUDIT.json b/research/gauge44-leaver/evidence/local/SCALAR-FRAME-AUDIT.json new file mode 100644 index 0000000000..23bf3d263e --- /dev/null +++ b/research/gauge44-leaver/evidence/local/SCALAR-FRAME-AUDIT.json @@ -0,0 +1,654 @@ +{ + "status": "PASS_CHANGED_WORD_ALL_COLUMNS_AND_NATIVE_FRAMES", + "input_content_sha256": "78c7aadacb6eec2eeecc124ca236e5bcfdba6a52b30c2971aaa596d1d119b290", + "routing_content_sha256": "7c84ac65c8b37173aa4293934f041915895e8ec30595844cc1534e2a19ae0d25", + "canonical_content_sha256": "e6daee410e04d5e023faf21144081534ad222d334ce786e6b5f52407e6b3c41f", + "live_columns_each_orientation": 716, + "helpers": 492, + "compensation_additions": 7348, + "scalar_operations": 41546, + "center_rank_sum": 64, + "local_profile": { + "1": 2514, + "2": 404, + "3": 448, + "4": 160, + "5": 56, + "8": 8 + }, + "local_rank_mass": 5650, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 9, + 8, + 9, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ], + "frames": 1037, + "directed_edges": 3019, + "tau": 43, + "target_port_order_matches_baseline": true, + "seconds": 4.39260065399958, + "scope": "Fresh exact forward and inverse-transpose scalar replay on every arbitrary input; all native frame chains and dyadic primitives. Phase lowering, wrappers, global owners and global assembly are separate.", + "hyperplane_ended_helpers": [ + 225, + 227, + 241, + 243, + 257, + 259, + 273, + 275, + 277, + 282, + 289, + 291, + 293, + 298, + 305, + 307, + 309, + 314, + 321, + 323, + 325, + 330, + 337, + 339, + 341, + 346, + 353, + 355, + 357, + 362, + 369, + 371, + 373, + 378, + 385, + 387, + 389, + 394, + 401, + 403, + 417, + 419, + 433, + 435, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 467, + 468, + 477, + 490, + 491, + 514, + 515, + 538, + 539, + 562, + 563, + 574, + 583, + 584, + 593, + 594, + 595, + 596, + 598, + 600, + 601, + 602, + 603 + ], + "early_cleanup_gates": 94, + "cold_hyperplane_ended_helpers": [ + 225, + 227, + 241, + 243, + 257, + 259, + 273, + 275, + 277, + 282, + 289, + 291, + 293, + 298, + 305, + 307, + 309, + 314, + 321, + 323, + 325, + 330, + 337, + 339, + 341, + 346, + 353, + 355, + 357, + 362, + 369, + 371, + 373, + 378, + 385, + 387, + 389, + 394, + 401, + 403, + 417, + 419, + 433, + 435 + ], + "refactored_cleanup_gates": 28150, + "refactored_cleanup": { + "exact_non_target_isolation_checked": true, + "high_inverse": "dyadic_sparse_Gauss_Jordan", + "kind": "source_branch_gauge_and_retired_completion_cold44", + "new_cold_ends": 44 + } +} diff --git a/research/gauge44-leaver/evidence/local/WRAPPER-CHECKS.json b/research/gauge44-leaver/evidence/local/WRAPPER-CHECKS.json new file mode 100644 index 0000000000..a18afd4fad --- /dev/null +++ b/research/gauge44-leaver/evidence/local/WRAPPER-CHECKS.json @@ -0,0 +1,413 @@ +{ + "status": "PASS_RESIDUAL_WRAPPERS_ARE_EXACT", + "frames": 22, + "hyperplane_end_pairs": [ + { + "frame": 0, + "terminal": 35, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 0, + "terminal": 64, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 0, + "terminal": 93, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 0, + "terminal": 122, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 0, + "terminal": 151, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 0, + "terminal": 180, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 0, + "terminal": 209, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 0, + "terminal": 238, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 0, + "terminal": 267, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 0, + "terminal": 296, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 0, + "terminal": 325, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 0, + "terminal": 354, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 0, + "terminal": 383, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 0, + "terminal": 412, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 421, + "terminal": 1034, + "entrance_rank": 1, + "terminal_rank": 8, + "residual_width": 7 + }, + { + "frame": 422, + "terminal": 1035, + "entrance_rank": 1, + "terminal_rank": 8, + "residual_width": 7 + }, + { + "frame": 423, + "terminal": 1036, + "entrance_rank": 1, + "terminal_rank": 8, + "residual_width": 7 + } + ], + "cold_hyperplane_end_pairs": 14, + "wrappers_reject": [ + "wrong global phase", + "wrong translation", + "wrong quadratic form", + "sides swapped", + "wrong width", + "hpe: U-wrapper decoded against a FULL ending", + "hpe: width misreported as 9 - dim E", + "hpe: wrong terminal hyperplane", + "hpe: pre wrapper resolved to the FULL recipe R_{E,FULL}", + "hpe: wrong global phase", + "cold hpe: identity pre wrapper instead of R_{0,U}", + "cold hpe: identity post wrapper instead of L_{0,U}", + "cold hpe: no wrappers (cold FULL convention L = R = I)", + "cold hpe: U-wrapper decoded against a FULL ending", + "cold hpe: width misreported as 9", + "cold hpe: wrong terminal hyperplane", + "cold hpe: wrong global phase" + ], + "all_even_weight": false, + "all_totally_isotropic": false, + "detail": [ + { + "frame": 2, + "entrance_rank": 1, + "residual_width": 8, + "vectors": [ + 459 + ], + "all_even_weight": true, + "totally_isotropic": true + }, + { + "frame": 3, + "entrance_rank": 1, + "residual_width": 8, + "vectors": [ + 75 + ], + "all_even_weight": true, + "totally_isotropic": true + }, + { + "frame": 4, + "entrance_rank": 1, + "residual_width": 8, + "vectors": [ + 102 + ], + "all_even_weight": true, + "totally_isotropic": true + }, + { + "frame": 5, + "entrance_rank": 1, + "residual_width": 8, + "vectors": [ + 120 + ], + "all_even_weight": true, + "totally_isotropic": true + }, + { + "frame": 6, + "entrance_rank": 1, + "residual_width": 8, + "vectors": [ + 85 + ], + "all_even_weight": true, + "totally_isotropic": true + }, + { + "frame": 421, + "entrance_rank": 1, + "residual_width": 8, + "vectors": [ + 45 + ], + "all_even_weight": true, + "totally_isotropic": true + }, + { + "frame": 422, + "entrance_rank": 1, + "residual_width": 8, + "vectors": [ + 51 + ], + "all_even_weight": true, + "totally_isotropic": true + }, + { + "frame": 423, + "entrance_rank": 1, + "residual_width": 8, + "vectors": [ + 30 + ], + "all_even_weight": true, + "totally_isotropic": true + }, + { + "frame": 424, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 413, + 72, + 48, + 3 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 425, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 407, + 66, + 36, + 9 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 426, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 455, + 33, + 18, + 12 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 427, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 258, + 130, + 85, + 45 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 428, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 264, + 136, + 85, + 51 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 429, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 427, + 96, + 24, + 6 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 430, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 423, + 65, + 20, + 10 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 431, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 257, + 129, + 102, + 30 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 432, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 399, + 68, + 34, + 17 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 433, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 411, + 80, + 40, + 5 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 434, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 272, + 144, + 75, + 45 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 435, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 320, + 192, + 45, + 30 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 436, + "entrance_rank": 5, + "residual_width": 4, + "vectors": [ + 288, + 160, + 75, + 25, + 7 + ], + "all_even_weight": false, + "totally_isotropic": false + }, + { + "frame": 437, + "entrance_rank": 5, + "residual_width": 4, + "vectors": [ + 260, + 132, + 75, + 42, + 25 + ], + "all_even_weight": false, + "totally_isotropic": false + } + ] +} diff --git a/research/gauge44-leaver/hosting/PROOF.md b/research/gauge44-leaver/hosting/PROOF.md new file mode 100644 index 0000000000..b551b6d3e5 --- /dev/null +++ b/research/gauge44-leaver/hosting/PROOF.md @@ -0,0 +1,237 @@ +# Exact owner reuse and concave-cost matching + +## 1. Objects and interface assumptions + +The parent controller has 72 ordered calls, 112 source ports, 112 target ports, +and 492 helper roles per call. The ambient dimension is 73. A pending-child +group is a triple + +$$ +g=(\text{owner replica},\text{child},\text{port}). +$$ + +The parent window catalogue gives group capacity $C_g$, together with the call +times at which its physical stream is idle. The map from a group to its +physical family is + +$$ +F(g)=896\,\text{owner replica} + +112(2\,\text{pair(child)}+\text{side(child)})+\text{port}. +$$ + +At every call in this particular parent geometry, at most one pending child of +a physical family is eligible. Both the matcher and the independent frozen +audit check this condition. They also exclude both active data families of the +call. Consequently, injective assignment to eligible groups is equivalent to +assignment to distinct idle physical families at that call. + +Helper $h$ requests an integer width $w_h$, read afresh from the new local +word as the final-frame dimension minus the start-frame dimension. Native +program profiles are also recomputed from their paid edges. The finite local +compiler supplies the normalized helper chart and verifies its warm-start +semantics. A hosted width is a reservation in the pending child's address +coordinates on an existing physical stream; it is not a new physical stream. + +This proof concerns the discrete assignment and its moment contribution. It +uses the parent windows as input. Independent global admission must verify +those windows against the actual controller and construct the actual +73-column charts for the fresh native local word. + +## 2. Feasible shrinking on the original families + +For one call, sort the old slot widths and the new helper widths increasingly, +breaking ties by the old or new helper number. Suppose the new width in each +position is no larger than its matched old width. Assign that helper to the +matched old slot. + +This operation preserves the call time, stage, replica, pending child, port, +owner replica, and physical family. It preserves the set of 492 distinct +helper-owner families at the call, so the old window and active-data +exclusions still hold. In each pending-child group, the sum of new widths is +no larger than the old sum, hence remains within capacity. + +Now order the assignments in each group consistently and replace their +offsets by consecutive prefix sums. The occupied sets become pairwise +disjoint intervals whose union is exactly a prefix of length +$U_g=\sum w_h\le C_g$. The idle child retains rank $C_g-U_g$, with pending +offset $U_g$. Thus the shrinking operation has a direct capacity proof; it +requires neither an owner solver nor any change to the controller. + +The seed constructor applies this termwise argument to the 71 former `jp8` +calls. It keeps the remaining `ck` call provisionally unchanged. Two optional +fixed-family assignment passes redistribute the available capacity before +freezing the seed. Their result is audited using the same integer constraints. + +## 3. One call with all other calls fixed + +Fix one call $t$. Remove its existing assignments while keeping every other +call fixed. For each eligible group, define the available capacity + +$$ +c_g=C_g-\sum_{\substack{\text{assignments in }g\\\text{from calls other than }t}}w. +$$ + +The call must assign each of its 492 widths to a distinct eligible group with +$w\le c_g$. Unused groups can be viewed as receiving a dummy width zero. +After the assignment, group $g$'s idle rank is $c_g-w_g$. For any function +$\phi$, the portion of the idle objective affected by the call is exactly + +$$ +\sum_{g\text{ eligible at }t}\phi(c_g-w_g). +$$ + +All other idle contributions, and all local paid-edge contributions, are +constant in this single-call problem. + +### Greedy rule + +Sort eligible capacities increasingly. At each capacity, assign the largest +remaining helper width that fits; assign zero if none fits. Continue through +the remaining capacities. + +This rule has no floating parameter. Equal-capacity tie choices are used only +to limit changes to physical owners and make the artifact deterministic. + +### Exchange lemma + +Take two capacities $c_1\le c_2$ and two widths $w_1\le w_2\le c_1$. The +assignment of $w_1$ to $c_1$ and $w_2$ to $c_2$ has residual pair + +$$ +(c_1-w_1,\ c_2-w_2). +$$ + +Exchange the widths. Feasibility is preserved, and the new pair is + +$$ +(c_1-w_2,\ c_2-w_1). +$$ + +The total is unchanged. The first new component is no larger than either old +component, and the second is no smaller than either old component. Therefore +the new pair majorizes the old pair. Every concave $\phi$ has weakly smaller +sum on the new pair. + +### Consequence: feasibility and optimality + +Start from any feasible complete assignment. At the smallest remaining +capacity, its assigned width is no larger than the largest remaining width +that fits. The greedy width occurs at some later capacity. If the two differ, +the exchange lemma moves that width to the current capacity while preserving +feasibility and weakly decreasing every concave objective. Fix this first +position and repeat on the suffix. Dummy zero widths cover unused groups. + +Thus the greedy procedure succeeds whenever a feasible assignment exists, and +its remainder vector majorizes that of every feasible assignment. It +simultaneously minimizes every concave remainder objective for this call. +This proof depends on the absence of any eligibility restriction beyond the +capacity and the already fixed call window; that property is explicitly +checked for the present geometry. + +## 4. Exact majorization receipts + +Let $a_r$ and $b_r$ be the old and new remainder histograms for one update, +including zero remainders. When the helper-width multiset is unchanged, their +total numbers of groups and total ranks agree. Every remainder lies between +0 and 48. The implementation checks, with integers, that for each +$k=0,1,\ldots,48$, + +$$ +\sum_r b_r\max(r-k,0) +\;\ge\; +\sum_r a_r\max(r-k,0). +$$ + +These are the stored stop-loss margins. Between integer breakpoints the +difference is linear, so checking all integer breakpoints checks every real +threshold. With equal sums and equal lengths, the inequalities are the +standard majorization criterion: the new vector majorizes the old one. + +The transcript contains 288 such equal-width updates: four passes through 72 +calls. A single preceding update replaces the seed's last `ck` width multiset. +That bootstrap has different total width, so it is checked for exact +feasibility and is not represented as an equal-sum majorization step. + +`reproduce.py` reruns every update and compares the full transcript's semantic +hash. Independently, `audit_frozen.py` removes each final call in turn, computes +all available capacities directly from the frozen owner map, runs a separate +histogram-only greedy calculation, and verifies that it returns exactly the +existing remainder histogram. This checks all 72 final coordinate optima +without relying on the transcript or the discovery seed. + +## 5. Relation to the global moment + +For ambient dimension $M=73$, define + +$$ +\phi_b(r)=r\bigl((73/r)^b-1\bigr) + =73^b r^{1-b}-r,\qquad \phi_b(0)=0. +$$ + +For $0 used[g]) + paid = Counter({r: 72*n for r, n in sig['profile'].items()}) + paid.update(idle) + + # Independent cost-level fixed-point check. No helper-ID or family-ID + # tie-breaking is needed: equal capacities give the same histogram. + for t in range(72): + old = {g: w for g, w in bycall[t].values()} + assert len(old) == R + before = Counter(caps[g]-used[g] for g in eligible[t]) + available = sorted(caps[g]-used[g]+old.get(g, 0) for g in eligible[t]) + want = Counter(sig['widths']) + after = Counter() + for cap in available: + width = next((w for w in sorted(want, reverse=True) if want[w] and w <= cap), 0) + if width: + want[width] -= 1 + after[cap-width] += 1 + assert not any(want.values()), 'Greedy assignment unexpectedly infeasible' + assert after == before, ('Frozen map is not callwise optimal', t) + mass = sum(r*n for r, n in paid.items()) + assert 73*7168-mass == 2560 and max(paid) == 48 + return { + 'roles': len(owners), 'calls': 72, 'fixed_point_calls_checked': 72, + 'remainder_profile': dict(sorted(idle.items())), + 'global_profile': dict(sorted(paid.items())), + 'rank_mass': mass, 'deficit': 2560, 'maxchild': 48, + 'all_footprints_disjoint_compacted_prefixes': True, + 'all_helper_families_idle_and_outside_active_data': True, + 'one_helper_per_physical_family_per_call': True, + 'every_call_optimal_for_every_concave_remainder_cost': True, + 'global_optimality_claimed': False, + } + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + add_inputs(parser) + parser.add_argument('--owners', type=Path, default=HERE/'frozen/OWNERS.json.gz') + parser.add_argument('--majorization', type=Path, default=HERE/'frozen/MAJORIZATION.json.gz') + parser.add_argument('--out', type=Path, required=True) + args = parser.parse_args() + manifest = read(HERE/'frozen/MANIFEST.json') + plan, sig, provider_path = bound_inputs(args, manifest) + assert semantic_sha(args.owners) == manifest['artifacts']['OWNERS.json.gz']['semantic_sha256'] + assert semantic_sha(args.majorization) == manifest['artifacts']['MAJORIZATION.json.gz']['semantic_sha256'] + result = audit(plan, sig, read(args.owners)) + for key in ('remainder_profile', 'global_profile'): + assert result[key] == {int(r): n for r, n in manifest[key].items()} + moves = read(args.majorization) + checked = 0 + for move in moves: + if move['equal_width_multiset']: + margins = move['integer_stoploss_margins'] + assert len(margins) == 49 and all(type(x) is int and x >= 0 for x in margins) + assert margins[0] == margins[-1] == 0 + assert move['strict_majorization'] == bool(any(margins)) + checked += 1 + else: + assert move['bootstrap'] and move['integer_stoploss_margins'] is None + assert checked == 288 and len(moves) == 289 + result.update({ + 'status': 'PASS_FROZEN_HOSTING_AND_ALL_72_CALLWISE_FIXED_POINTS', + 'parent_plan_sha256': sha(args.parent_plan), + 'parent_owners_sha256': sha(args.parent_owners), + 'owners_semantic_sha256': semantic_sha(args.owners), + 'majorization_semantic_sha256': semantic_sha(args.majorization), + 'stored_integer_majorization_steps': checked, + 'majorization_replay': 'reproduce.py re-executes every step; this audit separately checks the final fixed point.', + 'remaining_scope': 'The package global verifier checks fresh local algebra, phases, windows, invoice, moment, and outer assembly.', + }) + args.out.parent.mkdir(parents=True, exist_ok=True) + args.out.write_text(json.dumps(result, indent=2)+'\n') + print(json.dumps(result, indent=2)) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-leaver/hosting/expand_owners.py b/research/gauge44-leaver/hosting/expand_owners.py new file mode 100644 index 0000000000..ee6c4c24e6 --- /dev/null +++ b/research/gauge44-leaver/hosting/expand_owners.py @@ -0,0 +1,186 @@ +"""Exact callwise concave-cost owner matching over every legal idle family. + +This is a finite integer nomination algorithm, not a MILP. Each greedy +matching is optimal for every concave remainder cost. Its majorization +receipt is checked with integers, independently of floating root screens. +""" +from collections import Counter, defaultdict, deque +from pathlib import Path +import argparse +import gzip +import hashlib +import json +import time + +from reuse_owners import read, packed, sha, signature, audit_roles, rate + + +def stoploss(hist,k):return sum(n*max(r-k,0) for r,n in hist.items()) + + +def main(): + ap=argparse.ArgumentParser(description=__doc__) + ap.add_argument('--plan',type=Path,required=True) + ap.add_argument('--owners',type=Path,required=True) + ap.add_argument('--signature',action='append',required=True,help='Existing PID=verified native directory or raw/signature JSON') + ap.add_argument('--max-passes',type=int,default=8) + ap.add_argument('--out',type=Path,required=True) + a=ap.parse_args();assert 1<=a.max_passes<=12 + a.out.mkdir(parents=True,exist_ok=False);beg=time.monotonic() + plan,oldroles=read(a.plan),read(a.owners);V,M=112,73 + assert (plan['K'],plan['T'],plan['M'],plan['L'])==(4,8,73,9) + sig={pid:{'widths':desc['widths'],'profile':{int(r):n for r,n in desc['actual_paid_profile'].items()},'source':'input PLAN'} for pid,desc in plan['provider_registry'].items()} + for spec in a.signature: + pid,path=spec.split('=',1);assert pid in sig;sig[pid]=signature(path) + R=len(next(iter(sig.values()))['widths']) + for s in sig.values(): + assert len(s['widths'])==R and all(type(w) is int and 0used[g]) + + def total_profile(): + p=Counter() + for c in plan['provider_calls']:p.update(sig[c['provider']]['profile']) + p.update(idle_profile());assert M*plan['live']-sum(r*n for r,n in p.items())==2560 + return p + + def update(call,bootstrap=False): + t=calls[call]['time'];gs=eligible[t] + old=current[call] + old_by_group={g:(h,w) for h,(g,w) in old.items()} + assert len(old_by_group)==R and set(old_by_group)<=set(gs) + oldhist=Counter(caps[g]-used[g] for g in gs) + for g,(h,w) in old_by_group.items():used[g]-=w + want=defaultdict(set) + for h,w in enumerate(widths[call]):want[w].add(h) + # Equal-capacity opportunities have identical costs. Preserve old + # matching widths first, then old owners, and finally family order. + buckets=defaultdict(lambda:defaultdict(deque)) + for g in sorted(gs,key=lambda g:(families[g],g[1])): + available=caps[g]-used[g];oldw=old_by_group.get(g,(None,0))[1] + buckets[available][oldw].append(g) + result={};unassigned=R + for c in sorted(buckets): + bucket=buckets[c] + while unassigned and any(bucket.values()): + w=next((w for w in sorted(want,reverse=True) if w<=c and want[w]),None) + if w is None:break + if bucket.get(w):q=w + else:q=next(q for q in sorted(bucket,reverse=True) if bucket[q]) + g=bucket[q].popleft() + h0=old_by_group.get(g,(None,0))[0] + h=h0 if h0 in want[w] else min(want[w]) + want[w].remove(h);result[h]=(g,w);used[g]+=w;unassigned-=1 + assert used[g]<=caps[g] + assert unassigned==0,('no legal family matching',call,{w:len(h) for w,h in want.items() if h}) + assert set(result)==set(range(R)) and len({families[g] for g,w in result.values()})==R + newhist=Counter(caps[g]-used[g] for g in gs) + equal_widths=Counter(w for g,w in old.values())==Counter(widths[call]) + strict=False + if equal_widths: + assert sum(oldhist.values())==sum(newhist.values()) + assert stoploss(oldhist,0)==stoploss(newhist,0) + margins=[stoploss(newhist,k)-stoploss(oldhist,k) for k in range(49)] + assert min(margins)>=0,('greedy did not majorize old assignment',call,margins) + strict=any(margins) + else: + assert bootstrap + margins=None + changed=sum(result[h]!=old[h] for h in result) + current[call]=result + moves.append({'stage':call[0],'replica':call[1],'time':t,'bootstrap':bootstrap, + 'equal_width_multiset':equal_widths,'integer_stoploss_margins':margins, + 'strict_majorization':strict,'changed_helper_owners':changed}) + return strict,changed + + changed_calls=[c for c in order if any(current[c][h][1]!=widths[c][h] for h in range(R))] + for c in changed_calls:update(c,bootstrap=True) + p=total_profile();baseline_b=rate(p,2560,M) + rounds=[{'pass':'bootstrap','changed_provider_calls':[list(c) for c in changed_calls], + 'floating_b':baseline_b,'remainder_profile':dict(sorted(idle_profile().items()))}] + print(json.dumps({'checkpoint':'all_goal_signatures_feasible','bootstrap_calls':len(changed_calls),'floating_b':baseline_b}),flush=True) + quiet=0 + for passno in range(a.max_passes): + strict=changed=0 + for c in (order if passno%2==0 else list(reversed(order))): + s,z=update(c);strict+=bool(s);changed+=z + p=total_profile();r={'pass':passno+1,'strictly_improved_calls':strict,'changed_helper_owners':changed, + 'floating_b':rate(p,2560,M),'remainder_profile':dict(sorted(idle_profile().items()))} + rounds.append(r);print(json.dumps({k:r[k] for k in ('pass','strictly_improved_calls','changed_helper_owners','floating_b')}),flush=True) + quiet=quiet+1 if not strict else 0 + if quiet>=2 or (not strict and not changed):break + + groups=defaultdict(list);roles=[] + for call in order: + s,rep=call;t=calls[call]['time'] + for h,(g,w) in current[call].items(): + orp,ch,port=g + z={'child':ch,'copy':orp*V+port,'family':families[g],'helper':h,'offset':0, + 'owner_replica':orp,'port':port,'replica':rep,'stage':s,'time':t,'width':w} + roles.append(z);groups[g].append(z) + for g,zs in groups.items(): + off=0 + for z in sorted(zs,key=lambda z:(z['time'],z['helper'])):z['offset']=off;off+=z['width'] + assert off==used[g]<=caps[g] + roles.sort(key=lambda z:(z['time'],z['helper'])) + cells,_=audit_roles(roles,plan,widths,V,R) + for z in roles: + active=max(0,(z['stage']-1)//2) + assert not (z['owner_replica']==z['replica'] and plan['pairs'][str(z['child'])]==active) + for g in caps:assert len(cells[g])==used[g] + remainder=[] + for g in caps: + left=caps[g]-used[g] + if left: + rep,ch,port=g + remainder.append({'child':ch,'port':port,'replica':rep,'replicas':1,'family':families[g], + 'rank':left,'hosted':used[g],'pending_offset':used[g]}) + profile=dict(sorted(total_profile().items()));assert M*M>2*max(profile)**2 + raw=packed(roles);compressed=bytearray(gzip.compress(raw,mtime=0));compressed[9]=255 + (a.out/'OWNERS.json.gz').write_bytes(bytes(compressed)) + (a.out/'MAJORIZATION.json.gz').write_bytes(gzip.compress(packed(moves),mtime=0)) + (a.out/'REMAINDERS.json').write_text(json.dumps(remainder,indent=2)+'\n') + (a.out/'PROFILE.json').write_text(json.dumps(profile,indent=2)+'\n') + fields={'profile':profile,'per_call_widths':[{'stage':s,'replica':r,'widths':widths[s,r]} for s,r in order], + 'assignment_sha256':hashlib.sha256(raw).hexdigest(),'assignment_sha256_semantics':'SHA256 sorted-key compact uncompressed OWNERS array', + 'source_owners_sha256':sha(a.owners),'provider_signatures':sig} + (a.out/'PLAN-OWNER-FIELDS.json').write_text(json.dumps(fields,indent=2)+'\n') + receipt={'status':'PASS_EXPANDED_OWNER_MATCHING_EXACT_COMBINATORICS_PENDING_GLOBAL_ADMISSION', + 'source_plan':str(a.plan),'source_plan_sha256':sha(a.plan),'source_owners':str(a.owners),'source_owners_sha256':sha(a.owners), + 'owners_sha256':sha(a.out/'OWNERS.json.gz'),'source_signatures':sig, + 'roles':len(roles),'calls':len(order),'unchanged_call_order_and_windows':True, + 'all_families_idle_and_outside_active_data':True,'one_helper_per_family_per_call':True, + 'all_footprints_disjoint_compacted_prefixes':True,'integer_majorization_steps':sum(z['equal_width_multiset'] for z in moves), + 'majorization_sha256':sha(a.out/'MAJORIZATION.json.gz'),'matching_rounds':rounds, + 'global_profile':profile,'rank_mass':sum(r*n for r,n in profile.items()),'deficit':2560, + 'remainder_profile':dict(sorted(idle_profile().items())),'maxchild':max(profile), + 'candidate_floating_screen_b':rate(profile,2560,M),'seconds':time.monotonic()-beg, + 'remaining_admission':'Fresh native-provider bindings, actual 73-column owner charts, independent full controller audit, finite invoice, exact moment and outer assembly.'} + (a.out/'EXPANDED-OWNER-REUSE.json').write_text(json.dumps(receipt,indent=2)+'\n') + print(json.dumps({k:receipt[k] for k in ('status','roles','remainder_profile','rank_mass','candidate_floating_screen_b','seconds')},indent=2),flush=True) + + +if __name__=='__main__':main() diff --git a/research/gauge44-leaver/hosting/frozen/FROZEN-AUDIT.json b/research/gauge44-leaver/hosting/frozen/FROZEN-AUDIT.json new file mode 100644 index 0000000000..5f95552366 --- /dev/null +++ b/research/gauge44-leaver/hosting/frozen/FROZEN-AUDIT.json @@ -0,0 +1,57 @@ +{ + "roles": 35424, + "calls": 72, + "fixed_point_calls_checked": 72, + "remainder_profile": { + "1": 85, + "2": 76, + "3": 173, + "7": 7, + "8": 6, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + }, + "global_profile": { + "1": 181093, + "2": 29164, + "3": 32429, + "4": 11520, + "5": 4032, + "7": 7, + "8": 582, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + }, + "rank_mass": 520704, + "deficit": 2560, + "maxchild": 48, + "all_footprints_disjoint_compacted_prefixes": true, + "all_helper_families_idle_and_outside_active_data": true, + "one_helper_per_physical_family_per_call": true, + "every_call_optimal_for_every_concave_remainder_cost": true, + "global_optimality_claimed": false, + "status": "PASS_FROZEN_HOSTING_AND_ALL_72_CALLWISE_FIXED_POINTS", + "parent_plan_sha256": "258a8b9baa245fa4096828671e2f1d1462b5af08d56890629622ef6125eaddda", + "parent_owners_sha256": "935ff1a6823c6625daba3349b28d74acf9a3d70a5947ae155aa66c7821804add", + "owners_semantic_sha256": "c09faf298565c1388c02370fdd4e61dd542579fe1898e842d5096cc97b68191d", + "majorization_semantic_sha256": "9ed3fdb41fb8dbc6542de7701c78bb8f3bb728604057daf82a537bde182ab9fc", + "stored_integer_majorization_steps": 288, + "majorization_replay": "reproduce.py re-executes every step; this audit separately checks the final fixed point.", + "remaining_scope": "The package global verifier checks fresh local algebra, phases, windows, invoice, moment, and outer assembly." +} diff --git a/research/gauge44-leaver/hosting/frozen/MAJORIZATION.json.gz b/research/gauge44-leaver/hosting/frozen/MAJORIZATION.json.gz new file mode 100644 index 0000000000..047b1cfb67 Binary files /dev/null and b/research/gauge44-leaver/hosting/frozen/MAJORIZATION.json.gz differ diff --git a/research/gauge44-leaver/hosting/frozen/MANIFEST.json b/research/gauge44-leaver/hosting/frozen/MANIFEST.json new file mode 100644 index 0000000000..291005722c --- /dev/null +++ b/research/gauge44-leaver/hosting/frozen/MANIFEST.json @@ -0,0 +1,114 @@ +{ + "schema": "gauge44-hosting-frozen-v1", + "parent_pr": 635, + "parent_paths": { + "plan": "research/complex-571-cold14-st2/data/PLAN.json", + "owners": "research/complex-571-cold14-st2/data/OWNERS.json.gz" + }, + "parent_plan_sha256": "258a8b9baa245fa4096828671e2f1d1462b5af08d56890629622ef6125eaddda", + "parent_owners_sha256": "935ff1a6823c6625daba3349b28d74acf9a3d70a5947ae155aa66c7821804add", + "artifacts": { + "OWNERS.json.gz": { + "sha256": "90ff7657a23dcfb67532b49c0800c5fc259b27c89005081e24bf184869e1bd57", + "semantic_sha256": "c09faf298565c1388c02370fdd4e61dd542579fe1898e842d5096cc97b68191d" + }, + "SEED-OWNERS.json.gz": { + "sha256": "eb3be5eebbb84349d7e7f1bde2fc77772a12ad5bccc6dab7c4efd8d903e2a048", + "semantic_sha256": "beea695aa2e1ab973ad53f475b3e3e9cf6d0f8a9bca2033a445b64f3b3484e34" + }, + "MAJORIZATION.json.gz": { + "sha256": "ec5f94b13d190d72bc0608dc9fe2498cc43ba9deb05028159a812ec1e4dcacdf", + "semantic_sha256": "9ed3fdb41fb8dbc6542de7701c78bb8f3bb728604057daf82a537bde182ab9fc" + } + }, + "new_provider": { + "R": 492, + "h": 9, + "v": 112, + "width_histogram": { + "4": 52, + "5": 48, + "7": 34, + "8": 114, + "9": 244 + }, + "width_sum": 3794, + "profile": { + "1": 2514, + "2": 404, + "3": 448, + "4": 160, + "5": 56, + "8": 8 + }, + "rank_mass": 5650, + "raw_word_sha256": "3ef4e74e81e2f4621fc95272918ac7b8bb8858df0baa16cc6d91424d55aead9e", + "canonical_word_sha256": "92941c2b718b533f1d3addb710d261a6e2b9ec5d19f0051d79775b08cb2571ed", + "local_programs_sha256": "172dc3d23e437909ddc01d07b12ede735afbb5bb6145f1ddf5c2e03097dfebe2", + "width_vector_sha256": "b7fbefdb3af3942194ac9314c767c7812bd68adb734d4e00b70b2916bdb55de8" + }, + "seed_discovery": { + "provider_replaced": "jp8", + "unchanged_provider": "ck", + "passes": 2, + "price_b": 0.001638923, + "python": "3.12.14", + "numpy": "2.3.5", + "scipy": "1.17.0", + "note": "Only seed discovery uses floating-point Hungarian costs. Frozen seed and the expanded exact replay require the Python standard library." + }, + "expanded_replay": { + "providers_replaced": [ + "jp8", + "ck" + ], + "max_passes": 8, + "actual_passes": 4, + "integer_majorization_steps": 288, + "changed_width_bootstrap_calls": 1 + }, + "global_profile": { + "1": 181093, + "2": 29164, + "3": 32429, + "4": 11520, + "5": 4032, + "7": 7, + "8": 582, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + }, + "remainder_profile": { + "1": 85, + "2": 76, + "3": 173, + "7": 7, + "8": 6, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + }, + "live": 7168, + "roles": 35424, + "calls": 72, + "rank_mass": 520704, + "deficit": 2560, + "maxchild": 48, + "candidate_floating_screen_b": 0.0016522089943684115, + "screening_only": "The floating rate here is not a certified exponent. Exact supplier and outer admission belong to the package verifier." +} diff --git a/research/gauge44-leaver/hosting/frozen/MATCHING-RECEIPT.json b/research/gauge44-leaver/hosting/frozen/MATCHING-RECEIPT.json new file mode 100644 index 0000000000..993331090c --- /dev/null +++ b/research/gauge44-leaver/hosting/frozen/MATCHING-RECEIPT.json @@ -0,0 +1,1205 @@ +{ + "status": "PASS_EXPANDED_OWNER_MATCHING_EXACT_COMBINATORICS_PENDING_GLOBAL_ADMISSION", + "source_plan": "explicit parent PLAN, with a temporary signature-only seed view for expanded replay", + "source_plan_sha256": "0d2b6a12d3450cfb78e556e80d34cabb8cd1a7f8aa85c1a712a5177236672a37", + "source_owners": "frozen/SEED-OWNERS.json.gz", + "source_owners_sha256": "eb3be5eebbb84349d7e7f1bde2fc77772a12ad5bccc6dab7c4efd8d903e2a048", + "owners_sha256": "90ff7657a23dcfb67532b49c0800c5fc259b27c89005081e24bf184869e1bd57", + "source_signatures": { + "ck": { + "widths": [ + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 9, + 8, + 9, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ], + "profile": { + "1": 2514, + "4": 160, + "8": 8, + "3": 448, + "2": 404, + "5": 56 + }, + "source": "supplied new provider (raw or independently checked native)", + "canonical_sha256": "92941c2b718b533f1d3addb710d261a6e2b9ec5d19f0051d79775b08cb2571ed", + "program_sha256": "172dc3d23e437909ddc01d07b12ede735afbb5bb6145f1ddf5c2e03097dfebe2" + }, + "jp8": { + "widths": [ + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 9, + 8, + 9, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ], + "profile": { + "1": 2514, + "4": 160, + "8": 8, + "3": 448, + "2": 404, + "5": 56 + }, + "source": "supplied new provider (raw or independently checked native)", + "canonical_sha256": "92941c2b718b533f1d3addb710d261a6e2b9ec5d19f0051d79775b08cb2571ed", + "program_sha256": "172dc3d23e437909ddc01d07b12ede735afbb5bb6145f1ddf5c2e03097dfebe2" + } + }, + "roles": 35424, + "calls": 72, + "unchanged_call_order_and_windows": true, + "all_families_idle_and_outside_active_data": true, + "one_helper_per_family_per_call": true, + "all_footprints_disjoint_compacted_prefixes": true, + "integer_majorization_steps": 288, + "majorization_sha256": "ec5f94b13d190d72bc0608dc9fe2498cc43ba9deb05028159a812ec1e4dcacdf", + "matching_rounds": [ + { + "pass": "bootstrap", + "changed_provider_calls": [ + [ + 2, + 0 + ] + ], + "floating_b": 0.0016448741407332063, + "remainder_profile": { + "1": 87, + "2": 111, + "3": 191, + "4": 160, + "5": 1, + "6": 2, + "7": 50, + "8": 127, + "10": 3, + "11": 23, + "12": 25, + "13": 1, + "14": 5, + "15": 9, + "16": 107, + "18": 1, + "19": 10, + "20": 15, + "23": 2, + "24": 52, + "32": 1, + "44": 1, + "48": 2221 + } + }, + { + "pass": 1, + "strictly_improved_calls": 70, + "changed_helper_owners": 1245, + "floating_b": 0.0016518485664379205, + "remainder_profile": { + "1": 83, + "2": 92, + "3": 167, + "4": 10, + "6": 3, + "7": 9, + "8": 13, + "11": 4, + "12": 11, + "15": 1, + "16": 35, + "24": 1, + "28": 7, + "32": 57, + "44": 11, + "48": 2284 + } + }, + { + "pass": 2, + "strictly_improved_calls": 41, + "changed_helper_owners": 169, + "floating_b": 0.0016521846143978994, + "remainder_profile": { + "1": 83, + "2": 80, + "3": 171, + "7": 7, + "8": 6, + "12": 14, + "16": 33, + "19": 1, + "20": 2, + "24": 2, + "28": 3, + "32": 61, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + } + }, + { + "pass": 3, + "strictly_improved_calls": 8, + "changed_helper_owners": 13, + "floating_b": 0.0016522089943684115, + "remainder_profile": { + "1": 85, + "2": 76, + "3": 173, + "7": 7, + "8": 6, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + } + }, + { + "pass": 4, + "strictly_improved_calls": 0, + "changed_helper_owners": 0, + "floating_b": 0.0016522089943684115, + "remainder_profile": { + "1": 85, + "2": 76, + "3": 173, + "7": 7, + "8": 6, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + } + } + ], + "global_profile": { + "1": 181093, + "2": 29164, + "3": 32429, + "4": 11520, + "5": 4032, + "7": 7, + "8": 582, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + }, + "rank_mass": 520704, + "deficit": 2560, + "remainder_profile": { + "1": 85, + "2": 76, + "3": 173, + "7": 7, + "8": 6, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + }, + "maxchild": 48, + "candidate_floating_screen_b": 0.0016522089943684115, + "remaining_admission": "Fresh native-provider bindings, actual 73-column owner charts, independent full controller audit, finite invoice, exact moment and outer assembly.", + "provenance_note": "Absolute discovery paths and wall time removed; original artifact hashes and all exact combinatorial fields preserved." +} diff --git a/research/gauge44-leaver/hosting/frozen/OWNERS.json.gz b/research/gauge44-leaver/hosting/frozen/OWNERS.json.gz new file mode 100644 index 0000000000..e9c7cfc72d Binary files /dev/null and b/research/gauge44-leaver/hosting/frozen/OWNERS.json.gz differ diff --git a/research/gauge44-leaver/hosting/frozen/REPRODUCTION.json b/research/gauge44-leaver/hosting/frozen/REPRODUCTION.json new file mode 100644 index 0000000000..8ad59712b2 --- /dev/null +++ b/research/gauge44-leaver/hosting/frozen/REPRODUCTION.json @@ -0,0 +1,29 @@ +{ + "status": "PASS_FROZEN_OWNER_AND_INTEGER_MAJORIZATION_REPLAY", + "seed_mode": "included_frozen_seed", + "parent_plan_sha256": "258a8b9baa245fa4096828671e2f1d1462b5af08d56890629622ef6125eaddda", + "parent_owners_sha256": "935ff1a6823c6625daba3349b28d74acf9a3d70a5947ae155aa66c7821804add", + "owners_semantic_sha256": "c09faf298565c1388c02370fdd4e61dd542579fe1898e842d5096cc97b68191d", + "owners_gzip_sha256": "90ff7657a23dcfb67532b49c0800c5fc259b27c89005081e24bf184869e1bd57", + "majorization_semantic_sha256": "9ed3fdb41fb8dbc6542de7701c78bb8f3bb728604057daf82a537bde182ab9fc", + "global_profile": { + "1": 181093, + "2": 29164, + "3": 32429, + "4": 11520, + "5": 4032, + "7": 7, + "8": 582, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + }, + "scope": "Exact hosting nomination and callwise fixed-point replay; full supplier admission is separate." +} diff --git a/research/gauge44-leaver/hosting/frozen/SEED-OWNERS.json.gz b/research/gauge44-leaver/hosting/frozen/SEED-OWNERS.json.gz new file mode 100644 index 0000000000..d61916a156 Binary files /dev/null and b/research/gauge44-leaver/hosting/frozen/SEED-OWNERS.json.gz differ diff --git a/research/gauge44-leaver/hosting/frozen/SEED-RECEIPT.json b/research/gauge44-leaver/hosting/frozen/SEED-RECEIPT.json new file mode 100644 index 0000000000..82911f647b --- /dev/null +++ b/research/gauge44-leaver/hosting/frozen/SEED-RECEIPT.json @@ -0,0 +1,1537 @@ +{ + "status": "PASS_OWNER_REUSE_NOMINATION_COMBINATORICS_NOT_FULL_SUPPLIER_ADMISSION", + "source_plan": "explicit parent PLAN", + "source_plan_sha256": "258a8b9baa245fa4096828671e2f1d1462b5af08d56890629622ef6125eaddda", + "source_owners_sha256": "935ff1a6823c6625daba3349b28d74acf9a3d70a5947ae155aa66c7821804add", + "owners_sha256": "eb3be5eebbb84349d7e7f1bde2fc77772a12ad5bccc6dab7c4efd8d903e2a048", + "unchanged_owner_family_sets": true, + "unchanged_call_order_and_windows": true, + "all_footprints_are_disjoint_compacted_prefixes": true, + "local_signatures": { + "ck": { + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 9, + 9, + 9, + 9, + 9, + 4, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 9, + 9, + 9, + 9, + 9, + 4, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 9, + 9, + 9, + 9, + 9, + 4, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ], + "profile": { + "1": 2600, + "2": 552, + "3": 304, + "4": 164, + "5": 70, + "6": 4, + "8": 8 + }, + "source": "inherited parent PLAN signature" + }, + "jp8": { + "widths": [ + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 9, + 8, + 9, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ], + "profile": { + "1": 2514, + "2": 404, + "3": 448, + "4": 160, + "5": 56, + "8": 8 + }, + "source": "supplied new provider (raw or independently checked native)", + "source_sha256": "3ef4e74e81e2f4621fc95272918ac7b8bb8858df0baa16cc6d91424d55aead9e" + } + }, + "sorted_initial_dominance": { + "(0, 0)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(0, 1)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(1, 0)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(0, 2)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(1, 1)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(2, 0)": { + "old_total": 3854, + "new_total": 3854, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(0, 3)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(1, 2)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(2, 1)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(3, 0)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(0, 4)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(1, 3)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(2, 2)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(3, 1)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(4, 0)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(0, 5)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(1, 4)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(2, 3)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(3, 2)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(4, 1)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(5, 0)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(0, 6)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(1, 5)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(2, 4)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(3, 3)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(4, 2)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(5, 1)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(0, 7)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(6, 0)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(1, 6)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(2, 5)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(3, 4)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(4, 3)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(5, 2)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(6, 1)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(1, 7)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(7, 0)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(2, 6)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(3, 5)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(4, 4)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(5, 3)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(6, 2)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(7, 1)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(2, 7)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(8, 0)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(3, 6)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(4, 5)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(5, 4)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(6, 3)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(7, 2)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(8, 1)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(3, 7)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(4, 6)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(5, 5)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(6, 4)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(7, 3)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(8, 2)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(4, 7)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(5, 6)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(6, 5)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(7, 4)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(8, 3)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(5, 7)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(6, 6)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(7, 5)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(8, 4)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(6, 7)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(7, 6)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(8, 5)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(7, 7)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(8, 6)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(8, 7)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + } + }, + "matching_passes": [ + { + "pass": "sorted", + "touched_group_idle_pressure": 44.06409529228022, + "calls_awaiting_capacity_matching": 0 + }, + { + "pass": 1, + "accepted_calls": 71, + "touched_group_idle_pressure": 24.92521223381306, + "decrease": 19.13888305846716 + }, + { + "pass": 2, + "accepted_calls": 58, + "touched_group_idle_pressure": 23.047886627886065, + "decrease": 1.8773256059269947 + } + ], + "roles": 35424, + "calls": 72, + "remainder_children": 3197, + "remainder_profile": { + "1": 83, + "2": 99, + "3": 197, + "4": 168, + "5": 6, + "6": 13, + "7": 16, + "8": 145, + "10": 4, + "11": 24, + "12": 19, + "13": 1, + "14": 3, + "15": 9, + "16": 107, + "18": 1, + "19": 10, + "20": 15, + "23": 2, + "24": 52, + "32": 1, + "44": 1, + "48": 2221 + }, + "global_profile": { + "1": 181177, + "2": 29335, + "3": 32309, + "4": 11692, + "5": 4052, + "6": 17, + "7": 16, + "8": 721, + "10": 4, + "11": 24, + "12": 19, + "13": 1, + "14": 3, + "15": 9, + "16": 107, + "18": 1, + "19": 10, + "20": 15, + "23": 2, + "24": 52, + "32": 1, + "44": 1, + "48": 2221 + }, + "rank_mass": 520704, + "deficit": 2560, + "maxchild": 48, + "source_floating_screen_b": 0.001638923175694355, + "candidate_floating_screen_b": 0.0016446065186552388, + "remaining_admission": "Bind freshly verified provider artifacts and their hashes; regenerate the global template, actual 73-column sigmas and remainder axes with the existing emitter; run independent owner/frame audit, finite invoice, and exact moment/outer assembly.", + "provenance_note": "Absolute discovery paths and wall time removed; original artifact hashes and all exact combinatorial fields preserved." +} diff --git a/research/gauge44-leaver/hosting/frozen/SEED-REPRODUCTION.json b/research/gauge44-leaver/hosting/frozen/SEED-REPRODUCTION.json new file mode 100644 index 0000000000..91ee98cf70 --- /dev/null +++ b/research/gauge44-leaver/hosting/frozen/SEED-REPRODUCTION.json @@ -0,0 +1,29 @@ +{ + "status": "PASS_FROZEN_OWNER_AND_INTEGER_MAJORIZATION_REPLAY", + "seed_mode": "two_pass_hungarian_discovery_rebuilt", + "parent_plan_sha256": "258a8b9baa245fa4096828671e2f1d1462b5af08d56890629622ef6125eaddda", + "parent_owners_sha256": "935ff1a6823c6625daba3349b28d74acf9a3d70a5947ae155aa66c7821804add", + "owners_semantic_sha256": "c09faf298565c1388c02370fdd4e61dd542579fe1898e842d5096cc97b68191d", + "owners_gzip_sha256": "90ff7657a23dcfb67532b49c0800c5fc259b27c89005081e24bf184869e1bd57", + "majorization_semantic_sha256": "9ed3fdb41fb8dbc6542de7701c78bb8f3bb728604057daf82a537bde182ab9fc", + "global_profile": { + "1": 181093, + "2": 29164, + "3": 32429, + "4": 11520, + "5": 4032, + "7": 7, + "8": 582, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + }, + "scope": "Exact hosting nomination and callwise fixed-point replay; full supplier admission is separate." +} diff --git a/research/gauge44-leaver/hosting/reproduce.py b/research/gauge44-leaver/hosting/reproduce.py new file mode 100644 index 0000000000..2f29a5ff13 --- /dev/null +++ b/research/gauge44-leaver/hosting/reproduce.py @@ -0,0 +1,100 @@ +"""Reproduce the frozen all-cold44 owner nomination from explicit inputs. + +By default, replay the exact integer optimizer from the included frozen seed. +--rebuild-seed additionally repeats the original two floating-cost Hungarian +discovery passes; that optional route requires NumPy and SciPy. +""" +from pathlib import Path +from collections import Counter +import argparse +import copy +import json +import shutil +import subprocess +import sys + +from audit_frozen import HERE, add_inputs, bound_inputs, semantic_sha +from reuse_owners import audit_roles, read, sha + + +def run(name, *args): + subprocess.run([sys.executable, str(HERE/name), *map(str, args)], check=True) + + +def seed_plan(parent, seed_owners, new_signature): + """Build a signature-only resizer input; never an admitted provider PLAN.""" + plan = copy.deepcopy(parent) + plan['provider_registry']['jp8']['widths'] = new_signature['widths'] + plan['provider_registry']['jp8']['actual_paid_profile'] = new_signature['profile'] + call_widths = { + (c['stage'], c['replica']): plan['provider_registry'][c['provider']]['widths'] + for c in plan['provider_calls'] + } + used, families = audit_roles(seed_owners, plan, call_widths, 112, 492) + profile = Counter() + for c in plan['provider_calls']: + profile.update({int(r): n for r, n in plan['provider_registry'][c['provider']]['actual_paid_profile'].items()}) + for key, (cap, times) in plan['windows'].items(): + rep, child = map(int, key.split(',')) + for port in range(112): + left = cap-len(used[rep, child, port]) + if left: + profile[left] += 1 + assert 73*7168-sum(r*n for r, n in profile.items()) == 2560 + plan['profile'] = dict(sorted(profile.items())) + plan['per_call_widths'] = [ + {'stage': s, 'replica': r, 'widths': call_widths[s, r]} + for s, r in plan['order'] + ] + plan['status'] = 'INTERMEDIATE_SIGNATURE_ONLY_OWNER_SEED_NOT_PROVIDER_ADMISSION' + return plan + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + add_inputs(parser) + parser.add_argument('--rebuild-seed', action='store_true') + parser.add_argument('--out', type=Path, required=True, help='New output directory') + args = parser.parse_args() + manifest = read(HERE/'frozen/MANIFEST.json') + parent, sig, provider = bound_inputs(args, manifest) + args.out.mkdir(parents=True, exist_ok=False) + seed_dir = args.out/'seed' + if args.rebuild_seed: + run('reuse_owners.py', '--plan', args.parent_plan, '--owners', args.parent_owners, + '--signature', f'jp8={provider}', '--passes', '2', '--price-b', '0.001638923', '--out', seed_dir) + else: + seed_dir.mkdir() + shutil.copyfile(HERE/'frozen/SEED-OWNERS.json.gz', seed_dir/'OWNERS.json.gz') + assert semantic_sha(seed_dir/'OWNERS.json.gz') == manifest['artifacts']['SEED-OWNERS.json.gz']['semantic_sha256'], ( + 'Seed differs; use the default frozen-seed replay, or the recorded NumPy/SciPy versions for discovery replay.' + ) + plan = seed_plan(parent, read(seed_dir/'OWNERS.json.gz'), sig) + plan_path = seed_dir/'PLAN-FOR-RESIZER.json' + plan_path.write_text(json.dumps(plan, indent=2)+'\n') + final_dir = args.out/'all72' + run('expand_owners.py', '--plan', plan_path, '--owners', seed_dir/'OWNERS.json.gz', + '--signature', f'jp8={provider}', '--signature', f'ck={provider}', + '--max-passes', '8', '--out', final_dir) + for name in ('OWNERS.json.gz', 'MAJORIZATION.json.gz'): + assert semantic_sha(final_dir/name) == manifest['artifacts'][name]['semantic_sha256'], (name, 'Frozen semantic digest mismatch') + kwargs = ('--local44', args.local44) if args.local44 is not None else ('--raw-word', args.raw_word) + run('audit_frozen.py', '--parent-plan', args.parent_plan, '--parent-owners', args.parent_owners, + *kwargs, '--owners', final_dir/'OWNERS.json.gz', '--majorization', final_dir/'MAJORIZATION.json.gz', + '--out', args.out/'FROZEN-AUDIT.json') + receipt = { + 'status': 'PASS_FROZEN_OWNER_AND_INTEGER_MAJORIZATION_REPLAY', + 'seed_mode': 'two_pass_hungarian_discovery_rebuilt' if args.rebuild_seed else 'included_frozen_seed', + 'parent_plan_sha256': sha(args.parent_plan), 'parent_owners_sha256': sha(args.parent_owners), + 'owners_semantic_sha256': semantic_sha(final_dir/'OWNERS.json.gz'), + 'owners_gzip_sha256': sha(final_dir/'OWNERS.json.gz'), + 'majorization_semantic_sha256': semantic_sha(final_dir/'MAJORIZATION.json.gz'), + 'global_profile': read(final_dir/'PROFILE.json'), + 'scope': 'Exact hosting nomination and callwise fixed-point replay; full supplier admission is separate.', + } + (args.out/'REPRODUCTION.json').write_text(json.dumps(receipt, indent=2)+'\n') + print(json.dumps(receipt, indent=2)) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-leaver/hosting/reuse_owners.py b/research/gauge44-leaver/hosting/reuse_owners.py new file mode 100644 index 0000000000..234b831790 --- /dev/null +++ b/research/gauge44-leaver/hosting/reuse_owners.py @@ -0,0 +1,230 @@ +"""Deterministic existing-family owner reuse and optional callwise matching. + +The output is a nomination, requiring the ordinary independent owner, phase, +finite-invoice, and exact-moment admission. No MILP or new owner family is used. +""" +from collections import Counter, defaultdict +from pathlib import Path +import argparse +import copy +import gzip +import hashlib +import json +import math +import time + + +def read(path): + raw=Path(path).read_bytes() + return json.loads(gzip.decompress(raw) if str(path).endswith('.gz') else raw) + + +def packed(obj):return json.dumps(obj,sort_keys=True,separators=(',',':')).encode() +def sha(path):return hashlib.sha256(Path(path).read_bytes()).hexdigest() + + +def signature(path): + path=Path(path) + if path.is_dir(): + w=read(path/'CANONICAL-WORD.json.gz');V,R=w['v'],w['R'] + widths=[len(w['frames'][w['final'][2*V+h]])-len(w['frames'][w['start'][2*V+h]]) for h in range(R)] + programs=read(path/'LOCAL-PROGRAMS.json.gz') + profiles=[Counter(e[-1] for e in programs[o] if e[0] in ('climb','center')) for o in ('forward','backward')] + assert profiles[0]==profiles[1] + assert profiles[0]=={int(r):n for r,n in w['local_profile'].items()} + return {'widths':widths,'profile':dict(profiles[0]),'source':str(path), + 'canonical_sha256':sha(path/'CANONICAL-WORD.json.gz'), + 'program_sha256':sha(path/'LOCAL-PROGRAMS.json.gz')} + w=read(path) + if 'report' in w: + V,R=w['report']['v'],w['report']['R'] + widths=[len(w.get('helper_final',{}).get(str(2*V+h),range(9)))-len(w.get('start_extra',{}).get(str(2*V+h),[])) for h in range(R)] + profile={int(r):n for r,n in w['report']['local_profile'].items()} + else: + widths=w['widths'];profile={int(r):n for r,n in w['profile'].items()} + return {'widths':widths,'profile':profile,'source':str(path),'source_sha256':sha(path)} + + +def phi(rank,b,M):return rank*math.expm1(b*math.log(M/rank)) if rank else 0. + + +def rate(profile,deficit,M): + lo,hi=0.,.02 + for _ in range(58): + mid=(lo+hi)/2 + if sum(n*phi(r,mid,M) for r,n in profile.items())oldroles[i]['width']] + if failures: + # Keep this call's old widths provisionally; shrunk calls leave + # slack on their original owner families. A subsequent exact + # bipartite matching may use that slack for this call. + pending.append(call) + for i in ids:assigned_h[i]=oldroles[i]['helper'];assigned_w[i]=oldroles[i]['width'] + else: + for h,i in zip(helpers,slots):assigned_h[i]=h;assigned_w[i]=newwidths[call][h] + dominance[str(call)]={'old_total':sum(oldwidths[call]),'new_total':sum(newwidths[call]),'sorted_termwise_dominance':not failures,'failed_positions':failures} + used={g:sum(assigned_w[i] for i in ids) for g,ids in groups.items()} + assert all(used[g]<=cap[g] for g in groups) + cost_cache=[phi(r,a.price_b,M) for r in range(49)] + def current_cost():return sum(cost_cache[cap[g]-used[g]] for g in groups) + passes=[{'pass':'sorted','touched_group_idle_pressure':current_cost(),'calls_awaiting_capacity_matching':len(pending)}] + + if a.passes or pending: + import numpy as np + from scipy.optimize import linear_sum_assignment + def match_call(call,force=False): + ids=sorted(bycall[call],key=lambda i:oldroles[i]['helper']) + gs=[group_of[i] for i in ids] + assert len(set(gs))==R, 'one owner family per complete call is essential' + available=np.array([cap[g]-used[g]+assigned_w[i] for i,g in zip(ids,gs)],dtype=np.int64) + ws=np.array(newwidths[call],dtype=np.int64) + left=available[None,:]-ws[:,None] + matrix=np.full((R,R),np.inf) + valid=left>=0 + matrix[valid]=np.asarray(cost_cache)[left[valid]] + ri,ci=linear_sum_assignment(matrix) + assert len(ri)==R and np.all(np.isfinite(matrix[ri,ci])) + oldcost=sum(cost_cache[cap[g]-used[g]] for g in gs) + newcost=float(matrix[ri,ci].sum()) + if not force: + assert newcost<=oldcost+1e-10 + if oldcost-newcost<=1e-10:return False + for h,col in zip(ri,ci): + i=ids[int(col)];g=group_of[i];h=int(h);ww=int(ws[h]) + used[g]+=ww-assigned_w[i];assigned_w[i]=ww;assigned_h[i]=h + assert used[g]<=cap[g] + return True + for call in pending: + match_call(call,force=True) + dominance[str(call)]['capacity_matching_feasible']=True + if pending:passes.append({'pass':'capacity_bootstrap','touched_group_idle_pressure':current_cost(),'resolved_calls':[list(c) for c in pending]}) + for p in range(a.passes): + accepted=0;startcost=current_cost() + order=[tuple(k) for k in plan['order']] + if p%2:order.reverse() + for call in order: + accepted+=match_call(call) + finalcost=current_cost();assert finalcost<=startcost+1e-9 + passes.append({'pass':p+1,'accepted_calls':accepted,'touched_group_idle_pressure':finalcost,'decrease':startcost-finalcost}) + + # The inherited compiler requires each used coordinate set to be a + # prefix. Stable left compaction preserves every immutable owner field. + roles=copy.deepcopy(oldroles);matching=[] + for g,ids in groups.items(): + off=0 + for i in sorted(ids,key=lambda i:(oldroles[i]['offset'],oldroles[i]['time'],oldroles[i]['helper'])): + z=roles[i];z['helper']=assigned_h[i];z['width']=assigned_w[i];z['offset']=off;off+=z['width'] + matching.append({'stage':z['stage'],'replica':z['replica'],'old_helper':oldroles[i]['helper'], + 'new_helper':z['helper'],'old_width':oldroles[i]['width'],'new_width':z['width'], + 'family':z['family'],'child':z['child'],'old_offset':oldroles[i]['offset'],'new_offset':z['offset']}) + assert off==used[g]<=cap[g] + roles.sort(key=lambda z:(z['time'],z['helper'])) + newused,newfamilies=audit_roles(roles,plan,newwidths,V,R) + assert newfamilies==oldfamilies + paid=Counter();remainders=[] + for c in plan['provider_calls']:paid.update(signatures[c['provider']]['profile']) + idle=Counter() + for key,(capacity,window) in plan['windows'].items(): + rep,ch=map(int,key.split(',')) + for port in range(V): + occupied=len(newused[rep,ch,port]);left=capacity-occupied + if left: + family=rep*(8*V)+(2*plan['pairs'][str(ch)]+plan['sides'][str(ch)])*V+port + remainders.append({'child':ch,'port':port,'replica':rep,'replicas':1,'family':family, + 'rank':left,'hosted':occupied,'pending_offset':occupied}) + idle[left]+=1 + paid.update(idle);mass=sum(r*n for r,n in paid.items()) + assert M*plan['live']-mass==plan['deficit']==2560 + assert M*M>2*max(paid)**2 + oldprofile={int(r):n for r,n in plan['profile'].items()} + ownerraw=packed(roles);gz=bytearray(gzip.compress(ownerraw,mtime=0));gz[9]=255 + (a.out/'OWNERS.json.gz').write_bytes(bytes(gz)) + (a.out/'MATCHING.json.gz').write_bytes(gzip.compress(packed(matching),mtime=0)) + (a.out/'REMAINDERS.json').write_text(json.dumps(remainders,indent=2)+'\n') + profile=dict(sorted(paid.items())) + (a.out/'PROFILE.json').write_text(json.dumps(profile,indent=2)+'\n') + owner_fields={'profile':profile, + 'per_call_widths':[{'stage':s,'replica':r,'widths':newwidths[s,r]} for s,r in plan['order']], + 'assignment_sha256':hashlib.sha256(ownerraw).hexdigest(), + 'assignment_sha256_semantics':'SHA256 of sorted-key compact uncompressed OWNERS array', + 'source_owners_sha256':sha(a.owners), + 'provider_signatures':signatures} + (a.out/'PLAN-OWNER-FIELDS.json').write_text(json.dumps(owner_fields,indent=2)+'\n') + rec={'status':'PASS_OWNER_REUSE_NOMINATION_COMBINATORICS_NOT_FULL_SUPPLIER_ADMISSION', + 'source_plan':str(a.plan),'source_plan_sha256':sha(a.plan),'source_owners_sha256':sha(a.owners), + 'owners_sha256':sha(a.out/'OWNERS.json.gz'),'unchanged_owner_family_sets':True, + 'unchanged_call_order_and_windows':True,'all_footprints_are_disjoint_compacted_prefixes':True, + 'local_signatures':signatures,'sorted_initial_dominance':dominance,'matching_passes':passes, + 'roles':len(roles),'calls':len(calls),'remainder_children':len(remainders),'remainder_profile':dict(sorted(idle.items())), + 'global_profile':profile,'rank_mass':mass,'deficit':2560,'maxchild':max(paid), + 'source_floating_screen_b':rate(oldprofile,2560,M), + 'candidate_floating_screen_b':rate(profile,2560,M), + 'seconds':time.monotonic()-beg, + 'remaining_admission':'Bind freshly verified provider artifacts and their hashes; regenerate the global template, actual 73-column sigmas and remainder axes with the existing emitter; run independent owner/frame audit, finite invoice, and exact moment/outer assembly.'} + (a.out/'OWNER-REUSE.json').write_text(json.dumps(rec,indent=2)+'\n') + print(json.dumps({k:rec[k] for k in ('status','roles','matching_passes','remainder_profile','rank_mass','source_floating_screen_b','candidate_floating_screen_b','seconds')},indent=2),flush=True) + + +if __name__=='__main__':main() diff --git a/research/gauge44-leaver/independent/CENTRE-GUARD-REVIEW.md b/research/gauge44-leaver/independent/CENTRE-GUARD-REVIEW.md new file mode 100644 index 0000000000..6c62bd070e --- /dev/null +++ b/research/gauge44-leaver/independent/CENTRE-GUARD-REVIEW.md @@ -0,0 +1,79 @@ +# Independent review of the centre and admission interfaces + +**Finding:** the replacement of old local centre-carrier IDs by equality of the +eight ordered centre-frame bases preserves the inherited global contract. It +must be used together with the complete local scalar, frame, phase and wrapper +admission. No mathematical admission guard was found to have been removed. + +## Why source carriers may supply centres + +The transported gauge44 centre carriers are +`[92, 57, 81, 224, 11, 240, 9, 256]`. Five are source registers and three are +helper registers. All 112 transported port labels and all eight ordered +rank-eight centre-frame bases agree exactly with the retained parent. The +optional `--main` check in `audit_local.py` independently verifies that boundary +against a byte-pinned parent canonical word. + +The actual forward local program copies the current row of `L_r` into private +`C_k` at their common frame `F_k`. It then descends `C_k` from `F_k` to frame +zero, scatters to the targets, and clears `C_k`. The backward program performs +the corresponding reversed ascent and scatter. This construction depends on +the copied row, its frame and the exact local program, rather than on a +requirement that `r` be in the helper-ID interval. The source itself is not +cleared or treated as private work. + +The independently checked local contract retains every required obligation: +all 716 input columns in both orientations; the forward and backward shear +identities; arbitrary initial helper dirt; scalar/COPY common-frame legality; +centre lifetimes and nested steps; exact native phase identities; endpoint +and row/column cone conditions; and residual wrappers before and after every +relevant touch. Its finite invoice recounts the actual operations. + +The global controller addresses private centres by `k`, while the source or +helper `L_r` is mapped through the complete invocation's ordinary owner array. +The owner audit retains pairwise distinct owners for all active source, target +and helper roles. A helper therefore cannot borrow the family of an active +source centre. The private-centre namespace is disjoint from those owners and +the local program clears it. Each whole invocation finishes before another +begins, so no new interleaving or family lifetime assumption is introduced. + +## Admission guards and single-provider controls + +An AST comparison with PR635 found all **91 assertions in `code/assemble.py` +identical, in the same traversal order**, including constants. This includes +the unchanged PR543 bit input, deficit and surcharge, every finite-invoice +guard, both conservative and native complex moment checks, and the strict +outer assembly and its controls. The following files retain the reviewed PR635 code (the packaged +`bind_providers_portable.py` only trims trailing whitespace): `invoice_allcold.py` (67 assertions), +`bind_providers_portable.py` (22), `generated_identity.py` (4), and `witness.py` +(3). `review_guards.py` reproduces the assertion comparison and records the +file hashes. + +The controller still checks the complete serialized provider registry, +per-call program and dispatch, native phase and wrapper bindings, helper +widths, owner uniqueness, actual busy-family windows, spectator orthogonality, +and literal idle remainders. The single-provider branch replaces partner +substitutions by direct invalid-ID, program, width and hash mutations. Only +four assembly mutation scenarios requiring a second registered provider are +inapplicable. Their removal does not remove any admission predicate. Direct +forged program/phase tests, width-order and width-inventory tests, and +selected-call/order tests remain. + +## Price and bit headroom + +The frozen all72 profile gives the native complex root bracket +`(0.001652208994368411824947, 0.001652208994368411824948)` and +`kappa = 0.001649483702558979`. Both independent rational engines certify the +two signs. The seven-step outer driver passes all 47 strict constraints and +rejects its four standard mutations. The conservative complex price passes +separately at `kappa = 0.001649483699681650`. + +The achieved complex rate is below PR543's retained bit rate +`0.001653826988146798944268`. Using eumemic's independently reviewed PR555 bit +rate `0.001733052823330162099157` gives exactly the same attained kappa. PR543 +therefore remains the cited supplier for this delta; no bit improvement is +claimed here and no PR555 implementation is bundled. + +These receipts supplement the package's complete native, owner, phase and +finite-invoice replay. The inherited all-size realization and analytic +transfer assumptions remain conditional. diff --git a/research/gauge44-leaver/independent/GAUGE-COLD44-INDEPENDENT-AUDIT.json b/research/gauge44-leaver/independent/GAUGE-COLD44-INDEPENDENT-AUDIT.json new file mode 100644 index 0000000000..771faa86a7 --- /dev/null +++ b/research/gauge44-leaver/independent/GAUGE-COLD44-INDEPENDENT-AUDIT.json @@ -0,0 +1,137 @@ +{ + "status": "PASS_INDEPENDENT_EXACT_FORWARD_AND_DUAL_ENDPOINT_FRAMES_ENTRANCES_CONES", + "input_file": "FULL-WORD.json.gz", + "content_sha256": "78c7aadacb6eec2eeecc124ca236e5bcfdba6a52b30c2971aaa596d1d119b290", + "compressed_sha256": "3ef4e74e81e2f4621fc95272918ac7b8bb8858df0baa16cc6d91424d55aead9e", + "parent_center_interface": { + "parent_path": "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/CANONICAL-WORD.json.gz", + "parent_file_sha256": "66d3c3c70983224650643a0a05a21ac6c6959f84d0f4528650601016f5a76844", + "transport_tau": 43, + "ordered_frame_bases_match": true, + "all_ports_match": true, + "transported_centers": [ + 92, + 57, + 81, + 224, + 11, + 240, + 9, + 256 + ], + "source_centers": [ + 92, + 57, + 81, + 11, + 9 + ], + "ordered_frame_bases": [ + [ + 256, + 128, + 64, + 34, + 16, + 10, + 4, + 1 + ], + [ + 256, + 128, + 64, + 32, + 16, + 8, + 5, + 3 + ], + [ + 256, + 128, + 64, + 32, + 17, + 9, + 4, + 2 + ], + [ + 256, + 128, + 64, + 36, + 20, + 8, + 2, + 1 + ], + [ + 256, + 128, + 66, + 32, + 18, + 8, + 4, + 1 + ], + [ + 256, + 128, + 65, + 33, + 17, + 9, + 5, + 3 + ], + [ + 256, + 128, + 65, + 33, + 16, + 8, + 4, + 2 + ], + [ + 256, + 128, + 68, + 32, + 16, + 12, + 2, + 1 + ] + ] + }, + "v": 112, + "h": 9, + "R": 492, + "entering": 204, + "lowends": 78, + "coldends": 44, + "compensation_gates": 7348, + "local_profile": { + "1": 2514, + "2": 404, + "3": 448, + "4": 160, + "5": 56, + "8": 8 + }, + "width_inventory": { + "4": 52, + "5": 48, + "7": 34, + "8": 114, + "9": 244 + }, + "checked_columns": 716, + "elapsed_seconds": 3.147683588000291, + "scope": "Exact rational full scalar map in both orientations; all literal native frame chains, center levels, dyadic units, entrance-zero response, wrapper exclusion and final helper row/column cones. No global owner admission or exponent repricing." +} diff --git a/research/gauge44-leaver/independent/GAUGE44-GLOBAL-GUARD-REVIEW.json b/research/gauge44-leaver/independent/GAUGE44-GLOBAL-GUARD-REVIEW.json new file mode 100644 index 0000000000..e2df1dcca8 --- /dev/null +++ b/research/gauge44-leaver/independent/GAUGE44-GLOBAL-GUARD-REVIEW.json @@ -0,0 +1,47 @@ +{ + "status": "PASS_PR635_ADMISSION_ASSERTION_PRESERVATION", + "files": [ + { + "file": "code/assemble.py", + "baseline_sha256": "1b1a9024ac910dc9b9d9e30150684e1fa9cb228a4c1c275b75ab04b57fdef1dd", + "new_sha256": "7ac28118d69416e4fb67b61216285fb0823310b7635ce1b9025aa3f10119ef6a", + "byte_identical": false, + "assert_count": 91, + "all_assertions_identical_in_order": true + }, + { + "file": "code/invoice_allcold.py", + "baseline_sha256": "141bd2fd58bbfb5b8d0fc8f56f61c45586d5608a5af3487c6b883dd987f998ec", + "new_sha256": "141bd2fd58bbfb5b8d0fc8f56f61c45586d5608a5af3487c6b883dd987f998ec", + "byte_identical": true, + "assert_count": 67, + "all_assertions_identical_in_order": true + }, + { + "file": "code/bind_providers_portable.py", + "baseline_sha256": "2eb5c262bf481b3bec9ceaec654fa46ff6fc3a89b13d4906a29a55a89e35feea", + "new_sha256": "2eb5c262bf481b3bec9ceaec654fa46ff6fc3a89b13d4906a29a55a89e35feea", + "byte_identical": true, + "assert_count": 22, + "all_assertions_identical_in_order": true + }, + { + "file": "code/generated_identity.py", + "baseline_sha256": "c8af22719c0f3097a991a3f6ccac8f090afd2faba554745733d9ea88f2c25708", + "new_sha256": "c8af22719c0f3097a991a3f6ccac8f090afd2faba554745733d9ea88f2c25708", + "byte_identical": true, + "assert_count": 4, + "all_assertions_identical_in_order": true + }, + { + "file": "code/witness.py", + "baseline_sha256": "00789c911a8f32cfe9d52207c7aa78305dc3fce4a8b6305ba402b7e74117103d", + "new_sha256": "00789c911a8f32cfe9d52207c7aa78305dc3fce4a8b6305ba402b7e74117103d", + "byte_identical": true, + "assert_count": 3, + "all_assertions_identical_in_order": true + } + ], + "centre_interface_review": "CENTRE-GUARD-REVIEW.md", + "scope": "Exact syntax preservation for all admission assertions in these five files. The changed emitter/controller centre boundary and single-provider controls require the separate semantic review; assertion counts alone do not prove them." +} diff --git a/research/gauge44-leaver/independent/GAUGE44-INDEPENDENT-PRICE.json b/research/gauge44-leaver/independent/GAUGE44-INDEPENDENT-PRICE.json new file mode 100644 index 0000000000..7478b812d3 --- /dev/null +++ b/research/gauge44-leaver/independent/GAUGE44-INDEPENDENT-PRICE.json @@ -0,0 +1,157 @@ +{ + "status": "PASS_FROZEN_PROFILE_TWO_EXACT_ENGINE_AND_OUTER47_CROSSCHECK", + "profile_input_file": "PLAN.json", + "profile_input_sha256": "b08f8dc3624c89b38897762e13f9a15e0efa688f2e0bb7fe33abe22ef4f7ddc5", + "global_profile": { + "1": 177877, + "2": 27944, + "3": 31001, + "4": 11952, + "5": 5040, + "7": 280, + "8": 599, + "16": 18, + "32": 13, + "48": 2364 + }, + "live": 7168, + "m": 73, + "rank_mass": 520704, + "deficit": 2560, + "prices": { + "native": { + "root": { + "lower": "0.001667007898013796187659", + "upper": "0.00166700789801379618766", + "lower_endpoint_residual_upper": "-2.431426148023288650562918849408452034189463608684910349558723365540705E-24", + "upper_endpoint_residual_lower": "5.123273217930672352378179136643473320633520146133519936052785362015762E-25", + "strict_rational_signs": true + }, + "exact_moments": [ + { + "endpoint": "1667007898013796187659/1000000000000000000000000", + "accept": true, + "mercator_residual": [ + "-32775559637911689514404465670564883355377605/13479973333575319897333507543509815336818572211270286240551805124608", + "-8193889909477922378601116417641220838844401/3369993333393829974333376885877453834204643052817571560137951281152" + ], + "base_two_residual": [ + "-2431427/1000000000000000000000000000000", + "-1215713/500000000000000000000000000000" + ] + }, + { + "endpoint": "83350394900689809383/50000000000000000000000", + "accept": false, + "mercator_residual": [ + "13812317271665216354913923425920726111674131/26959946667150639794667015087019630673637144422540572481103610249216", + "13812317271665216354913923425920726111674133/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "base_two_residual": [ + "512327/1000000000000000000000000000000", + "64041/125000000000000000000000000000" + ] + } + ], + "outer_with_bit": { + "complex_b": "1667007898013796187659/1000000000000000000000000", + "bit_c": "1733427039589844234749/1000000000000000000000000", + "kappa": "1664233607446043/1000000000000000000", + "kappa_decimal": "0.001664233607446043", + "binding": "complex", + "strict_constraints_passed": 47, + "controls_rejected": [ + "next_grid", + "zero_eta", + "zero_beta", + "unit_beta" + ] + } + }, + "conservative": { + "root": { + "lower": "0.001667007895147233886617", + "upper": "0.001667007895147233886618", + "lower_endpoint_residual_upper": "-1.531318625472063951793277273404095727087467424735011439902272318847256E-24", + "upper_endpoint_residual_lower": "1.412434844349707087480912263248299511020229909045323511544927283382353E-24", + "strict_rational_signs": true + }, + "exact_moments": [ + { + "endpoint": "1667007895147233886617/1000000000000000000000000", + "accept": true, + "mercator_residual": [ + "-41284268473141269362070901792794593529737265/26959946667150639794667015087019630673637144422540572481103610249216", + "-41284268473141269362070901792794593529737263/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "base_two_residual": [ + "-3828298520107574772377/2500000000000000000000000000000000000000000000", + "-7656592040215149544683/5000000000000000000000000000000000000000000000" + ] + }, + { + "endpoint": "833503947573616943309/500000000000000000000000", + "accept": false, + "mercator_residual": [ + "9519792018623329567622668821978090494164783/6739986666787659948666753771754907668409286105635143120275902562304", + "19039584037246659135245337643956180988329567/13479973333575319897333507543509815336818572211270286240551805124608" + ], + "base_two_residual": [ + "3531086479982937325477/2500000000000000000000000000000000000000000000", + "282487118398634986041/200000000000000000000000000000000000000000000" + ] + } + ], + "outer_with_bit": { + "complex_b": "1667007895147233886617/1000000000000000000000000", + "bit_c": "1733427039589844234749/1000000000000000000000000", + "kappa": "832116802294507/500000000000000000", + "kappa_decimal": "0.001664233604589014", + "binding": "complex", + "strict_constraints_passed": 47, + "controls_rejected": [ + "next_grid", + "zero_eta", + "zero_beta", + "unit_beta" + ] + } + } + }, + "bit_supplier_pr": 589, + "bit_deficit": 10272, + "bit_moments_with_surcharge": [ + { + "endpoint": "1733427039589844234749/1000000000000000000000000", + "accept": true, + "mercator_residual": [ + "-43100600330766044577088869872467188970742291/26959946667150639794667015087019630673637144422540572481103610249216", + "-43100600330766044577088869872467188970742289/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "base_two_residual": [ + "-799345163337715793503/500000000000000000000000000000000000000000000", + "-3197378653350863173989/2000000000000000000000000000000000000000000000" + ] + }, + { + "endpoint": "6933708158359376939/4000000000000000000000", + "accept": false, + "mercator_residual": [ + "22502934905675809315035333485365686073718547/13479973333575319897333507543509815336818572211270286240551805124608", + "5625733726418952328758833371341421518429637/3369993333393829974333376885877453834204643052817571560137951281152" + ], + "base_two_residual": [ + "8346798366759439729359/5000000000000000000000000000000000000000000000", + "16693606733518879458833/10000000000000000000000000000000000000000000000" + ] + } + ], + "gain_over_pr635_percent": "1.71075637934173175089511307998847021180133581733437016087411723198560364402", + "input_sha256": { + "research/complex-k492-owner-repair/vendor/multicold/engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "research/complex-k492-owner-repair/vendor/multicold/engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "research/complex-k492-owner-repair/vendor/multicold/engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "package:inputs/PR589-EXPECTED.json": "b9f0e5ca038abe837b0007c8fe006f366a6f02009244ac57705a8a200e2301f4" + }, + "scope": "Independent arithmetic for the exact nominated all72 profile. Complete local, controller and finite invoice admission are separately replayed by the package driver; this receipt does not replace them. The cited PR589 bit supplier is unchanged and its exceptional-residue surcharge is retained. Any alternative c is only a headroom comparison." +} diff --git a/research/gauge44-leaver/independent/README.md b/research/gauge44-leaver/independent/README.md new file mode 100644 index 0000000000..f97dcf81b1 --- /dev/null +++ b/research/gauge44-leaver/independent/README.md @@ -0,0 +1,43 @@ +# Independent checks + +Prepared for icekylinx with OpenAI GPT-6 Astra assistance. Apache-2.0, under the +package license. The scalar/frame audit imports no generator or supplier +checker. Pricing uses the pinned inherited rational engines and the retained +PR635 outer formula, with their original notices preserved in the main +dependency tree. + +From the delta package directory, using the pinned checkouts and a rebuilt +word: + +```sh +python independent/audit_local.py \ + --word /path/to/rebuild/cold44/FULL-WORD.json.gz \ + --main /path/to/main \ + --output /path/to/output/LOCAL-AUDIT.json + +python independent/price_profile.py \ + --main /path/to/main \ + --output /path/to/output/PRICE.json + +python independent/review_guards.py \ + --pr635 /path/to/pr635 \ + --output /path/to/output/GUARD-REVIEW.json +``` + +`audit_local.py` can run without `--main`; including it also verifies the +transported centre-frame and port boundary against the pinned parent. Its +receipt authenticates the supplied word by its content SHA256, independent +of its location. `price_profile.py` defaults to the package's `data/PLAN.json`; +`--profile` accepts another explicit profile for arithmetic only. The bit side is the cited merged PR589 supplier +(`inputs/PR589-EXPECTED.json`, git blob `e293ddc5…`); its rank-mass deficit +`T(2Kv - L*cst) = 32*(8*111 - 9*63) = 10272` is re-derived independently of +`code/assemble.py`, and the outer receipt key is `outer_with_bit`. The retained +`GAUGE44-INDEPENDENT-PRICE.json` is #645/PR543 historical evidence unless regenerated. The optional +`--headroom-c 0.001733052823330162099157` reproduces the unchanged-kappa +comparison with the reviewed PR555 rate without importing a second supplier. + +The retained receipts are `GAUGE-COLD44-INDEPENDENT-AUDIT.json`, +`GAUGE44-INDEPENDENT-PRICE.json`, and `GAUGE44-GLOBAL-GUARD-REVIEW.json`. +[CENTRE-GUARD-REVIEW.md](CENTRE-GUARD-REVIEW.md) gives the semantic argument +behind the changed centre boundary and the single-provider control branch. +The main package driver performs the separate complete global admission. diff --git a/research/gauge44-leaver/independent/audit_local.py b/research/gauge44-leaver/independent/audit_local.py new file mode 100644 index 0000000000..4744d8783c --- /dev/null +++ b/research/gauge44-leaver/independent/audit_local.py @@ -0,0 +1,171 @@ +"""Independent exact scalar/frame audit of the changed forward supplier. + +This does not import a generator, builder, stored compensation, or price. +All claimed endpoint matrices are derived from the input word's gates. +Optional --main checks the transported boundary against the pinned parent. +Prepared for icekylinx with OpenAI GPT-6 Astra assistance. Apache-2.0. +""" +import argparse,gzip,json,hashlib,time +from pathlib import Path +from fractions import Fraction as F +from collections import Counter + +def require(x,label): + if not x:raise RuntimeError(label) + +def basis(vs): + piv={} + for a in vs: + while a: + bit=a.bit_length()-1 + if bit in piv:a^=piv[bit] + else: + piv[bit]=a;break + for k in sorted(piv): + for j in piv: + if j>k and piv[j]>>k&1:piv[j]^=piv[k] + return tuple(piv[k] for k in sorted(piv,reverse=True)) + +def contained(a,b):return basis(a+b)==b + +def registers(e):return e[1:3] if e[0]=='add' else e[1:2] + +def apply(e,rows,dual=False): + if e[0]=='add': + t,s=e[1:3];q=F(e[3],e[4]);require(t!=s,'self add') + if dual:t,s,q=s,t,-q + dst=rows[t] + for k,x in list(rows[s].items()): + a=dst.get(k,F(0))+q*x + if a:dst[k]=a + else:dst.pop(k,None) + elif e[0]=='scale': + t=e[1];q=F(e[2],e[3]);require(q!=0,'zero scale') + if dual:q=1/q + rows[t]={k:q*x for k,x in rows[t].items()} + else:raise RuntimeError('unknown scalar primitive') + +def invert(e): + r=list(e) + if r[0]=='add':r[3]=-r[3] + else:r[2],r[3]=r[3],r[2] + return r + +def check_parent_interface(word,main): + # Read only the retained boundary data. No builder or local checker is imported. + relative="research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/CANONICAL-WORD.json.gz" + path=main/relative;raw=path.read_bytes() + require(hashlib.sha256(raw).hexdigest()=="66d3c3c70983224650643a0a05a21ac6c6959f84d0f4528650601016f5a76844",'parent canonical input pin') + parent=json.loads(gzip.decompress(raw)) + tau=lambda x:x^(43 if (x&43).bit_count()%2 else 0) + ports=parent['ports'];v=word['report']['v'] + require(len(ports)==len(set(ports))==v,'parent port count') + require(set(map(tau,word['ports']))==set(ports),'transported source/target ports') + moved={i:ports.index(tau(p)) for i,p in enumerate(word['ports'])} + centers=[moved.get(r,r) for r in word['centers']] + actual=[list(basis([tau(x) for x in frame])) for frame in word['center_frames']] + expected=[parent['frames'][f] for f in parent['center_frames']] + require(len(centers)==len(set(centers))==len(actual)==8,'eight distinct centre carriers') + require(actual==expected and all(len(f)==8 for f in actual),'ordered centre frame interface') + return dict(parent_path=relative,parent_file_sha256=hashlib.sha256(raw).hexdigest(), + transport_tau=43,ordered_frame_bases_match=True,all_ports_match=True, + transported_centers=centers,source_centers=[r for r in centers if r=2*v} + for e in w['precondition']:apply(e,dirt) + compensation=[['add',y,k,-a.numerator,a.denominator,[]] for y in range(v,2*v) for k,a in sorted(dirt[y].items())] + entering=set(map(int,w.get('start_extra',{})));lowends=set(map(int,w.get('helper_final',{}))) + coldends=lowends-entering + require(not any(e[2] in entering for e in compensation),'nonzero entrance response') + require(not any(r in entering|coldends for e in w['precondition']+compensation for r in registers(e)), 'pre-wrapper touch of residual helper') + require(all(e[-1]==[] for e in w['precondition']+compensation),'nonzero frame precondition') + early=w.get('early_cleanup',[]);earlyids={i for i,U in early} + require(len(earlyids)==len(early),'duplicate early cleanup gate') + tail=[w['cleanup'][i][:-1]+[U] for i,U in early] + cleanup=[e for i,e in enumerate(w['cleanup']) if i not in earlyids] + prefix=w['precondition']+compensation+main + program=prefix+tail+cleanup + for dual in (False,True): + actual=ident() + for e in program:apply(e,actual,dual) + expected=ident() + for t in range(v):expected[t if dual else v+t][v+t if dual else t]=F(-1 if dual else 1) + bad=[i for i in range(n) if actual[i]!=expected[i]] + require(not bad,'all-column endpoint failure '+str((dual,bad[:8]))) + print('endpoint', 'dual' if dual else 'forward','PASS',flush=True) + full=basis([1< 2*max(H)**2, 'halving guard') + rows = [] + for z, accept in [(lower, True), (lower+Q(1, 10**24), False)]: + l, u = M.moment(H, m, W, z, bad) + ll, uu = B.moment(m, W, list(H.items()), z) + if bad: + fl, fu = B.moment(m, W, [(1, 32*m*m*sum(H.values()))], z) + ll, uu = ll+fl/10**16, uu+fu/10**16 + require((u < 1 and uu < 1) if accept else (l > 1 and ll > 1), 'two exact moment signs') + rows.append(dict(endpoint=str(z), accept=accept, + mercator_residual=[str(l-1), str(u-1)], + base_two_residual=[str(ll-1), str(uu-1)])) + return rows + + +def outer47(c, b, engine): + eta = beta = Q(1, 10**24) + s = min(c, (1-beta)*b)-Q(1, 10**27) + require(0 < s < c and s < (1-beta)*b, 'strict common saving') + a = Q(384599, 10**10) + for _ in range(7): + old = a + a = (1-s)*s+s*old + gap = min(s-a, 1-a-s, 1-a-s*(1-old), 1-s) + require(old < a < s < 1-a and gap > 0, 'bootstrap gap') + ceil = lambda x: -(-x.numerator//x.denominator) + cut = max(ceil(36/gap**2), ceil(2*(4+512)/gap)) + require(cut*gap**2 >= 36 and cut*gap >= 2*(4+512), 'finite bootstrap cutoff') + q = a*(1-2*eta) + margin = (1-eta)*q/(1+q) + ticks = margin*10**18 + k = Q((ticks.numerator-1)//ticks.denominator, 10**18) + bridge = {'semantic': {'C0': {'base': 2, 'exponent': 210000}, 'strict_literal_gap': 1}, + 'rows': {'degree_gap': Q(10**6)-Q(51*20161, 25)}} + result = engine.assembly(a, b, bridge, k, eta=eta, beta=beta) + require(len(result['strict_constraints']) == 47, '47 outer constraints') + require(all(x > 0 for x in result['strict_constraints'].values()), 'strict outer constraints') + rejected = [] + for name, kk, ee, be in [('next_grid', k+Q(1, 10**18), eta, beta), + ('zero_eta', k, Q(0), beta), ('zero_beta', k, eta, Q(0)), + ('unit_beta', k, eta, Q(1))]: + try: + engine.assembly(a, b, bridge, kk, eta=ee, beta=be) + except AssertionError: + rejected.append(name) + else: + raise RuntimeError('accepted negative control: '+name) + return dict(complex_b=str(b), bit_c=str(c), kappa=str(k), kappa_decimal=decimal(k), + binding='bit' if c < (1-beta)*b else 'complex', + strict_constraints_passed=47, controls_rejected=rejected) + + +def main(): + require(__debug__, 'Do not use python -O: the retained outer engine requires assertions') + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--main', type=Path, required=True, help='Pinned main checkout') + parser.add_argument('--profile', type=Path, default=HERE.parent/'data/PLAN.json', + help='Raw profile or a JSON object containing profile/global_profile') + parser.add_argument('--output', type=Path, required=True) + parser.add_argument('--headroom-c', help='Optional alternative bit saving, for comparison only') + args = parser.parse_args() + inputs = json.loads((HERE.parent/'data/UPSTREAM-PINS.json').read_text()) + selected = [SOURCE/'engines'/(n+'.py') for n in ('moment', 'base_two_moment', 'outer')] + for relative in selected: + require(sha(args.main/relative) == inputs[relative.as_posix()], 'pinned input '+str(relative)) + M, B, A = [load(args.main/SOURCE/'engines', n) for n in ('moment', 'base_two_moment', 'outer')] + supplied = json.loads(args.profile.read_text()) + H = {int(r): n for r, n in supplied.get('profile', supplied.get('global_profile', supplied)).items()} + bit_data = BIT_PATH.read_bytes() + require(hashlib.sha1(b'blob '+str(len(bit_data)).encode()+b'\0'+bit_data).hexdigest() == BIT_BLOB, 'PR589 blob pin') + record = json.loads(bit_data) + bit = record['nine'] + require('nine-stage' in bit['pipeline'] and '32 replicas' in bit['pipeline'], 'nine-stage bit record') + bit_deficit = pr589_deficit(record['word'], bit['bit']['live']) + require(sum(int(r)*n for r, n in bit['profile'].items()) == bit['bit']['rank_mass'], 'bit rank mass') + c = Q(bit['bit_lower']) + bit_checks = moment_checks(M, B, {int(r): n for r, n in bit['profile'].items()}, + 64, bit['bit']['live'], c, bit_deficit, True) + prices = {} + for mode, bad in [('native', False), ('conservative', True)]: + root = M.certify(H, 73, 7168, bad) + root = {key: root[key] for key in ('lower', 'upper', 'lower_endpoint_residual_upper', + 'upper_endpoint_residual_lower', 'strict_rational_signs')} + b = Q(root['lower']) + row = dict(root=root, exact_moments=moment_checks(M, B, H, 73, 7168, b, 2560, bad), + outer_with_bit=outer47(c, b, A)) + if args.headroom_c: + alternate = outer47(Q(args.headroom_c), b, A) + require(alternate['kappa'] == row['outer_with_bit']['kappa'], 'headroom comparison changed kappa') + row.update(outer_with_alternative_bit_rate=alternate, same_kappa_with_either_bit_rate=True) + prices[mode] = row + native_k = Q(prices['native']['outer_with_bit']['kappa']) + result = dict(status='PASS_FROZEN_PROFILE_TWO_EXACT_ENGINE_AND_OUTER47_CROSSCHECK', + profile_input_file=args.profile.name, profile_input_sha256=sha(args.profile), + global_profile=H, live=7168, m=73, rank_mass=sum(r*n for r, n in H.items()), deficit=2560, + prices=prices, bit_supplier_pr=589, bit_deficit=bit_deficit, bit_moments_with_surcharge=bit_checks, + gain_over_pr635_percent=decimal(100*(native_k/Q('0.001636241501576388')-1)), + input_sha256={**{relative.as_posix(): sha(args.main/relative) for relative in selected}, 'package:inputs/PR589-EXPECTED.json': sha(BIT_PATH)}, + scope='Independent arithmetic for the exact nominated all72 profile. Complete local, controller and finite invoice admission are separately replayed by the package driver; this receipt does not replace them. The cited PR589 bit supplier is unchanged and its exceptional-residue surcharge is retained. Any alternative c is only a headroom comparison.') + args.output.write_text(json.dumps(result, indent=2)+'\n') + print(result['status'], prices['native']['outer_with_bit']['kappa_decimal'], result['gain_over_pr635_percent']) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-leaver/independent/review_guards.py b/research/gauge44-leaver/independent/review_guards.py new file mode 100644 index 0000000000..086dcf3d11 --- /dev/null +++ b/research/gauge44-leaver/independent/review_guards.py @@ -0,0 +1,46 @@ +"""Reproduce the assertion-preservation part of the independent guard review. + +This compares complete assertion ASTs in their traversal order. It supplements +the semantic centre-interface argument in CENTRE-GUARD-REVIEW.md. +Prepared for icekylinx with OpenAI GPT-6 Astra assistance. Apache-2.0. +""" +import argparse +import ast +import hashlib +import json +from pathlib import Path + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--pr635', type=Path, required=True, help='Pinned PR635 checkout or supplier directory') + parser.add_argument('--delta', type=Path, default=Path(__file__).resolve().parents[1]) + parser.add_argument('--output', type=Path, required=True) + args = parser.parse_args() + old = args.pr635 + if not (old/'code/assemble.py').exists(): + old = old/'research/complex-571-cold14-st2' + names = ['assemble.py', 'invoice_allcold.py', 'bind_providers_portable.py', + 'generated_identity.py', 'witness.py'] + records = [] + for name in names: + a, b = (old/'code'/name).read_bytes(), (args.delta/'code'/name).read_bytes() + assertions = lambda data: [ast.dump(n, include_attributes=False) for n in ast.walk(ast.parse(data)) + if isinstance(n, ast.Assert)] + aa, bb = assertions(a), assertions(b) + if aa != bb: + raise RuntimeError('Assertion sequence changed: '+name) + records.append(dict(file='code/'+name, baseline_sha256=hashlib.sha256(a).hexdigest(), + new_sha256=hashlib.sha256(b).hexdigest(), byte_identical=a == b, + assert_count=len(aa), all_assertions_identical_in_order=True)) + if records[0]['assert_count'] != 91: + raise RuntimeError('The expected PR635 assembly has 91 assertions') + result = dict(status='PASS_PR635_ADMISSION_ASSERTION_PRESERVATION', files=records, + centre_interface_review='CENTRE-GUARD-REVIEW.md', + scope='Exact syntax preservation for all admission assertions in these five files. The changed emitter/controller centre boundary and single-provider controls require the separate semantic review; assertion counts alone do not prove them.') + args.output.write_text(json.dumps(result, indent=2)+'\n') + print(result['status'], [r['assert_count'] for r in records]) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-leaver/inputs/PR589-EXPECTED.json b/research/gauge44-leaver/inputs/PR589-EXPECTED.json new file mode 100644 index 0000000000..e293ddc557 --- /dev/null +++ b/research/gauge44-leaver/inputs/PR589-EXPECTED.json @@ -0,0 +1,222 @@ +{ + "word": { + "file": "tune/bitE8mut-p111-tuned.json.gz", + "file_sha256": "e3e301e62bc2b41dbf1ceac0acf3d35824ebeab1848c5a2142d4577b109da52f", + "content_sha256": "5642fd0e35a1acc11acff8d0c08350c1617e95f310d4d35ad63a651f9eeeba0b", + "v": 111, + "R": 439, + "punctured": [ + 10, + 15, + 51, + 53, + 56, + 66, + 72, + 89, + 111 + ], + "retained_totals": 9, + "copy_ranks": [ + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7 + ], + "decoder_constant": 63, + "gates": { + "D": 111, + "A": 2075, + "B": 712, + "C": 2574 + }, + "local_histogram": { + "1": 1323, + "2": 1342, + "3": 79, + "4": 44, + "5": 102, + "6": 11, + "7": 19 + }, + "legality": { + "records": 27234, + "common_frame_ADDs": 24305, + "rank_mass": 5129 + }, + "five_stage_columns": 883, + "five_stage_payload_bits": 93, + "nine_stage_columns": 1327, + "nine_stage_payload_bits": 93, + "eleven_stage_columns": 1549, + "eleven_stage_payload_bits": 93, + "base_content_sha256": "d0df3c89ae84989f4045ba1681a5e2e9fcdfa38ed0301c8abf5185537155cbe3" + }, + "interface": { + "hypotheses": { + "H1_no_target_feeds_z": true, + "H2_D_frame0_targets_from_helpers": true, + "H3_A_z_only_scatter_targets_B_split": true, + "H4_C_literal_reverse_at_full": true, + "H5_V_identity": true + }, + "conclusion": { + "U_block_form": true, + "J_identity": true, + "K_equals_D": true, + "C_is_U_inverse": true + }, + "interleaving": { + "z_gates_A": 2075, + "source_writes_A": 0, + "z_gates_B": 499, + "source_writes_B": 483, + "helper_writes_B": 16, + "sources_rewritten_B": 108, + "B_z_write_frame_dims": { + "4": 388, + "6": 111 + }, + "B_z_operand_kinds": { + "helper<-helper": 3, + "helper<-source": 13, + "source<-helper": 108, + "source<-source": 375 + }, + "B_z_operand_kinds_by_dim": { + "dim4:helper<-source": 13, + "dim4:source<-source": 375, + "dim6:helper<-helper": 3, + "dim6:source<-helper": 108 + }, + "B_z_writes_after_a_target_read_of_the_same_register": 454, + "B_target_reads_of_registers_rewritten_earlier_in_B": 111, + "target_reads_of_targets": 0, + "cleanup_gates": 2574 + } + }, + "nine": { + "pipeline": "PR #510 (PR #463 nine-stage template, 32 replicas, PR #442 hosting, PR #493 outer assembly), parameterised for v <= 120 by code/adapt9p.py", + "bit_lower": "1733427039589844234749/1000000000000000000000000", + "bit_lower_decimal": "0.001733427039589844234749", + "profile": { + "1": 381024, + "2": 400416, + "3": 22752, + "4": 26880, + "5": 29376, + "6": 17376, + "7": 26784, + "42": 288 + }, + "bit": { + "live": 28416, + "physical": 28425, + "maxchild": 42, + "rank_mass": 1808352, + "hosted_residuals": 126432, + "bank_assignments": 0, + "prefix_bits": 177, + "charged_prefix_bits": 192, + "coefficient_bits": 177, + "two_level_coefficient_bits": 393, + "charged_two_level_coefficient_bits": 512, + "row_coefficient": 18355, + "halving_depth": 2 + }, + "kappa": { + "pr548": { + "kappa": "49718254847979/31250000000000000", + "kappa_decimal": "0.001590984155135328", + "complex_lower": "796759709641153381751/500000000000000000000000", + "binding_component": "complex" + }, + "pr544": { + "kappa": "397677800014309/250000000000000000", + "kappa_decimal": "0.001590711200057236", + "complex_lower": "31864911873350496687/20000000000000000000000", + "binding_component": "complex" + }, + "pr535": { + "kappa": "793733736881443/500000000000000000", + "kappa_decimal": "0.001587467473762886", + "complex_lower": "1589991533606044174031/1000000000000000000000000", + "binding_component": "complex" + }, + "pr531": { + "kappa": "1517760977820331/1000000000000000000", + "kappa_decimal": "0.001517760977820331", + "complex_lower": "304013615566499291631/200000000000000000000000", + "binding_component": "complex" + } + } + }, + "eleven": { + "pipeline": "PR #493 (PR #445 geometry, PR #472 emitter, audit and invoice, PR #442 hosting), parameterised by PR #545's code/adapt.py", + "bit_lower": "855475950388791987811/500000000000000000000000", + "bit_lower_decimal": "0.001710951900777583975622", + "profile": { + "1": 116424, + "2": 121648, + "3": 6952, + "4": 7424, + "5": 8976, + "6": 4520, + "7": 8776, + "56": 2600 + }, + "bit": { + "live": 8880, + "physical": 8889, + "maxchild": 56, + "rank_mass": 689304, + "hosted_residuals": 38632, + "prefix_bits": 4304, + "charged_prefix_bits": 4352, + "coefficient_bits": 4304, + "three_level_coefficient_bits": 12966, + "charged_three_level_coefficient_bits": 12992, + "row_coefficient": 19431, + "halving_depth": 3 + }, + "emitted_program_sha256": "793b6f40c9aa4b8db57fec0ac0973e16884dae28707e482ee8f7a2349a5d5a4b", + "kappa": { + "pr548": { + "kappa": "49718254847979/31250000000000000", + "kappa_decimal": "0.001590984155135328", + "complex_lower": "796759709641153381751/500000000000000000000000", + "binding_component": "complex" + }, + "pr544": { + "kappa": "397677800014309/250000000000000000", + "kappa_decimal": "0.001590711200057236", + "complex_lower": "31864911873350496687/20000000000000000000000", + "binding_component": "complex" + }, + "pr535": { + "kappa": "793733736881443/500000000000000000", + "kappa_decimal": "0.001587467473762886", + "complex_lower": "1589991533606044174031/1000000000000000000000000", + "binding_component": "complex" + }, + "pr531": { + "kappa": "1517760977820331/1000000000000000000", + "kappa_decimal": "0.001517760977820331", + "complex_lower": "304013615566499291631/200000000000000000000000", + "binding_component": "complex" + } + } + }, + "base": { + "nine_bit_lower": "1733052823330162099157/1000000000000000000000000", + "nine_bit_lower_decimal": "0.001733052823330162099157", + "eleven_bit_lower": "427652201524503168379/250000000000000000000000", + "eleven_bit_lower_decimal": "0.001710608806098012673516", + "note": "PR #555's EXPECTED.json (untuned word); the tune/ pipeline is the same, with the same frozen hosting selections" + } +} diff --git a/research/gauge44-leaver/verify_global.py b/research/gauge44-leaver/verify_global.py new file mode 100644 index 0000000000..7ab79e3062 --- /dev/null +++ b/research/gauge44-leaver/verify_global.py @@ -0,0 +1,112 @@ +"""Replay the changed global admission against pinned upstream dependencies. + +The local directory must contain the fresh canonical/native/phase/wrapper +artifacts produced by construction/reproduce.py. Frozen evidence may be used +for a short admission-only replay. No optimizer runs during this verifier. +""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import subprocess +import sys +import time + +assert __debug__, 'Assertions required' +PACKAGE = Path(__file__).resolve().parent + + +def sha(path): + return hashlib.sha256(Path(path).read_bytes()).hexdigest() + + +def dump(path, value): + Path(path).write_text(json.dumps(value, indent=2) + '\n') + + +ap = argparse.ArgumentParser(description=__doc__) +ap.add_argument('--main', type=Path, required=True, help='Pinned CrocSwap main checkout') +ap.add_argument('--local', type=Path, required=True, help='Rebuilt or frozen native gauge44 directory') +ap.add_argument('--work', type=Path, required=True, help='New output directory') +ap.add_argument('--discover', action='store_true', help=argparse.SUPPRESS) +args = ap.parse_args() +main, local, work = args.main.resolve(), args.local.resolve(), args.work.resolve() +assert not work.exists(), 'Output directory must be new' +source = main/'research/complex-k492-owner-repair/vendor/multicold' +baseline = main/'research/community-k492-audit/pr622/replay/baseline558' +vendor = source/'vendor/pr558/vendor/pr552/complex-global/vendor531' +pins = PACKAGE/'data/UPSTREAM-PINS.json' +if pins.exists(): + for rel, expected in json.loads(pins.read_text()).items(): + assert sha(main/rel) == expected, 'Upstream dependency changed: ' + rel +else: + assert args.discover, 'Missing upstream pins' + paths = list((baseline/'complex-global/base').rglob('*')) + paths += [source/'code/run_portable.py', source/'inputs/PR543-EXPECTED.json', + vendor/'evidence/audit/PREFIX-AND-INVOICE.json'] + paths += [source/'vendor/pr558/vendor/pr552/complex-global/vendor535/inputs/ROUND20-PARENT-TEMPLATE.json.gz', + baseline/'complex-global/controller-input/split-centres/CANONICAL-WORD.json.gz', + vendor/'code/prepare_supplier_base.py'] + paths += [source/'engines'/name for name in ('moment.py', 'base_two_moment.py', 'outer.py')] + dump(pins, {p.relative_to(main).as_posix(): sha(p) for p in sorted(paths) if p.is_file()}) +work.mkdir(parents=True) +env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONUTF8='1', + PYTHONINTMAXSTRDIGITS='0', MULTICOLD_SOURCE=str(source), + GAIN_PR564_SOURCE=str(source), WITNESS_SPEC=str(PACKAGE/'data/SPEC.json')) +env.pop('PYTHONOPTIMIZE', None) +env.pop('WITNESS_DISCOVER', None) +env.pop('WITNESS_RECORD', None) +if args.discover: + env.update(WITNESS_DISCOVER='1', WITNESS_RECORD=str(work/'WITNESS-RECORD.jsonl')) +stages = [] + + +def run(name, script, *arguments): + started = time.monotonic() + log = work/(name + '.log') + with log.open('w') as stream: + result = subprocess.run([sys.executable, '-B', str(source/'code/run_portable.py'), + str(script), *map(str, arguments)], env=env, + stdout=stream, stderr=subprocess.STDOUT) + stages.append(dict(name=name, seconds=round(time.monotonic()-started, 3), + exit_code=result.returncode, log_sha256=sha(log))) + dump(work/'STAGES.json', stages) + if result.returncode: + raise RuntimeError(name + ' failed:\n' + log.read_text()[-7000:]) + print('PASS', name, stages[-1]['seconds'], flush=True) + + +code = PACKAGE/'code' +global_dir = work/'global' +run('restore-parent', code/'restore_parent.py', '--source', source, + '--baseline', baseline, '--out', work/'parent558') +run('bind', code/'bind_providers_portable.py', '--baseline', work/'parent558', + '--provider', 'gauge44='+str(local), '--plan', PACKAGE/'data/PLAN.json', '--out', global_dir) +run('emit', code/'emit_allcold.py', '--base', global_dir/'base', + '--owners', PACKAGE/'data/OWNERS.json.gz', '--plan', global_dir/'PLAN.json', '--out', global_dir/'hosted') +run('audit', code/'audit_allcold.py', global_dir/'base', global_dir/'hosted', + global_dir/'audit/ASYNC-AUDIT.json', '--mutation-controls') +run('invoice', code/'invoice_allcold.py', '--base', global_dir/'base', + '--hosted', global_dir/'hosted', '--audit', global_dir/'audit', '--out', global_dir/'audit', + '--retained-invoice', vendor/'evidence/audit/PREFIX-AND-INVOICE.json') +run('assembly', code/'assemble.py', source, global_dir, work/'ASSEMBLY.json') +if not args.discover: + run('admission-controls', code/'assembly_controls.py', '--source-package', source, + '--owner', global_dir/'audit/OWNERS-AND-PROFILE.json', + '--invoice', global_dir/'audit/PREFIX-AND-INVOICE.json', '--out', work/'ADMISSION-CONTROLS.json') + run('bit-supplier-controls', code/'bit_supplier_controls.py', '--source-package', source, + '--owner', global_dir/'audit/OWNERS-AND-PROFILE.json', + '--invoice', global_dir/'audit/PREFIX-AND-INVOICE.json', '--out', work/'BIT-SUPPLIER-CONTROLS.json') + bit_controls = json.loads((work/'BIT-SUPPLIER-CONTROLS.json').read_text()) + assert bit_controls['status'] == 'PASS_PR589_BIT_SUPPLIER_DERIVED_DEFICIT_NEGATIVE_CONTROLS' + assert len(bit_controls['rejected_controls']) == 12 and bit_controls['derived_deficit'] == 10272 +result = json.loads((work/'ASSEMBLY.json').read_text()) +dump(work/'REPLAY.json', dict(status='PASS_GAUGE44_DISCOVERY' if args.discover else 'PASS_GAUGE44_STRICT_GLOBAL_REPLAY', + kappa=result['kappa'], kappa_decimal=result['kappa_decimal'], + complex_lower=result['complex_lower'], bit_lower=result['bit_lower'], + bit_supplier=result['bit_supplier'], + gain_over_pr635_percent=result['gain_over_pr635_percent'], + spec_sha256=sha(PACKAGE/'data/SPEC.json'), stages=stages, + scope=result['scope'])) +print(result['status'], result['kappa_decimal'], result['gain_over_pr635_percent'], flush=True) diff --git a/research/gauge44-leaver/verify_manifest.py b/research/gauge44-leaver/verify_manifest.py new file mode 100644 index 0000000000..8c2441d392 --- /dev/null +++ b/research/gauge44-leaver/verify_manifest.py @@ -0,0 +1,19 @@ +"""Verify the submitted package's exact file inventory and SHA256 bindings.""" +from hashlib import sha256 +import json +from pathlib import Path + +root = Path(__file__).resolve().parent +expected = json.loads((root / 'MANIFEST.json').read_text()) +actual = { + p.relative_to(root).as_posix(): sha256(p.read_bytes()).hexdigest() + for p in root.rglob('*') + if p.is_file() and '__pycache__' not in p.parts + and p != root / 'MANIFEST.json' +} +if actual != expected: + missing = sorted(expected.keys() - actual.keys()) + extra = sorted(actual.keys() - expected.keys()) + changed = sorted(k for k in expected.keys() & actual.keys() if expected[k] != actual[k]) + raise SystemExit(f'Manifest mismatch: missing={missing}, extra={extra}, changed={changed}') +print(f'PASS package manifest: {len(actual)} files') diff --git a/research/gauge44-leaver8/CONSTRUCTION.md b/research/gauge44-leaver8/CONSTRUCTION.md new file mode 100644 index 0000000000..fa15676366 --- /dev/null +++ b/research/gauge44-leaver8/CONSTRUCTION.md @@ -0,0 +1,210 @@ +# Gauge44: a changed factory forward map with 44 rank-four cold ends + +Prepared for icekylinx with OpenAI GPT-6 Astra assistance. Apache-2.0. This note describes the new complex local construction. The package's global evidence supplies the resulting global bound and retains the upstream conditional assumptions. + +## 1. Exact result and comparison + +The final word has 112 source ports, 112 target ports and 492 helper registers. It implements the same arbitrary-dirt scalar endpoint as the upstream word, + +$$ +(X,Y,H)\longmapsto(X,Y+X,H), +$$ + +and its inverse-transpose orientation is checked separately. All 204 nonzero entrance frames remain valid. The new ending set consists of **44 cold helpers at rank-four frames**, together with the 34 entering-helper ends inherited from the JP8 HPE stage. + +The precise comparison is with the JP8 provider reconstructed from PR635, commit `a6895a69f8ad98ab45777b03e9e6f48888c39f6f`: + +| Local quantity | PR635 JP8 | Gauge44 | +|---|---:|---:| +| Helpers | 492 | 492 | +| Nonzero entrance frames | 204 | 204 | +| Rank-four cold ends | 22 | 44 | +| Rank-seven cold ends | 2 | 0 | +| Rank-eight cold ends | 4 | 0 | +| Entering helpers ending below FULL | 36 | 34 | +| Total residual helper width | 3894 | **3794** | +| Local paid rank mass | 5750 | **5650** | + +Thus the new word saves **100 units of residual width per invocation** against the complete PR635 provider. It replaces that provider's cold-end construction; the old six higher-rank cold ends and two additional entering ends are not added to the new count. + +The exact paid-child profiles are: + +| Child rank | PR635 count | Gauge44 count | +|---:|---:|---:| +| 1 | 2518 | 2514 | +| 2 | 402 | 404 | +| 3 | 448 | 448 | +| 4 | 164 | 160 | +| 5 | 68 | 56 | +| 6 | 4 | 0 | +| 8 | 8 | 8 | + +The final residual-width inventory is `{4:52, 5:48, 7:34, 8:114, 9:244}`. Both the profile and the inventory are recomputed from the literal native frame chains. They are not inferred from the nominal number of ended helpers. + +## 2. What changes in the forward factory + +The inherited K-triangle schedule and its 492-helper allocation remain the starting construction. Within each of the fourteen eight-source packet factories, three changes alter the arbitrary-dirt forward map while retaining the required clean packet values. + +### A. Exchange a source with an equal clean copy + +After the sixteen initial copy gates, local source position `j` and its two helper copies have clean values `(x_j,x_j,x_j)`. For positions `j = 4,5,6,7`, exchange the original source register with its second helper copy. The exact register pair in the constructor is `mp[j]` and `mp[2*j+9]`. + +For arbitrary helper dirt the triple is instead + +$$ +(x_j,\;x_j+h_{j,1},\;x_j+h_{j,2}). +$$ + +The exchange changes where the second dirty direction enters the subsequent factory. It does not change any clean operand. Both exchanged registers already have the same rank-one frame, so the exchange adds no frame climb. Each exchange is emitted as three additions and one sign change; these scalar operations remain part of the finite implementation invoice. + +This is a change of the forward map, not an output relabeling. In particular, the inverse recovery functional for the original source changes from the original branch to a different combination of the three equal-clean branches. That changes which cold input directions can have their entire final support inside a low frame. + +### B. Change the complement to the four coordinate totals + +Eight retired factory rows already span the eight source coordinates. The first four rows of their replacement basis are the four required coordinate totals. The remaining four rows are chosen by exact row-rank extension, first using the ordered clean linear forms recorded in `construction/COMPLETION-PRIORITY.json`, then using coordinate rows if an extension is still needed. + +These candidate forms are the future low-frame leaver forms used during discovery. The frozen priority data are the complete input to the final constructor: no discovery search is run in reproduction. Every accepted row must increase the rational rank; the resulting eight-by-eight basis is explicitly applied by elementary operations. + +All eight retired registers are already at the block's rank-four frame. Consequently this basis replacement also adds no frame climb. It gives the low final rows more independent linear combinations that annihilate the original source data. + +### C. Place coordinate totals on the available source carriers + +The retired registers are ordered with source registers first. Three available source carriers and one helper carry the four coordinate totals, leaving the four complementary rows on physical helper registers. This lets the new cold directions end on helper wires under the unchanged native endpoint interface. + +A carrier permutation alone does not increase the available cold space. Its role here is to realize the independent directions created jointly by the source-copy exchange and the new complementary basis. + +## 3. Exact cold-space calculation + +Let `P` be the non-target forward matrix after parts A and B and the 34 inherited HPE tail gates. It has 604 rows and columns: 112 original sources and 492 helpers. Let `J` be the 316 protected initial columns consisting of the 112 original sources and all 204 entering helpers. + +For a block frame `F`, let `I` be every non-target output register whose current frame is contained in `F`. Source output rows are included in this set. Define + +$$ +L=\operatorname{leftker} P[I,J],\qquad +K=\ker P^{-1}[J,I]. +$$ + +Rows of `L` are low output linear forms with no protected initial dependence. Columns of `K` are low-supported output directions whose inverse images have no protected component. The rank of the pairing `LK` counts the simultaneously usable cold directions in this fixed forward word. + +The changed forward map has the following exact block data: + +| Block indices | Number of blocks | Low registers `|I|` | `dim L` | `dim K` | `rank(LK)` | +|---|---:|---:|---:|---:|---:| +| 0, 1, 2, 11, 12, 13 | 6 | 6 | 2 | 4 | **2** | +| 3 through 10 | 8 | 8 | 4 | 4 | **4** | + +The count is therefore `6*2 + 8*4 = 44`. The fixed upstream rank-four cold construction supplied one and two directions respectively, for `6*1 + 8*2 = 22`. + +The complement change by itself improves the available low annihilating rows but leaves the inverse-support obstruction. The source-copy exchanges remove that obstruction: `K` has dimension four in every block and pairs with all the available rows of `L`. + +## 4. Realizing the directions with legal dyadic operations + +`construction/build_gauge_cold44.py` recomputes these spaces over exact rational numbers. It selects columns of `K` and normalizes them to a matrix `U` satisfying + +$$ +LU=I_r, +\qquad q=P^{-1}[:,I]U. +$$ + +The constructor checks that `q` is supported entirely on that block's sixteen initially cold factory helpers, denoted `H_b`. Put + +$$ +R_b=LP[I,H_b]. +$$ + +Then `R_b q[H_b,:] = I_r`. A sixteen-by-sixteen input basis `Q_b` places the columns `q[H_b,:]` at the designated ended-helper positions and fills the other columns with a basis of `ker R_b`. The resulting input basis is explicitly invertible. + +For the low-frame output transformation, the ended-helper rows are replaced by the rows of `L`; each remaining low row `i` becomes + +$$ +e_i-U_iL. +$$ + +The actual chosen helper positions give an invertible tail matrix. Its nonsingularity and dyadic implementation are checked by exact elimination, rather than assumed from a dimension count. The construction receipt records every `Q_b`, tail matrix and selected endpoint. + +Every `Q_b` is emitted at frame zero, at the head of A **after** the entry normalization wrappers. Every low tail is emitted at its block frame. The remaining cleanup is rebuilt as an exact dyadic Gauss-Jordan inverse on the non-ended registers at FULL. It is not obtained by blindly reversing a changed partial schedule. + +Before forming the FULL inverse, the constructor verifies both the row and the column identity of each of the 78 ended helpers. Thus no protected data or other helper dirt remains in an ended helper, and its initial dirt remains nowhere else. The FULL inverse skips these isolated rows and columns entirely. + +The realized word has: + +| Construction component | Scalar gates | +|---|---:| +| Frame-zero helper premix | 1489 | +| New rank-four tail | 60 | +| Inherited HPE tail | 34 | +| Refactored FULL inverse | 28056 | +| Additional target compensation after wrappers | **0** | + +All selected new cold directions have zero target response. The independent scalar auditor nevertheless recomputes the complete existing dirty-response compensation, obtaining 7348 additions, and checks both orientations on all 716 input columns. + +Relative to the HPE-stage word before any cold-end construction, the aggregate chain delta is `N_1 += 44, N_6 -= 44`, reducing rank mass and residual width by 220. PR635 had already saved 120 units through its complete cold/extra-HPE construction. The net new saving is therefore 100. There is no omitted cost for lifting the low tails: their rank-one increments are included explicitly. + +## 5. Native interface and validation + +The transport preserves the exact ordered list of 112 ports and the exact ordered eight center frames. The center carriers change because some totals now reside on sources. In native coordinates they are + +``` +[92, 57, 81, 224, 11, 240, 9, 256] +``` + +A global interface check must compare the ordered center frames and port geometry, and use the provider's actual center carriers. Equality of carrier numbers with an old provider is not a mathematical requirement. The local event ledgers explicitly clear all private center channels in both orientations. + +Completed checks for the frozen word include exact forward and inverse-transpose scalar replay on all 716 columns; every literal native frame chain; the 204 zero-response entrance conditions; the 44 cold and 34 entering endpoint cones; wrapper placement and normalized wrapper identities; both emitted local ledgers; and exact phase lowering for 3019 directed edges and 224 endpoint adapters. The independent audit does not import the new constructor. + +This local result does not by itself certify a global exponent. Physical whole-family owners, actual residual/spectator routing, idle remainders, global scalar assembly and the complete finite invoice are the separate global checks reported elsewhere in the package. + +## 6. Compact reproduction + +Only Python's standard library is needed for this construction and the retained local pipeline. Do not use `python -O`. The reproduction driver checks byte hashes of every named upstream input and the changed code, then checks the content hash after each construction step. Its two source checkouts are: + +| Argument | Repository commit | +|---|---| +| `--main` | `17ce0c79b7b51c2634b439ea5a2b754f09909693` | +| `--pr635` | `a6895a69f8ad98ab45777b03e9e6f48888c39f6f` | + +Starting from a clone of `https://github.com/CrocSwap/integer-mult-bounds` containing those commits, prepare detached worktrees: + +```bash +git -C integer-mult-bounds fetch origin main refs/pull/635/head +git -C integer-mult-bounds worktree add --detach ../integer-main 17ce0c79b7b51c2634b439ea5a2b754f09909693 +git -C integer-mult-bounds worktree add --detach ../integer-pr635 a6895a69f8ad98ab45777b03e9e6f48888c39f6f +``` + +From the directory containing those worktrees and this delta package, run: + +```bash +python -B research/gauge44-global/construction/reproduce.py \ + --main integer-main \ + --pr635 integer-pr635 \ + --out gauge44-reproduction +``` + +The default stops after regenerating the exact final scalar word and comparing the newly derived cold recipe with the frozen recipe. It rebuilds only the two short shadow steps needed by the four port transfers. It does not rerun the ancestor admission stack, search for a basis, optimize owners, or replay global assembly. + +Use `--frozen-cold` to splice the included recipe instead of re-deriving its small exact linear systems. Use `--until local` to add native transport, emitted ledgers, independent local replay and wrappers. Use `--until phases` to add the complete phase lowering. Every invocation needs a fresh output directory; these are alternatives, not resumable increments. On the research machine, exact cold derivation took about 2.6 seconds, native transport/ledgers/replay/wrappers about 41 seconds, and complete phase lowering about 198 seconds. + +The exact dependency chain is: + +1. Construct the changed raw R492 factory from the pinned Hamming inputs, frozen priority and pinned K-triangle schedule. +2. Apply the four inherited port stages. +3. Apply the inherited B-frame regroup and 34-HPE construction. +4. Derive the exact block premixes, cold44 tails and FULL inverse. +5. Optionally emit and check the native ledgers, wrappers and complete phase lowering. + +`construction/INPUTS.json` gives the input hashes and every intermediate content hash. The key decompressed content identities are: + +| Word | SHA-256 | +|---|---| +| Changed raw factory | `0ac47f92fc2e3f5aa457d78f7b8a5c785bf140c546932b9dfcd9e610ad319180` | +| Changed HPE forward | `42fb8b3aa314593fe976820cf65824f5fce0ee4f95281796992d4809709864cc` | +| Final cold44 word | `78c7aadacb6eec2eeecc124ca236e5bcfdba6a52b30c2971aaa596d1d119b290` | +| Native canonical word | `e6daee410e04d5e023faf21144081534ad222d334ce786e6b5f52407e6b3c41f` | + +## 7. Attribution + +The original 504-helper factory and borrowed-register construction are icekylinx's PR531 lineage, prepared with OpenAI Codex/GPT assistance and retaining the earlier PR425/PR514 credits. The inherited K-triangle atom and frozen read schedule are credited in PR635 to AtomScout, a Claude Code research agent. The porting routine is credited there to Port480. This package does not claim those as new work. + +The reused JP8 ancestry includes the PR558/PR552 supplier, the earlier-cut and multicold kernels, and the joint prefix adapted from Dominik Scholz's PR571 work. Native HPE and cold-end transport, frame and wrapper machinery come from the credited PR635 lineage, including DreamingOfClouds, jeremykothe2, chafreaky and their disclosed assistants. The retained `construction/UPSTREAM-NOTICE.md` and `construction/LICENSE` preserve the upstream notice and Apache-2.0 license. + +The new contribution here is the combination of source-copy exchange, changed retired-row completion, source-carried coordinate totals, and the explicit exact cold44 realization. Those changes were developed for icekylinx with OpenAI GPT-6 Astra assistance. The upstream notices, proof scope and conditional assumptions continue to apply. diff --git a/research/gauge44-leaver8/LICENSE b/research/gauge44-leaver8/LICENSE new file mode 100644 index 0000000000..261eeb9e9f --- /dev/null +++ b/research/gauge44-leaver8/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/research/gauge44-leaver8/LOCAL-VALIDATION.json b/research/gauge44-leaver8/LOCAL-VALIDATION.json new file mode 100644 index 0000000000..5973645e1a --- /dev/null +++ b/research/gauge44-leaver8/LOCAL-VALIDATION.json @@ -0,0 +1,356 @@ +{ + "status": "PASS_LOCAL_INCREMENTAL_GAUGE44", + "python": "3.14.8", + "upstream_main": "17ce0c79b7b51c2634b439ea5a2b754f09909693", + "pr635": "a6895a69f8ad98ab45777b03e9e6f48888c39f6f", + "construction_steps": [ + { + "step": "shadow-early", + "exit_code": 0, + "seconds": 0.322 + }, + { + "step": "shadow-prefix", + "exit_code": 0, + "seconds": 0.429 + }, + { + "step": "gauge-forward", + "exit_code": 0, + "seconds": 0.474 + }, + { + "step": "port0", + "exit_code": 0, + "seconds": 0.388 + }, + { + "step": "port1", + "exit_code": 0, + "seconds": 0.407 + }, + { + "step": "port2", + "exit_code": 0, + "seconds": 0.403 + }, + { + "step": "port3", + "exit_code": 0, + "seconds": 0.389 + }, + { + "step": "cold44-exact", + "exit_code": 0, + "seconds": 2.544 + }, + { + "step": "native", + "exit_code": 0, + "seconds": 3.63 + }, + { + "step": "ledgers", + "exit_code": 0, + "seconds": 2.759 + }, + { + "step": "local-replay", + "exit_code": 0, + "seconds": 15.924 + }, + { + "step": "wrappers", + "exit_code": 0, + "seconds": 2.706 + }, + { + "step": "phases", + "exit_code": 0, + "seconds": 186.772 + } + ], + "five_mathematical_local_artifacts_match_frozen_evidence": true, + "phase_edges": 3019, + "endpoint_adapters": 224, + "independent_scalar_audit": { + "status": "PASS_INDEPENDENT_EXACT_FORWARD_AND_DUAL_ENDPOINT_FRAMES_ENTRANCES_CONES", + "input_file": "FULL-WORD.json.gz", + "content_sha256": "78c7aadacb6eec2eeecc124ca236e5bcfdba6a52b30c2971aaa596d1d119b290", + "compressed_sha256": "0ad202612f010df4ab66432a628247b37ad8b497dd6b27595b1685cbd7eb119e", + "parent_center_interface": { + "parent_path": "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/CANONICAL-WORD.json.gz", + "parent_file_sha256": "66d3c3c70983224650643a0a05a21ac6c6959f84d0f4528650601016f5a76844", + "transport_tau": 43, + "ordered_frame_bases_match": true, + "all_ports_match": true, + "transported_centers": [ + 92, + 57, + 81, + 224, + 11, + 240, + 9, + 256 + ], + "source_centers": [ + 92, + 57, + 81, + 11, + 9 + ], + "ordered_frame_bases": [ + [ + 256, + 128, + 64, + 34, + 16, + 10, + 4, + 1 + ], + [ + 256, + 128, + 64, + 32, + 16, + 8, + 5, + 3 + ], + [ + 256, + 128, + 64, + 32, + 17, + 9, + 4, + 2 + ], + [ + 256, + 128, + 64, + 36, + 20, + 8, + 2, + 1 + ], + [ + 256, + 128, + 66, + 32, + 18, + 8, + 4, + 1 + ], + [ + 256, + 128, + 65, + 33, + 17, + 9, + 5, + 3 + ], + [ + 256, + 128, + 65, + 33, + 16, + 8, + 4, + 2 + ], + [ + 256, + 128, + 68, + 32, + 16, + 12, + 2, + 1 + ] + ] + }, + "v": 112, + "h": 9, + "R": 492, + "entering": 204, + "lowends": 78, + "coldends": 44, + "compensation_gates": 7348, + "local_profile": { + "1": 2514, + "2": 404, + "3": 448, + "4": 160, + "5": 56, + "8": 8 + }, + "width_inventory": { + "4": 52, + "5": 48, + "7": 34, + "8": 114, + "9": 244 + }, + "checked_columns": 716, + "elapsed_seconds": 2.443164045999765, + "scope": "Exact rational full scalar map in both orientations; all literal native frame chains, center levels, dyadic units, entrance-zero response, wrapper exclusion and final helper row/column cones. No global owner admission or exponent repricing." + }, + "independent_guard_review": { + "status": "PASS_PR635_ADMISSION_ASSERTION_PRESERVATION", + "files": [ + { + "file": "code/assemble.py", + "baseline_sha256": "1b1a9024ac910dc9b9d9e30150684e1fa9cb228a4c1c275b75ab04b57fdef1dd", + "new_sha256": "7ac28118d69416e4fb67b61216285fb0823310b7635ce1b9025aa3f10119ef6a", + "byte_identical": false, + "assert_count": 91, + "all_assertions_identical_in_order": true + }, + { + "file": "code/invoice_allcold.py", + "baseline_sha256": "141bd2fd58bbfb5b8d0fc8f56f61c45586d5608a5af3487c6b883dd987f998ec", + "new_sha256": "141bd2fd58bbfb5b8d0fc8f56f61c45586d5608a5af3487c6b883dd987f998ec", + "byte_identical": true, + "assert_count": 67, + "all_assertions_identical_in_order": true + }, + { + "file": "code/bind_providers_portable.py", + "baseline_sha256": "2eb5c262bf481b3bec9ceaec654fa46ff6fc3a89b13d4906a29a55a89e35feea", + "new_sha256": "7c9aba6c7f138d270852d859d902f905a15598b6263567700b5b08a153823cb6", + "byte_identical": false, + "assert_count": 22, + "all_assertions_identical_in_order": true + }, + { + "file": "code/generated_identity.py", + "baseline_sha256": "c8af22719c0f3097a991a3f6ccac8f090afd2faba554745733d9ea88f2c25708", + "new_sha256": "c8af22719c0f3097a991a3f6ccac8f090afd2faba554745733d9ea88f2c25708", + "byte_identical": true, + "assert_count": 4, + "all_assertions_identical_in_order": true + }, + { + "file": "code/witness.py", + "baseline_sha256": "00789c911a8f32cfe9d52207c7aa78305dc3fce4a8b6305ba402b7e74117103d", + "new_sha256": "00789c911a8f32cfe9d52207c7aa78305dc3fce4a8b6305ba402b7e74117103d", + "byte_identical": true, + "assert_count": 3, + "all_assertions_identical_in_order": true + } + ], + "centre_interface_review": "CENTRE-GUARD-REVIEW.md", + "scope": "Exact syntax preservation for all admission assertions in these five files. The changed emitter/controller centre boundary and single-provider controls require the separate semantic review; assertion counts alone do not prove them." + }, + "owner_replay": { + "status": "PASS_FROZEN_OWNER_AND_INTEGER_MAJORIZATION_REPLAY", + "seed_mode": "included_frozen_seed", + "parent_plan_sha256": "258a8b9baa245fa4096828671e2f1d1462b5af08d56890629622ef6125eaddda", + "parent_owners_sha256": "935ff1a6823c6625daba3349b28d74acf9a3d70a5947ae155aa66c7821804add", + "owners_semantic_sha256": "c09faf298565c1388c02370fdd4e61dd542579fe1898e842d5096cc97b68191d", + "owners_gzip_sha256": "90ff7657a23dcfb67532b49c0800c5fc259b27c89005081e24bf184869e1bd57", + "majorization_semantic_sha256": "9ed3fdb41fb8dbc6542de7701c78bb8f3bb728604057daf82a537bde182ab9fc", + "global_profile": { + "1": 181093, + "2": 29164, + "3": 32429, + "4": 11520, + "5": 4032, + "7": 7, + "8": 582, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + }, + "scope": "Exact hosting nomination and callwise fixed-point replay; full supplier admission is separate." + }, + "global_replay": { + "status": "PASS_GAUGE44_STRICT_GLOBAL_REPLAY", + "kappa": "1649483702558979/1000000000000000000", + "kappa_decimal": "0.001649483702558979", + "complex_lower": "1652208994368411824947/1000000000000000000000000", + "bit_lower": "413456747036699736067/250000000000000000000000", + "gain_over_pr635_percent": "0.8093060205252829126484020359439672024956960385078942889840023844750830", + "spec_sha256": "fee57674a7f36b30b1e7eb96a8f567a90a522217bc644c1a6a1f8bff85196fbf", + "stages": [ + { + "name": "restore-parent", + "seconds": 2.089, + "exit_code": 0, + "log_sha256": "fc3a01967636bd3173ee7e5049fae45b890e1fad4564b6acdd6aaca30a4e4ea5" + }, + { + "name": "bind", + "seconds": 0.962, + "exit_code": 0, + "log_sha256": "71f679ce5a123fb58397fd6852ba64ce3832fd20e81a096bfda9a1cf3237237a" + }, + { + "name": "emit", + "seconds": 4.817, + "exit_code": 0, + "log_sha256": "90ce07d06a8eaffdb66201e8346021183e5a803395fb9f6d8ceb0e5ff068ef2c" + }, + { + "name": "audit", + "seconds": 19.625, + "exit_code": 0, + "log_sha256": "66b4abb2a88a4eaba8a8baa3585ef4aa819be5f8acb7947bae734b3478280456" + }, + { + "name": "invoice", + "seconds": 1.804, + "exit_code": 0, + "log_sha256": "5d10712d494304287749dd7a6c3369f9b707bba30e9f567b68230669dcf5418a" + }, + { + "name": "assembly", + "seconds": 0.808, + "exit_code": 0, + "log_sha256": "768d3215f1918117dc6c33b4cfeaf0b5f5da9ba5c77178db4bb1d08d000e226f" + }, + { + "name": "admission-controls", + "seconds": 0.885, + "exit_code": 0, + "log_sha256": "051d242318154827c1672ffbb63ad2bdc8ecc4033be650b791dd69cd57d716b3" + } + ], + "scope": "Conditional native exact-complex witness after complete conservative admission, moment and outer checks; PR559 exact-cover recurrence correction only, bit bad-residue surcharge and H1-H5 retained. The new source-branch gauge and retired-basis completion, 44 cold dimension-four ends, and explicit all72 whole-owner dispatch are composed with the same cited unchanged PR543 bit supplier as PR635. All-size compiler, common-label/mutable-source realization, whole-call hosting, precision/tape and analytic transfer remain assumptions. No unconditional theorem or full Lean certification." + }, + "admission_mutations_rejected": 69, + "controller_mutations_rejected": 15, + "frozen_template_content_sha256": "0c2aab7dc120f5882a0171496cbbe819cac81373dcb425802a15f45e36898a46", + "fresh_template_content_sha256": "a1692259fb5a06bbebdc1049a7f757c6d2fc79ff8c31ed0c25b38fe9f98ed051", + "template_comparison": { + "sole_changed_field": "async_schedule.source_plan_sha256", + "frozen_plan_sha256": "609adb126d7d3de2abdd9275f9015589c0b137d0d19821c2c3e7c1a8541c18d2", + "fresh_plan_sha256": "b2e4b1f063250c40e0087f77e896882c60f36ed8764e86ba1610dec9bdff7394", + "explanation": "Fresh phase review differs only in its measured seconds. Runtime provider binding consequently changes the plan byte hash. All remaining serialized template fields match exactly; each runtime hash is checked against its own file." + }, + "assembly_matches_frozen_rates_and_profile": true, + "post_replay_packaging": "Four files received trailing-whitespace cleanup only; complete parsed ASTs were checked unchanged. Constructor input pin refreshed. Admission assertion comparison rerun.", + "scope": "Changed construction and exact recipe, fresh native ledgers/wrappers/phases, independent scalar and guard audits, integer owner reproduction, strict global admission and independent pricing. No predecessor full replay, seed-discovery optimizer or PDF generation. Local Python 3.14; Python 3.11 is covered by CI." +} diff --git a/research/gauge44-leaver8/MANIFEST.json b/research/gauge44-leaver8/MANIFEST.json new file mode 100644 index 0000000000..8161f0e77d --- /dev/null +++ b/research/gauge44-leaver8/MANIFEST.json @@ -0,0 +1,171 @@ +{ + "CONSTRUCTION.md": "7d96eb958a6b4274ea4c4c539b585f8ae2e89363b76aef930f90d2d513e164ea", + "LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "LOCAL-VALIDATION.json": "f81fbd98eb608b8119f03f89a5692bcd610845fc97022337931586d8582b706e", + "NOTICE.md": "7a8d17b04da1e6c9d0ec217fb5bda72faa09d9a21695128722dd1e2827870fcf", + "PROOF-NOTE-BARCH.md": "c24f211b09358b25d6cf47dd18e4bbd8bcf4ecf279e6f1c6c90613cfa230818d", + "PROOF-NOTE-BIT.md": "dd771adb12f6f0bef0e2931c28b21b243b04d5f512370cbad1207275c342aaf7", + "PROOF-NOTE-FRAMES-X4.md": "39c50420ebb6e8813706a49b2cf759f277c4afac9f6780fc0a7ac6a5fb86e036", + "PROOF-NOTE-LAYERS.md": "92bb85b056803770882afa916277c5b49a7027159c113a106e7b2b33e57c097f", + "PROOF-NOTE-LEAVER.md": "e4f9482ef551d6d4300d8ed8bb7c34dc9327fbcfa30a502bf3476b78468e60c3", + "PROOF-NOTE-NOTRI.md": "774d1ff7b77844990da7bc1feff7f9ffff8b1f4f9b03232a620f1f9a29935414", + "PROOF-NOTE-P6N.md": "cef8fad3d6644b4376ed15c4c5c46c68324009ab8f42d10bfa2da4b505b2c26d", + "PROOF-NOTE-PROMO.md": "c170e5196d3081f86ac377c6fe614ca17f6281972837580275ce5af41cbc64ae", + "PROOF-NOTE-SW4.md": "d7bb225f1a7f9fd363e819a67e92a5fe14c0942f6c3616d73609cc48042daf3d", + "README.md": "0c09f0685e5db77177187c12afea9c45465787c44d6ae0d7d28c0c7de8f1b2a0", + "RESULT.json": "72bf797ce995ff6108c1609b9d71ca50b6fd3e84eb827e9ca2df6b64710d88b6", + "SOURCES.json": "abb903d9b46388f99325a3939eb68171ac163c66b4b62b7961ea46daa20a88f0", + "UPSTREAM-NOTICE.md": "a75967ebc34e3bf2ff2c25c08e6c7f1a61b0c0d171cfd1b62196ae2caaf2c610", + "code/assemble.py": "4c270a996b380ab712f72b81173ab24f1c73203a33578f261bfbaa7e67d75aec", + "code/assembly_controls.py": "e4c0f7828af64fdaef1896e4448d0212bd3041805097140b8cfafd098f8a6162", + "code/audit_allcold.py": "a87d7f4844ca963516637d249b14a0654f67f8047b6b265ae25b0cf30963e503", + "code/bind_providers_portable.py": "1d39bcc7b63ac158e021454beaae897d123e174360573762aecade3cd43193f6", + "code/bit_supplier_controls.py": "e6d33fb61a570c3f50669412acc467a3fd06ef0b806da6a75bc296c6ba2142a5", + "code/emit_allcold.py": "17c110c7c8d219e79e7dce36b19c4781e7effa800086cec03384387ad9acc7aa", + "code/freeze_spec.py": "f96c2b9cd886596bc7ab267f77abe9d16b6cbb5a724a5ad0a1d18d540369ed93", + "code/generated_identity.py": "c8af22719c0f3097a991a3f6ccac8f090afd2faba554745733d9ea88f2c25708", + "code/invoice_allcold.py": "141bd2fd58bbfb5b8d0fc8f56f61c45586d5608a5af3487c6b883dd987f998ec", + "code/prepare_global.py": "8c0dae301a8f34b77a5a462f840952d08ed120576212adf5051bc09bcad874dc", + "code/restore_parent.py": "69b7b25ff85e9b8160e233c1d415cc6a0272019e5c486dcec14cb6c349e7024d", + "code/witness.py": "779c5172894b992131e85be1e592ed2a1aec8c287b872ff42007d36a7291e444", + "construction/COLD44-RECIPE.json.gz": "22d0e01e990c0f1c588607a095271f7844851a437ba07174505e98e9528aed4c", + "construction/COMPLETION-PRIORITY.json": "0274ffca1725e7460aaf7b672bc1248aa6dfdec11e5f0fec91af18b829f8ba47", + "construction/INPUTS.json": "edd32ad9a55d3c508ca2ad90c74b5c87c7f7ca509d96b856a2176fa452780f99", + "construction/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "construction/NOTICE.md": "defe7e44af610e25a6c50c1c3b2efd0972d0690574995c0c872fc50eebf4c816", + "construction/REBUILD-CHECKS.json": "1f9d754c89cfed632a6eee919a42d00c6677a8fb4fe1d40615c903242addbc91", + "construction/UPSTREAM-NOTICE.md": "a75967ebc34e3bf2ff2c25c08e6c7f1a61b0c0d171cfd1b62196ae2caaf2c610", + "construction/barch/LOCAL-PINS-barch-U8.json": "2d16f99e1f71fd66378f5f767cf4cfa2a58264919a95074c7b31029f39a3c9f5", + "construction/barch/RECIPE-U8.json": "292f0e9f82824c4111728cf4de929bf6e43320fbbdc77658aae9681906b0d652", + "construction/barch/build_tri.py": "0fba65b31c2fd71864c291358bb0ad8d5f7e1be07e21df23f0ae73d7b966002e", + "construction/barch/reproduce_barch.py": "19bc970aa6af25ab0e7fa96fb65c64dd0c5243976d8f2cb733cba839155482c1", + "construction/barch/run_controls.py": "42639bf62bf57795e3ea615c1944c67efed00f28591333daeb3139bf63d04476", + "construction/build_gauge_cold44.py": "ec730a4d3ff12fb058780718b1d5a7afe61243c532679ef347a5a48e2af0a3bb", + "construction/construct_gauge_xcentre.py": "d8d295566ef2399af2da0707a4adc83e07aa26d2344c01a66bd0ca7684cf9217", + "construction/frames/FRAME-RECIPE-sw4.json": "a2c7ca4d44671386d05974e2627645b42bbb7da7a35cefff6e9fa158b6ac8473", + "construction/frames/LOCAL-PINS-frames-sw4.json": "bc416b8f6443d59c715fb358c4d70fa27eae2d306388ffe0e2a303f60d929f7f", + "construction/frames/build_frames.py": "200847a7e8b3125cbeea0765dad67650e0bf83d32b66d72ba4977e99b8ee8eeb", + "construction/frames/frame_controls.py": "477de854ec9184a2c73d6ac3857a9d0cbd6bc04b71d10a105e7344434b492a77", + "construction/frames/reproduce_frames.py": "dc39ada9a2eb387310be181f3cea5dbd4b538632a888cd7372ece5e38a771832", + "construction/jx/LOCAL-PINS-jx-X4.json": "95c5114c8e937c2737a1b9f9da97303f2e5e129d39e6dfcc4010e99bfdb9c974", + "construction/jx/RECIPE-X4.json": "9d42c6b38e8124f5ffe15da56c260a7fba7260626bf3c5f8cbd93aa4a71ceadd", + "construction/jx/build_jx.py": "3cc7550b0c24bb54e245c6f7f16de489fd7844721fbb64aac628f38f43887916", + "construction/jx/reproduce_jx.py": "5c7afebb4eb7fcdeb7e971cfbc457cf071850e2da21c3c71295efdd453c2399c", + "construction/layers/build_pivot_swap.py": "8e8bced88be2e592ded40929499bac385ca92fcc1fa59183c22229dbf34093b8", + "construction/layers/layer_end_controls.py": "7829187bfc8f909948d5250e0ec00f02c89f5fe98306a3ed88daee36cb3c92ef", + "construction/layers/reproduce_layers.py": "435699f6f79c6c7fb8d6cc5a8382576d6ac88747583a975ff671e45440b93c4e", + "construction/layers_np/COLD-LAYERS-RECIPE-NP.json.gz": "3164cfb71baaeba4ac43427bc14075a225fc3a32ecd9341e58aa52c03a4ee2c0", + "construction/layers_np/HPE-RECIPE-NP.json": "43900139f618bdc06b8319098fb8dccaf4fc315b43ef7c067ca2cd778cdba2c1", + "construction/layers_np/PIVOT-SWAP-NP.json": "d49b8d316da1cbdaf995dd0e8314d3c67cc9cd4d5902e9d85ccb907be645bef5", + "construction/layers_np/reproduce_np.py": "1a304144a250d00d14154692ba522365b036777cf2b6fac466095e8ba733c16c", + "construction/layers_p6n/COLD-LAYERS-RECIPE-P6N.json.gz": "17e218a17e47c58fe2cde775ab2314d3d84030a61327b7f13da61cae3b374ad4", + "construction/layers_p6n/P6N-SPEC.json": "132a59635077d6afe80f99964a6935fce1dc2ece6587d74209c6f9c60025c8f1", + "construction/layers_p6n/layer_end_controls.py": "fc58c5699ba6191c1163a3041241f6f0b619626c4462cd99bcf88210bac9e81e", + "construction/layers_p6n/reproduce_p6n.py": "aa7d6bcbed05aa1c689437c07a26e5c95be3c700c0c1fb7bcf91c432a88436ca", + "construction/leaver/CHAIN-PINS-k8.json": "9dfcecf963d8fa6d1cf5ba212336437a51f03c1444a1c6d33e54d2bf762970a9", + "construction/leaver/CODED-CELLS-k8.json": "7347f814850a838bd617bc7a55c307cec2b72becde2f12ea3e2e1af344b43563", + "construction/leaver/COLD-LAYERS-RECIPE-NP-k8.json.gz": "6416043008fca68463c0026fb7be500bafbf6b592b1caf42701101531814df33", + "construction/leaver/COLD-LAYERS-RECIPE-P6N-k8.json.gz": "24a304493f28d7b419d3023598ff728deb63e1582cd65011e438951ae22c0beb", + "construction/leaver/FRAME-RECIPE-LV-k8.json": "b53b97ecbefb60cddceec08172438f1902178d9438bcd98ecc736c43773c3065", + "construction/leaver/HPE-RECIPE-k8.json": "907db3b20e2e54e230567259575ac89e7eac2b60ce0daac11b6b98849ce45ee9", + "construction/leaver/LEAVER-PINS-k8.json": "ab6ce39246d102f55d63c819c4cded2450c515b0e99afe5023f726054afc73f6", + "construction/leaver/LEC-REASON-PINS-STACK-k8.json": "d87ed7b5869bed4a3d266f0ce5fc784cbe88340a625d22ab9f580fa00872df19", + "construction/leaver/LEC-REASON-PINS-k8.json": "b07279e41ec9d8f89e8509081e1e7f2c8e8b062fd951b22608a03ac461982914", + "construction/leaver/PIVOT-SWAP-k8.json": "3ef7acf0cf67442a532f25b53d5fbeda76d3a84524118df8e003ca69b5cac0bb", + "construction/leaver/PROMO-RECIPE-k8.json": "bc017d6d5126f5f975e7fdae84642963c86ff74f7056ec4764192b5f4497dc83", + "construction/leaver/RECIPE-U8-k8.json": "51e5e37bfcd1dd1f4e2ce1bb60d23f645e5881e36f3aa556f1533543a40e548e", + "construction/leaver/RECIPE-X4-k8.json": "4199b9b6bb28f3f79fa01744a0520a60fdf783eddca459f86830535f759b67c1", + "construction/leaver/REGROUP-LEAVER-k8.json": "b846ea56bc8c58d2513b257f9bea7de5136484b7d66c5bf3d8e3211fc48e4b8e", + "construction/leaver/TRI-LEAVER-k8.json": "b22e6ecf76104de66844bd617c4ca80f5546ba0966a50e5e9aa0ffea4976cb30", + "construction/leaver/build_frames_lv.py": "2eb80d612aa59a7bd8b04a122045e3bd2b83a21954e3164943cd20cf6050a21b", + "construction/leaver/cells-k8/CORE-01+.json": "3d2afc4986f1f3aceacd1e0572daebfb79134ba6af7677150083d0912676427c", + "construction/leaver/cells-k8/CORE-01-.json": "8f8620f47ce5ba5abf6179d1a5a986c25903ba71b6711a7035815968b5888927", + "construction/leaver/cells-k8/CORE-23+.json": "53b65cbaeb24bb2a4625f107a39c0ba3797f37aa4980096f22dff7cdbd76440d", + "construction/leaver/cells-k8/CORE-23-.json": "e34431338f5527838c6e0d0caff885bde82624b0791f2a072c5b4e49faa6b98d", + "construction/leaver/cells-k8/CORE-45+.json": "ba8f3aa26032dc36e2db4073e2cac9fc61d7a475d534a749bdfcbecf3aa103a9", + "construction/leaver/cells-k8/CORE-45-.json": "302024488efff30c820b5bbf6b422c6106bb5a9ee851bef8fccc16512ca789e7", + "construction/leaver/cells-k8/CORE-67+.json": "0a7aa4ee46e7f05c9cf0c1a36791d49e439c0c9c473e76cf954b0655463dae05", + "construction/leaver/cells-k8/CORE-67-.json": "0a7aa4ee46e7f05c9cf0c1a36791d49e439c0c9c473e76cf954b0655463dae05", + "construction/leaver/cgx_leaver.py": "3af491c63dd96204a7c36006c7e419c2e5ce77e5bc453ccd2495c1e41f83f87c", + "construction/leaver/layer_end_controls_leaver.py": "4ba676f1ea326b739a64c3477f64eeb295f8151514f78fa7e62b71e4373a6206", + "construction/leaver/reproduce_leaver.py": "831bfdf2247b5d864b74c3b2b6a475718053d48570851d48bd1c5471d410ee30", + "construction/leaver/reproduce_leaver_chain.py": "2bc3fc3f32e0f957a0731b79254c553ca48fc6d4d47c4f99d6cd31e1901d85b5", + "construction/notri/PRIO6.json": "de0412511b0dd1af13e9717bc791126ac0e91c569b5391fd6c70268083045d15", + "construction/notri/cgx.py": "3da039d4184097c14802f9dbf972520d5b807671196f5e47a2247bc9f29bb418", + "construction/notri/cold44x.py": "f0bc3500efb2c839a0f8cb03dbb9ea0a54f1dfc71ef81e5373b3d638ac5b8296", + "construction/notri/port_stage_x.py": "38310744d054e393ea35e996047cddeb2d212141aaaaa4b07f7a4663b11db8e7", + "construction/notri/reproduce_notri.py": "90148c2a0422b4f92164298a283de73d413ab3d4cb7151a0e6b643a37ea025a8", + "construction/promo/LOCAL-PINS-p6n-k4.json": "a92bb02266596956bd53e9c86e8bbcc6639c92b4a4a248a1521f8eb79228271f", + "construction/promo/PROMO-RECIPE-p6n-k4.json": "fa6065d142646f7ab1f268912ce0cf5a1a6cd33c3994ff96bd6e204cf16b3e90", + "construction/promo/build_promotion.py": "9c9e2001b8d68bbe934d136026276fe97bd9bf6f94d4d78441fc28e14aca4daf", + "construction/promo/make_recipe.py": "ba9e4fdc0c1be7f6a150a5a50909911257a1a8c7cc5d03d61f541178fc07c122", + "construction/promo/promo_controls.py": "786c51f84b53698c2c833083506c4432c30eb0ed3b71e7dbe458a70c7413c372", + "construction/promo/reproduce_promo.py": "f979be666c3f5cf57e342a8427863c0b35b67ca4d3be495ac386f6870deb2026", + "construction/reproduce.py": "047bb9b3536b0b16bb08a21cd9fd80404ca9d022345f1aeab34b21dffc281c92", + "construction/sw4/LOCAL-PINS-sw4-P6k4.json": "3c06bf68b28ff125a6a2372bb70cefd76fb9fe1333438cd34dfb5b617cd70327", + "construction/sw4/NOTES.md": "3a3ddb0c77b188e67fc453ccb3efe9323f87028092a6ce4d259b7dc99d702446", + "construction/sw4/SW4-RECIPE-P6k4.json": "fa58d0ffc95d10b7453daefe4b34404a52895f94126ef973e92e92106cd615fa", + "construction/sw4/build_sw4.py": "9a295f3d534594a6b1326d8a6647e947670d1c6fbc92f37f5169661fde4c8f66", + "construction/sw4/reproduce_sw4.py": "3d082e0cc576fb1b4fb9e5dd11d63bab697c8a8626e2837813cd00d100b1aeac", + "data/FRONTIER.json": "56bed9070d5f0b7585d7b7fd62984696dbc5158e5187663030920a57e1cbfab2", + "data/OWNERS.json.gz": "32ca30cd1c652ef6ad43657273a08a157e1df3545e759ab36306a0d0b516fb4a", + "data/PLAN.json": "7b3122026e82b9d9e964d2a50c7bffdc976ae3dfea64bb98b2fdad5cfbdbaa20", + "data/PREPARATION.json": "1d576298bfafc509992113fdd58b5482655a88e321cbfafe9386588eb6fbb6e9", + "data/SPEC.json": "1208c7c3ae84c158c21b80d69f0f448d376680a7d37e15d0abc77541d3cd61d8", + "data/UPSTREAM-PINS.json": "ccc37ab7fbf78947fe02c7f57ea672d2e4eae8454cb1158ed964c75bf423869b", + "evidence/ADMISSION-CONTROLS.json": "5ebcc945c53f8279ac3bb6249e1d46422b7c7ddeb41c580ab5cbb3ca886dcf28", + "evidence/ASSEMBLY.json": "847f339db218f62ffabacb4655ba4dc6e8a15f67014ca01b1146083f393b009f", + "evidence/BINDING.json": "f80ad585c9cf94989d459971189fbb176084aedbe27edf5b5cccc5c2a44de43b", + "evidence/CENTER-COMPATIBILITY.json": "c66c7da1099ac8618381e2a7cb48b09b43ccf8d125ff124e129aba8ddb922cf3", + "evidence/LOCAL-STAGES.json": "64165b81b7119a2b23e99d3f3dfe8aa1702f373efe90d82d136c17786ffb6591", + "evidence/REPLAY.json": "45a6065c41df0c2b04e185b4727c7ad8eac5ebeb637dbb7bebffc184415b49a2", + "evidence/STAGES.json": "09d7c6daf1e93c58863267141dedc3873264d3baede0cddefda0d56ecb560458", + "evidence/audit/ASYNC-AUDIT.json": "df19a41a599bf24fd1efaeb2394af63208f95b9e3ca4f83c6f23e9641fb3d662", + "evidence/audit/GLOBAL-PREFIX.json": "5a6fd0d91a650ad5aa830771fb4333b015f06bc4ded02807d65aee260ce9e671", + "evidence/audit/IDLE-REMAINDER-FRAMES.json": "95f5165a10dd187000dba9e55afbc1b7dce5a315cfedfa72e4f8344471149048", + "evidence/audit/OWNERS-AND-PROFILE.json": "a32ecc0d5387d65648e1ff284209122860ee37aaba43ce2dd12024c4bc394313", + "evidence/audit/PREFIX-AND-INVOICE.json": "14b0f41c88209e800236ce4ebbf91d83537e22e18807153d90013f7eee57a582", + "evidence/global/ACTUAL-SIGMAS.json.gz": "bf3b7814b54b30c726cae1dfabd3c09211c8f34cc943534565b131a0006b483f", + "evidence/global/GLOBAL-TEMPLATE.json.gz": "f713f8e66aaeaebb8202fe72bf36c7d23497152497342c27892e0fda3092f95b", + "evidence/global/HOSTED.json": "60866eb6ced5b9eb259bfc1d59ea7b80fb439164b629e868586ad5bef845a88e", + "evidence/global/IDLE-REMAINDER-FRAMES.json.gz": "734fd9bbe0afa2cc1e492bb7effef1aa8f0d8926ab1d9420d64c30045b30e784", + "evidence/layers/LOCAL-AUDIT-LAYERED.json": "a596d7262374a023ae079e0da41d20189bd3ca4594101e5e6f402ce5799df9ff", + "evidence/leaver/CELL-MUTANTS-LV.json": "308975b8288cb9c853ee6b69e68b25e6f3727d259dccfb7509042f103bb03220", + "evidence/leaver/FRAME-CONTROLS-LV-k8.json": "9629e499a7f01f2db1e41873344a1476708f41698a0b145888ee569e580a31dd", + "evidence/local/CANONICAL-WORD.json.gz": "92941c2b718b533f1d3addb710d261a6e2b9ec5d19f0051d79775b08cb2571ed", + "evidence/local/CLIFFORD-RECIPES.json": "0a60293f43d88dbb1b321f02e61204afe1b6272b1346968ef35705caea1e4771", + "evidence/local/CLIFFORD-REVIEW.json": "4e3cdd616d105a49bbf1948bb53e49938d515c42f1c026781d1b5e9cb636db12", + "evidence/local/FULL-WORD.json.gz": "0ad202612f010df4ab66432a628247b37ad8b497dd6b27595b1685cbd7eb119e", + "evidence/local/INDEPENDENT-LOCAL-REPLAY.json": "18d68326ce0aca76911d561e79a817bce90cb8adfe053e19621c7ae0298b842e", + "evidence/local/LOCAL-CHECKS.json": "2b8a6a6854b8df8ecd84d8ff2b92f720c81454636988e6a0dfdc1f6c29d1c82c", + "evidence/local/LOCAL-PROGRAMS.json.gz": "172dc3d23e437909ddc01d07b12ede735afbb5bb6145f1ddf5c2e03097dfebe2", + "evidence/local/RESIDUAL-ADAPTERS.json": "bb6c23ba1b8dd5d2016724c3348b4e91a6b91daaa3f56bbd5216cb7a96bf5c94", + "evidence/local/SCALAR-FRAME-AUDIT.json": "cfc73040079b43ea82a42f3cf4c910edda1362deb09ec21c816c329347313bcb", + "evidence/local/WRAPPER-CHECKS.json": "84c727930f85f1c91900d6d12c523735c8b5d6907cd3eb1bd1030fe1fd4161d7", + "hosting/PROOF.md": "45bb3de8a10298a4cf5a278c3343be22a7d2e735be93a4e9454f24df7275faf0", + "hosting/README.md": "004bcdf6c78bd0316f0606d9e636511f94e1e80cbd79cce1a7e3bc55076d9bf1", + "hosting/audit_frozen.py": "a8d9c7c894cb44453aea93b33141559824f6c3ff81a85a6d066f4a10a2757659", + "hosting/expand_owners.py": "0f826377881d0c9405f90d9f5feac857c7c7cf8aef5bcf22d326bc274f038a70", + "hosting/frozen/FROZEN-AUDIT.json": "df6c7181a097900ee9d37db17bd25436a570f21caaa0cc2108712907ab02904b", + "hosting/frozen/MAJORIZATION.json.gz": "ec5f94b13d190d72bc0608dc9fe2498cc43ba9deb05028159a812ec1e4dcacdf", + "hosting/frozen/MANIFEST.json": "9df028adfa5120c60d2c78bfab06822cf4e6ed55502816b7d6dec19c1a2e4967", + "hosting/frozen/MATCHING-RECEIPT.json": "e1af2ac2c6e2457646d52dd693fb961f6279e10fe50eae9873f2ed149b6735b2", + "hosting/frozen/OWNERS.json.gz": "90ff7657a23dcfb67532b49c0800c5fc259b27c89005081e24bf184869e1bd57", + "hosting/frozen/REPRODUCTION.json": "8354f63148621c5fcf09cd16b496dedd677d813f83974e1f341ce38a1fffec81", + "hosting/frozen/SEED-OWNERS.json.gz": "eb3be5eebbb84349d7e7f1bde2fc77772a12ad5bccc6dab7c4efd8d903e2a048", + "hosting/frozen/SEED-RECEIPT.json": "aecfef753379106f5289f31251584c642e2cf7e4fa2d0886bb4ef9e922f8d9ba", + "hosting/frozen/SEED-REPRODUCTION.json": "4f6d49a85f43c98c816877d783470ca717be2349caceb991bf756eedece1b194", + "hosting/reproduce.py": "7551004d8d15cebcecc6793ebd17385830390935ccd1a8957f1c5472bce6ec82", + "hosting/reuse_owners.py": "2106fe79bd89071e62a3a25c1e444531e14fb89f88b4bdeb72d7b40c91266402", + "independent/CENTRE-GUARD-REVIEW.md": "7b82518d7ddf042d6e71174bc286311fa72127e0dc6dc9e500025fcf7abbf897", + "independent/GAUGE-COLD44-INDEPENDENT-AUDIT.json": "9fb5265c4d2ddf3d615e46600954c79cd1a42481500a0973a5695fcb9f2558c9", + "independent/GAUGE44-GLOBAL-GUARD-REVIEW.json": "631107a9a9acb02441ce80298f815e0c624f811b0d58c6fd78f8dc58d564bb5b", + "independent/GAUGE44-INDEPENDENT-PRICE.json": "6e222b252f3453446d0e41b08f00a9bf9449ce3588b6ddc00c9accc1c00e7683", + "independent/README.md": "25668a62d8c91f6860f8412cf2fc750ba41bf1085dad3709ad5067c7956eac89", + "independent/audit_local.py": "03afcfc9da428b3f6edac81c1fee7f277ab81b64998efae78380b63498dec6cd", + "independent/price_profile.py": "d2f548ad6b99f64a8ca5fbaf822a89560bb99359957ce3420b497f6a46fc0acf", + "independent/review_guards.py": "b83164d6c0122a055b3281f3381b305683a875760a2d727dd0188bb2aa59d67d", + "inputs/PR589-EXPECTED.json": "b9f0e5ca038abe837b0007c8fe006f366a6f02009244ac57705a8a200e2301f4", + "verify_global.py": "16bd5e54598592e92e210f99065348c5df261b8350fdc688072ce053d15b088a", + "verify_manifest.py": "723d726dbbe5b65a49caecae0f1aab664a1413fb639abfd3e826a5a538e14e5b" +} diff --git a/research/gauge44-leaver8/NOTICE.md b/research/gauge44-leaver8/NOTICE.md new file mode 100644 index 0000000000..30d0c8cd3c --- /dev/null +++ b/research/gauge44-leaver8/NOTICE.md @@ -0,0 +1,24 @@ +# Gauge44 attribution and scope + +New contributions by icekylinx, with OpenAI GPT-6 Astra assistance. +Local review and packaging used OpenAI Codex. Apache-2.0 applies; +the license is included. The full original PR635 notice is preserved as +UPSTREAM-NOTICE.md and construction/UPSTREAM-NOTICE.md. + +The new contribution is the changed source-branch gauge and retired-row +completion, source-carried coordinate totals, exact 44-cold-end realization, +and explicit all72 whole-family assignment using concave capacity matching +with integer majorization certificates. The center-carrier generalization +retains the exact ordered common frames and complete native local contract. +Independent local, price, interface and owner fixed-point checks are included. + +The construction retains the credited PR635 K-triangle and porting machinery, +earlier joint-prefix/HPE/frame ancestry and icekylinx's prior factory work. +#645 used the same cited PR543 bit supplier as PR635. This package (research/gauge44-leaver8) cites the merged PR589 bit supplier instead, with a derived rank-mass deficit (PROOF-NOTE-BIT.md); #645's retained PR543-based evidence is historical. It builds #645's word without K-triangles (PartialK) and stacks earlier community jp8 layers on it (G44Stack), adds the p6n ends (NoTriReopen), entrance promotions (BlockInvert) a read-set exchange (BRoute), chafreaky's #741 frames, JointXF's joint exchange, NewBArch's triangle-hybrid B rewrite and LeaverSAT's eight k8 leaver cells (with LeaverSAT2's frame re-optimisation); see README. All-size, realization, +hosting, precision/tape, analytic-transfer and bit H1-H5 assumptions remain +conditional. No upstream license, credit, source pin or AI disclosure is +replaced by this notice. + +PR641 and PR642 were checked as concurrent reported frontier comparisons. +Their endpoints and owner maps are not included here. See CONSTRUCTION.md, +hosting/PROOF.md, independent/ and README.md for the exact contribution scope. diff --git a/research/gauge44-leaver8/PROOF-NOTE-BARCH.md b/research/gauge44-leaver8/PROOF-NOTE-BARCH.md new file mode 100644 index 0000000000..8cea5a6846 --- /dev/null +++ b/research/gauge44-leaver8/PROOF-NOTE-BARCH.md @@ -0,0 +1,43 @@ +# PROOF-NOTE-BARCH: width-neutral triangle-hybrid B-delivery rewrite (U8) + +Construction by NewBArch (`construction/barch/`, builder `build_tri.py`, controls `run_controls.py`, recipe +`RECIPE-U8.json`). Driver: `construction/barch/reproduce_barch.py`, chained after `construction/jx`. + +## The move +On research/gauge44-frames-x's X4 word (`1e1d99ba…`), eight disjoint slots are rewritten. In each slot X an entering +copy E donates into a halves-copy X: 231 (E 450), 230 (E 452), 232 (E 454), 236 (E 456), 226 (E 451), 228 (E 453), 62 (E 455), 238 (E 457). That way, so that one target +read takes X + H in a single gate. A holder pair (for example 496/484) carries the value. Each holder is restored by a +low-end tail at its frame (early cleanup) and a FULL-cleanup restore. Entrance pre-reads keep the entering helper's +start value away from every target. + +The recipe is explicit, with every index referring to the X4 word: +- 40 B deletions; +- 40 B insertions, each with its frame; +- 32 explicit re-chosen B frames; +- 8 early-cleanup tails; +- 8 FULL-cleanup restores. + +The A section and X4's tail frames are untouched. The width is unchanged at 3778. The profile goes +{1:2548, 2:338, 3:430, 4:194, 5:56, 8:8} → {1:2548, 2:338, 3:446, 4:162, 5:72, 8:8}, a delta of {3:+16, 4:−32, 5:+16}. +The eight slots are additive (8 × 3.925e-8 ideal = 3.140e-7). Output word `090fd574…`. U8 contains B0's four slots +(231, 230, 226, 228) plus 232, 236, 62 and 238. + +## Checks rerun on every rebuild +- `build_tri.py` (standard library only) checks the base sha (`1e1d99ba…`) and the result sha (`090fd574…`). +- `run_controls.py` produces 38 outcomes, all required. The control set is pinned in `LOCAL-PINS-barch-U8.json`. + - C0 identity reproduces the input. + - The recipe word PASSes #645's independent `audit_local.py`. + - Four mutants must each FAIL `audit_local` with a pinned message, both globally and for each of the eight slots + (NAME@X): + - drop_restore: the holder is not restored, giving "all-column endpoint failure"; + - restore_full: the low-end restore is moved into the FULL cleanup, giving "all-column endpoint failure"; + - drop_preread: the inserted entrance pre-reads are omitted, giving "nonzero entrance response"; + - donation_after: the donation is placed after the target read, giving "nonzero entrance response". +- The per-end layer-end controls (`../layers_p6n/layer_end_controls.py`) reject 95. +- PR635's native chain runs, with the canonical word, local programs and Clifford recipes pinned. + +## Strict +NewBArch's strict replay: the #741 map (`G44Pack/m741`, byte-identical OWNERS) is rebound to the U8 locals with +`rewidth.py` and admitted with this package's own code (NEWWORD `admit645.py` on research/gauge44-frames-x's tree). +The result is κ 0.001661948695165034, +3.1404e-7 over research/gauge44-frames-x. The four-slot subset B0 strict-passes +at 0.001661791659578416 and the single slot V1 at 0.001661673902364948. diff --git a/research/gauge44-leaver8/PROOF-NOTE-BIT.md b/research/gauge44-leaver8/PROOF-NOTE-BIT.md new file mode 100644 index 0000000000..da06360da0 --- /dev/null +++ b/research/gauge44-leaver8/PROOF-NOTE-BIT.md @@ -0,0 +1,112 @@ +# PROOF-NOTE-BIT: citing the PR589 bit supplier with a derived rank-mass deficit (gauge44) + +This note is BitCap's `PROOF-NOTE-BIT.md` from `complex-571-cold14-k492-bit589`, adapted to the gauge44 package. It +covers the only verifier change relative to #645's package (`research/gauge44-global`): the bit supplier changes from +PR543 to PR589. The complex side is #645's construction, unchanged: supplier word, recipes and every complex check in +`code/assemble.py`. The only complex-side change is the repacked owner map (`data/PLAN.json`, `data/OWNERS.json.gz`), +with expected values re-derived in `data/SPEC.json`. + +## Changed sites + +The changes are in `code/assemble.py`, plus one new stage in `verify_global.py` and a new file +`code/bit_supplier_controls.py`. The independent (non-verifier) `independent/price_profile.py` is ported to PR589 as well. Every other `.py` file equals #645's. + +| # | site | before (#645) | after | +|---|---|---|---| +| S1 | bit input | `inputs/PR543-EXPECTED.json` from the multicold source, blob pin `b61d8598…` | `inputs/PR589-EXPECTED.json`, shipped in this package, blob pin `e293ddc5…`, through `load_bit` | +| S2 | bit deficit | literal `9984` | `bit_deficit(word, live)` = T(2Kv − L·cst), with L = 9, T = 32, K = (L−1)/2 = 4 | +| S3 | profile binding | (none) | Σ r·n of the bit profile = `bit.rank_mass`; moment width `BIT_M = 1 + 7L` asserted = 64 | +| S4 | pipeline binding | (none) | the record's `nine.pipeline` names the nine-stage template with 32 replicas | +| S5 | citation / receipt | input hash names the PR543 file | `bit_supplier` cites PR589 (head `a5afc8c6`, merged as `b3eb785a`, path `research/e8-bit-p111-tuned/tune/EXPECTED.json`) and records v = 111, cst = 63, COPY ranks [7×9] and the derived deficit 10272 | +| S6 | `verify_global.py` | (none) | stage `bit-supplier-controls` runs `code/bit_supplier_controls.py`; it requires status `PASS_PR589_BIT_SUPPLIER_DERIVED_DEFICIT_NEGATIVE_CONTROLS`, exactly 12 rejected controls and derived deficit 10272 | + +The shipped `inputs/PR589-EXPECTED.json` has git blob `e293ddc557742637f9f679f083a1a282d87b1b13`, which equals +`origin/main:research/e8-bit-p111-tuned/tune/EXPECTED.json`. + +## Why the derived deficit is correct + +**The identity.** The rank-mass identity of #545 and #555 is M·live − mass = T(2Kv − L·cst). Its source is +#555's README, "Rank-mass identity", and `code/adapt9p.py`, whose audit carries `DEFICIT=T*(2*K*V-L*CST)`. + +**The parameters.** The bit word has v live ports and decoder constant cst, the sum of the nine retained totals' COPY +ranks. The nine-stage chain is #463/#510 with 32 replicas, so L = 9, T = 32, K = 4 and M = 1 + 7L = 64. The live data +wires number 2KvT. + +**The constraints checked.** The verifier asserts all of: +1. cst = Σ copy_ranks, with exactly `retained_totals` = 9 entries, each in (0, 8]. +2. live = 2KvT. For #589: 2·4·111·32 = 28416. +3. Σ r·n over the priced profile = the record's `rank_mass` = 1808352. +4. M·live − Σ r·n = T(2Kv − L·cst). For #589: 64·28416 − 1808352 = 10272 = 32·(888 − 567). + +Check (4) is #645's `check_moment` guard, unchanged. So v, cst, the profile and live must all agree. + +**PR543 consistency.** The same formula reproduces #645's constant: PR543 has live = 30720, so v = 120; its nine +totals have COPY rank 8, so cst = 72; 32·(960 − 648) = 9984. + +**The deficit does not raise c.** `check_moment` uses the deficit only as an equality guard. The moment engines +compute from (profile, m = 64, live, z) and never read it. The bit value c is established only by the unchanged +acceptance tests at the same exact endpoints, with the bit bad-residue surcharge retained: accept at c and reject at +c + 10⁻²⁴, by both engines. + +## Effect on the outer chain (differs from the k492 package) + +In the k492 package the complex side bound under either supplier, so κ did not move. Here it does. With the +gm3 map the complex side certifies b = 0.001654663299688920102557, with research/gauge44-bit589's dz1 map +b = 0.00165526410310589140991, and with research/gauge44-bit589b's L1g4 map b = 0.001655496738330440231813. PR543's c = 0.001653826988146798944268 is +below b, so under PR543 the bit side would bind. BitCap's table gives the PR543 bit-side κ cap as +0.001651096360425895, which is exactly the κ of `research/gauge44-repack`. PR589's c = 0.001733427039589844234749 +exceeds b, so the complex side binds again (`binding = complex` in `ASSEMBLY.json`): κ = 0.001651929911890057 for gm3 +(conservative 0.001651929909011672) κ = 0.001652528731617094 for dz1 (conservative 0.001652528728737236), and +κ = 0.001652760598550299 for L1g4 (conservative 0.001652760595670246). +Bit589Reviewer recomputed both suppliers with the outer engine and confirmed this. The gain over gauge44-repack therefore depends on this change and on the +assumptions below. + +## Negative controls (all must be rejected; the verifier requires exactly these 12) + +Each control runs the real `assemble()` on the fresh owner/invoice receipts with one input mutated. The strict run's +`BIT-SUPPLIER-CONTROLS.json` lists all 12 as rejected. + +| control | site | rejected at | +|---|---|---| +| `revert_hardcoded_9984` | S2 | `check_moment` deficit guard (10272 ≠ 9984) | +| `ports_112` | S2 | `bit_deficit`: live ≠ 2KvT | +| `decoder_constant_64_copy_ranks_unchanged` | S2 | `bit_deficit`: cst ≠ Σ COPY ranks | +| `decoder_constant_64_with_one_copy_rank_8` (derives exactly 9984) | S2 | `check_moment` deficit guard | +| `eight_retained_totals` | S2 | `bit_deficit`: totals count ≠ 9 | +| `live_minus_one` | S2 | `bit_deficit`: live ≠ 2KvT | +| `profile_rank_mass_plus_one` | S2/S3 | `check_moment` deficit guard | +| `profile_rank_mass_receipt_mismatch` | S3 | profile mass ≠ `rank_mass` | +| `bit_lower_next_grid` | endpoint | `check_moment` reject-side moment test | +| `not_nine_stage_record` | S4 | pipeline binding | +| `tampered_bytes_next_grid` | S1 | blob pin | +| `pr543_file_under_pr589_pin` | S1 | blob pin | + +Bit589Reviewer re-traced all 12 rejection sites on the gauge44 word (b589gm3), and they match the table: `code/assemble.py` L191 (`revert_hardcoded_9984`, `decoder_constant_64_with_one_copy_rank_8`, `profile_rank_mass_plus_one`), L48 (`ports_112`, `live_minus_one`), L47 (`decoder_constant_64_copy_ranks_unchanged`, `eight_retained_totals`), L201 (`profile_rank_mass_receipt_mismatch`), L197 (`bit_lower_next_grid`), L179 (`not_nine_stage_record`) and L39 (both blob controls). dz1 and L1g4 run the same code. + +The ported `independent/price_profile.py` re-derives the deficit separately (`pr589_deficit`) and checks the same blob pin. Its regenerated receipt on this package's PLAN gives the same κ. + +## Inherited assumptions + +**PR merge status (`gh pr view`, 2026-10-13):** #589 MERGED 2026-10-12T17:00:38Z. #555 was merged 2026-10-12. #645 +is OPEN. Main's review replayed #589 freshly as "supplier-only headroom", and main's *selected* composition still +cites #543. + +**Unmerged assumptions:** +1. **#645 itself (open):** the gauge44 factory, its construction steps and all of its retained interfaces and notes. + These are unchanged here. +2. **This verifier change (S1–S6):** under review (Bit589Reviewer). The PR589 record replaces PR543 as an *input of + the gauge44 assembly*, a composition main has not selected. + +**Assumptions carried by #555/#589 (merged, stated there as review points, not theorems):** +3. #545's punctured unit: a 111-port unit with decoder constant 63 is an admissible bit supplier on the same hypotheses + as v = 120. +4. #510's nine-stage chain as re-parameterised for v ≤ 120 by #555's `code/adapt9p.py`, including the rank-mass + identity used in S2. +5. #543's interleaved scalar-interface lemma (H1–H5) for phase-B source rewrites. This is not new: #645 already + inherits it through PR543. +6. #589's two A-section transports. +7. The same bit bad-residue surcharge model as PR543 (`surcharge_model = {'complex': False, 'bit': True}`). + +## Result + +The bit-supplier change is the same as in research/gauge44-bit589 and gauge44-bit589b: the code is byte-identical and was signed by Bit589Reviewer. For this package (k8 leaver word db2c7cfb, K8c8 map), the complex side certifies b = 0.001674185476674086429846 and binds under PR589. Under PR543 the bit side would cap κ at 0.001651096360425895. κ is given in the README and `RESULT.json`. diff --git a/research/gauge44-leaver8/PROOF-NOTE-FRAMES-X4.md b/research/gauge44-leaver8/PROOF-NOTE-FRAMES-X4.md new file mode 100644 index 0000000000..a456a8127b --- /dev/null +++ b/research/gauge44-leaver8/PROOF-NOTE-FRAMES-X4.md @@ -0,0 +1,58 @@ +# PROOF-NOTE-FRAMES-X4: chafreaky's #741 frames and JointXF's joint exchange (X4) + +Two construction steps on top of research/gauge44-promo-p6k4sw's SW4 word P6k4sw4 (`d232183f…`). + +## 1. #741's eight B frames (`construction/frames/`) +The eight B-gate frame raises are by **chafreaky**, [#741](https://github.com/CrocSwap/integer-mult-bounds/pull/741) +(`research/complex-sw4-frame8`, commit e516b146). `FRAME-RECIPE-sw4.json` is byte-identical to #741's +`data/FRAME-RECIPE.json` (a2c7ca4d…). CompetitorMine ported #741's builder and controls; only package paths are adapted. +The step applies the frames with BlockInvert's `build_promotion.apply` and checks: +- the scalar program of A, cut, B, precondition and cleanup is unchanged; +- start and end frames are unchanged; +- the profile, the widths and the output word `e7804702…` are pinned; +- 3 pin controls are rejected; +- #741's 10 focused native controls are rejected (8 frames emptied, a changed read coefficient, paid-profile tampering); +- the per-end layer-end controls reject 95; +- the native chain matches its pins. + +The rebuilt locals equal G44Pack's F741 locals except the `seconds` field in CLIFFORD-REVIEW. +This step reproduces #741's word. The final word is built by step 2, which contains these frames. + +## 2. Joint exchange X4 (`construction/jx/`, JointXF) +There are four disjoint instances of BRoute's sw4 read-set exchange rule. Each one exchanges *two* copy pairs that +share targets: (448, 472), (458, 592), (470, 604) and (482, 614), with face registers 235, 267, 58, 427, 26, 443, 18 +and 50. #741's eight frames sit on top. The 16 moved reads keep their original stored dim-6 frames: they are +monotone-repaired rather than refitted to the plain join. The recipe `RECIPE-X4.json` is explicit: +- 32 replaced gates, 16 deleted gates and 16 inserted gates, each with its old gate asserted; +- #741's 8 frames, listed with their source; +- 16 explicit frames at the moved reads, each asserted equal to the recomputed frame. + +The builder `build_jx.py` uses only the standard library. It checks: +- target frames lie inside u_t^⊥; +- tails and ends; +- exactness of the whole B segment's rational linear map against the input (a Fraction replay); +- the recomputed paid profile and the output sha `1e1d99ba…`. + +Effect against #741's word: the profile goes {1:2556, 2:334, 3:430, 4:194, 5:56, 8:8} → {1:2548, 2:338, 3:430, +4:194, 5:56, 8:8}. The width inventory is unchanged, and each instance gives +1.0798e-7 at ideal, exactly additive. + +**Controls**, each pinned in the recipe and rerun by `reproduce_jx.py`: + +| control | outcome | +|---|---| +| C0 identity | returns the input `d232183f` | +| C1 #741 only | `e7804702`, #741's word (ties step 1 to step 2) | +| M1 one pair (448) with frames retained | `5fb6fb2e`, neutral (profile = #741) | +| N1 pre-read dropped | rejected: exactness rows [132, 135] | +| N2 pre-read with wrong sign | rejected: exactness rows [132, 135] | +| N3 plain-join refit of the moved reads | `7241cd59`, strictly worse | +| N4 a raise made dim-7 at B855 | rejected: cap at (1302, 174) | + +N3 and M1 are pinned-outcome controls (a specific different word), not rejections. They show the gain needs both the +target-sharing pair and the retained frames. + +**Other checks (JointXF):** +- `audit_local` PASS; +- native chain PASS; +- FrameCoal's global frame optimiser reaches the same profile on this move set, so X4 is frame-optimal for these moves; +- SW4Extend found the same word independently. diff --git a/research/gauge44-leaver8/PROOF-NOTE-LAYERS.md b/research/gauge44-leaver8/PROOF-NOTE-LAYERS.md new file mode 100644 index 0000000000..c4b4e85b6a --- /dev/null +++ b/research/gauge44-leaver8/PROOF-NOTE-LAYERS.md @@ -0,0 +1,129 @@ +# PROOF-NOTE-LAYERS: earlier jp8 layers, here stacked on the no-triangle gauge44 word + +> In this package the layers sit on the no-triangle word (R = 504), not on #645's 492-helper word. The mapping, the +> NP chain (regroup `864ff4a1` → swap `beb3579f` → layered `a9de804f`), the per-layer status on this base and the +> checks are in `PROOF-NOTE-NOTRI.md` ("Layers on this word"). The text below is research/gauge44-layered's note. It +> describes the same layers and controls on the 492-helper word; its word shas, helper numbers, counts and result +> table refer to that word. + + +This note covers the second change of research/gauge44-layered relative to research/gauge44-bit589. The first change, +the PR589 bit supplier, is covered unchanged by `PROOF-NOTE-BIT.md`. Here the community jp8 layers that were reviewed +on the k492 words (#629/#637/#641 lineage) are re-applied to #645's gauge44 provider word. The layers, their +construction code and their recipes were all reviewed earlier, on k492 words. This note says what carries over +unchanged, what is re-checked on the gauge44 word, and what is new. Sources: G44Stack's report (porting and checks on +gauge44); PivotReviewer's report (sections 1-4, Addenda 3-5); H4aReviewer's report (Addenda 7-8); JP8Ends' report. + +## What the layered word is + +`construction/layers/reproduce_layers.py` builds the layered word from a fresh `construction/reproduce.py --until word` +output. Each step is checked exactly: + +1. **Pivot swaps** (`build_pivot_swap.py`, PR641's constructor, LF sha256 `8e8bced8…`, the file PivotReviewer signed for + st2s4). It reads `PIVOT-SWAP-S6.json` and runs on #645's `regroup/FULL-WORD`. There are six pivot-role swaps: 488→560, + 489→561, 500→572, 501→573 (s4) and 513→537, 525→549 (s6). The `swaps` list is identical, gate for gate, to S6Ship's + s6/s6j3 recipe (`k492-jp8-pivot_swap.json`); only `input_content_sha256` differs, because the base word is #645's + regroup word. The constructor replays the zero response exactly, keeps the profile and width multiset unchanged, and + rejects its 30 negative controls. +2. **HPE.** PR635's `build_hpe.apply` applies the inherited jp8 hyperplane-end changes (`HYPERPLANE-END-S6.json`). Its + LF sha256 `23c9d7ce…` equals the k492 jp8 hyperplane_end recipe committed in s6j3 and earlier. +3. **cold44, exactly.** #645's `build_gauge_cold44.py` runs on the swapped HPE word. Its 44 rank-four cold ends, premix + and low tails must equal the unswapped (pinned) cold44 construction; only the FULL inverse differs. Consequently the + swaps touch no factory block. +4. **Layers.** PR635's unchanged `build_cold_end.apply(HPE, COLD-LAYERS-RECIPE)` applies the cold44 recipe plus: + - 8 entering ends: 560/561/572/573 at U24 (s4) and 597/599/537/549 at U30 (x30: #629's E1 pair, which #645 dropped, + plus s6's two ends); + - 10 factored dim-8 cold ends: p123 (310/506, 311/504, 516/327) and q4 (579, 592, 589, 518). + The output word's sha256 is pinned (`0be48b1d…`), as are its local profile `{1:2542, 2:414, 3:434, 4:154, 5:56, + 8:8}` and width inventory `{4:52, 5:48, 7:42, 8:116, 9:234}`. The recipe's `refactored_cleanup` meta lists the 8 + entering ends in `entering_low_frame_ended_helpers` (LayerReviewer's fix). That meta is copied into the word, which + is why the pinned word sha moved from `b25f0ed9…` to `0be48b1d…`; gates, frames and report are unchanged. +5. **Layer-end controls** (`layer_end_controls.py`, LayerReviewer's adaptation of PR635's `cold_end_controls.py` + d966e29a). These are raw-word negative controls on the layered word, judged by PR635's unchanged + `hpe_audit_and_transport.py`. Each mutant must be rejected at its pinned reason. The adaptation has three parts: the + lower→FULL mutant is pinned at "cleanup on non-FULL end", where gauge44 rejects it; entering ends come from the + recipe meta; and the premix-gate controls are skipped for entering ends that have no premix gate. `reproduce_layers.py` + requires exactly 59 rejections. +6. **Native locals.** PR635's native audit and transport, ledgers, local replay (the 192-bit payload bound), wrappers and + phases all pass. The result is the `--local` that `verify_global.py` consumes. + +G44Stack's run of this driver (`rlayers2`, all steps exit 0, 59 controls rejected) reproduces `locs/pq/local`, the +local G44Pack's strict runs used. Every SPEC-pinned artifact is byte-identical: CANONICAL-WORD, LOCAL-PROGRAMS, +LOCAL-CHECKS, INDEPENDENT-LOCAL-REPLAY, CLIFFORD-RECIPES, RESIDUAL-ADAPTERS and WRAPPER-CHECKS. CLIFFORD-REVIEW differs +only in a seconds field; its semantic hash is what SPEC pins. The two unpinned files that embed the word, +FULL-WORD and SCALAR-FRAME-AUDIT, differ because of the meta. + +## Per-layer status on gauge44 (G44Stack, ideal Δκ at ×72) + +| layer | prior review (k492 words) | on gauge44 | per-call Δ profile | ideal Δκ | +|---|---|---|---|---| +| pivot swaps (6) | PivotReviewer §1-2 (s4), Addenda 4-5 (s6): exact; omitting any rewritten gate is rejected; cost-neutral | all 6 recipe `before` gates match the regroup word; 30 controls rejected; cold44 rebuilds the same 44 ends | neutral | 0 | +| s4 ends 560/561/572/573 @U24 | PivotReviewer §3: (N) exact for ([24], U24) and its canonical pair; climbs paid | positive | {1:+8, 2:−4, 3:+4, 4:−4}, w −4 | +7.0e-8 | +| x30: E1 597/599 + 537/549 @U30 | #629 (E1); PivotReviewer Addenda 4-5 (537/549 end monotonically at the E1 hyperplane, whose (N) is exact) | positive | {1:+10, 2:−6, 3:+2, 4:−2}, w −4 | +2.0e-7 | +| p123 | H4aReviewer Addendum 7: 0 bad rows, dyadic, exact in all 3 orientations; (N) for (0,1039)-(0,1041); Δ recomputed | positive | {1:+6, 2:+12, 3:−12}, w −6 | +2.0e-8 | +| q4 (after p123) | H4aReviewer Addendum 8 (n_q4): exact; (N) for the 310/311/327 frames and 518's (0,1042); independent of u4 | positive | {1:+4, 2:+8, 3:−8}, w −4 | +1.4e-8 | +| **stack T_pq** | — | built and audited | {1:+28, 2:+10, 3:−14, 4:−6}, w 3794→3776 | **+3.08e-7** | + +These layers were left out because they are negative or dead on gauge44: u4 (−1.2e-6), the 249 end (−3.2e-7), a joint +p123+q4 (−2.6e-7, worse than sequential), and #627's dim-7 ends 581/590 (no dyadic basis). j3 is dead: its st2 partner +403 is one of #645's 44 ends, and cold44's block premix uses up the row space. + +**Payload.** H4aReviewer's Addendum 8 correction found that the k492 word n_q4 broke the 192-bit local payload bound +(backward prefix 280 bits). On gauge44 the layered word passes PR635's `hpe_audit_local.py` local-replay stage +(`prefix < 2**192`), both in G44Stack's `localchain.py` and as step 5 of `reproduce_layers.py`. So the q4 layer here +does not repeat that failure. + +## Verifier changes (spot widths) + +A swapped-out pivot p becomes an ordinary cold helper, and its width goes from 8 to 9. #645's global code checks the +spot helpers' widths as all 8, so the five global files gain the spot-width rule PivotReviewer signed as SOUND for +S4Ship (Addendum 3), ported to gauge44: + +- `code/witness.py`: `spot_widths(v)` gives 9 at a spot helper h with 2v+h among the swapped-out pivots and 8 + elsewhere. The swapped-out pivots are read from the recipe that SPEC key `pivot_swap` names (path and sha256; the + sha256 is asserted). Without `pivot_swap` the tuple is all 8, the same as #645. +- `code/bind_providers_portable.py`, `code/audit_allcold.py`, `code/assemble.py`: the `all(... == 8)` spot checks become + tuple equality with `spot_widths()`, which pins every spot width exactly. +- `code/assembly_controls.py`: the `cold_swap` control picks a swap partner whose width differs, so the mutant can + never be the identity. + +Here the spot helpers 264 and 276 (pivots 488 and 500) expect width 9 and the other spot helpers expect 8. The k492 +spot-width review (PivotReviewer Addendum 3) covered the same rule on k492 code. Its gauge44 port is part of this +package's review (LayerReviewer). + +## Controls and what is not re-run + +- The pivot-swap constructor's 30 controls run inside `reproduce_layers.py` (step 1). +- `verify_global.py`'s strict controls are unchanged, including the 12 bit-supplier controls and #645's admission + controls. They run on the layered locals. +- Layer-end controls: 59 raw-word mutants, all rejected at pinned reasons, run as step 5 of `reproduce_layers.py` + (see above). They cover the cold low-frame ends, the refactored cleanup, every entering end (its lower-frame gate, + profile pin and hyperplane, plus its premix gate where it has one) and each distinct dim-8 frame. LayerReviewer ran + them on the layered word (59 rejected). The k492 version (d966e29a) rejected 103-112 on the p123/q4 words; the + k492-only primitives (absorptions, factored accumulators, target writes) are absent from this word. +- #645's independent audit `independent/audit_local.py` on the layered word: PASS, with 204 entering helpers, 96 low ends, + 54 cold ends and 716 columns. Its receipt is `evidence/layers/LOCAL-AUDIT-LAYERED.json` (word `0be48b1d…`, run with + `--main`). The README's clean-clone command reruns it; only `elapsed_seconds` varies. The other `independent/` + receipts are #645's own. +- The prior (N), exactness and pricing checks for each layer were done on k492 words. On gauge44 they are covered by + the native chain (native audit, local replay, wrappers, phases) on the layered word, together with the pinned + profile and width inventory. + +## Inherited assumptions + +These are the same as `PROOF-NOTE-BIT.md` (#645 open; PR589 citation; #545/#555/#589 review points; H1-H5). In +addition: + +1. **(N) for the entering-end pairs outside #599's three Lean-covered pairs** (U24, U30, the dim-8 frames). As on + k492, these are covered by the tool check (clifford_exact / `nchk.py`) and by the native wrappers, not by a Lean + proof (PivotReviewer §3). +2. **The reviews of PR641's pivot-swap constructor and PR635's `build_cold_end.apply` / `build_hpe.apply`**, which this + package uses unchanged. + +## Result + +| | gauge44-bit589b (L1g4 map) | this package (layered, LN5c map) | +|---|---|---| +| κ | 0.001652760598550299 | 0.00165395497190225 | +| per-call width | 3794 | 3776 | +| local profile | #645's {1:2514, 2:404, 3:448, 4:160, 5:56, 8:8} | {1:2542, 2:414, 3:434, 4:154, 5:56, 8:8} | diff --git a/research/gauge44-leaver8/PROOF-NOTE-LEAVER.md b/research/gauge44-leaver8/PROOF-NOTE-LEAVER.md new file mode 100644 index 0000000000..b34a289c48 --- /dev/null +++ b/research/gauge44-leaver8/PROOF-NOTE-LEAVER.md @@ -0,0 +1,82 @@ +# PROOF-NOTE-LEAVER: no-helper mutable-leaver all-K cells, re-stacked layers, hybrids and a frame re-optimisation (k8) + +Construction: LeaverSAT (cells, layer re-indexing, frozen recipes) and LeaverSAT2 (frame re-optimisation). +Drivers: `construction/leaver/reproduce_leaver.py` (cell word) and `construction/leaver/reproduce_leaver_chain.py` +(everything after it). Reviews: PromoReviewer (leaver chain, k8 cells and frames, k8 clean rebuild), SW4Reviewer (hybrid structure), Q6Reviewer +(`layer_end_controls_leaver.py` v2, `LEC-REASON-PINS-k8.json`), LecReviewer (`LEC-REASON-PINS-STACK-k8.json`). + +## 1. The cell (set model, LeaverSAT) +In #781's all-K cell, a pair p with sign e replaces three face events and three packet copies. Direct delivery uses +15 reads y_i += c x_j. LeaverSAT's 21-gate circuit uses the six leaver sources x_j (face-event operands with no later +reads, restored at FULL by the inherited cleanup) as mutable intermediates. It has 3 leaver gates x_k += c x_m, +3 target gates y_a += c y_b (inverted at frame zero in the precondition and scatter, #781's recipe) and 15 reads. +Coefficients are rescaled exactly per cell, C_ij = r_i c_j. The driver re-derives the scaled gates from the unit +circuit and checks the clean map Y_i = Σ_j C_ij X_j in exact rationals. + +Native legality needs one relabelling: the plain circuit fails the native audit, because a y += y source carries +port-stage entering-helper dirt. Each cell is therefore relabelled by S6 so that y–y sources avoid targets carrying +entering dirt at that time. + +**Set k8:** all eight cells (01±, 23±, 45±, 67±), R = 480. The cores are in `construction/leaver/cells-k8/` (documentary; +the driver re-derives every scaled gate from `CODED-CELLS-k8.json`). The regroup word is `00aeefe0…` and the cell word is +cold44 `58e14a02…`. Its pairing ranks are pinned to [0,0,0,4,4,4,4,4,4,4,4,0,0,0] in `cold44x.py` and checked again in +the driver. + +## 2. Re-stacked layers (LeaverSAT; signed builders unchanged, recipes re-indexed) +| step | recipe (data) | word | +|---|---|---| +| pivot swaps (6), mapped through the leaver helper map | `PIVOT-SWAP-k8.json` | `377ab10c…` | +| HPE, greedy (22) | `HPE-RECIPE-k8.json` | `598543fa…` | +| cold44, exact (same ends, premix and tails as the unswapped cell word) | — | — | +| NP layers (s4, x30, b6, q4) | `COLD-LAYERS-RECIPE-NP-k8` | `2c1740f6…` | +| p6n ends | `COLD-LAYERS-RECIPE-P6N-k8` | `25c40614…` | +| promotions (16, minimal) | `PROMO-RECIPE-k8.json` | `84d4da2e…` | +| joint exchange (re-indexed X4) | `RECIPE-X4-k8.json` | `84d4da2e…` (identity) | +| U8-style hybrids ×6 (NewBArch's builder; instances 62, 226, 228, 230, 231, 232) | `RECIPE-U8-k8.json` | `c836d892…` | +| frame re-optimisation (exact global frame optimum, gopt2; 137 B and 2 T frames) | `FRAME-RECIPE-LV-k8.json` | **`db2c7cfb…`** | + +Three steps don't apply to k8. The sw4 exchanges use copy helpers 461, 581, 591 and 603, which the cells drop. Of +#741's eight frames, none survives. All four X4 exchange groups use dropped helpers, so the joint exchange is the +identity (0 raises, 0 frames); it is still run, with its three remaining controls (C0, C1, N3) at their pins. + +The two cold-layer recipes are LeaverSAT's frozen k8 recipes (`fea82fb8…`, `76aedf23…` as .gz) with one key added, +`input_content_sha256` = the swapped HPE word `598543fa…`, as in the k5 package. Removing the key gives the frozen +recipe content exactly. + +## 3. Controls rerun on every rebuild +- **Cell stage:** the exact clean-map check; native audit, ledgers, local replay, wrappers and phases on the cell word. +- **Pivot swaps:** the swap constructor's 30 controls. +- **Promotions:** BlockInvert's `promo_controls.py`, 11 mutants rejected at pinned sites. +- **Joint exchange:** the 3 `RECIPE-X4-k8` controls reproduce their pinned outcomes. +- **Hybrids:** `run_controls.py` gives 30 outcomes, all required. These are C0, the recipe word passing audit_local, + and 4 mutants, each run both globally and per instance. +- **Frames:** `build_frames_lv.py`'s 3 pin controls. LeaverSAT2's 6 frame-recipe mutants are rejected by the builder; + that receipt was reviewed by PromoReviewer and is not rerun. +- **Layer-end controls:** `layer_end_controls_leaver.py` v2 (`4ba676f1…`), Q6Reviewer-signed. It is the signed + per-end controls with per-word reason re-pins and **declared not-applicable sites**. A vacuous mutant site is never + skipped silently: the pins file must declare it, the declared set must equal the detected set, an identity is proven by + sha equality of the mutated and honest words, and a same-class substitute mutant is built and must be rejected at the + class's pinned reason. The count stays 95 on every word. The controls run on all five words: + - p6n, promoted, jx and hybrid words, with `LEC-REASON-PINS-STACK-k8.json`: `extra_end` only. h0 273's first + premixed partner 282 is already cold-ended at h0's frame, so the mutant is the identity (sha-proven per word); the + substitute is partner 281, cold-ended at h0's frame. + - the re-framed final word, with `LEC-REASON-PINS-k8.json`: `extra_end` as above, and `other_hp:554`. The frame + re-optimisation lowers entering end 554's tail frame to dimension 5, and no helper_final frame has dimension 5, so + the 'end at another hyperplane' mutant cannot be built; the substitute moves 554's end to another dim-8 frame and + must be rejected at the cone pre-check. This replaces the interim skip of research/gauge44-leaver. + No reason re-pins are needed on the k8 words. The receipts (`COLD-END-CONTROLS.json`) carry the not-applicable list; + the counts, the not-applicable sites with their reasons and the sha256 of each pins file (`LEC-REASON-PINS-STACK-k8.json` + d87ed7b5…, signed by LecReviewer; `LEC-REASON-PINS-k8.json` b07279e4…, signed by Q6Reviewer) are pinned in + `CHAIN-PINS-k8.json`. +- **Native chain on the final word:** the canonical word, local programs and Clifford recipes are pinned in + `CHAIN-PINS-k8.json`, which also pins every count above. + +## 4. Cell mutants (evidence, not rerun) +LeaverSAT2's `CELL-MUTANTS-LV.json` (in `evidence/leaver/`) records PromoReviewer's cell mutants M1–M6, generalised +to every cell sign. All 42 are rejected by both audit_local and the native audit, on single-cell builds. + +## 5. Strict +The owner map is G44Pack3's K8c8: its pattern-flow LNS on the R = 480 k8 word. Admitted on this package's own code, +with SPEC `width_spot_helpers` [258,270,282,294] and `pivot_swap` → `construction/leaver/PIVOT-SWAP-k8.json` (NEWWORD +discovery, freeze, strict), it gives κ 0.001671387264390146. That is +7.154e-6 over research/gauge44-leaver (k5, +0.001664233607446043). diff --git a/research/gauge44-leaver8/PROOF-NOTE-NOTRI.md b/research/gauge44-leaver8/PROOF-NOTE-NOTRI.md new file mode 100644 index 0000000000..54bd84e01d --- /dev/null +++ b/research/gauge44-leaver8/PROOF-NOTE-NOTRI.md @@ -0,0 +1,53 @@ +# PROOF-NOTE-NOTRI: #645's gauge44 word without K-triangles (R = 504) + +Construction by PartialK; review by NotriReviewer (scratch/NotriReviewer/FINAL-REPORT.md). Drivers: +`construction/notri/reproduce_notri.py` (this word) and `construction/layers_np/reproduce_np.py` (layers on it). + +## Why the triangles were the blocker +- In #645's gauge44, a K-block has I = 6 low registers with rank C = 4, so L = 2. Only the 2-row priority completion + fits there. The (p,−) triangle reads climb copies loc17/19/21 and source loc2. +- Without the triangles, I = 8. With the 2-row completion, rank C stays 6 (L = 2), which is why the plain removal sweep + restored nothing. With the 6-row completion (`PRIO6.json`, the list blocks 3–10 already use), rank C = 4, so L = 4, + the cap. All 14 blocks then pair at rank 4: 56 rank-four cold ends, R = 504, width 3818, profile + {1:2506, 2:336, 3:472, 4:184, 5:56, 8:8}, rank mass 5674. + +## Constructor changes (NotriReviewer §1) +- **`cgx.py`** is #645's `construct_gauge_xcentre.py`, parameterised by XPARAM. On this path the only change that takes + effect is the K-block priority: `PRIO[c]` is placed in front of the inherited rows. The prepended rows equal the + shared 6-row list of blocks 3–10 (all 8 lists identical). Every completion assert is kept (`qr_rank(M)==4`, + `len(M)==8`, the exact block-total rows). An empty TRI schedule is an input #645 already supports (`NH = 504 − 3·0`). + `HELPER-MAP` is the identity on 728. The `exch`, `COPYL` and `hyb` branches are inert here (defaults, empty, not + reached). +- **`port_stage_x.py`** is PR635's `build_port_stage.py`. The helper map only has to be injective rather than onto; + with no triangles it is onto again. +- **`cold44x.py`** is #645's `build_gauge_cold44.py`. Its per-block pin `r == len(L) == (2 if K-block else 4)` is + replaced by `r == len(L)` together with the explicit per-block pin `PAIRING_RANKS` (set by the driver to [4]*14, + and to #645's pattern in `--control-g44`). Helpers outside the 224+16b ranges join their blocks (EXTRAH, empty here). + Every other assert is kept (U, nonlocal premix, `rank(Qmat) == NB`). +- **Control.** `reproduce_notri.py --control-g44` runs the same scripts with #645's four triangles and no XPARAM. It + reproduces #645's gauge44 word `78c7aada…` exactly, with ranks [2,2,2,4,4,4,4,4,4,4,4,2,2,2]. + +## Exactness and locals (NotriReviewer §2) +- Replay: 0 bad rows over 27,932 gates, all dyadic; forward, inverse and adjoint are exact. None of the 6,448 + compensation additions reads an ended helper, and the precondition never touches one. +- 0 FULL-remainder gates touch an ended helper; E⊂U holds for every entering end. The delta against gauge44 + ({1:−8, 2:−68, 3:+24, 4:+24}, width +24) matches the reported profiles. +- (N): all 17 pairs pass (14 cold dim-4 pairs with 4 helpers each, plus 3 dim-8 entering pairs). +- `audit_local.py --main`: PASS. Payload: prefix bits 66 forward and 72 backward, against 192. +- Native locals: 25 controls rejected, Lemma A on 22 frames, 17 wrapper mutants rejected. The rebuilt locals equal + the strict locals (`PartialK/runs/none_p6/local`): byte-identical except CLIFFORD-REVIEW and SCALAR-FRAME-AUDIT, + which differ only in their `seconds` field. + +## Layers on this word (G44Stack) +The layers are research/gauge44-layered's (see `PROOF-NOTE-LAYERS.md`), mapped to the 504 numbering: +- the 6 pivot swaps 494→566, 495→567, 506→578, 507→579, 519→543, 531→555, which are neutral (same 46 HPE helpers, + same 56 cold ends); +- s4 566/567/578/579 at U24; +- x30 608/610/543/555 at U30; +- BlockCombine's b6; +- q4. + +p123 is negative on this base and dropped; j3 is dead (L = 0 at U24 and U30). The chain is regroup `864ff4a1` → swap +`beb3579f` → layered `a9de804f`, with profile {1:2534, 2:346, 3:458, 4:178, 5:56, 8:8} and width 3800. On that word +the signed `layer_end_controls.py` rejects 59/59 and `audit_local.py` passes with 216 entering helpers, 120 low ends, +66 cold ends and 728 columns. NotriReviewer independently reproduced a9de804f from the packaged recipes. diff --git a/research/gauge44-leaver8/PROOF-NOTE-P6N.md b/research/gauge44-leaver8/PROOF-NOTE-P6N.md new file mode 100644 index 0000000000..bef9ad2de0 --- /dev/null +++ b/research/gauge44-leaver8/PROOF-NOTE-P6N.md @@ -0,0 +1,34 @@ +# PROOF-NOTE-P6N: six b-type dim-8 cold ends on the layered no-triangle word (p6n) + +Construction by NoTriReopen. Driver: `construction/layers_p6n/reproduce_p6n.py`. Review: Q6Reviewer. + +## What p6n adds +On research/gauge44-notri-layered's word NP (`a9de804f…`), p123's lane is rebuilt as three factored dim-8 pairs +(`P6N-SPEC.json`): +- [512, 513] at U = (256,128,66,34,16,8,6,1). The old pair [310,512] split a rank-3 end; [512,513] replaces it; +- [311, 510] at U = (256,128,72,40,24,4,2,1); +- [522, 327] at U = (256,128,66,34,18,10,6,1). + +They are built with the same premix-only factored construction as p123/q4/b6 (JP8Ends' stackJ/stackE, CarrierBypass +pattern; PR635's unchanged `build_cold_end.apply`). The cold-layer recipe `COLD-LAYERS-RECIPE-P6N.json.gz` is NP's +recipe plus these six ends; its meta lists 72 cold ends and the 8 entering ends. Applied to NP's swapped HPE word, it +gives p6n `34b683fa…`: +- profile {1:2540, 2:358, 3:446, 4:178, 5:56, 8:8}; +- widths {4:64, 5:48, 7:54, 8:122, 9:216}; +- width 3794 (NP 3800); +- Δ per call {1:+6, 2:+12, 3:−12}, w −6, every end b-type. + +## Checks +- **NoTriReopen:** native chain including phases PASS; audit_local PASS; 95/95 layer-end controls rejected. +- **Q6Reviewer:** + - exact; + - (N) passes on all 21 pairs; + - payload 55/72 bits, against 192; + - the per-end control variant `layer_end_controls.py` (fc58c569…, which Q6Reviewer signed for research/gauge44-pq6) rejects 95/95; + - 165 further mutants on the six ends are all rejected. + The LayerReviewer-signed `../layers/layer_end_controls.py` controls one end per dim-8 frame family, so it would not + control each new end. This package therefore uses the per-end variant for p6n and for the promoted word built on it. +- **Rebuild:** `reproduce_p6n.py` pins the input NP word, the output sha, profile and widths, and 95 controls. + +## Remaining capacity (NoTriReopen) +After p6n, the only residual cold capacity on the word is 2 a-type units, and every end there prices about −9e-7. diff --git a/research/gauge44-leaver8/PROOF-NOTE-PROMO.md b/research/gauge44-leaver8/PROOF-NOTE-PROMO.md new file mode 100644 index 0000000000..8233bbd6b8 --- /dev/null +++ b/research/gauge44-leaver8/PROOF-NOTE-PROMO.md @@ -0,0 +1,46 @@ +# PROOF-NOTE-PROMO: entrance promotions E4 → E5 on the p6n word + +Construction by BlockInvert (`construction/promo/`); driver `construction/promo/reproduce_promo.py`. + +## What a promotion is +An entering helper h starts at an entrance frame E (its `start_extra`) and climbs to its final frame. Promotion +enlarges E to E′ ⊃ E (here dim 4 → dim 5). That removes one paid climb from h's chain (width −1 per helper) at the +cost of re-choosing the frames of the gates on h's early chain. It is the time-reverse dual of end deepening. Two +conditions make it legal: +1. **Zero target response for h's dirt.** This condition does not depend on E, so it is inherited unchanged from the + input word. +2. **Monotone frames.** Every gate's frame must contain its registers' current frames. +Only frame annotations and start frames change. The scalar program (every gate's registers and coefficients) is +untouched, so the endpoint, every cone and the compensation are those of the input word. + +## The recipe (`PROMO-RECIPE-p6n-k4.json`, data only, minimal) +- Input: the p6n word `34b683fa…` (`PROOF-NOTE-P6N.md`), pinned. +- `entrances`: the 16 entering helpers 627, 629–631, 635, 637–639, 651, 653–655, 659 and 661–663 (four E4 kernel groups) go E4 → E5. +- `gate_frames`: 48 frame re-choices, the promotion's own entry-gate raises (12 per group); each records the old frame, + which must equal the input's exactly. This is BlockInvert's **minimal** recipe: the deterministic rule + E′ = E + ⟨smallest x⟩ on each group's entry gates (PromoReviewer). Unlike research/gauge44-promo's k3 recipe, it + carries none of the 72 price-neutral CP-SAT re-choices. +- `expected`: output `0390ec65…`, profile {1:2572, 2:326, 3:430, 4:194, 5:56, 8:8}, widths + {4:80, 5:32, 7:54, 8:122, 9:216} (width 3778). Against p6n the delta is {1:+32, 2:−32, 3:−16, 4:+16}, width −16. + +## Checks rerun on every rebuild (`reproduce_promo.py`) +- `build_promotion.py`: input pin; each old frame matches; each new entrance strictly contains the old one; the + profile and widths are recomputed from the chains, including target end climbs; output pins. +- `promo_controls.py`: the honest word passes #645's independent `audit_local.py` (exact forward and dual endpoint + frames, entrances, cones). For p6n-k4, 11 mutants are rejected at pinned sites (the count is pinned in `LOCAL-PINS-p6n-k4.json`): + - entrance outside the first gate frame; + - raised gate missing, once per promoted group; + - entrance reverted, so the profile does not match; + - ungrouped promotion; + - a recipe gate whose old frame is wrong; + - a recipe entry that is not a promotion; + - a tampered input word (the constructor's own `__main__` must refuse it at the input pin); + - a scalar tamper on a raised gate. +- The per-end layer-end controls (`../layers_p6n/layer_end_controls.py`, Q6Reviewer-signed): 95 rejected. +- PR635's native chain: transport audit (all columns, native frames), ledgers, local replay (192-bit payload), + wrappers and phases, with the canonical word, local programs and Clifford recipes pinned (`LOCAL-PINS-p6n-k4.json`). + +## Search (not run by the rebuild) +`make_recipe.py` writes the recipe from BlockInvert's CP-SAT solution (`prom.py` with `exactframe2.py`, using MinCutSel's +chain model). These promotions were priced negative before (MinCutSel #3, under a fixed-window arc-flow packer). Under +near-ideal packing (G44Pack's dissolve/gapmerge) they price positive; the strict replay confirms the gain. diff --git a/research/gauge44-leaver8/PROOF-NOTE-SW4.md b/research/gauge44-leaver8/PROOF-NOTE-SW4.md new file mode 100644 index 0000000000..a064cc54cc --- /dev/null +++ b/research/gauge44-leaver8/PROOF-NOTE-SW4.md @@ -0,0 +1,44 @@ +# PROOF-NOTE-SW4: read-set exchange on four entering-copy pairs + +Construction by BRoute (`construction/sw4/`, with the author's notes in `construction/sw4/NOTES.md`). Driver: +`construction/sw4/reproduce_sw4.py`. + +## The move +In P6k4 (`0390ec65…`; research/gauge44-promo-p6sw applied the same exchange to P6k3 `a38bb414…`), each of four entering packet copies h is written first as h = E_h + r: copy gate add(h, r, 1) +from a non-target face register r, with E_h being h's entering content. The pairs are (h, r) = +(461, 25), (581, 89), (591, 415), (603, 431). For each pair the read sets of h and r are exchanged in phase B: +- every post-copy target read add(t, h, c) becomes add(t, r, c), and t's entrance pre-read add(t, h, −c) (taken + while h = E_h) is deleted; +- every target read add(t, r, c) becomes add(t, h, c), with a pre-read add(t, h, −c) inserted after h's last existing + pre-read and before h's copy gate. + +Since h − r = E_h after the copy, each target's value is unchanged at the end of B. The builder checks this for every +register mod p (p = 2147483629). Moved and inserted gates take the plain join of their operands' current frames. +Every other B gate and every early-cleanup tail keeps span(old frame + current operand frames). Targets must stay +inside u_t^⊥, and tails and ends must contain the current frame. start_extra, helper_final, cleanup and the helper +numbering are unchanged. + +## Effect +Output `d232183f…`. Width 3778 is unchanged. The profile goes from {1:2572, 2:326, 3:430, 4:194, 5:56, 8:8} to +{1:2548, 2:342, 3:438, 4:186, 5:56, 8:8}, a delta of {1:−24, 2:+16, 3:+8, 4:−8}, the same as on P6k3. The four +exchanges are additive. The fourth promotion group (659, 661–663; gates B420–431) commutes exactly with the exchange: +there is no index or register overlap, and SW4Reviewer checked that applying the k3→k4 frame and start differences +to f35a852b gives d232183f. Ideal κ +3.271e-7 over P6k4. + +## Checks rerun on every rebuild +- `build_sw4.py` (standard library only): the input sha pin; the 16 explicit moves of `SW4-RECIPE-P6k4.json`; B-end + state exactness mod p; frame caps, tails and ends; the output sha, profile and W. It also runs 4 controls, all of + which must hold, each at the exact site pinned in the recipe's `rejection_expected` (all three keys N1, N2 and N3 are required): + - C0: the identity recipe reproduces the input B and early_cleanup byte for byte; + - N1: h2r without deleting the pre-read is rejected by exactness, with changed B-end rows exactly {168, 171}; + - N2: a partial exchange (one read only) is rejected by the frame cap, first at ('cap', B1192, register 169), 10 violations; + - N3: an inserted pre-read with the wrong sign is rejected by exactness, with changed rows exactly {129, 130, 169, 170}. +- The per-end layer-end controls (`../layers_p6n/layer_end_controls.py`, Q6Reviewer-signed): 95 rejected. +- PR635's native chain, with the canonical word, local programs and Clifford recipes pinned (`LOCAL-PINS-sw4-P6k4.json`). + The native transport audit re-checks every column and native frame of the exchanged word. + +## Scope of the search (BRoute) +The search was exhaustive within the single-pair family only. NP has 107 copy pairs, and 54 of them have movable +reads. Over those, every nonempty subset of one pair's movable reads gives 602 candidates: 564 are frame-illegal, and +the 38 legal ones are all full single-pair exchanges, of which exactly these 4 are positive. Cross-pair combinations +of partial moves were not enumerated. diff --git a/research/gauge44-leaver8/README.md b/research/gauge44-leaver8/README.md new file mode 100644 index 0000000000..48f987a99f --- /dev/null +++ b/research/gauge44-leaver8/README.md @@ -0,0 +1,225 @@ +# Gauge44 without K-triangles, with earlier jp8 layers, the p6n ends, entrance promotions, a read-set exchange, #741's frames, a joint exchange, a triangle-hybrid B rewrite, no-helper mutable-leaver cells and PR589's bit supplier: conditional κ = 0.001671387264390146 + +Under the retained all-size compiler, common-label/mutable-source realization, whole-call hosting, precision/tape, exact-recovery, analytic-transfer and bit H1–H5 interfaces (as in #645), and the PR589 bit supplier, + +$$ +T(n)=O\!\left(n(\log n)^{1-\kappa}\right),\qquad +\kappa=\frac{1671387264390146}{10^{18}}=0.001671387264390146. +$$ + +**The construction is icekylinx's [#645](https://github.com/CrocSwap/integer-mult-bounds/pull/645) (`research/gauge44-global`).** This package builds the research/gauge44-barch construction (items 1–8) and then rebuilds its word around **no-helper mutable-leaver cells** (item 9): +1. **No-triangle word (PartialK).** #645's gauge44 chain is run with **none** of the four (p,−1) K-triangles, so there are R = 504 helpers. In the six K-blocks {0,1,2,11,12,13}, the completion priority is extended by the 6-row list `construction/notri/PRIO6.json`. Every block then pairs at rank 4, giving **56** rank-four cold ends instead of 44. `construction/notri/reproduce_notri.py` rebuilds this word from a #645 `reproduce.py --until word` output. It uses PartialK's generalisations of #645's and PR635's constructors (`cgx.py`, `port_stage_x.py`, `cold44x.py`; each differs from its original only in the documented parameters). It pins: + - the pairing ranks [4]*14, inside `cold44x.py` and again in the driver; + - the word (`3e99ba77…`); + - the canonical word, the local programs and the Clifford recipes. + `--control-g44` instead rebuilds #645's own gauge44 word (`78c7aada…`) with the same scripts. +2. **Layers on the no-triangle word (G44Stack).** `construction/layers_np/reproduce_np.py` applies to the no-triangle regroup word (`864ff4a1…`): + - research/gauge44-layered's six pivot swaps, mapped to the 504-helper numbering (`PIVOT-SWAP-NP.json`, swap word `beb3579f…`); + - the greedy HPE (46, `HPE-RECIPE-NP.json`); + - the exact cold44 (same 56 ends); + - the entering ends s4 (566/567/578/579 at U24) and x30 (608/610/543/555 at U30), plus BlockCombine's b6 and q4 dim-8 cold ends (`COLD-LAYERS-RECIPE-NP.json.gz`). p123 is negative on this base and dropped; j3 is dead. + The layered word is pinned (`a9de804f…`): profile `{1:2534, 2:346, 3:458, 4:178, 5:56, 8:8}`, width 3800. The signed research/gauge44-layered files `construction/layers/build_pivot_swap.py` and `construction/layers/layer_end_controls.py` are used unchanged, and the latter must reject exactly 59 controls. The global code is research/gauge44-layered's (spot-width rule): SPEC `width_spot_helpers` [270,282,294,306] and `pivot_swap` → `construction/layers_np/PIVOT-SWAP-NP.json`, giving spot widths [9,9,8,8]. +3. **p6n ends (NoTriReopen).** `construction/layers_p6n/reproduce_p6n.py` applies `COLD-LAYERS-RECIPE-P6N.json.gz` to the NP swapped HPE word with PR635's unchanged `build_cold_end.apply`. That is NP's cold-layer recipe plus six b-type dim-8 cold ends: [512,513], [311,510] and [522,327], which rebuild p123's lane as clean pairs. The result is the p6n word (`34b683fa…`): profile `{1:2540, 2:358, 3:446, 4:178, 5:56, 8:8}`, width 3794. The per-end layer-end controls (`construction/layers_p6n/layer_end_controls.py`, the variant Q6Reviewer signed for research/gauge44-pq6) must reject exactly 95 mutants. See `PROOF-NOTE-P6N.md`. +4. **Entrance promotions (BlockInvert).** `construction/promo/reproduce_promo.py --base p6n --k p6n-k4` applies the minimal recipe `PROMO-RECIPE-p6n-k4.json` to the p6n word with BlockInvert's deterministic constructor `build_promotion.py`. The recipe promotes the 16 entering helpers 627, 629–631, 635, 637–639, 651, 653–655, 659 and 661–663 (four E4 kernel groups) from E4 to E5, the time-reverse dual of end deepening. It re-chooses the frames of the gates affected. Only frame annotations and start frames move; the scalar program is unchanged. The promoted word is pinned (`0390ec65…`): profile `{1:2572, 2:326, 3:430, 4:194, 5:56, 8:8}`, widths `{4:80, 5:32, 7:54, 8:122, 9:216}`, width 3778. BlockInvert's `promo_controls.py` runs #645's independent `audit_local.py` on the honest word and must reject 11 recipe- and word-level mutants at pinned sites. The per-end layer-end controls (95) and the native chain then run with pins. The recipe is minimal: 48 entry-gate frame raises and no other frame re-choices. See `PROOF-NOTE-PROMO.md`. +5. **Read-set exchange (BRoute).** `construction/sw4/reproduce_sw4.py` runs BRoute's standard-library builder `build_sw4.py` with `SW4-RECIPE-P6k4.json`, 16 explicit moves, on the promoted word (`0390ec65…`). For the entering-copy pairs (h, r) = (461,25), (581,89), (591,415) and (603,431), the phase-B target read sets of h and its face register r are exchanged. The entrance pre-reads are deleted or inserted so that every register's value at the end of B is unchanged; the builder checks this mod p. Frames are repaired monotonically, and the width is unchanged. The SW4 word is pinned (`d232183f…`): profile `{1:2548, 2:342, 3:438, 4:186, 5:56, 8:8}`, width 3778. Four controls (C0 identity, N1 kept pre-read, N2 partial exchange, N3 wrong sign) must all hold, each at its exact rejection site pinned in the recipe. The per-end layer-end controls (95) and the native chain then run with pins. See `PROOF-NOTE-SW4.md` and `construction/sw4/NOTES.md`. +6. **#741's eight B frames (chafreaky).** `construction/frames/reproduce_frames.py` applies chafreaky's [#741](https://github.com/CrocSwap/integer-mult-bounds/pull/741) frame recipe, `FRAME-RECIPE-sw4.json`, byte-identical to #741's. Ported by CompetitorMine, it raises eight B-gate frames with the scalar program unchanged, giving #741's word `e7804702…`. It runs 3 pin controls, #741's 10 focused native controls, 95 layer-end controls and the native chain with pins. +7. **Joint exchange X4 (JointXF).** `construction/jx/reproduce_jx.py` runs JointXF's standard-library builder `build_jx.py` with `RECIPE-X4.json` on #741's word (step 6's output). It makes four disjoint instances of the read-set exchange, each over two target-sharing copy pairs: (448,472), (458,592), (470,604) and (482,614). The moved reads keep their stored frames, and #741's frames are included. All edits are explicit, and B-segment exactness is checked by Fraction replay. The final word is pinned (`1e1d99ba…`): profile `{1:2548, 2:338, 3:430, 4:194, 5:56, 8:8}`, width 3778. All seven pinned controls are rerun; C1 reproduces #741's word. See `PROOF-NOTE-FRAMES-X4.md`. +8. **Triangle-hybrid B rewrite (NewBArch).** `construction/barch/reproduce_barch.py` runs NewBArch's standard-library builder `build_tri.py` with `RECIPE-U8.json` on the X4 word (step 7's output). Eight disjoint slots receive a width-neutral B-delivery rewrite: an entering copy donates into a halves-copy so that one target read gets X+H, with holder restores and entrance pre-reads. The U8 word is pinned (`090fd574…`): profile `{1:2548, 2:338, 3:446, 4:162, 5:72, 8:8}`, width 3778. All 38 pinned controls are rerun (identity, the recipe word passing audit_local, and four audit_local-rejected mutants, globally and per slot). See `PROOF-NOTE-BARCH.md`. +9. **Leaver cells, re-stacked (LeaverSAT, LeaverSAT2).** `construction/leaver/reproduce_leaver.py --id k8` replaces the no-triangle word's construction with all eight all-K cells (01±, 23±, 45±, 67±). Each cell is LeaverSAT's 21-gate circuit, which uses the face-event leaver sources as mutable intermediates (R = 480, cell word `58e14a02…`). `construction/leaver/reproduce_leaver_chain.py --id k8` then re-applies items 2–8 with the signed builders unchanged and LeaverSAT's re-indexed recipes: swap, HPE, cold44, NP, p6n, 16 promotions, the re-indexed X4 exchange (the identity on this word) and 6 U8-style hybrids (`c836d892…`). It adds LeaverSAT2's exact global frame re-optimisation (`FRAME-RECIPE-LV-k8.json`), which gives the final word **`db2c7cfb…`**. Every intermediate word, control count and native pin is pinned (`LEAVER-PINS-k8.json`, `CHAIN-PINS-k8.json`). The per-word layer-end controls are the Q6Reviewer-signed `layer_end_controls_leaver.py` v2 (95 each), on the p6n, promoted, jx and hybrid words (`LEC-REASON-PINS-STACK-k8.json`) and on the re-framed final word (`LEC-REASON-PINS-k8.json`); its declared not-applicable sites are sha-proven identities or unbuildable mutants, each replaced by a same-class substitute that must be rejected. Items 5 and 6 don't apply on this word: the sw4 copies are dropped, and none of #741's frames survive. Items 1–8 remain in the package as the construction record of research/gauge44-barch. See `PROOF-NOTE-LEAVER.md`. +10. **Owner map (chafreaky's [#685](https://github.com/CrocSwap/integer-mult-bounds/pull/685), adapted by G44Pack).** The map is G44Pack3's K8c8, from its pattern-flow LNS (`pflns`) on the R = 480 k8 word. Its lineage is the #685/#741 map (chafreaky) via G44Pack's relabel and rewidth, followed by G44Pack3's LNS. It was admitted with this package's own code (NEWWORD discovery, `freeze_spec.py`, strict) at κ 0.001671387264390146. Only PLAN and OWNERS change. These are search inputs only; no verifier reads them. +11. **Expected values.** `data/SPEC.json` is re-derived by #645's discovery → `code/freeze_spec.py` → strict chain. + +- **κ = 0.001671387264390146** (conservative 0.001671387261540186). That is +0.4298% over research/gauge44-leaver (k5 cells, κ 0.001664233607446043; same chain on five cells, FO_c1 map) and +0.5672% over [#942](https://github.com/CrocSwap/integer-mult-bounds/pull/942) (κ 0.001661960547713947) and +1.3279% over #645, +0.9174% over research/gauge44-notri-layered (0.001656193765416678) and +0.7701% over research/gauge44-promo (0.00165861362787227) and +0.7273% over research/gauge44-promo-p6 (0.001659319032684569) and +0.7075% over research/gauge44-promo-p6sw (0.001659645685315104) and +0.5869% over research/gauge44-frames-x (0.001661634653669567) and +0.5679% over research/gauge44-barch (0.001661948695165034) and +0.6131% over [#741](https://github.com/CrocSwap/integer-mult-bounds/pull/741) (chafreaky, κ 0.001661202643272239) and +0.6654% over [#685](https://github.com/CrocSwap/integer-mult-bounds/pull/685) (chafreaky, κ 0.001660339298410333). The complex side certifies 0.001674185476674086429846 and PR589's bit supplier gives 0.001733427039589844234749, so **the complex side binds**. Under PR543 the bit side would cap κ at 0.001651096360425895 (`PROOF-NOTE-BIT.md`). +- **Evidence.** This package's own code admitted G44Pack3's K8c8 map (NEWWORD discovery → `freeze_spec.py` → strict): `verify_global.py` passes (`PASS_GAUGE44_STRICT_GLOBAL_REPLAY`, κ 0.001671387264390146) against G44Pack3's k8 locals, with SPEC `width_spot_helpers` [258,270,282,294] and `pivot_swap` → `construction/leaver/PIVOT-SWAP-k8.json`. It equals G44Pack3's own strict κ for K8c8. `RESULT.json` is that replay's `REPLAY.json`, converted to LF. The locals rebuilt by `reproduce_leaver_chain.py --id k8` match G44Pack3's strict locals byte for byte in every file except CLIFFORD-REVIEW and SCALAR-FRAME-AUDIT. Those two differ only in their `seconds` field, and the comparison normalises only that field (canonical `d1bf3c6f…`, programs `683f8323…`/`2d184e4d…`, Clifford `e3bfdfa2…`, pinned in `CHAIN-PINS-k8.json`). For this package, `data/SPEC.json` and a fresh `verify_global.py` replay on locals rebuilt by the two drivers are the binding record. +- **Independent price.** `independent/GAUGE44-INDEPENDENT-PRICE.json` is regenerated on this package's `data/PLAN.json` with the ported `independent/price_profile.py`: `PASS_FROZEN_PROFILE_TWO_EXACT_ENGINE_AND_OUTER47_CROSSCHECK`, κ equal to the strict replay. +- **Independent local audit.** `evidence/layers/LOCAL-AUDIT-LAYERED.json` is #645's `independent/audit_local.py`, run with `--main` on the final leaver word (content `db2c7cfb…`): `PASS_INDEPENDENT_EXACT_FORWARD_AND_DUAL_ENDPOINT_FRAMES_ENTRANCES_CONES`, 192 entering helpers, 78 low ends, 48 cold ends, 704 checked columns. Rerunning it reproduces the receipt except `elapsed_seconds` and, across zlib versions, `compressed_sha256`. +- **Historical #645 files (PR543-based, 492 helpers).** These are #645's files, retained unchanged and **not** updated for this package: `LOCAL-VALIDATION.json`, `CONSTRUCTION.md`, `hosting/`, `evidence/` (except `evidence/layers/`), the rest of `independent/`, `construction/reproduce.py` and its inputs, and `code/prepare_global.py`. They describe #645's word, owner map, PR543 supplier and κ 0.001649483702558979. `code/prepare_global.py` is #645's one-shot owner-map preparer, hard-wired to #645's parent plan and R = 492. No verifier imports it. This package's PLAN/OWNERS are frozen search output, and the strict replay checks them. `construction/reproduce.py` is still used for its `--until word` shadow and hamming inputs; its 492-word output is then superseded by `construction/notri/`. `construction/layers/reproduce_layers.py` is research/gauge44-layered's driver for the 492-helper layered word, shipped unchanged as signed; it is not used here. +- **Construction and code files** by committed LF SHA-256: + - `construction/notri/reproduce_notri.py` 90148c2a0422b4f92164298a283de73d413ab3d4cb7151a0e6b643a37ea025a8 (no-triangle driver) + - `construction/notri/cgx.py` 3da039d4184097c14802f9dbf972520d5b807671196f5e47a2247bc9f29bb418 (PartialK's generalised construct_gauge_xcentre.py) + - `construction/notri/port_stage_x.py` 38310744d054e393ea35e996047cddeb2d212141aaaaa4b07f7a4663b11db8e7 (PartialK's generalised build_port_stage.py) + - `construction/notri/cold44x.py` f0bc3500efb2c839a0f8cb03dbb9ea0a54f1dfc71ef81e5373b3d638ac5b8296 (PartialK's generalised build_gauge_cold44.py plus the PAIRING_RANKS pin) + - `construction/notri/PRIO6.json` de0412511b0dd1af13e9717bc791126ac0e91c569b5391fd6c70268083045d15 (completion priority) + - `construction/layers_np/reproduce_np.py` 1a304144a250d00d14154692ba522365b036777cf2b6fac466095e8ba733c16c (NP layer driver) + - `construction/layers_np/PIVOT-SWAP-NP.json` d49b8d316da1cbdaf995dd0e8314d3c67cc9cd4d5902e9d85ccb907be645bef5 (layer input) + - `construction/layers_np/HPE-RECIPE-NP.json` 43900139f618bdc06b8319098fb8dccaf4fc315b43ef7c067ca2cd778cdba2c1 (layer input) + - `construction/layers_np/COLD-LAYERS-RECIPE-NP.json.gz` 3164cfb71baaeba4ac43427bc14075a225fc3a32ecd9341e58aa52c03a4ee2c0 (layer input) + - `construction/layers/build_pivot_swap.py` 8e8bced88be2e592ded40929499bac385ca92fcc1fa59183c22229dbf34093b8 (signed, unchanged) + - `construction/layers/layer_end_controls.py` 7829187bfc8f909948d5250e0ec00f02c89f5fe98306a3ed88daee36cb3c92ef (signed, unchanged) + - `construction/layers/reproduce_layers.py` 435699f6f79c6c7fb8d6cc5a8382576d6ac88747583a975ff671e45440b93c4e (signed, unchanged, unused here) + - `construction/promo/reproduce_promo.py` f979be666c3f5cf57e342a8427863c0b35b67ca4d3be495ac386f6870deb2026 (promotion driver) + - `construction/promo/build_promotion.py` 9c9e2001b8d68bbe934d136026276fe97bd9bf6f94d4d78441fc28e14aca4daf (BlockInvert's constructor) + - `construction/promo/promo_controls.py` 786c51f84b53698c2c833083506c4432c30eb0ed3b71e7dbe458a70c7413c372 (BlockInvert's controls) + - `construction/promo/make_recipe.py` ba9e4fdc0c1be7f6a150a5a50909911257a1a8c7cc5d03d61f541178fc07c122 (discovery-side recipe writer (search, not run)) + - `construction/promo/PROMO-RECIPE-p6n-k4.json` fa6065d142646f7ab1f268912ce0cf5a1a6cd33c3994ff96bd6e204cf16b3e90 (minimal recipe) + - `construction/promo/LOCAL-PINS-p6n-k4.json` a92bb02266596956bd53e9c86e8bbcc6639c92b4a4a248a1521f8eb79228271f (native pins) + - `construction/layers_p6n/reproduce_p6n.py` aa7d6bcbed05aa1c689437c07a26e5c95be3c700c0c1fb7bcf91c432a88436ca (p6n driver) + - `construction/layers_p6n/layer_end_controls.py` fc58c5699ba6191c1163a3041241f6f0b619626c4462cd99bcf88210bac9e81e (per-end controls (Q6Reviewer-signed variant)) + - `construction/layers_p6n/COLD-LAYERS-RECIPE-P6N.json.gz` 17e218a17e47c58fe2cde775ab2314d3d84030a61327b7f13da61cae3b374ad4 (p6n recipe) + - `construction/layers_p6n/P6N-SPEC.json` 132a59635077d6afe80f99964a6935fce1dc2ece6587d74209c6f9c60025c8f1 (p6n end spec) + - `construction/sw4/reproduce_sw4.py` 3d082e0cc576fb1b4fb9e5dd11d63bab697c8a8626e2837813cd00d100b1aeac (SW4 driver) + - `construction/sw4/build_sw4.py` 9a295f3d534594a6b1326d8a6647e947670d1c6fbc92f37f5169661fde4c8f66 (BRoute's builder (stdlib)) + - `construction/sw4/SW4-RECIPE-P6k4.json` fa58d0ffc95d10b7453daefe4b34404a52895f94126ef973e92e92106cd615fa (16-move recipe with pinned rejection sites) + - `construction/sw4/LOCAL-PINS-sw4-P6k4.json` 3c06bf68b28ff125a6a2372bb70cefd76fb9fe1333438cd34dfb5b617cd70327 (native pins) + - `construction/frames/reproduce_frames.py` dc39ada9a2eb387310be181f3cea5dbd4b538632a888cd7372ece5e38a771832 (#741 frames driver) + - `construction/frames/build_frames.py` 200847a7e8b3125cbeea0765dad67650e0bf83d32b66d72ba4977e99b8ee8eeb (#741's builder (chafreaky; ported)) + - `construction/frames/frame_controls.py` 477de854ec9184a2c73d6ac3857a9d0cbd6bc04b71d10a105e7344434b492a77 (#741's controls (chafreaky; ported)) + - `construction/frames/FRAME-RECIPE-sw4.json` a2c7ca4d44671386d05974e2627645b42bbb7da7a35cefff6e9fa158b6ac8473 (#741's recipe, byte-identical) + - `construction/frames/LOCAL-PINS-frames-sw4.json` bc416b8f6443d59c715fb358c4d70fa27eae2d306388ffe0e2a303f60d929f7f (native pins) + - `construction/jx/reproduce_jx.py` 5c7afebb4eb7fcdeb7e971cfbc457cf071850e2da21c3c71295efdd453c2399c (X4 driver) + - `construction/jx/build_jx.py` 3cc7550b0c24bb54e245c6f7f16de489fd7844721fbb64aac628f38f43887916 (JointXF's builder (stdlib)) + - `construction/jx/RECIPE-X4.json` 9d42c6b38e8124f5ffe15da56c260a7fba7260626bf3c5f8cbd93aa4a71ceadd (explicit recipe with pinned controls) + - `construction/jx/LOCAL-PINS-jx-X4.json` 95c5114c8e937c2737a1b9f9da97303f2e5e129d39e6dfcc4010e99bfdb9c974 (native pins) + - `construction/barch/reproduce_barch.py` 19bc970aa6af25ab0e7fa96fb65c64dd0c5243976d8f2cb733cba839155482c1 (U8 driver) + - `construction/barch/build_tri.py` 0fba65b31c2fd71864c291358bb0ad8d5f7e1be07e21df23f0ae73d7b966002e (NewBArch's builder (stdlib)) + - `construction/barch/run_controls.py` 42639bf62bf57795e3ea615c1944c67efed00f28591333daeb3139bf63d04476 (NewBArch's controls (38 outcomes)) + - `construction/barch/RECIPE-U8.json` 292f0e9f82824c4111728cf4de929bf6e43320fbbdc77658aae9681906b0d652 (explicit recipe) + - `construction/barch/LOCAL-PINS-barch-U8.json` 2d16f99e1f71fd66378f5f767cf4cfa2a58264919a95074c7b31029f39a3c9f5 (control set and native pins) + - `construction/leaver/reproduce_leaver.py` 831bfdf2247b5d864b74c3b2b6a475718053d48570851d48bd1c5471d410ee30 (cell driver) + - `construction/leaver/cgx_leaver.py` 3af491c63dd96204a7c36006c7e419c2e5ce77e5bc453ccd2495c1e41f83f87c (cell constructor) + - `construction/leaver/reproduce_leaver_chain.py` 2bc3fc3f32e0f957a0731b79254c553ca48fc6d4d47c4f99d6cd31e1901d85b5 (chain driver) + - `construction/leaver/layer_end_controls_leaver.py` 4ba676f1ea326b739a64c3477f64eeb295f8151514f78fa7e62b71e4373a6206 (per-word reason re-pins and declared not-applicable sites, v2 (Q6Reviewer-signed)) + - `construction/leaver/build_frames_lv.py` 2eb80d612aa59a7bd8b04a122045e3bd2b83a21954e3164943cd20cf6050a21b (LeaverSAT2's frame builder) + The global code is research/gauge44-layered's, unchanged: assemble 4c270a99, assembly_controls e4c0f782, audit_allcold a87d7f48, bind 1d39bcc7, witness 779c5172. The bit-supplier code is research/gauge44-bit589's, unchanged: verify_global 16bd5e54, bit_supplier_controls e6d33fb6, price_profile d2f548ad. +- **Line endings.** These files had CRLF in the admitted trees and are committed as LF only (`crlf.replace(b'\r\n', b'\n') == lf`, no lone `\r`): + - `construction/jx/build_jx.py`: CRLF 775c2ae60eec9abc…, committed (LF) 3cc7550b0c24bb54… + - `construction/jx/RECIPE-X4.json`: CRLF 228079b304358500…, committed (LF) 9d42c6b38e8124f5… + - `construction/barch/build_tri.py`: CRLF 2432372f148a4d34…, committed (LF) 0fba65b31c2fd718… + - `construction/barch/run_controls.py`: CRLF 18e1f5953403784f…, committed (LF) 42639bf62bf57795… + - `construction/barch/RECIPE-U8.json`: CRLF 3e97088ad641eb6e…, committed (LF) 292f0e9f82824c41… + - `data/SPEC.json`: CRLF b2515d29d54e5027…, committed (LF) 1208c7c3ae84c158… + - `RESULT.json`: CRLF 454c25d5b0cd7df7…, committed (LF) 72bf797ce995ff61… + - `independent/GAUGE44-INDEPENDENT-PRICE.json`: CRLF 0b8482888e64327f…, committed (LF) 6e222b252f345344… + - `evidence/layers/LOCAL-AUDIT-LAYERED.json`: CRLF 6b63fc2bbea96cb5…, committed (LF) a596d7262374a023… + + +Clean-clone verification, from the repository root (Python 3.11+, assertions on; prepare the pinned #635 supplier as in the #645 section below): + +```sh +python -B research/gauge44-leaver8/verify_manifest.py +python -B research/gauge44-leaver8/construction/reproduce.py \ + --main . --pr635 /tmp/gauge44-pr635 --out /tmp/notri-base --until word +python -B research/gauge44-leaver8/construction/notri/reproduce_notri.py \ + --main . --pr635 /tmp/gauge44-pr635 --word-dir /tmp/notri-base --out /tmp/notri-word --word-only +python -B research/gauge44-leaver8/construction/layers_np/reproduce_np.py \ + --main . --pr635 /tmp/gauge44-pr635 --notri-dir /tmp/notri-word --hamming /tmp/notri-base/hamming --out /tmp/notri-np +python -B research/gauge44-leaver8/construction/layers_p6n/reproduce_p6n.py \ + --main . --pr635 /tmp/gauge44-pr635 --np-dir /tmp/notri-np --out /tmp/p6n +python -B research/gauge44-leaver8/construction/promo/reproduce_promo.py \ + --main . --pr635 /tmp/gauge44-pr635 --base p6n --base-dir /tmp/p6n --k p6n-k4 --out /tmp/promo +python -B research/gauge44-leaver8/construction/sw4/reproduce_sw4.py \ + --main . --pr635 /tmp/gauge44-pr635 --promo-dir /tmp/promo --recipe P6k4 --out /tmp/sw4 +python -B research/gauge44-leaver8/construction/frames/reproduce_frames.py \ + --main . --pr635 /tmp/gauge44-pr635 --sw4-dir /tmp/sw4 --out /tmp/frames +python -B research/gauge44-leaver8/construction/jx/reproduce_jx.py \ + --main . --pr635 /tmp/gauge44-pr635 --frames-dir /tmp/frames --out /tmp/x4 +python -B research/gauge44-leaver8/construction/leaver/reproduce_leaver.py \ + --main . --pr635 /tmp/gauge44-pr635 --word-dir /tmp/notri-base --id k8 --out /tmp/lv --word-only +python -B research/gauge44-leaver8/construction/leaver/reproduce_leaver_chain.py \ + --main . --pr635 /tmp/gauge44-pr635 --leaver-dir /tmp/lv --hamming /tmp/notri-base/hamming --id k8 --out /tmp/lvc +python -B research/gauge44-leaver8/independent/audit_local.py \ + --word /tmp/lvc/frames/FULL-WORD.json.gz --main . --output /tmp/lvc-audit.json +python -B research/gauge44-leaver8/verify_global.py \ + --main . --local /tmp/lvc/local --work /tmp/lvc-global +# kappa 0.001671387264390146 +``` + +Optional control: `reproduce_notri.py ... --control-g44 --out /tmp/notri-ctl` rebuilds #645's gauge44 word `78c7aada…`. + +## Predecessor: #645's README (unchanged below; paths read `research/gauge44-global`) + +### Gauge44: conditional κ = 0.001649483702558979 + +New contributions by **icekylinx**, with **OpenAI GPT-6 Astra** assistance. +Local review and packaging used OpenAI Codex. Original notices and Apache-2.0 licenses are retained. + +Under the retained all-size compiler, common-label/mutable-source realization, +whole-call hosting, precision/tape, exact-recovery, analytic-transfer and bit +H1–H5 interfaces, + +$$ +T(n)=O\!\left(n(\log n)^{1-\kappa_{645}}\right),\qquad +\kappa_{645}=\frac{1649483702558979}{10^{18}}=0.001649483702558979 +$$ + +(This is #645's own κ. **This package's κ is the one at the top of this README.**) + +The certified complex saving is `0.001652208994368411824947`. The unchanged +[#543](https://github.com/CrocSwap/integer-mult-bounds/pull/543) bit supplier gives +`0.001653826988146798944268`, so the complex side binds. The conservative complex +model separately certifies κ `0.001649483699681650`. + +### Construction + +This replaces the local supplier and all 72 owner assignments of pinned +[#635](https://github.com/CrocSwap/integer-mult-bounds/pull/635). Source/copy exchanges +at equal rank-one frames alter the factory's arbitrary-helper-input propagation. +An invertible completion of the retired rows and source-carried coordinate totals +then expose 44 rank-four cold endpoints. Exact input premixes, low-frame tails +and a recomputed full inverse realize them. + +| Per-invocation quantity | Complete #635 JP8 | Gauge44 | +| --- | ---: | ---: | +| Source / target ports | 112 / 112 | 112 / 112 | +| Helpers | 492 | 492 | +| Rank-four cold endpoints | 22 | 44 | +| Helper residual width | 3,894 | 3,794 | +| Paid local rank mass | 5,750 | 5,650 | + +The new paid local profile is `{1:2514, 2:404, 3:448, 4:160, 5:56, 8:8}`. +The explicit whole-family assignment covers 35,424 helper roles on 7,168 live +and 7,670 physical families. It retains the rank deficit 2,560 and charges every +idle remainder. Exact integer majorization certificates justify the owner +updates; the resulting map is a coordinate fixed point, with no claim of joint +optimality. + +The assembled κ is 0.809306% above #635. `data/FRONTIER.json` records Pro's dated +comparison snapshot; it is not a live ranking of community results. + +### Proof and evidence + +- `CONSTRUCTION.md`: exact cold-space calculation, dyadic realization and attribution. +- `hosting/PROOF.md`: capacity, exchange and majorization arguments. +- `independent/CENTRE-GUARD-REVIEW.md`: ordered center-frame interface and source carriers. +- `data/SPEC.json`, `evidence/ASSEMBLY.json`: strict component moments and outer parameters. +- `evidence/audit/`: actual controller, physical charts and finite invoice. +- `construction/INPUTS.json`, `data/UPSTREAM-PINS.json`: inherited input hashes. +- `MANIFEST.json`, `SOURCES.json`, `LOCAL-VALIDATION.json`: submitted bytes, provenance and local checks. + +Original Pro run receipts are retained as evidence; their raw logs remain in +the original archive outside the submission. Fresh replay writes new logs to +the selected output directory. + +### Incremental reproduction + +Use Python 3.11 or newer with assertions enabled. The required replay uses only +the standard library. The optional historical seed-discovery optimizer is not +part of admission. + +Prepare the pinned #635 supplier in a separate directory (the main dependencies +are already present in this repository): + +```sh +git fetch https://github.com/CrocSwap/integer-mult-bounds.git a6895a69f8ad98ab45777b03e9e6f48888c39f6f +mkdir -p /tmp/gauge44-pr635 +git archive FETCH_HEAD research/complex-571-cold14-st2 | tar -x -C /tmp/gauge44-pr635 +``` + +From the repository root, with fresh output directories: + +```sh +python -B research/gauge44-global/verify_manifest.py +python -B research/gauge44-global/construction/reproduce.py \ + --main . --pr635 /tmp/gauge44-pr635 \ + --out /tmp/gauge44-local --until phases +python -B research/gauge44-global/verify_global.py \ + --main . --local /tmp/gauge44-local/local --work /tmp/gauge44-global +``` + +The dedicated workflow also runs the independent literal-word audit, exact owner +reproduction, preserved-assertion comparison and independent pricing on Python +3.11 and 3.14. `hosting/README.md` and `independent/README.md` give those commands. +No ancestral full replay, optimizer search or PDF generation is required. + +The result remains a finite conditional witness. It does not establish an +unconditional multiplication theorem or a complete Lean formalization. diff --git a/research/gauge44-leaver8/RESULT.json b/research/gauge44-leaver8/RESULT.json new file mode 100644 index 0000000000..0fcf674173 --- /dev/null +++ b/research/gauge44-leaver8/RESULT.json @@ -0,0 +1,86 @@ +{ + "status": "PASS_GAUGE44_STRICT_GLOBAL_REPLAY", + "kappa": "835693632195073/500000000000000000", + "kappa_decimal": "0.001671387264390146", + "complex_lower": "837092738337043214923/500000000000000000000000", + "bit_lower": "1733427039589844234749/1000000000000000000000000", + "bit_supplier": { + "pr": 589, + "repository": "CrocSwap/integer-mult-bounds", + "commit": "a5afc8c6169ea61ba7c51dfd3cade02cc7b13b46", + "merged_as": "b3eb785ac5b4b1ca2beea0f80db078a505626a90", + "path": "research/e8-bit-p111-tuned/tune/EXPECTED.json", + "git_blob_sha1": "e293ddc557742637f9f679f083a1a282d87b1b13", + "word": { + "v": 111, + "decoder_constant": 63, + "copy_ranks": [ + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7 + ] + }, + "derived_deficit": 10272, + "deficit_formula": "T(2Kv-L*cst), L=9 T=32 K=4 M=64", + "replay_scope": "Cited unchanged supplier; this assembly reprices its full profile and does not rebuild its bit circuit." + }, + "gain_over_pr635_percent": "2.147956935446134609375167880411478290542019964980136631080981857753585", + "spec_sha256": "b2515d29d54e5027ee225a93c338894eca6827d192d4841b95d35a280dcfd3e1", + "stages": [ + { + "name": "restore-parent", + "seconds": 1.094, + "exit_code": 0, + "log_sha256": "3aea2a4b68e7aaeadd9ffef649be0d25e2dff1535d9a61bffeaf6d92e55ba6a8" + }, + { + "name": "bind", + "seconds": 0.313, + "exit_code": 0, + "log_sha256": "78a081673d6b4fde10a86e6f767d53648b868d1f0cac2441d12951434ad7341b" + }, + { + "name": "emit", + "seconds": 2.39, + "exit_code": 0, + "log_sha256": "29618e94d8e948fa870924e3c3aa0a9caa969a8229cc355982eef5b78ee04320" + }, + { + "name": "audit", + "seconds": 11.922, + "exit_code": 0, + "log_sha256": "e38ba1bd8f371365952700a803b9abd81714b521eed22512b914384f8d8f4a94" + }, + { + "name": "invoice", + "seconds": 0.75, + "exit_code": 0, + "log_sha256": "96d5d16d99625e0c33e67255b1351233cb14b032b67642c080ee1a65581ce6a9" + }, + { + "name": "assembly", + "seconds": 0.297, + "exit_code": 0, + "log_sha256": "d0ea37c7097b628ef7d466a7851d7a4c62f5eb10e86bb678ca9e50a17039d352" + }, + { + "name": "admission-controls", + "seconds": 0.344, + "exit_code": 0, + "log_sha256": "34527ddfe1e53bec71dc5759eb9a26417be6d4e93e76cbf80575d9bafebd876b" + }, + { + "name": "bit-supplier-controls", + "seconds": 0.547, + "exit_code": 0, + "log_sha256": "c648542cd6dddbb154af7d02a41aaed1025603d9a4ab54f7c249d2b683e22249" + } + ], + "scope": "Conditional native exact-complex witness after complete conservative admission, moment and outer checks; PR559 exact-cover recurrence correction only, bit bad-residue surcharge and H1-H5 retained. The new source-branch gauge and retired-basis completion, 44 cold dimension-four ends, and explicit all72 whole-owner dispatch are composed with the cited unchanged merged PR589 bit supplier (PR555 punctured R439 word; derived bit deficit T(2Kv-L*cst)), replacing the PR543 supplier of PR635; this bit composition is unreviewed. All-size compiler, common-label/mutable-source realization, whole-call hosting, precision/tape and analytic transfer remain assumptions. No unconditional theorem or full Lean certification." +} diff --git a/research/gauge44-leaver8/SOURCES.json b/research/gauge44-leaver8/SOURCES.json new file mode 100644 index 0000000000..0d69845db9 --- /dev/null +++ b/research/gauge44-leaver8/SOURCES.json @@ -0,0 +1,36 @@ +{ + "contributor": "icekylinx", + "research_assistance": "OpenAI GPT-6 Astra", + "local_review_and_packaging": "OpenAI Codex", + "original_archive": { + "filename": "integer_mult_round23_gauge44_delta.zip", + "sha256": "40a20a120f51cbed3c9ae4017603be74a9e9332ad4068bd914bf3e81bf8be6b4", + "manifest_sha256": "ffa23eb668ad558ebb5601470fc1997a9fb8cea0e188aa3c5d61318be9000603" + }, + "upstream_main": "17ce0c79b7b51c2634b439ea5a2b754f09909693", + "construction_parent": { + "pr": 635, + "commit": "a6895a69f8ad98ab45777b03e9e6f48888c39f6f" + }, + "bit_supplier_pr": 589, + "packaging_changes": [ + "Omit original run logs; retain their original receipts as historical evidence.", + "Use repository paths and dollar-delimited Markdown mathematics.", + "Add manifest verification, incremental CI and local validation record.", + "Trim trailing whitespace in four Python files; complete ASTs are unchanged. Refresh the corresponding constructor input hash.", + "research/gauge44-bit589: PR589 bit supplier (G44Stack port, Bit589Reviewer SOUND-WITH-FIXES), G44Pack dz1 owner map, re-derived SPEC, LF line endings, regenerated MANIFEST.", + "research/gauge44-leaver: research/gauge44-barch tree plus construction/leaver (k5 cells, chain, frames); G44Pack3 FO_c1 owner map, re-derived SPEC, regenerated independent price receipt, RESULT.json = strict REPLAY, LF, regenerated MANIFEST.", + "research/gauge44-leaver8: research/gauge44-leaver tree with the k8 cell set (all eight cells, R = 480) and its chain recipes (LeaverSAT/LeaverSAT2 pkg_k8), layer_end_controls_leaver v2 with declared not-applicable sites on all five stack words (replacing the final-word interim skip), CHAIN-PINS-k8; G44Pack3 K8c8 owner map, re-derived SPEC, regenerated independent price receipt and local audit, RESULT.json = strict REPLAY, LF, regenerated MANIFEST." + ], + "attribution": "Original notices and licenses retained. See NOTICE.md, UPSTREAM-NOTICE.md and CONSTRUCTION.md.", + "whitespace_only_python_files": [ + "code/audit_allcold.py", + "code/bind_providers_portable.py", + "construction/construct_gauge_xcentre.py", + "independent/audit_local.py" + ], + "historical_bit_supplier_pr": 543, + "bit_supplier_note": "This package cites PR589 (inputs/PR589-EXPECTED.json, git blob e293ddc5…). PR543 is the supplier of #645's retained historical evidence (LOCAL-VALIDATION.json, independent/ audit files, hosting/, evidence/). RESULT.json is this package's strict replay.", + "owner_map": "G44Pack/G44Pack3: The map is G44Pack3's K8c8, from its pattern-flow LNS (`pflns`) on the R = 480 k8 word. Its lineage is the #685/#741 map (chafreaky) via G44Pack's relabel and rewidth, followed by G44Pack3's LNS. It was admitted with this package's own code (NEWWORD discovery, `freeze_spec.py`, strict) at κ 0.001671387264390146.", + "construction_changes": "PartialK: no-triangle gauge44 word (R=504, PRIO6, ranks [4]*14); G44Stack: layers on it (pivot swaps, s4, x30, b6, q4); LeaverSAT: no-helper mutable-leaver cells and re-stacked recipes, LeaverSAT2: frame re-optimisation (construction/leaver); NewBArch: triangle-hybrid B rewrite U8 (construction/barch); chafreaky #741: eight B frames (construction/frames, ported by CompetitorMine) and the owner map; JointXF: joint exchange X4 (construction/jx); BRoute: read-set exchange SW4 (construction/sw4); NoTriReopen: p6n ends (construction/layers_p6n); BlockInvert: entrance promotions E4->E5 (construction/promo, minimal recipe p6n-k4); drivers construction/notri/reproduce_notri.py, construction/layers_np/reproduce_np.py, construction/promo/reproduce_promo.py" +} diff --git a/research/gauge44-leaver8/UPSTREAM-NOTICE.md b/research/gauge44-leaver8/UPSTREAM-NOTICE.md new file mode 100644 index 0000000000..ebc24a0168 --- /dev/null +++ b/research/gauge44-leaver8/UPSTREAM-NOTICE.md @@ -0,0 +1,34 @@ +# Attribution and scope + +Four verified provider types are offered to every call: PR571's prefix word with twelve multi-cut cold kernels (PR568's unchanged constructor), the same word with forty width-five entrance promotions (PR569's unchanged frame constructor) before those kernels, PR575's plain joint-prefix provider, and PR568's eight-cold provider. A window MILP with an exact per-pattern model chooses the dispatch and a literal owner map. PR583's six source-bound kernel frame coalescences (its unchanged constructor and negative controls) are applied to every PR571-prefix provider word (ck and atm3), followed by two further coalescences that each first move one addition past two commuting additions (package code/build_gate_moves.py, extending PR583's constructor); a final hyperplane_end step (package code/build_hpe.py) then runs 46 single-gate cleanups h -= p right after part B at the dim-8 join U of their registers, so 46 width-8 entering helpers per call end at U with width 7; each such gate commutes with every earlier cleanup gate on its registers (for 8 of them the partner's one earlier gate x -= p only reads p), and the reordered program is replayed exactly. A window MILP (exact windows, RINS around an LP vertex) gives the dispatch ck 45 / atm3 21 / jp8 6 and the literal owner map. + +Pinned external sources (unchanged; `verify.py` checks their manifests and every file it uses): +- PR568 (`research/complex-multicold`, commit `71c99ac935a33bb7b59a1b4a7af8725a939b0b90`). +- PR571 (`research/structural-gain`, commit `b7bdc5a8de18fcf418cfb9c7d83a2b1097a5e4a3`). +- PR569 (`research/larger-gain`, commit `897213a855b7fb8a1b8b0e552a2f5c42e6c1b326`). +- PR575 (`research/complex-joint-prefix`, commit `eac6f7e378ab622dac50a2fd4b7ef6eab014de44`). +- PR583 (`research/kernel-frame-coalescing`, commit `89be768f0157f5a3d8e4db69cf1748768605eac9`). + +Provider construction is described as typed steps in `data/SPEC.json` (`build`); `verify.py` runs only allowlisted step types with their paired omission audits and checks every input and output content hash. `code/` holds the spec-driven global admission scripts adapted from PR571's `frontier-composition/global-code/` (OpenAI Codex assisted, Apache-2.0): every expected value is read from `data/SPEC.json` and compared only after independent recomputation. `code/generated_identity.py` and `code/generated_identity_controls.py`, and the decompressed-content artifact identities in the bind, audit, invoice, assembly and phase-timing scripts, are taken unchanged from PR586 by chafreaky (`research/promoted-kernel-coalescing`, commit `4846fee5b06af770e9b3a10c36200f673d656725`, OpenAI Codex assisted, Apache-2.0), including its proof-content and reference/metadata mutation controls; the normalization of descriptive width metadata after frame changes follows the same PR. + +In PR601, the owner map was nominated by a HiGHS window MILP (adapted from PR569's `global/nominate_width7.py`) with lazy cross-time Hall cuts; this package's re-solved map is described below. Neither is an admission dependency. + +DreamingOfClouds with Claude Opus 5.5 (Anthropic), via Claude Code. (The PR601 package this one starts from states: "Prepared by Claude Code (Anthropic) research agents.") Apache-2.0 applies; LICENSE is included. All notices, licenses, source pins and AI disclosures of the pinned sources and their ancestry are retained in those packages and are not replaced by this notice. All inherited conditional assumptions remain conditional. + +**This package (complex-571-cold14, DreamingOfClouds).** It starts from PR601 (jeremykothe2, `research/complex-571-hpem46`, commit `529ab7dcb59d5ea7a5798e9e06cf5b3aee8a1550`). Everything above is kept unchanged except the following: +- every provider chain (ck, atm3, jp8) gains the typed step `cold_end` (`code/build_cold_end.py`, `code/cold_end_controls.py`; recipes `data/recipes/*-cold_end.json.gz`); +- the generalised native chain and the global admission scripts accept cold helpers that end below FULL (with `0:U` wrappers), a refactored exact cleanup, and check the wrapper order; +- `data/PLAN.json` / `data/OWNERS.json.gz` (dispatch and literal owner map) come from a relocate/swap/ejection-chain/provider-flip annealing search started from PR601's map, refined by an exact pattern-restricted owner model (CP-SAT) with a literal edge-colouring expansion (not an admission dependency); +- `data/SPEC.json` holds the expected values, recorded by a discovery run and then checked by a strict run. + +The cold-end construction (a row-plus-column cone condition for low-frame ends, a rank-0 dirt-spread premix and multi-gate lower-frame cleanup) builds on PR591 / PR592 / PR593 / PR601 (jeremykothe2) and our PR599 (Lean: multi-gate and cold hyperplane-end tails). DreamingOfClouds with Claude Opus 5.5 (Anthropic), via Claude Code. Build on this at your own risk. + +**This package (complex-571-cold14-b3, jeremykothe2).** It is PR604's `complex-571-cold14` (DreamingOfClouds) with ColdBeyond's second cold end per block (two new `cold_end` A-gate primitives, `PROOF-NOTE.md`), ColdSupply's E1 entering pair and reviewed controls, a free dispatch (jp8 ×60, atm3 ×12) and a literal owner map from an exact per-time-Hall window MIP. All other construction, code, controls and proofs are PR604's and earlier contributors', unchanged. + +**This package (complex-571-cold14-k492).** It is complex-571-cold14-b3 with these changes: +- **K-triangle base words.** The leaver-read K-triangle skeleton atom and its read schedule (`data/TRI-SCHEDULE.json`) are by AtomScout, a Claude Code research agent. `code/construct_k_triangle.py` is PR531's `code/construct_504.py` (icekylinx, OpenAI Codex / GPT assisted, Apache-2.0; pinned source `direct_delivery`) extended with that atom. +- **Ported chains.** The PR604/B3 chains are ported stage by stage onto the K-triangle words by `code/build_port_stage.py` (Port480, a Claude Code research agent). `code/build_frame_regroup.py` extends PR583's `build_frames.py` (chafreaky). +- **Helper count R.** The generalisation of the global scripts to the provider helper count R is by GlobalR (a Claude Code research agent), with AtomReviewer's fixes (PROOF-NOTE-R.md). +- **Owner map.** The owner map, the cold_end recipes on the K-triangle words and the package assembly are by Stack492, Port480 and ColdBeyond (Claude Code research agents). + +Build on this at your own risk. diff --git a/research/gauge44-leaver8/code/assemble.py b/research/gauge44-leaver8/code/assemble.py new file mode 100644 index 0000000000..8cee90b50e --- /dev/null +++ b/research/gauge44-leaver8/code/assemble.py @@ -0,0 +1,241 @@ +"""Gauge44 complete global admission with the retained native exact-complex moment. + +Prepared with OpenAI Codex assistance. The rational engines and outer +constraints are retained from PR547/PR548 and their preserved ancestry. +The bit operator is the cited unchanged PR589 supplier (PR555's punctured +R439 word, v = 111, decoder constant 63, two A-section transports), shipped +as inputs/PR589-EXPECTED.json and pinned by git blob id. Its rank-mass +deficit is derived from the word's parameters, T(2Kv - L*cst) at nine +stages (PR545/PR555 rank-mass identity), not hard-coded. The complex owner +and invoice inputs must be freshly emitted by the packaged physical replay. +All conservative admission guards and conservative moment/outer witnesses run +before the PR559 native-complex correction. The bit surcharge is retained. +""" +from pathlib import Path +from fractions import Fraction as Q +from decimal import Decimal, localcontext +import argparse,json,hashlib,importlib.util,os,sys +from collections import Counter +assert __debug__, 'Assertions required' +P=Path(sys.argv[1] if __name__=='__main__' else os.environ['GAIN_PR564_SOURCE']).resolve() +read=lambda p:json.loads(p.read_text()) +sha=lambda p:hashlib.sha256(p.read_bytes()).hexdigest() +hash_ok=lambda x:isinstance(x,str) and len(x)==64 and all(t in '0123456789abcdef'for t in x) +digest=lambda x:hashlib.sha256(json.dumps(x,separators=(',',':')).encode()).hexdigest() +def load(n): + s=importlib.util.spec_from_file_location(n,P/'engines'/(n+'.py'));m=importlib.util.module_from_spec(s);s.loader.exec_module(m);return m +M,B,A=[load(n)for n in ('moment','base_two_moment','outer')] +def dec(x): + with localcontext()as ctx:ctx.prec=70;return str(Decimal(x.numerator)/Decimal(x.denominator)) +from witness import DISPATCH,CALL_ORDER,COUNTS,PIDS,X,DISCOVER,pin,SPOT,spot_widths +# Cited bit supplier: PR589's tune/EXPECTED.json (merged on main as research/e8-bit-p111-tuned/tune/EXPECTED.json). +BIT_PATH=Path(__file__).resolve().parents[1]/'inputs/PR589-EXPECTED.json' +BIT_BLOB='e293ddc557742637f9f679f083a1a282d87b1b13' +# Nine-stage bit template (PR463/PR510 chain, 32 replicas): L stages, T replicas, K=(L-1)//2 pairs, moment width M=1+7L. +BIT_L,BIT_T=9,32;BIT_K=(BIT_L-1)//2;BIT_M=1+7*BIT_L +def git_blob(data):return hashlib.sha1(b'blob '+str(len(data)).encode()+b'\0'+data).hexdigest() +def load_bit(data): + """The pinned supplier record: its full record (word parameters) and its nine-stage price.""" + assert git_blob(data)==BIT_BLOB,'bit supplier blob pin' + return json.loads(data) +def bit_deficit(word,live): + """Rank-mass deficit M*live - mass = T(2Kv - L*cst) of a v-port bit word with decoder constant cst (PR545/PR555). + cst is the sum of the retained totals' COPY ranks and live = 2KvT data wires; both are cross-checked here, and the + caller checks the result against the priced profile, so neither v nor cst is free.""" + v,cst,ranks=word['v'],word['decoder_constant'],word['copy_ranks'] + assert type(v)is int and type(cst)is int and all(type(r)is int and 00;return d + + +def assemble(owner,invoice,owner_sha,invoice_sha): + # These are admission receipts, not optional collections of successful rows. + # Require both orientations and every finite check before pricing anything. + assert owner['status']=='PASS_INDEPENDENT_ASYNC_OWNERS_AND_PROFILE' + assert invoice['status']=='PASS_INDEPENDENT_MIXED_ASYNC_SCALAR_PREFIX_AND_FINITE_INVOICE' + assert all(hash_ok(x)for x in (owner_sha,invoice_sha,owner['template_sha256'],owner['controller_audit_sha256'],invoice['parent_template_sha256'])) + checks={'local_primitive_bound','logical','router','literal','mass','precision','tape','row','halving'} + assert set(invoice['strict_checks'])==checks + assert all(invoice['strict_checks'][name] is True for name in checks) + assert set(invoice['providers'])==set(PIDS) + assert invoice['provider_counts']==COUNTS + assert owner['all_live_owners_per_call_distinct'] is True + # R (helpers per provider word) is read from the invoice and must be shared by every provider; n=2v+R. + R=invoice['helpers'];assert type(R) is int and R>0 and all(p['helpers']==R for p in invoice['providers'].values()) + assert owner['owners_per_call']==2*112+R and owner['actual_helper_owner_charts']==owner['hosted_residuals']==72*R==pin('expected.hosted_residuals',owner['hosted_residuals']) + pin('expected.rank_mass',owner['rank_mass']) + pin('expected.actual_73column_sigmas',owner['actual_73column_sigmas']);pin('expected.cross_replica_helper_roles',owner['cross_replica_helper_roles']) + pin('expected.idle_remainders',owner['explicit_idle_remainder_children']) + assert invoice['complete_invocation_sweeps']==invoice['bridge_sweeps']==72 + assert invoice['live']==owner['live'] and invoice['physical']==owner['physical'] + assert invoice['centres']==8 + assert invoice['physical_stock_identity']==dict(data_and_owner_families=7168,local_helpers=R,private_centres=8,coefficient_work=2) + assert sum(invoice['physical_stock_identity'].values())==invoice['physical'] + assert invoice['controller_audit_sha256']==owner['controller_audit_sha256'] + for pid,p in invoice['providers'].items(): + assert set(p['local'])=={'forward','backward'} + assert p['helpers']==R and p['centres']==8 and p['n']==2*112+R and p['v']==112 and p['h']==9 + K='providers.'+pid+'.';pin(K+'entering',p['entering_helpers']);pin(K+'entrance',p['entrance_rank']) + pin(K+'inventory',p['width_inventory']) + assert all(type(w) is int and 0=0 for n in idle.values()) + idle=+idle;assert sum(idle.values())==owner['explicit_idle_remainder_children'] + pin('expected.idle_remainder_profile',{str(r):n for r,n in sorted(idle.items())}) + paid.update(idle) + assert dict(paid)=={int(r):n for r,n in owner['paid_profile'].items()} + assert invoice['compiler']==64*74**3 + assert invoice['local_adapters']==max(p['local_adapters']for p in invoice['providers'].values()) + assert invoice['local_primitive_bound']==max(p['local_primitive_bound']for p in invoice['providers'].values()) + # Recount the retained dedicated-bank envelope independently. Its geometry + # stays fixed, while every local primitive and wrapper comes from the actual + # selected provider/orientation sums above. + parent_live,parent_physical,parent_idle=11704,12218,16128 + parent_banks,rem=divmod(parent_live-2*112*4*8,9);assert rem==0 and parent_physical==parent_live+parent_banks+8+2 # parent R0=504 dedicated helpers per stage bank + assert owner['source_idle_children_charged']==parent_idle + bridges,shifts=2*112*72,4*112*8;moves=2*shifts + nonlocal_items=(4*112*8*9+2*112*8*9+2*72*R+parent_idle+9*parent_banks+bridges+shifts+moves+parent_live+parent_physical+invoice['wrapper_elementary_factors_charged']) + outside=8*nonlocal_items+64*73 + pervertex=(invoice['selected_real_component_primitives']+bridges+shifts+moves+parent_live+(72*invoice['local_adapters']+outside)*invoice['compiler']+64*parent_physical) + rebased=pervertex+65*(invoice['physical']-parent_physical)+(invoice['live']-parent_live) + assert invoice['unhosted_pervertex']==pervertex and invoice['hosted_rebased_pervertex']==rebased + used=max(pervertex,rebased) + prior=invoice['retained_prior_overcharge'] + if prior is not None: + assert hash_ok(prior['sha256']) and type(prior['previous_pervertex_allowance']) is int and prior['previous_pervertex_allowance']>0 + assert prior['added_complete_new_pervertex']==pervertex + assert prior['policy']=='Retain old allowance and add entire fresh mixed recount.' + used=max(used,prior['previous_pervertex_allowance']+pervertex) + assert invoice['conservative_pervertex_used']==used + finite=invoice['finite'] + assert 02*48*48) + assert actual_checks==invoice['strict_checks'] and all(actual_checks.values()) + bit_record=load_bit(BIT_PATH.read_bytes()) + bit=bit_record['nine'] + assert 'nine-stage' in bit['pipeline'] and '32 replicas' in bit['pipeline'] + c=Q(bit['bit_lower']) + bit_D=bit_deficit(bit_record['word'],bit['bit']['live']) + H={int(r):n for r,n in owner['paid_profile'].items()};pin('expected.global_profile',owner['paid_profile']) + # Claimed lower endpoints come from the spec; discovery derives them with the same certified moment engine. + # Either way they are verified below (accepted at b, rejected at b+1e-24). + if DISCOVER:b=Q(M.certify(H,73,owner['live'],False)['lower']);conservative_b=Q(M.certify(H,73,owner['live'],True)['lower']) + else:b=Q(X['complex_lower']);conservative_b=Q(X['conservative_complex_lower']) + assert owner['template_sha256']==invoice['template_sha256'] and owner_sha==invoice['owner_audit_sha256'] + pin('expected.live',owner['live']);pin('expected.physical',owner['physical']);assert owner['deficit']==2560 + assert owner['banked_residuals']==0 + def check_moment(side,h,m,W,lower,deficit,bad): + assert m*W-sum(r*n for r,n in h.items())==deficit and m*m>2*max(h)**2 + rows=[] + for z,accept in [(lower,True),(lower+Q(1,10**24),False)]: + l,u=M.moment(h,m,W,z,bad);ll,uu=B.moment(m,W,list(h.items()),z) + if bad: + fl,fu=B.moment(m,W,[(1,32*m*m*sum(h.values()))],z);ll+=fl/10**16;uu+=fu/10**16 + assert (u<1 and uu<1)if accept else(l>1 and ll>1) + rows.append(dict(side=side,surcharge=bad,endpoint=str(z),accept=accept,mercator=[str(l-1),str(u-1)],base_two=[str(ll-1),str(uu-1)])) + return rows + bitH={int(r):n for r,n in bit['profile'].items()} + assert BIT_M==64 and sum(r*n for r,n in bitH.items())==bit['bit']['rank_mass'] + bit_moments=check_moment('bit',bitH,BIT_M,bit['bit']['live'],c,bit_D,True) + conservative_moments=check_moment('conservative_complex',H,73,owner['live'],conservative_b,2560,True) + assert bit['bit']['two_level_coefficient_bits']0 + ceil=lambda x:-(-x.numerator//x.denominator);cut=max(ceil(36/gap**2),ceil(2*(4+512)/gap));assert cut*gap**2>=36 and cut*gap>=2*(4+512) + cuts.append(dict(exponent=str(a),gap=str(gap),cutoff_log2=str(cut)));chain.append(a) + q=chain[-1]*(1-2*eta);margin=(1-eta)*q/(1+q);ticks=margin*10**18;k=Q((ticks.numerator-1)//ticks.denominator,10**18) + bridge={'semantic':{'C0':{'base':2,'exponent':210000},'strict_literal_gap':1},'rows':{'degree_gap':Q(10**6)-Q(51*20161,25)}} + outer=A.assembly(chain[-1],bb,bridge,k,eta=eta,beta=beta);assert len(outer['strict_constraints'])==47 and all(v>0 for v in outer['strict_constraints'].values()) + controls=[] + for name,kk,ee,be in [('next_grid',k+Q(1,10**18),eta,beta),('zero_eta',k,Q(0),beta),('zero_beta',k,eta,Q(0)),('unit_beta',k,eta,Q(1))]: + try:A.assembly(chain[-1],bb,bridge,kk,eta=ee,beta=be) + except AssertionError:controls.append(name) + else:raise AssertionError(name) + return k,cuts,outer,controls + conservative_k,conservative_cuts,conservative_outer,conservative_controls=outer_witness(conservative_b) + pin('expected.conservative_kappa_decimal',dec(conservative_k)) + # Only after every conservative supplier/admission/outer check succeeds is + # the reviewed native exact-complex recurrence selected. Bit charge stays. + native_moments=check_moment('complex',H,73,owner['live'],b,2560,False) + k,cuts,outer,controls=outer_witness(b) + pin('expected.kappa_decimal',dec(k)) + assert M.moment(H,73,owner['live'],b,True)[0]>1 + assert M.moment(bitH,64,bit['bit']['live'],c+Q(1,10**24),False)[1]<1 + model_controls=['native_complex_endpoint_rejected_with_old_surcharge','omitting_bit_surcharge_would_fail_next_endpoint_rejection'] + moments=bit_moments+native_moments + input_hashes={'owner_audit':owner_sha,'fresh_invoice':invoice_sha,'package:inputs/PR589-EXPECTED.json':sha(BIT_PATH)} + input_hashes.update({'engines/'+name+'.py':sha(P/'engines'/(name+'.py'))for name in ('moment','base_two_moment','outer')}) + return dict(status='PASS_GAUGE44_NATIVE_EXACT_GLOBAL_ASSEMBLY',kappa=str(k),kappa_decimal=dec(k),complex_lower=str(b),complex_decimal=dec(b),bit_lower=str(c),bit_decimal=dec(c),binding='complex',gain_over_pr635_percent=dec(100*(k/Q(X['gain_baseline_kappa'])-1)),complex_profile=H,provider_counts=invoice['provider_counts'],surcharge_model={'complex':False,'bit':True},conservative_complex_lower=str(conservative_b),conservative_complex_decimal=dec(conservative_b),conservative_kappa=str(conservative_k),conservative_kappa_decimal=dec(conservative_k),conservative_moments=conservative_moments,conservative_bootstrap=conservative_cuts,conservative_outer={n:str(v)for n,v in conservative_outer['strict_constraints'].items()},conservative_controls=conservative_controls,model_controls=model_controls,native_correction_gain=dec(k-conservative_k),template_sha256=owner['template_sha256'],input_sha256=input_hashes,bit_supplier=dict(pr=589,repository='CrocSwap/integer-mult-bounds',commit='a5afc8c6169ea61ba7c51dfd3cade02cc7b13b46',merged_as='b3eb785ac5b4b1ca2beea0f80db078a505626a90',path='research/e8-bit-p111-tuned/tune/EXPECTED.json',git_blob_sha1=BIT_BLOB,word=dict(v=bit_record['word']['v'],decoder_constant=bit_record['word']['decoder_constant'],copy_ranks=bit_record['word']['copy_ranks']),derived_deficit=bit_D,deficit_formula='T(2Kv-L*cst), L=%d T=%d K=%d M=%d'%(BIT_L,BIT_T,BIT_K,BIT_M),replay_scope='Cited unchanged supplier; this assembly reprices its full profile and does not rebuild its bit circuit.'),moments=moments,bootstrap=cuts,outer={n:str(v)for n,v in outer['strict_constraints'].items()},controls=controls,scope='Conditional native exact-complex witness after complete conservative admission, moment and outer checks; PR559 exact-cover recurrence correction only, bit bad-residue surcharge and H1-H5 retained. The new source-branch gauge and retired-basis completion, 44 cold dimension-four ends, and explicit all72 whole-owner dispatch are composed with the cited unchanged merged PR589 bit supplier (PR555 punctured R439 word; derived bit deficit T(2Kv-L*cst)), replacing the PR543 supplier of PR635; this bit composition is unreviewed. All-size compiler, common-label/mutable-source realization, whole-call hosting, precision/tape and analytic transfer remain assumptions. No unconditional theorem or full Lean certification.') +if __name__=='__main__': + import sys + package,C,out=map(Path,sys.argv[1:4]);assert package.resolve()==P and not out.exists() + owner_path=C/'audit/OWNERS-AND-PROFILE.json';invoice_path=C/'audit/PREFIX-AND-INVOICE.json' + owner,invoice=read(owner_path),read(invoice_path) + assert owner['template_sha256']==read(C/'hosted/HOSTED.json')['template_sha256'] + r=assemble(owner,invoice,sha(owner_path),sha(invoice_path));out.write_text(json.dumps(r,indent=2)+'\n');print(r['status'],r['kappa_decimal']) diff --git a/research/gauge44-leaver8/code/assembly_controls.py b/research/gauge44-leaver8/code/assembly_controls.py new file mode 100644 index 0000000000..93bca1ce6f --- /dev/null +++ b/research/gauge44-leaver8/code/assembly_controls.py @@ -0,0 +1,260 @@ +"""Independent admission controls for the N-provider native-complex assembly (per-provider controls). + +Prepared with OpenAI Codex assistance; Apache-2.0. Mutation receipts are +rebound to their new owner digest, so unrelated stale hashes cannot conceal +an incomplete width, provider, orientation, paid-profile or finite check. +The fresh physical replay remains a separate prerequisite. +""" +import argparse +import copy +import itertools +import math +import hashlib +import json +import os +from pathlib import Path +import sys as _s,pathlib as _p;_s.path.insert(0,str(_p.Path(__file__).resolve().parent)) +from witness import * + +assert __debug__, 'Assertions required' +P = Path(__file__).resolve().parent +sha = lambda p: hashlib.sha256(p.read_bytes()).hexdigest() +digest = lambda x: hashlib.sha256(json.dumps(x, sort_keys=True, separators=(',', ':')).encode()).hexdigest() + + +def verify(owner_path, invoice_path, source_package): + os.environ['GAIN_PR564_SOURCE'] = str(source_package.resolve()) + from assemble import assemble + owner = json.loads(owner_path.read_text()) + invoice = json.loads(invoice_path.read_text()) + baseline = assemble(owner, invoice, sha(owner_path), sha(invoice_path)) + + def empty_maps(o, i): + i['strict_checks'] = {} + i['providers'] = {} + + def understated_stock(o, i): + o['physical'] -= 1 + i['physical'] -= 1 + i['physical_stock_identity']['coefficient_work'] -= 1 + + def changed_profile(o, i): + o['paid_profile']['1'] += 2 + o['paid_profile']['2'] -= 1 + + def wrong_orientation(o, i): + c = next(c for c in i['selected_calls'] if c['stage'] == 0) + c['orientation'] = 'backward' + p = i['providers'][c['provider_id']] + z = p['local']['backward'] + c['program_sha256'] = p['program_hashes']['backward'] + for name in ('events', 'macros', 'real_component_primitives', + 'coefficient_work_primitive_count', 'pre_wrappers', 'post_wrappers'): + c[name] = z[name] + i['selected_real_component_primitives'] = sum(c['real_component_primitives'] for c in i['selected_calls']) + i['selected_coefficient_work_primitive_count'] = sum(c['coefficient_work_primitive_count'] for c in i['selected_calls']) + + def understated_prefix(o, i): + for p in i['providers'].values(): + for z in p['local'].values(): + z['prefix_bits'], z['prefix_l1'] = 1, '1' + i['global_prefix_bits'] = 1 + 37 + 72 + 72 + 4 + + def reordered_calls(o, i): + i['selected_calls'][0], i['selected_calls'][1] = i['selected_calls'][1], i['selected_calls'][0] + + def no_cold_wrappers(o, i): + for p in i['providers'].values(): + p['entering_helpers'] -= 4 + for z in p['local'].values():z['pre_wrappers'] = z['post_wrappers'] = p['entering_helpers'] + for c in i['selected_calls']: + c['entering_helpers'] = c['pre_wrappers'] = c['post_wrappers'] = i['providers'][c['provider_id']]['entering_helpers'] + i['wrapper_elementary_factors_charged'] = sum(2*c['pre_wrappers'] for c in i['selected_calls'])*i['factors_per_wrapper'] + + controls = [ + ('empty_certification_maps', empty_maps), + ('failed_invoice_status', lambda o, i: i.__setitem__('status', 'FAIL')), + ('nonboolean_precision_check', lambda o, i: i['strict_checks'].__setitem__('precision', 'true')), + ('wrong_owner_role_count', lambda o, i: o.__setitem__('actual_helper_owner_charts', o['actual_helper_owner_charts'] - 1)), + ('understated_physical_stock', understated_stock), + ('changed_profile_same_rank_mass', changed_profile), + ('insufficient_finite_C0', lambda o, i: i['finite'].__setitem__('required_C0_bits', 210001)), + ('missing_finite_check', lambda o, i: i['strict_checks'].pop('halving')), + ('wrong_reflected_orientation_selfconsistent_totals', wrong_orientation), + ('missing_selected_call', lambda o, i: i['selected_calls'].pop()), + ('wrong_selected_primitive_sum', lambda o, i: i.__setitem__('selected_real_component_primitives', i['selected_real_component_primitives'] - 1)), + ('wrong_selected_coefficient_work_sum', lambda o, i: i.__setitem__('selected_coefficient_work_primitive_count', i['selected_coefficient_work_primitive_count'] - 1)), + ('unpaid_wrapper_factors', lambda o, i: i.__setitem__('wrapper_elementary_factors_charged', i['wrapper_elementary_factors_charged'] - 144)), + ('wrong_global_compiler', lambda o, i: i.__setitem__('compiler', 1)), + ('wrong_global_adapter_maximum', lambda o, i: i.__setitem__('local_adapters', 1)), + ('understated_exact_prefix_and_global_sum', understated_prefix), + ('wrong_global_prefix_sum', lambda o, i: i.__setitem__('global_prefix_bits', 224)), + ('wrong_row_prefix_reserve', lambda o, i: i.__setitem__('row_prefix_extra', 0)), + ('wrong_parent_geometry_charge', lambda o, i: i.__setitem__('unhosted_pervertex', 1)), + ('wrong_rebased_geometry_charge', lambda o, i: i.__setitem__('hosted_rebased_pervertex', 1)), + ('wrong_complete_pervertex_envelope', lambda o, i: i.__setitem__('conservative_pervertex_used', 1)), + ('wrong_prior_added_complete_invoice', lambda o, i: i['retained_prior_overcharge'].__setitem__('added_complete_new_pervertex', 1)), + ('wrong_finite_router_bits', lambda o, i: i['finite'].__setitem__('router_bits', 1)), + ('wrong_finite_literal_bits', lambda o, i: i['finite'].__setitem__('literal_bits', 1)), + ('wrong_finite_physical_stock_bits', lambda o, i: i['finite'].__setitem__('physical_stock_bits', 1)), + ('wrong_finite_row_coefficient', lambda o, i: i['finite'].__setitem__('physical_row_coefficient', 1)), + ('reordered_complete_calls', reordered_calls), + ('understated_explicit_idle_remainders', lambda o, i: o.__setitem__('explicit_idle_remainder_children', o['explicit_idle_remainder_children']-1)), + ('understated_actual_chart_types', lambda o, i: o.__setitem__('actual_73column_sigmas', o['actual_73column_sigmas']-1)), + ('wrong_cross_replica_role_count', lambda o, i: o.__setitem__('cross_replica_helper_roles', o['cross_replica_helper_roles']-1)), + ('old_no_cold_wrapper_counts_selfconsistent', no_cold_wrappers), + ] + + def resync(i, c): + p = i['providers'][c['provider_id']] + c['program_sha256'] = p['program_hashes'][c['orientation']] + c['entering_helpers'], c['entrance_rank'] = p['entering_helpers'], p['entrance_rank'] + for name in ('events','macros','real_component_primitives','coefficient_work_primitive_count','pre_wrappers','post_wrappers'): + c[name] = p['local'][c['orientation']][name] + + # Every provider gets the full per-provider control set, substituting a partner provider where needed. + for P in PIDS: + Qp = partner(P) if len(PIDS)>1 else '__unregistered__' + widths = invoice['providers'][P]['widths'] + + def forged_program_hash(o, i, P=P): + i['providers'][P]['program_hashes']['forward'] = '0' * 64 + for c in i['selected_calls']: + if c['provider_id'] == P: + c['program_sha256'] = '0' * 64 + + def wrong_selected_call(o, i, P=P): + c = next(c for c in i['selected_calls'] if c['provider_id'] == P) + d = next(d for d in i['selected_calls'] if d is not c and (d['provider_id'] != P or len(PIDS)==1) and (d['stage'] - c['stage']) % 2 == 0) + c['stage'], d['stage'], c['replica'], d['replica'] = d['stage'], c['stage'], d['replica'], c['replica'] + + def stale_program(o, i, P=P, Qp=Qp): + p = i['providers'][P] + p['program_hashes'] = copy.deepcopy(i['providers'][Qp]['program_hashes']) + for c in i['selected_calls']: + if c['provider_id'] == P: + c['program_sha256'] = p['program_hashes'][c['orientation']] + + def stale_profile(o, i, P=P, Qp=Qp): + p = i['providers'][P] + p['paid_profile'] = copy.deepcopy(i['providers'][Qp]['paid_profile']) + p['children'] = sum(p['paid_profile'].values()) + + def moved(o, i, P=P): + a = next(c for c in i['selected_calls'] if c['provider_id'] == P) + b = next(c for c in i['selected_calls'] if c['provider_id'] != P and c['orientation'] == a['orientation']) + a['provider_id'], b['provider_id'] = b['provider_id'], a['provider_id'] + resync(i, a); resync(i, b) + + def compensating(o, i, P=P, Qp=Qp): + # Two dishonest profiles that cancel exactly in the dispatch-weighted aggregate. + g = math.gcd(COUNTS[P], COUNTS[Qp]); dp, dq = COUNTS[Qp] // g, COUNTS[P] // g + p, q = i['providers'][P], i['providers'][Qp] + p['paid_profile']['1'] += dp; q['paid_profile']['1'] -= dq + p['children'] += dp; q['children'] -= dq + + def forged_recipe(o, i, P=P): + name = 'CLIFFORD-RECIPES.json' + i['providers'][P]['artifacts'][name] = '0'*64 + o['source_artifacts']['providers/'+P+'/'+name] = '0'*64 + + def forged_phase(o, i, P=P): + i['providers'][P]['semantic_artifact_sha256']['CLIFFORD-REVIEW.json'] = '0'*64 + o['provider_phase_semantic_sha256'][P] = i['provider_phase_semantic_sha256'][P] = '0'*64 + + controls += [ + (P + ':missing_provider', lambda o, i, P=P: i['providers'].pop(P)), + (P + ':missing_backward_orientation', lambda o, i, P=P: i['providers'][P]['local'].pop('backward')), + (P + ':unpaid_scalar_primitive', lambda o, i, P=P: i['providers'][P]['local']['forward'].__setitem__('real_component_primitives', i['providers'][P]['local']['forward']['real_component_primitives'] - 1)), + (P + ':wrong_local_artifact_binding', lambda o, i, P=P: i['providers'][P]['artifacts'].__setitem__('LOCAL-PROGRAMS.json.gz', '0' * 64)), + (P + ':false_dirty_restoration', lambda o, i, P=P: i['providers'][P]['local']['backward'].__setitem__('all_dirty_helper_columns_restored', False)), + (P + ':wrong_declared_provider_count', lambda o, i, P=P: i['provider_counts'].__setitem__(P, i['provider_counts'][P] + 1)), + (P + ':wrong_local_compiler', lambda o, i, P=P: i['providers'][P].__setitem__('compiler', 1)), + (P + ':wrong_local_adapter_charge', lambda o, i, P=P: i['providers'][P].__setitem__('local_adapters', 1)), + (P + ':wrong_local_primitive_bound', lambda o, i, P=P: i['providers'][P].__setitem__('local_primitive_bound', 1)), + (P + ':forged_provider_and_call_program_hash', forged_program_hash), + (P + ':provider_at_wrong_call', wrong_selected_call), + (P + ':stale_partner_program_consistent_call_hashes', stale_program), + (P + ':stale_partner_profile_consistent_child_total', stale_profile), + (P + ':relocated_against_partner_same_counts', moved), + (P + ':compensating_false_profiles_with_' + Qp, compensating), + (P + ':synchronized_forged_source_recipe_hash', forged_recipe), + (P + ':synchronized_forged_phase_review_semantics', forged_phase), + ] + if len(PIDS)==1: + # Cross-provider substitutions require a second actual supplier. + # All single-provider program, phase, profile and dispatch bindings + # retain their direct mutations above and in the controller audit. + partner_only = {P+':stale_partner_program_consistent_call_hashes', + P+':stale_partner_profile_consistent_child_total', + P+':relocated_against_partner_same_counts', + P+':compensating_false_profiles_with_'+Qp} + controls = [(name, fn) for name, fn in controls if name not in partner_only] + # Width order and inventory: swap the first helper of every pair of distinct widths (same inventory), + # and shift one unit between them (same total). + first = {} + for h, w in enumerate(widths): + first.setdefault(w, h) + for wa, wb in itertools.combinations(sorted(first), 2): + def swap(o, i, P=P, a=first[wa], b=first[wb]): + w = i['providers'][P]['widths']; w[a], w[b] = w[b], w[a] + def shift(o, i, P=P, a=first[wa], b=first[wb]): + w = i['providers'][P]['widths']; w[a] += 1; w[b] -= 1 + controls.append((P + ':width_order_swap_%d_%d' % (wa, wb), swap)) + controls.append((P + ':width_inventory_shift_%d_%d' % (wa, wb), shift)) + for h in SPOT: + def cold_swap(o, i, P=P, h=h): + w = i['providers'][P]['widths']; j = w.index(9 if w[h] != 9 else 8); w[h], w[j] = w[j], w[h] # never the identity + controls.append((P + ':cold_helper_width_swap_%d' % h, cold_swap)) + rejected = [] + accepted = [] + for name, mutate in controls: + o, i = copy.deepcopy(owner), copy.deepcopy(invoice) + mutate(o, i) + oh = digest(o) + i['owner_audit_sha256'] = oh + try: + assemble(o, i, oh, digest(i)) + except (AssertionError, KeyError): + rejected.append(name) + else: + # Discovery has no pinned values to reject spec-only mutations; the strict run must reject every control. + if not DISCOVER: + raise AssertionError('Invalid admission receipt accepted: ' + name) + accepted.append(name) + try: + assemble(owner, invoice, '0' * 64, sha(invoice_path)) + except AssertionError: + rejected.append('wrong_owner_receipt_hash') + else: + raise AssertionError('Wrong owner digest accepted') + pin('expected.assembly_controls_rejected', len(rejected)) + assert baseline['controls'] == ['next_grid', 'zero_eta', 'zero_beta', 'unit_beta'] + assert baseline['conservative_controls'] == baseline['controls'] + assert baseline['surcharge_model'] == {'complex': False, 'bit': True} + assert len(baseline['model_controls']) == 2 + return dict( + status='PASS_EXACT_MIXED_048_ALLCOLD_NATIVE_ASSEMBLY_ADMISSION_NEGATIVE_CONTROLS', + valid_receipt_kappa=baseline['kappa'], + input_sha256=baseline['input_sha256'], + assembler_sha256=sha(Path(__file__).resolve().parent / 'assemble.py'), + rejected_controls=rejected, + discovery_accepted_controls=accepted, + exact_outer_controls=baseline['controls'], + conservative_outer_controls=baseline['conservative_controls'], + recurrence_model_controls=baseline['model_controls'], + scope='Complete receipt schema; ordered widths and both reflected providers; exact program, work and paid-profile binding; independently recounted compiler, conservative envelope and finite inequalities. Does not replace fresh physical replay.', + ) + + +if __name__ == '__main__': + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--source-package', type=Path, required=True) + ap.add_argument('--owner', type=Path, required=True) + ap.add_argument('--invoice', type=Path, required=True) + ap.add_argument('--out', type=Path, required=True) + a = ap.parse_args() + assert not a.out.exists() + result = verify(a.owner, a.invoice, a.source_package) + a.out.write_text(json.dumps(result, indent=2) + '\n') + print(result['status'], len(result['rejected_controls'])) diff --git a/research/gauge44-leaver8/code/audit_allcold.py b/research/gauge44-leaver8/code/audit_allcold.py new file mode 100644 index 0000000000..c86f7b0235 --- /dev/null +++ b/research/gauge44-leaver8/code/audit_allcold.py @@ -0,0 +1,254 @@ +"""OpenAI Codex independent serialized ASYNCHRONOUS controller/spectator audit. +Imports no emitter, optimizer, expander, edge-coloring, or source hosting code. +CLI: BASE HOSTED REPORT [--mutation-controls] +Each provider is independently read from BASE/providers, never from a baseline width histogram. +OpenAI Codex two-provider width-seven extension; retains all inherited independent controller checks. +The exact 63 width-seven and 9 plain calls are frozen below. +""" +import sys,json,gzip,hashlib,copy +assert __debug__, 'Assertions must remain enabled' +from pathlib import Path +from collections import Counter,defaultdict +import sys as _s,pathlib as _p;_s.path.insert(0,str(_p.Path(__file__).resolve().parent)) +from witness import * +from generated_identity import artifact_identities +BASE,OUT,REPORT=map(lambda p:Path(p).resolve(),sys.argv[1:4]);read=lambda p:json.loads(gzip.decompress(p.read_bytes())if p.suffix=='.gz'else p.read_bytes()) +parent=read(BASE/'split-centres/GLOBAL-TEMPLATE.json.gz') +ph=read(BASE/'work/complex-nine-native/DATA-PHASES.json') +ct=read(OUT/'GLOBAL-TEMPLATE.json.gz');summary=read(OUT/'HOSTED.json') +sha=lambda p:hashlib.sha256(p.read_bytes()).hexdigest() +provider_ids=PIDS +providers={};registry={};phase_semantic_hashes={};artifact_semantic_hashes={} +required_artifacts={'work/complex-nine-native/DATA-PHASES.json'} +provider_files=('CANONICAL-WORD.json.gz','LOCAL-PROGRAMS.json.gz','LOCAL-CHECKS.json', + 'INDEPENDENT-LOCAL-REPLAY.json','RESIDUAL-ADAPTERS.json','CLIFFORD-RECIPES.json','CLIFFORD-REVIEW.json') +for pid in provider_ids: + p=BASE/'providers'/pid + c=read(p/'CANONICAL-WORD.json.gz');checks=read(p/'LOCAL-CHECKS.json') + programs=read(p/'LOCAL-PROGRAMS.json.gz');replay=read(p/'INDEPENDENT-LOCAL-REPLAY.json') + phase=read(p/'CLIFFORD-REVIEW.json');adapters=read(p/'RESIDUAL-ADAPTERS.json')['recipes'] + widths=[len(c['frames'][c['final'][2*c['v']+h]])-len(c['frames'][c['start'][2*c['v']+h]])for h in range(c['R'])] # HPE: residual width |final|-|start| + assert tuple(widths[h]for h in SPOT)==spot_widths();pin('providers.%s.inventory'%pid,{str(k):v for k,v in sorted(Counter(widths).items())}) + canonical_sha=sha(p/'CANONICAL-WORD.json.gz');programs_sha=sha(p/'LOCAL-PROGRAMS.json.gz') + assert replay['status']=='PASS_INDEPENDENT_LOCAL_SCALAR_FRAME_AND_WRAPPER_REPLAY' + assert replay['canonical_word_sha256']==canonical_sha and replay['local_programs_sha256']==programs_sha + assert replay['v']==c['v'] and replay['helpers']==c['R'] + assert set(programs)==set(checks)==set(replay['local'])==set(replay['paid_profiles'])=={'forward','backward'} + for orientation,events in programs.items(): + ck=checks[orientation];rr=replay['local'][orientation] + assert hashlib.sha256(json.dumps(events,sort_keys=True,separators=(',',':')).encode()).hexdigest()==ck['sha256'] + assert ck['events']==len(events) and ck['all_columns']==2*c['v']+c['R'] + assert ck['private_centers_cleared'] and ck['private_coefficient_stream_cleared_after_each_macro'] + assert rr['all_exact_columns']==2*c['v']+c['R'] and rr['private_work_erased'] + literal=Counter(e[-1]for e in events if e[0]in('climb','center')) + assert dict(literal)=={int(r):n for r,n in ck['paid_profile'].items()}=={int(r):n for r,n in c['local_profile'].items()} + assert ck['paid_profile']==replay['paid_profiles'][orientation] + assert phase['canonical_word_sha256']==canonical_sha and phase['recipe_sha256']==sha(p/'CLIFFORD-RECIPES.json') + assert phase['all_child_equalities_include_global_phase'] + artifact_semantic_hashes[pid]=artifact_identities(p) + pin('providers.%s.artifact_semantic_sha256'%pid,artifact_semantic_hashes[pid]) + phase_semantic_hashes[pid]=artifact_semantic_hashes[pid]['CLIFFORD-REVIEW.json'] + for h,w in enumerate(widths): + assert 0>i)&1==0);a=q^(1<>i&1 else 0)for i in order]+[1<2*max(paid)**2 + return dict(profile=dict(sorted(paid.items())),mass=mass,hosted=HOSTED,entering=entering,cross_replica=cross,sigma_digest=digest.hexdigest(),sigmas=sigmas,idle_remainders=len(wanted),busy_family_checks=len(roles),invocations=72) + +r=audit(ct);raw=gzip.decompress((OUT/'GLOBAL-TEMPLATE.json.gz').read_bytes());assert hashlib.sha256(raw).hexdigest()==summary['template_sha256'];assert r['profile']=={int(k):v for k,v in summary['global_profile'].items()};assert r['sigmas']==read(OUT/'ACTUAL-SIGMAS.json.gz');assert r['sigma_digest']==summary['sigma_stream_sha256'] +assert all(hashlib.sha256((BASE/name).read_bytes()).hexdigest()==value for name,value in summary['source_artifacts'].items()) +controls=[] +def reject(name,mut): + if '--mutation-controls' not in sys.argv[4:]:return + q=copy.deepcopy(ct);mut(q) + try:audit(q) + except(AssertionError,KeyError,IndexError,ValueError,TypeError):controls.append(name) + else:raise AssertionError('ACCEPTED '+name) +enter=lambda q:next(o for c in q['calls']for o in c['owners'][(2*V):]if o[1][0]==4) +reject('alias two whole owners',lambda q:q['calls'][0]['owners'].__setitem__((2*V+1),q['calls'][0]['owners'][(2*V)])) +reject('helper on active data family',lambda q:q['calls'][0]['owners'][(2*V)].__setitem__(0,q['calls'][0]['owners'][0][0])) +reject('owner in private namespace',lambda q:q['calls'][0]['owners'][(2*V)].__setitem__(0,DATA)) +reject('wrong residual width',lambda q:enter(q)[1].__setitem__(3,enter(q)[1][3]-1)) +reject('wrong spectator coordinate',lambda q:enter(q)[1][4].__setitem__(0,72)) +reject('omit idle remainder',lambda q:q['idle_children'].pop()) +reject('understate physical reserve',lambda q:q.__setitem__('physical',PHYSICAL-1)) +# Single-provider dispatch still has all source/program/width binding controls. +if len(provider_ids)==1: + P=provider_ids[0] + at_p=lambda q:next(c for c in q['calls']if c['provider_id']==P) + narrow=next(h for h in range(R)if providers[P]['widths'][h]<9) + reject(P+': wrong provider at its invocation',lambda q:at_p(q).__setitem__('provider_id','__unregistered__')) + reject(P+': stale per-call local program hash',lambda q:at_p(q).__setitem__('local_program_sha256','0'*64)) + reject(P+': stale serialized provider program',lambda q:q['local_providers'][P]['local_programs']['forward'].pop()) + reject(P+': unbound residual adapter hash',lambda q:q['local_providers'][P].__setitem__('residual_adapter_sha256','0'*64)) + reject(P+': wrong provider width registry',lambda q:q['local_providers'][P]['widths'].__setitem__(narrow,providers[P]['widths'][narrow]-1)) + reject(P+': wrong per-call residual width',lambda q:at_p(q)['owners'][2*V+narrow][1].__setitem__(3,at_p(q)['owners'][2*V+narrow][1][3]-1)) + reject(P+': wrong sweep provider',lambda q:next(e for e in q['execution_schedule']if e['kind']=='local_cover_sweep').__setitem__('provider_id','__unregistered__')) + reject(P+': entering helper width silently restored to nine',lambda q:q['local_providers'][P]['widths'].__setitem__(narrow,9)) +else: + # Per-provider substitution controls: every provider is swapped against a partner provider. + for P in provider_ids: + Qp=partner(P) + at_p=lambda q,P=P:next(c for c in q['calls']if c['provider_id']==P) + diff=[h for h in range(R)if providers[P]['widths'][h]!=providers[Qp]['widths'][h]] + narrow=next(h for h in range(R)if providers[P]['widths'][h]<9) + reject(P+': wrong provider at its invocation',lambda q,P=P,Qp=Qp,at_p=at_p:at_p(q).__setitem__('provider_id',Qp)) + reject(P+': stale per-call local program hash',lambda q,Qp=Qp,at_p=at_p:at_p(q).__setitem__('local_program_sha256',registry[Qp]['local_program_checks'][at_p(q)['orientation']]['sha256'])) + reject(P+': stale serialized provider program',lambda q,P=P,Qp=Qp:q['local_providers'][P].__setitem__('local_programs',registry[Qp]['local_programs'])) + reject(P+': unbound residual adapter hash',lambda q,P=P:q['local_providers'][P].__setitem__('residual_adapter_sha256','0'*64)) + if diff:reject(P+': partner width in provider width registry',lambda q,P=P,Qp=Qp,h=diff[0]:q['local_providers'][P]['widths'].__setitem__(h,providers[Qp]['widths'][h])) + reject(P+': wrong per-call residual width',lambda q,at_p=at_p,h=narrow:at_p(q)['owners'][2*V+h][1].__setitem__(3,at_p(q)['owners'][2*V+h][1][3]-1)) + reject(P+': wrong sweep provider',lambda q,P=P,Qp=Qp:next(e for e in q['execution_schedule']if e['kind']=='local_cover_sweep'and DISPATCH[e['stage'],e['replica']]==P).__setitem__('provider_id',Qp)) + reject(P+': entering helper width silently restored to nine',lambda q,P=P,h=narrow:q['local_providers'][P]['widths'].__setitem__(h,9)) + +report=dict(status='PASS_INDEPENDENT_ASYNC_WHOLE_OWNER_CONTROLLER_PHASES_AND_SPECTATORS',template_sha256=summary['template_sha256'],complex_template_sha256=summary['template_sha256'],complex_live=DATA,complex_profile=r['profile'],complex_hosted_residuals=HOSTED,physical=PHYSICAL,rank_mass=r['mass'],deficit=2560,entering_helper_roles=r['entering'],cross_replica_helper_roles=r['cross_replica'],one_owner_per_complete_invocation=True,helper_busy_family_window_checks=r['busy_family_checks'],complete_invocations=r['invocations'],actual_orthogonal_73column_maps=len(r['sigmas']),actual_sigma_stream_sha256=r['sigma_digest'],all_actual_residual_and_spectator_charts=True,idle_remainders=r['idle_remainders'],mutations_rejected=controls,mutation_controls_run='--mutation-controls' in sys.argv[4:],provider_phase_semantic_sha256=phase_semantic_hashes,provider_artifact_semantic_sha256=artifact_semantic_hashes,widths_by_provider={pid:dict(sorted(Counter(providers[pid]['widths']).items()))for pid in provider_ids},provider_counts=dict(Counter(c['provider_id']for c in ct['calls'])),all_provider_program_phase_and_wrapper_bindings=True,scope='Independent exact asynchronous chronology, per-replica phase projection, owner/chart/paid-profile audit. Uses per-invocation local providers bound by exact scalar, phase and residual-wrapper receipts; all-size compilation and complete coefficient invoice are separate inherited obligations.') +REPORT.parent.mkdir(parents=True,exist_ok=True) +REPORT.write_text(json.dumps(report,indent=2)+'\n');print(json.dumps(report,indent=2)) + +owners=dict(status='PASS_INDEPENDENT_ASYNC_OWNERS_AND_PROFILE',template_sha256=summary['template_sha256'],paid_profile=r['profile'],live=DATA,physical=PHYSICAL,rank_mass=r['mass'],deficit=2560,hosted_residuals=HOSTED,banked_residuals=0,all_live_owners_per_call_distinct=True,owners_per_call=N,actual_helper_owner_charts=HOSTED,actual_73column_sigmas=len(r['sigmas']),cross_replica_helper_roles=r['cross_replica'],explicit_idle_remainder_children=r['idle_remainders'],source_idle_children_charged=sum(x['replicas']for x in parent['idle_children']),source_artifacts=summary['source_artifacts'],provider_phase_semantic_sha256=phase_semantic_hashes,provider_artifact_semantic_sha256=artifact_semantic_hashes,controller_audit_sha256=hashlib.sha256(REPORT.read_bytes()).hexdigest()) +(REPORT.parent/'OWNERS-AND-PROFILE.json').write_text(json.dumps(owners,indent=2)+'\n') + +# Literal residual frames are a compact export of the already checked offsets, +# not another global replay. Every row names its actual inherited axes. +frames=[] +for z in ct['idle_children']: + axes=list(map(int,ph['recipes'][z['port']]['idle_children'][z['child']]['orthogonal_axes'])) + tail=axes[z['pending_offset']:] + assert len(tail)==z['rank'] + frames.append(dict(z,orthogonal_axes=tail)) +frame_raw=json.dumps(frames,sort_keys=True,separators=(',',':')).encode() +portable=bytearray(gzip.compress(frame_raw,mtime=0));portable[9]=255 +(OUT/'IDLE-REMAINDER-FRAMES.json.gz').write_bytes(bytes(portable)) +frame_receipt=dict(status='PASS_LITERAL_IDLE_REMAINDER_FRAMES',template_sha256=summary['template_sha256'], + uncompressed_frames_sha256=hashlib.sha256(frame_raw).hexdigest(),children=len(frames), + rank_profile=dict(sorted(Counter(z['rank']for z in frames).items())), + source_data_phase_sha256=hashlib.sha256((BASE/'work/complex-nine-native/DATA-PHASES.json').read_bytes()).hexdigest(), + scope='Actual orthogonal axes after the independently checked whole-owner prefix in each inherited pending child.') +(REPORT.parent/'IDLE-REMAINDER-FRAMES.json').write_text(json.dumps(frame_receipt,indent=2)+'\n') diff --git a/research/gauge44-leaver8/code/bind_providers_portable.py b/research/gauge44-leaver8/code/bind_providers_portable.py new file mode 100644 index 0000000000..97e28da17e --- /dev/null +++ b/research/gauge44-leaver8/code/bind_providers_portable.py @@ -0,0 +1,67 @@ +"""Bind freshly verified plain and width-seven four-cold providers to the frozen literal owner plan. +Prepared with OpenAI Codex assistance; Apache-2.0. All byte-stable native +files are pinned to the plan. Only validated phase-receipt timing/serialization +and directory fields are rebound; no dispatch, width or owner choice changes. +""" +import argparse,copy,gzip,hashlib,json,shutil +from collections import Counter +from pathlib import Path +import sys as _s,pathlib as _p;_s.path.insert(0,str(_p.Path(__file__).resolve().parent)) +from witness import * +from generated_identity import artifact_identities +assert __debug__, 'Assertions required' +ap=argparse.ArgumentParser(description=__doc__) +for name in ('baseline','plan','out'):ap.add_argument('--'+name,type=Path,required=True) +ap.add_argument('--provider',action='append',required=True,help='PID=DIR');a=ap.parse_args();assert not a.out.exists();a.out.mkdir(parents=True) +def read(p):return json.loads(gzip.decompress(p.read_bytes())if p.suffix=='.gz'else p.read_bytes()) +def sha(p):return hashlib.sha256(p.read_bytes()).hexdigest() +base=a.out/'base';shutil.copytree(a.baseline/'complex-global/base',base) +ap2=dict(x.split('=',1)for x in a.provider);dirs={k:Path(v)for k,v in ap2.items()};assert set(dirs)==set(PIDS) +for pid,src in dirs.items():shutil.copytree(src,base/'providers'/pid) +pin('data.plan_sha256',sha(a.plan)) +plan=read(a.plan);original=copy.deepcopy(plan);sources={};helpers=set() # R: helper count per provider word; all providers must agree +assert set(plan['provider_registry'])==set(dirs) +assert {(c['stage'],c['replica']):c['provider']for c in plan['provider_calls']}==DISPATCH,'PLAN dispatch differs from spec dispatch' +stable=('CANONICAL-WORD.json.gz','LOCAL-PROGRAMS.json.gz','LOCAL-CHECKS.json','INDEPENDENT-LOCAL-REPLAY.json','CLIFFORD-RECIPES.json','RESIDUAL-ADAPTERS.json') +for pid,desc in plan['provider_registry'].items(): + d=base/'providers'/pid + word,program,checks,native,phase=[read(d/name)for name in('CANONICAL-WORD.json.gz','LOCAL-PROGRAMS.json.gz','LOCAL-CHECKS.json','INDEPENDENT-LOCAL-REPLAY.json','CLIFFORD-REVIEW.json')] + assert (word['v'],word['h'],len(word['centers']))==(112,9,8) and type(word['R']) is int and word['R']>0;helpers.add(word['R']) + assert word['ports']==desc['ports'] and word['centers']==desc['centers'] + widths=[len(word['frames'][word['final'][r]])-len(word['frames'][word['start'][r]])for r in range(2*112,2*112+word['R'])] # HPE: residual width |final|-|start| + assert tuple(widths[h]for h in SPOT)==spot_widths() + assert widths==desc['widths'];pin('providers.%s.inventory'%pid,{str(k):v for k,v in sorted(Counter(widths).items())}) + assert native['status']=='PASS_INDEPENDENT_LOCAL_SCALAR_FRAME_AND_WRAPPER_REPLAY' + pin('providers.%s.native_negative_controls'%pid,len(native['negative_controls_rejected'])) + assert native['canonical_word_sha256']==sha(d/'CANONICAL-WORD.json.gz') and native['local_programs_sha256']==sha(d/'LOCAL-PROGRAMS.json.gz') + assert phase['status']=='PASS_NEW_WORD_EXACT_LOCAL_PHASE_RECIPES' + assert phase['canonical_word_sha256']==sha(d/'CANONICAL-WORD.json.gz') and phase['recipe_sha256']==sha(d/'CLIFFORD-RECIPES.json') + assert phase['all_child_equalities_include_global_phase'] is True and phase['endpoint_adapters']==224 + pin('providers.%s.phase_edges'%pid,phase['directed_edges']) + assert set(program)==set(checks)=={'forward','backward'} + expected={int(r):n for r,n in checks['forward']['paid_profile'].items()};pin('providers.%s.expected_profile'%pid,checks['forward']['paid_profile']) + for orientation,events in program.items(): + profile=Counter() + for e in events: + if e[0]=='climb':profile[e[5]]+=1 + elif e[0]=='center':profile[e[4]]+=1 + assert dict(profile)==expected=={int(r):n for r,n in checks[orientation]['paid_profile'].items()}=={int(r):n for r,n in native['paid_profiles'][orientation].items()} + assert hashlib.sha256(json.dumps(events,separators=(',',':')).encode()).hexdigest()==checks[orientation]['sha256'] + identities=artifact_identities(d) + pin('providers.%s.artifact_semantic_sha256'%pid,identities) + assert identities==desc['artifact_semantic_sha256'] + for name in ('LOCAL-CHECKS.json','CLIFFORD-RECIPES.json','RESIDUAL-ADAPTERS.json'): + assert sha(d/name)==desc['artifact_sha256'][name],(pid,name,'changed non-reference artifact') + for c in plan['provider_calls']: + if c['provider']==pid: + assert c['orientation']==('forward'if c['stage']%2==0 else'backward') + assert c['local_program_sha256']==checks[c['orientation']]['sha256'] + desc['directory']='providers/'+pid + desc['artifact_sha256']={name:sha(d/name)for name in desc['artifact_sha256']} + sources[pid]=dict(artifact_sha256=desc['artifact_sha256'],canonical_content_sha256=hashlib.sha256(json.dumps(word,sort_keys=True,separators=(',',':')).encode()).hexdigest(),all_phase_edges=phase['directed_edges']) +assert len(helpers)==1,'providers disagree on helper count R: %s'%sorted(helpers) +plan['runtime_source_plan_sha256']=sha(a.plan) +(a.out/'PLAN.json').write_text(json.dumps(plan,indent=2)+'\n') +receipt=dict(status='PASS_FROZEN_048_ALLCOLD_DISPATCH_FRESH_PROVIDER_BINDING',source_plan_sha256=sha(a.plan),runtime_plan_sha256=sha(a.out/'PLAN.json'),providers=sources,only_rebound_fields=['provider_registry.directory','provider_registry.artifact_sha256','runtime_source_plan_sha256']) +(a.out/'BINDING.json').write_text(json.dumps(receipt,indent=2)+'\n') +print(receipt['status']) diff --git a/research/gauge44-leaver8/code/bit_supplier_controls.py b/research/gauge44-leaver8/code/bit_supplier_controls.py new file mode 100644 index 0000000000..e86b8527b4 --- /dev/null +++ b/research/gauge44-leaver8/code/bit_supplier_controls.py @@ -0,0 +1,111 @@ +"""Negative controls for the cited PR589 bit supplier and its derived rank-mass deficit. + +Apache-2.0. Each control mutates one input of the changed bit-supplier sites in assemble.py (the pinned record, the +deficit derivation from the word's parameters, the profile/live binding, the claimed endpoint) and runs the unchanged +assemble() on the fresh owner/invoice receipts. Every control must be rejected; the unmutated run must pass. +`revert_hardcoded_9984` restores the PR543 constant the parent package hard-coded: with PR589's word it must fail. +""" +import argparse +import copy +import hashlib +import json +import os +import tempfile +from fractions import Fraction as Q +from pathlib import Path +import sys as _s,pathlib as _p;_s.path.insert(0,str(_p.Path(__file__).resolve().parent)) + +assert __debug__, 'Assertions required' +sha = lambda p: hashlib.sha256(p.read_bytes()).hexdigest() + + +def verify(owner_path, invoice_path, source_package): + os.environ['GAIN_PR564_SOURCE'] = str(source_package.resolve()) + import assemble as A + owner = json.loads(owner_path.read_text()) + invoice = json.loads(invoice_path.read_text()) + args = (owner, invoice, sha(owner_path), sha(invoice_path)) + baseline = A.assemble(*args) + data = A.BIT_PATH.read_bytes() + record = A.load_bit(data) + word = record['word'] + assert A.bit_deficit(word, record['nine']['bit']['live']) == 10272 == 32 * (8 * 111 - 9 * 63) + + real_load, real_deficit = A.load_bit, A.bit_deficit + + def with_record(mutate): + def load(d): + r = copy.deepcopy(real_load(d)); mutate(r); return r + return load + + def shift_profile(r): # one rank-1 child becomes rank 2: rank mass +1, totals unchanged + p = r['nine']['profile']; p['1'] -= 1; p['2'] += 1; r['nine']['bit']['rank_mass'] += 1 + + bumped = data.replace(record['nine']['bit_lower'].encode(), + str(Q(record['nine']['bit_lower']) + Q(1, 10**24)).encode(), 1) + assert bumped != data + pr543 = (source_package / 'inputs/PR543-EXPECTED.json').read_bytes() + controls = [ + # deficit site: the parent's hard-coded constant, restored + ('revert_hardcoded_9984', dict(bit_deficit=lambda w, live: 9984)), + # deficit site: each word parameter perturbed alone + ('ports_112', dict(load_bit=with_record(lambda r: r['word'].__setitem__('v', 112)))), + ('decoder_constant_64_copy_ranks_unchanged', dict(load_bit=with_record(lambda r: r['word'].__setitem__('decoder_constant', 64)))), + # v=111, cst=64 derives 32*(888-576)=9984: consistent word, wrong for the priced profile + ('decoder_constant_64_with_one_copy_rank_8', dict(load_bit=with_record(lambda r: (r['word'].__setitem__('decoder_constant', 64), r['word']['copy_ranks'].__setitem__(0, 8))))), + ('eight_retained_totals', dict(load_bit=with_record(lambda r: (r['word'].__setitem__('copy_ranks', [7] * 8), r['word'].__setitem__('decoder_constant', 56))))), + ('live_minus_one', dict(load_bit=with_record(lambda r: r['nine']['bit'].__setitem__('live', r['nine']['bit']['live'] - 1)))), + # profile binding: same totals, rank mass +1 + ('profile_rank_mass_plus_one', dict(load_bit=with_record(shift_profile))), + ('profile_rank_mass_receipt_mismatch', dict(load_bit=with_record(lambda r: r['nine']['bit'].__setitem__('rank_mass', r['nine']['bit']['rank_mass'] + 1)))), + # endpoint: the next 1e-24 grid point + ('bit_lower_next_grid', dict(load_bit=with_record(lambda r: r['nine'].__setitem__('bit_lower', str(Q(r['nine']['bit_lower']) + Q(1, 10**24)))))), + ('not_nine_stage_record', dict(load_bit=with_record(lambda r: r['nine'].__setitem__('pipeline', r['nine']['pipeline'].replace('nine-stage', 'eleven-stage'))))), + # pinned-input site: tampered bytes and the parent's PR543 file under the PR589 pin + ('tampered_bytes_next_grid', dict(read=bumped)), + ('pr543_file_under_pr589_pin', dict(read=pr543)), + ] + rejected = [] + scratch = Path(tempfile.mkdtemp(prefix='bitctl-')) + for name, patch in controls: + saved_path = A.BIT_PATH + try: + if 'read' in patch: + tmp = scratch / (name + '.json'); tmp.write_bytes(patch['read']); A.BIT_PATH = tmp + A.load_bit = patch.get('load_bit', real_load) + A.bit_deficit = patch.get('bit_deficit', real_deficit) + try: + A.assemble(*args) + except (AssertionError, KeyError): + rejected.append(name) + else: + raise AssertionError('Invalid bit supplier accepted: ' + name) + finally: + A.load_bit, A.bit_deficit, A.BIT_PATH = real_load, real_deficit, saved_path + if 'read' in patch: + tmp.unlink() + scratch.rmdir() + assert rejected == [n for n, _ in controls] + again = A.assemble(*args) + assert again['kappa'] == baseline['kappa'] and again['bit_lower'] == baseline['bit_lower'] + return dict( + status='PASS_PR589_BIT_SUPPLIER_DERIVED_DEFICIT_NEGATIVE_CONTROLS', + kappa=baseline['kappa_decimal'], bit_lower=baseline['bit_lower'], bit_decimal=baseline['bit_decimal'], + binding=baseline['binding'], bit_supplier=baseline['bit_supplier'], + derived_deficit=baseline['bit_supplier']['derived_deficit'], + rejected_controls=rejected, + assembler_sha256=sha(Path(__file__).resolve().parent / 'assemble.py'), + ) + + +if __name__ == '__main__': + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--source-package', type=Path, required=True) + ap.add_argument('--owner', type=Path, required=True) + ap.add_argument('--invoice', type=Path, required=True) + ap.add_argument('--out', type=Path, required=True) + a = ap.parse_args() + assert not a.out.exists() + result = verify(a.owner, a.invoice, a.source_package) + a.out.write_text(json.dumps(result, indent=2) + '\n', newline='\n') + print(result['status'], len(result['rejected_controls'])) diff --git a/research/gauge44-leaver8/code/emit_allcold.py b/research/gauge44-leaver8/code/emit_allcold.py new file mode 100644 index 0000000000..8e147f80a6 --- /dev/null +++ b/research/gauge44-leaver8/code/emit_allcold.py @@ -0,0 +1,150 @@ +"""Two-provider width-seven whole-owner derivative, adapted with OpenAI Codex assistance. +Based on PR514 and its credited PR484/507 lineage. +CLI: --base VERIFIED_VARIANT --owners ASYNC-OWNERS.json.gz --plan ASYNC-PLAN.json --out OUT +No optimizer or unpublished word builder runs. The frozen map explicitly names +one whole helper per family per complete invocation, plus borrowed spectators. +""" +import sys,json,gzip,hashlib,copy,argparse +from pathlib import Path +from collections import Counter,defaultdict +import sys as _s,pathlib as _p;_s.path.insert(0,str(_p.Path(__file__).resolve().parent)) +from witness import * +parser=argparse.ArgumentParser(description=__doc__) +parser.add_argument('--base',type=Path,required=True);parser.add_argument('--owners',type=Path,required=True);parser.add_argument('--plan',type=Path,required=True);parser.add_argument('--out',type=Path,required=True) +a=parser.parse_args();BASE,MAP,PLAN,OUT=(p.resolve()for p in(a.base,a.owners,a.plan,a.out));assert not OUT.exists();OUT.mkdir(parents=True) +class OH: + @staticmethod + def idle_basis(q): + z=next(i for i in range(9)if not(q>>i)&1);u=q^(1<>i&1 else 0)for i in order]+[1<0 and all(x['R']==R for x in registry.values()),'providers disagree on helper count R' + assert replay['status']=='PASS_INDEPENDENT_LOCAL_SCALAR_FRAME_AND_WRAPPER_REPLAY' + assert replay['canonical_word_sha256']==sha(directory/'CANONICAL-WORD.json.gz')and replay['local_programs_sha256']==sha(directory/'LOCAL-PROGRAMS.json.gz') + widths=[len(pc['frames'][pc['final'][2*V+h]])-len(pc['frames'][pc['start'][2*V+h]])for h in range(R)] # HPE: residual width |final|-|start| + assert widths==plan['provider_registry'][provider_id]['widths'] + for name in provider_files: + value=sha(directory/name);assert value==plan['provider_registry'][provider_id]['artifact_sha256'][name] + source_artifacts[f'providers/{provider_id}/{name}']=value + registry[provider_id]=dict(local_programs=programs,canonical_word_sha256=sha(directory/'CANONICAL-WORD.json.gz'),local_programs_sha256=sha(directory/'LOCAL-PROGRAMS.json.gz'),local_program_checks=checks,exact_local_clifford_recipe_sha256=sha(directory/'CLIFFORD-RECIPES.json'),residual_adapter_sha256=sha(directory/'RESIDUAL-ADAPTERS.json'),v=V,h=9,R=R,ports=pc['ports'],centers=pc['centers'],widths=widths) +assert len(roles)==72*R # one whole-owner role per (call, provider helper) +selected={(c['stage'],c['replica']):c for c in plan['provider_calls']} +assert len(selected)==72 and set(selected)==set(call_order) +assert Counter(c['provider']for c in selected.values())==COUNTS +per_call_widths={(c['stage'],c['replica']):c['widths']for c in plan['per_call_widths']} +for key,c in selected.items(): + assert c['time']==at[key] and c['provider']in registry + assert per_call_widths[key]==registry[c['provider']]['widths'] +for key in('local_programs','exact_local_clifford_recipe_sha256','residual_adapter_sha256'):t.pop(key) +t['local_providers']=registry +rank={z['child']:z['rank']for z in parent['idle_children']};side={};pairs={} +for e in parent['execution_schedule']: + if e['kind']=='idle_cover_sweep': + for sd,ch in enumerate(e['child_indices']):side[ch]=sd;pairs[ch]=e['pair'] +bycall=defaultdict(dict);used=defaultdict(set);sigmas={};digest=hashlib.sha256();entering=0 +for z in roles: + s,rep,h=z['stage'],z['replica'],z['helper'];i,cp,off,w,f=z['child'],z['copy'],z['offset'],z['width'],z['family'];orp,port=divmod(cp,V) + assert 0<=s<9 and 0<=rep=0 and off+w<=rank[i] + assert z['time']==at[s,rep] and z['time'] in plan['windows'][f'{orp},{i}'][1] + B=OH.idle_basis(canon['ports'][port]);pending=list(map(int,ph['recipes'][port]['idle_children'][i]['orthogonal_axes']));assert len(pending)==rank[i] + occ=[B.index(v)for v in pending[off:off+w]];sp=OH.spectators(canon['ports'][port],pending,off,w)if w<9 else[] + order=occ+sp+[j for j in range(M)if j not in occ and j not in sp];assert len(order)==len(set(order))==M + sigma=[B[j]for j in order];sigmahash=hashlib.sha256(json.dumps(sigma,separators=(',',':')).encode()).hexdigest();sigmas[sigmahash]=sigma + route=[4,i,off,w,sp]if w<9 else[3,i,off];bycall[s,rep][h]=[f,route];entering+=w<9 + cells=set(range(off,off+w));assert not used[i,orp,port]&cells;used[i,orp,port]|=cells + digest.update(json.dumps([s,rep,h,f,sigmahash],separators=(',',':')).encode()+b'\n') +for c in t['calls']: + k=(c['stage'],c['replica']);assert set(bycall[k])==set(range(R)) + c['owners']=c['owners'][:(2*V)]+[bycall[k][h]for h in range(R)];assert len({f for f,r in c['owners']})==2*V+R and all(f2*max(paid)**2 + +assert all(c['local_program_sha256']==registry[c['provider_id']]['local_program_checks'][c['orientation']]['sha256']for c in t['calls']) +t['provider_dispatch']='For each indivisible local_cover_sweep, execute local_providers[call.provider_id].local_programs[call.orientation] with that provider residual adapters and Clifford recipes. The sweep provider_id must equal its call provider_id.' +raw=json.dumps(t,sort_keys=True,separators=(',',':')).encode();(OUT/'GLOBAL-TEMPLATE.json.gz').write_bytes(gzip.compress(raw,mtime=0)) +res=dict(status='EMITTED_MIXED_PROVIDER_ASYNCHRONOUS_WHOLE_OWNER_COMPLEX_TEMPLATE', + template_sha256=hashlib.sha256(raw).hexdigest(), + parent_template_sha256=hashlib.sha256(gzip.decompress((BASE/'split-centres/GLOBAL-TEMPLATE.json.gz').read_bytes())).hexdigest(), + live=DATA,physical=physical,global_profile=dict(sorted(paid.items())), + rank_mass=sum(r*n for r,n in paid.items()),deficit=2560,maxchild=max(paid), + hosted_residuals=len(roles),banks_per_stage=[0]*9,entering_helper_roles=entering, + unique_actual_73column_sigmas=len(sigmas),sigma_stream_sha256=digest.hexdigest(), + cross_replica_helper_roles=sum(z['replica']!=z['owner_replica']for z in roles), + asynchronous_order_sha256=hashlib.sha256(json.dumps(call_order,separators=(',',':')).encode()).hexdigest(), + source_artifacts=source_artifacts,provider_counts=dict(Counter(c['provider_id']for c in t['calls'])), + scope='Two actual verified plain/width-seven providers dispatched per complete invocation; independent controller/spectator/normalization and complete finite invoice admission required.') +(OUT/'HOSTED.json').write_text(json.dumps(res,indent=2)+'\n');(OUT/'ACTUAL-SIGMAS.json.gz').write_bytes(gzip.compress(json.dumps(sigmas,separators=(',',':')).encode(),mtime=0));print(json.dumps(res,indent=2)) diff --git a/research/gauge44-leaver8/code/freeze_spec.py b/research/gauge44-leaver8/code/freeze_spec.py new file mode 100644 index 0000000000..dd0358d396 --- /dev/null +++ b/research/gauge44-leaver8/code/freeze_spec.py @@ -0,0 +1,29 @@ +"""Freeze independently recomputed discovery values before strict replay.""" +import argparse +import json +from pathlib import Path + +ap = argparse.ArgumentParser(description=__doc__) +ap.add_argument('--spec', type=Path, required=True) +ap.add_argument('--discovery', type=Path, required=True) +a = ap.parse_args() +spec = json.loads(a.spec.read_text()) +for line in (a.discovery/'WITNESS-RECORD.jsonl').read_text().splitlines(): + key, value = json.loads(line) + parts = key.split('.') + if len(parts)>3 and parts[0]=='providers' and parts[2]=='artifacts': + parts = parts[:3] + ['.'.join(parts[3:])] + target = spec + for part in parts[:-1]: + target = target.setdefault(part, {}) + if parts[-1] in target: + assert target[parts[-1]]==value, 'Conflicting independent recomputations: '+key + target[parts[-1]] = value +assembly = json.loads((a.discovery/'ASSEMBLY.json').read_text()) +for key in ('complex_lower','conservative_complex_lower','kappa','kappa_decimal','conservative_kappa_decimal'): + spec['expected'][key] = assembly[key] +spec['expected']['assembly_controls_rejected'] = 69 +spec['expected']['provider_counts'] = {'gauge44':72} +spec['expected']['mutations_rejected'] = 15 +a.spec.write_text(json.dumps(spec, indent=2)+'\n') +print('Frozen exact witness for strict replay:', assembly['kappa_decimal']) diff --git a/research/gauge44-leaver8/code/generated_identity.py b/research/gauge44-leaver8/code/generated_identity.py new file mode 100644 index 0000000000..74a9b60479 --- /dev/null +++ b/research/gauge44-leaver8/code/generated_identity.py @@ -0,0 +1,62 @@ +"""Proof-relevant identities for generated artifacts, independent of gzip streams. + +Immutable source archives retain their exact byte hashes. For freshly emitted +artifacts, gzip identity is the exact decompressed payload and JSON identity +retains every field. Only CLIFFORD-REVIEW's root timing field is excluded. +Literal receipt references are checked against actual files before replacing +the three gzip references (and the phase recipe reference) with content hashes. +Prepared with OpenAI Codex assistance; Apache-2.0. +""" +from pathlib import Path +import copy +import gzip +import hashlib +import json +import math + +if not __debug__: + raise RuntimeError('Assertions must remain enabled') + +FILES=('CANONICAL-WORD.json.gz','LOCAL-PROGRAMS.json.gz','LOCAL-CHECKS.json', + 'INDEPENDENT-LOCAL-REPLAY.json','CLIFFORD-RECIPES.json', + 'CLIFFORD-REVIEW.json','RESIDUAL-ADAPTERS.json') + +def sha(path): + return hashlib.sha256(Path(path).read_bytes()).hexdigest() + +def json_identity(value): + return hashlib.sha256(json.dumps(value,sort_keys=True,separators=(',',':'),allow_nan=False).encode('utf-8')).hexdigest() + +def payload_identity(path): + return hashlib.sha256(gzip.decompress(Path(path).read_bytes())).hexdigest() + +def phase_value(directory,value=None): + directory=Path(directory) + value=copy.deepcopy(json.loads((directory/'CLIFFORD-REVIEW.json').read_bytes())if value is None else value) + assert value['canonical_word_sha256']==sha(directory/'CANONICAL-WORD.json.gz'),'stale phase canonical word reference' + assert value['recipe_sha256']==sha(directory/'CLIFFORD-RECIPES.json'),'stale phase recipe reference' + seconds=value.pop('seconds') + assert type(seconds)in(int,float) and math.isfinite(seconds) and seconds>=0,'invalid phase timing metadata' + value['canonical_word_sha256']=payload_identity(directory/'CANONICAL-WORD.json.gz') + value['recipe_sha256']=json_identity(json.loads((directory/'CLIFFORD-RECIPES.json').read_bytes())) + return value + +def native_value(directory,value=None): + directory=Path(directory) + value=copy.deepcopy(json.loads((directory/'INDEPENDENT-LOCAL-REPLAY.json').read_bytes())if value is None else value) + for field,name in [('canonical_word_sha256','CANONICAL-WORD.json.gz'),('local_programs_sha256','LOCAL-PROGRAMS.json.gz')]: + assert value[field]==sha(directory/name),'stale native artifact reference: '+field + value[field]=payload_identity(directory/name) + return value + +def artifact_identities(directory): + directory=Path(directory) + result={} + for name in FILES: + path=directory/name + if name.endswith('.gz'): + result[name]=payload_identity(path) + else: + value=phase_value(directory)if name=='CLIFFORD-REVIEW.json'else native_value(directory)if name=='INDEPENDENT-LOCAL-REPLAY.json'else json.loads(path.read_bytes()) + result[name]=json_identity(value) + return result diff --git a/research/gauge44-leaver8/code/invoice_allcold.py b/research/gauge44-leaver8/code/invoice_allcold.py new file mode 100644 index 0000000000..b244cd5994 --- /dev/null +++ b/research/gauge44-leaver8/code/invoice_allcold.py @@ -0,0 +1,329 @@ +"""Fresh call-specific mixed-provider finite invoice. + +Prepared with OpenAI Codex assistance, Apache-2.0. The scalar/Horner recount +and finite inequalities are adapted from the retained PR558 -> PR552 -> +PR531 invoice_final.py, whose notices and sources are preserved in the package. +Every call selects a hash-bound provider. Shared compiler reserves use maxima; +primitive work, coefficient work, local children and wrappers are also summed +from actual selected provider/orientation records. +""" +import argparse, gzip, hashlib, json +import sys as _s,pathlib as _p;_s.path.insert(0,str(_p.Path(__file__).resolve().parent)) +from witness import * +from generated_identity import artifact_identities +from collections import Counter +from fractions import Fraction as Q +from pathlib import Path +assert __debug__, 'Assertions required' + +def read(path): + data=path.read_bytes() + return json.loads(gzip.decompress(data) if path.suffix=='.gz' else data) +def filehash(path): return hashlib.sha256(path.read_bytes()).hexdigest() +def contenthash(path): + data=path.read_bytes() + return hashlib.sha256(gzip.decompress(data) if path.suffix=='.gz' else data).hexdigest() +def programhash(events): + return hashlib.sha256(json.dumps(events,separators=(',',':')).encode()).hexdigest() + +def recount_provider(local_dir, registry): + cp=local_dir/'CANONICAL-WORD.json.gz'; pp=local_dir/'LOCAL-PROGRAMS.json.gz' + rp=local_dir/'INDEPENDENT-LOCAL-REPLAY.json' + w,programs,replay=read(cp),read(pp),read(rp) + checks=read(local_dir/'LOCAL-CHECKS.json') + assert set(programs)=={'forward','backward'} + assert replay['status']=='PASS_INDEPENDENT_LOCAL_SCALAR_FRAME_AND_WRAPPER_REPLAY' + assert replay['canonical_word_sha256']==filehash(cp)==registry['canonical_word_sha256'] + assert replay['local_programs_sha256']==filehash(pp)==registry['local_programs_sha256'] + assert programs==registry['local_programs'] + assert checks==registry['local_program_checks'] + assert filehash(local_dir/'CLIFFORD-RECIPES.json')==registry['exact_local_clifford_recipe_sha256'] + assert filehash(local_dir/'RESIDUAL-ADAPTERS.json')==registry['residual_adapter_sha256'] + v,helpers,h,m=w['v'],w['R'],w['h'],73 + assert (v,h)==(112,9) and type(helpers) is int and helpers>0 + assert registry['v']==v and registry['R']==helpers and registry['h']==h + assert registry['ports']==w['ports'] and registry['centers']==w['centers'] + assert replay['v']==v and replay['helpers']==helpers + n=2*v+helpers + widths = [len(w['frames'][w['final'][r]])-len(w['frames'][w['start'][r]]) for r in range(2*v, 2*v+helpers)] # HPE: |final|-|start| + terminal_codim = sum(h-len(w['frames'][w['final'][r]]) for r in range(2*v, 2*v+helpers)) # HPE: 0 for FULL-ended helpers + ends = {r: f for r, f in enumerate(w['final']) if r >= 2*v and f != 1} + assert len(widths) == helpers + entrances = {r: f for r, f in enumerate(w['start']) if r >= 2*v and f != 0} + entering = len(entrances) + wrapped = {**entrances, **{r: 0 for r in ends if r not in entrances}} # COLD-HPE: cold hyperplane-ended helpers carry wrappers too + cold_ends = len(wrapped) - len(entrances) + assert entering == replay['entering_helpers'] + local = {} + for orientation, events in programs.items(): + # Endpoint equality and native frames were already independently + # replayed on all n columns in the hash-bound receipt above. + env = {('L', r): Q(1) for r in range(n)} + peak = Q(1) + real = macros = workops = 0 + paid = Counter() + wrappers = {'pre': set(), 'post': set()} + for event in events: + tag = event[0] + if tag == 'climb': + paid[event[5]] += 1 + elif tag == 'center': + paid[event[4]] += 1 + elif tag == 'residual_adapter': + _, kind, register, frame, *end = event + assert kind in wrappers and wrapped.get(register) == frame + assert end == ([ends[register]] if register in ends else []) # HPE: R_{E,U}^-1 and L_{E,U}^-1 name U + assert register not in wrappers[kind] + wrappers[kind].add(register) + elif tag == 'scalar': + macros += 1 + scalar = event[1] + op, target = scalar[0], tuple(scalar[1]) + if op == 'clear': + env[target] = Q(0) + count = 1 + elif op == 'copy': + env[target] = env[tuple(scalar[2])] + count = 1 + elif op == 'scale': + q = Q(scalar[2], scalar[3]) + numerator, denominator = abs(q.numerator), q.denominator + assert numerator and numerator & (numerator-1) == 0 + assert denominator & (denominator-1) == 0 + env[target] *= abs(q) + count = abs(numerator.bit_length()-denominator.bit_length()) + int(q < 0) + elif op == 'add': + source = tuple(scalar[2]) + q = Q(scalar[3], scalar[4]) + numerator, denominator = abs(q.numerator), q.denominator + assert source != target and numerator > 0 + assert denominator & (denominator-1) == 0 + acc, count = 0, 1 # clear coefficient work + for i, bit in enumerate(bin(numerator)[2:]): + if i: + acc *= 2 + count += 1 + peak = max(peak, acc*env[source]) + if bit == '1': + acc += 1 + count += 1 + peak = max(peak, acc*env[source]) + value = Q(acc) + for _ in range(denominator.bit_length()-1): + value /= 2 + count += 1 + peak = max(peak, value*env[source]) + assert value == abs(q) + count += 2 # signed accumulation and work clear + env[target] = env.get(target, Q(0)) + abs(q)*env[source] + workops += count + else: + raise AssertionError(op) + real += 2*count + peak = max(peak, env[target]) + else: + assert tag in ('adapter', 'phase') + assert wrappers['pre'] == wrappers['post'] == set(wrapped) + assert all(value == 0 for register, value in env.items() if register[0] == 'C') + prior = replay['local'][orientation] + assert prior['all_exact_columns'] == n and prior['private_work_erased'] + assert peak == Q(prior['prefix_l1_upper']) and peak < 2**prior['charged_payload_bits'] + bits = peak.numerator.bit_length()-peak.denominator.bit_length()+1 + assert bits == prior['prefix_bits_upper'] + assert real == checks[orientation]['real_component_primitive_bound'] + assert macros == checks[orientation]['scalar_macros'] + assert dict(paid) == {int(r): count for r, count in checks[orientation]['paid_profile'].items()} + assert dict(paid) == {int(r): count for r, count in replay['paid_profiles'][orientation].items()} + local[orientation] = dict( + events=len(events), macros=macros, real_component_primitives=real, + prefix_l1=str(peak), prefix_bits=bits, + coefficient_work_primitive_count=workops, all_exact_columns=n, + dirty_helper_columns=helpers, all_dirty_helper_columns_restored=True, + private_centres_and_coefficient_work_cleared=True, + pre_wrappers=len(wrappers['pre']), post_wrappers=len(wrappers['post']), + endpoint_evidence='Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json') + + centres = len(w['centers']) + children = sum(checks['forward']['paid_profile'].values()) + assert checks['forward']['paid_profile'] == checks['backward']['paid_profile'] + macro_bound = max(row['macros'] for row in local.values()) + compiler = 64*(m+1)**3 + adapters = 16*(macro_bound+children+n+centres)+64*m + primitive_bound = max(row['real_component_primitives'] for row in local.values())+adapters*compiler + + assert widths==registry['widths'] + artifacts={f.name:filehash(f) for f in local_dir.iterdir() if f.is_file()} + phase_review=read(local_dir/'CLIFFORD-REVIEW.json') + return dict(local=local,helpers=helpers,centres=centres,v=v,h=h,n=n, + entering_helpers=entering,entrance_rank=sum(len(w['frames'][f]) for f in w['start'][2*v:]), + terminal_codimension=terminal_codim, hyperplane_ended_helpers=len(ends), # HPE: always reported (0 for FULL-ended words) + **({'cold_hyperplane_ended_helpers': cold_ends} if cold_ends else {}), # COLD-HPE: absent without cold ends + width_inventory=dict(sorted(Counter(widths).items())),widths=widths, + local_adapters=adapters,local_primitive_bound=primitive_bound, + compiler=compiler,children=children,artifacts=artifacts, + paid_profile=checks['forward']['paid_profile'], + program_hashes={o:programhash(events) for o,events in programs.items()},semantic_artifact_sha256=artifact_identities(local_dir)) + + +def run(base, hosted, audit, out, retained_invoice=None): + local_dir=base/'split-centres' + parent=read(local_dir/'GLOBAL-TEMPLATE.json.gz') + template_path=hosted/'GLOBAL-TEMPLATE.json.gz' + template=read(template_path); summary=read(hosted/'HOSTED.json') + owners=read(audit/'OWNERS-AND-PROFILE.json'); control=read(audit/'ASYNC-AUDIT.json') + template_hash=contenthash(template_path) + assert template_hash==control['complex_template_sha256']==owners['template_sha256']==summary['template_sha256'] + assert owners['status']=='PASS_INDEPENDENT_ASYNC_OWNERS_AND_PROFILE' + assert template['recipe']==parent['recipe'] + assert 'local_programs' not in template + assert set(template['local_providers'])==set(PIDS) + providers={pid:recount_provider(base/'providers'/pid,registry) + for pid,registry in template['local_providers'].items()} + for pid,p in providers.items(): + assert owners['provider_phase_semantic_sha256'][pid]==control['provider_phase_semantic_sha256'][pid]==p['semantic_artifact_sha256']['CLIFFORD-REVIEW.json'] + # The fresh controller admission must cite precisely these provider bytes. + for name in ('CANONICAL-WORD.json.gz','LOCAL-PROGRAMS.json.gz','LOCAL-CHECKS.json', + 'INDEPENDENT-LOCAL-REPLAY.json','CLIFFORD-RECIPES.json', + 'CLIFFORD-REVIEW.json','RESIDUAL-ADAPTERS.json'): + path='providers/'+pid+'/'+name + assert summary['source_artifacts'][path]==p['artifacts'][name] + assert owners['source_artifacts'][path]==p['artifacts'][name] + # R is read from the provider words (all must agree); the parent dedicated-bank + # envelope keeps its own helper count R0 from the parent split-centres word. + assert len({p['helpers'] for p in providers.values()})==1,'providers disagree on helper count R' + v,h,m,centres=112,9,73,8 + helpers=next(iter(providers.values()))['helpers']; n=2*v+helpers + assert all((p['v'],p['h'],p['centres'],p['n'])==(v,h,centres,n) for p in providers.values()) + parent_helpers=read(local_dir/'CANONICAL-WORD.json.gz')['R'] + stages,replicas,blocks_per_stream=9,8,4 + call_count=len(template['calls']) + assert call_count==stages*replicas==control['complete_invocations'] + assert control['one_owner_per_complete_invocation'] + assert len({(c['stage'],c['replica']) for c in template['calls']})==call_count + parent_calls={(c['stage'],c['replica']):c for c in parent['calls']} + sweeps=[e for e in template['execution_schedule'] if e['kind']=='local_cover_sweep'] + assert len(sweeps)==call_count + selected=[]; selected_paid=Counter(); provider_counts=Counter(); orientation_counts=Counter() + scalar=coefficient_work=macros=0; wrapper_factors=0 + factors_per_wrapper=2*(m-1) + for c in template['calls']: + pid,orientation=c['provider_id'],c['orientation']; p=providers[pid] + old=parent_calls[(c['stage'],c['replica'])] + assert orientation==old['orientation'] and c['owners'][:2*v]==old['owners'][:2*v] + assert c['local_program_sha256']==p['program_hashes'][orientation] + r=p['local'][orientation] + scalar+=r['real_component_primitives']; coefficient_work+=r['coefficient_work_primitive_count']; macros+=r['macros'] + wrapper_factors+=(r['pre_wrappers']+r['post_wrappers'])*factors_per_wrapper + provider_counts[pid]+=1; orientation_counts[(pid,orientation)]+=1 + selected_paid.update({int(k):v for k,v in p['paid_profile'].items()}) + selected.append(dict(stage=c['stage'],replica=c['replica'],provider_id=pid,orientation=orientation, + program_sha256=c['local_program_sha256'],events=r['events'],macros=r['macros'], + real_component_primitives=r['real_component_primitives'], + coefficient_work_primitive_count=r['coefficient_work_primitive_count'], + entering_helpers=p['entering_helpers'],entrance_rank=p['entrance_rank'], + pre_wrappers=r['pre_wrappers'],post_wrappers=r['post_wrappers'])) + assert provider_counts==COUNTS + # The sweep registry is executable: no hidden use of the historical supplier. + by_call={(c['stage'],c['replica']):c for c in template['calls']} + for e in sweeps: + c=by_call[(e['stage'],e['replica'])] + assert e['provider_id']==c['provider_id'] + assert set(p['compiler'] for p in providers.values())=={64*(m+1)**3} + compiler=64*(m+1)**3 + adapters=max(p['local_adapters'] for p in providers.values()) + primitive_bound=max(p['local_primitive_bound'] for p in providers.values()) + bridge_steps=sum(event['kind']=='bridge' for event in parent['recipe']) + bridge_sweeps=sum(event['kind']=='bridge' for event in template['execution_schedule']) + assert bridge_sweeps==replicas*bridge_steps + bridge_additions=2*v*bridge_sweeps + shifts=blocks_per_stream*v*replicas; moves=2*shifts + parent_live,parent_physical=parent['live'],parent['physical'] + data_stock=2*v*blocks_per_stream*replicas + assert (parent_live-data_stock)%stages==0 + parent_banks=(parent_live-data_stock)//stages + assert parent_banks>=0 and parent_physical==parent_live+parent_helpers+centres+2 + nonlocal_items=(4*v*replicas*stages+2*v*replicas*stages+2*call_count*helpers + +sum(child['replicas'] for child in parent['idle_children'])+stages*parent_banks + +bridge_additions+shifts+moves+parent_live+parent_physical+wrapper_factors) + outside=8*nonlocal_items+64*m + parent_pervertex=(scalar+bridge_additions+shifts+moves+parent_live + +(call_count*adapters+outside)*compiler+64*parent_physical) + live,physical=template['live'],template['physical'] + mass,profile=owners['rank_mass'],owners['paid_profile'] + assert m*live-mass==owners['deficit']==2560 + assert mass==sum(int(r)*count for r,count in profile.items()) + assert physical==live+helpers+centres+2 + assert live==owners['live'] and physical==owners['physical'] + assert live<=parent_live and physical<=parent_physical + assert not template['bank_padding']['families'] + assert owners['explicit_idle_remainder_children']<=owners['source_idle_children_charged'] + # The old dedicated-bank geometry is only a conservative reserve envelope. + # Its singular program is never used as evidence for a mixed invocation. + rebased=parent_pervertex+65*(physical-parent_physical)+(live-parent_live) + used=max(rebased,parent_pervertex); retained=None; payload=512 + if retained_invoice is not None: + previous=read(retained_invoice) + assert previous['compiler']==compiler and previous['charged_prefix_bits']==payload + previous_bound=previous['conservative_pervertex_used'] + used=max(used,previous_bound+parent_pervertex) + retained=dict(sha256=filehash(retained_invoice),previous_pervertex_allowance=previous_bound, + added_complete_new_pervertex=parent_pervertex,policy='Retain old allowance and add entire fresh mixed recount.') + half=m//2; group=2**(half*half) + for i in range(1,half+1): group*=2**(2*i)-1 + stock,streamed_mass=group*physical,group*mass + logical=group*used+64; router=compiler*(logical+1)*(stock+1)**2 + g_bound,e_bound,c0=2**30000,2**100000,2**210000 + total_mass=streamed_mass+e_bound + literal=2*g_bound*stock**2+8*streamed_mass+4*stock+4+32*m + row=2*stock.bit_length()+9909+252+2*payload + maxchild=max(map(int,profile)) + inequalities=dict(local_primitive_bound=primitive_bound<2**48, + logical=logical<2**6050,router=router2*maxchild*maxchild) + assert all(inequalities.values()) + localbits=max(r['prefix_bits'] for p in providers.values() for r in p['local'].values()) + input_l2_bits=(m+1)//2 + required_prefix=localbits+input_l2_bits+call_count+bridge_sweeps+4 + assert required_prefix R helper map +# (verify.py checks the spec value against the constructor's HELPER-MAP.json) +SPOT=tuple(SPEC.get('width_spot_helpers',(270,282,294,306))) +# A pivot swap moves a kernel family's pivot role p -> x; the old pivot p becomes an ordinary cold helper and its width +# goes 8 -> 9 (construction/layers, PR641 PROOF-NOTE-PIVOT). Expected spot widths are derived from the package's pinned +# pivot-swap recipe (path and sha256 in the spec), not from free data: 9 at a swapped-out pivot, 8 otherwise. +_PKG=Path(os.environ['WITNESS_SPEC']).resolve().parents[1] +def _old_pivots(): + ps=SPEC.get('pivot_swap') + if not ps:return frozenset() + raw=(_PKG/ps['recipe']).read_bytes();import hashlib + assert hashlib.sha256(raw).hexdigest()==ps['sha256'],'pivot-swap recipe pin' + return frozenset(s['pivot']for s in json.loads(raw)['swaps']) +OLD_PIVOTS=_old_pivots() +def spot_widths(v=112): + """Expected residual widths at the spot helpers (helper indices) of the gauge44 provider.""" + return tuple(9 if 2*v+h in OLD_PIVOTS else 8 for h in SPOT) +PIDS=tuple(sorted(set(DISPATCH.values()))) +COUNTS=dict(Counter(DISPATCH.values())) +assert DISCOVER or set(PROVIDERS)==set(PIDS),'spec providers differ from dispatch providers' +def lookup(key): + """Dotted spec path; a segment may itself contain dots when it names a file (split at most once per known file suffix).""" + v=SPEC;parts=key.split('.') + while parts: + for n in range(len(parts),0,-1): + k='.'.join(parts[:n]) + if isinstance(v,dict) and k in v:v=v[k];parts=parts[n:];break + else:raise KeyError('spec has no key %s'%key) + return v +def pin(key,got): + """Strict mode: got must equal the spec value at dotted key; the failure names the key.""" + if DISCOVER: + if os.environ.get('WITNESS_RECORD'): # discovery bookkeeping only: append (key, value) for the spec writer + with open(os.environ['WITNESS_RECORD'],'a')as f:f.write(json.dumps([key,got],default=str)+chr(10)) + return got + want=lookup(key) + assert got==want,'SPEC MISMATCH %s: expected %s got %s'%(key,json.dumps(want)[:400],json.dumps(got,default=str)[:400]) + return got +def partner(pid): + """A different provider for substitution controls (next in sorted order).""" + assert len(PIDS)>1 + return PIDS[(PIDS.index(pid)+1)%len(PIDS)] diff --git a/research/gauge44-leaver8/construction/COLD44-RECIPE.json.gz b/research/gauge44-leaver8/construction/COLD44-RECIPE.json.gz new file mode 100644 index 0000000000..6f59d88920 Binary files /dev/null and b/research/gauge44-leaver8/construction/COLD44-RECIPE.json.gz differ diff --git a/research/gauge44-leaver8/construction/COMPLETION-PRIORITY.json b/research/gauge44-leaver8/construction/COMPLETION-PRIORITY.json new file mode 100644 index 0000000000..e0df30aeef --- /dev/null +++ b/research/gauge44-leaver8/construction/COMPLETION-PRIORITY.json @@ -0,0 +1,746 @@ +{ + "0,1,2,3": { + "rows": [ + [ + "1", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0" + ] + ], + "registers": [ + 64, + 67 + ] + }, + "0,1,4,5": { + "rows": [ + [ + "1", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0" + ] + ], + "registers": [ + 32, + 35 + ] + }, + "0,1,6,7": { + "rows": [ + [ + "1", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0" + ] + ], + "registers": [ + 24, + 27 + ] + }, + "0,2,4,6": { + "rows": [ + [ + "1", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "1" + ], + [ + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2" + ] + ], + "registers": [ + 16, + 18, + 19, + 297, + 301, + 303 + ] + }, + "0,2,5,7": { + "rows": [ + [ + "1", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "1" + ], + [ + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2" + ] + ], + "registers": [ + 40, + 42, + 43, + 313, + 317, + 319 + ] + }, + "0,3,4,7": { + "rows": [ + [ + "1", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "1" + ], + [ + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2" + ] + ], + "registers": [ + 72, + 74, + 75, + 329, + 333, + 335 + ] + }, + "0,3,5,6": { + "rows": [ + [ + "1", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "1" + ], + [ + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2" + ] + ], + "registers": [ + 112, + 114, + 115, + 345, + 349, + 351 + ] + }, + "1,2,4,7": { + "rows": [ + [ + "1", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "1" + ], + [ + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2" + ] + ], + "registers": [ + 8, + 10, + 11, + 361, + 365, + 367 + ] + }, + "1,2,5,6": { + "rows": [ + [ + "1", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "1" + ], + [ + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2" + ] + ], + "registers": [ + 48, + 50, + 51, + 377, + 381, + 383 + ] + }, + "1,3,4,6": { + "rows": [ + [ + "1", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "1" + ], + [ + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2" + ] + ], + "registers": [ + 80, + 82, + 83, + 393, + 397, + 399 + ] + }, + "1,3,5,7": { + "rows": [ + [ + "1", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "1" + ], + [ + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2" + ] + ], + "registers": [ + 104, + 106, + 107, + 409, + 413, + 415 + ] + }, + "2,3,4,5": { + "rows": [ + [ + "1", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0" + ] + ], + "registers": [ + 96, + 99 + ] + }, + "2,3,6,7": { + "rows": [ + [ + "1", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0" + ] + ], + "registers": [ + 88, + 91 + ] + }, + "4,5,6,7": { + "rows": [ + [ + "1", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0" + ] + ], + "registers": [ + 56, + 59 + ] + } +} \ No newline at end of file diff --git a/research/gauge44-leaver8/construction/INPUTS.json b/research/gauge44-leaver8/construction/INPUTS.json new file mode 100644 index 0000000000..2b12294b58 --- /dev/null +++ b/research/gauge44-leaver8/construction/INPUTS.json @@ -0,0 +1,65 @@ +{ + "schema": "gauge44-compact-construction-v1", + "repository": "https://github.com/CrocSwap/integer-mult-bounds", + "commits": { + "main": "17ce0c79b7b51c2634b439ea5a2b754f09909693", + "pr635": "a6895a69f8ad98ab45777b03e9e6f48888c39f6f" + }, + "files": { + "main": { + "research/complex-k492-owner-repair/vendor/direct_delivery/inputs/hamming/PACKET-PROGRAMS.json.gz": "d833ae0390d165d7da0c639a3c7aeb77156c2ddb52447087cb49b9d03b19e9b9", + "research/complex-k492-owner-repair/vendor/direct_delivery/inputs/hamming/PROTOTYPE.json": "327d2a868043e846381aa58a33053c24425e8cad522ff401b10ec8af1d649a3f", + "research/complex-k492-owner-repair/vendor/joint_prefix/code/build_joint_prefix.py": "d7804669e528b6fd8d80195a4a2e76efac9bc67440b82c73973f4bc9fe273783", + "research/complex-k492-owner-repair/vendor/joint_prefix/data/JOINT-PREFIX.json": "0fddbd3f482b72a5197eacd75abe192e1d92f83aa2cde33a76dbc7be1682bcf2", + "research/complex-k492-owner-repair/vendor/multicold/code/build_cold_kernel.py": "aa556a1988f7d4c52bd82fd2a648769f7094bd75ba79582c15ec441d710e213b", + "research/complex-k492-owner-repair/vendor/multicold/code/run_portable.py": "322d29d43dbee8130cde15d4bf05396698b5e3dfe3735813899db91cc0ba7955", + "research/complex-k492-owner-repair/vendor/multicold/data/EIGHT-COLD.json": "089617bdc33fd9f27b7fc8e9ae9e01c8e65a86a57c4b6f180f4f378f3f0e6160", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/code/phases_full.py": "a273c325ffd6793d5b63b79a289a9d2bbc9292e6940fb5a926924f3708627af4", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/vendor/clifford/clifford_exact.py": "2982ead07721e83358dc67c6f49c2b4c16a236a6bebdfd72f58221be1f5d0962", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/inputs/phase-baseline/CANONICAL-WORD.json.gz": "e070ae2c78b4a1b644b418774af62b40d8d16e6ba89602f0474afb557d507c37", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/gk/gk_common.py": "e68d190fd436b2f3955decb590adb53344d5d4ea0a19d62d86df1e4b55ecd198", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/gk/gk_word.py": "f027a9273bcf4e0971258c160b7d3b3c196366b32a529cff6e6a0e666b03826b", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/inputs/RAW504.json.gz": "1c6144791dbedf6427e3ee7b4c24fb05b5bf407f6346592f50f8dd8d9638108d", + "research/structural-gain/frontier-composition/global-replay/base/split-centres/FULL-WORD.json.gz": "375bd23001cd805707968005a9342827d5464e3f8e3a754197b31c46fc3f63c2", + "research/structural-gain/frontier-composition/multicold-eight-word/FULL-WORD.json.gz": "4d4a59db7f74d7505447fbb2aa87735771cca1d04a0afafa455d21bd8dbf1f77" + }, + "pr635": { + "research/complex-571-cold14-st2/code/build_cold_end.py": "864b4701dd73afd0c9d99761b7a749f3354c48985730f17054e18c052996a668", + "research/complex-571-cold14-st2/code/build_hpe.py": "ba2001695d8c7547a82260c3b016e01dac686e95a61757ca124eb9879078ea8e", + "research/complex-571-cold14-st2/code/build_port_stage.py": "beb0d30fde1b9a30db091880b38c4a8ec906da3f715c43de7db8bf7932526e72", + "research/complex-571-cold14-st2/code/hpe_adapters_local.py": "eb0b5c6c7161e18dc22168da3211448d321586edd15bcfb4b4741174d36993cf", + "research/complex-571-cold14-st2/code/hpe_audit_and_transport.py": "c9a05ff291016b870b4fc925b317abd9c3a604c73ffc8920dfdbbeb475e20aa3", + "research/complex-571-cold14-st2/code/hpe_audit_local.py": "6bd9a1e279c9c9e4f3767d9f82e537b559292906feb2ddab02f380fb6523a810", + "research/complex-571-cold14-st2/code/hpe_emit_local.py": "7e4a6fbc38c8228157b6311457d1496bf460291393043932d2c365f004f77805", + "research/complex-571-cold14-st2/data/TRI-SCHEDULE.json": "94da9d5575f5b237097a77ac7dd09aff594322dd9c35138bfd34ffc5e1a7a51e", + "research/complex-571-cold14-st2/data/recipes/k492-jp8-frame_regroup.json": "9bd347334de643f29865290be1ed37289f9cae6cd339547ac89b45fa7aaee65a", + "research/complex-571-cold14-st2/data/recipes/k492-jp8-hyperplane_end.json": "e4d4dfd83d0c64cb0a8ee8c8bbd95d0510ee68699859e568fe201cd6f8d250c1" + }, + "delta": { + "COLD44-RECIPE.json.gz": "22d0e01e990c0f1c588607a095271f7844851a437ba07174505e98e9528aed4c", + "COMPLETION-PRIORITY.json": "0274ffca1725e7460aaf7b672bc1248aa6dfdec11e5f0fec91af18b829f8ba47", + "build_gauge_cold44.py": "ec730a4d3ff12fb058780718b1d5a7afe61243c532679ef347a5a48e2af0a3bb", + "construct_gauge_xcentre.py": "d8d295566ef2399af2da0707a4adc83e07aa26d2344c01a66bd0ca7684cf9217", + "reproduce.py": "047bb9b3536b0b16bb08a21cd9fd80404ca9d022345f1aeab34b21dffc281c92" + } + }, + "word_content_sha256": { + "shadow-early": "edb55811a9d38802c311c74bdd2d4d1b2f3eaf37d06e4178eef0785c2fa4b57d", + "shadow-prefix": "6c361b33967bb62d878b3acef44a4ac2c70970e99f36a11906b03811495de533", + "raw": "0ac47f92fc2e3f5aa457d78f7b8a5c785bf140c546932b9dfcd9e610ad319180", + "port0": "7086d4309f145f0bf85b97f567e2cbeeaca9fc5011f62c86c805bfadeb0300fc", + "port1": "8f47545698a11072f8c6a0b50ae9c8acf8e4e2b0e35a0e8c672bbca216b04534", + "port2": "4e4919c140e07f6c820bea4aae83565b3b4967ffbfbb907611216ff6e2e6105d", + "port3": "9774dca3e4295e2eb9171a9cf34e1973bc72bad38eddec2cc0fc498bd9e041f3", + "regroup": "989082402d2292a18328e86927c0a12d34fcab18ef4ff724bd1ce691cf4e7531", + "hpe": "42fb8b3aa314593fe976820cf65824f5fce0ee4f95281796992d4809709864cc", + "cold44": "78c7aadacb6eec2eeecc124ca236e5bcfdba6a52b30c2971aaa596d1d119b290" + }, + "helper_map_sha256": "688d5115b221be68c96970822cc04ff698e2a84432fa7db9cb59057f6fe55def", + "canonical_content_sha256": "e6daee410e04d5e023faf21144081534ad222d334ce786e6b5f52407e6b3c41f", + "local_program_sha256": { + "forward": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "backward": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4" + }, + "clifford_recipes_sha256": "0a60293f43d88dbb1b321f02e61204afe1b6272b1346968ef35705caea1e4771" +} diff --git a/research/gauge44-leaver8/construction/LICENSE b/research/gauge44-leaver8/construction/LICENSE new file mode 100644 index 0000000000..261eeb9e9f --- /dev/null +++ b/research/gauge44-leaver8/construction/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/research/gauge44-leaver8/construction/NOTICE.md b/research/gauge44-leaver8/construction/NOTICE.md new file mode 100644 index 0000000000..16b0507070 --- /dev/null +++ b/research/gauge44-leaver8/construction/NOTICE.md @@ -0,0 +1,9 @@ +# Construction delta notice + +Prepared for icekylinx with OpenAI GPT-6 Astra assistance. Apache-2.0. + +`construct_gauge_xcentre.py` modifies PR635's credited `construct_k_triangle.py`, which in turn extends icekylinx's PR531/PR514/PR425 factory lineage. Its original source comments are retained. The K-triangle schedule and the upstream porting, JP8 frame, kernel and HPE procedures are reused from the pinned source checkouts and are not new contributions of this delta. + +The new source-copy exchanges, complementary factory basis, carrier assignment, exact cold44 constructor and compact reproduction driver are described in `../CONSTRUCTION.md`. + +`UPSTREAM-NOTICE.md` is the complete unmodified notice from the pinned PR635 package. `LICENSE` is that package's Apache-2.0 license. All further notices and source credits of the referenced upstream packages remain applicable and are retained in the source checkouts rather than vendored again here. diff --git a/research/gauge44-leaver8/construction/REBUILD-CHECKS.json b/research/gauge44-leaver8/construction/REBUILD-CHECKS.json new file mode 100644 index 0000000000..0801f35da7 --- /dev/null +++ b/research/gauge44-leaver8/construction/REBUILD-CHECKS.json @@ -0,0 +1,51 @@ +{ + "status": "PASS_COMPACT_SCALAR_REPRODUCTION_AND_FROZEN_RECIPE_SPLICE", + "steps": [ + { + "step": "shadow-early", + "exit_code": 0, + "seconds": 0.355 + }, + { + "step": "shadow-prefix", + "exit_code": 0, + "seconds": 0.511 + }, + { + "step": "gauge-forward", + "exit_code": 0, + "seconds": 0.527 + }, + { + "step": "port0", + "exit_code": 0, + "seconds": 0.468 + }, + { + "step": "port1", + "exit_code": 0, + "seconds": 0.636 + }, + { + "step": "port2", + "exit_code": 0, + "seconds": 0.474 + }, + { + "step": "port3", + "exit_code": 0, + "seconds": 0.497 + }, + { + "step": "cold44-exact", + "exit_code": 0, + "seconds": 2.754 + } + ], + "constructor_seconds": 6.222, + "word_content_sha256": "78c7aadacb6eec2eeecc124ca236e5bcfdba6a52b30c2971aaa596d1d119b290", + "all_step_input_and_output_pins_checked": true, + "regenerated_recipe_equals_frozen_recipe": true, + "frozen_splice_matches_exact_constructor": true, + "scope": "One portable scalar reconstruction from pinned main and PR635 inputs; existing native and independent mathematical receipts accompany the package separately." +} diff --git a/research/gauge44-leaver8/construction/UPSTREAM-NOTICE.md b/research/gauge44-leaver8/construction/UPSTREAM-NOTICE.md new file mode 100644 index 0000000000..ebc24a0168 --- /dev/null +++ b/research/gauge44-leaver8/construction/UPSTREAM-NOTICE.md @@ -0,0 +1,34 @@ +# Attribution and scope + +Four verified provider types are offered to every call: PR571's prefix word with twelve multi-cut cold kernels (PR568's unchanged constructor), the same word with forty width-five entrance promotions (PR569's unchanged frame constructor) before those kernels, PR575's plain joint-prefix provider, and PR568's eight-cold provider. A window MILP with an exact per-pattern model chooses the dispatch and a literal owner map. PR583's six source-bound kernel frame coalescences (its unchanged constructor and negative controls) are applied to every PR571-prefix provider word (ck and atm3), followed by two further coalescences that each first move one addition past two commuting additions (package code/build_gate_moves.py, extending PR583's constructor); a final hyperplane_end step (package code/build_hpe.py) then runs 46 single-gate cleanups h -= p right after part B at the dim-8 join U of their registers, so 46 width-8 entering helpers per call end at U with width 7; each such gate commutes with every earlier cleanup gate on its registers (for 8 of them the partner's one earlier gate x -= p only reads p), and the reordered program is replayed exactly. A window MILP (exact windows, RINS around an LP vertex) gives the dispatch ck 45 / atm3 21 / jp8 6 and the literal owner map. + +Pinned external sources (unchanged; `verify.py` checks their manifests and every file it uses): +- PR568 (`research/complex-multicold`, commit `71c99ac935a33bb7b59a1b4a7af8725a939b0b90`). +- PR571 (`research/structural-gain`, commit `b7bdc5a8de18fcf418cfb9c7d83a2b1097a5e4a3`). +- PR569 (`research/larger-gain`, commit `897213a855b7fb8a1b8b0e552a2f5c42e6c1b326`). +- PR575 (`research/complex-joint-prefix`, commit `eac6f7e378ab622dac50a2fd4b7ef6eab014de44`). +- PR583 (`research/kernel-frame-coalescing`, commit `89be768f0157f5a3d8e4db69cf1748768605eac9`). + +Provider construction is described as typed steps in `data/SPEC.json` (`build`); `verify.py` runs only allowlisted step types with their paired omission audits and checks every input and output content hash. `code/` holds the spec-driven global admission scripts adapted from PR571's `frontier-composition/global-code/` (OpenAI Codex assisted, Apache-2.0): every expected value is read from `data/SPEC.json` and compared only after independent recomputation. `code/generated_identity.py` and `code/generated_identity_controls.py`, and the decompressed-content artifact identities in the bind, audit, invoice, assembly and phase-timing scripts, are taken unchanged from PR586 by chafreaky (`research/promoted-kernel-coalescing`, commit `4846fee5b06af770e9b3a10c36200f673d656725`, OpenAI Codex assisted, Apache-2.0), including its proof-content and reference/metadata mutation controls; the normalization of descriptive width metadata after frame changes follows the same PR. + +In PR601, the owner map was nominated by a HiGHS window MILP (adapted from PR569's `global/nominate_width7.py`) with lazy cross-time Hall cuts; this package's re-solved map is described below. Neither is an admission dependency. + +DreamingOfClouds with Claude Opus 5.5 (Anthropic), via Claude Code. (The PR601 package this one starts from states: "Prepared by Claude Code (Anthropic) research agents.") Apache-2.0 applies; LICENSE is included. All notices, licenses, source pins and AI disclosures of the pinned sources and their ancestry are retained in those packages and are not replaced by this notice. All inherited conditional assumptions remain conditional. + +**This package (complex-571-cold14, DreamingOfClouds).** It starts from PR601 (jeremykothe2, `research/complex-571-hpem46`, commit `529ab7dcb59d5ea7a5798e9e06cf5b3aee8a1550`). Everything above is kept unchanged except the following: +- every provider chain (ck, atm3, jp8) gains the typed step `cold_end` (`code/build_cold_end.py`, `code/cold_end_controls.py`; recipes `data/recipes/*-cold_end.json.gz`); +- the generalised native chain and the global admission scripts accept cold helpers that end below FULL (with `0:U` wrappers), a refactored exact cleanup, and check the wrapper order; +- `data/PLAN.json` / `data/OWNERS.json.gz` (dispatch and literal owner map) come from a relocate/swap/ejection-chain/provider-flip annealing search started from PR601's map, refined by an exact pattern-restricted owner model (CP-SAT) with a literal edge-colouring expansion (not an admission dependency); +- `data/SPEC.json` holds the expected values, recorded by a discovery run and then checked by a strict run. + +The cold-end construction (a row-plus-column cone condition for low-frame ends, a rank-0 dirt-spread premix and multi-gate lower-frame cleanup) builds on PR591 / PR592 / PR593 / PR601 (jeremykothe2) and our PR599 (Lean: multi-gate and cold hyperplane-end tails). DreamingOfClouds with Claude Opus 5.5 (Anthropic), via Claude Code. Build on this at your own risk. + +**This package (complex-571-cold14-b3, jeremykothe2).** It is PR604's `complex-571-cold14` (DreamingOfClouds) with ColdBeyond's second cold end per block (two new `cold_end` A-gate primitives, `PROOF-NOTE.md`), ColdSupply's E1 entering pair and reviewed controls, a free dispatch (jp8 ×60, atm3 ×12) and a literal owner map from an exact per-time-Hall window MIP. All other construction, code, controls and proofs are PR604's and earlier contributors', unchanged. + +**This package (complex-571-cold14-k492).** It is complex-571-cold14-b3 with these changes: +- **K-triangle base words.** The leaver-read K-triangle skeleton atom and its read schedule (`data/TRI-SCHEDULE.json`) are by AtomScout, a Claude Code research agent. `code/construct_k_triangle.py` is PR531's `code/construct_504.py` (icekylinx, OpenAI Codex / GPT assisted, Apache-2.0; pinned source `direct_delivery`) extended with that atom. +- **Ported chains.** The PR604/B3 chains are ported stage by stage onto the K-triangle words by `code/build_port_stage.py` (Port480, a Claude Code research agent). `code/build_frame_regroup.py` extends PR583's `build_frames.py` (chafreaky). +- **Helper count R.** The generalisation of the global scripts to the provider helper count R is by GlobalR (a Claude Code research agent), with AtomReviewer's fixes (PROOF-NOTE-R.md). +- **Owner map.** The owner map, the cold_end recipes on the K-triangle words and the package assembly are by Stack492, Port480 and ColdBeyond (Claude Code research agents). + +Build on this at your own risk. diff --git a/research/gauge44-leaver8/construction/barch/LOCAL-PINS-barch-U8.json b/research/gauge44-leaver8/construction/barch/LOCAL-PINS-barch-U8.json new file mode 100644 index 0000000000..4028b95c0e --- /dev/null +++ b/research/gauge44-leaver8/construction/barch/LOCAL-PINS-barch-U8.json @@ -0,0 +1,50 @@ +{ + "word": "U8", + "barch_controls": [ + "C0_identity", + "recipe", + "drop_restore", + "restore_full", + "drop_preread", + "donation_after", + "drop_restore@231", + "restore_full@231", + "drop_preread@231", + "donation_after@231", + "drop_restore@230", + "restore_full@230", + "drop_preread@230", + "donation_after@230", + "drop_restore@232", + "restore_full@232", + "drop_preread@232", + "donation_after@232", + "drop_restore@236", + "restore_full@236", + "drop_preread@236", + "donation_after@236", + "drop_restore@226", + "restore_full@226", + "drop_preread@226", + "donation_after@226", + "drop_restore@228", + "restore_full@228", + "drop_preread@228", + "donation_after@228", + "drop_restore@62", + "restore_full@62", + "drop_preread@62", + "donation_after@62", + "drop_restore@238", + "restore_full@238", + "drop_preread@238", + "donation_after@238" + ], + "layer_controls": 95, + "canonical_sha256": "24db880b7dab31e6af4eec8a1aba1bbbae29cd50d9a7b77cf0e9b571b3e5ae7c", + "program_sha256": { + "forward": "83d65a63f51bd1ce7f3dd4e4d3597311e065b4775796cd87aea3e3a62689047c", + "backward": "e4e483b764e9a85f84a04425e57d73ecdcc72eb2e4d97a64f17d9da58fa5ace0" + }, + "clifford_recipes_sha256": "4629507dcbdd516457c001ff8f9dbe750d1a0cbfa5cfa3c6be003d45804ba0c5" +} diff --git a/research/gauge44-leaver8/construction/barch/RECIPE-U8.json b/research/gauge44-leaver8/construction/barch/RECIPE-U8.json new file mode 100644 index 0000000000..ee215a805a --- /dev/null +++ b/research/gauge44-leaver8/construction/barch/RECIPE-U8.json @@ -0,0 +1,1528 @@ +{ + "base_sha256": "1e1d99ba7aab877d6b573c41f7030ee73de9a52fee51d0a822ddaae71251999f", + "B_delete": [ + 5, + 7, + 9, + 11, + 13, + 15, + 17, + 19, + 878, + 880, + 886, + 888, + 894, + 896, + 902, + 904, + 910, + 912, + 918, + 920, + 926, + 928, + 934, + 936, + 1215, + 1217, + 1223, + 1225, + 1231, + 1233, + 1239, + 1241, + 1247, + 1249, + 1255, + 1257, + 1263, + 1265, + 1271, + 1273 + ], + "B_insert": [ + [ + 5, + [ + "add", + 125, + 450, + 1, + 2, + [ + 24 + ] + ] + ], + [ + 7, + [ + "add", + 121, + 451, + 1, + 2, + [ + 24 + ] + ] + ], + [ + 9, + [ + "add", + 181, + 452, + 1, + 2, + [ + 30 + ] + ] + ], + [ + 11, + [ + "add", + 177, + 453, + 1, + 2, + [ + 30 + ] + ] + ], + [ + 13, + [ + "add", + 117, + 454, + -1, + 1, + [ + 30 + ] + ] + ], + [ + 15, + [ + "add", + 113, + 455, + -1, + 1, + [ + 30 + ] + ] + ], + [ + 17, + [ + "add", + 189, + 456, + -1, + 1, + [ + 24 + ] + ] + ], + [ + 19, + [ + "add", + 185, + 457, + -1, + 1, + [ + 24 + ] + ] + ], + [ + 676, + [ + "add", + 484, + 231, + 1, + 1, + [ + 386, + 64, + 34, + 24, + 4, + 1 + ] + ] + ], + [ + 677, + [ + "add", + 485, + 226, + 1, + 1, + [ + 388, + 68, + 32, + 24, + 2, + 1 + ] + ] + ], + [ + 693, + [ + "add", + 496, + 450, + 1, + 1, + [ + 260, + 132, + 70, + 38, + 24, + 1 + ] + ] + ], + [ + 694, + [ + "add", + 497, + 451, + 1, + 1, + [ + 260, + 132, + 64, + 32, + 24, + 1 + ] + ] + ], + [ + 711, + [ + "add", + 508, + 230, + 1, + 1, + [ + 390, + 70, + 38, + 20, + 10, + 1 + ] + ] + ], + [ + 712, + [ + "add", + 509, + 228, + 1, + 1, + [ + 390, + 64, + 32, + 20, + 10, + 1 + ] + ] + ], + [ + 729, + [ + "add", + 520, + 452, + 1, + 1, + [ + 268, + 140, + 64, + 38, + 30, + 1 + ] + ] + ], + [ + 730, + [ + "add", + 521, + 453, + 1, + 1, + [ + 266, + 138, + 70, + 32, + 30, + 1 + ] + ] + ], + [ + 747, + [ + "add", + 532, + 232, + -2, + 1, + [ + 385, + 64, + 33, + 18, + 11, + 7 + ] + ] + ], + [ + 748, + [ + "add", + 533, + 62, + -2, + 1, + [ + 385, + 65, + 32, + 19, + 10, + 7 + ] + ] + ], + [ + 763, + [ + "add", + 544, + 454, + -2, + 1, + [ + 267, + 139, + 65, + 33, + 25, + 7 + ] + ] + ], + [ + 764, + [ + "add", + 545, + 455, + -2, + 1, + [ + 267, + 139, + 64, + 32, + 25, + 7 + ] + ] + ], + [ + 779, + [ + "add", + 556, + 236, + -2, + 1, + [ + 385, + 65, + 33, + 24, + 4, + 3 + ] + ] + ], + [ + 780, + [ + "add", + 557, + 238, + -2, + 1, + [ + 385, + 64, + 32, + 24, + 4, + 3 + ] + ] + ], + [ + 795, + [ + "add", + 568, + 456, + -2, + 1, + [ + 258, + 130, + 64, + 33, + 24, + 7 + ] + ] + ], + [ + 796, + [ + "add", + 569, + 457, + -2, + 1, + [ + 259, + 131, + 65, + 32, + 24, + 7 + ] + ] + ], + [ + 1215, + [ + "add", + 125, + 450, + -1, + 2, + [ + 256, + 128, + 66, + 34, + 24, + 4, + 1 + ] + ] + ], + [ + 1217, + [ + "add", + 121, + 451, + -1, + 2, + [ + 260, + 132, + 64, + 32, + 24, + 2, + 1 + ] + ] + ], + [ + 1223, + [ + "add", + 149, + 231, + -1, + 2, + [ + 258, + 128, + 64, + 34, + 24, + 4, + 1 + ] + ] + ], + [ + 1225, + [ + "add", + 145, + 226, + -1, + 2, + [ + 256, + 132, + 68, + 32, + 24, + 2, + 1 + ] + ] + ], + [ + 1231, + [ + "add", + 181, + 452, + -1, + 2, + [ + 262, + 134, + 64, + 38, + 20, + 10, + 1 + ] + ] + ], + [ + 1233, + [ + "add", + 177, + 453, + -1, + 2, + [ + 256, + 128, + 70, + 32, + 20, + 10, + 1 + ] + ] + ], + [ + 1239, + [ + "add", + 221, + 230, + -1, + 2, + [ + 256, + 134, + 70, + 38, + 20, + 10, + 1 + ] + ] + ], + [ + 1241, + [ + "add", + 217, + 228, + -1, + 2, + [ + 262, + 128, + 64, + 32, + 20, + 10, + 1 + ] + ] + ], + [ + 1247, + [ + "add", + 117, + 454, + 1, + 1, + [ + 256, + 128, + 65, + 33, + 18, + 11, + 7 + ] + ] + ], + [ + 1249, + [ + "add", + 113, + 455, + 1, + 1, + [ + 257, + 129, + 64, + 32, + 19, + 10, + 7 + ] + ] + ], + [ + 1255, + [ + "add", + 157, + 232, + 1, + 1, + [ + 257, + 128, + 64, + 33, + 18, + 11, + 7 + ] + ] + ], + [ + 1257, + [ + "add", + 153, + 62, + 1, + 1, + [ + 256, + 129, + 65, + 32, + 19, + 10, + 7 + ] + ] + ], + [ + 1263, + [ + "add", + 189, + 456, + 1, + 1, + [ + 257, + 129, + 64, + 33, + 24, + 4, + 3 + ] + ] + ], + [ + 1265, + [ + "add", + 185, + 457, + 1, + 1, + [ + 256, + 128, + 65, + 32, + 24, + 4, + 3 + ] + ] + ], + [ + 1271, + [ + "add", + 213, + 236, + 1, + 1, + [ + 256, + 129, + 65, + 33, + 24, + 4, + 3 + ] + ] + ], + [ + 1273, + [ + "add", + 209, + 238, + 1, + 1, + [ + 257, + 128, + 64, + 32, + 24, + 4, + 3 + ] + ] + ] + ], + "B_frames": { + "1340": [ + 256, + 128, + 66, + 34, + 24, + 4, + 1 + ], + "1343": [ + 256, + 128, + 64, + 32, + 24, + 4, + 1 + ], + "1346": [ + 260, + 132, + 68, + 36, + 24, + 2, + 1 + ], + "1349": [ + 260, + 132, + 64, + 32, + 24, + 2, + 1 + ], + "1352": [ + 258, + 128, + 64, + 34, + 24, + 4, + 1 + ], + "1355": [ + 260, + 128, + 68, + 32, + 24, + 2, + 1 + ], + "1358": [ + 256, + 130, + 64, + 34, + 24, + 4, + 1 + ], + "1361": [ + 256, + 132, + 68, + 32, + 24, + 2, + 1 + ], + "1364": [ + 262, + 134, + 64, + 38, + 20, + 10, + 1 + ], + "1367": [ + 262, + 134, + 70, + 32, + 18, + 12, + 1 + ], + "1370": [ + 256, + 128, + 64, + 38, + 18, + 12, + 1 + ], + "1373": [ + 256, + 128, + 70, + 32, + 20, + 10, + 1 + ], + "1376": [ + 256, + 134, + 70, + 38, + 20, + 10, + 1 + ], + "1379": [ + 256, + 134, + 64, + 32, + 20, + 10, + 1 + ], + "1382": [ + 262, + 128, + 70, + 38, + 20, + 10, + 1 + ], + "1385": [ + 262, + 128, + 64, + 32, + 20, + 10, + 1 + ], + "1388": [ + 256, + 128, + 65, + 33, + 18, + 11, + 7 + ], + "1391": [ + 256, + 128, + 64, + 32, + 18, + 11, + 7 + ], + "1394": [ + 257, + 129, + 65, + 33, + 19, + 10, + 7 + ], + "1397": [ + 257, + 129, + 64, + 32, + 19, + 10, + 7 + ], + "1400": [ + 257, + 128, + 64, + 33, + 18, + 11, + 7 + ], + "1403": [ + 257, + 128, + 65, + 32, + 19, + 10, + 7 + ], + "1406": [ + 256, + 129, + 64, + 33, + 18, + 11, + 7 + ], + "1409": [ + 256, + 129, + 65, + 32, + 19, + 10, + 7 + ], + "1412": [ + 257, + 129, + 64, + 33, + 24, + 4, + 3 + ], + "1415": [ + 257, + 129, + 65, + 32, + 24, + 5, + 2 + ], + "1418": [ + 256, + 128, + 64, + 33, + 24, + 5, + 2 + ], + "1421": [ + 256, + 128, + 65, + 32, + 24, + 4, + 3 + ], + "1424": [ + 256, + 129, + 65, + 33, + 24, + 4, + 3 + ], + "1427": [ + 256, + 129, + 64, + 32, + 24, + 4, + 3 + ], + "1430": [ + 257, + 128, + 65, + 33, + 24, + 4, + 3 + ], + "1433": [ + 257, + 128, + 64, + 32, + 24, + 4, + 3 + ] + }, + "tail_insert": [ + [ + 7, + [ + "add", + 496, + 450, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + ] + ], + [ + 6, + [ + "add", + 497, + 451, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + ] + ], + [ + 5, + [ + "add", + 520, + 452, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ] + ], + [ + 4, + [ + "add", + 521, + 453, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ] + ], + [ + 3, + [ + "add", + 544, + 454, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ] + ], + [ + 2, + [ + "add", + 545, + 455, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ] + ], + [ + 1, + [ + "add", + 568, + 456, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + ] + ], + [ + 0, + [ + "add", + 569, + 457, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + ] + ] + ], + "cleanup_prepend": [ + [ + "add", + 484, + 231, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 485, + 226, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 508, + 230, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 509, + 228, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 532, + 232, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 533, + 62, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 556, + 236, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 557, + 238, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ] + ], + "local_profile": { + "1": 2548, + "2": 338, + "3": 446, + "4": 162, + "5": 72, + "8": 8 + }, + "expect_sha256": "090fd574747fbf9628e70cb9beb792732914cfa52e1df147579fe4dbccc68c5a", + "priced": { + "dk_ideal": 3.140480230774418e-07, + "dP": { + "5": 16, + "4": -32, + "3": 16 + } + }, + "variants": [ + { + "X": 231, + "E": 450, + "dsides": [ + 878, + 886 + ], + "donors": [ + 450, + 231 + ], + "hold": [ + 496, + 484 + ], + "kept": { + "1215": 450, + "1223": 231 + }, + "when": "mid" + }, + { + "X": 230, + "E": 452, + "dsides": [ + 894, + 902 + ], + "donors": [ + 452, + 230 + ], + "hold": [ + 520, + 508 + ], + "kept": { + "1231": 452, + "1239": 230 + }, + "when": "mid" + }, + { + "X": 232, + "E": 454, + "dsides": [ + 910, + 918 + ], + "donors": [ + 454, + 232 + ], + "hold": [ + 544, + 532 + ], + "kept": { + "1247": 454, + "1255": 232 + }, + "when": "mid" + }, + { + "X": 236, + "E": 456, + "dsides": [ + 926, + 934 + ], + "donors": [ + 456, + 236 + ], + "hold": [ + 568, + 556 + ], + "kept": { + "1263": 456, + "1271": 236 + }, + "when": "mid" + }, + { + "X": 226, + "E": 451, + "dsides": [ + 880, + 888 + ], + "donors": [ + 451, + 226 + ], + "hold": [ + 497, + 485 + ], + "kept": { + "1217": 451, + "1225": 226 + }, + "when": "mid" + }, + { + "X": 228, + "E": 453, + "dsides": [ + 896, + 904 + ], + "donors": [ + 453, + 228 + ], + "hold": [ + 521, + 509 + ], + "kept": { + "1233": 453, + "1241": 228 + }, + "when": "mid" + }, + { + "X": 62, + "E": 455, + "dsides": [ + 912, + 920 + ], + "donors": [ + 455, + 62 + ], + "hold": [ + 545, + 533 + ], + "kept": { + "1249": 455, + "1257": 62 + }, + "when": "mid" + }, + { + "X": 238, + "E": 457, + "dsides": [ + 928, + 936 + ], + "donors": [ + 457, + 238 + ], + "hold": [ + 569, + 557 + ], + "kept": { + "1265": 457, + "1273": 238 + }, + "when": "mid" + } + ] +} \ No newline at end of file diff --git a/research/gauge44-leaver8/construction/barch/build_tri.py b/research/gauge44-leaver8/construction/barch/build_tri.py new file mode 100644 index 0000000000..11c4371114 --- /dev/null +++ b/research/gauge44-leaver8/construction/barch/build_tri.py @@ -0,0 +1,87 @@ +#!/usr/bin/env python3 +"""build_tri.py BASE_WORD RECIPE OUT_WORD [--control NAME] + +Standard library only. Applies a NewBArch triangle-hybrid recipe to the X4 word (1e1d99ba) and writes a FULL-WORD.json.gz. +Recipe keys (all indices refer to the BASE word): + base_sha256 sha256 of the decompressed base JSON (checked) + B_delete list of B indices removed + B_insert list of [pos, gate]: gate (with frame) inserted before base B gate pos (list order kept) + B_frames {index: frame}: explicit re-chosen frame of a kept base B gate + tail_insert list of [early_index, gate]: gates appended to cleanup in list order, then registered as early cleanup at early_index (ascending) + cleanup_prepend list of gates prepended to the full cleanup (early indices are shifted) + local_profile report.local_profile of the result + expect_sha256 sha256 of the decompressed result (checked unless a control is requested) +Controls (each must be REJECTED by audit_local; see controls.json): + drop_restore omit cleanup_prepend (end value of the holder not restored) + restore_full move tail_insert gates into the full cleanup (FULL frame) instead of early cleanup + drop_preread omit the inserted entrance pre-reads (inserted target += E gates at pos < first donation) + donation_after insert each donation after its reading target's read instead of before it + NAME@X the same control restricted to the instance whose packet register is X (recipe 'variants') +""" +import sys, json, gzip, hashlib, copy + +FULL = [256, 128, 64, 32, 16, 8, 4, 2, 1] + +def load(p): + raw = gzip.decompress(open(p, 'rb').read()); return json.loads(raw), hashlib.sha256(raw).hexdigest() + +def apply(w, rc, control=None): + w = copy.deepcopy(w); B = w['B'] + S = None + if control and '@' in control: # per-instance control: name@X mutates only instance X's gates + control, x = control.split('@'); x = int(x) + vv = [s for s in rc['variants'] if s['X'] == x][0]; S = {vv['X'], vv['E'], *vv['hold']} + sel = lambda g: S is None or bool({g[1], g[2]} & S) + dele = set(rc['B_delete']); fr = {int(k): f for k, f in rc['B_frames'].items()} + ins = [list(x) for x in rc['B_insert']] + don = [x for x in ins if not (112 <= x[1][1] < 224)] # donations: destination is not a target + first_don = min(p for p, _ in don) if don else 0 + if control == 'drop_preread': + ins = [x for x in ins if not (x[0] < first_don and 112 <= x[1][1] < 224 and sel(x[1]))] + if control == 'donation_after': + new = [] + for p, g in ins: + if g in [d[1] for d in don] and sel(g): + rd = [i for i, e in enumerate(B) if i >= p and e[0] == 'add' and e[2] == g[1] and 112 <= e[1] < 224] + p = rd[0] + 1 + new.append([p, g]) + ins = new + at = {} + for p, g in ins: at.setdefault(p, []).append(list(g)) + out = [] + for i, e in enumerate(B): + out.extend(at.get(i, [])) + if i in dele: continue + e = list(e) + if i in fr: e = e[:-1] + [list(fr[i])] + out.append(e) + out.extend(at.get(len(B), [])) + w['B'] = out + pre = [list(g) for g in rc['cleanup_prepend'] if not (control == 'drop_restore' and sel(g))] + tails = [list(x) for x in rc['tail_insert']] + if control == 'restore_full': + pre = pre + [g[1][:-1] + [FULL] for g in tails if sel(g[1])]; tails = [g for g in tails if not sel(g[1])] + C = pre + w['cleanup']; sh = len(pre) + early = [[i + sh, U] for i, U in w['early_cleanup']] + idx = [] + for j, g in tails: C.append(list(g)); idx.append((j, len(C) - 1, list(g[-1]))) # appended in recipe order + for j, ci, U in sorted(idx): early.insert(j, [ci, U]) # then registered at their early index + w['cleanup'] = C; w['early_cleanup'] = early + w['report'] = dict(w['report']); w['report']['local_profile'] = rc['local_profile'] + return w + +def main(): + a = sys.argv[1:]; control = None + if '--control' in a: k = a.index('--control'); control = a[k + 1]; del a[k:k + 2] + base, out = a[0], a[2] + w, sha = load(base); rc = json.load(open(a[1])) + if sha != rc['base_sha256']: raise SystemExit('base sha mismatch ' + sha) + w2 = apply(w, rc, control) + raw = json.dumps(w2, separators=(',', ':')).encode() + open(out, 'wb').write(gzip.compress(raw, mtime=0)) + s = hashlib.sha256(raw).hexdigest() + if control is None and s != rc['expect_sha256']: raise SystemExit('result sha mismatch ' + s) + print(json.dumps(dict(control=control, sha256=s))) + +if __name__ == '__main__': + main() diff --git a/research/gauge44-leaver8/construction/barch/reproduce_barch.py b/research/gauge44-leaver8/construction/barch/reproduce_barch.py new file mode 100644 index 0000000000..22f15b491d --- /dev/null +++ b/research/gauge44-leaver8/construction/barch/reproduce_barch.py @@ -0,0 +1,92 @@ +#!/usr/bin/env python3 +"""Rebuild the B0 word (NewBArch's width-neutral triangle-hybrid B-delivery rewrite on X4) and its native locals. + +Input: a fresh `construction/jx/reproduce_jx.py` output directory; its X4 word (1e1d99ba...) is pinned there and by +RECIPE-B0.json (base_sha256). Steps, each checked exactly: + 1. barch: build_tri.py (standard library only; NewBArch) applies the recipe's explicit B deletes and inserts (with frames), + re-chosen B frames, early-cleanup tails and FULL-cleanup restores; it checks the base and result shas (d9ba0942...). + 2. barch-controls: run_controls.py rebuilds C0 (identity, must reproduce the input), the recipe word (must PASS #645's + independent audit_local.py) and four mutants (drop_restore, restore_full, drop_preread, donation_after), globally + and for each recipe variant (NAME@X); each mutant must FAIL audit_local with its pinned message. Every outcome is + required and the control set is pinned (LOCAL-PINS). + 3. layer-end-controls: ../layers_p6n/layer_end_controls.py (per-end variant) on the B0 word; count pinned. + 4. native, ledgers, local-replay, wrappers, phases: PR635's native local programs; canonical word, local programs and + Clifford recipes pinned (LOCAL-PINS-barch-.json). +Apache-2.0. Driver by ColdWitness around NewBArch's builder and controls. +""" +import argparse, gzip, hashlib, json, os, subprocess, sys, time +from pathlib import Path + +HERE = Path(__file__).resolve().parent +PKG = HERE.parents[1] +P6 = HERE.parent / 'layers_p6n' +MUTANTS = ('drop_restore', 'restore_full', 'drop_preread', 'donation_after') + + +def read(p): + raw = Path(p).read_bytes() + return json.loads(gzip.decompress(raw) if str(p).endswith('.gz') else raw) + + +def main(): + assert __debug__, 'Assertions are required' + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--main', type=Path, required=True) + ap.add_argument('--pr635', type=Path, required=True) + ap.add_argument('--jx-dir', type=Path, required=True, help='construction/jx/reproduce_jx.py output') + ap.add_argument('--recipe', default='U8', help='RECIPE-.json and LOCAL-PINS-barch-.json') + ap.add_argument('--out', type=Path, required=True) + ap.add_argument('--skip-phases', action='store_true') + a = ap.parse_args() + out = a.out.resolve(); assert not out.exists(); out.mkdir(parents=True) + up = a.pr635.resolve() / 'research/complex-571-cold14-st2' + src = a.main.resolve() / 'research/complex-k492-owner-repair/vendor/multicold' + base = src / 'vendor/pr558'; parent = base / 'vendor/pr552' + rfile = HERE / ('RECIPE-%s.json' % a.recipe); rec = read(rfile); pins = read(HERE / ('LOCAL-PINS-barch-%s.json' % a.recipe)) + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONUTF8='1', PYTHONINTMAXSTRDIGITS='0', + MULTICOLD_SOURCE=str(src), GAIN_PR564_SOURCE=str(src)) + for k in ('PYTHONOPTIMIZE', 'XPARAM', 'EXTRAH', 'PAIRING_RANKS', 'DIAG', 'HYBBUDGET', 'PR635_CODE'): env.pop(k, None) + steps = [] + + def run(label, script, *args, portable=True): + t = time.monotonic() + cmd = [sys.executable, '-B'] + ([str(src / 'code/run_portable.py')] if portable else []) + [str(script), *map(str, args)] + with (out / (label + '.log')).open('w') as f: + rc = subprocess.call(cmd, env=env, stdout=f, stderr=subprocess.STDOUT) + steps.append(dict(step=label, exit_code=rc, seconds=round(time.monotonic() - t, 3))) + (out / 'STEPS.json').write_text(json.dumps(steps, indent=2) + '\n') + assert rc == 0, label + print('PASS', label, flush=True) + + inp = a.jx_dir.resolve() / 'jx/FULL-WORD.json.gz' + assert hashlib.sha256(gzip.decompress(inp.read_bytes())).hexdigest() == rec['base_sha256'], 'input must be the pinned X4 word' + (out / 'barch').mkdir(); word = out / 'barch/FULL-WORD.json.gz' + run('barch', HERE / 'build_tri.py', inp, rfile, word, portable=False) + assert hashlib.sha256(gzip.decompress(word.read_bytes())).hexdigest() == rec['expect_sha256'] + run('barch-controls', HERE / 'run_controls.py', inp, rfile, PKG / 'independent/audit_local.py', out / 'barch-controls', portable=False) + res = read(out / 'barch-controls/controls.json') + want = ['C0_identity', 'recipe', *MUTANTS] + [m + '@' + str(v['X']) for v in rec.get('variants', []) for m in MUTANTS] + assert sorted(res) == sorted(want) == sorted(pins['barch_controls']) and all(x['ok'] for x in res.values()), res + routing = parent / 'complex-local/inputs/phase-baseline/CANONICAL-WORD.json.gz' + env['PR635_CODE'] = str(up / 'code') + run('layer-end-controls', P6 / 'layer_end_controls.py', word, routing, out / 'controls') + env.pop('PR635_CODE') + ctl = read(out / 'controls/COLD-END-CONTROLS.json') + assert ctl['status'] == 'PASS_COLD_END_RAW_WORD_CONTROLS' and len(ctl['rejected']) == pins['layer_controls'], len(ctl['rejected']) + local = out / 'local' + run('native', up / 'code/hpe_audit_and_transport.py', '--raw', word, '--routing', routing, '--out', local) + assert hashlib.sha256(gzip.decompress((local / 'CANONICAL-WORD.json.gz').read_bytes())).hexdigest() == pins['canonical_sha256'], 'canonical word' + run('ledgers', up / 'code/hpe_emit_local.py', local) + run('local-replay', up / 'code/hpe_audit_local.py', local) + run('wrappers', up / 'code/hpe_adapters_local.py', local / 'CANONICAL-WORD.json.gz', + local / 'RESIDUAL-ADAPTERS.json', local / 'WRAPPER-CHECKS.json') + checks = read(local / 'LOCAL-CHECKS.json') + for o, s in pins['program_sha256'].items(): assert checks[o]['sha256'] == s, ('local program', o) + if not a.skip_phases: + run('phases', base / 'code/phases_full.py', local, parent / 'complex-global/vendor531/vendor/clifford') + assert hashlib.sha256((local / 'CLIFFORD-RECIPES.json').read_bytes()).hexdigest() == pins['clifford_recipes_sha256'], 'clifford recipes' + print('DONE', local, flush=True) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-leaver8/construction/barch/run_controls.py b/research/gauge44-leaver8/construction/barch/run_controls.py new file mode 100644 index 0000000000..f1ce999bfb --- /dev/null +++ b/research/gauge44-leaver8/construction/barch/run_controls.py @@ -0,0 +1,33 @@ +#!/usr/bin/env python3 +"""run_controls.py BASE_WORD RECIPE AUDIT_LOCAL_PY OUTDIR : C0 identity, the recipe word (must PASS) and the four negative +controls (each must FAIL audit_local with its pinned message prefix). Standard library only; writes OUTDIR/controls.json.""" +import sys, json, subprocess, os, gzip, hashlib +base, recipe, audit, out = sys.argv[1:5] +here = os.path.dirname(os.path.abspath(__file__)); os.makedirs(out, exist_ok=True) +# pinned rejection sites (observed on RECIPE-V1 and RECIPE-B0; the failing rows are recorded in controls.json): the holder 485 is not restored; the low-end restore 497-=451 moved to the +# FULL cleanup runs after 451's own tail and leaves 497 wrong; without the pre-read (or with the donation after the read) +# the entering helper's start value reaches a target. +EXPECT = {None: 'PASS', 'drop_restore': 'all-column endpoint failure (False, ', + 'restore_full': 'all-column endpoint failure (False, ', + 'drop_preread': 'nonzero entrance response', 'donation_after': 'nonzero entrance response'} +res = {} +ident = os.path.join(out, 'C0.json') +json.dump(dict(json.load(open(recipe)), B_delete=[], B_insert=[], B_frames={}, tail_insert=[], cleanup_prepend=[], + local_profile=json.loads(gzip.decompress(open(base, 'rb').read()))['report']['local_profile'], + expect_sha256=hashlib.sha256(gzip.decompress(open(base, 'rb').read())).hexdigest()), open(ident, 'w')) +r = subprocess.run([sys.executable, '-B', os.path.join(here, 'build_tri.py'), base, ident, os.path.join(out, 'C0.json.gz')], capture_output=True, text=True) +res['C0_identity'] = dict(ok=r.returncode == 0, out=r.stdout.strip() or r.stderr.strip()[-200:]) +ctls = list(EXPECT) + [c + '@' + str(s['X']) for s in json.load(open(recipe)).get('variants', []) for c in EXPECT if c] +for ctl in ctls: + name = ctl or 'recipe'; wp = os.path.join(out, name + '.json.gz') + cmd = [sys.executable, '-B', os.path.join(here, 'build_tri.py'), base, recipe, wp] + (['--control', ctl] if ctl else []) + b = subprocess.run(cmd, capture_output=True, text=True) + if b.returncode: res[name] = dict(ok=False, build=b.stderr[-300:]); continue + a = subprocess.run([sys.executable, '-B', audit, '--word', wp, '--output', os.path.join(out, name + '.audit.json')], capture_output=True, text=True) + txt = a.stdout + a.stderr + if ctl is None: ok = a.returncode == 0 and 'PASS_INDEPENDENT' in txt + else: ok = a.returncode != 0 and EXPECT[ctl.split('@')[0]] in txt + res[name] = dict(ok=ok, build=json.loads(b.stdout), audit_tail=txt.strip().splitlines()[-1][:200]) +json.dump(res, open(os.path.join(out, 'controls.json'), 'w'), indent=1) +print(json.dumps({k: x['ok'] for k, x in res.items()})) +sys.exit(0 if all(x['ok'] for x in res.values()) else 1) diff --git a/research/gauge44-leaver8/construction/build_gauge_cold44.py b/research/gauge44-leaver8/construction/build_gauge_cold44.py new file mode 100644 index 0000000000..72d2945f6b --- /dev/null +++ b/research/gauge44-leaver8/construction/build_gauge_cold44.py @@ -0,0 +1,210 @@ +"""Exact dyadic cold-end realization of the source-branch/factory-completion word. +Prepared for icekylinx with OpenAI Codex assistance; Apache-2.0. +This is a constructor: independent endpoint/frame audits remain required. +""" +from pathlib import Path +from fractions import Fraction as Q +from collections import Counter +import copy,gzip,json,hashlib,time,sys,argparse,importlib.util +D=Path(__file__).resolve().parent +ap=argparse.ArgumentParser(description=__doc__) +for name in ('input','out','hamming','upstream-package'):ap.add_argument('--'+name,type=Path,required=True) +args=ap.parse_args();WPATH=args.input;OUT=args.out +assert __debug__, 'Assertions are required' +OUT.mkdir(exist_ok=False,parents=True) +def rd(p):return json.loads(gzip.decompress(p.read_bytes()) if p.suffix=='.gz' else p.read_bytes()) +w=rd(WPATH);v=w['report']['v'];n=2*v+w['report']['R'];N=list(range(v))+list(range(2*v,n));ix={x:i for i,x in enumerate(N)} +F9=[256,128,64,32,16,8,4,2,1];t0=time.monotonic() +def basis(vs): + d={} + for a in vs: + for k in sorted(d,reverse=True): + if a>>k&1:a^=d[k] + if a: + k=a.bit_length()-1 + for j in d: + if d[j]>>k&1:d[j]^=a + d[k]=a + return tuple(d[k] for k in sorted(d,reverse=True)) +def inside(a,b):return basis(a+b)==b +def regs(e):return e[1:3] if e[0]=='add' else e[1:2] +def inverse(e): + e=copy.deepcopy(e) + if e[0]=='add':e[3]=-e[3] + else:e[2],e[3]=e[3],e[2] + return e +def apply(e,M,mapping=None): + t=mapping[e[1]] if mapping is not None else e[1] + if e[0]=='add': + s=mapping[e[2]] if mapping is not None else e[2];q=Q(e[3],e[4]) + for j,a in M[s].items(): + x=M[t].get(j,Q(0))+q*a + if x:M[t][j]=x + else:M[t].pop(j,None) + else: + q=Q(e[2],e[3]);M[t]={j:q*a for j,a in M[t].items()} +def rref(A): + a=[list(map(Q,row)) for row in A];nr=len(a);nc=len(a[0]) if nr else 0;row=0;piv=[] + for c in range(nc): + k=next((i for i in range(row,nr) if a[i][c]),None) + if k is None:continue + a[row],a[k]=a[k],a[row];q=a[row][c];a[row]=[x/q for x in a[row]] + for i in range(nr): + if i!=row and a[i][c]:q=a[i][c];a[i]=[x-q*y for x,y in zip(a[i],a[row])] + piv.append(c);row+=1 + if row==nr:break + return a,piv +def rank(A):return len(rref(A)[1]) +def null(A,nc=None): + if A:a,piv=rref(A);nc=len(a[0]) + else:a=[];piv=[];assert nc is not None + free=[j for j in range(nc) if j not in piv];out=[[Q(0) for j in free] for i in range(nc)] + for k,c in enumerate(free):out[c][k]=Q(1) + for i,c in enumerate(piv): + for k,j in enumerate(free):out[c][k]=-a[i][j] + return out +def mm(A,B): + if not A:return [] + if not B:return [[] for row in A] + bt=list(zip(*B));return [[sum((a*b for a,b in zip(row,col)),Q(0)) for col in bt] for row in A] +def tr(A):return list(map(list,zip(*A))) +def inv(A): + n0=len(A);a,p=rref([row+[Q(i==j) for j in range(n0)] for i,row in enumerate(A)]) + assert p[:n0]==list(range(n0)) + return [row[n0:] for row in a] +def unit(q): + if not q:return False + a=abs(q.numerator);b=q.denominator + return not a&(a-1) and not b&(b-1) +def dyadic(q):return not q.denominator&(q.denominator-1) +def opadd(t,s,q,F):return ['add',t,s,q.numerator,q.denominator,list(F)] +def opscale(t,q,F):return ['scale',t,q.numerator,q.denominator,list(F)] +def eliminate(M,ids,F,skip=()): + """Return legal dyadic row operations taking an invertible sparse matrix to I.""" + skip=set(skip);ops=[];dim=len(M) + def add(i,j,q): + if q: + assert dyadic(q);e=opadd(ids[i],ids[j],q,F);ops.append(e) + for c,x in M[j].items(): + z=M[i].get(c,Q(0))+q*x + if z:M[i][c]=z + else:M[i].pop(c,None) + def scale(i,q): + if q!=1: + assert unit(q);ops.append(opscale(ids[i],q,F));M[i]={c:q*x for c,x in M[i].items()} + def swap(i,j): + if i!=j: + add(i,j,Q(1));add(j,i,Q(-1));add(i,j,Q(1));scale(j,Q(-1)) + for c in range(dim): + if c in skip: + assert M[c]=={c:Q(1)} and all(not M[i].get(c) for i in range(dim) if i!=c) + continue + cand=[i for i in range(c,dim) if i not in skip and M[i].get(c)] + k=next((i for i in cand if unit(M[i][c])),None) + if k is None: + # Elementary Euclidean row additions reduce the pivot-column numerator gcd. + assert cand,('singular',c) + while k is None: + cand.sort(key=lambda i:abs(M[i][c]));a=cand[0] + b=next((i for i in cand[1:] if M[i][c]),None) + if b is None:raise ValueError(('non-dyadic determinant pivot',c,M[a][c])) + rat=M[b][c]/M[a][c];q=rat.numerator//rat.denominator + if q==0:q=1 if rat>0 else -1 + add(b,a,Q(-q));cand=[i for i in cand if M[i].get(c)] + k=next((i for i in cand if unit(M[i][c])),None) + swap(c,k);scale(c,1/M[c][c]) + for i in range(dim): + if i!=c and M[i].get(c): + assert i not in skip + add(i,c,-M[i][c]) + assert all(row=={i:Q(1)} for i,row in enumerate(M)) + return ops +def realize(A,ids,F): + M=[{j:Q(x) for j,x in enumerate(row) if x} for row in A] + return [inverse(e) for e in reversed(eliminate(M,ids,F))] +# Reconstruct the actual non-target map after the inherited HPE tail. +inherited_tail=[w['cleanup'][i][:-1]+[list(f)] for i,f in w.get('early_cleanup',[])] +mainN=[e for e in w['A']+w['B'] if not v<=e[1]<2*v] +M=[{i:Q(1)} for i in range(len(N))] +for e in mainN+inherited_tail:apply(e,M,ix) +MI=[{i:Q(1)} for i in range(len(N))] +for e in reversed(mainN+inherited_tail):apply(inverse(e),MI,ix) +cur={x:(w['ports'][x],) if xlen(ih):ih.append(j) + if len(ih)==r:break + assert len(ih)==r + endhs=[N[I[j]] for j in ih];endhidx=[hs.index(h) for h in endhs] + kerR=null(RR,16);Qmat=[[Q(0) for j in range(16)] for i in range(16)] + for j,hj in enumerate(endhidx): + for i in range(16):Qmat[i][hj]=qH[i][j] + other=[j for j in range(16) if j not in endhidx] + for k,j in enumerate(other): + for i in range(16):Qmat[i][j]=kerR[i][k] + assert rank(Qmat)==16 + pops=realize(Qmat,hs,());premix+=pops + T=[[Q(i==j)-sum((U[i][k]*L[k][j] for k in range(r)),Q(0)) for j in range(len(I))] for i in range(len(I))] + for k,i in enumerate(ih):T[i]=L[k] + tops=realize(T,[N[i] for i in I],F);tail+=tops + # Right-compose this initial helper premix; other blocks have disjoint H sets. + for row in Mafter: + vals=[row.get(h,Q(0)) for h in H] + if any(vals): + for hj in H:row.pop(hj,None) + for j,hj in enumerate(H): + z=sum((vals[i]*Qmat[i][j] for i in range(16)),Q(0)) + if z:row[hj]=z + for e in tops:apply(e,Mafter,ix) + ends.update({h:list(F) for h in endhs}) + plans.append(dict(block=b,frame=list(F),registers=[N[i] for i in I],ends=endhs,pairing_rank=r,premix_gates=len(pops),tail_gates=len(tops),Q=[[str(x) for x in row] for row in Qmat],T=[[str(x) for x in row] for row in T])) + print('BLOCK',b,'ends',endhs,'Qops',len(pops),'Tops',len(tops),flush=True) +# Check actual post-tail isolation before constructing the high-frame inverse. +allends=set(ends)|set(map(int,w.get('helper_final',{}))) +for h in allends: + j=ix[h];assert Mafter[j]=={j:Q(1)},('row not isolated',h,Mafter[j]);assert all(not row.get(j) for i,row in enumerate(Mafter) if i!=j),('column not isolated',h) +print('EXACT_ISOLATED',len(ends),'new;',len(allends),'total',round(time.monotonic()-t0,3),flush=True) +fullops=eliminate(copy.deepcopy(Mafter),N,F9,[ix[x] for x in allends]) +print('FULL_INVERSE',len(fullops),round(time.monotonic()-t0,3),flush=True) +# Cancel new cold-axis target responses inside A, after their wrappers. +Dirt=[({h:Q(1)} if h in ends else {}) for h in range(n)] +for e in premix+w['A']+w['cut']+w['B']:apply(e,Dirt) +for e in w['precondition']:apply(e,Dirt) +postcomp=[opadd(y,h,-a,()) for y in range(v,2*v) for h,a in sorted(Dirt[y].items()) if a] +assert all(h in ends for e in postcomp for h in [e[2]]) +new=copy.deepcopy(w);new['A']=postcomp+premix+w['A'];new['cleanup']=inherited_tail+tail+fullops +new['early_cleanup']=[[i,e[-1]] for i,e in enumerate(inherited_tail+tail)] +new['helper_final'].update({str(h):f for h,f in ends.items()}) +new['refactored_cleanup']={'kind':'source_branch_gauge_and_retired_completion_cold44','new_cold_ends':len(ends),'exact_non_target_isolation_checked':True,'high_inverse':'dyadic_sparse_Gauss_Jordan'} +# Derive paid profile by subtracting and adding literal frame-chain counts. +spec=importlib.util.spec_from_file_location('upstream_cold_end',args.upstream_package/'code/build_cold_end.py') +profile_module=importlib.util.module_from_spec(spec);spec.loader.exec_module(profile_module) +oldprof,_=profile_module.chain_profile(w);newprof,_=profile_module.chain_profile(new) +prof=Counter({int(k):z for k,z in w['report']['local_profile'].items()});prof.subtract(oldprof);prof.update(newprof) +widths=Counter(len(basis(new['helper_final'].get(str(h),F9)))-len(basis(new.get('start_extra',{}).get(str(h),[]))) for h in range(224,n)) +new['report'].update(local_profile={str(k):z for k,z in sorted(prof.items()) if z},local_rank_mass=sum(k*z for k,z in prof.items()),width_inventory={str(k):z for k,z in sorted(widths.items()) if z},status='EXACT_COLD44_CONSTRUCTED_PENDING_INDEPENDENT_AUDIT') +raw=json.dumps(new,sort_keys=True,separators=(',',':')).encode();sha=hashlib.sha256(raw).hexdigest();(OUT/'FULL-WORD.json.gz').write_bytes(gzip.compress(raw,mtime=0)) +recipe={'premix':postcomp+premix,'cleanup':new['cleanup'],'early_cleanup':new['early_cleanup'],'cold_ends':{str(h):f for h,f in ends.items()},'refactored_cleanup':new['refactored_cleanup'],'output_content_sha256':sha} +(OUT/'RECIPE.json.gz').write_bytes(gzip.compress(json.dumps(recipe,sort_keys=True,separators=(',',':')).encode(),mtime=0)) +receipt=dict(input_content_sha256=hashlib.sha256(gzip.decompress(WPATH.read_bytes())).hexdigest(),output_content_sha256=sha,blocks=plans,new_cold_ends=len(ends),all_low_ended_helpers=len(allends),premix_gates=len(premix),postwrapper_compensation_gates=len(postcomp),tail_gates=len(tail),inherited_tail_gates=len(inherited_tail),full_inverse_gates=len(fullops),profile=new['report']['local_profile'],width_inventory=new['report']['width_inventory'],rank_mass=new['report']['local_rank_mass'],seconds=time.monotonic()-t0) +(OUT/'CONSTRUCTION.json').write_text(json.dumps(receipt,indent=2)+'\n') +print(json.dumps({k:z for k,z in receipt.items() if k!='blocks'},indent=2),flush=True) diff --git a/research/gauge44-leaver8/construction/construct_gauge_xcentre.py b/research/gauge44-leaver8/construction/construct_gauge_xcentre.py new file mode 100644 index 0000000000..1010d86746 --- /dev/null +++ b/research/gauge44-leaver8/construction/construct_gauge_xcentre.py @@ -0,0 +1,381 @@ +# Round20 early-coordinate-center / own-Y variant, prepared for icekylinx +# with OpenAI Codex assistance. Apache-2.0. Scalar elementary-operation +# helpers below are retained from the attributed PR514 construct_partial.py. +# Adapted by OpenAI Codex for isolated structural research. +# Modified from PR425 by icekylinx with Codex assistance. +"""Full discovery word for Hamming packets with borrowed X and Y registers. + +This changes the scalar architecture. It is not accepted by the old restricted +gx interface: source bases may change until full-frame cleanup, and targets use +an explicitly inverted output basis. No supplier admission is asserted. +""" +import copy,gzip,json,math,time +import itertools as it +from collections import Counter,defaultdict +from fractions import Fraction as Q +from pathlib import Path + +import sys +INPUT=Path(sys.argv[1]);OUT=Path(sys.argv[2]);OUT.mkdir(parents=True,exist_ok=False);D=json.loads((INPUT/'PROTOTYPE.json').read_text()) +P=D['binary_ports'];R=D['root_lines'];v=120;h=9 +modules=json.load(gzip.open(INPUT/'PACKET-PROGRAMS.json.gz')) +# AtomScout: leaver-read K-triangles (schedule from atom1.py / rog.py CP-SAT) +TRI=json.loads(Path(sys.argv[3]).read_text()) +FULLT={(tuple(tr['p']),tr['e']) for tr in TRI['triangles']} +TRI_COORDS={t+8 for tr in TRI['triangles'] for t,_,_ in tr['reads']} +COPYL=[] +NH=504-3*len(FULLT)+len(COPYL) + +def basis(vectors): + b={} + for x in vectors: + for p in sorted(b,reverse=True): + if x>>p&1:x^=b[p] + if x: + p=x.bit_length()-1 + for q in b: + if b[q]>>p&1:b[q]^=x + b[p]=x + return tuple(b[p] for p in sorted(b,reverse=True)) +def inside(a,b):return basis(a+b)==b +def hyper(p):return basis([x for x in range(1,512) if (x&p).bit_count()%2==0]) +FULL=basis([1<=v,r)) + for col,s in enumerate(ids): + k=next(i for i in range(col,len(regs)) if rows[regs[i]].get(s,Q(0))) + swap(regs[k],regs[col],F) + scale(regs[col],1/rows[regs[col]][s],F) + for i in range(len(regs)): + if i!=col and rows[regs[i]].get(s,Q(0)):add(regs[i],regs[col],-rows[regs[i]][s],F) + assert all(rows[regs[i]]=={s:Q(1)} for i,s in enumerate(ids)) + M=[[Q(R[s][i]) for s in ids] for i in c] + def qr_rank(rs): + bs={} + for r in rs: + r=r.copy() + for i,b in sorted(bs.items()): + if r[i]:q=r[i];r=[x-q*y for x,y in zip(r,b)] + i=next((i for i,x in enumerate(r) if x),None) + if i is not None:q=r[i];bs[i]=[x/q for x in r] + return len(bs) + assert qr_rank(M)==4 + for rr0 in PRIORITY[",".join(map(str,c))]["rows"]: + rr=list(map(Q,rr0)) + if qr_rank(M+[rr])>len(M):M.append(rr) + if len(M)==8:break + for i in range(8): + if len(M)==8:break + rr=[Q(i==j) for j in range(8)] + if qr_rank(M+[rr])>len(M):M.append(rr) + if len(M)==8:break + assert len(M)==8 + linear(regs,M,F) + for i,r in zip(c,regs): + assert rows[r]=={s:Q(R[s][i]) for s in ids} + block_totals[c,i]=r + +# All centers are complete while Y is still at zero. This is the crucial +# difference from an illegal early-own-Y prefix using the old center order. +centers=[] +for i in range(8): + regs=[block_totals[c,i] for c in sorted(blocks) if i in c] + F=hyper(P[frame[i]]);a=regs[0] + for b in regs[1:]:add(a,b,1,F) + centers.append(a) +centers += [frame[i] for i in range(8)] +center_frames=[cur[r] for r in centers] +assert list(map(len,center_frames))==[8]*8+[1]*8 +assert all(cur[v+t]==() for t in range(v)) + +phase=B +for t,(r,coef,F) in sorted(own_rows.items()): + if t in TRI_COORDS:continue + assert cur[r]==F + add(v+t,r,coef,F) +# requests are needed for TRI coefficients +requests=defaultdict(list) +for pid,pair in enumerate(pairs): + if not pair['selected']:continue + (t,u),(key1,key2),mat=pair['targets'],pair['keys'],pair['matrix'] + requests[key1].append((t,-Q(mat[0][0],2))) + requests[key2].append((u,-Q(mat[0][1],2))) +reqcoef={t:(key,coef) for key,reqs in requests.items() for t,coef in reqs} +def face_info(c,p,eps): + z=blocks[c];keys=[(pp,ee) for pp in it.combinations(c,2) for ee in (-1,1)] + r_local,alpha=z['outputs'][keys.index((p,eps))] + j=[j for j in range(40,len(z['events'])) if z['events'][j][0]==r_local];assert len(j)==1 + return j[0],Q(alpha) +tri_join_counts=Counter() +lcopy={} +for s8 in COPYL: + r=s8+8;c=alloc();add(c,r,1,cur[r]);lcopy[r]=c +for tr in TRI['triangles']: + p,eps=tuple(tr['p']),tr['e'] + for t8,blk,loc in tr['reads']: + t=t8+8;blk=tuple(blk);r=maps[blk][loc];r0=r;r=lcopy.get(r,r) + key,coef=reqcoef[t];assert key[1]==p and key[2]==eps,(key,p,eps) + if blk==key[0]: + rr,c0,F0=own_rows[t];assert rr==r0;q=c0 + else: + j,alpha=face_info(blk,p,eps);ev=blocks[blk]['events'][j];assert loc in ev[:2] + q=coef*alpha + F=basis(cur[v+t]+cur[r]);assert inside(F,hyper(P[t])),('TRI frame',t) + tri_join_counts[len(F)]+=1;add(v+t,r,q,F) + +packets={} +for c,z in sorted(blocks.items()): + mp=maps[c] + keys=[(p,eps) for p in it.combinations(c,2) for eps in (-1,1)] + skipev={face_info(c,p,eps)[0] for p,eps in keys if (p,eps) in FULLT} + for j,(e,F) in enumerate(list(zip(z['events'],z['event_frames']))[40:]): + if j not in early[c] and 40+j not in skipev: + t,s,a,b=e;add(mp[t],mp[s],Q(a,b),tuple(F)) + for key,(r,alpha) in zip(keys,z['outputs']): + if tuple(key) in FULLT:skip();continue + a=mp[r];b=alloc();add(b,a,1,cur[a]) + consumers=sorted(d for d in blocks if d!=c and set(key[0])<=set(d)) + assert len(consumers)==2 + for target,r in zip(consumers,(a,b)):packets[c,key[0],key[1],target]=(r,Q(alpha)) + +# Both tetrahedra use the same partition. A selected key has exactly two +# selected Y loads and no ordinary M consumer. Supply its two raw halves in +# opposite orders and never form that M. Other keys retain the old M path. +second=[];first_join_counts=Counter() +for key,reqs in sorted(requests.items()): + assert len(reqs)==2 + c,p,eps=key + if (p,eps) in FULLT:continue + ds=sorted(d for d in blocks if d!=c and set(p)<=set(d));a,b=ds + for j,(target,coef) in enumerate(sorted(reqs)): + first_source,second_source=(a,b) if j==0 else (b,a) + r,alpha=packets[first_source,p,eps,second_source] + F=basis(cur[v+target]+cur[r]);assert inside(F,hyper(P[target])) + first_join_counts[len(F)]+=1;add(v+target,r,coef*alpha,F) + r,alpha=packets[second_source,p,eps,c] + second.append((target,r,coef*alpha)) + +Ms={} +for c in sorted(blocks): + for p in it.combinations(c,2): + ds=sorted(d for d in blocks if d!=c and set(p)<=set(d)) + for eps in (-1,1): + if (c,p,eps) in requests:continue + (a,alpha),(b,beta)=[packets[d,p,eps,c] for d in ds] + F=basis(cur[a]+cur[b]);add(a,b,beta/alpha,F) + Ms[c,p,eps]=(a,alpha) + +consumers=defaultdict(list) +for pid,pair in enumerate(pairs): + for key in pair['keys']:consumers[key].append(pid) +slots={} +for key,uses in sorted(consumers.items()): + assert len(uses)==2 + if key in requests: + assert all(pairs[i]['selected'] for i in uses) + continue + assert all(not pairs[i]['selected'] for i in uses) + a,alpha=Ms[key] + for j,pid in enumerate(uses): + if j==0:r=a + else:r=alloc();add(r,a,1,cur[a]) + slots[pid,key]=(r,alpha) +assert len(cur)-240==NH,len(cur)-240 + +selected_join_counts=Counter() +for target,r,coef in second: + F=basis(cur[v+target]+cur[r]);assert inside(F,hyper(P[target])) + selected_join_counts[len(F)]+=1;add(v+target,r,coef,F) +output_basis=[] +for pair in pairs: + if not pair['selected']:continue + (t,u),mat=pair['targets'],pair['matrix'] + F=basis(cur[v+t]+cur[v+u]);assert inside(F,hyper(P[t])) and inside(F,hyper(P[u])) + add(v+t,v+u,1,F);add(v+u,v+t,-Q(1,2),F) + z=-Q(2*mat[1][0],mat[0][0]);scale(v+u,z,F);output_basis.append((t,u,z)) + +for pid,pair in enumerate(pairs): + if pair['selected']:continue + (t,u),(key1,key2),mat=pair['targets'],pair['keys'],pair['matrix'] + (a,alpha),(b,beta)=slots[pid,key1],slots[pid,key2] + F=basis(cur[a]+cur[b]);aa,ab=Q(mat[0][0])*alpha,Q(mat[0][1])*beta + ba,bb=Q(mat[1][0])*alpha,Q(mat[1][1])*beta + add(a,b,ab/aa,F);q=ba/(bb-ba*ab/aa);add(b,a,q,F) + add(v+t,a,-aa/2,hyper(P[t]));add(v+u,b,-(bb-ba*ab/aa)/2,hyper(P[u])) + +for t in range(v): + expected={s:-Q(G[t][s],2) for s in range(v) if s!=t and G[t][s] and s not in frame.values()} if t not in frame.values() else {} + assert rows[v+t]==expected,('side identity',t) + +scatter=[[Q(r[i],4) if t not in frame.values() else Q(0) for i in range(8)]+[Q(t==frame[i]) for i in range(8)] for t,r in enumerate(R)] +precondition=[] +for t,u,z in output_basis: + a,b=scatter[t].copy(),scatter[u].copy() + scatter[t]=[x/2-y/z for x,y in zip(a,b)] + scatter[u]=[x/2+y/z for x,y in zip(a,b)] + precondition.extend([['scale',v+u,(1/z).numerator,(1/z).denominator,[]], + ['add',v+u,v+t,1,2,[]],['add',v+t,v+u,-1,1,[]]]) +for r in range(len(cur)):climb(r,hyper(P[r-v]) if v<=r<2*v else FULL) +H[8]+=8;H[1]+=8 +assert sum(r*z for r,z in H.items())==9*NH+240*8+72,sum(r*z for r,z in H.items()) + +def apply(e,matrix): + if e[0]=='add': + _,t,s,a,b,*_=e;q=Q(a,b) + for j,x in list(matrix[s].items()): + z=matrix[t].get(j,Q(0))+q*x + if z:matrix[t][j]=z + else:matrix[t].pop(j,None) + else: + _,t,a,b,*_=e;q=Q(a,b);matrix[t]={j:q*x for j,x in matrix[t].items()} +def inverse(e): + e=copy.deepcopy(e) + if e[0]=='add':e[3]*=-1 + else:e[2],e[3]=e[3],e[2] + e[-1]=list(FULL);return e +cut=[['add',v+t,centers[i],q.numerator,q.denominator,None] for t,row in enumerate(scatter) for i,q in enumerate(row) if q] +cleanup=[inverse(e) for e in reversed(A+B) if not v<=e[1]<2*v] +matrix=[{r:Q(1)} if r.json. Steps, each checked exactly: + 1. frames: build_frames.py (standard library only) applies the eight 'B' gate_frames with BlockInvert's + build_promotion.apply. Scalar program, start and end frames unchanged; profile, widths and output sha pinned; + three pin controls must be rejected (count pinned). + 2. frame-controls: frame_controls.py, PR741's ten focused mutants judged by PR635's unchanged native audit. + 3. layer-end-controls: ../layers_p6n/layer_end_controls.py (per-end variant) on the SW4F8 word; count pinned. + 4. native, ledgers, local-replay, wrappers, phases: PR635's native local programs, with the canonical word, local + programs and Clifford recipes pinned (LOCAL-PINS-frames-.json). +Apache-2.0. +""" +import argparse, gzip, hashlib, json, os, subprocess, sys, time +from pathlib import Path + +HERE = Path(__file__).resolve().parent +P6 = HERE.parent / 'layers_p6n' + + +def read(p): + raw = Path(p).read_bytes() + return json.loads(gzip.decompress(raw) if str(p).endswith('.gz') else raw) + + +def main(): + assert __debug__, 'Assertions are required' + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--main', type=Path, required=True) + ap.add_argument('--pr635', type=Path, required=True) + ap.add_argument('--sw4-dir', type=Path, required=True, help='construction/sw4/reproduce_sw4.py output') + ap.add_argument('--out', type=Path, required=True) + ap.add_argument('--recipe', default='sw4', help='FRAME-RECIPE-.json and LOCAL-PINS-frames-.json') + ap.add_argument('--skip-phases', action='store_true') + a = ap.parse_args() + out = a.out.resolve(); assert not out.exists(); out.mkdir(parents=True) + up = a.pr635.resolve() / 'research/complex-571-cold14-st2' + src = a.main.resolve() / 'research/complex-k492-owner-repair/vendor/multicold' + base = src / 'vendor/pr558'; parent = base / 'vendor/pr552' + rfile = HERE / ('FRAME-RECIPE-%s.json' % a.recipe); rec = read(rfile); pins = read(HERE / ('LOCAL-PINS-frames-%s.json' % a.recipe)) + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONUTF8='1', PYTHONINTMAXSTRDIGITS='0', + MULTICOLD_SOURCE=str(src), GAIN_PR564_SOURCE=str(src)) + for k in ('PYTHONOPTIMIZE', 'XPARAM', 'EXTRAH', 'PAIRING_RANKS', 'DIAG', 'HYBBUDGET', 'PR635_CODE'): env.pop(k, None) + steps = [] + + def run(label, script, *args, portable=True): + t = time.monotonic() + cmd = [sys.executable, '-B'] + ([str(src / 'code/run_portable.py')] if portable else []) + [str(script), *map(str, args)] + with (out / (label + '.log')).open('w') as f: + rc = subprocess.call(cmd, env=env, stdout=f, stderr=subprocess.STDOUT) + steps.append(dict(step=label, exit_code=rc, seconds=round(time.monotonic() - t, 3))) + (out / 'STEPS.json').write_text(json.dumps(steps, indent=2) + '\n') + assert rc == 0, label + print('PASS', label, flush=True) + + inp = a.sw4_dir.resolve() / 'sw4/FULL-WORD.json.gz' + assert hashlib.sha256(gzip.decompress(inp.read_bytes())).hexdigest() == rec['input_content_sha256'], 'input must be the pinned SW4 word' + run('frames', HERE / 'build_frames.py', inp, out / 'frames', rfile, portable=False) + b = read(out / 'frames/BUILD.json') + assert b['status'] == 'PASS_EIGHT_FRAME_EXACT_CONSTRUCTION' and len(b['rejected_controls']) == pins['frame_build_controls'], b + word = out / 'frames/FULL-WORD.json.gz' + assert hashlib.sha256(gzip.decompress(word.read_bytes())).hexdigest() == rec['expected']['output_content_sha256'] + routing = parent / 'complex-local/inputs/phase-baseline/CANONICAL-WORD.json.gz' + env['PR635_CODE'] = str(up / 'code') + run('frame-controls', HERE / 'frame_controls.py', word, routing, out / 'FRAME-CONTROLS.json', rfile, portable=False) + fc = read(out / 'FRAME-CONTROLS.json') + assert fc['status'] == 'PASS_FOCUSED_EIGHT_FRAME_NATIVE_CONTROLS' and len(fc['rejected']) == pins['frame_controls'], len(fc['rejected']) + run('layer-end-controls', P6 / 'layer_end_controls.py', word, routing, out / 'controls') + env.pop('PR635_CODE') + ctl = read(out / 'controls/COLD-END-CONTROLS.json') + assert ctl['status'] == 'PASS_COLD_END_RAW_WORD_CONTROLS' and len(ctl['rejected']) == pins['layer_controls'], len(ctl['rejected']) + local = out / 'local' + run('native', up / 'code/hpe_audit_and_transport.py', '--raw', word, '--routing', routing, '--out', local) + assert hashlib.sha256(gzip.decompress((local / 'CANONICAL-WORD.json.gz').read_bytes())).hexdigest() == pins['canonical_sha256'], 'canonical word' + run('ledgers', up / 'code/hpe_emit_local.py', local) + run('local-replay', up / 'code/hpe_audit_local.py', local) + run('wrappers', up / 'code/hpe_adapters_local.py', local / 'CANONICAL-WORD.json.gz', + local / 'RESIDUAL-ADAPTERS.json', local / 'WRAPPER-CHECKS.json') + checks = read(local / 'LOCAL-CHECKS.json') + for o, s in pins['program_sha256'].items(): assert checks[o]['sha256'] == s, ('local program', o) + if not a.skip_phases: + run('phases', base / 'code/phases_full.py', local, parent / 'complex-global/vendor531/vendor/clifford') + assert hashlib.sha256((local / 'CLIFFORD-RECIPES.json').read_bytes()).hexdigest() == pins['clifford_recipes_sha256'], 'clifford recipes' + print('DONE', local, flush=True) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-leaver8/construction/jx/LOCAL-PINS-jx-X4.json b/research/gauge44-leaver8/construction/jx/LOCAL-PINS-jx-X4.json new file mode 100644 index 0000000000..417e4ba7a1 --- /dev/null +++ b/research/gauge44-leaver8/construction/jx/LOCAL-PINS-jx-X4.json @@ -0,0 +1,11 @@ +{ + "word": "X4", + "jx_controls": 7, + "layer_controls": 95, + "canonical_sha256": "1c0e9da767d4418f70016af599e4a447a3f7777acabe930318459c0fbbd260aa", + "program_sha256": { + "forward": "076a2d428f97abb30473df05110998efbe5ac809885bae4ceb1b8bd81329a1e6", + "backward": "7915679ee305927463d19725360cc15132dd21ede18897d09a935dca1df0d55d" + }, + "clifford_recipes_sha256": "20dddfce0ded7e41dc507939df7297bd98aec1286e05d7dbf18000d57e69a0b7" +} diff --git a/research/gauge44-leaver8/construction/jx/RECIPE-X4.json b/research/gauge44-leaver8/construction/jx/RECIPE-X4.json new file mode 100644 index 0000000000..30f7fa5948 --- /dev/null +++ b/research/gauge44-leaver8/construction/jx/RECIPE-X4.json @@ -0,0 +1,1412 @@ +{ + "input_content_sha256": "d232183f233899961bf55cac67a18545ed33548d9a7ca7078990d1a83d557c59", + "input_word": "P6k4sw4 (BRoute w/P6k4sw4, d232183f)", + "frames_741_source": { + "pr": 741, + "commit": "e516b146", + "recipe": "scratch/WasteAttack/FRAME-RECIPE-741.json", + "frames_only_output_sha": "e78047028c7dcd25fb1b6216c2b53eda76d2f91292b21d43f5d1903cc13a5c6c" + }, + "frames_741": [ + [ + 856, + [ + 272, + 144, + 64, + 8, + 6, + 1 + ] + ], + [ + 860, + [ + 256, + 128, + 65, + 16, + 9, + 6 + ] + ], + [ + 868, + [ + 256, + 144, + 81, + 33, + 9, + 6 + ] + ], + [ + 873, + [ + 320, + 192, + 32, + 16, + 6, + 1 + ] + ], + [ + 876, + [ + 273, + 144, + 64, + 33, + 9, + 6 + ] + ], + [ + 953, + [ + 265, + 137, + 73, + 32, + 25, + 6 + ] + ], + [ + 961, + [ + 265, + 128, + 64, + 41, + 16, + 6 + ] + ], + [ + 965, + [ + 257, + 128, + 73, + 40, + 17, + 6 + ] + ] + ], + "raises": [ + [ + 855, + [ + 280, + 128, + 64, + 40, + 6, + 1 + ] + ], + [ + 859, + [ + 256, + 129, + 65, + 40, + 25, + 6 + ] + ], + [ + 862, + [ + 280, + 144, + 80, + 56, + 6, + 1 + ] + ], + [ + 863, + [ + 272, + 136, + 80, + 56, + 6, + 1 + ] + ], + [ + 867, + [ + 256, + 136, + 64, + 41, + 16, + 6 + ] + ], + [ + 870, + [ + 256, + 200, + 40, + 16, + 6, + 1 + ] + ], + [ + 875, + [ + 272, + 144, + 80, + 49, + 8, + 6 + ] + ], + [ + 942, + [ + 256, + 136, + 72, + 33, + 25, + 6 + ] + ], + [ + 943, + [ + 320, + 193, + 33, + 16, + 9, + 6 + ] + ], + [ + 946, + [ + 256, + 129, + 64, + 41, + 16, + 6 + ] + ], + [ + 947, + [ + 273, + 128, + 81, + 33, + 9, + 6 + ] + ], + [ + 950, + [ + 257, + 193, + 33, + 16, + 9, + 6 + ] + ], + [ + 954, + [ + 272, + 129, + 80, + 49, + 8, + 6 + ] + ], + [ + 955, + [ + 256, + 128, + 64, + 33, + 17, + 6 + ] + ], + [ + 958, + [ + 257, + 128, + 81, + 33, + 9, + 6 + ] + ], + [ + 962, + [ + 273, + 128, + 64, + 33, + 8, + 6 + ] + ] + ], + "edits": { + "replace": [ + { + "h": 448, + "i": 862, + "old": [ + "add", + 140, + 448, + -1, + 2 + ], + "new": [ + "add", + 140, + 235, + -1, + 2 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 448, + "i": 1207, + "old": [ + "add", + 133, + 448, + -1, + 2 + ], + "new": [ + "add", + 133, + 235, + -1, + 2 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 448, + "i": 870, + "old": [ + "add", + 132, + 235, + -1, + 2 + ], + "new": [ + "add", + 132, + 448, + -1, + 2 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 448, + "i": 1199, + "old": [ + "add", + 141, + 235, + -1, + 2 + ], + "new": [ + "add", + 141, + 448, + -1, + 2 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 472, + "i": 855, + "old": [ + "add", + 173, + 472, + -1, + 2 + ], + "new": [ + "add", + 173, + 267, + -1, + 2 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 472, + "i": 1198, + "old": [ + "add", + 140, + 472, + -1, + 2 + ], + "new": [ + "add", + 140, + 267, + -1, + 2 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 472, + "i": 863, + "old": [ + "add", + 141, + 267, + -1, + 2 + ], + "new": [ + "add", + 141, + 472, + -1, + 2 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 472, + "i": 1190, + "old": [ + "add", + 172, + 267, + -1, + 2 + ], + "new": [ + "add", + 172, + 472, + -1, + 2 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 458, + "i": 942, + "old": [ + "add", + 204, + 458, + 1, + 1 + ], + "new": [ + "add", + 204, + 58, + 1, + 1 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 458, + "i": 1287, + "old": [ + "add", + 197, + 458, + 1, + 1 + ], + "new": [ + "add", + 197, + 58, + 1, + 1 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 458, + "i": 950, + "old": [ + "add", + 196, + 58, + 1, + 1 + ], + "new": [ + "add", + 196, + 458, + 1, + 1 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 458, + "i": 1279, + "old": [ + "add", + 205, + 58, + 1, + 1 + ], + "new": [ + "add", + 205, + 458, + 1, + 1 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 592, + "i": 859, + "old": [ + "add", + 174, + 592, + -1, + 2 + ], + "new": [ + "add", + 174, + 427, + -1, + 2 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 592, + "i": 1278, + "old": [ + "add", + 204, + 592, + -1, + 2 + ], + "new": [ + "add", + 204, + 427, + -1, + 2 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 592, + "i": 943, + "old": [ + "add", + 205, + 427, + -1, + 2 + ], + "new": [ + "add", + 205, + 592, + -1, + 2 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 592, + "i": 1194, + "old": [ + "add", + 170, + 427, + -1, + 2 + ], + "new": [ + "add", + 170, + 592, + -1, + 2 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 470, + "i": 946, + "old": [ + "add", + 202, + 470, + 1, + 1 + ], + "new": [ + "add", + 202, + 26, + 1, + 1 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 470, + "i": 1295, + "old": [ + "add", + 165, + 470, + 1, + 1 + ], + "new": [ + "add", + 165, + 26, + 1, + 1 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 470, + "i": 958, + "old": [ + "add", + 164, + 26, + 1, + 1 + ], + "new": [ + "add", + 164, + 470, + 1, + 1 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 470, + "i": 1283, + "old": [ + "add", + 206, + 26, + 1, + 1 + ], + "new": [ + "add", + 206, + 470, + 1, + 1 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 604, + "i": 867, + "old": [ + "add", + 142, + 604, + -1, + 2 + ], + "new": [ + "add", + 142, + 443, + -1, + 2 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 604, + "i": 1282, + "old": [ + "add", + 202, + 604, + -1, + 2 + ], + "new": [ + "add", + 202, + 443, + -1, + 2 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 604, + "i": 947, + "old": [ + "add", + 206, + 443, + -1, + 2 + ], + "new": [ + "add", + 206, + 604, + -1, + 2 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 604, + "i": 1202, + "old": [ + "add", + 138, + 443, + -1, + 2 + ], + "new": [ + "add", + 138, + 604, + -1, + 2 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 482, + "i": 954, + "old": [ + "add", + 194, + 482, + 1, + 1 + ], + "new": [ + "add", + 194, + 18, + 1, + 1 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 482, + "i": 1299, + "old": [ + "add", + 166, + 482, + 1, + 1 + ], + "new": [ + "add", + 166, + 18, + 1, + 1 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 482, + "i": 962, + "old": [ + "add", + 162, + 18, + 1, + 1 + ], + "new": [ + "add", + 162, + 482, + 1, + 1 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 482, + "i": 1291, + "old": [ + "add", + 198, + 18, + 1, + 1 + ], + "new": [ + "add", + 198, + 482, + 1, + 1 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 614, + "i": 875, + "old": [ + "add", + 134, + 614, + 1, + 1 + ], + "new": [ + "add", + 134, + 50, + 1, + 1 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 614, + "i": 1290, + "old": [ + "add", + 194, + 614, + 1, + 1 + ], + "new": [ + "add", + 194, + 50, + 1, + 1 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 614, + "i": 955, + "old": [ + "add", + 198, + 50, + 1, + 1 + ], + "new": [ + "add", + 198, + 614, + 1, + 1 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 614, + "i": 1210, + "old": [ + "add", + 130, + 50, + 1, + 1 + ], + "new": [ + "add", + 130, + 614, + 1, + 1 + ], + "why": "r2h: read of r -> read of h" + } + ], + "delete": [ + { + "h": 448, + "i": 1, + "old": [ + "add", + 140, + 448, + 1, + 2 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 448, + "i": 0, + "old": [ + "add", + 133, + 448, + 1, + 2 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 472, + "i": 33, + "old": [ + "add", + 173, + 472, + 1, + 2 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 472, + "i": 32, + "old": [ + "add", + 140, + 472, + 1, + 2 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 458, + "i": 21, + "old": [ + "add", + 204, + 458, + -1, + 1 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 458, + "i": 20, + "old": [ + "add", + 197, + 458, + -1, + 1 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 592, + "i": 64, + "old": [ + "add", + 174, + 592, + 1, + 2 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 592, + "i": 65, + "old": [ + "add", + 204, + 592, + 1, + 2 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 470, + "i": 29, + "old": [ + "add", + 202, + 470, + -1, + 1 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 470, + "i": 28, + "old": [ + "add", + 165, + 470, + -1, + 1 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 604, + "i": 72, + "old": [ + "add", + 142, + 604, + 1, + 2 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 604, + "i": 73, + "old": [ + "add", + 202, + 604, + 1, + 2 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 482, + "i": 37, + "old": [ + "add", + 194, + 482, + -1, + 1 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 482, + "i": 36, + "old": [ + "add", + 166, + 482, + -1, + 1 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 614, + "i": 95, + "old": [ + "add", + 134, + 614, + -1, + 1 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 614, + "i": 96, + "old": [ + "add", + 194, + 614, + -1, + 1 + ], + "why": "h2r: delete t pre-read of h" + } + ], + "insert": [ + { + "h": 448, + "before": 2, + "gate": [ + "add", + 132, + 448, + 1, + 2 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 448, + "before": 2, + "gate": [ + "add", + 141, + 448, + 1, + 2 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 472, + "before": 34, + "gate": [ + "add", + 141, + 472, + 1, + 2 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 472, + "before": 34, + "gate": [ + "add", + 172, + 472, + 1, + 2 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 458, + "before": 22, + "gate": [ + "add", + 196, + 458, + -1, + 1 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 458, + "before": 22, + "gate": [ + "add", + 205, + 458, + -1, + 1 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 592, + "before": 66, + "gate": [ + "add", + 205, + 592, + 1, + 2 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 592, + "before": 66, + "gate": [ + "add", + 170, + 592, + 1, + 2 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 470, + "before": 30, + "gate": [ + "add", + 164, + 470, + -1, + 1 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 470, + "before": 30, + "gate": [ + "add", + 206, + 470, + -1, + 1 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 604, + "before": 74, + "gate": [ + "add", + 206, + 604, + 1, + 2 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 604, + "before": 74, + "gate": [ + "add", + 138, + 604, + 1, + 2 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 482, + "before": 38, + "gate": [ + "add", + 162, + 482, + -1, + 1 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 482, + "before": 38, + "gate": [ + "add", + 198, + 482, + -1, + 1 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 614, + "before": 97, + "gate": [ + "add", + 198, + 614, + -1, + 1 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 614, + "before": 97, + "gate": [ + "add", + 130, + 614, + -1, + 1 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + } + ] + }, + "pairs": { + "448": 235, + "458": 58, + "470": 26, + "472": 267, + "482": 18, + "592": 427, + "604": 443, + "614": 50 + }, + "expected": { + "output_content_sha256": "1e1d99ba7aab877d6b573c41f7030ee73de9a52fee51d0a822ddaae71251999f", + "local_profile": { + "1": 2548, + "2": 338, + "3": 430, + "4": 194, + "5": 56, + "8": 8 + } + }, + "controls": { + "C0_identity": { + "mutation": { + "kind": "empty" + }, + "expected_sha": "d232183f233899961bf55cac67a18545ed33548d9a7ca7078990d1a83d557c59", + "local_profile": { + "1": 2548, + "2": 342, + "3": 438, + "4": 186, + "5": 56, + "8": 8 + } + }, + "C1_741_only": { + "mutation": { + "kind": "only_edits_of", + "h": [], + "raises": [] + }, + "expected_sha": "e78047028c7dcd25fb1b6216c2b53eda76d2f91292b21d43f5d1903cc13a5c6c", + "local_profile": { + "1": 2556, + "2": 334, + "3": 430, + "4": 194, + "5": 56, + "8": 8 + } + }, + "M1_one_pair_448": { + "mutation": { + "kind": "only_edits_of", + "h": [ + 448 + ], + "raises": [ + 862, + 870 + ] + }, + "expected_sha": "5fb6fb2e5e63d18b865535c1dbd3dbaddab530c39429a4b09f11ac96723257c9", + "local_profile": { + "1": 2556, + "2": 334, + "3": 430, + "4": 194, + "5": 56, + "8": 8 + } + }, + "N1_drop_preread": { + "mutation": { + "kind": "drop_insert", + "k": 0 + }, + "rejection_expected": [ + "exactness rows", + [ + 132, + 135 + ] + ] + }, + "N2_wrong_sign_preread": { + "mutation": { + "kind": "flip_insert_sign", + "k": 0 + }, + "rejection_expected": [ + "exactness rows", + [ + 132, + 135 + ] + ] + }, + "N3_plain_join_moved_reads": { + "mutation": { + "kind": "drop_raises" + }, + "expected_sha": "7241cd59dd0376e0b2e1b5ba8403c5423d247ddd7cbcc2f02bdc353752806f30", + "local_profile": { + "1": 2532, + "2": 378, + "3": 430, + "4": 178, + "5": 56, + "8": 8 + } + }, + "N4_raise_dim7_at_855": { + "mutation": { + "kind": "frame", + "i": 855, + "frame": [ + 280, + 128, + 64, + 40, + 4, + 2, + 1 + ] + }, + "rejection_expected": [ + "cap", + 1302, + 174 + ] + } + } +} \ No newline at end of file diff --git a/research/gauge44-leaver8/construction/jx/build_jx.py b/research/gauge44-leaver8/construction/jx/build_jx.py new file mode 100644 index 0000000000..f8d74a6324 --- /dev/null +++ b/research/gauge44-leaver8/construction/jx/build_jx.py @@ -0,0 +1,167 @@ +#!/usr/bin/env python3 +"""build_jx.py --input WORD --recipe RECIPE.json --out OUT.json.gz [--control NAME] [--no-pin] + +Stdlib-only builder: joint read-set exchange (copy pairs, BRoute sw4 rule) + explicit B frame raises on P6k4sw4. +Steps: + 1. input content sha256 must equal recipe.input_content_sha256. + 2. explicit B edits: replace (old gate asserted), delete (old gate asserted), insert (before an original index). + 3. frames: replaced/inserted gates take the plain join of their operands' current frames; gates listed in + frames_741 / raises take base = the listed frame and the resulting frame must EQUAL it (explicit frames); + every other gate keeps span(stored frame + operand frames) (monotone repair). Early cleanup likewise. + 4. legality: target frames inside u_t^perp at every gate; tails inside helper_final; every end frame contains the + final frame; the explicit frame must contain the join (enforced by equality in 3). + 5. exactness: the rational linear map of the whole B segment is identical to the input's (Fraction replay). + 6. paid profile recomputed (A + centre levels + B + tails + ends) and written to report.local_profile. +Output: canonical json (sort_keys, compact) gzip mtime=0. Exit 0 and prints output sha; exit 2 with the first +rejection (site) on failure. --control applies a named mutation from recipe.controls (expected to be rejected +or to give a pinned sha).""" +import argparse, gzip, json, hashlib, sys, copy +from fractions import Fraction as Fr +from collections import Counter + +V, H = 112, 9 + +def basis(vs): + piv = {} + for a in vs: + while a: + b = a.bit_length() - 1 + if b in piv: a ^= piv[b] + else: piv[b] = a; break + for k in sorted(piv): + for j in sorted(piv): + if j > k and (piv[j] >> k) & 1: piv[j] ^= piv[k] + return tuple(piv[k] for k in sorted(piv, reverse=True)) + +def contained(a, b): return basis(list(a) + list(b)) == tuple(b) +def registers(e): return e[1:3] if e[0] == 'add' else e[1:2] +def hyper(p): return basis([x for x in range(1, 1 << H) if (x & p).bit_count() % 2 == 0]) +FULL = basis([1 << i for i in range(H)]) +def csha(w): return hashlib.sha256(json.dumps(w, sort_keys=True, separators=(',', ':')).encode()).hexdigest() + +class Reject(Exception): pass + +def symstate(gs): + rows = {} + for e in gs: + for q in registers(e): rows.setdefault(q, {q: Fr(1)}) + if e[0] == 'add': + t, s = e[1], e[2]; c = Fr(e[3], e[4]); d = rows[t] + for k, x in list(rows[s].items()): + a = d.get(k, 0) + c * x + if a: d[k] = a + else: d.pop(k, None) + else: + t = e[1]; c = Fr(e[2], e[3]); rows[t] = {k: c * x for k, x in rows[t].items()} + return rows + +def build(w, rc, control=None): + w = copy.deepcopy(w); B0 = w['B'] + edits = copy.deepcopy(rc['edits']); explicit = {int(i): f for i, f in rc['frames_741']} + for i, f in rc['raises']: + if int(i) in explicit: raise Reject(('duplicate frame', i)) + explicit[int(i)] = f + if control: + c = rc['controls'][control]['mutation'] + if c['kind'] == 'drop_insert': edits['insert'] = [x for k, x in enumerate(edits['insert']) if k != c['k']] + elif c['kind'] == 'flip_insert_sign': edits['insert'][c['k']]['gate'][3] *= -1 + elif c['kind'] == 'frame': explicit[c['i']] = c['frame'] + elif c['kind'] == 'drop_edits': edits = dict(replace=[], delete=[], insert=[]) + elif c['kind'] == 'drop_raises': explicit = {int(i): f for i, f in rc['frames_741']} + elif c['kind'] == 'only_edits_of': + hs = set(c['h']) + edits = {k: [x for x in v if x['h'] in hs] for k, v in edits.items()} + explicit = {i: f for i, f in explicit.items() if i in {int(j) for j, _ in rc['frames_741']} or i in set(c['raises'])} + elif c['kind'] == 'empty': edits = dict(replace=[], delete=[], insert=[]); explicit = {} + else: raise SystemExit('unknown control') + B = [list(e) for e in B0]; tag = set(); dele = set(); ins = {} + for x in edits['replace']: + i = x['i'] + if B[i][:-1] != x['old']: raise Reject(('replace old mismatch', i)) + B[i] = list(x['new']) + [B[i][-1]]; tag.add(i) + for x in edits['delete']: + i = x['i'] + if B[i][:-1] != x['old']: raise Reject(('delete old mismatch', i)) + dele.add(i) + for x in edits['insert']: ins.setdefault(x['before'], []).append(list(x['gate']) + [None]) + NB, nt, key = [], set(), [] + for i, e in enumerate(B): + for g in ins.get(i, []): nt.add(len(NB)); NB.append(g); key.append(None) + if i in dele: continue + if i in tag: nt.add(len(NB)) + NB.append(e); key.append(i) + # frames + paid + R = w['report']['R']; n = 2 * V + R + END = [FULL] * V + [hyper(p) for p in w['ports']] + [FULL] * R + for q, U in w['helper_final'].items(): END[int(q)] = basis(U) + cur = [(p,) for p in w['ports']] + [()] * (V + R) + for q, U in w['start_extra'].items(): cur[int(q)] = basis(U) + paid = Counter() + for e in w['A']: + for q in registers(e): + U = basis(e[-1]); d = len(U) - len(cur[q]) + if d: paid[d] += 1 + cur[q] = U + lev = {int(t): basis(U) for t, U in w.get('target_levels', {}).items()} + for q, U in zip(w['centers'], w['center_frames']): + U = basis(U); served = {lev.get(e[1] - V, ()) for e in w['cut'] if e[2] == q} + for T in sorted(served, key=lambda x: -len(x)): + if T != U: paid[len(U) - len(T)] += 1 + U = T + used = set() + for j, e in enumerate(NB): + rs = registers(e); k = key[j] + if k is not None and k in explicit: base = list(explicit[k]); used.add(k) + elif j in nt or e[-1] is None: base = [] + else: base = list(e[-1]) + F = basis(base + [x for q in rs for x in cur[q]]) + if k is not None and k in explicit and F != basis(explicit[k]): raise Reject(('explicit frame below join', k)) + for q in rs: + if V <= q < 2 * V and not contained(F, END[q]): raise Reject(('cap', j, q)) + d = len(F) - len(cur[q]) + if d: paid[d] += 1 + cur[q] = F + NB[j] = list(e[:-1]) + [list(F)] + if used != set(explicit): raise Reject(('unused explicit frame', sorted(set(explicit) - used))) + newearly = [] + for i, U in w['early_cleanup']: + rs = registers(w['cleanup'][i]); F = basis(list(U) + [x for q in rs for x in cur[q]]) + for q in rs: + if w['helper_final'].get(str(q)) is not None and not contained(F, END[q]): raise Reject(('tailend', i, q)) + d = len(F) - len(cur[q]) + if d: paid[d] += 1 + cur[q] = F + newearly.append([i, list(F)]) + for q in range(n): + if not contained(cur[q], END[q]): raise Reject(('end', q)) + d = len(END[q]) - len(cur[q]) + if d: paid[d] += 1 + # exactness of the B segment + a, b = symstate([e[:-1] for e in B0]), symstate([e[:-1] for e in NB]) + bad = sorted(q for q in set(a) | set(b) if a.get(q, {q: Fr(1)}) != b.get(q, {q: Fr(1)})) + if bad: raise Reject(('exactness rows', bad)) + w['B'] = NB; w['early_cleanup'] = newearly + w['report'] = dict(w['report']); w['report']['local_profile'] = {str(k): v for k, v in sorted(paid.items())} + return w + +def main(): + ap = argparse.ArgumentParser(); ap.add_argument('--input', required=True); ap.add_argument('--recipe', required=True) + ap.add_argument('--out'); ap.add_argument('--control'); ap.add_argument('--no-pin', action='store_true') + a = ap.parse_args() + w = json.loads(gzip.decompress(open(a.input, 'rb').read())); rc = json.load(open(a.recipe)) + if csha(w) != rc['input_content_sha256']: print('REJECT input pin'); sys.exit(2) + pin = rc['controls'][a.control].get('rejection_expected') if a.control else None + try: o = build(w, rc, a.control) + except Reject as r: + got = json.loads(json.dumps(r.args[0])); print('REJECT', json.dumps(got)) + if pin is not None: + print('CONTROL', 'PINNED' if got == pin else 'PIN MISMATCH %s' % json.dumps(pin)); sys.exit(0 if got == pin else 4) + sys.exit(2) + if pin is not None and not a.no_pin: print('CONTROL NOT REJECTED, pinned', json.dumps(pin)); sys.exit(4) + s = csha(o) + exp = rc['controls'][a.control].get('expected_sha') if a.control else rc['expected']['output_content_sha256'] + print('OK', s, o['report']['local_profile']) + if a.out: open(a.out, 'wb').write(gzip.compress(json.dumps(o, sort_keys=True, separators=(',', ':')).encode(), mtime=0)) + if not a.no_pin and exp and s != exp: print('REJECT output pin', exp); sys.exit(3) + +if __name__ == '__main__': main() diff --git a/research/gauge44-leaver8/construction/jx/reproduce_jx.py b/research/gauge44-leaver8/construction/jx/reproduce_jx.py new file mode 100644 index 0000000000..6829a1b25d --- /dev/null +++ b/research/gauge44-leaver8/construction/jx/reproduce_jx.py @@ -0,0 +1,99 @@ +#!/usr/bin/env python3 +"""Rebuild the X4 word (JointXF: joint read-set exchange on four further copy-pair instances plus explicit B frame +raises, including chafreaky's PR741 eight frames) and its native locals. + +Input: a fresh `construction/sw4/reproduce_sw4.py --recipe P6k4` output directory; its SW4 word (d232183f...) is pinned +there and by RECIPE-X4.json. Steps, each checked exactly: + 1. jx: build_jx.py (standard library only; JointXF) applies the recipe's explicit B edits (replace / delete / insert, + each old gate asserted), the PR741 frames and the explicit raises, repairs all other frames monotonically, checks + target frames inside u_t^perp, tails and ends, and the exactness of the whole B segment (rational replay), and + pins the output sha. + 2. jx-controls: every control in the recipe is rebuilt and must reproduce its pinned outcome exactly: a pinned + rejection site (exit 0 with CONTROL PINNED) or a pinned output sha. C1_741_only must reproduce PR741's word + e78047028c... (the construction/frames step's output); C0_identity reproduces the input. + 3. layer-end-controls: ../layers_p6n/layer_end_controls.py (per-end variant) on the X4 word; count pinned. + 4. native, ledgers, local-replay, wrappers, phases: PR635's native local programs; canonical word, local programs + and Clifford recipes pinned (LOCAL-PINS-jx-X4.json). +Apache-2.0. Driver by ColdWitness around JointXF's builder. +""" +import argparse, gzip, hashlib, json, os, subprocess, sys, time +from pathlib import Path + +HERE = Path(__file__).resolve().parent +P6 = HERE.parent / 'layers_p6n' + + +def read(p): + raw = Path(p).read_bytes() + return json.loads(gzip.decompress(raw) if str(p).endswith('.gz') else raw) + + +def main(): + assert __debug__, 'Assertions are required' + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--main', type=Path, required=True) + ap.add_argument('--pr635', type=Path, required=True) + ap.add_argument('--sw4-dir', type=Path, required=True, help='construction/sw4/reproduce_sw4.py output') + ap.add_argument('--recipe', default='X4', help='RECIPE-.json and LOCAL-PINS-jx-.json') + ap.add_argument('--out', type=Path, required=True) + ap.add_argument('--skip-phases', action='store_true') + a = ap.parse_args() + out = a.out.resolve(); assert not out.exists(); out.mkdir(parents=True) + up = a.pr635.resolve() / 'research/complex-571-cold14-st2' + src = a.main.resolve() / 'research/complex-k492-owner-repair/vendor/multicold' + base = src / 'vendor/pr558'; parent = base / 'vendor/pr552' + rfile = HERE / ('RECIPE-%s.json' % a.recipe); rec = read(rfile); pins = read(HERE / ('LOCAL-PINS-jx-%s.json' % a.recipe)) + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONUTF8='1', PYTHONINTMAXSTRDIGITS='0', + MULTICOLD_SOURCE=str(src), GAIN_PR564_SOURCE=str(src)) + for k in ('PYTHONOPTIMIZE', 'XPARAM', 'EXTRAH', 'PAIRING_RANKS', 'DIAG', 'HYBBUDGET', 'PR635_CODE'): env.pop(k, None) + steps = [] + + def run(label, script, *args, portable=True, ok=(0,)): + t = time.monotonic() + cmd = [sys.executable, '-B'] + ([str(src / 'code/run_portable.py')] if portable else []) + [str(script), *map(str, args)] + with (out / (label + '.log')).open('w') as f: + rc = subprocess.call(cmd, env=env, stdout=f, stderr=subprocess.STDOUT) + steps.append(dict(step=label, exit_code=rc, seconds=round(time.monotonic() - t, 3))) + (out / 'STEPS.json').write_text(json.dumps(steps, indent=2) + '\n') + assert rc in ok, (label, rc) + print('PASS', label, flush=True) + return (out / (label + '.log')).read_text() + + inp = a.sw4_dir.resolve() / 'sw4/FULL-WORD.json.gz' + assert hashlib.sha256(gzip.decompress(inp.read_bytes())).hexdigest() == rec['input_content_sha256'], 'input must be the pinned SW4 word' + (out / 'jx').mkdir(); word = out / 'jx/FULL-WORD.json.gz' + run('jx', HERE / 'build_jx.py', '--input', inp, '--recipe', rfile, '--out', word, portable=False) + assert hashlib.sha256(gzip.decompress(word.read_bytes())).hexdigest() == rec['expected']['output_content_sha256'] + assert len(rec['controls']) == pins['jx_controls'], len(rec['controls']) + results = {} + for name, c in sorted(rec['controls'].items()): + log = run('jx-control-' + name, HERE / 'build_jx.py', '--input', inp, '--recipe', rfile, '--control', name, portable=False) + if 'rejection_expected' in c: + assert 'CONTROL PINNED' in log, (name, log[-300:]); results[name] = dict(rejected=c['rejection_expected']) + else: + assert ('OK ' + c['expected_sha']) in log, (name, log[-300:]); results[name] = dict(sha=c['expected_sha']) + assert rec['controls']['C1_741_only']['expected_sha'] == rec['frames_741_source']['frames_only_output_sha'] + (out / 'JX-CONTROLS.json').write_text(json.dumps(dict(status='PASS_JX_PINNED_CONTROLS', controls=results), indent=1) + '\n') + routing = parent / 'complex-local/inputs/phase-baseline/CANONICAL-WORD.json.gz' + env['PR635_CODE'] = str(up / 'code') + run('layer-end-controls', P6 / 'layer_end_controls.py', word, routing, out / 'controls') + env.pop('PR635_CODE') + ctl = read(out / 'controls/COLD-END-CONTROLS.json') + assert ctl['status'] == 'PASS_COLD_END_RAW_WORD_CONTROLS' and len(ctl['rejected']) == pins['layer_controls'], len(ctl['rejected']) + local = out / 'local' + run('native', up / 'code/hpe_audit_and_transport.py', '--raw', word, '--routing', routing, '--out', local) + assert hashlib.sha256(gzip.decompress((local / 'CANONICAL-WORD.json.gz').read_bytes())).hexdigest() == pins['canonical_sha256'], 'canonical word' + run('ledgers', up / 'code/hpe_emit_local.py', local) + run('local-replay', up / 'code/hpe_audit_local.py', local) + run('wrappers', up / 'code/hpe_adapters_local.py', local / 'CANONICAL-WORD.json.gz', + local / 'RESIDUAL-ADAPTERS.json', local / 'WRAPPER-CHECKS.json') + checks = read(local / 'LOCAL-CHECKS.json') + for o, s in pins['program_sha256'].items(): assert checks[o]['sha256'] == s, ('local program', o) + if not a.skip_phases: + run('phases', base / 'code/phases_full.py', local, parent / 'complex-global/vendor531/vendor/clifford') + assert hashlib.sha256((local / 'CLIFFORD-RECIPES.json').read_bytes()).hexdigest() == pins['clifford_recipes_sha256'], 'clifford recipes' + print('DONE', local, flush=True) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-leaver8/construction/layers/build_pivot_swap.py b/research/gauge44-leaver8/construction/layers/build_pivot_swap.py new file mode 100644 index 0000000000..b225601c01 --- /dev/null +++ b/research/gauge44-leaver8/construction/layers/build_pivot_swap.py @@ -0,0 +1,160 @@ +"""Cost-neutral pivot-role swaps inside existing entrance-kernel families. Apache-2.0. Prepared with Claude Code +assistance. The pivot/donor role exchange follows PR266's "pivot role is moved" idea (bit side), applied here to the +complex supplier's multicut kernel families (PR568 build_multicut_kernels.py shape). + +A kernel family on the input word is an entering helper p (start_extra E) together with the gates that read p at frame +E before any other touch of p: d += c_d * p @E (d a helper or, in B, a target). They cancel p's complete dirty +response: col(p) + sum_d c_d * col_{g_d}(d) = 0, where col_{g}(d) is d's suffix response from gate g on. + +Swap to the new pivot x (a helper donor of the family with exactly one family gate g_x = x's FIRST touch, and no other +touch of x up to the family's last gate): + g_x : x += c_x p -> p += (1/c_x) x + g_d : d += c_d p -> d += (c_d/c_x) x (d != x, same position and frame E) + start_extra: p -> x (same E); cleanup regenerated by the inherited inverse rule. +Exactness (PROOF-NOTE-PIVOT.md): x holds only its initial dirt at every rewritten gate, and p holds only its initial dirt +until g_x, so x's new response is col(x) + col(p)/c_x + sum_d (c_d/c_x) col_{g_d}(d) = (c_x col(x) + col(p) + +sum_d c_d col_{g_d}(d)) / c_x = 0, because col(x) = col_{g_x}(x). This script checks it by exact rational replay anyway. +Cost: the frame chains of p and x are exchanged (p now climbs [] -> E at g_x where x did; x starts at E where p did), so +gk_word.profile and the width multiset are unchanged; both are asserted. + +Recipe: {input_content_sha256, output_content_sha256, swaps: [{pivot, new_pivot, entrance, gates: [{part, index, +before, after}]}]}. Every expected `after` gate is recomputed from the rule above and must equal the recipe. + +Negative controls (--controls): mutated recipes/words that must be rejected at pinned reasons: + * nonzero response: another family gate's rescaled coefficient has the wrong sign; + * wrong pivot coefficient: g_x's new coefficient doubled; + * wrong entrance: the recipe's entrance is not p's start_extra; + * non-family gate: a recipe gate whose `before` is not the word's gate; + * new pivot touched in the window: x replaced by a family donor that is not a fresh helper (a target donor, or the + first other helper donor when the family has no target donor). +""" +from pathlib import Path +from collections import Counter +from fractions import Fraction as Q +import argparse, copy, gzip, hashlib, json, sys +assert __debug__, 'Assertions required' +ap = argparse.ArgumentParser() +for k in ('--input', '--recipe', '--gk-dir', '--out'): ap.add_argument(k, type=Path, required=True) +a = ap.parse_args(); assert not a.out.exists() +sys.path.insert(0, str(a.gk_dir)); import gk_word as G, gk_common as C +G.V = C.V = 112; G.DATA = C.DATA = 7168 +V = 112 +raw = json.loads(gzip.decompress(a.input.read_bytes())); recipe = json.loads(a.recipe.read_text()) +enc = lambda x: json.dumps(x, sort_keys=True, separators=(',', ':')).encode(); sha = lambda x: hashlib.sha256(x).hexdigest() +regs = lambda e: [e[1]] + ([e[2]] if e[0] == 'add' else []) +inv_rule = lambda w: [G.inverse(e, G.FULL) for e in reversed(w['A'] + w['B']) if not V <= e[1] < 2 * V] +dy = lambda q: q != 0 and q.denominator & (q.denominator - 1) == 0 + + +def response(w, h): + rows = {} + def get(r): return rows.setdefault(r, {r: Q(1)}) + for e in w['A'] + w['cut'] + w['B']: + if e[0] == 'scale': + q = Q(e[2], e[3]); rows[e[1]] = {j: q * x for j, x in get(e[1]).items()} + else: + t, s = e[1], e[2]; q = Q(e[3], e[4]); src = get(s); tgt = get(t) + for j, x in list(src.items()): + z = tgt.get(j, Q(0)) + q * x + if z: tgt[j] = z + else: tgt.pop(j, None) + return {r: rows[r][h] for r in range(V, 2 * V) if r in rows and rows[r].get(h)} + + +def build(w0, rec): + w = copy.deepcopy(w0); n = 2 * V + w['report']['R'] + assert w['cleanup'] == inv_rule(w), 'input cleanup is not the inherited inverse rule' + P0 = G.profile(w); W0 = Counter(C.widths_of(w)) + AB = [('A', i) for i in range(len(w['A']))] + [('B', i) for i in range(len(w['B']))] + pos = {k: j for j, k in enumerate(AB)} + seen = set(); receipts = []; rules = [] + for s in rec['swaps']: + p, x, E = s['pivot'], s['new_pivot'], s['entrance'] + assert 2 * V <= p < n and w['start_extra'].get(str(p)) == E, 'pivot is not an entering helper at the entrance' + assert 2 * V <= x < n and x not in w['centers'], 'new pivot must be a helper' + assert str(x) not in w['start_extra'], 'new pivot already entering' + assert not {p, x} & seen, 'registers shared between swaps'; seen |= {p, x} + gs = s['gates']; ks = [pos[(g['part'], g['index'])] for g in gs] + assert ks == sorted(ks) and len(set(ks)) == len(ks) + for g in gs: + e = w[g['part']][g['index']] + assert e == g['before'], 'recipe gate is not the word gate' + assert e[0] == 'add' and e[2] == p and e[1] != p and list(e[-1]) == list(E), 'not a family gate (d += c p @E)' + touch = lambda r: [j for j, (part, i) in enumerate(AB) if r in regs(w[part][i])] + tp = touch(p); assert tp[:len(ks)] == ks, 'family gates must be all touches of the pivot up to its first other touch' + gx = [k for k, g in zip(ks, gs) if g['before'][1] == x]; assert len(gx) == 1, 'new pivot must have exactly one family gate' + tx = touch(x); assert tx[0] == gx[0], 'new pivot touched before its family gate' + assert len(tx) == 1 or tx[1] > ks[-1], 'new pivot touched inside the family window' + cx = Q(*[g['before'][3:5] for g in gs if g['before'][1] == x][0]) + for g in gs: + d, f = g['before'][1], g['after'] + assert f[0] == 'add' and list(f[-1]) == list(E) and (f[1:3] == [p, x] if d == x else f[1:3] == [d, x]), 'after-gate shape' + assert dy(Q(f[3], f[4])), 'non-dyadic swapped coefficient' + w[g['part']][g['index']] = f + q = 1 / cx if d == x else Q(g['before'][3], g['before'][4]) / cx + rules.append((f, ['add', p, x, q.numerator, q.denominator, list(E)] if d == x else ['add', d, x, q.numerator, q.denominator, list(E)])) + w['start_extra'][str(x)] = w['start_extra'].pop(str(p)) + receipts.append(dict(pivot=p, new_pivot=x, entrance=E, family_gates=len(gs))) + w['cleanup'] = inv_rule(w) + for s in rec['swaps']: + assert not response(w, s['new_pivot']), 'new pivot dirty response not zero' + assert all(f == e for f, e in rules), 'recipe after-gate is not the swap rule' + P1 = G.profile(w) + assert P1 == P0, 'paid profile not identical (swap is not cost-neutral)' + assert Counter(C.widths_of(w)) == W0, 'width multiset changed' + w['report']['local_profile'] = {str(k): v for k, v in sorted(P1.items())} + w['report']['local_rank_mass'] = sum(k * v for k, v in P1.items()) + return w, receipts + + +assert sha(enc(raw)) == recipe['input_content_sha256'], 'input content' +out, receipts = build(raw, recipe) +o = enc(out); assert sha(o) == recipe['output_content_sha256'], sha(o) + +# ---- negative controls ------------------------------------------------------------------------------------------- +WHY = dict(nonzero='new pivot dirty response not zero', coef='new pivot dirty response not zero', + entrance='paid profile not identical', nonfamily='recipe gate is not the word gate', + window='new pivot') +controls = [] + + +def reject(name, mut, why): + r = copy.deepcopy(recipe); w = copy.deepcopy(raw) + mut(r, w) + try: + build(w, r) + except AssertionError as ex: + msg = str(ex) + assert why in msg, ('control rejected for the wrong reason', name, msg) + controls.append(dict(control=name, reason=msg)); return + raise AssertionError('control accepted: ' + name) + + +for si, s in enumerate(recipe['swaps']): + x = s['new_pivot']; tag = '%d->%d' % (s['pivot'], x) + def m_other(r, w, si=si): + g = [g for g in r['swaps'][si]['gates'] if g['before'][1] != r['swaps'][si]['new_pivot']][0] + g['after'] = list(g['after']); g['after'][3] = -g['after'][3] + def m_coef(r, w, si=si): + g = [g for g in r['swaps'][si]['gates'] if g['before'][1] == r['swaps'][si]['new_pivot']][0] + g['after'] = list(g['after']); g['after'][3] *= 2 + def m_nonfamily(r, w, si=si): + g = r['swaps'][si]['gates'][0]; g['before'] = list(g['before']); g['before'][3] = -g['before'][3] + def m_window(r, w, si=si): + S = r['swaps'][si]; S['new_pivot'] = [g['before'][1] for g in S['gates'] if g['before'][1] != S['new_pivot']][0] + def m_entrance(r, w, si=si): + S = r['swaps'][si]; S['entrance'] = [1] + reject('swap %s: another family gate keeps a wrong (unrescaled-sign) coefficient: new pivot response nonzero' % tag, m_other, WHY['nonzero']) + reject('swap %s: wrong pivot coefficient (1/c doubled) on the new pivot gate' % tag, m_coef, WHY['coef']) + reject('swap %s: non-family gate in the recipe' % tag, m_nonfamily, WHY['nonfamily']) + reject('swap %s: new pivot replaced by another family donor (not a fresh cold helper)' % tag, m_window, WHY['window']) + reject('swap %s: wrong entrance frame for the moved entrance' % tag, m_entrance, 'pivot is not an entering helper at the entrance') +controls_receipt = list(controls) + +a.out.mkdir(parents=True); (a.out / 'FULL-WORD.json.gz').write_bytes(gzip.compress(o, mtime=0)) +rc = dict(status='PASS_COST_NEUTRAL_PIVOT_SWAPS', input_content_sha256=recipe['input_content_sha256'], + output_content_sha256=recipe['output_content_sha256'], swaps=receipts, local_profile=out['report']['local_profile'], + negative_controls_rejected=controls_receipt, + scope='Exact family rewrite, exact zero dirty response of every new pivot, identical paid profile and widths, ' + 'regenerated inverse-rule cleanup. Native all-column audit, HPE/cold steps and global checks remain separate.') +(a.out / 'PIVOT-SWAP.json').write_text(json.dumps(rc, indent=2, sort_keys=True) + '\n', newline='\n'); print(json.dumps(rc, indent=2)) diff --git a/research/gauge44-leaver8/construction/layers/layer_end_controls.py b/research/gauge44-leaver8/construction/layers/layer_end_controls.py new file mode 100644 index 0000000000..317da36d95 --- /dev/null +++ b/research/gauge44-leaver8/construction/layers/layer_end_controls.py @@ -0,0 +1,201 @@ +"""layer_end_controls.py LAYERED-WORD.json.gz ROUTING OUTDIR (env PR635_CODE): adapted PR635 cold_end_controls.py (LayerReviewer): raw-word negative controls for the cold low-frame ends and the +refactored cleanup accepted by hpe_audit_and_transport.py. Every mutation MUST be rejected (AssertionError); the +unmutated word MUST pass. Apache-2.0. DreamingOfClouds with Claude Opus 5.5 (Anthropic), via Claude Code.""" +import copy, gzip, json, shutil, sys, tempfile +from pathlib import Path +import os +sys.path.insert(0, os.environ['PR635_CODE']) # PR635's unchanged hpe_audit_and_transport.py +import hpe_audit_and_transport as atc + +src, routing, outdir = Path(sys.argv[1]), Path(sys.argv[2]), Path(sys.argv[3]) +word = json.load(gzip.open(src)) +v, R = word['report']['v'], word['report']['R']; n = 2*v + R +regs = lambda e: [e[1]] + ([e[2]] if e[0] == 'add' else []) +meta = word['refactored_cleanup'] +cold = [int(h) for h in meta['cold_low_frame_ended_helpers']] +npre = meta['premix_gates']; nlow = meta['lower_frame_gates'] +early = word['early_cleanup']; eidx = {i for i, _ in early} +rest = [i for i in range(len(word['cleanup'])) if i not in eidx] + + +def trial(w): + """None if the transport audit accepts w, else the AssertionError message.""" + tmp = Path(tempfile.mkdtemp()) + p = tmp/'w.json.gz'; p.write_bytes(gzip.compress(json.dumps(w).encode(), mtime=0)) + try: + atc.run(p, routing, tmp/'out') + return None + except AssertionError as e: + return repr(e.args[0]) if e.args else 'AssertionError' + finally: + shutil.rmtree(tmp, ignore_errors=True) + + +# Pinned rejection reasons: each mutant must fail at this assertion of hpe_audit_and_transport.py (message substring). +ENDPOINT, COLDPRE, CONE = "'arbitrary-dirt endpoint'", 'touches a cold hyperplane-ended helper', 'hpe cone pre-check (row / column)' +WHY = dict(premix_to_precondition=COLDPRE, premix_dropped=COLDPRE, e_premix_dropped=ENDPOINT, lower_dropped=ENDPOINT, + remainder_dropped=ENDPOINT, coefficient=ENDPOINT, into_full='cleanup on non-FULL end', dyadic=ENDPOINT, frame_below="'nonmonotone'", + nonmonotone="'nonmonotone'", other_frame=CONE, cone=CONE, extra_end=COLDPRE, marker='cleanup is not the literal reversed inverse', + target='refactored cleanup touches a target', profile_pin='paid local profile differs from the reported local_profile', + entering_precondition='zero-frame precondition/compensation touches an entering helper') +assert trial(word) is None, 'unmutated cold-end word must pass' +results = [] + + +def reject(name, mut, why): + """the mutation must be rejected, and for the pinned reason (a substring of the audit's assertion message).""" + w = copy.deepcopy(word); mut(w) + msg = trial(w) + assert msg is not None, 'cold-end mutation accepted: ' + name + assert why in msg, 'cold-end mutation %r rejected for the wrong reason: %s' % (name, msg[:300]) + results.append(name); print('rejected', name, '|', why, flush=True) + + +h0 = cold[0] +i0, U0 = next((i, f) for i, f in early if h0 in regs(word['cleanup'][i])) +r0 = rest[len(rest)//2] + + +def premix_to_precondition(w): # premix before the wrappers; compensation then reads the cold ends + w['precondition'] = w['precondition'] + w['A'][:npre]; w['A'] = w['A'][npre:] + + +def lower_gate_into_full(w): # a lower-frame gate on a cold-ended helper executed in the FULL remainder instead + w['early_cleanup'] = [x for x in w['early_cleanup'] if x[0] != i0] + + +def drop_cleanup_gate(w, i): # remove the gate AND its early_cleanup entry: a structurally valid word missing one gate + w['cleanup'].pop(i) + w['early_cleanup'] = [[j - (j > i), f] for j, f in w['early_cleanup'] if j != i] + + +def other_frame(w): # a different frame of the same dimension as the cold end (another cold helper's) + f = next(w['helper_final'][str(h)] for h in cold if w['helper_final'][str(h)] != w['helper_final'][str(h0)]) + w['helper_final'][str(h0)] = f + + +def extra_cold_end(w): # declare a premixed partner of h0 cold-ended at h0's frame: fails the row/column cone + p = next(r for e in w['A'][:npre] for r in regs(e) if r != h0 and h0 in regs(e)) + w['helper_final'][str(p)] = w['helper_final'][str(h0)] + + +reject('premix placed in the zero-frame precondition (before the cold wrappers)', premix_to_precondition, WHY['premix_to_precondition']) +reject('one premix gate dropped (the compensation then reads a cold-ended helper)', lambda w: w['A'].pop(npre - 1), WHY['premix_dropped']) +reject('one lower-frame cleanup gate dropped (gate and its early_cleanup entry)', lambda w: drop_cleanup_gate(w, i0), WHY['lower_dropped']) +reject('one FULL-remainder gate dropped', lambda w: drop_cleanup_gate(w, r0), WHY['remainder_dropped']) +reject('lower-frame gate coefficient changed', lambda w: w['cleanup'][i0].__setitem__(3, w['cleanup'][i0][3] * 2), WHY['coefficient']) +reject('lower-frame gate moved into the FULL remainder (touches a cold-ended helper at FULL)', lower_gate_into_full, WHY['into_full']) +reject('lower-frame gate frame below its registers\' frames', lambda w: next(x for x in w['early_cleanup'] if x[0] == i0).__setitem__(1, U0[:-1]), WHY['frame_below']) +reject('cold end at another dim-4 frame', other_frame, WHY['other_frame']) +# PROFILE-PIN control: without its helper_final entry the cold-ended helper is a valid FULL-ended helper; the word is +# rejected because its reported paid profile (which counts the low end) no longer matches the frame chains. +reject('profile pin: cold end dropped (valid FULL end, but the reported profile counts the low end)', lambda w: w['helper_final'].pop(str(h0)), WHY['profile_pin']) +reject('extra cold end on a premixed partner (the compensation reads it before its wrapper)', extra_cold_end, WHY['extra_end']) +reject('refactored-cleanup marker removed (literal-inverse rule applies)', lambda w: w.pop('refactored_cleanup'), WHY['marker']) +reject('remainder gate retargeted to a target register', lambda w: w['cleanup'][r0].__setitem__(1, v + 3), WHY['target']) +reject('non-dyadic remainder coefficient', lambda w: w['cleanup'][r0].__setitem__(4 if w['cleanup'][r0][0] == 'add' else 3, 3 * w['cleanup'][r0][4 if w['cleanup'][r0][0] == 'add' else 3]), WHY['dyadic']) +reject('profile not updated (paid climbs misreported)', lambda w: w['report']['local_profile'].__setitem__('5', w['report']['local_profile']['5'] - 1), WHY['profile_pin']) +ent = [int(h) for h in sys.argv[4].split(',')] if len(sys.argv) > 4 else [int(h) for h in meta.get('entering_low_frame_ended_helpers', [])] +for e0 in ent: # ENTERING LOW-FRAME ENDS (ColdSupply extension; every entering end; absent for words without them) + j0 = next((i for i, e in enumerate(word['A'][:npre]) if e0 in regs(e)), None) + print('entering end', e0, 'premix gate', j0, flush=True) + k0, Ue = next((i, f) for i, f in early if e0 in regs(word['cleanup'][i])) + def to_pre(w, j0=j0): w['precondition'].append(w['A'][j0]); w['A'].pop(j0) + def other_hp(w, e0=e0, Ue=Ue): w['helper_final'][str(e0)] = next(f for h, f in w['helper_final'].items() if len(f) == len(Ue) and sorted(f) != sorted(Ue)) + if j0 is not None: reject('entering end %d: premix gate dropped' % e0, lambda w, j0=j0: w['A'].pop(j0), WHY['e_premix_dropped']) + if j0 is not None: reject('entering end %d: premix gate at frame [] instead of its entrance E' % e0, lambda w, j0=j0: w['A'][j0].__setitem__(-1, []), WHY['nonmonotone']) + if j0 is not None: reject('entering end %d: premix gate moved into the zero-frame precondition' % e0, to_pre, WHY['entering_precondition']) + reject('entering end %d: lower-frame gate dropped (gate and its early_cleanup entry)' % e0, lambda w, k0=k0: drop_cleanup_gate(w, k0), WHY['lower_dropped']) + reject('entering end %d: profile pin: end dropped (valid FULL end, but the reported profile counts the low end)' % e0, lambda w, e0=e0: w['helper_final'].pop(str(e0)), WHY['profile_pin']) + reject('entering end %d: end at another hyperplane' % e0, other_hp, WHY['cone']) +# Pinned rejection reasons of the COLD-BEYOND mutants (substrings of hpe_audit_and_transport.py assertion messages). +MYWHY = dict(tw_precondition=COLDPRE, tw_dropped=COLDPRE, tw_coefficient=COLDPRE, tw_other_block=COLDPRE, + tw_entering='zero-frame compensation reads an entering helper', + ab_dropped=ENDPOINT, ab_coefficient=ENDPOINT, ab_early=ENDPOINT, ab_live=ENDPOINT, ab_centre=ENDPOINT, + ab_lower="'nonmonotone'", ab_higher="'nonmonotone'", + sh_dropped=ENDPOINT, sh_coefficient=ENDPOINT, rel_dropped=ENDPOINT, rel_coefficient=ENDPOINT, rel_live=ENDPOINT, + h8_other=CONE, h8_lower=ENDPOINT) +# COLD-BEYOND primitives (present only when the word carries them): frame-[] target writes in the premix (explicit +# post-wrapper compensation of an ended helper's dirt) and forward absorptions into dead registers. +nw = meta.get('premix_target_writes', 0) +if nw: + wi = [i for i in range(npre) if v <= word['A'][i][1] < 2*v] + assert len(wi) == nw + + def writes_to_precondition(w): # the target writes run before the cold wrappers (inside the zero-frame precondition) + g = [w['A'][i] for i in wi]; w['precondition'] = w['precondition'] + g + w['A'] = [e for i, e in enumerate(w['A']) if i not in set(wi)] + reject('premix target writes placed in the zero-frame precondition (before the cold wrappers)', writes_to_precondition, MYWHY['tw_precondition']) + reject('one premix target write dropped (compensation must read an ended helper)', lambda w: w['A'].pop(wi[0]), MYWHY['tw_dropped']) + reject('premix target write coefficient changed', lambda w: w['A'][wi[0]].__setitem__(3, w['A'][wi[0]][3] * 2), MYWHY['tw_coefficient']) + # (reading another register that carries the SAME weight of the ended helper's dirt is a valid variant, so the mutant reads + # the same factory slot of the next block, which carries none of it) + entering_regs = sorted(int(r) for r in word.get('start_extra', {})) + reject('premix target write reads an entering helper', lambda w: w['A'][wi[0]].__setitem__(2, entering_regs[0]), MYWHY['tw_entering']) + reject('premix target write reads a cold helper of another block', lambda w: w['A'][wi[0]].__setitem__(2, 2*v + (w['A'][wi[0]][2] - 2*v + 16) % 224), MYWHY['tw_other_block']) +ab = meta.get('forward_absorption_A_indices', []) +if any(len(word['helper_final'][str(h)]) == 8 for h in cold): + # with dim-8 cold ends, the centre-retargeted absorption first leaks an ended helper's dirt into the cut's targets + MYWHY['ab_centre'] = COLDPRE +if ab: + # the ColdBeyond U_b absorption (q += -1/2 g); ColdThird's extra absorptions have their own controls below + a0 = next(a for a in ab if word['A'][a][3] * 2 == -word['A'][a][4]); g0 = word['A'][a0] + + def absorption_moved_early(w): # absorbed before the absorbed register's last kernel write + e = w['A'].pop(a0); j = max(i for i in range(npre, a0) if g0[2] == w['A'][i][1] and w['A'][i][-1] == g0[-1]) + w['A'].insert(j, e) + + def absorption_into_live(w): # q += a g moved right after g's previous frame-mate gate, while q is still live + e = w['A'].pop(a0); j = max(i for i in range(npre, a0) if g0[1] in regs(w['A'][i])) + w['A'].insert(j, e) + reject('forward absorption dropped', lambda w: w['A'].pop(a0), MYWHY['ab_dropped']) + reject('forward absorption into a centre (a live register read by the cut)', lambda w: w['A'][a0].__setitem__(1, next(c for c in word['centers'] if c not in g0[1:3] and c not in cold)), MYWHY['ab_centre']) + reject('forward absorption coefficient changed', lambda w: w['A'][a0].__setitem__(3, w['A'][a0][3] * 2), MYWHY['ab_coefficient']) + reject('forward absorption placed before the absorbed register\'s last kernel write', absorption_moved_early, MYWHY['ab_early']) + reject('forward absorption placed while the absorbing register is still live', absorption_into_live, MYWHY['ab_live']) + reject('forward absorption at a lower frame than its registers', lambda w: w['A'][a0].__setitem__(-1, w['A'][a0][-1][:-1]), MYWHY['ab_lower']) + reject('forward absorption at a higher frame (FULL) than its registers', lambda w: w['A'][a0].__setitem__(-1, [256, 128, 64, 32, 16, 8, 4, 2, 1]), MYWHY['ab_higher']) +# COLD-THIRD primitives (present only when the word carries them): several absorptions after one input gate, dirt-release +# absorptions (a dead port takes a live helper's value so that a hyperplane unit's column has no dirt on it), and cold ends at +# a dim-8 frame with lifted partners. +hyper = [h for h in cold if len(word['helper_final'][str(h)]) == 8] +if hyper and ab: + sh = next(a for a, b in zip(ab, ab[1:]) if b == a + 1) # two absorptions sharing one input anchor + rel = next(a for a in ab if a - 1 not in ab and a + 1 not in ab and word['A'][a][2] in hyper and word['A'][a][3] * 2 != -word['A'][a][4]) + hh = hyper[0]; ih = next(i for i, f in early if hh in regs(word['cleanup'][i])) + reject('second absorption sharing an input anchor dropped', lambda w: w['A'].pop(sh + 1), MYWHY['sh_dropped']) + reject('shared-anchor absorption coefficient changed', lambda w: w['A'][sh + 1].__setitem__(3, w['A'][sh + 1][3] * 2), MYWHY['sh_coefficient']) + reject('dirt-release absorption dropped', lambda w: w['A'].pop(rel), MYWHY['rel_dropped']) + reject('dirt-release absorption coefficient changed', lambda w: w['A'][rel].__setitem__(3, w['A'][rel][3] * 2), MYWHY['rel_coefficient']) + jr = max(i for i in range(npre, rel) if word['A'][i][0] == 'add' and word['A'][i][2] == word['A'][rel][1]) + + def release_while_read(w): # the release runs before a kernel gate that still READS the port (port live) + e = w['A'].pop(rel); w['A'].insert(jr, e) + reject('dirt-release absorption moved before a kernel gate that still reads the port', release_while_read, MYWHY['rel_live']) +if hyper: + # dim-8 cold-end controls once PER DISTINCT dim-8 terminal frame (each family of dim-8 cold ends keeps its own controls) + fams = [] + for h in hyper: + if sorted(word['helper_final'][str(h)]) not in [sorted(word['helper_final'][str(x)]) for x in fams]: fams.append(h) + for hh in fams: + ih = next(i for i, f in early if hh in regs(word['cleanup'][i])) + Uh = word['helper_final'][str(hh)] + reject('dim-8 cold end %d (frame %s) at another dim-8 frame' % (hh, Uh), lambda w, hh=hh: w['helper_final'].__setitem__(str(hh), next(f for h, f in w['helper_final'].items() if len(f) == 8 and sorted(f) != sorted(w['helper_final'][str(hh)]))), MYWHY['h8_other']) + reject('dim-8 cold end %d (frame %s): one lower-frame gate dropped (gate and its early_cleanup entry)' % (hh, Uh), lambda w, ih=ih: drop_cleanup_gate(w, ih), MYWHY['h8_lower']) + reject('dim-8 cold end %d (frame %s): profile pin (end dropped)' % (hh, Uh), lambda w, hh=hh: w['helper_final'].pop(str(hh)), WHY['profile_pin']) +# FACTORED ACCUMULATOR (CarrierBypass; present only when the word carries one): a lower-frame tail gate a += x*g on two +# non-ended registers whose accumulator a is afterwards read by a dim-8 cold end's tail gate (h += y*a at its U). +ended_all = {int(h) for h in word['helper_final']} +tailg = [(i, word['cleanup'][i]) for i, _ in early] +accs = [] # EVERY factored accumulator gate (one per accumulator register a), each controlled on its own +for k, (i, e) in enumerate(tailg): + if e[0] == 'add' and e[1] not in ended_all and e[2] not in ended_all and len(next(f for j, f in early if j == i)) < 8: + if e[1] not in [word['cleanup'][j][1] for j in accs] and any(t[0] == 'add' and t[2] == e[1] and t[1] in hyper for _, t in tailg[k + 1:]): + accs.append(i) +for acc in accs: + a = word['cleanup'][acc][1] + reject('factored accumulator %d (gate %d) zeroed' % (a, acc), lambda w, acc=acc: w['cleanup'][acc].__setitem__(3, 0), ENDPOINT) + reject('factored accumulator %d (gate %d) coefficient doubled' % (a, acc), lambda w, acc=acc: w['cleanup'][acc].__setitem__(3, w['cleanup'][acc][3] * 2), ENDPOINT) +outdir.mkdir(parents=True, exist_ok=True) +(outdir/'COLD-END-CONTROLS.json').write_text(json.dumps(dict(status='PASS_COLD_END_RAW_WORD_CONTROLS', word=str(src), rejected=results), indent=1) + '\n') +print('PASS', len(results), 'cold-end raw-word mutations rejected') diff --git a/research/gauge44-leaver8/construction/layers/reproduce_layers.py b/research/gauge44-leaver8/construction/layers/reproduce_layers.py new file mode 100644 index 0000000000..ed517ba1dd --- /dev/null +++ b/research/gauge44-leaver8/construction/layers/reproduce_layers.py @@ -0,0 +1,105 @@ +#!/usr/bin/env python3 +"""Rebuild the layered gauge44 word (pivot swaps + entering ends + factored dim-8 cold ends) and its native locals. + +Input: a fresh `construction/reproduce.py --until word` output directory (its regroup/ and cold44/ words are pinned +by reproduce.py itself). Steps, each checked exactly: + 1. pivot-swap: construction/layers/build_pivot_swap.py on regroup/FULL-WORD (six cost-neutral pivot-role swaps, + exact zero-response replay, unchanged profile and width multiset, 30 negative controls); + 2. hpe: the inherited jp8 hyperplane-end changes (HYPERPLANE-END-S6.json) applied with PR635's build_hpe.apply; + 3. cold44-exact: #645's build_gauge_cold44.py on the swapped HPE word; its 44 rank-four cold ends, premix and tail + must equal the unswapped cold44 construction's (the swaps touch no factory block); + 4. layers: PR635's unchanged build_cold_end.apply(HPE, COLD-LAYERS-RECIPE) - the cold44 recipe plus 8 entering ends + (560/561/572/573 at U24, 597/599/537/549 at U30) and 10 factored dim-8 cold ends; output sha pinned; + 5. layer-end-controls: raw-word negative controls on the layered word (PR635 cold_end_controls adapted by + LayerReviewer: lower->FULL pinned at 'cleanup on non-FULL end', entering ends from the recipe); 59 rejected; + 6. native, ledgers, local-replay, wrappers, phases: PR635's native local programs (as in reproduce.py). +""" +import argparse, gzip, hashlib, importlib.util, json, os, subprocess, sys, time +from pathlib import Path + +HERE = Path(__file__).resolve().parent +LAYERED_SHA = '0be48b1d8a6105059addf3f0d5e420c27ae3398b3a1186b6b11e9c4aa9e3f3d4' +LAYER_CONTROLS = 59 + + +def read(p): + raw = Path(p).read_bytes() + return json.loads(gzip.decompress(raw) if str(p).endswith('.gz') else raw) + + +def enc(x): return json.dumps(x, sort_keys=True, separators=(',', ':')).encode() + + +def load(name, path): + s = importlib.util.spec_from_file_location(name, path); m = importlib.util.module_from_spec(s); s.loader.exec_module(m); return m + + +def main(): + assert __debug__, 'Assertions are required' + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--main', type=Path, required=True) + ap.add_argument('--pr635', type=Path, required=True) + ap.add_argument('--word-dir', type=Path, required=True, help='construction/reproduce.py --until word output') + ap.add_argument('--out', type=Path, required=True) + ap.add_argument('--skip-phases', action='store_true') + a = ap.parse_args() + out = a.out.resolve(); assert not out.exists(); out.mkdir(parents=True) + up = a.pr635.resolve() / 'research/complex-571-cold14-st2' + src = a.main.resolve() / 'research/complex-k492-owner-repair/vendor/multicold' + base = src / 'vendor/pr558'; parent = base / 'vendor/pr552'; gk = parent / 'complex-local/static44/gk' + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONUTF8='1', PYTHONINTMAXSTRDIGITS='0', + MULTICOLD_SOURCE=str(src), GAIN_PR564_SOURCE=str(src)) + env.pop('PYTHONOPTIMIZE', None) + steps = [] + + def run(label, script, *args): + t = time.monotonic() + with (out / (label + '.log')).open('w') as f: + rc = subprocess.call([sys.executable, '-B', str(src / 'code/run_portable.py'), str(script), *map(str, args)], + env=env, stdout=f, stderr=subprocess.STDOUT) + steps.append(dict(step=label, exit_code=rc, seconds=round(time.monotonic() - t, 3))) + (out / 'STEPS.json').write_text(json.dumps(steps, indent=2) + '\n') + assert rc == 0, label + print('PASS', label, flush=True) + + wd = a.word_dir.resolve() + run('pivot-swap', HERE / 'build_pivot_swap.py', '--input', wd / 'regroup/FULL-WORD.json.gz', + '--recipe', HERE / 'PIVOT-SWAP-S6.json', '--gk-dir', gk, '--out', out / 'swap') + hpe = load('upstream_hpe', up / 'code/build_hpe.py') + w = hpe.apply(read(out / 'swap/FULL-WORD.json.gz'), read(HERE / 'HYPERPLANE-END-S6.json')['changes']) + (out / 'hpe').mkdir(); (out / 'hpe/FULL-WORD.json.gz').write_bytes(gzip.compress(enc(w), mtime=0)) + run('cold44-exact', HERE.parent / 'build_gauge_cold44.py', '--input', out / 'hpe/FULL-WORD.json.gz', + '--out', out / 'cold44', '--hamming', wd / 'hamming', '--upstream-package', up) + new, old = read(out / 'cold44/RECIPE.json.gz'), read(wd / 'cold44/RECIPE.json.gz') + # The swaps touch no factory block: the 44 ends, their premix and their low tails are identical; only the FULL + # inverse (rebuilt from the whole word) differs. + for key in ('premix', 'early_cleanup', 'cold_ends'): + assert new[key] == old[key], ('swapped cold44 differs from the pinned cold44 construction', key) + tail = len(new['early_cleanup']); assert new['cleanup'][:tail] == old['cleanup'][:tail], 'low tails' + bce = load('upstream_cold', up / 'code/build_cold_end.py') + layered = bce.apply(w, read(HERE / 'COLD-LAYERS-RECIPE.json.gz')) + raw = enc(layered); assert hashlib.sha256(raw).hexdigest() == LAYERED_SHA, 'layered word' + rep = layered['report'] + assert rep['local_profile'] == {'1': 2542, '2': 414, '3': 434, '4': 154, '5': 56, '8': 8}, rep['local_profile'] + assert rep['width_inventory'] == {'4': 52, '5': 48, '7': 42, '8': 116, '9': 234}, rep['width_inventory'] + (out / 'layers').mkdir(); word = out / 'layers/FULL-WORD.json.gz'; word.write_bytes(gzip.compress(raw, mtime=0)) + print('PASS layered scalar word', word, flush=True) + routing = parent / 'complex-local/inputs/phase-baseline/CANONICAL-WORD.json.gz' + env['PR635_CODE'] = str(up / 'code') + run('layer-end-controls', HERE / 'layer_end_controls.py', word, routing, out / 'controls') + ctl = json.loads((out / 'controls/COLD-END-CONTROLS.json').read_text()) + assert ctl['status'] == 'PASS_COLD_END_RAW_WORD_CONTROLS' and len(ctl['rejected']) == LAYER_CONTROLS, len(ctl['rejected']) + local = out / 'local' + run('native', up / 'code/hpe_audit_and_transport.py', '--raw', word, + '--routing', routing, '--out', local) + run('ledgers', up / 'code/hpe_emit_local.py', local) + run('local-replay', up / 'code/hpe_audit_local.py', local) + run('wrappers', up / 'code/hpe_adapters_local.py', local / 'CANONICAL-WORD.json.gz', + local / 'RESIDUAL-ADAPTERS.json', local / 'WRAPPER-CHECKS.json') + if not a.skip_phases: + run('phases', base / 'code/phases_full.py', local, parent / 'complex-global/vendor531/vendor/clifford') + print('DONE', local, flush=True) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-leaver8/construction/layers_np/COLD-LAYERS-RECIPE-NP.json.gz b/research/gauge44-leaver8/construction/layers_np/COLD-LAYERS-RECIPE-NP.json.gz new file mode 100644 index 0000000000..f9155e3079 Binary files /dev/null and b/research/gauge44-leaver8/construction/layers_np/COLD-LAYERS-RECIPE-NP.json.gz differ diff --git a/research/gauge44-leaver8/construction/layers_np/HPE-RECIPE-NP.json b/research/gauge44-leaver8/construction/layers_np/HPE-RECIPE-NP.json new file mode 100644 index 0000000000..2605d199ed --- /dev/null +++ b/research/gauge44-leaver8/construction/layers_np/HPE-RECIPE-NP.json @@ -0,0 +1 @@ +{"changes": [{"helper": 448, "cleanup_index": 674, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 449, "cleanup_index": 673, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 450, "cleanup_index": 672, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 451, "cleanup_index": 671, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 452, "cleanup_index": 670, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 453, "cleanup_index": 669, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 454, "cleanup_index": 668, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 455, "cleanup_index": 667, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 456, "cleanup_index": 666, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 457, "cleanup_index": 665, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 458, "cleanup_index": 664, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 459, "cleanup_index": 663, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 460, "cleanup_index": 658, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 461, "cleanup_index": 657, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 470, "cleanup_index": 648, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 471, "cleanup_index": 647, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 472, "cleanup_index": 642, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 473, "cleanup_index": 641, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 482, "cleanup_index": 632, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 483, "cleanup_index": 631, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 496, "cleanup_index": 609, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 497, "cleanup_index": 608, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 520, "cleanup_index": 573, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 521, "cleanup_index": 572, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 544, "cleanup_index": 539, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 545, "cleanup_index": 538, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 568, "cleanup_index": 507, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 569, "cleanup_index": 506, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 580, "cleanup_index": 491, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 581, "cleanup_index": 490, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 590, "cleanup_index": 481, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 591, "cleanup_index": 480, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 592, "cleanup_index": 475, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 593, "cleanup_index": 474, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 602, "cleanup_index": 465, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 603, "cleanup_index": 464, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 604, "cleanup_index": 459, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 605, "cleanup_index": 458, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 606, "cleanup_index": 457, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 607, "cleanup_index": 456, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 609, "cleanup_index": 454, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 611, "cleanup_index": 452, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 612, "cleanup_index": 451, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 613, "cleanup_index": 450, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 614, "cleanup_index": 449, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 615, "cleanup_index": 448, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}]} \ No newline at end of file diff --git a/research/gauge44-leaver8/construction/layers_np/PIVOT-SWAP-NP.json b/research/gauge44-leaver8/construction/layers_np/PIVOT-SWAP-NP.json new file mode 100644 index 0000000000..4e0d846426 --- /dev/null +++ b/research/gauge44-leaver8/construction/layers_np/PIVOT-SWAP-NP.json @@ -0,0 +1,588 @@ +{ + "input_content_sha256": "864ff4a19987bcb27016367801a98ca50dae69eafe01d3614f8bae69f5713d6d", + "output_content_sha256": "beb3579fce83cb3b70f4e85761cbb3b8c91d711d4b9cf473074269b8447fc4e4", + "swaps": [ + { + "pivot": 494, + "new_pivot": 566, + "entrance": [ + 24 + ], + "gates": [ + { + "part": "B", + "index": 379, + "before": [ + "add", + 566, + 494, + -1, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 494, + 566, + -1, + 1, + [ + 24 + ] + ] + }, + { + "part": "B", + "index": 380, + "before": [ + "add", + 640, + 494, + 2, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 640, + 566, + -2, + 1, + [ + 24 + ] + ] + }, + { + "part": "B", + "index": 381, + "before": [ + "add", + 642, + 494, + -2, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 642, + 566, + 2, + 1, + [ + 24 + ] + ] + }, + { + "part": "B", + "index": 382, + "before": [ + "add", + 688, + 494, + 1, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 688, + 566, + -1, + 1, + [ + 24 + ] + ] + }, + { + "part": "B", + "index": 383, + "before": [ + "add", + 690, + 494, + -1, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 690, + 566, + 1, + 1, + [ + 24 + ] + ] + } + ] + }, + { + "pivot": 495, + "new_pivot": 567, + "entrance": [ + 24 + ], + "gates": [ + { + "part": "B", + "index": 516, + "before": [ + "add", + 123, + 495, + 1, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 123, + 567, + -1, + 1, + [ + 24 + ] + ] + }, + { + "part": "B", + "index": 584, + "before": [ + "add", + 187, + 495, + -1, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 187, + 567, + 1, + 1, + [ + 24 + ] + ] + }, + { + "part": "B", + "index": 686, + "before": [ + "add", + 567, + 495, + -1, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 495, + 567, + -1, + 1, + [ + 24 + ] + ] + } + ] + }, + { + "pivot": 506, + "new_pivot": 578, + "entrance": [ + 24 + ], + "gates": [ + { + "part": "B", + "index": 176, + "before": [ + "add", + 652, + 506, + 2, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 652, + 578, + -2, + 1, + [ + 24 + ] + ] + }, + { + "part": "B", + "index": 178, + "before": [ + "add", + 652, + 506, + -2, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 652, + 578, + 2, + 1, + [ + 24 + ] + ] + }, + { + "part": "B", + "index": 278, + "before": [ + "add", + 700, + 506, + -2, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 700, + 578, + 2, + 1, + [ + 24 + ] + ] + }, + { + "part": "B", + "index": 280, + "before": [ + "add", + 700, + 506, + 2, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 700, + 578, + -2, + 1, + [ + 24 + ] + ] + }, + { + "part": "B", + "index": 702, + "before": [ + "add", + 578, + 506, + -1, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 506, + 578, + -1, + 1, + [ + 24 + ] + ] + } + ] + }, + { + "pivot": 507, + "new_pivot": 579, + "entrance": [ + 24 + ], + "gates": [ + { + "part": "B", + "index": 93, + "before": [ + "add", + 211, + 507, + -1, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 211, + 579, + 1, + 1, + [ + 24 + ] + ] + }, + { + "part": "B", + "index": 541, + "before": [ + "add", + 147, + 507, + 1, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 147, + 579, + -1, + 1, + [ + 24 + ] + ] + }, + { + "part": "B", + "index": 704, + "before": [ + "add", + 579, + 507, + -1, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 507, + 579, + -1, + 1, + [ + 24 + ] + ] + } + ] + }, + { + "pivot": 519, + "new_pivot": 543, + "entrance": [ + 30 + ], + "gates": [ + { + "part": "B", + "index": 507, + "before": [ + "add", + 115, + 519, + -1, + 1, + [ + 30 + ] + ], + "after": [ + "add", + 115, + 543, + 1, + 1, + [ + 30 + ] + ] + }, + { + "part": "B", + "index": 575, + "before": [ + "add", + 179, + 519, + 1, + 1, + [ + 30 + ] + ], + "after": [ + "add", + 179, + 543, + -1, + 1, + [ + 30 + ] + ] + }, + { + "part": "B", + "index": 722, + "before": [ + "add", + 543, + 519, + -1, + 1, + [ + 30 + ] + ], + "after": [ + "add", + 519, + 543, + -1, + 1, + [ + 30 + ] + ] + } + ] + }, + { + "pivot": 531, + "new_pivot": 555, + "entrance": [ + 30 + ], + "gates": [ + { + "part": "B", + "index": 550, + "before": [ + "add", + 155, + 531, + -1, + 1, + [ + 30 + ] + ], + "after": [ + "add", + 155, + 555, + 1, + 1, + [ + 30 + ] + ] + }, + { + "part": "B", + "index": 617, + "before": [ + "add", + 219, + 531, + 1, + 1, + [ + 30 + ] + ], + "after": [ + "add", + 219, + 555, + -1, + 1, + [ + 30 + ] + ] + }, + { + "part": "B", + "index": 740, + "before": [ + "add", + 555, + 531, + -1, + 1, + [ + 30 + ] + ], + "after": [ + "add", + 531, + 555, + -1, + 1, + [ + 30 + ] + ] + } + ] + } + ] +} diff --git a/research/gauge44-leaver8/construction/layers_np/reproduce_np.py b/research/gauge44-leaver8/construction/layers_np/reproduce_np.py new file mode 100644 index 0000000000..79cb6fa912 --- /dev/null +++ b/research/gauge44-leaver8/construction/layers_np/reproduce_np.py @@ -0,0 +1,149 @@ +#!/usr/bin/env python3 +"""Rebuild the layered no-triangle word (NP) and its native locals. + +Input: a fresh `construction/notri/reproduce_notri.py --word-only` output directory. That driver pins the +no-triangle word (3e99ba77...) and writes its regroup/ and cold44/ words. Steps, each checked exactly: + 1. pivot-swap: ../layers/build_pivot_swap.py (PR641's constructor, signed, unchanged) on the no-triangle regroup word, with PIVOT-SWAP-NP.json: + the six pivot-role swaps of research/gauge44-layered, mapped through the 504-helper map (494->566, 495->567, + 506->578, 507->579, 519->543, 531->555). Exact zero-response replay, unchanged profile and width multiset, + 30 negative controls. + 2. hpe: PR635's build_hpe.candidates, greedy with disjoint registers. Must equal HPE-RECIPE-NP.json (46 changes, + the same helpers as the unswapped word); applied with build_hpe.apply. + 3. cold44-exact: notri/cold44x.py on the swapped HPE word, pairing ranks pinned [4]*14. Its 56 cold ends, premix + and low tails must equal the unswapped no-triangle construction's. + 4. layers: PR635's unchanged build_cold_end.apply(HPE, COLD-LAYERS-RECIPE-NP): cold44 plus the entering ends + 566/567/578/579 at U24 (s4) and 608/610/543/555 at U30 (x30), BlockCombine's b6 and the q4 dim-8 cold ends. + The output word sha and its profile and widths are pinned. + 5. layer-end-controls: ../layers/layer_end_controls.py (LayerReviewer's signed adaptation of PR635's + cold_end_controls.py, unchanged) on the layered word; exactly 59 rejections at pinned reasons. +../layers/reproduce_layers.py is research/gauge44-layered's driver for the 492-helper word, shipped unchanged as +signed; it is not used for this word. + 6. native, ledgers, local-replay, wrappers, phases: PR635's native local programs, with pins. +Apache-2.0. Driver by ColdWitness after G44Stack's NP chain (NP/chain.py, seq.py). +""" +import argparse, gzip, hashlib, importlib.util, json, os, subprocess, sys, time +from pathlib import Path + +HERE = Path(__file__).resolve().parent +NOTRI = HERE.parent / 'notri' +LAYERS = HERE.parent / 'layers' # the signed research/gauge44-layered files, unchanged +REGROUP_SHA = '864ff4a1' # prefix; full value checked against PIVOT-SWAP-NP.json's input_content_sha256 +SWAP_SHA = 'beb3579f' +NP_SHA = 'a9de804f194eeb39f52a4c6e54c14d93e881bec4b632694249733ed410b58113' +LAYER_CONTROLS = 59 +CANONICAL_SHA = '1ae812a336178760071efe347e876e0102b5b71f799d957db15c5f3004c19d7a' +PROGRAM_SHA = {'forward': 'a3882a428bdafab888072211d4ed8d34572746873d77c6ef900495853cc3fa11', + 'backward': 'f67a3dc20c27fb39295b8030e951e9779109ef1537f6f8de9d08510b9ad6792a'} +CLIFFORD_SHA = '890b60fc4ae183c773c51405e0f4ef6a945dc2aae55ba2480f134602e8296cda' + + +def read(p): + raw = Path(p).read_bytes() + return json.loads(gzip.decompress(raw) if str(p).endswith('.gz') else raw) + + +def enc(x): return json.dumps(x, sort_keys=True, separators=(',', ':')).encode() + + +def dump(p, v): + p.parent.mkdir(parents=True, exist_ok=True); p.write_bytes(gzip.compress(enc(v), mtime=0)) + + +def load(name, path): + s = importlib.util.spec_from_file_location(name, path); m = importlib.util.module_from_spec(s); s.loader.exec_module(m); return m + + +def main(): + assert __debug__, 'Assertions are required' + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--main', type=Path, required=True) + ap.add_argument('--pr635', type=Path, required=True) + ap.add_argument('--notri-dir', type=Path, required=True, help='construction/notri/reproduce_notri.py --word-only output') + ap.add_argument('--hamming', type=Path, required=True, help='hamming/ of the construction/reproduce.py --until word output') + ap.add_argument('--out', type=Path, required=True) + ap.add_argument('--skip-phases', action='store_true') + a = ap.parse_args() + out = a.out.resolve(); assert not out.exists(); out.mkdir(parents=True) + up = a.pr635.resolve() / 'research/complex-571-cold14-st2' + src = a.main.resolve() / 'research/complex-k492-owner-repair/vendor/multicold' + base = src / 'vendor/pr558'; parent = base / 'vendor/pr552'; gk = parent / 'complex-local/static44/gk' + nd = a.notri_dir.resolve() + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONUTF8='1', PYTHONINTMAXSTRDIGITS='0', + MULTICOLD_SOURCE=str(src), GAIN_PR564_SOURCE=str(src)) + for k in ('PYTHONOPTIMIZE', 'XPARAM', 'EXTRAH', 'PAIRING_RANKS', 'DIAG', 'HYBBUDGET'): env.pop(k, None) + steps = [] + + def run(label, script, *args): + t = time.monotonic() + with (out / (label + '.log')).open('w') as f: + rc = subprocess.call([sys.executable, '-B', str(src / 'code/run_portable.py'), str(script), *map(str, args)], + env=env, stdout=f, stderr=subprocess.STDOUT) + steps.append(dict(step=label, exit_code=rc, seconds=round(time.monotonic() - t, 3))) + (out / 'STEPS.json').write_text(json.dumps(steps, indent=2) + '\n') + assert rc == 0, label + print('PASS', label, flush=True) + + # the input must be the pinned no-triangle construction + nr = load('notri_driver', NOTRI / 'reproduce_notri.py') + assert hashlib.sha256(enc(read(nd / 'cold44/FULL-WORD.json.gz'))).hexdigest() == nr.NOTRI_SHA, 'notri word' + # 1. pivot swaps on the regroup word + rg = hashlib.sha256(enc(read(nd / 'regroup/FULL-WORD.json.gz'))).hexdigest() + assert rg.startswith(REGROUP_SHA) and rg == read(HERE / 'PIVOT-SWAP-NP.json')['input_content_sha256'], ('regroup word', rg) + run('pivot-swap', LAYERS / 'build_pivot_swap.py', '--input', nd / 'regroup/FULL-WORD.json.gz', + '--recipe', HERE / 'PIVOT-SWAP-NP.json', '--gk-dir', gk, '--out', out / 'swap') + w = read(out / 'swap/FULL-WORD.json.gz') + sw = hashlib.sha256(enc(w)).hexdigest(); assert sw.startswith(SWAP_SHA) and sw == read(HERE / 'PIVOT-SWAP-NP.json')['output_content_sha256'], ('swap word', sw) + # 2. HPE (greedy, must equal the pinned recipe) + h = load('upstream_hpe', up / 'code/build_hpe.py') + used, ch = set(), [] + for c in h.candidates(w): + rs = set(h.regs(w['cleanup'][c['cleanup_index']])) + if rs & used: continue + used |= rs; ch.append(c) + assert ch == read(HERE / 'HPE-RECIPE-NP.json')['changes'], 'HPE recipe' + w = h.apply(w, ch); dump(out / 'hpe/FULL-WORD.json.gz', w) + # 3. cold44 on the swapped word: same ends, premix and tails as the unswapped no-triangle construction + hm = set(read(nd / 'raw/HELPER-MAP.json')['map'].values()) + env['EXTRAH'] = json.dumps(sorted(set(range(224, 224 + w['report']['R'])) - hm)) + env['PAIRING_RANKS'] = json.dumps([4] * 14) + run('cold44-exact', NOTRI / 'cold44x.py', '--input', out / 'hpe/FULL-WORD.json.gz', '--out', out / 'cold44', + '--hamming', a.hamming.resolve(), '--upstream-package', up) + for k in ('EXTRAH', 'PAIRING_RANKS'): env.pop(k) + new, old = read(out / 'cold44/RECIPE.json.gz'), read(nd / 'cold44/RECIPE.json.gz') + for key in ('premix', 'early_cleanup', 'cold_ends'): + assert new[key] == old[key], ('swapped cold44 differs from the pinned no-triangle construction', key) + tail = len(new['early_cleanup']); assert new['cleanup'][:tail] == old['cleanup'][:tail], 'low tails' + # 4. layers + bce = load('upstream_cold', up / 'code/build_cold_end.py') + layered = bce.apply(w, read(HERE / 'COLD-LAYERS-RECIPE-NP.json.gz')) + raw = enc(layered); assert hashlib.sha256(raw).hexdigest() == NP_SHA, ('layered word', hashlib.sha256(raw).hexdigest()) + rep = layered['report'] + assert rep['local_profile'] == {'1': 2534, '2': 346, '3': 458, '4': 178, '5': 56, '8': 8}, rep['local_profile'] + assert rep['width_inventory'] == {'4': 64, '5': 48, '7': 54, '8': 116, '9': 222}, rep['width_inventory'] + (out / 'layers').mkdir(); word = out / 'layers/FULL-WORD.json.gz'; word.write_bytes(gzip.compress(raw, mtime=0)) + print('PASS layered no-triangle word', NP_SHA, flush=True) + # 5. layer-end controls + routing = parent / 'complex-local/inputs/phase-baseline/CANONICAL-WORD.json.gz' + env['PR635_CODE'] = str(up / 'code') + run('layer-end-controls', LAYERS / 'layer_end_controls.py', word, routing, out / 'controls') + env.pop('PR635_CODE') + ctl = json.loads((out / 'controls/COLD-END-CONTROLS.json').read_text()) + assert ctl['status'] == 'PASS_COLD_END_RAW_WORD_CONTROLS' and len(ctl['rejected']) == LAYER_CONTROLS, len(ctl['rejected']) + # 6. native locals + local = out / 'local' + run('native', up / 'code/hpe_audit_and_transport.py', '--raw', word, '--routing', routing, '--out', local) + assert hashlib.sha256(gzip.decompress((local / 'CANONICAL-WORD.json.gz').read_bytes())).hexdigest() == CANONICAL_SHA, 'canonical word' + run('ledgers', up / 'code/hpe_emit_local.py', local) + run('local-replay', up / 'code/hpe_audit_local.py', local) + run('wrappers', up / 'code/hpe_adapters_local.py', local / 'CANONICAL-WORD.json.gz', + local / 'RESIDUAL-ADAPTERS.json', local / 'WRAPPER-CHECKS.json') + checks = read(local / 'LOCAL-CHECKS.json') + for o, s in PROGRAM_SHA.items(): assert checks[o]['sha256'] == s, ('local program', o) + if not a.skip_phases: + run('phases', base / 'code/phases_full.py', local, parent / 'complex-global/vendor531/vendor/clifford') + assert hashlib.sha256((local / 'CLIFFORD-RECIPES.json').read_bytes()).hexdigest() == CLIFFORD_SHA, 'clifford recipes' + print('DONE', local, flush=True) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-leaver8/construction/layers_p6n/COLD-LAYERS-RECIPE-P6N.json.gz b/research/gauge44-leaver8/construction/layers_p6n/COLD-LAYERS-RECIPE-P6N.json.gz new file mode 100644 index 0000000000..a408c95816 Binary files /dev/null and b/research/gauge44-leaver8/construction/layers_p6n/COLD-LAYERS-RECIPE-P6N.json.gz differ diff --git a/research/gauge44-leaver8/construction/layers_p6n/P6N-SPEC.json b/research/gauge44-leaver8/construction/layers_p6n/P6N-SPEC.json new file mode 100644 index 0000000000..43c3ec265c --- /dev/null +++ b/research/gauge44-leaver8/construction/layers_p6n/P6N-SPEC.json @@ -0,0 +1 @@ +{"ends":[{"U":[256,128,66,34,16,8,6,1],"labels":[512,513]},{"U":[256,128,72,40,24,4,2,1],"labels":[311,510]},{"U":[256,128,66,34,18,10,6,1],"labels":[522,327]}]} diff --git a/research/gauge44-leaver8/construction/layers_p6n/layer_end_controls.py b/research/gauge44-leaver8/construction/layers_p6n/layer_end_controls.py new file mode 100644 index 0000000000..dd321fe255 --- /dev/null +++ b/research/gauge44-leaver8/construction/layers_p6n/layer_end_controls.py @@ -0,0 +1,199 @@ +"""layer_end_controls.py LAYERED-WORD.json.gz ROUTING OUTDIR (env PR635_CODE): adapted PR635 cold_end_controls.py (LayerReviewer): raw-word negative controls for the cold low-frame ends and the +refactored cleanup accepted by hpe_audit_and_transport.py. Every mutation MUST be rejected (AssertionError); the +unmutated word MUST pass. Apache-2.0. DreamingOfClouds with Claude Opus 5.5 (Anthropic), via Claude Code.""" +import copy, gzip, json, shutil, sys, tempfile +from pathlib import Path +import os +sys.path.insert(0, os.environ['PR635_CODE']) # PR635's unchanged hpe_audit_and_transport.py +import hpe_audit_and_transport as atc + +src, routing, outdir = Path(sys.argv[1]), Path(sys.argv[2]), Path(sys.argv[3]) +word = json.load(gzip.open(src)) +v, R = word['report']['v'], word['report']['R']; n = 2*v + R +regs = lambda e: [e[1]] + ([e[2]] if e[0] == 'add' else []) +meta = word['refactored_cleanup'] +cold = [int(h) for h in meta['cold_low_frame_ended_helpers']] +npre = meta['premix_gates']; nlow = meta['lower_frame_gates'] +early = word['early_cleanup']; eidx = {i for i, _ in early} +rest = [i for i in range(len(word['cleanup'])) if i not in eidx] + + +def trial(w): + """None if the transport audit accepts w, else the AssertionError message.""" + tmp = Path(tempfile.mkdtemp()) + p = tmp/'w.json.gz'; p.write_bytes(gzip.compress(json.dumps(w).encode(), mtime=0)) + try: + atc.run(p, routing, tmp/'out') + return None + except AssertionError as e: + return repr(e.args[0]) if e.args else 'AssertionError' + finally: + shutil.rmtree(tmp, ignore_errors=True) + + +# Pinned rejection reasons: each mutant must fail at this assertion of hpe_audit_and_transport.py (message substring). +ENDPOINT, COLDPRE, CONE = "'arbitrary-dirt endpoint'", 'touches a cold hyperplane-ended helper', 'hpe cone pre-check (row / column)' +WHY = dict(premix_to_precondition=COLDPRE, premix_dropped=COLDPRE, e_premix_dropped=ENDPOINT, lower_dropped=ENDPOINT, + remainder_dropped=ENDPOINT, coefficient=ENDPOINT, into_full='cleanup on non-FULL end', dyadic=ENDPOINT, frame_below="'nonmonotone'", + nonmonotone="'nonmonotone'", other_frame=CONE, cone=CONE, extra_end=COLDPRE, marker='cleanup is not the literal reversed inverse', + target='refactored cleanup touches a target', profile_pin='paid local profile differs from the reported local_profile', + entering_precondition='zero-frame precondition/compensation touches an entering helper') +assert trial(word) is None, 'unmutated cold-end word must pass' +results = [] + + +def reject(name, mut, why): + """the mutation must be rejected, and for the pinned reason (a substring of the audit's assertion message).""" + w = copy.deepcopy(word); mut(w) + msg = trial(w) + assert msg is not None, 'cold-end mutation accepted: ' + name + assert why in msg, 'cold-end mutation %r rejected for the wrong reason: %s' % (name, msg[:300]) + results.append(name); print('rejected', name, '|', why, flush=True) + + +h0 = cold[0] +i0, U0 = next((i, f) for i, f in early if h0 in regs(word['cleanup'][i])) +r0 = rest[len(rest)//2] + + +def premix_to_precondition(w): # premix before the wrappers; compensation then reads the cold ends + w['precondition'] = w['precondition'] + w['A'][:npre]; w['A'] = w['A'][npre:] + + +def lower_gate_into_full(w): # a lower-frame gate on a cold-ended helper executed in the FULL remainder instead + w['early_cleanup'] = [x for x in w['early_cleanup'] if x[0] != i0] + + +def drop_cleanup_gate(w, i): # remove the gate AND its early_cleanup entry: a structurally valid word missing one gate + w['cleanup'].pop(i) + w['early_cleanup'] = [[j - (j > i), f] for j, f in w['early_cleanup'] if j != i] + + +def other_frame(w): # a different frame of the same dimension as the cold end (another cold helper's) + f = next(w['helper_final'][str(h)] for h in cold if w['helper_final'][str(h)] != w['helper_final'][str(h0)]) + w['helper_final'][str(h0)] = f + + +def extra_cold_end(w): # declare a premixed partner of h0 cold-ended at h0's frame: fails the row/column cone + p = next(r for e in w['A'][:npre] for r in regs(e) if r != h0 and h0 in regs(e)) + w['helper_final'][str(p)] = w['helper_final'][str(h0)] + + +reject('premix placed in the zero-frame precondition (before the cold wrappers)', premix_to_precondition, WHY['premix_to_precondition']) +reject('one premix gate dropped (the compensation then reads a cold-ended helper)', lambda w: w['A'].pop(npre - 1), WHY['premix_dropped']) +reject('one lower-frame cleanup gate dropped (gate and its early_cleanup entry)', lambda w: drop_cleanup_gate(w, i0), WHY['lower_dropped']) +reject('one FULL-remainder gate dropped', lambda w: drop_cleanup_gate(w, r0), WHY['remainder_dropped']) +reject('lower-frame gate coefficient changed', lambda w: w['cleanup'][i0].__setitem__(3, w['cleanup'][i0][3] * 2), WHY['coefficient']) +reject('lower-frame gate moved into the FULL remainder (touches a cold-ended helper at FULL)', lower_gate_into_full, WHY['into_full']) +reject('lower-frame gate frame below its registers\' frames', lambda w: next(x for x in w['early_cleanup'] if x[0] == i0).__setitem__(1, U0[:-1]), WHY['frame_below']) +reject('cold end at another dim-4 frame', other_frame, WHY['other_frame']) +# PROFILE-PIN control: without its helper_final entry the cold-ended helper is a valid FULL-ended helper; the word is +# rejected because its reported paid profile (which counts the low end) no longer matches the frame chains. +reject('profile pin: cold end dropped (valid FULL end, but the reported profile counts the low end)', lambda w: w['helper_final'].pop(str(h0)), WHY['profile_pin']) +reject('extra cold end on a premixed partner (the compensation reads it before its wrapper)', extra_cold_end, WHY['extra_end']) +reject('refactored-cleanup marker removed (literal-inverse rule applies)', lambda w: w.pop('refactored_cleanup'), WHY['marker']) +reject('remainder gate retargeted to a target register', lambda w: w['cleanup'][r0].__setitem__(1, v + 3), WHY['target']) +reject('non-dyadic remainder coefficient', lambda w: w['cleanup'][r0].__setitem__(4 if w['cleanup'][r0][0] == 'add' else 3, 3 * w['cleanup'][r0][4 if w['cleanup'][r0][0] == 'add' else 3]), WHY['dyadic']) +reject('profile not updated (paid climbs misreported)', lambda w: w['report']['local_profile'].__setitem__('5', w['report']['local_profile']['5'] - 1), WHY['profile_pin']) +ent = [int(h) for h in sys.argv[4].split(',')] if len(sys.argv) > 4 else [int(h) for h in meta.get('entering_low_frame_ended_helpers', [])] +for e0 in ent: # ENTERING LOW-FRAME ENDS (ColdSupply extension; every entering end; absent for words without them) + j0 = next((i for i, e in enumerate(word['A'][:npre]) if e0 in regs(e)), None) + print('entering end', e0, 'premix gate', j0, flush=True) + k0, Ue = next((i, f) for i, f in early if e0 in regs(word['cleanup'][i])) + def to_pre(w, j0=j0): w['precondition'].append(w['A'][j0]); w['A'].pop(j0) + def other_hp(w, e0=e0, Ue=Ue): w['helper_final'][str(e0)] = next(f for h, f in w['helper_final'].items() if len(f) == len(Ue) and sorted(f) != sorted(Ue)) + if j0 is not None: reject('entering end %d: premix gate dropped' % e0, lambda w, j0=j0: w['A'].pop(j0), WHY['e_premix_dropped']) + if j0 is not None: reject('entering end %d: premix gate at frame [] instead of its entrance E' % e0, lambda w, j0=j0: w['A'][j0].__setitem__(-1, []), WHY['nonmonotone']) + if j0 is not None: reject('entering end %d: premix gate moved into the zero-frame precondition' % e0, to_pre, WHY['entering_precondition']) + reject('entering end %d: lower-frame gate dropped (gate and its early_cleanup entry)' % e0, lambda w, k0=k0: drop_cleanup_gate(w, k0), WHY['lower_dropped']) + reject('entering end %d: profile pin: end dropped (valid FULL end, but the reported profile counts the low end)' % e0, lambda w, e0=e0: w['helper_final'].pop(str(e0)), WHY['profile_pin']) + reject('entering end %d: end at another hyperplane' % e0, other_hp, WHY['cone']) +# Pinned rejection reasons of the COLD-BEYOND mutants (substrings of hpe_audit_and_transport.py assertion messages). +MYWHY = dict(tw_precondition=COLDPRE, tw_dropped=COLDPRE, tw_coefficient=COLDPRE, tw_other_block=COLDPRE, + tw_entering='zero-frame compensation reads an entering helper', + ab_dropped=ENDPOINT, ab_coefficient=ENDPOINT, ab_early=ENDPOINT, ab_live=ENDPOINT, ab_centre=ENDPOINT, + ab_lower="'nonmonotone'", ab_higher="'nonmonotone'", + sh_dropped=ENDPOINT, sh_coefficient=ENDPOINT, rel_dropped=ENDPOINT, rel_coefficient=ENDPOINT, rel_live=ENDPOINT, + h8_other=CONE, h8_lower=ENDPOINT) +# COLD-BEYOND primitives (present only when the word carries them): frame-[] target writes in the premix (explicit +# post-wrapper compensation of an ended helper's dirt) and forward absorptions into dead registers. +nw = meta.get('premix_target_writes', 0) +if nw: + wi = [i for i in range(npre) if v <= word['A'][i][1] < 2*v] + assert len(wi) == nw + + def writes_to_precondition(w): # the target writes run before the cold wrappers (inside the zero-frame precondition) + g = [w['A'][i] for i in wi]; w['precondition'] = w['precondition'] + g + w['A'] = [e for i, e in enumerate(w['A']) if i not in set(wi)] + reject('premix target writes placed in the zero-frame precondition (before the cold wrappers)', writes_to_precondition, MYWHY['tw_precondition']) + reject('one premix target write dropped (compensation must read an ended helper)', lambda w: w['A'].pop(wi[0]), MYWHY['tw_dropped']) + reject('premix target write coefficient changed', lambda w: w['A'][wi[0]].__setitem__(3, w['A'][wi[0]][3] * 2), MYWHY['tw_coefficient']) + # (reading another register that carries the SAME weight of the ended helper's dirt is a valid variant, so the mutant reads + # the same factory slot of the next block, which carries none of it) + entering_regs = sorted(int(r) for r in word.get('start_extra', {})) + reject('premix target write reads an entering helper', lambda w: w['A'][wi[0]].__setitem__(2, entering_regs[0]), MYWHY['tw_entering']) + reject('premix target write reads a cold helper of another block', lambda w: w['A'][wi[0]].__setitem__(2, 2*v + (w['A'][wi[0]][2] - 2*v + 16) % 224), MYWHY['tw_other_block']) +ab = meta.get('forward_absorption_A_indices', []) +if any(len(word['helper_final'][str(h)]) == 8 for h in cold): + # with dim-8 cold ends, the centre-retargeted absorption first leaks an ended helper's dirt into the cut's targets + MYWHY['ab_centre'] = COLDPRE +if ab: + # the ColdBeyond U_b absorption (q += -1/2 g); ColdThird's extra absorptions have their own controls below + a0 = next(a for a in ab if word['A'][a][3] * 2 == -word['A'][a][4]); g0 = word['A'][a0] + + def absorption_moved_early(w): # absorbed before the absorbed register's last kernel write + e = w['A'].pop(a0); j = max(i for i in range(npre, a0) if g0[2] == w['A'][i][1] and w['A'][i][-1] == g0[-1]) + w['A'].insert(j, e) + + def absorption_into_live(w): # q += a g moved right after g's previous frame-mate gate, while q is still live + e = w['A'].pop(a0); j = max(i for i in range(npre, a0) if g0[1] in regs(w['A'][i])) + w['A'].insert(j, e) + reject('forward absorption dropped', lambda w: w['A'].pop(a0), MYWHY['ab_dropped']) + reject('forward absorption into a centre (a live register read by the cut)', lambda w: w['A'][a0].__setitem__(1, next(c for c in word['centers'] if c not in g0[1:3] and c not in cold)), MYWHY['ab_centre']) + reject('forward absorption coefficient changed', lambda w: w['A'][a0].__setitem__(3, w['A'][a0][3] * 2), MYWHY['ab_coefficient']) + reject('forward absorption placed before the absorbed register\'s last kernel write', absorption_moved_early, MYWHY['ab_early']) + reject('forward absorption placed while the absorbing register is still live', absorption_into_live, MYWHY['ab_live']) + reject('forward absorption at a lower frame than its registers', lambda w: w['A'][a0].__setitem__(-1, w['A'][a0][-1][:-1]), MYWHY['ab_lower']) + reject('forward absorption at a higher frame (FULL) than its registers', lambda w: w['A'][a0].__setitem__(-1, [256, 128, 64, 32, 16, 8, 4, 2, 1]), MYWHY['ab_higher']) +# COLD-THIRD primitives (present only when the word carries them): several absorptions after one input gate, dirt-release +# absorptions (a dead port takes a live helper's value so that a hyperplane unit's column has no dirt on it), and cold ends at +# a dim-8 frame with lifted partners. +hyper = [h for h in cold if len(word['helper_final'][str(h)]) == 8] +if hyper and ab: + sh = next(a for a, b in zip(ab, ab[1:]) if b == a + 1) # two absorptions sharing one input anchor + rel = next(a for a in ab if a - 1 not in ab and a + 1 not in ab and word['A'][a][2] in hyper and word['A'][a][3] * 2 != -word['A'][a][4]) + hh = hyper[0]; ih = next(i for i, f in early if hh in regs(word['cleanup'][i])) + reject('second absorption sharing an input anchor dropped', lambda w: w['A'].pop(sh + 1), MYWHY['sh_dropped']) + reject('shared-anchor absorption coefficient changed', lambda w: w['A'][sh + 1].__setitem__(3, w['A'][sh + 1][3] * 2), MYWHY['sh_coefficient']) + reject('dirt-release absorption dropped', lambda w: w['A'].pop(rel), MYWHY['rel_dropped']) + reject('dirt-release absorption coefficient changed', lambda w: w['A'][rel].__setitem__(3, w['A'][rel][3] * 2), MYWHY['rel_coefficient']) + jr = max(i for i in range(npre, rel) if word['A'][i][0] == 'add' and word['A'][i][2] == word['A'][rel][1]) + + def release_while_read(w): # the release runs before a kernel gate that still READS the port (port live) + e = w['A'].pop(rel); w['A'].insert(jr, e) + reject('dirt-release absorption moved before a kernel gate that still reads the port', release_while_read, MYWHY['rel_live']) +if hyper: + # dim-8 cold-end controls for EVERY dim-8 cold end of the word (read from the word's helper_final and the recipe meta's + # cold_low_frame_ended_helpers), not one representative per terminal frame + for hh in hyper: + ih = next(i for i, f in early if hh in regs(word['cleanup'][i])) + Uh = word['helper_final'][str(hh)] + reject('dim-8 cold end %d (frame %s) at another dim-8 frame' % (hh, Uh), lambda w, hh=hh: w['helper_final'].__setitem__(str(hh), next(f for h, f in w['helper_final'].items() if len(f) == 8 and sorted(f) != sorted(w['helper_final'][str(hh)]))), MYWHY['h8_other']) + reject('dim-8 cold end %d (frame %s): one lower-frame gate dropped (gate and its early_cleanup entry)' % (hh, Uh), lambda w, ih=ih: drop_cleanup_gate(w, ih), MYWHY['h8_lower']) + reject('dim-8 cold end %d (frame %s): profile pin (end dropped)' % (hh, Uh), lambda w, hh=hh: w['helper_final'].pop(str(hh)), WHY['profile_pin']) +# FACTORED ACCUMULATOR (CarrierBypass; present only when the word carries one): a lower-frame tail gate a += x*g on two +# non-ended registers whose accumulator a is afterwards read by a dim-8 cold end's tail gate (h += y*a at its U). +ended_all = {int(h) for h in word['helper_final']} +tailg = [(i, word['cleanup'][i]) for i, _ in early] +accs = [] # EVERY factored accumulator gate (one per accumulator register a), each controlled on its own +for k, (i, e) in enumerate(tailg): + if e[0] == 'add' and e[1] not in ended_all and e[2] not in ended_all and len(next(f for j, f in early if j == i)) < 8: + if e[1] not in [word['cleanup'][j][1] for j in accs] and any(t[0] == 'add' and t[2] == e[1] and t[1] in hyper for _, t in tailg[k + 1:]): + accs.append(i) +for acc in accs: + a = word['cleanup'][acc][1] + reject('factored accumulator %d (gate %d) zeroed' % (a, acc), lambda w, acc=acc: w['cleanup'][acc].__setitem__(3, 0), ENDPOINT) + reject('factored accumulator %d (gate %d) coefficient doubled' % (a, acc), lambda w, acc=acc: w['cleanup'][acc].__setitem__(3, w['cleanup'][acc][3] * 2), ENDPOINT) +outdir.mkdir(parents=True, exist_ok=True) +(outdir/'COLD-END-CONTROLS.json').write_text(json.dumps(dict(status='PASS_COLD_END_RAW_WORD_CONTROLS', word=str(src), rejected=results), indent=1) + '\n') +print('PASS', len(results), 'cold-end raw-word mutations rejected') diff --git a/research/gauge44-leaver8/construction/layers_p6n/reproduce_p6n.py b/research/gauge44-leaver8/construction/layers_p6n/reproduce_p6n.py new file mode 100644 index 0000000000..f9eb173bc1 --- /dev/null +++ b/research/gauge44-leaver8/construction/layers_p6n/reproduce_p6n.py @@ -0,0 +1,78 @@ +#!/usr/bin/env python3 +"""Rebuild the p6n word (NoTriReopen): the layered no-triangle word with p123's lane rebuilt as three factored dim-8 pairs. + +Input: a fresh `construction/layers_np/reproduce_np.py` output directory. Its swapped HPE word (hpe/) and its +layered word a9de804f... are pinned there. Steps, each checked exactly: + 1. layers: PR635's unchanged build_cold_end.apply(swapped HPE word, COLD-LAYERS-RECIPE-P6N.json.gz). The recipe is + NP's cold-layer recipe (cold44, s4, x30, b6, q4) plus the six cold ends of P6N-SPEC.json, built by NoTriReopen + with JP8Ends' stackJ/stackE (the CarrierBypass premix-only factored construction): [512,513] at + U(256,128,66,34,16,8,6,1), [311,510] at U(256,128,72,40,24,4,2,1), [522,327] at U(256,128,66,34,18,10,6,1). + The output word sha (34b683fa...), profile and widths are pinned. + 2. layer-end-controls: layer_end_controls.py (Q6Reviewer-signed variant fc58c569..., which controls every dim-8 + cold end individually) on the p6n word; exactly 95 rejections at pinned reasons. +The promotion step (construction/promo/reproduce_promo.py --base p6n) builds the final word and its native locals. +Apache-2.0. Driver by ColdWitness after NoTriReopen's runspec.py. +""" +import argparse, gzip, hashlib, importlib.util, json, os, subprocess, sys, time +from pathlib import Path + +HERE = Path(__file__).resolve().parent +NP_SHA = 'a9de804f194eeb39f52a4c6e54c14d93e881bec4b632694249733ed410b58113' +P6N_SHA = '34b683fa08f0' # prefix; full value is the recipe's output_content_sha256 (asserted equal below) +LAYER_CONTROLS = 95 + + +def read(p): + raw = Path(p).read_bytes() + return json.loads(gzip.decompress(raw) if str(p).endswith('.gz') else raw) + + +def enc(x): return json.dumps(x, sort_keys=True, separators=(',', ':')).encode() + + +def load(name, path): + s = importlib.util.spec_from_file_location(name, path); m = importlib.util.module_from_spec(s); s.loader.exec_module(m); return m + + +def main(): + assert __debug__, 'Assertions are required' + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--main', type=Path, required=True) + ap.add_argument('--pr635', type=Path, required=True) + ap.add_argument('--np-dir', type=Path, required=True, help='construction/layers_np/reproduce_np.py output') + ap.add_argument('--out', type=Path, required=True) + a = ap.parse_args() + out = a.out.resolve(); assert not out.exists(); out.mkdir(parents=True) + up = a.pr635.resolve() / 'research/complex-571-cold14-st2' + src = a.main.resolve() / 'research/complex-k492-owner-repair/vendor/multicold' + parent = src / 'vendor/pr558/vendor/pr552' + npd = a.np_dir.resolve() + assert hashlib.sha256(enc(read(npd / 'layers/FULL-WORD.json.gz'))).hexdigest() == NP_SHA, 'np-dir must hold the pinned NP word' + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONUTF8='1', PYTHONINTMAXSTRDIGITS='0', + MULTICOLD_SOURCE=str(src), GAIN_PR564_SOURCE=str(src), PR635_CODE=str(up / 'code')) + for k in ('PYTHONOPTIMIZE', 'XPARAM', 'EXTRAH', 'PAIRING_RANKS', 'DIAG', 'HYBBUDGET'): env.pop(k, None) + bce = load('upstream_cold', up / 'code/build_cold_end.py') + rec = read(HERE / 'COLD-LAYERS-RECIPE-P6N.json.gz') + w = bce.apply(read(npd / 'hpe/FULL-WORD.json.gz'), rec) + raw = enc(w); got = hashlib.sha256(raw).hexdigest() + assert got == rec['output_content_sha256'] and got.startswith(P6N_SHA), ('p6n word', got) + rep = w['report'] + assert rep['local_profile'] == {'1': 2540, '2': 358, '3': 446, '4': 178, '5': 56, '8': 8}, rep['local_profile'] + assert rep['width_inventory'] == {'4': 64, '5': 48, '7': 54, '8': 122, '9': 216}, rep['width_inventory'] + (out / 'p6n').mkdir(); word = out / 'p6n/FULL-WORD.json.gz'; word.write_bytes(gzip.compress(raw, mtime=0)) + print('PASS p6n word', got, flush=True) + t = time.monotonic() + with (out / 'layer-end-controls.log').open('w') as f: + rc = subprocess.call([sys.executable, '-B', str(src / 'code/run_portable.py'), str(HERE / 'layer_end_controls.py'), str(word), + str(parent / 'complex-local/inputs/phase-baseline/CANONICAL-WORD.json.gz'), str(out / 'controls')], + env=env, stdout=f, stderr=subprocess.STDOUT) + (out / 'STEPS.json').write_text(json.dumps([dict(step='layer-end-controls', exit_code=rc, seconds=round(time.monotonic() - t, 3))], indent=2) + '\n') + assert rc == 0, 'layer-end-controls' + ctl = read(out / 'controls/COLD-END-CONTROLS.json') + assert ctl['status'] == 'PASS_COLD_END_RAW_WORD_CONTROLS' and len(ctl['rejected']) == LAYER_CONTROLS, len(ctl['rejected']) + print('PASS layer-end-controls', LAYER_CONTROLS, flush=True) + print('DONE', word, flush=True) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-leaver8/construction/leaver/CHAIN-PINS-k8.json b/research/gauge44-leaver8/construction/leaver/CHAIN-PINS-k8.json new file mode 100644 index 0000000000..afd0467911 --- /dev/null +++ b/research/gauge44-leaver8/construction/leaver/CHAIN-PINS-k8.json @@ -0,0 +1,89 @@ +{ + "np_profile": { + "1": 2422, + "2": 408, + "3": 494, + "4": 136, + "5": 56, + "8": 8 + }, + "p6n_profile": { + "1": 2428, + "2": 420, + "3": 482, + "4": 136, + "5": 56, + "8": 8 + }, + "lec-p6n_pins_sha256": "d87ed7b5869bed4a3d266f0ce5fc784cbe88340a625d22ab9f580fa00872df19", + "lec-p6n": 95, + "lec-p6n_not_applicable": { + "extra_end": "partner 282 already cold-ended at h0 273 frame (identity)" + }, + "promo_controls": 11, + "lec-promo_pins_sha256": "d87ed7b5869bed4a3d266f0ce5fc784cbe88340a625d22ab9f580fa00872df19", + "lec-promo": 95, + "lec-promo_not_applicable": { + "extra_end": "partner 282 already cold-ended at h0 273 frame (identity)" + }, + "jx_controls": [ + "C0_identity", + "C1_741_only", + "N3_plain_join_moved_reads" + ], + "lec-jx_pins_sha256": "d87ed7b5869bed4a3d266f0ce5fc784cbe88340a625d22ab9f580fa00872df19", + "lec-jx": 95, + "lec-jx_not_applicable": { + "extra_end": "partner 282 already cold-ended at h0 273 frame (identity)" + }, + "hybrid_controls": [ + "C0_identity", + "donation_after", + "donation_after@226", + "donation_after@228", + "donation_after@230", + "donation_after@231", + "donation_after@232", + "donation_after@62", + "drop_preread", + "drop_preread@226", + "drop_preread@228", + "drop_preread@230", + "drop_preread@231", + "drop_preread@232", + "drop_preread@62", + "drop_restore", + "drop_restore@226", + "drop_restore@228", + "drop_restore@230", + "drop_restore@231", + "drop_restore@232", + "drop_restore@62", + "recipe", + "restore_full", + "restore_full@226", + "restore_full@228", + "restore_full@230", + "restore_full@231", + "restore_full@232", + "restore_full@62" + ], + "lec-hyb_pins_sha256": "d87ed7b5869bed4a3d266f0ce5fc784cbe88340a625d22ab9f580fa00872df19", + "lec-hyb": 95, + "lec-hyb_not_applicable": { + "extra_end": "partner 282 already cold-ended at h0 273 frame (identity)" + }, + "frame_build_controls": 3, + "lec-frames_pins_sha256": "b07279e41ec9d8f89e8509081e1e7f2c8e8b062fd951b22608a03ac461982914", + "lec-frames": 95, + "lec-frames_not_applicable": { + "extra_end": "partner 282 already cold-ended at h0 273 frame (identity)", + "other_hp:554": "tail frame dim 5; no other helper_final frame of that dim" + }, + "canonical_sha256": "d1bf3c6f250a61be7421ce566668092f362c465274fb472d4bb01fc80cba9b23", + "program_sha256": { + "forward": "683f83231d4d4890a7fc3d18f30d4ac7bfbd7bbdf4e7ff57ad0eb09e8a5f571c", + "backward": "2d184e4d9d48aa4d5e3679368ee0eca7e0388b1966eb05e0fd17d22d00d36293" + }, + "clifford_recipes_sha256": "e3bfdfa2c044f14c00a8706950c8ae838ceeedd9ca78a83bffefe7886219516a" +} diff --git a/research/gauge44-leaver8/construction/leaver/CODED-CELLS-k8.json b/research/gauge44-leaver8/construction/leaver/CODED-CELLS-k8.json new file mode 100644 index 0000000000..cd23561e0b --- /dev/null +++ b/research/gauge44-leaver8/construction/leaver/CODED-CELLS-k8.json @@ -0,0 +1,2826 @@ +[ + { + "cell": "01+", + "bindings": { + "x0": [ + "source", + [ + 0, + 1, + 2, + 3 + ], + 1 + ], + "x1": [ + "source", + [ + 0, + 1, + 2, + 3 + ], + 0 + ], + "x2": [ + "source", + [ + 0, + 1, + 4, + 5 + ], + 1 + ], + "x3": [ + "source", + [ + 0, + 1, + 4, + 5 + ], + 0 + ], + "x4": [ + "source", + [ + 0, + 1, + 6, + 7 + ], + 1 + ], + "x5": [ + "source", + [ + 0, + 1, + 6, + 7 + ], + 0 + ], + "y0": [ + "target", + 65 + ], + "y1": [ + "target", + 64 + ], + "y2": [ + "target", + 33 + ], + "y3": [ + "target", + 32 + ], + "y4": [ + "target", + 25 + ], + "y5": [ + "target", + 24 + ] + }, + "scaled": [ + [ + "y1", + "x0", + "-1/2" + ], + [ + "y0", + "x1", + "-1/2" + ], + [ + "y2", + "x5", + "-1/2" + ], + [ + "y3", + "x4", + "-1/2" + ], + [ + "y4", + "x3", + "-1/2" + ], + [ + "y5", + "x2", + "-1/2" + ], + [ + "x0", + "x1", + "1" + ], + [ + "x2", + "x5", + "1" + ], + [ + "x4", + "x3", + "1" + ], + [ + "y1", + "x2", + "-1/2" + ], + [ + "y3", + "x0", + "-1/2" + ], + [ + "y5", + "x4", + "-1/2" + ], + [ + "y0", + "y5", + "1" + ], + [ + "y2", + "y3", + "1" + ], + [ + "y4", + "y1", + "1" + ], + [ + "y1", + "x4", + "-1/2" + ], + [ + "y0", + "x5", + "-1/2" + ], + [ + "y2", + "x3", + "-1/2" + ], + [ + "y3", + "x2", + "-1/2" + ], + [ + "y4", + "x1", + "-1/2" + ], + [ + "y5", + "x0", + "-1/2" + ] + ], + "unit": [ + [ + "y1", + "x0", + 1 + ], + [ + "y0", + "x1", + 1 + ], + [ + "y2", + "x5", + 1 + ], + [ + "y3", + "x4", + 1 + ], + [ + "y4", + "x3", + 1 + ], + [ + "y5", + "x2", + 1 + ], + [ + "x0", + "x1", + 1 + ], + [ + "x2", + "x5", + 1 + ], + [ + "x4", + "x3", + 1 + ], + [ + "y1", + "x2", + 1 + ], + [ + "y3", + "x0", + 1 + ], + [ + "y5", + "x4", + 1 + ], + [ + "y0", + "y5", + 1 + ], + [ + "y2", + "y3", + 1 + ], + [ + "y4", + "y1", + 1 + ], + [ + "y1", + "x4", + 1 + ], + [ + "y0", + "x5", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y4", + "x1", + 1 + ], + [ + "y5", + "x0", + 1 + ] + ], + "coefficients": [ + [ + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2" + ], + [ + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2" + ], + [ + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0" + ] + ] + }, + { + "cell": "23+", + "bindings": { + "x0": [ + "source", + [ + 0, + 1, + 2, + 3 + ], + 23 + ], + "x1": [ + "source", + [ + 0, + 1, + 2, + 3 + ], + 3 + ], + "x2": [ + "source", + [ + 2, + 3, + 4, + 5 + ], + 1 + ], + "x3": [ + "source", + [ + 2, + 3, + 4, + 5 + ], + 0 + ], + "x4": [ + "source", + [ + 2, + 3, + 6, + 7 + ], + 1 + ], + "x5": [ + "source", + [ + 2, + 3, + 6, + 7 + ], + 0 + ], + "y0": [ + "target", + 71 + ], + "y1": [ + "target", + 67 + ], + "y2": [ + "target", + 97 + ], + "y3": [ + "target", + 96 + ], + "y4": [ + "target", + 89 + ], + "y5": [ + "target", + 88 + ] + }, + "scaled": [ + [ + "y1", + "x0", + "1" + ], + [ + "y0", + "x1", + "1" + ], + [ + "y2", + "x5", + "-1/2" + ], + [ + "y3", + "x4", + "-1/2" + ], + [ + "y4", + "x3", + "-1/2" + ], + [ + "y5", + "x2", + "-1/2" + ], + [ + "x0", + "x1", + "1" + ], + [ + "x2", + "x5", + "1" + ], + [ + "x4", + "x3", + "1" + ], + [ + "y1", + "x2", + "-1/2" + ], + [ + "y3", + "x0", + "1" + ], + [ + "y5", + "x4", + "-1/2" + ], + [ + "y0", + "y5", + "1" + ], + [ + "y2", + "y3", + "1" + ], + [ + "y4", + "y1", + "1" + ], + [ + "y1", + "x4", + "-1/2" + ], + [ + "y0", + "x5", + "-1/2" + ], + [ + "y2", + "x3", + "-1/2" + ], + [ + "y3", + "x2", + "-1/2" + ], + [ + "y4", + "x1", + "1" + ], + [ + "y5", + "x0", + "1" + ] + ], + "unit": [ + [ + "y1", + "x0", + 1 + ], + [ + "y0", + "x1", + 1 + ], + [ + "y2", + "x5", + 1 + ], + [ + "y3", + "x4", + 1 + ], + [ + "y4", + "x3", + 1 + ], + [ + "y5", + "x2", + 1 + ], + [ + "x0", + "x1", + 1 + ], + [ + "x2", + "x5", + 1 + ], + [ + "x4", + "x3", + 1 + ], + [ + "y1", + "x2", + 1 + ], + [ + "y3", + "x0", + 1 + ], + [ + "y5", + "x4", + 1 + ], + [ + "y0", + "y5", + 1 + ], + [ + "y2", + "y3", + 1 + ], + [ + "y4", + "y1", + 1 + ], + [ + "y1", + "x4", + 1 + ], + [ + "y0", + "x5", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y4", + "x1", + 1 + ], + [ + "y5", + "x0", + 1 + ] + ], + "coefficients": [ + [ + "0", + "1", + "-1/2", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "1", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "1", + "1", + "0", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "1", + "1", + "-1/2", + "0", + "-1/2", + "-1/2" + ], + [ + "1", + "1", + "-1/2", + "-1/2", + "0", + "-1/2" + ], + [ + "1", + "1", + "-1/2", + "-1/2", + "-1/2", + "0" + ] + ] + }, + { + "cell": "45+", + "bindings": { + "x0": [ + "source", + [ + 0, + 1, + 4, + 5 + ], + 23 + ], + "x1": [ + "source", + [ + 0, + 1, + 4, + 5 + ], + 3 + ], + "x2": [ + "source", + [ + 2, + 3, + 4, + 5 + ], + 23 + ], + "x3": [ + "source", + [ + 2, + 3, + 4, + 5 + ], + 3 + ], + "x4": [ + "source", + [ + 4, + 5, + 6, + 7 + ], + 1 + ], + "x5": [ + "source", + [ + 4, + 5, + 6, + 7 + ], + 0 + ], + "y0": [ + "target", + 39 + ], + "y1": [ + "target", + 35 + ], + "y2": [ + "target", + 103 + ], + "y3": [ + "target", + 99 + ], + "y4": [ + "target", + 57 + ], + "y5": [ + "target", + 56 + ] + }, + "scaled": [ + [ + "y1", + "x0", + "1" + ], + [ + "y0", + "x1", + "1" + ], + [ + "y2", + "x5", + "-1/2" + ], + [ + "y3", + "x4", + "-1/2" + ], + [ + "y4", + "x3", + "1" + ], + [ + "y5", + "x2", + "1" + ], + [ + "x0", + "x1", + "1" + ], + [ + "x2", + "x5", + "-1/2" + ], + [ + "x4", + "x3", + "-2" + ], + [ + "y1", + "x2", + "1" + ], + [ + "y3", + "x0", + "1" + ], + [ + "y5", + "x4", + "-1/2" + ], + [ + "y0", + "y5", + "1" + ], + [ + "y2", + "y3", + "1" + ], + [ + "y4", + "y1", + "1" + ], + [ + "y1", + "x4", + "-1/2" + ], + [ + "y0", + "x5", + "-1/2" + ], + [ + "y2", + "x3", + "1" + ], + [ + "y3", + "x2", + "1" + ], + [ + "y4", + "x1", + "1" + ], + [ + "y5", + "x0", + "1" + ] + ], + "unit": [ + [ + "y1", + "x0", + 1 + ], + [ + "y0", + "x1", + 1 + ], + [ + "y2", + "x5", + 1 + ], + [ + "y3", + "x4", + 1 + ], + [ + "y4", + "x3", + 1 + ], + [ + "y5", + "x2", + 1 + ], + [ + "x0", + "x1", + 1 + ], + [ + "x2", + "x5", + 1 + ], + [ + "x4", + "x3", + 1 + ], + [ + "y1", + "x2", + 1 + ], + [ + "y3", + "x0", + 1 + ], + [ + "y5", + "x4", + 1 + ], + [ + "y0", + "y5", + 1 + ], + [ + "y2", + "y3", + 1 + ], + [ + "y4", + "y1", + 1 + ], + [ + "y1", + "x4", + 1 + ], + [ + "y0", + "x5", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y4", + "x1", + 1 + ], + [ + "y5", + "x0", + 1 + ] + ], + "coefficients": [ + [ + "0", + "1", + "1", + "1", + "-1/2", + "-1/2" + ], + [ + "1", + "0", + "1", + "1", + "-1/2", + "-1/2" + ], + [ + "1", + "1", + "0", + "1", + "-1/2", + "-1/2" + ], + [ + "1", + "1", + "1", + "0", + "-1/2", + "-1/2" + ], + [ + "1", + "1", + "1", + "1", + "0", + "-1/2" + ], + [ + "1", + "1", + "1", + "1", + "-1/2", + "0" + ] + ] + }, + { + "cell": "67+", + "bindings": { + "x0": [ + "source", + [ + 0, + 1, + 6, + 7 + ], + 23 + ], + "x1": [ + "source", + [ + 0, + 1, + 6, + 7 + ], + 3 + ], + "x2": [ + "source", + [ + 2, + 3, + 6, + 7 + ], + 23 + ], + "x3": [ + "source", + [ + 2, + 3, + 6, + 7 + ], + 3 + ], + "x4": [ + "source", + [ + 4, + 5, + 6, + 7 + ], + 23 + ], + "x5": [ + "source", + [ + 4, + 5, + 6, + 7 + ], + 3 + ], + "y0": [ + "target", + 31 + ], + "y1": [ + "target", + 27 + ], + "y2": [ + "target", + 95 + ], + "y3": [ + "target", + 91 + ], + "y4": [ + "target", + 63 + ], + "y5": [ + "target", + 59 + ] + }, + "scaled": [ + [ + "y1", + "x0", + "1" + ], + [ + "y0", + "x1", + "1" + ], + [ + "y2", + "x5", + "1" + ], + [ + "y3", + "x4", + "1" + ], + [ + "y4", + "x3", + "1" + ], + [ + "y5", + "x2", + "1" + ], + [ + "x0", + "x1", + "1" + ], + [ + "x2", + "x5", + "1" + ], + [ + "x4", + "x3", + "1" + ], + [ + "y1", + "x2", + "1" + ], + [ + "y3", + "x0", + "1" + ], + [ + "y5", + "x4", + "1" + ], + [ + "y0", + "y5", + "1" + ], + [ + "y2", + "y3", + "1" + ], + [ + "y4", + "y1", + "1" + ], + [ + "y1", + "x4", + "1" + ], + [ + "y0", + "x5", + "1" + ], + [ + "y2", + "x3", + "1" + ], + [ + "y3", + "x2", + "1" + ], + [ + "y4", + "x1", + "1" + ], + [ + "y5", + "x0", + "1" + ] + ], + "unit": [ + [ + "y1", + "x0", + 1 + ], + [ + "y0", + "x1", + 1 + ], + [ + "y2", + "x5", + 1 + ], + [ + "y3", + "x4", + 1 + ], + [ + "y4", + "x3", + 1 + ], + [ + "y5", + "x2", + 1 + ], + [ + "x0", + "x1", + 1 + ], + [ + "x2", + "x5", + 1 + ], + [ + "x4", + "x3", + 1 + ], + [ + "y1", + "x2", + 1 + ], + [ + "y3", + "x0", + 1 + ], + [ + "y5", + "x4", + 1 + ], + [ + "y0", + "y5", + 1 + ], + [ + "y2", + "y3", + 1 + ], + [ + "y4", + "y1", + 1 + ], + [ + "y1", + "x4", + 1 + ], + [ + "y0", + "x5", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y4", + "x1", + 1 + ], + [ + "y5", + "x0", + 1 + ] + ], + "coefficients": [ + [ + "0", + "1", + "1", + "1", + "1", + "1" + ], + [ + "1", + "0", + "1", + "1", + "1", + "1" + ], + [ + "1", + "1", + "0", + "1", + "1", + "1" + ], + [ + "1", + "1", + "1", + "0", + "1", + "1" + ], + [ + "1", + "1", + "1", + "1", + "0", + "1" + ], + [ + "1", + "1", + "1", + "1", + "1", + "0" + ] + ] + }, + { + "cell": "67-", + "bindings": { + "x0": [ + "source", + [ + 0, + 1, + 6, + 7 + ], + 2 + ], + "x1": [ + "source", + [ + 0, + 1, + 6, + 7 + ], + 21 + ], + "x2": [ + "source", + [ + 2, + 3, + 6, + 7 + ], + 2 + ], + "x3": [ + "source", + [ + 2, + 3, + 6, + 7 + ], + 21 + ], + "x4": [ + "source", + [ + 4, + 5, + 6, + 7 + ], + 2 + ], + "x5": [ + "source", + [ + 4, + 5, + 6, + 7 + ], + 21 + ], + "y0": [ + "target", + 26 + ], + "y1": [ + "target", + 30 + ], + "y2": [ + "target", + 90 + ], + "y3": [ + "target", + 94 + ], + "y4": [ + "target", + 58 + ], + "y5": [ + "target", + 62 + ] + }, + "scaled": [ + [ + "y1", + "x0", + "1" + ], + [ + "y0", + "x1", + "1" + ], + [ + "y2", + "x5", + "1" + ], + [ + "y3", + "x4", + "1" + ], + [ + "y4", + "x3", + "1" + ], + [ + "y5", + "x2", + "1" + ], + [ + "x0", + "x1", + "1" + ], + [ + "x2", + "x5", + "1" + ], + [ + "x4", + "x3", + "1" + ], + [ + "y1", + "x2", + "1" + ], + [ + "y3", + "x0", + "1" + ], + [ + "y5", + "x4", + "1" + ], + [ + "y0", + "y5", + "1" + ], + [ + "y2", + "y3", + "1" + ], + [ + "y4", + "y1", + "1" + ], + [ + "y1", + "x4", + "1" + ], + [ + "y0", + "x5", + "1" + ], + [ + "y2", + "x3", + "1" + ], + [ + "y3", + "x2", + "1" + ], + [ + "y4", + "x1", + "1" + ], + [ + "y5", + "x0", + "1" + ] + ], + "unit": [ + [ + "y1", + "x0", + 1 + ], + [ + "y0", + "x1", + 1 + ], + [ + "y2", + "x5", + 1 + ], + [ + "y3", + "x4", + 1 + ], + [ + "y4", + "x3", + 1 + ], + [ + "y5", + "x2", + 1 + ], + [ + "x0", + "x1", + 1 + ], + [ + "x2", + "x5", + 1 + ], + [ + "x4", + "x3", + 1 + ], + [ + "y1", + "x2", + 1 + ], + [ + "y3", + "x0", + 1 + ], + [ + "y5", + "x4", + 1 + ], + [ + "y0", + "y5", + 1 + ], + [ + "y2", + "y3", + 1 + ], + [ + "y4", + "y1", + 1 + ], + [ + "y1", + "x4", + 1 + ], + [ + "y0", + "x5", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y4", + "x1", + 1 + ], + [ + "y5", + "x0", + 1 + ] + ], + "coefficients": [ + [ + "0", + "1", + "1", + "1", + "1", + "1" + ], + [ + "1", + "0", + "1", + "1", + "1", + "1" + ], + [ + "1", + "1", + "0", + "1", + "1", + "1" + ], + [ + "1", + "1", + "1", + "0", + "1", + "1" + ], + [ + "1", + "1", + "1", + "1", + "0", + "1" + ], + [ + "1", + "1", + "1", + "1", + "1", + "0" + ] + ] + }, + { + "cell": "01-", + "bindings": { + "x0": [ + "source", + [ + 0, + 1, + 2, + 3 + ], + 19 + ], + "x1": [ + "source", + [ + 0, + 1, + 2, + 3 + ], + 17 + ], + "x2": [ + "source", + [ + 0, + 1, + 4, + 5 + ], + 19 + ], + "x3": [ + "source", + [ + 0, + 1, + 4, + 5 + ], + 17 + ], + "x4": [ + "source", + [ + 0, + 1, + 6, + 7 + ], + 19 + ], + "x5": [ + "source", + [ + 0, + 1, + 6, + 7 + ], + 17 + ], + "y0": [ + "target", + 69 + ], + "y1": [ + "target", + 68 + ], + "y2": [ + "target", + 37 + ], + "y3": [ + "target", + 36 + ], + "y4": [ + "target", + 29 + ], + "y5": [ + "target", + 28 + ] + }, + "scaled": [ + [ + "y0", + "x1", + "-1/2" + ], + [ + "y1", + "x0", + "-1/2" + ], + [ + "y3", + "x4", + "-1/2" + ], + [ + "y2", + "x5", + "-1/2" + ], + [ + "y5", + "x2", + "-1/2" + ], + [ + "y4", + "x3", + "-1/2" + ], + [ + "x1", + "x0", + "1" + ], + [ + "x3", + "x4", + "1" + ], + [ + "x5", + "x2", + "1" + ], + [ + "y0", + "x3", + "-1/2" + ], + [ + "y2", + "x1", + "-1/2" + ], + [ + "y4", + "x5", + "-1/2" + ], + [ + "y1", + "y4", + "1" + ], + [ + "y3", + "y2", + "1" + ], + [ + "y5", + "y0", + "1" + ], + [ + "y0", + "x5", + "-1/2" + ], + [ + "y1", + "x4", + "-1/2" + ], + [ + "y3", + "x2", + "-1/2" + ], + [ + "y2", + "x3", + "-1/2" + ], + [ + "y5", + "x0", + "-1/2" + ], + [ + "y4", + "x1", + "-1/2" + ] + ], + "unit": [ + [ + "y0", + "x1", + 1 + ], + [ + "y1", + "x0", + 1 + ], + [ + "y3", + "x4", + 1 + ], + [ + "y2", + "x5", + 1 + ], + [ + "y5", + "x2", + 1 + ], + [ + "y4", + "x3", + 1 + ], + [ + "x1", + "x0", + 1 + ], + [ + "x3", + "x4", + 1 + ], + [ + "x5", + "x2", + 1 + ], + [ + "y0", + "x3", + 1 + ], + [ + "y2", + "x1", + 1 + ], + [ + "y4", + "x5", + 1 + ], + [ + "y1", + "y4", + 1 + ], + [ + "y3", + "y2", + 1 + ], + [ + "y5", + "y0", + 1 + ], + [ + "y0", + "x5", + 1 + ], + [ + "y1", + "x4", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y5", + "x0", + 1 + ], + [ + "y4", + "x1", + 1 + ] + ], + "coefficients": [ + [ + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2" + ], + [ + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2" + ], + [ + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0" + ] + ] + }, + { + "cell": "23-", + "bindings": { + "x0": [ + "source", + [ + 0, + 1, + 2, + 3 + ], + 2 + ], + "x1": [ + "source", + [ + 0, + 1, + 2, + 3 + ], + 21 + ], + "x2": [ + "source", + [ + 2, + 3, + 4, + 5 + ], + 19 + ], + "x3": [ + "source", + [ + 2, + 3, + 4, + 5 + ], + 17 + ], + "x4": [ + "source", + [ + 2, + 3, + 6, + 7 + ], + 19 + ], + "x5": [ + "source", + [ + 2, + 3, + 6, + 7 + ], + 17 + ], + "y0": [ + "target", + 66 + ], + "y1": [ + "target", + 70 + ], + "y2": [ + "target", + 101 + ], + "y3": [ + "target", + 100 + ], + "y4": [ + "target", + 93 + ], + "y5": [ + "target", + 92 + ] + }, + "scaled": [ + [ + "y1", + "x0", + "1" + ], + [ + "y0", + "x1", + "1" + ], + [ + "y3", + "x4", + "-1/2" + ], + [ + "y2", + "x5", + "-1/2" + ], + [ + "y5", + "x2", + "-1/2" + ], + [ + "y4", + "x3", + "-1/2" + ], + [ + "x0", + "x1", + "1" + ], + [ + "x3", + "x4", + "1" + ], + [ + "x5", + "x2", + "1" + ], + [ + "y1", + "x3", + "-1/2" + ], + [ + "y2", + "x0", + "1" + ], + [ + "y4", + "x5", + "-1/2" + ], + [ + "y0", + "y4", + "1" + ], + [ + "y3", + "y2", + "1" + ], + [ + "y5", + "y1", + "1" + ], + [ + "y1", + "x5", + "-1/2" + ], + [ + "y0", + "x4", + "-1/2" + ], + [ + "y3", + "x2", + "-1/2" + ], + [ + "y2", + "x3", + "-1/2" + ], + [ + "y5", + "x1", + "1" + ], + [ + "y4", + "x0", + "1" + ] + ], + "unit": [ + [ + "y1", + "x0", + 1 + ], + [ + "y0", + "x1", + 1 + ], + [ + "y3", + "x4", + 1 + ], + [ + "y2", + "x5", + 1 + ], + [ + "y5", + "x2", + 1 + ], + [ + "y4", + "x3", + 1 + ], + [ + "x0", + "x1", + 1 + ], + [ + "x3", + "x4", + 1 + ], + [ + "x5", + "x2", + 1 + ], + [ + "y1", + "x3", + 1 + ], + [ + "y2", + "x0", + 1 + ], + [ + "y4", + "x5", + 1 + ], + [ + "y0", + "y4", + 1 + ], + [ + "y3", + "y2", + 1 + ], + [ + "y5", + "y1", + 1 + ], + [ + "y1", + "x5", + 1 + ], + [ + "y0", + "x4", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y5", + "x1", + 1 + ], + [ + "y4", + "x0", + 1 + ] + ], + "coefficients": [ + [ + "0", + "1", + "-1/2", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "1", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "1", + "1", + "0", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "1", + "1", + "-1/2", + "0", + "-1/2", + "-1/2" + ], + [ + "1", + "1", + "-1/2", + "-1/2", + "0", + "-1/2" + ], + [ + "1", + "1", + "-1/2", + "-1/2", + "-1/2", + "0" + ] + ] + }, + { + "cell": "45-", + "bindings": { + "x0": [ + "source", + [ + 0, + 1, + 4, + 5 + ], + 2 + ], + "x1": [ + "source", + [ + 0, + 1, + 4, + 5 + ], + 21 + ], + "x2": [ + "source", + [ + 2, + 3, + 4, + 5 + ], + 2 + ], + "x3": [ + "source", + [ + 2, + 3, + 4, + 5 + ], + 21 + ], + "x4": [ + "source", + [ + 4, + 5, + 6, + 7 + ], + 19 + ], + "x5": [ + "source", + [ + 4, + 5, + 6, + 7 + ], + 17 + ], + "y0": [ + "target", + 34 + ], + "y1": [ + "target", + 38 + ], + "y2": [ + "target", + 98 + ], + "y3": [ + "target", + 102 + ], + "y4": [ + "target", + 61 + ], + "y5": [ + "target", + 60 + ] + }, + "scaled": [ + [ + "y1", + "x0", + "1" + ], + [ + "y0", + "x1", + "1" + ], + [ + "y2", + "x4", + "-1/2" + ], + [ + "y3", + "x5", + "-1/2" + ], + [ + "y5", + "x3", + "1" + ], + [ + "y4", + "x2", + "1" + ], + [ + "x0", + "x1", + "1" + ], + [ + "x2", + "x4", + "-1/2" + ], + [ + "x5", + "x3", + "-2" + ], + [ + "y1", + "x2", + "1" + ], + [ + "y3", + "x0", + "1" + ], + [ + "y4", + "x5", + "-1/2" + ], + [ + "y0", + "y4", + "1" + ], + [ + "y2", + "y3", + "1" + ], + [ + "y5", + "y1", + "1" + ], + [ + "y1", + "x5", + "-1/2" + ], + [ + "y0", + "x4", + "-1/2" + ], + [ + "y2", + "x3", + "1" + ], + [ + "y3", + "x2", + "1" + ], + [ + "y5", + "x1", + "1" + ], + [ + "y4", + "x0", + "1" + ] + ], + "unit": [ + [ + "y1", + "x0", + 1 + ], + [ + "y0", + "x1", + 1 + ], + [ + "y2", + "x4", + 1 + ], + [ + "y3", + "x5", + 1 + ], + [ + "y5", + "x3", + 1 + ], + [ + "y4", + "x2", + 1 + ], + [ + "x0", + "x1", + 1 + ], + [ + "x2", + "x4", + 1 + ], + [ + "x5", + "x3", + 1 + ], + [ + "y1", + "x2", + 1 + ], + [ + "y3", + "x0", + 1 + ], + [ + "y4", + "x5", + 1 + ], + [ + "y0", + "y4", + 1 + ], + [ + "y2", + "y3", + 1 + ], + [ + "y5", + "y1", + 1 + ], + [ + "y1", + "x5", + 1 + ], + [ + "y0", + "x4", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y5", + "x1", + 1 + ], + [ + "y4", + "x0", + 1 + ] + ], + "coefficients": [ + [ + "0", + "1", + "1", + "1", + "-1/2", + "-1/2" + ], + [ + "1", + "0", + "1", + "1", + "-1/2", + "-1/2" + ], + [ + "1", + "1", + "0", + "1", + "-1/2", + "-1/2" + ], + [ + "1", + "1", + "1", + "0", + "-1/2", + "-1/2" + ], + [ + "1", + "1", + "1", + "1", + "0", + "-1/2" + ], + [ + "1", + "1", + "1", + "1", + "-1/2", + "0" + ] + ] + } +] diff --git a/research/gauge44-leaver8/construction/leaver/COLD-LAYERS-RECIPE-NP-k8.json.gz b/research/gauge44-leaver8/construction/leaver/COLD-LAYERS-RECIPE-NP-k8.json.gz new file mode 100644 index 0000000000..6850696b19 Binary files /dev/null and b/research/gauge44-leaver8/construction/leaver/COLD-LAYERS-RECIPE-NP-k8.json.gz differ diff --git a/research/gauge44-leaver8/construction/leaver/COLD-LAYERS-RECIPE-P6N-k8.json.gz b/research/gauge44-leaver8/construction/leaver/COLD-LAYERS-RECIPE-P6N-k8.json.gz new file mode 100644 index 0000000000..dc0275695d Binary files /dev/null and b/research/gauge44-leaver8/construction/leaver/COLD-LAYERS-RECIPE-P6N-k8.json.gz differ diff --git a/research/gauge44-leaver8/construction/leaver/FRAME-RECIPE-LV-k8.json b/research/gauge44-leaver8/construction/leaver/FRAME-RECIPE-LV-k8.json new file mode 100644 index 0000000000..982bd357da --- /dev/null +++ b/research/gauge44-leaver8/construction/leaver/FRAME-RECIPE-LV-k8.json @@ -0,0 +1,2987 @@ +{ + "input_content_sha256": "c836d8922fc9e50529e006488ca2ce4a542a93150de0e0e8f7d3955ad991968f", + "gate_frames": [ + [ + "B", + 539, + [ + 336, + 208, + 32, + 8, + 6 + ], + [ + 336, + 208, + 32, + 8, + 6, + 1 + ] + ], + [ + "B", + 540, + [ + 400, + 80, + 32, + 8, + 6 + ], + [ + 400, + 80, + 32, + 8, + 6, + 1 + ] + ], + [ + "B", + 541, + [ + 256, + 128, + 64, + 16, + 6 + ], + [ + 256, + 128, + 64, + 16, + 6, + 1 + ] + ], + [ + "B", + 542, + [ + 256, + 128, + 64, + 16, + 8, + 6 + ], + [ + 256, + 128, + 64, + 16, + 8, + 6, + 1 + ] + ], + [ + "B", + 545, + [ + 256, + 144, + 80, + 32, + 8, + 6 + ], + [ + 256, + 144, + 80, + 32, + 8, + 6, + 1 + ] + ], + [ + "B", + 547, + [ + 272, + 144, + 64, + 32, + 8, + 6 + ], + [ + 272, + 144, + 64, + 32, + 8, + 6, + 1 + ] + ], + [ + "B", + 557, + [ + 280, + 137, + 73, + 6 + ], + [ + 257, + 137, + 73, + 25, + 6 + ] + ], + [ + "B", + 559, + [ + 265, + 137, + 81, + 6 + ], + [ + 265, + 137, + 72, + 25, + 6 + ] + ], + [ + "B", + 560, + [ + 265, + 137, + 81, + 32, + 6 + ], + [ + 265, + 137, + 72, + 32, + 25, + 6 + ] + ], + [ + "B", + 561, + [ + 401, + 64, + 32, + 9, + 6 + ], + [ + 385, + 64, + 32, + 16, + 9, + 6 + ] + ], + [ + "B", + 562, + [ + 265, + 137, + 73, + 17, + 6 + ], + [ + 257, + 129, + 65, + 17, + 8, + 6 + ] + ], + [ + "B", + 563, + [ + 256, + 128, + 64, + 17, + 9, + 6 + ], + [ + 256, + 128, + 64, + 16, + 8, + 6, + 1 + ] + ], + [ + "B", + 564, + [ + 265, + 137, + 73, + 32, + 24, + 6 + ], + [ + 264, + 136, + 72, + 32, + 24, + 6, + 1 + ] + ], + [ + "B", + 566, + [ + 273, + 128, + 64, + 32, + 9, + 6 + ], + [ + 257, + 128, + 64, + 32, + 16, + 9, + 6 + ] + ], + [ + "B", + 567, + [ + 265, + 137, + 73, + 32, + 17, + 6 + ], + [ + 257, + 129, + 65, + 32, + 17, + 8, + 6 + ] + ], + [ + "B", + 568, + [ + 256, + 128, + 81, + 32, + 9, + 6 + ], + [ + 256, + 128, + 65, + 32, + 16, + 9, + 6 + ] + ], + [ + "B", + 580, + [ + 265, + 193, + 40, + 6 + ], + [ + 265, + 144, + 81, + 40, + 6 + ] + ], + [ + "B", + 581, + [ + 265, + 193, + 40, + 17, + 6 + ], + [ + 265, + 129, + 64, + 40, + 17, + 6 + ] + ], + [ + "B", + 582, + [ + 289, + 176, + 96, + 9, + 6 + ], + [ + 289, + 160, + 96, + 16, + 9, + 6 + ] + ], + [ + "B", + 583, + [ + 265, + 152, + 80, + 33, + 6 + ], + [ + 257, + 144, + 80, + 33, + 8, + 6 + ] + ], + [ + "B", + 584, + [ + 256, + 145, + 80, + 33, + 9, + 6 + ], + [ + 256, + 144, + 80, + 32, + 8, + 6, + 1 + ] + ], + [ + "B", + 585, + [ + 265, + 128, + 65, + 40, + 17, + 6 + ], + [ + 264, + 128, + 64, + 40, + 16, + 6, + 1 + ] + ], + [ + "B", + 586, + [ + 256, + 145, + 65, + 33, + 9, + 6 + ], + [ + 256, + 129, + 65, + 33, + 16, + 9, + 6 + ] + ], + [ + "B", + 587, + [ + 273, + 128, + 80, + 48, + 9, + 6 + ], + [ + 257, + 128, + 64, + 32, + 16, + 9, + 6 + ] + ], + [ + "B", + 589, + [ + 256, + 193, + 33, + 17, + 9, + 6 + ], + [ + 256, + 129, + 64, + 33, + 17, + 9, + 6 + ] + ], + [ + "B", + 602, + [ + 256, + 144, + 73, + 57, + 6 + ], + [ + 256, + 129, + 73, + 40, + 17, + 6 + ] + ], + [ + "B", + 603, + [ + 297, + 169, + 104, + 16, + 6 + ], + [ + 288, + 160, + 97, + 16, + 9, + 6 + ] + ], + [ + "B", + 604, + [ + 272, + 152, + 73, + 33, + 6 + ], + [ + 272, + 145, + 64, + 33, + 9, + 6 + ] + ], + [ + "B", + 605, + [ + 272, + 144, + 65, + 33, + 8, + 6 + ], + [ + 272, + 144, + 64, + 32, + 8, + 6, + 1 + ] + ], + [ + "B", + 606, + [ + 256, + 128, + 73, + 41, + 16, + 6 + ], + [ + 256, + 128, + 72, + 40, + 16, + 6, + 1 + ] + ], + [ + "B", + 607, + [ + 264, + 136, + 73, + 33, + 16, + 6 + ], + [ + 257, + 129, + 64, + 33, + 16, + 9, + 6 + ] + ], + [ + "B", + 609, + [ + 264, + 128, + 73, + 33, + 24, + 6 + ], + [ + 257, + 128, + 64, + 33, + 17, + 9, + 6 + ] + ], + [ + "B", + 610, + [ + 256, + 136, + 73, + 33, + 24, + 6 + ], + [ + 256, + 129, + 64, + 33, + 17, + 9, + 6 + ] + ], + [ + "B", + 620, + [ + 368, + 161, + 8, + 6 + ], + [ + 273, + 161, + 97, + 8, + 6 + ] + ], + [ + "B", + 623, + [ + 256, + 193, + 33, + 16, + 6 + ], + [ + 256, + 129, + 64, + 33, + 16, + 6 + ] + ], + [ + "B", + 624, + [ + 289, + 161, + 112, + 8, + 6 + ], + [ + 289, + 161, + 97, + 17, + 8, + 6 + ] + ], + [ + "B", + 625, + [ + 321, + 144, + 49, + 8, + 6 + ], + [ + 273, + 144, + 80, + 49, + 8, + 6 + ] + ], + [ + "B", + 626, + [ + 272, + 144, + 81, + 49, + 8, + 6 + ], + [ + 272, + 144, + 80, + 48, + 8, + 6, + 1 + ] + ], + [ + "B", + 627, + [ + 256, + 128, + 65, + 33, + 16, + 6 + ], + [ + 256, + 128, + 64, + 32, + 16, + 6, + 1 + ] + ], + [ + "B", + 629, + [ + 256, + 128, + 81, + 33, + 8, + 6 + ], + [ + 256, + 128, + 64, + 33, + 17, + 8, + 6 + ] + ], + [ + "B", + 630, + [ + 321, + 128, + 33, + 16, + 8, + 6 + ], + [ + 257, + 128, + 64, + 33, + 16, + 8, + 6 + ] + ], + [ + "B", + 631, + [ + 256, + 193, + 33, + 16, + 8, + 6 + ], + [ + 256, + 129, + 64, + 33, + 16, + 8, + 6 + ] + ], + [ + "B", + 641, + [ + 256, + 216, + 40, + 6 + ], + [ + 256, + 216, + 40, + 6, + 1 + ] + ], + [ + "B", + 644, + [ + 272, + 144, + 80, + 56, + 6 + ], + [ + 272, + 144, + 80, + 56, + 6, + 1 + ] + ], + [ + "B", + 645, + [ + 392, + 64, + 40, + 16, + 6 + ], + [ + 392, + 64, + 40, + 16, + 6, + 1 + ] + ], + [ + "B", + 646, + [ + 256, + 128, + 88, + 40, + 6 + ], + [ + 256, + 128, + 88, + 40, + 6, + 1 + ] + ], + [ + "B", + 648, + [ + 264, + 136, + 72, + 32, + 24, + 6 + ], + [ + 264, + 136, + 72, + 32, + 24, + 6, + 1 + ] + ], + [ + "B", + 649, + [ + 264, + 128, + 64, + 40, + 16, + 6 + ], + [ + 264, + 128, + 64, + 40, + 16, + 6, + 1 + ] + ], + [ + "B", + 651, + [ + 256, + 128, + 72, + 40, + 16, + 6 + ], + [ + 256, + 128, + 72, + 40, + 16, + 6, + 1 + ] + ], + [ + "B", + 665, + [ + 320, + 192, + 41, + 17, + 6 + ], + [ + 320, + 192, + 33, + 17, + 8, + 6 + ] + ], + [ + "B", + 666, + [ + 401, + 81, + 49, + 9, + 6 + ], + [ + 385, + 65, + 33, + 16, + 9, + 6 + ] + ], + [ + "B", + 667, + [ + 280, + 152, + 64, + 49, + 6 + ], + [ + 257, + 129, + 64, + 40, + 25, + 6 + ] + ], + [ + "B", + 668, + [ + 256, + 128, + 64, + 41, + 24, + 6 + ], + [ + 256, + 128, + 64, + 40, + 24, + 6, + 1 + ] + ], + [ + "B", + 669, + [ + 320, + 192, + 32, + 17, + 9, + 6 + ], + [ + 320, + 192, + 32, + 16, + 8, + 6, + 1 + ] + ], + [ + "B", + 670, + [ + 256, + 145, + 81, + 49, + 9, + 6 + ], + [ + 256, + 129, + 65, + 33, + 16, + 9, + 6 + ] + ], + [ + "B", + 672, + [ + 273, + 145, + 64, + 49, + 9, + 6 + ], + [ + 257, + 129, + 64, + 33, + 16, + 9, + 6 + ] + ], + [ + "B", + 673, + [ + 256, + 128, + 64, + 41, + 17, + 6 + ], + [ + 256, + 128, + 64, + 33, + 17, + 8, + 6 + ] + ], + [ + "B", + 686, + [ + 280, + 137, + 80, + 33, + 6 + ], + [ + 272, + 129, + 80, + 33, + 8, + 6 + ] + ], + [ + "B", + 687, + [ + 304, + 161, + 96, + 9, + 6 + ], + [ + 288, + 161, + 96, + 16, + 9, + 6 + ] + ], + [ + "B", + 688, + [ + 321, + 137, + 40, + 17, + 6 + ], + [ + 257, + 137, + 64, + 40, + 17, + 6 + ] + ], + [ + "B", + 689, + [ + 256, + 137, + 65, + 40, + 17, + 6 + ], + [ + 256, + 136, + 64, + 40, + 16, + 6, + 1 + ] + ], + [ + "B", + 690, + [ + 273, + 128, + 80, + 33, + 9, + 6 + ], + [ + 272, + 128, + 80, + 32, + 8, + 6, + 1 + ] + ], + [ + "B", + 691, + [ + 256, + 145, + 80, + 48, + 9, + 6 + ], + [ + 256, + 129, + 64, + 32, + 16, + 9, + 6 + ] + ], + [ + "B", + 692, + [ + 273, + 128, + 65, + 33, + 9, + 6 + ], + [ + 257, + 128, + 65, + 33, + 16, + 9, + 6 + ] + ], + [ + "B", + 693, + [ + 321, + 128, + 33, + 17, + 9, + 6 + ], + [ + 257, + 128, + 64, + 33, + 17, + 9, + 6 + ] + ], + [ + "B", + 1232, + [ + 256, + 128, + 64, + 34, + 18, + 10, + 6, + 1 + ], + [ + 256, + 128, + 64, + 40, + 24, + 6, + 1 + ] + ], + [ + "B", + 1235, + [ + 256, + 128, + 64, + 34, + 16, + 8, + 6, + 1 + ], + [ + 256, + 128, + 64, + 16, + 8, + 6, + 1 + ] + ], + [ + "B", + 1238, + [ + 258, + 130, + 66, + 32, + 18, + 10, + 6, + 1 + ], + [ + 264, + 136, + 72, + 32, + 24, + 6, + 1 + ] + ], + [ + "B", + 1241, + [ + 258, + 130, + 66, + 32, + 16, + 8, + 6, + 1 + ], + [ + 320, + 192, + 32, + 16, + 8, + 6, + 1 + ] + ], + [ + "B", + 1244, + [ + 256, + 130, + 64, + 34, + 16, + 10, + 6, + 1 + ], + [ + 256, + 136, + 64, + 40, + 16, + 6, + 1 + ] + ], + [ + "B", + 1247, + [ + 256, + 130, + 66, + 32, + 18, + 8, + 6, + 1 + ], + [ + 256, + 144, + 80, + 32, + 8, + 6, + 1 + ] + ], + [ + "B", + 1250, + [ + 258, + 128, + 64, + 34, + 16, + 10, + 6, + 1 + ], + [ + 264, + 128, + 64, + 40, + 16, + 6, + 1 + ] + ], + [ + "B", + 1253, + [ + 258, + 128, + 66, + 32, + 18, + 8, + 6, + 1 + ], + [ + 272, + 128, + 80, + 32, + 8, + 6, + 1 + ] + ], + [ + "B", + 1256, + [ + 258, + 130, + 66, + 34, + 18, + 8, + 6, + 1 + ], + [ + 272, + 144, + 80, + 48, + 8, + 6, + 1 + ] + ], + [ + "B", + 1259, + [ + 258, + 130, + 64, + 32, + 18, + 8, + 6, + 1 + ], + [ + 272, + 144, + 64, + 32, + 8, + 6, + 1 + ] + ], + [ + "B", + 1262, + [ + 256, + 128, + 66, + 34, + 16, + 10, + 6, + 1 + ], + [ + 256, + 128, + 72, + 40, + 16, + 6, + 1 + ] + ], + [ + "B", + 1265, + [ + 256, + 128, + 64, + 32, + 16, + 10, + 6, + 1 + ], + [ + 256, + 128, + 64, + 32, + 16, + 6, + 1 + ] + ], + [ + "B", + 1268, + [ + 256, + 128, + 66, + 34, + 16, + 8, + 4, + 1 + ], + [ + 256, + 128, + 66, + 34, + 24, + 4, + 1 + ] + ], + [ + "B", + 1271, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 4, + 1 + ], + [ + 256, + 128, + 64, + 32, + 24, + 4, + 1 + ] + ], + [ + "B", + 1274, + [ + 260, + 132, + 68, + 36, + 20, + 12, + 2, + 1 + ], + [ + 260, + 132, + 68, + 36, + 24, + 2, + 1 + ] + ], + [ + "B", + 1277, + [ + 260, + 132, + 64, + 32, + 16, + 8, + 2, + 1 + ], + [ + 260, + 132, + 64, + 32, + 24, + 2, + 1 + ] + ], + [ + "B", + 1280, + [ + 258, + 128, + 64, + 34, + 18, + 10, + 4, + 1 + ], + [ + 258, + 128, + 64, + 34, + 24, + 4, + 1 + ] + ], + [ + "B", + 1283, + [ + 260, + 128, + 68, + 32, + 16, + 8, + 2, + 1 + ], + [ + 260, + 128, + 68, + 32, + 24, + 2, + 1 + ] + ], + [ + "B", + 1286, + [ + 256, + 130, + 64, + 34, + 16, + 8, + 4, + 1 + ], + [ + 256, + 130, + 64, + 34, + 24, + 4, + 1 + ] + ], + [ + "B", + 1289, + [ + 256, + 132, + 68, + 32, + 20, + 12, + 2, + 1 + ], + [ + 256, + 132, + 68, + 32, + 24, + 2, + 1 + ] + ], + [ + "B", + 1292, + [ + 258, + 130, + 64, + 34, + 16, + 10, + 4, + 1 + ], + [ + 262, + 134, + 64, + 38, + 20, + 10, + 1 + ] + ], + [ + "B", + 1295, + [ + 258, + 130, + 66, + 32, + 18, + 8, + 4, + 1 + ], + [ + 262, + 134, + 70, + 32, + 18, + 12, + 1 + ] + ], + [ + "B", + 1298, + [ + 256, + 128, + 64, + 34, + 18, + 8, + 4, + 1 + ], + [ + 256, + 128, + 64, + 38, + 18, + 12, + 1 + ] + ], + [ + "B", + 1301, + [ + 256, + 128, + 66, + 32, + 16, + 10, + 4, + 1 + ], + [ + 256, + 128, + 70, + 32, + 20, + 10, + 1 + ] + ], + [ + "B", + 1304, + [ + 256, + 132, + 68, + 36, + 20, + 8, + 2, + 1 + ], + [ + 256, + 134, + 70, + 38, + 20, + 10, + 1 + ] + ], + [ + "B", + 1307, + [ + 256, + 130, + 64, + 32, + 16, + 10, + 4, + 1 + ], + [ + 256, + 134, + 64, + 32, + 20, + 10, + 1 + ] + ], + [ + "B", + 1310, + [ + 258, + 128, + 66, + 34, + 16, + 10, + 4, + 1 + ], + [ + 262, + 128, + 70, + 38, + 20, + 10, + 1 + ] + ], + [ + "B", + 1313, + [ + 260, + 128, + 64, + 32, + 20, + 8, + 2, + 1 + ], + [ + 262, + 128, + 64, + 32, + 20, + 10, + 1 + ] + ], + [ + "B", + 1316, + [ + 256, + 128, + 65, + 33, + 16, + 9, + 5, + 2 + ], + [ + 256, + 128, + 65, + 33, + 18, + 11, + 7 + ] + ], + [ + "B", + 1319, + [ + 256, + 128, + 64, + 32, + 17, + 8, + 4, + 3 + ], + [ + 256, + 128, + 64, + 32, + 18, + 11, + 7 + ] + ], + [ + "B", + 1322, + [ + 257, + 129, + 65, + 33, + 17, + 8, + 5, + 2 + ], + [ + 257, + 129, + 65, + 33, + 19, + 10, + 7 + ] + ], + [ + "B", + 1325, + [ + 257, + 129, + 64, + 32, + 16, + 9, + 4, + 3 + ], + [ + 257, + 129, + 64, + 32, + 19, + 10, + 7 + ] + ], + [ + "B", + 1328, + [ + 257, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ], + [ + 257, + 128, + 64, + 33, + 18, + 11, + 7 + ] + ], + [ + "B", + 1331, + [ + 257, + 128, + 65, + 32, + 16, + 9, + 4, + 3 + ], + [ + 257, + 128, + 65, + 32, + 19, + 10, + 7 + ] + ], + [ + "B", + 1334, + [ + 256, + 129, + 64, + 33, + 16, + 9, + 5, + 2 + ], + [ + 256, + 129, + 64, + 33, + 18, + 11, + 7 + ] + ], + [ + "B", + 1337, + [ + 256, + 129, + 65, + 32, + 17, + 8, + 5, + 2 + ], + [ + 256, + 129, + 65, + 32, + 19, + 10, + 7 + ] + ], + [ + "B", + 1340, + [ + 257, + 129, + 64, + 33, + 16, + 8, + 4, + 3 + ], + [ + 257, + 129, + 64, + 33, + 24, + 4, + 3 + ] + ], + [ + "B", + 1343, + [ + 257, + 129, + 65, + 32, + 17, + 9, + 5, + 2 + ], + [ + 257, + 129, + 65, + 32, + 24, + 5, + 2 + ] + ], + [ + "B", + 1346, + [ + 256, + 128, + 64, + 33, + 17, + 9, + 5, + 2 + ], + [ + 256, + 128, + 64, + 33, + 24, + 5, + 2 + ] + ], + [ + "B", + 1349, + [ + 256, + 128, + 65, + 32, + 16, + 8, + 4, + 3 + ], + [ + 256, + 128, + 65, + 32, + 24, + 4, + 3 + ] + ], + [ + "B", + 1352, + [ + 256, + 129, + 65, + 33, + 17, + 9, + 4, + 3 + ], + [ + 256, + 129, + 65, + 33, + 24, + 4, + 3 + ] + ], + [ + "B", + 1355, + [ + 256, + 129, + 64, + 32, + 16, + 8, + 4, + 3 + ], + [ + 256, + 129, + 64, + 32, + 24, + 4, + 3 + ] + ], + [ + "B", + 1358, + [ + 257, + 128, + 65, + 33, + 16, + 8, + 4, + 3 + ], + [ + 257, + 128, + 65, + 33, + 24, + 4, + 3 + ] + ], + [ + "B", + 1361, + [ + 257, + 128, + 64, + 32, + 17, + 9, + 4, + 3 + ], + [ + 257, + 128, + 64, + 32, + 24, + 4, + 3 + ] + ], + [ + "B", + 1364, + [ + 257, + 128, + 65, + 33, + 16, + 9, + 5, + 3 + ], + [ + 257, + 128, + 65, + 33, + 16, + 9, + 6 + ] + ], + [ + "B", + 1367, + [ + 257, + 128, + 64, + 32, + 16, + 9, + 5, + 3 + ], + [ + 257, + 128, + 64, + 32, + 16, + 9, + 6 + ] + ], + [ + "B", + 1370, + [ + 256, + 129, + 65, + 33, + 16, + 9, + 5, + 3 + ], + [ + 256, + 129, + 65, + 33, + 16, + 9, + 6 + ] + ], + [ + "B", + 1373, + [ + 256, + 129, + 64, + 32, + 16, + 9, + 5, + 3 + ], + [ + 256, + 129, + 64, + 32, + 16, + 9, + 6 + ] + ], + [ + "B", + 1376, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 5, + 3 + ], + [ + 256, + 128, + 64, + 33, + 17, + 8, + 6 + ] + ], + [ + "B", + 1379, + [ + 256, + 128, + 65, + 32, + 16, + 9, + 5, + 3 + ], + [ + 256, + 128, + 65, + 32, + 16, + 9, + 6 + ] + ], + [ + "B", + 1382, + [ + 257, + 129, + 64, + 33, + 16, + 9, + 5, + 3 + ], + [ + 257, + 129, + 64, + 33, + 16, + 9, + 6 + ] + ], + [ + "B", + 1385, + [ + 257, + 129, + 65, + 32, + 17, + 8, + 5, + 3 + ], + [ + 257, + 129, + 65, + 32, + 17, + 8, + 6 + ] + ], + [ + "B", + 1388, + [ + 256, + 129, + 64, + 33, + 16, + 8, + 5, + 3 + ], + [ + 256, + 129, + 64, + 33, + 16, + 8, + 6 + ] + ], + [ + "B", + 1391, + [ + 256, + 129, + 64, + 33, + 17, + 9, + 5, + 3 + ], + [ + 256, + 129, + 64, + 33, + 17, + 9, + 6 + ] + ], + [ + "B", + 1394, + [ + 257, + 128, + 64, + 33, + 17, + 9, + 5, + 3 + ], + [ + 257, + 128, + 64, + 33, + 17, + 9, + 6 + ] + ], + [ + "B", + 1397, + [ + 257, + 128, + 64, + 33, + 16, + 8, + 5, + 3 + ], + [ + 257, + 128, + 64, + 33, + 16, + 8, + 6 + ] + ], + [ + "B", + 1398, + [ + 256, + 128, + 64, + 34, + 24, + 6, + 1 + ], + [ + 257, + 129, + 65, + 35, + 24, + 6 + ] + ], + [ + "B", + 1399, + [ + 256, + 128, + 64, + 34, + 24, + 6, + 1 + ], + [ + 257, + 129, + 65, + 35, + 24, + 6 + ] + ], + [ + "B", + 1402, + [ + 256, + 128, + 64, + 24, + 4, + 2, + 1 + ], + [ + 257, + 129, + 65, + 24, + 4, + 2 + ] + ], + [ + "B", + 1403, + [ + 256, + 128, + 64, + 24, + 4, + 2, + 1 + ], + [ + 257, + 129, + 65, + 24, + 4, + 2 + ] + ], + [ + "B", + 1406, + [ + 256, + 128, + 64, + 42, + 24, + 6, + 1 + ], + [ + 257, + 129, + 65, + 42, + 24, + 6 + ] + ], + [ + "B", + 1407, + [ + 256, + 128, + 64, + 42, + 24, + 6, + 1 + ], + [ + 257, + 129, + 65, + 42, + 24, + 6 + ] + ], + [ + "B", + 1410, + [ + 256, + 128, + 64, + 18, + 10, + 6, + 1 + ], + [ + 257, + 129, + 65, + 19, + 11, + 6 + ] + ], + [ + "B", + 1411, + [ + 256, + 128, + 64, + 18, + 10, + 6, + 1 + ], + [ + 257, + 129, + 65, + 19, + 11, + 6 + ] + ], + [ + "B", + 1814, + [ + 256, + 129, + 64, + 33, + 24, + 5, + 3 + ], + [ + 259, + 129, + 67, + 33, + 24, + 6 + ] + ], + [ + "B", + 1815, + [ + 256, + 129, + 64, + 33, + 24, + 5, + 3 + ], + [ + 259, + 129, + 67, + 33, + 24, + 6 + ] + ], + [ + "B", + 1818, + [ + 256, + 129, + 64, + 33, + 24, + 4, + 2 + ], + [ + 320, + 129, + 33, + 24, + 4, + 2 + ] + ], + [ + "B", + 1819, + [ + 256, + 129, + 64, + 33, + 24, + 4, + 2 + ], + [ + 320, + 129, + 33, + 24, + 4, + 2 + ] + ], + [ + "B", + 1822, + [ + 256, + 129, + 64, + 33, + 18, + 10, + 6 + ], + [ + 266, + 129, + 74, + 33, + 24, + 6 + ] + ], + [ + "B", + 1823, + [ + 256, + 129, + 64, + 33, + 18, + 10, + 6 + ], + [ + 266, + 129, + 74, + 33, + 24, + 6 + ] + ], + [ + "B", + 1826, + [ + 256, + 129, + 64, + 33, + 19, + 11, + 6 + ], + [ + 320, + 129, + 33, + 19, + 11, + 6 + ] + ], + [ + "B", + 1827, + [ + 256, + 129, + 64, + 33, + 19, + 11, + 6 + ], + [ + 320, + 129, + 33, + 19, + 11, + 6 + ] + ], + [ + "T", + 76, + [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ], + [ + 386, + 67, + 33, + 24, + 6 + ] + ], + [ + "T", + 97, + [ + 256, + 128, + 72, + 40, + 24, + 4, + 2, + 1 + ], + [ + 386, + 74, + 40, + 26, + 6, + 1 + ] + ] + ], + "expected": { + "output_content_sha256": "db2c7cfb3f8eee2b76c2e0154fc530520fb4d90cd9511a002cab527b16033b83", + "local_profile": { + "1": 2412, + "2": 418, + "3": 418, + "4": 170, + "5": 68, + "8": 8 + }, + "width_inventory": { + "4": 56, + "5": 32, + "7": 30, + "8": 122, + "9": 240 + } + } +} \ No newline at end of file diff --git a/research/gauge44-leaver8/construction/leaver/HPE-RECIPE-k8.json b/research/gauge44-leaver8/construction/leaver/HPE-RECIPE-k8.json new file mode 100644 index 0000000000..94d36f2279 --- /dev/null +++ b/research/gauge44-leaver8/construction/leaver/HPE-RECIPE-k8.json @@ -0,0 +1 @@ +{"changes": [{"helper": 448, "cleanup_index": 630, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 449, "cleanup_index": 629, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 450, "cleanup_index": 628, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 451, "cleanup_index": 627, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 452, "cleanup_index": 626, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 453, "cleanup_index": 625, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 454, "cleanup_index": 624, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 455, "cleanup_index": 623, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 484, "cleanup_index": 585, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 485, "cleanup_index": 584, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 508, "cleanup_index": 549, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 509, "cleanup_index": 548, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 532, "cleanup_index": 515, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 533, "cleanup_index": 514, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 556, "cleanup_index": 483, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 557, "cleanup_index": 482, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 584, "cleanup_index": 455, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 585, "cleanup_index": 454, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 587, "cleanup_index": 452, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 589, "cleanup_index": 450, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 590, "cleanup_index": 449, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 591, "cleanup_index": 448, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}]} \ No newline at end of file diff --git a/research/gauge44-leaver8/construction/leaver/LEAVER-PINS-k8.json b/research/gauge44-leaver8/construction/leaver/LEAVER-PINS-k8.json new file mode 100644 index 0000000000..b22678629c --- /dev/null +++ b/research/gauge44-leaver8/construction/leaver/LEAVER-PINS-k8.json @@ -0,0 +1,45 @@ +{ + "raw_sha256": "85c0e64718a9ceafe094e7152ea27ec9d7f804e514b5efaab085a94b7ef1841f", + "regroup_count": 12, + "regroup_sha256": "00aeefe0c778ff64125628d7c869ae1aa27db60911f0289a2d4283af5cff85d2", + "hpe_recipe_sha256": "f04e4d152a9169726d0afabd7c6e0fd2e17388707dd6d10c7b51593e360ab38a", + "pairing_ranks": [ + 0, + 0, + 0, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 0, + 0, + 0 + ], + "cold44_sha256": "58e14a02f2c1d4dcfeb363ebd5fa2e713064b5c724d90f6721419a8cfa67729b", + "R": 480, + "local_profile": { + "1": 2394, + "2": 398, + "3": 508, + "4": 142, + "5": 56, + "8": 8 + }, + "width_inventory": { + "4": 40, + "5": 48, + "7": 22, + "8": 114, + "9": 256 + }, + "canonical_sha256": "854c4cfa867bb75b63412044235c3df5af00b3470c3b310aff4df839a1d71c6e", + "program_sha256": { + "forward": "f0e42fdb881155e7712220e1469452f04343b98c5b414ddd1271d80c9fa2a6f1", + "backward": "95df892bdee54f5700780c989edc9bf7618efaa56058af63a946aff63f5dbeb4" + }, + "clifford_recipes_sha256": "aab63b0a825fdf0ca504038a78b7371310eaef2748fbf80af74f7e4e47abce76" +} diff --git a/research/gauge44-leaver8/construction/leaver/LEC-REASON-PINS-STACK-k8.json b/research/gauge44-leaver8/construction/leaver/LEC-REASON-PINS-STACK-k8.json new file mode 100644 index 0000000000..820ee8d63a --- /dev/null +++ b/research/gauge44-leaver8/construction/leaver/LEC-REASON-PINS-STACK-k8.json @@ -0,0 +1,5 @@ +{ + "not_applicable": { + "extra_end": "partner 282 already cold-ended at h0 273 frame (identity)" + } +} diff --git a/research/gauge44-leaver8/construction/leaver/LEC-REASON-PINS-k8.json b/research/gauge44-leaver8/construction/leaver/LEC-REASON-PINS-k8.json new file mode 100644 index 0000000000..5218a5f096 --- /dev/null +++ b/research/gauge44-leaver8/construction/leaver/LEC-REASON-PINS-k8.json @@ -0,0 +1,6 @@ +{ + "not_applicable": { + "extra_end": "partner 282 already cold-ended at h0 273 frame (identity)", + "other_hp:554": "tail frame dim 5; no other helper_final frame of that dim" + } +} diff --git a/research/gauge44-leaver8/construction/leaver/PIVOT-SWAP-k8.json b/research/gauge44-leaver8/construction/leaver/PIVOT-SWAP-k8.json new file mode 100644 index 0000000000..7a8edeb1e4 --- /dev/null +++ b/research/gauge44-leaver8/construction/leaver/PIVOT-SWAP-k8.json @@ -0,0 +1 @@ +{"input_content_sha256": "00aeefe0c778ff64125628d7c869ae1aa27db60911f0289a2d4283af5cff85d2", "output_content_sha256": "377ab10c2bf6173498c8af15f8654060331ec9ee232e58cc75956dc015b23685", "swaps": [{"pivot": 482, "new_pivot": 554, "entrance": [24], "gates": [{"part": "B", "index": 331, "before": ["add", 554, 482, -1, 1, [24]], "after": ["add", 482, 554, -1, 1, [24]]}, {"part": "B", "index": 332, "before": ["add", 616, 482, 2, 1, [24]], "after": ["add", 616, 554, -2, 1, [24]]}, {"part": "B", "index": 333, "before": ["add", 618, 482, -2, 1, [24]], "after": ["add", 618, 554, 2, 1, [24]]}, {"part": "B", "index": 334, "before": ["add", 664, 482, 1, 1, [24]], "after": ["add", 664, 554, -1, 1, [24]]}, {"part": "B", "index": 335, "before": ["add", 666, 482, -1, 1, [24]], "after": ["add", 666, 554, 1, 1, [24]]}]}, {"pivot": 483, "new_pivot": 555, "entrance": [24], "gates": [{"part": "B", "index": 468, "before": ["add", 123, 483, 1, 1, [24]], "after": ["add", 123, 555, -1, 1, [24]]}, {"part": "B", "index": 504, "before": ["add", 187, 483, -1, 1, [24]], "after": ["add", 187, 555, 1, 1, [24]]}, {"part": "B", "index": 734, "before": ["add", 555, 483, -1, 1, [24]], "after": ["add", 483, 555, -1, 1, [24]]}]}, {"pivot": 494, "new_pivot": 566, "entrance": [24], "gates": [{"part": "B", "index": 128, "before": ["add", 628, 494, 2, 1, [24]], "after": ["add", 628, 566, -2, 1, [24]]}, {"part": "B", "index": 130, "before": ["add", 628, 494, -2, 1, [24]], "after": ["add", 628, 566, 2, 1, [24]]}, {"part": "B", "index": 230, "before": ["add", 676, 494, -2, 1, [24]], "after": ["add", 676, 566, 2, 1, [24]]}, {"part": "B", "index": 232, "before": ["add", 676, 494, 2, 1, [24]], "after": ["add", 676, 566, -2, 1, [24]]}, {"part": "B", "index": 750, "before": ["add", 566, 494, -1, 1, [24]], "after": ["add", 494, 566, -1, 1, [24]]}]}, {"pivot": 495, "new_pivot": 567, "entrance": [24], "gates": [{"part": "B", "index": 49, "before": ["add", 211, 495, -1, 1, [24]], "after": ["add", 211, 567, 1, 1, [24]]}, {"part": "B", "index": 477, "before": ["add", 147, 495, 1, 1, [24]], "after": ["add", 147, 567, -1, 1, [24]]}, {"part": "B", "index": 752, "before": ["add", 567, 495, -1, 1, [24]], "after": ["add", 495, 567, -1, 1, [24]]}]}, {"pivot": 507, "new_pivot": 531, "entrance": [30], "gates": [{"part": "B", "index": 459, "before": ["add", 115, 507, -1, 1, [30]], "after": ["add", 115, 531, 1, 1, [30]]}, {"part": "B", "index": 495, "before": ["add", 179, 507, 1, 1, [30]], "after": ["add", 179, 531, -1, 1, [30]]}, {"part": "B", "index": 770, "before": ["add", 531, 507, -1, 1, [30]], "after": ["add", 507, 531, -1, 1, [30]]}]}, {"pivot": 519, "new_pivot": 543, "entrance": [30], "gates": [{"part": "B", "index": 486, "before": ["add", 155, 519, -1, 1, [30]], "after": ["add", 155, 543, 1, 1, [30]]}, {"part": "B", "index": 521, "before": ["add", 219, 519, 1, 1, [30]], "after": ["add", 219, 543, -1, 1, [30]]}, {"part": "B", "index": 788, "before": ["add", 543, 519, -1, 1, [30]], "after": ["add", 519, 543, -1, 1, [30]]}]}]} \ No newline at end of file diff --git a/research/gauge44-leaver8/construction/leaver/PROMO-RECIPE-k8.json b/research/gauge44-leaver8/construction/leaver/PROMO-RECIPE-k8.json new file mode 100644 index 0000000000..1952580fc8 --- /dev/null +++ b/research/gauge44-leaver8/construction/leaver/PROMO-RECIPE-k8.json @@ -0,0 +1,971 @@ +{ + "input_content_sha256": "25c406149bd3fddf8548ea03521983720d88b11096ce1c1f01e6d480ce50ce18", + "groups": [ + 627, + 629, + 630, + 631, + 635, + 637, + 638, + 639, + 651, + 653, + 654, + 655, + 659, + 661, + 662, + 663 + ], + "entrances": { + "603": [ + 408, + 80, + 40, + 6, + 1 + ], + "605": [ + 408, + 80, + 40, + 6, + 1 + ], + "606": [ + 408, + 80, + 40, + 6, + 1 + ], + "607": [ + 408, + 80, + 40, + 6, + 1 + ], + "611": [ + 272, + 144, + 96, + 6, + 1 + ], + "613": [ + 272, + 144, + 96, + 6, + 1 + ], + "614": [ + 272, + 144, + 96, + 6, + 1 + ], + "615": [ + 272, + 144, + 96, + 6, + 1 + ], + "627": [ + 390, + 68, + 34, + 24, + 1 + ], + "629": [ + 390, + 68, + 34, + 24, + 1 + ], + "630": [ + 390, + 68, + 34, + 24, + 1 + ], + "631": [ + 390, + 68, + 34, + 24, + 1 + ], + "635": [ + 298, + 170, + 102, + 30, + 1 + ], + "637": [ + 298, + 170, + 102, + 30, + 1 + ], + "638": [ + 298, + 170, + 102, + 30, + 1 + ], + "639": [ + 298, + 170, + 102, + 30, + 1 + ] + }, + "gate_frames": [ + [ + "B", + 372, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 373, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 374, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 375, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 376, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 377, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 378, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 379, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 380, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 381, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 382, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 383, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 384, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 385, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 386, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 387, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 388, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 389, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 390, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 391, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 392, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 393, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 394, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 395, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 396, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 397, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 398, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 399, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 400, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 401, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 402, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 403, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 404, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 405, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 406, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 407, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 408, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 409, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 410, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 411, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 412, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 413, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 414, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 415, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 416, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 417, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 418, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 419, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ] + ], + "expected": { + "output_content_sha256": "84d4da2e2ee227821c132a635c41415243d083935c0410ec4ded805d00d645a4", + "local_profile": { + "1": 2460, + "2": 388, + "3": 466, + "4": 152, + "5": 56, + "8": 8 + }, + "width_inventory": { + "4": 56, + "5": 32, + "7": 30, + "8": 122, + "9": 240 + } + } +} \ No newline at end of file diff --git a/research/gauge44-leaver8/construction/leaver/RECIPE-U8-k8.json b/research/gauge44-leaver8/construction/leaver/RECIPE-U8-k8.json new file mode 100644 index 0000000000..98ea6e3d23 --- /dev/null +++ b/research/gauge44-leaver8/construction/leaver/RECIPE-U8-k8.json @@ -0,0 +1,933 @@ +{ + "base_sha256": "84d4da2e2ee227821c132a635c41415243d083935c0410ec4ded805d00d645a4", + "B_delete": [ + 1, + 3, + 5, + 7, + 9, + 11, + 878, + 880, + 886, + 888, + 894, + 896, + 902, + 904, + 910, + 912, + 918, + 920, + 1167, + 1169, + 1175, + 1177, + 1183, + 1185, + 1191, + 1193, + 1199, + 1201, + 1207, + 1209 + ], + "B_insert": [ + [ + 1, + [ + "add", + 125, + 448, + 1, + 2, + [ + 24 + ] + ] + ], + [ + 3, + [ + "add", + 121, + 449, + 1, + 2, + [ + 24 + ] + ] + ], + [ + 5, + [ + "add", + 181, + 450, + 1, + 2, + [ + 30 + ] + ] + ], + [ + 7, + [ + "add", + 177, + 451, + 1, + 2, + [ + 30 + ] + ] + ], + [ + 9, + [ + "add", + 117, + 452, + -1, + 1, + [ + 30 + ] + ] + ], + [ + 11, + [ + "add", + 113, + 453, + -1, + 1, + [ + 30 + ] + ] + ], + [ + 724, + [ + "add", + 472, + 231, + 1, + 1, + [ + 386, + 64, + 34, + 24, + 4, + 1 + ] + ] + ], + [ + 725, + [ + "add", + 473, + 226, + 1, + 1, + [ + 388, + 68, + 32, + 24, + 2, + 1 + ] + ] + ], + [ + 741, + [ + "add", + 484, + 448, + 1, + 1, + [ + 260, + 132, + 70, + 38, + 24, + 1 + ] + ] + ], + [ + 742, + [ + "add", + 485, + 449, + 1, + 1, + [ + 260, + 132, + 64, + 32, + 24, + 1 + ] + ] + ], + [ + 759, + [ + "add", + 496, + 230, + 1, + 1, + [ + 390, + 70, + 38, + 20, + 10, + 1 + ] + ] + ], + [ + 760, + [ + "add", + 497, + 228, + 1, + 1, + [ + 390, + 64, + 32, + 20, + 10, + 1 + ] + ] + ], + [ + 777, + [ + "add", + 508, + 450, + 1, + 1, + [ + 268, + 140, + 64, + 38, + 30, + 1 + ] + ] + ], + [ + 778, + [ + "add", + 509, + 451, + 1, + 1, + [ + 266, + 138, + 70, + 32, + 30, + 1 + ] + ] + ], + [ + 795, + [ + "add", + 520, + 232, + -2, + 1, + [ + 385, + 64, + 33, + 18, + 11, + 7 + ] + ] + ], + [ + 796, + [ + "add", + 521, + 62, + -2, + 1, + [ + 385, + 65, + 32, + 19, + 10, + 7 + ] + ] + ], + [ + 811, + [ + "add", + 532, + 452, + -2, + 1, + [ + 267, + 139, + 65, + 33, + 25, + 7 + ] + ] + ], + [ + 812, + [ + "add", + 533, + 453, + -2, + 1, + [ + 267, + 139, + 64, + 32, + 25, + 7 + ] + ] + ], + [ + 1167, + [ + "add", + 125, + 448, + -1, + 2, + [ + 256, + 128, + 66, + 34, + 24, + 4, + 1 + ] + ] + ], + [ + 1169, + [ + "add", + 121, + 449, + -1, + 2, + [ + 260, + 132, + 64, + 32, + 24, + 2, + 1 + ] + ] + ], + [ + 1175, + [ + "add", + 149, + 231, + -1, + 2, + [ + 258, + 128, + 64, + 34, + 24, + 4, + 1 + ] + ] + ], + [ + 1177, + [ + "add", + 145, + 226, + -1, + 2, + [ + 256, + 132, + 68, + 32, + 24, + 2, + 1 + ] + ] + ], + [ + 1183, + [ + "add", + 181, + 450, + -1, + 2, + [ + 262, + 134, + 64, + 38, + 20, + 10, + 1 + ] + ] + ], + [ + 1185, + [ + "add", + 177, + 451, + -1, + 2, + [ + 256, + 128, + 70, + 32, + 20, + 10, + 1 + ] + ] + ], + [ + 1191, + [ + "add", + 221, + 230, + -1, + 2, + [ + 256, + 134, + 70, + 38, + 20, + 10, + 1 + ] + ] + ], + [ + 1193, + [ + "add", + 217, + 228, + -1, + 2, + [ + 262, + 128, + 64, + 32, + 20, + 10, + 1 + ] + ] + ], + [ + 1199, + [ + "add", + 117, + 452, + 1, + 1, + [ + 256, + 128, + 65, + 33, + 18, + 11, + 7 + ] + ] + ], + [ + 1201, + [ + "add", + 113, + 453, + 1, + 1, + [ + 257, + 129, + 64, + 32, + 19, + 10, + 7 + ] + ] + ], + [ + 1207, + [ + "add", + 157, + 232, + 1, + 1, + [ + 257, + 128, + 64, + 33, + 18, + 11, + 7 + ] + ] + ], + [ + 1209, + [ + "add", + 153, + 62, + 1, + 1, + [ + 256, + 129, + 65, + 32, + 19, + 10, + 7 + ] + ] + ] + ], + "B_frames": {}, + "tail_insert": [ + [ + 5, + [ + "add", + 484, + 448, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + ] + ], + [ + 3, + [ + "add", + 508, + 450, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ] + ], + [ + 1, + [ + "add", + 532, + 452, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ] + ], + [ + 4, + [ + "add", + 485, + 449, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + ] + ], + [ + 2, + [ + "add", + 509, + 451, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ] + ], + [ + 0, + [ + "add", + 533, + 453, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ] + ] + ], + "cleanup_prepend": [ + [ + "add", + 472, + 231, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 496, + 230, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 520, + 232, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 473, + 226, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 497, + 228, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 521, + 62, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ] + ], + "local_profile": { + "1": 2460, + "2": 388, + "3": 478, + "4": 128, + "5": 68, + "8": 8 + }, + "expect_sha256": "c836d8922fc9e50529e006488ca2ce4a542a93150de0e0e8f7d3955ad991968f", + "priced": { + "dk_ideal_stored_frames": 2.38661054604997e-07 + }, + "variants": [ + { + "X": 231, + "E": 448, + "dsides": [ + 878, + 886 + ], + "donors": [ + 448, + 231 + ], + "hold": [ + 484, + 472 + ], + "kept": { + "1167": 448, + "1175": 231 + }, + "when": "mid" + }, + { + "X": 230, + "E": 450, + "dsides": [ + 894, + 902 + ], + "donors": [ + 450, + 230 + ], + "hold": [ + 508, + 496 + ], + "kept": { + "1183": 450, + "1191": 230 + }, + "when": "mid" + }, + { + "X": 232, + "E": 452, + "dsides": [ + 910, + 918 + ], + "donors": [ + 452, + 232 + ], + "hold": [ + 532, + 520 + ], + "kept": { + "1199": 452, + "1207": 232 + }, + "when": "mid" + }, + { + "X": 226, + "E": 449, + "dsides": [ + 880, + 888 + ], + "donors": [ + 449, + 226 + ], + "hold": [ + 485, + 473 + ], + "kept": { + "1169": 449, + "1177": 226 + }, + "when": "mid" + }, + { + "X": 228, + "E": 451, + "dsides": [ + 896, + 904 + ], + "donors": [ + 451, + 228 + ], + "hold": [ + 509, + 497 + ], + "kept": { + "1185": 451, + "1193": 228 + }, + "when": "mid" + }, + { + "X": 62, + "E": 453, + "dsides": [ + 912, + 920 + ], + "donors": [ + 453, + 62 + ], + "hold": [ + 533, + 521 + ], + "kept": { + "1201": 453, + "1209": 62 + }, + "when": "mid" + } + ], + "source": "NewBArch RECIPE-U8 (X4 1e1d99ba), instances [62, 226, 228, 230, 231, 232] ported by LeaverSAT/hyb.py; X=236 dropped (its tail uses dropped copy helper 449)" +} \ No newline at end of file diff --git a/research/gauge44-leaver8/construction/leaver/RECIPE-X4-k8.json b/research/gauge44-leaver8/construction/leaver/RECIPE-X4-k8.json new file mode 100644 index 0000000000..3483acd5a5 --- /dev/null +++ b/research/gauge44-leaver8/construction/leaver/RECIPE-X4-k8.json @@ -0,0 +1,75 @@ +{ + "input_content_sha256": "84d4da2e2ee227821c132a635c41415243d083935c0410ec4ded805d00d645a4", + "input_word": "leaver k8 sw4-stage word", + "frames_741_source": { + "pr": 741, + "commit": "e516b146", + "recipe": "scratch/WasteAttack/FRAME-RECIPE-741.json", + "frames_only_output_sha": "84d4da2e2ee227821c132a635c41415243d083935c0410ec4ded805d00d645a4", + "note": "leaver: surviving #741 frames only" + }, + "frames_741": [], + "raises": [], + "edits": { + "replace": [], + "delete": [], + "insert": [] + }, + "expected": { + "output_content_sha256": "84d4da2e2ee227821c132a635c41415243d083935c0410ec4ded805d00d645a4", + "local_profile": { + "1": 2460, + "2": 388, + "3": 466, + "4": 152, + "5": 56, + "8": 8 + } + }, + "controls": { + "C0_identity": { + "mutation": { + "kind": "empty" + }, + "expected_sha": "84d4da2e2ee227821c132a635c41415243d083935c0410ec4ded805d00d645a4", + "local_profile": { + "1": 2460, + "2": 388, + "3": 466, + "4": 152, + "5": 56, + "8": 8 + } + }, + "C1_741_only": { + "mutation": { + "kind": "only_edits_of", + "h": [], + "raises": [] + }, + "expected_sha": "84d4da2e2ee227821c132a635c41415243d083935c0410ec4ded805d00d645a4", + "local_profile": { + "1": 2460, + "2": 388, + "3": 466, + "4": 152, + "5": 56, + "8": 8 + } + }, + "N3_plain_join_moved_reads": { + "mutation": { + "kind": "drop_raises" + }, + "expected_sha": "84d4da2e2ee227821c132a635c41415243d083935c0410ec4ded805d00d645a4", + "local_profile": { + "1": 2460, + "2": 388, + "3": 466, + "4": 152, + "5": 56, + "8": 8 + } + } + } +} \ No newline at end of file diff --git a/research/gauge44-leaver8/construction/leaver/REGROUP-LEAVER-k8.json b/research/gauge44-leaver8/construction/leaver/REGROUP-LEAVER-k8.json new file mode 100644 index 0000000000..d482da23a8 --- /dev/null +++ b/research/gauge44-leaver8/construction/leaver/REGROUP-LEAVER-k8.json @@ -0,0 +1,725 @@ +{ + "source": "PR635 k492-jp8-frame_regroup + PR646 k480-jp8-frame_regroup, changes whose before gate occurs in the leaver port3 word", + "changes": [ + { + "section": "B", + "index": 600, + "before": [ + "add", + 133, + 233, + -1, + 2, + [ + 272, + 144, + 80, + 48, + 8, + 6 + ] + ], + "after": [ + "add", + 133, + 233, + -1, + 2, + [ + 272, + 144, + 80, + 48, + 8, + 6, + 1 + ] + ], + "delta": { + "1": -3, + "2": 3, + "3": -1 + } + }, + { + "section": "B", + "index": 601, + "before": [ + "add", + 141, + 249, + -1, + 2, + [ + 256, + 136, + 64, + 40, + 16, + 6 + ] + ], + "after": [ + "add", + 141, + 249, + -1, + 2, + [ + 256, + 136, + 64, + 40, + 16, + 6, + 1 + ] + ], + "delta": { + "1": -3, + "2": 3, + "3": -1 + } + }, + { + "section": "B", + "index": 602, + "before": [ + "add", + 173, + 265, + -1, + 2, + [ + 256, + 128, + 64, + 40, + 24, + 6 + ] + ], + "after": [ + "add", + 173, + 265, + -1, + 2, + [ + 256, + 128, + 64, + 40, + 24, + 6, + 1 + ] + ], + "delta": { + "1": -3, + "2": 3, + "3": -1 + } + }, + { + "section": "B", + "index": 631, + "before": [ + "add", + 205, + 409, + -1, + 2, + [ + 273, + 128, + 81, + 49, + 9, + 6 + ] + ], + "after": [ + "add", + 205, + 409, + -1, + 2, + [ + 257, + 128, + 65, + 33, + 16, + 9, + 6 + ] + ], + "delta": { + "1": -3, + "2": 3, + "3": -1 + } + }, + { + "section": "B", + "index": 663, + "before": [ + "add", + 165, + 26, + 1, + 1, + [ + 256, + 137, + 72, + 33, + 24, + 6 + ] + ], + "after": [ + "add", + 165, + 26, + 1, + 1, + [ + 256, + 129, + 64, + 33, + 16, + 8, + 6 + ] + ], + "delta": { + "1": -3, + "2": 3, + "3": -1 + } + }, + { + "section": "B", + "index": 685, + "before": [ + "add", + 194, + 429, + 1, + 1, + [ + 272, + 144, + 65, + 49, + 8, + 6 + ] + ], + "after": [ + "add", + 194, + 429, + 1, + 1, + [ + 257, + 129, + 65, + 32, + 17, + 8, + 6 + ] + ], + "delta": { + "1": -3, + "2": 3, + "3": -1 + } + }, + { + "section": "B", + "index": 552, + "before": [ + "add", + 133, + 233, + -1, + 2, + [ + 272, + 144, + 80, + 48, + 8, + 6 + ] + ], + "after": [ + "add", + 133, + 233, + -1, + 2, + [ + 272, + 144, + 80, + 48, + 8, + 6, + 1 + ] + ], + "delta": { + "1": -3, + "2": 3, + "3": -1 + } + }, + { + "section": "B", + "index": 553, + "before": [ + "add", + 141, + 249, + -1, + 2, + [ + 256, + 136, + 64, + 40, + 16, + 6 + ] + ], + "after": [ + "add", + 141, + 249, + -1, + 2, + [ + 256, + 136, + 64, + 40, + 16, + 6, + 1 + ] + ], + "delta": { + "1": -3, + "2": 3, + "3": -1 + } + }, + { + "section": "B", + "index": 554, + "before": [ + "add", + 173, + 265, + -1, + 2, + [ + 256, + 128, + 64, + 40, + 24, + 6 + ] + ], + "after": [ + "add", + 173, + 265, + -1, + 2, + [ + 256, + 128, + 64, + 40, + 24, + 6, + 1 + ] + ], + "delta": { + "1": -3, + "2": 3, + "3": -1 + } + }, + { + "section": "B", + "index": 582, + "before": [ + "add", + 129, + 56, + -1, + 2, + [ + 256, + 128, + 64, + 32, + 16, + 6 + ] + ], + "after": [ + "add", + 129, + 56, + -1, + 2, + [ + 256, + 128, + 64, + 32, + 16, + 6, + 1 + ] + ], + "delta": { + "1": -3, + "2": 3, + "3": -1 + } + }, + { + "section": "B", + "index": 583, + "before": [ + "add", + 137, + 24, + -1, + 2, + [ + 272, + 128, + 80, + 32, + 8, + 6 + ] + ], + "after": [ + "add", + 137, + 24, + -1, + 2, + [ + 272, + 128, + 80, + 32, + 8, + 6, + 1 + ] + ], + "delta": { + "1": -3, + "2": 3, + "3": -1 + } + }, + { + "section": "B", + "index": 584, + "before": [ + "add", + 169, + 16, + -1, + 2, + [ + 320, + 192, + 32, + 16, + 8, + 6 + ] + ], + "after": [ + "add", + 169, + 16, + -1, + 2, + [ + 320, + 192, + 32, + 16, + 8, + 6, + 1 + ] + ], + "delta": { + "1": -3, + "2": 3, + "3": -1 + } + }, + { + "section": "B", + "index": 613, + "before": [ + "add", + 205, + 409, + -1, + 2, + [ + 273, + 128, + 81, + 49, + 9, + 6 + ] + ], + "after": [ + "add", + 205, + 409, + -1, + 2, + [ + 257, + 128, + 65, + 33, + 16, + 9, + 6 + ] + ], + "delta": { + "1": -3, + "2": 3, + "3": -1 + } + }, + { + "section": "B", + "index": 643, + "before": [ + "add", + 201, + 88, + -1, + 2, + [ + 256, + 145, + 64, + 32, + 9, + 6 + ] + ], + "after": [ + "add", + 201, + 88, + -1, + 2, + [ + 256, + 129, + 64, + 32, + 16, + 9, + 6 + ] + ], + "delta": { + "1": -3, + "2": 3, + "3": -1 + } + }, + { + "section": "B", + "index": 675, + "before": [ + "add", + 165, + 26, + 1, + 1, + [ + 256, + 137, + 72, + 33, + 24, + 6 + ] + ], + "after": [ + "add", + 165, + 26, + 1, + 1, + [ + 256, + 129, + 64, + 33, + 16, + 8, + 6 + ] + ], + "delta": { + "1": -3, + "2": 3, + "3": -1 + } + }, + { + "section": "B", + "index": 705, + "before": [ + "add", + 161, + 27, + 1, + 1, + [ + 265, + 128, + 72, + 33, + 24, + 6 + ] + ], + "after": [ + "add", + 161, + 27, + 1, + 1, + [ + 257, + 128, + 64, + 33, + 16, + 8, + 6 + ] + ], + "delta": { + "1": -3, + "2": 3, + "3": -1 + } + }, + { + "section": "B", + "index": 727, + "before": [ + "add", + 194, + 429, + 1, + 1, + [ + 272, + 144, + 65, + 49, + 8, + 6 + ] + ], + "after": [ + "add", + 194, + 429, + 1, + 1, + [ + 257, + 129, + 65, + 32, + 17, + 8, + 6 + ] + ], + "delta": { + "1": -3, + "2": 3, + "3": -1 + } + }, + { + "section": "B", + "index": 757, + "before": [ + "add", + 195, + 431, + 1, + 1, + [ + 256, + 128, + 65, + 41, + 16, + 6 + ] + ], + "after": [ + "add", + 195, + 431, + 1, + 1, + [ + 256, + 128, + 65, + 32, + 16, + 9, + 6 + ] + ], + "delta": { + "1": -3, + "2": 3, + "3": -1 + } + } + ] +} diff --git a/research/gauge44-leaver8/construction/leaver/TRI-LEAVER-k8.json b/research/gauge44-leaver8/construction/leaver/TRI-LEAVER-k8.json new file mode 100644 index 0000000000..e3bb24cc49 --- /dev/null +++ b/research/gauge44-leaver8/construction/leaver/TRI-LEAVER-k8.json @@ -0,0 +1,590 @@ +{ + "full_pairs": [ + [ + 0, + 1 + ], + [ + 2, + 3 + ], + [ + 4, + 5 + ], + [ + 6, + 7 + ] + ], + "triangles": [ + { + "p": [ + 0, + 1 + ], + "e": 1, + "reads": [ + [ + 57, + [ + 0, + 1, + 2, + 3 + ], + 0 + ], + [ + 56, + [ + 0, + 1, + 2, + 3 + ], + 1 + ], + [ + 25, + [ + 0, + 1, + 4, + 5 + ], + 0 + ], + [ + 24, + [ + 0, + 1, + 4, + 5 + ], + 1 + ], + [ + 17, + [ + 0, + 1, + 6, + 7 + ], + 0 + ], + [ + 16, + [ + 0, + 1, + 6, + 7 + ], + 1 + ] + ], + "coded": true, + "cell": 0 + }, + { + "p": [ + 2, + 3 + ], + "e": 1, + "reads": [ + [ + 63, + [ + 0, + 1, + 2, + 3 + ], + 3 + ], + [ + 59, + [ + 0, + 1, + 2, + 3 + ], + 23 + ], + [ + 89, + [ + 2, + 3, + 4, + 5 + ], + 0 + ], + [ + 88, + [ + 2, + 3, + 4, + 5 + ], + 1 + ], + [ + 81, + [ + 2, + 3, + 6, + 7 + ], + 0 + ], + [ + 80, + [ + 2, + 3, + 6, + 7 + ], + 1 + ] + ], + "coded": true, + "cell": 1 + }, + { + "p": [ + 4, + 5 + ], + "e": 1, + "reads": [ + [ + 31, + [ + 0, + 1, + 4, + 5 + ], + 3 + ], + [ + 27, + [ + 0, + 1, + 4, + 5 + ], + 23 + ], + [ + 95, + [ + 2, + 3, + 4, + 5 + ], + 3 + ], + [ + 91, + [ + 2, + 3, + 4, + 5 + ], + 23 + ], + [ + 49, + [ + 4, + 5, + 6, + 7 + ], + 0 + ], + [ + 48, + [ + 4, + 5, + 6, + 7 + ], + 1 + ] + ], + "coded": true, + "cell": 2 + }, + { + "p": [ + 6, + 7 + ], + "e": 1, + "reads": [ + [ + 23, + [ + 0, + 1, + 6, + 7 + ], + 3 + ], + [ + 19, + [ + 0, + 1, + 6, + 7 + ], + 23 + ], + [ + 87, + [ + 2, + 3, + 6, + 7 + ], + 3 + ], + [ + 83, + [ + 2, + 3, + 6, + 7 + ], + 23 + ], + [ + 55, + [ + 4, + 5, + 6, + 7 + ], + 3 + ], + [ + 51, + [ + 4, + 5, + 6, + 7 + ], + 23 + ] + ], + "coded": true, + "cell": 3 + }, + { + "p": [ + 6, + 7 + ], + "e": -1, + "reads": [ + [ + 18, + [ + 0, + 1, + 6, + 7 + ], + 21 + ], + [ + 22, + [ + 0, + 1, + 6, + 7 + ], + 2 + ], + [ + 82, + [ + 2, + 3, + 6, + 7 + ], + 21 + ], + [ + 86, + [ + 2, + 3, + 6, + 7 + ], + 2 + ], + [ + 50, + [ + 4, + 5, + 6, + 7 + ], + 21 + ], + [ + 54, + [ + 4, + 5, + 6, + 7 + ], + 2 + ] + ], + "coded": true, + "cell": 4 + }, + { + "p": [ + 0, + 1 + ], + "e": -1, + "reads": [ + [ + 61, + [ + 0, + 1, + 2, + 3 + ], + 17 + ], + [ + 60, + [ + 0, + 1, + 2, + 3 + ], + 19 + ], + [ + 29, + [ + 0, + 1, + 4, + 5 + ], + 17 + ], + [ + 28, + [ + 0, + 1, + 4, + 5 + ], + 19 + ], + [ + 21, + [ + 0, + 1, + 6, + 7 + ], + 17 + ], + [ + 20, + [ + 0, + 1, + 6, + 7 + ], + 19 + ] + ], + "coded": true, + "cell": 5 + }, + { + "p": [ + 2, + 3 + ], + "e": -1, + "reads": [ + [ + 58, + [ + 0, + 1, + 2, + 3 + ], + 21 + ], + [ + 62, + [ + 0, + 1, + 2, + 3 + ], + 2 + ], + [ + 93, + [ + 2, + 3, + 4, + 5 + ], + 17 + ], + [ + 92, + [ + 2, + 3, + 4, + 5 + ], + 19 + ], + [ + 85, + [ + 2, + 3, + 6, + 7 + ], + 17 + ], + [ + 84, + [ + 2, + 3, + 6, + 7 + ], + 19 + ] + ], + "coded": true, + "cell": 6 + }, + { + "p": [ + 4, + 5 + ], + "e": -1, + "reads": [ + [ + 26, + [ + 0, + 1, + 4, + 5 + ], + 21 + ], + [ + 30, + [ + 0, + 1, + 4, + 5 + ], + 2 + ], + [ + 90, + [ + 2, + 3, + 4, + 5 + ], + 21 + ], + [ + 94, + [ + 2, + 3, + 4, + 5 + ], + 2 + ], + [ + 53, + [ + 4, + 5, + 6, + 7 + ], + 17 + ], + [ + 52, + [ + 4, + 5, + 6, + 7 + ], + 19 + ] + ], + "coded": true, + "cell": 7 + } + ] +} diff --git a/research/gauge44-leaver8/construction/leaver/build_frames_lv.py b/research/gauge44-leaver8/construction/leaver/build_frames_lv.py new file mode 100644 index 0000000000..5f8aa7a24b --- /dev/null +++ b/research/gauge44-leaver8/construction/leaver/build_frames_lv.py @@ -0,0 +1,64 @@ +#!/usr/bin/env python3 +"""Apply the pinned gate/tail frame re-optimisation of FRAME-RECIPE-LV-k5.json (exact global frame optimum, gopt2) to the +leaver U8 word. + +usage: build_frames_lv.py INPUT_WORD.json.gz OUT_DIR RECIPE.json + +Standard library only. The frames are applied by BlockInvert's `../promo/build_promotion.apply` (no entrances; 'B' gate +frames and 'T' tail frames), which checks each old frame and recomputes the local profile and widths. This builder then checks: +input sha pin; the scalar program of A, cut, B, precondition and cleanup unchanged (every field but the frame); start +and end frames unchanged; local profile and width inventory equal to the recipe's; output sha pin. Three pin controls +(input pin, wrong old frame, output pin) must be rejected at their pinned reasons on every build. +Adapted from ../frames/build_frames.py (from PR741's extras/build_frames.py, chafreaky). Apache-2.0. +""" +import copy, gzip, hashlib, importlib.util, json, sys +from pathlib import Path + +HERE = Path(__file__).resolve().parent +_s = importlib.util.spec_from_file_location('promotion', HERE.parent / 'promo/build_promotion.py') +B = importlib.util.module_from_spec(_s); _s.loader.exec_module(B) + + +def construct(raw, recipe): + assert hashlib.sha256(raw).hexdigest() == recipe['input_content_sha256'], 'input word pin' + w = json.loads(raw) + assert recipe['gate_frames'] and all(c[0] in ('B', 'T') for c in recipe['gate_frames']), 'B and T frames only' + out = B.apply(w, dict(entrances={}, gate_frames=recipe['gate_frames'])) + for section in ('A', 'cut', 'B', 'precondition', 'cleanup'): + assert [e[:-1] for e in w[section]] == [e[:-1] for e in out[section]], 'scalar program unchanged' + assert out['start_extra'] == w['start_extra'] and out['helper_final'] == w['helper_final'], 'endpoint frames unchanged' + assert out['report']['local_profile'] == recipe['expected']['local_profile'] and \ + out['report']['width_inventory'] == recipe['expected']['width_inventory'], 'profile and width pins' + data = json.dumps(out, sort_keys=True, separators=(',', ':')).encode() + assert hashlib.sha256(data).hexdigest() == recipe['expected']['output_content_sha256'], 'output word pin' + return data + + +def main(): + assert __debug__, 'Assertions are required' + inp, outd, rfile = map(Path, sys.argv[1:4]) + raw = gzip.decompress(inp.read_bytes()); recipe = json.loads(rfile.read_text()) + data = construct(raw, recipe) + rejected = [] + for name, change, reason in [ + ('input-pin', lambda r: r.__setitem__('input_content_sha256', '0' * 64), 'input word pin'), + ('old-frame', lambda r: r['gate_frames'][0].__setitem__(2, []), 'gate frame mismatch'), + ('output-pin', lambda r: r['expected'].__setitem__('output_content_sha256', '0' * 64), 'output word pin')]: + r = copy.deepcopy(recipe); change(r) + try: + construct(raw, r) + except AssertionError as e: + assert reason in str(e), (name, str(e)); rejected.append(dict(name=name, reason=reason)) + else: + raise AssertionError('accepted ' + name) + outd.mkdir(parents=True) + (outd / 'FULL-WORD.json.gz').write_bytes(gzip.compress(data, mtime=0)) + (outd / 'BUILD.json').write_text(json.dumps(dict( + status='PASS_FRAME_REOPT_EXACT_CONSTRUCTION', input_sha256=hashlib.sha256(raw).hexdigest(), + output_sha256=hashlib.sha256(data).hexdigest(), scalar_program_unchanged=True, frames=len(recipe['gate_frames']), + rejected_controls=rejected), indent=2) + '\n') + print('PASS', len(recipe['gate_frames']), 'frames and three pin controls') + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-leaver8/construction/leaver/cells-k8/CORE-01+.json b/research/gauge44-leaver8/construction/leaver/cells-k8/CORE-01+.json new file mode 100644 index 0000000000..bfef820f29 --- /dev/null +++ b/research/gauge44-leaver8/construction/leaver/cells-k8/CORE-01+.json @@ -0,0 +1,216 @@ +{ + "unit": [ + [ + "y1", + "x0", + 1 + ], + [ + "y0", + "x1", + 1 + ], + [ + "y2", + "x5", + 1 + ], + [ + "y3", + "x4", + 1 + ], + [ + "y4", + "x3", + 1 + ], + [ + "y5", + "x2", + 1 + ], + [ + "x0", + "x1", + 1 + ], + [ + "x2", + "x5", + 1 + ], + [ + "x4", + "x3", + 1 + ], + [ + "y1", + "x2", + 1 + ], + [ + "y3", + "x0", + 1 + ], + [ + "y5", + "x4", + 1 + ], + [ + "y0", + "y5", + 1 + ], + [ + "y2", + "y3", + 1 + ], + [ + "y4", + "y1", + 1 + ], + [ + "y1", + "x4", + 1 + ], + [ + "y0", + "x5", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y4", + "x1", + 1 + ], + [ + "y5", + "x0", + 1 + ] + ], + "scaled": [ + [ + "y1", + "x0", + "-1/2" + ], + [ + "y0", + "x1", + "-1/2" + ], + [ + "y2", + "x5", + "-1/2" + ], + [ + "y3", + "x4", + "-1/2" + ], + [ + "y4", + "x3", + "-1/2" + ], + [ + "y5", + "x2", + "-1/2" + ], + [ + "x0", + "x1", + "1" + ], + [ + "x2", + "x5", + "1" + ], + [ + "x4", + "x3", + "1" + ], + [ + "y1", + "x2", + "-1/2" + ], + [ + "y3", + "x0", + "-1/2" + ], + [ + "y5", + "x4", + "-1/2" + ], + [ + "y0", + "y5", + "1" + ], + [ + "y2", + "y3", + "1" + ], + [ + "y4", + "y1", + "1" + ], + [ + "y1", + "x4", + "-1/2" + ], + [ + "y0", + "x5", + "-1/2" + ], + [ + "y2", + "x3", + "-1/2" + ], + [ + "y3", + "x2", + "-1/2" + ], + [ + "y4", + "x1", + "-1/2" + ], + [ + "y5", + "x0", + "-1/2" + ] + ] +} \ No newline at end of file diff --git a/research/gauge44-leaver8/construction/leaver/cells-k8/CORE-01-.json b/research/gauge44-leaver8/construction/leaver/cells-k8/CORE-01-.json new file mode 100644 index 0000000000..3afa894b20 --- /dev/null +++ b/research/gauge44-leaver8/construction/leaver/cells-k8/CORE-01-.json @@ -0,0 +1,216 @@ +{ + "unit": [ + [ + "y0", + "x1", + 1 + ], + [ + "y1", + "x0", + 1 + ], + [ + "y3", + "x4", + 1 + ], + [ + "y2", + "x5", + 1 + ], + [ + "y5", + "x2", + 1 + ], + [ + "y4", + "x3", + 1 + ], + [ + "x1", + "x0", + 1 + ], + [ + "x3", + "x4", + 1 + ], + [ + "x5", + "x2", + 1 + ], + [ + "y0", + "x3", + 1 + ], + [ + "y2", + "x1", + 1 + ], + [ + "y4", + "x5", + 1 + ], + [ + "y1", + "y4", + 1 + ], + [ + "y3", + "y2", + 1 + ], + [ + "y5", + "y0", + 1 + ], + [ + "y0", + "x5", + 1 + ], + [ + "y1", + "x4", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y5", + "x0", + 1 + ], + [ + "y4", + "x1", + 1 + ] + ], + "scaled": [ + [ + "y0", + "x1", + "-1/2" + ], + [ + "y1", + "x0", + "-1/2" + ], + [ + "y3", + "x4", + "-1/2" + ], + [ + "y2", + "x5", + "-1/2" + ], + [ + "y5", + "x2", + "-1/2" + ], + [ + "y4", + "x3", + "-1/2" + ], + [ + "x1", + "x0", + "1" + ], + [ + "x3", + "x4", + "1" + ], + [ + "x5", + "x2", + "1" + ], + [ + "y0", + "x3", + "-1/2" + ], + [ + "y2", + "x1", + "-1/2" + ], + [ + "y4", + "x5", + "-1/2" + ], + [ + "y1", + "y4", + "1" + ], + [ + "y3", + "y2", + "1" + ], + [ + "y5", + "y0", + "1" + ], + [ + "y0", + "x5", + "-1/2" + ], + [ + "y1", + "x4", + "-1/2" + ], + [ + "y3", + "x2", + "-1/2" + ], + [ + "y2", + "x3", + "-1/2" + ], + [ + "y5", + "x0", + "-1/2" + ], + [ + "y4", + "x1", + "-1/2" + ] + ] +} \ No newline at end of file diff --git a/research/gauge44-leaver8/construction/leaver/cells-k8/CORE-23+.json b/research/gauge44-leaver8/construction/leaver/cells-k8/CORE-23+.json new file mode 100644 index 0000000000..98ff8050e7 --- /dev/null +++ b/research/gauge44-leaver8/construction/leaver/cells-k8/CORE-23+.json @@ -0,0 +1,216 @@ +{ + "unit": [ + [ + "y1", + "x0", + 1 + ], + [ + "y0", + "x1", + 1 + ], + [ + "y2", + "x5", + 1 + ], + [ + "y3", + "x4", + 1 + ], + [ + "y4", + "x3", + 1 + ], + [ + "y5", + "x2", + 1 + ], + [ + "x0", + "x1", + 1 + ], + [ + "x2", + "x5", + 1 + ], + [ + "x4", + "x3", + 1 + ], + [ + "y1", + "x2", + 1 + ], + [ + "y3", + "x0", + 1 + ], + [ + "y5", + "x4", + 1 + ], + [ + "y0", + "y5", + 1 + ], + [ + "y2", + "y3", + 1 + ], + [ + "y4", + "y1", + 1 + ], + [ + "y1", + "x4", + 1 + ], + [ + "y0", + "x5", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y4", + "x1", + 1 + ], + [ + "y5", + "x0", + 1 + ] + ], + "scaled": [ + [ + "y1", + "x0", + "1" + ], + [ + "y0", + "x1", + "1" + ], + [ + "y2", + "x5", + "-1/2" + ], + [ + "y3", + "x4", + "-1/2" + ], + [ + "y4", + "x3", + "-1/2" + ], + [ + "y5", + "x2", + "-1/2" + ], + [ + "x0", + "x1", + "1" + ], + [ + "x2", + "x5", + "1" + ], + [ + "x4", + "x3", + "1" + ], + [ + "y1", + "x2", + "-1/2" + ], + [ + "y3", + "x0", + "1" + ], + [ + "y5", + "x4", + "-1/2" + ], + [ + "y0", + "y5", + "1" + ], + [ + "y2", + "y3", + "1" + ], + [ + "y4", + "y1", + "1" + ], + [ + "y1", + "x4", + "-1/2" + ], + [ + "y0", + "x5", + "-1/2" + ], + [ + "y2", + "x3", + "-1/2" + ], + [ + "y3", + "x2", + "-1/2" + ], + [ + "y4", + "x1", + "1" + ], + [ + "y5", + "x0", + "1" + ] + ] +} \ No newline at end of file diff --git a/research/gauge44-leaver8/construction/leaver/cells-k8/CORE-23-.json b/research/gauge44-leaver8/construction/leaver/cells-k8/CORE-23-.json new file mode 100644 index 0000000000..517b89d382 --- /dev/null +++ b/research/gauge44-leaver8/construction/leaver/cells-k8/CORE-23-.json @@ -0,0 +1,216 @@ +{ + "unit": [ + [ + "y1", + "x0", + 1 + ], + [ + "y0", + "x1", + 1 + ], + [ + "y3", + "x4", + 1 + ], + [ + "y2", + "x5", + 1 + ], + [ + "y5", + "x2", + 1 + ], + [ + "y4", + "x3", + 1 + ], + [ + "x0", + "x1", + 1 + ], + [ + "x3", + "x4", + 1 + ], + [ + "x5", + "x2", + 1 + ], + [ + "y1", + "x3", + 1 + ], + [ + "y2", + "x0", + 1 + ], + [ + "y4", + "x5", + 1 + ], + [ + "y0", + "y4", + 1 + ], + [ + "y3", + "y2", + 1 + ], + [ + "y5", + "y1", + 1 + ], + [ + "y1", + "x5", + 1 + ], + [ + "y0", + "x4", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y5", + "x1", + 1 + ], + [ + "y4", + "x0", + 1 + ] + ], + "scaled": [ + [ + "y1", + "x0", + "1" + ], + [ + "y0", + "x1", + "1" + ], + [ + "y3", + "x4", + "-1/2" + ], + [ + "y2", + "x5", + "-1/2" + ], + [ + "y5", + "x2", + "-1/2" + ], + [ + "y4", + "x3", + "-1/2" + ], + [ + "x0", + "x1", + "1" + ], + [ + "x3", + "x4", + "1" + ], + [ + "x5", + "x2", + "1" + ], + [ + "y1", + "x3", + "-1/2" + ], + [ + "y2", + "x0", + "1" + ], + [ + "y4", + "x5", + "-1/2" + ], + [ + "y0", + "y4", + "1" + ], + [ + "y3", + "y2", + "1" + ], + [ + "y5", + "y1", + "1" + ], + [ + "y1", + "x5", + "-1/2" + ], + [ + "y0", + "x4", + "-1/2" + ], + [ + "y3", + "x2", + "-1/2" + ], + [ + "y2", + "x3", + "-1/2" + ], + [ + "y5", + "x1", + "1" + ], + [ + "y4", + "x0", + "1" + ] + ] +} \ No newline at end of file diff --git a/research/gauge44-leaver8/construction/leaver/cells-k8/CORE-45+.json b/research/gauge44-leaver8/construction/leaver/cells-k8/CORE-45+.json new file mode 100644 index 0000000000..2bc89e1de1 --- /dev/null +++ b/research/gauge44-leaver8/construction/leaver/cells-k8/CORE-45+.json @@ -0,0 +1,216 @@ +{ + "unit": [ + [ + "y1", + "x0", + 1 + ], + [ + "y0", + "x1", + 1 + ], + [ + "y2", + "x5", + 1 + ], + [ + "y3", + "x4", + 1 + ], + [ + "y4", + "x3", + 1 + ], + [ + "y5", + "x2", + 1 + ], + [ + "x0", + "x1", + 1 + ], + [ + "x2", + "x5", + 1 + ], + [ + "x4", + "x3", + 1 + ], + [ + "y1", + "x2", + 1 + ], + [ + "y3", + "x0", + 1 + ], + [ + "y5", + "x4", + 1 + ], + [ + "y0", + "y5", + 1 + ], + [ + "y2", + "y3", + 1 + ], + [ + "y4", + "y1", + 1 + ], + [ + "y1", + "x4", + 1 + ], + [ + "y0", + "x5", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y4", + "x1", + 1 + ], + [ + "y5", + "x0", + 1 + ] + ], + "scaled": [ + [ + "y1", + "x0", + "1" + ], + [ + "y0", + "x1", + "1" + ], + [ + "y2", + "x5", + "-1/2" + ], + [ + "y3", + "x4", + "-1/2" + ], + [ + "y4", + "x3", + "1" + ], + [ + "y5", + "x2", + "1" + ], + [ + "x0", + "x1", + "1" + ], + [ + "x2", + "x5", + "-1/2" + ], + [ + "x4", + "x3", + "-2" + ], + [ + "y1", + "x2", + "1" + ], + [ + "y3", + "x0", + "1" + ], + [ + "y5", + "x4", + "-1/2" + ], + [ + "y0", + "y5", + "1" + ], + [ + "y2", + "y3", + "1" + ], + [ + "y4", + "y1", + "1" + ], + [ + "y1", + "x4", + "-1/2" + ], + [ + "y0", + "x5", + "-1/2" + ], + [ + "y2", + "x3", + "1" + ], + [ + "y3", + "x2", + "1" + ], + [ + "y4", + "x1", + "1" + ], + [ + "y5", + "x0", + "1" + ] + ] +} \ No newline at end of file diff --git a/research/gauge44-leaver8/construction/leaver/cells-k8/CORE-45-.json b/research/gauge44-leaver8/construction/leaver/cells-k8/CORE-45-.json new file mode 100644 index 0000000000..b9c1904b83 --- /dev/null +++ b/research/gauge44-leaver8/construction/leaver/cells-k8/CORE-45-.json @@ -0,0 +1,216 @@ +{ + "unit": [ + [ + "y1", + "x0", + 1 + ], + [ + "y0", + "x1", + 1 + ], + [ + "y2", + "x4", + 1 + ], + [ + "y3", + "x5", + 1 + ], + [ + "y5", + "x3", + 1 + ], + [ + "y4", + "x2", + 1 + ], + [ + "x0", + "x1", + 1 + ], + [ + "x2", + "x4", + 1 + ], + [ + "x5", + "x3", + 1 + ], + [ + "y1", + "x2", + 1 + ], + [ + "y3", + "x0", + 1 + ], + [ + "y4", + "x5", + 1 + ], + [ + "y0", + "y4", + 1 + ], + [ + "y2", + "y3", + 1 + ], + [ + "y5", + "y1", + 1 + ], + [ + "y1", + "x5", + 1 + ], + [ + "y0", + "x4", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y5", + "x1", + 1 + ], + [ + "y4", + "x0", + 1 + ] + ], + "scaled": [ + [ + "y1", + "x0", + "1" + ], + [ + "y0", + "x1", + "1" + ], + [ + "y2", + "x4", + "-1/2" + ], + [ + "y3", + "x5", + "-1/2" + ], + [ + "y5", + "x3", + "1" + ], + [ + "y4", + "x2", + "1" + ], + [ + "x0", + "x1", + "1" + ], + [ + "x2", + "x4", + "-1/2" + ], + [ + "x5", + "x3", + "-2" + ], + [ + "y1", + "x2", + "1" + ], + [ + "y3", + "x0", + "1" + ], + [ + "y4", + "x5", + "-1/2" + ], + [ + "y0", + "y4", + "1" + ], + [ + "y2", + "y3", + "1" + ], + [ + "y5", + "y1", + "1" + ], + [ + "y1", + "x5", + "-1/2" + ], + [ + "y0", + "x4", + "-1/2" + ], + [ + "y2", + "x3", + "1" + ], + [ + "y3", + "x2", + "1" + ], + [ + "y5", + "x1", + "1" + ], + [ + "y4", + "x0", + "1" + ] + ] +} \ No newline at end of file diff --git a/research/gauge44-leaver8/construction/leaver/cells-k8/CORE-67+.json b/research/gauge44-leaver8/construction/leaver/cells-k8/CORE-67+.json new file mode 100644 index 0000000000..7d756cb19d --- /dev/null +++ b/research/gauge44-leaver8/construction/leaver/cells-k8/CORE-67+.json @@ -0,0 +1,216 @@ +{ + "unit": [ + [ + "y1", + "x0", + 1 + ], + [ + "y0", + "x1", + 1 + ], + [ + "y2", + "x5", + 1 + ], + [ + "y3", + "x4", + 1 + ], + [ + "y4", + "x3", + 1 + ], + [ + "y5", + "x2", + 1 + ], + [ + "x0", + "x1", + 1 + ], + [ + "x2", + "x5", + 1 + ], + [ + "x4", + "x3", + 1 + ], + [ + "y1", + "x2", + 1 + ], + [ + "y3", + "x0", + 1 + ], + [ + "y5", + "x4", + 1 + ], + [ + "y0", + "y5", + 1 + ], + [ + "y2", + "y3", + 1 + ], + [ + "y4", + "y1", + 1 + ], + [ + "y1", + "x4", + 1 + ], + [ + "y0", + "x5", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y4", + "x1", + 1 + ], + [ + "y5", + "x0", + 1 + ] + ], + "scaled": [ + [ + "y1", + "x0", + "1" + ], + [ + "y0", + "x1", + "1" + ], + [ + "y2", + "x5", + "1" + ], + [ + "y3", + "x4", + "1" + ], + [ + "y4", + "x3", + "1" + ], + [ + "y5", + "x2", + "1" + ], + [ + "x0", + "x1", + "1" + ], + [ + "x2", + "x5", + "1" + ], + [ + "x4", + "x3", + "1" + ], + [ + "y1", + "x2", + "1" + ], + [ + "y3", + "x0", + "1" + ], + [ + "y5", + "x4", + "1" + ], + [ + "y0", + "y5", + "1" + ], + [ + "y2", + "y3", + "1" + ], + [ + "y4", + "y1", + "1" + ], + [ + "y1", + "x4", + "1" + ], + [ + "y0", + "x5", + "1" + ], + [ + "y2", + "x3", + "1" + ], + [ + "y3", + "x2", + "1" + ], + [ + "y4", + "x1", + "1" + ], + [ + "y5", + "x0", + "1" + ] + ] +} \ No newline at end of file diff --git a/research/gauge44-leaver8/construction/leaver/cells-k8/CORE-67-.json b/research/gauge44-leaver8/construction/leaver/cells-k8/CORE-67-.json new file mode 100644 index 0000000000..7d756cb19d --- /dev/null +++ b/research/gauge44-leaver8/construction/leaver/cells-k8/CORE-67-.json @@ -0,0 +1,216 @@ +{ + "unit": [ + [ + "y1", + "x0", + 1 + ], + [ + "y0", + "x1", + 1 + ], + [ + "y2", + "x5", + 1 + ], + [ + "y3", + "x4", + 1 + ], + [ + "y4", + "x3", + 1 + ], + [ + "y5", + "x2", + 1 + ], + [ + "x0", + "x1", + 1 + ], + [ + "x2", + "x5", + 1 + ], + [ + "x4", + "x3", + 1 + ], + [ + "y1", + "x2", + 1 + ], + [ + "y3", + "x0", + 1 + ], + [ + "y5", + "x4", + 1 + ], + [ + "y0", + "y5", + 1 + ], + [ + "y2", + "y3", + 1 + ], + [ + "y4", + "y1", + 1 + ], + [ + "y1", + "x4", + 1 + ], + [ + "y0", + "x5", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y4", + "x1", + 1 + ], + [ + "y5", + "x0", + 1 + ] + ], + "scaled": [ + [ + "y1", + "x0", + "1" + ], + [ + "y0", + "x1", + "1" + ], + [ + "y2", + "x5", + "1" + ], + [ + "y3", + "x4", + "1" + ], + [ + "y4", + "x3", + "1" + ], + [ + "y5", + "x2", + "1" + ], + [ + "x0", + "x1", + "1" + ], + [ + "x2", + "x5", + "1" + ], + [ + "x4", + "x3", + "1" + ], + [ + "y1", + "x2", + "1" + ], + [ + "y3", + "x0", + "1" + ], + [ + "y5", + "x4", + "1" + ], + [ + "y0", + "y5", + "1" + ], + [ + "y2", + "y3", + "1" + ], + [ + "y4", + "y1", + "1" + ], + [ + "y1", + "x4", + "1" + ], + [ + "y0", + "x5", + "1" + ], + [ + "y2", + "x3", + "1" + ], + [ + "y3", + "x2", + "1" + ], + [ + "y4", + "x1", + "1" + ], + [ + "y5", + "x0", + "1" + ] + ] +} \ No newline at end of file diff --git a/research/gauge44-leaver8/construction/leaver/cgx_leaver.py b/research/gauge44-leaver8/construction/leaver/cgx_leaver.py new file mode 100644 index 0000000000..e686c66306 --- /dev/null +++ b/research/gauge44-leaver8/construction/leaver/cgx_leaver.py @@ -0,0 +1,491 @@ +# LeaverSAT: no-helper mutable-leaver all-K cells (coded triangles) on the no-triangle word. Generated by +# LeaverSAT/mkpkg.py from construction/notri/cgx.py with the leaver edits (lv.leaver_source); Apache-2.0. +import json as _lj, os as _lo, sys as _ls +from fractions import Fraction as _lF +CODED_CELLS=[(c['bindings'],[[t,s,_lF(q)] for t,s,q in c['scaled']]) for c in _lj.load(open(_lo.path.join(_lo.path.dirname(_lo.path.abspath(_ls.argv[3])),'CODED-CELLS.json')))] +# Round20 early-coordinate-center / own-Y variant, prepared for icekylinx +# with OpenAI Codex assistance. Apache-2.0. Scalar elementary-operation +# helpers below are retained from the attributed PR514 construct_partial.py. +# Adapted by OpenAI Codex for isolated structural research. +# Modified from PR425 by icekylinx with Codex assistance. +"""Full discovery word for Hamming packets with borrowed X and Y registers. + +This changes the scalar architecture. It is not accepted by the old restricted +gx interface: source bases may change until full-frame cleanup, and targets use +an explicitly inverted output basis. No supplier admission is asserted. +""" +import copy,gzip,json,math,time +import itertools as it +from collections import Counter,defaultdict +from fractions import Fraction as Q +from pathlib import Path + +import sys +INPUT=Path(sys.argv[1]);OUT=Path(sys.argv[2]);OUT.mkdir(parents=True,exist_ok=False);D=json.loads((INPUT/'PROTOTYPE.json').read_text()) +P=D['binary_ports'];R=D['root_lines'];v=120;h=9 +modules=json.load(gzip.open(INPUT/'PACKET-PROGRAMS.json.gz')) +# AtomScout: leaver-read K-triangles (schedule from atom1.py / rog.py CP-SAT) +TRI=json.loads(Path(sys.argv[3]).read_text()) +FULLT={(tuple(tr['p']),tr['e']) for tr in TRI['triangles']} +TRI_COORDS={t+8 for tr in TRI['triangles'] for t,_,_ in tr['reads']} +import os as _o +COPYL=json.loads(open(_o.environ['XPARAM']).read()).get('copyl',[]) if _o.environ.get('XPARAM') else [] +NH=504-3*len(FULLT)+len(COPYL) + +def basis(vectors): + b={} + for x in vectors: + for p in sorted(b,reverse=True): + if x>>p&1:x^=b[p] + if x: + p=x.bit_length()-1 + for q in b: + if b[q]>>p&1:b[q]^=x + b[p]=x + return tuple(b[p] for p in sorted(b,reverse=True)) +def inside(a,b):return basis(a+b)==b +def hyper(p):return basis([x for x in range(1,512) if (x&p).bit_count()%2==0]) +FULL=basis([1<=v,r)) + for col,s in enumerate(ids): + k=next(i for i in range(col,len(regs)) if rows[regs[i]].get(s,Q(0))) + swap(regs[k],regs[col],F) + scale(regs[col],1/rows[regs[col]][s],F) + for i in range(len(regs)): + if i!=col and rows[regs[i]].get(s,Q(0)):add(regs[i],regs[col],-rows[regs[i]][s],F) + assert all(rows[regs[i]]=={s:Q(1)} for i,s in enumerate(ids)) + M=[[Q(R[s][i]) for s in ids] for i in c] + def qr_rank(rs): + bs={} + for r in rs: + r=r.copy() + for i,b in sorted(bs.items()): + if r[i]:q=r[i];r=[x-q*y for x,y in zip(r,b)] + i=next((i for i,x in enumerate(r) if x),None) + if i is not None:q=r[i];bs[i]=[x/q for x in r] + return len(bs) + assert qr_rank(M)==4 + for rr0 in PRIO.get(",".join(map(str,c)),[])+PRIORITY[",".join(map(str,c))]["rows"]: + rr=list(map(Q,rr0)) + if qr_rank(M+[rr])>len(M):M.append(rr) + if len(M)==8:break + for i in range(8): + if len(M)==8:break + rr=[Q(i==j) for j in range(8)] + if qr_rank(M+[rr])>len(M):M.append(rr) + if len(M)==8:break + assert len(M)==8 + linear(regs,M,F) + for i,r in zip(c,regs): + assert rows[r]=={s:Q(R[s][i]) for s in ids} + block_totals[c,i]=r + +# All centers are complete while Y is still at zero. This is the crucial +# difference from an illegal early-own-Y prefix using the old center order. +centers=[] +for i in range(8): + regs=[block_totals[c,i] for c in sorted(blocks) if i in c] + F=hyper(P[frame[i]]);a=regs[0] + for b in regs[1:]:add(a,b,1,F) + centers.append(a) +centers += [frame[i] for i in range(8)] +center_frames=[cur[r] for r in centers] +assert list(map(len,center_frames))==[8]*8+[1]*8 +assert all(cur[v+t]==() for t in range(v)) + +phase=B +for t,(r,coef,F) in sorted(own_rows.items()): + if t in TRI_COORDS:continue + assert cur[r]==F + add(v+t,r,coef,F) +# requests are needed for TRI coefficients +requests=defaultdict(list) +for pid,pair in enumerate(pairs): + if not pair['selected']:continue + (t,u),(key1,key2),mat=pair['targets'],pair['keys'],pair['matrix'] + requests[key1].append((t,-Q(mat[0][0],2))) + requests[key2].append((u,-Q(mat[0][1],2))) +reqcoef={t:(key,coef) for key,reqs in requests.items() for t,coef in reqs} +def face_info(c,p,eps): + z=blocks[c];keys=[(pp,ee) for pp in it.combinations(c,2) for ee in (-1,1)] + r_local,alpha=z['outputs'][keys.index((p,eps))] + j=[j for j in range(40,len(z['events'])) if z['events'][j][0]==r_local];assert len(j)==1 + return j[0],Q(alpha) +tri_join_counts=Counter() +coded_shadow_slot={} +coded_target_edges=[];TRILOG=[] +lcopy={} +for s8 in COPYL: + r=s8+8;c=len(cur);cur.append(());rows.append({});shadow.append(None);add(c,r,1,cur[r]);lcopy[r]=c +BF={c:basis([P[x] for x in z['receipt']['source_lines']]) for c,z in blocks.items()} +HYB={(tuple(map(int,h[0])),tuple(map(int,h[1])),int(h[2])) for h in XP.get('hyb',[])} +HYBLOG=[] +def triread(t,blk,r,q): + F=basis(cur[v+t]+cur[r]);assert inside(F,hyper(P[t])),('TRI frame',t,blk,r,cur[v+t],cur[r],hyper(P[t]),[x for x in TRILOG if x[2]==r],HYBLOG) + tri_join_counts[len(F)]+=1;add(v+t,r,q,F);TRILOG.append([t,list(blk),r,str(q),list(F),list(cur[r])]) +for tr in TRI['triangles']: + if tr.get('coded'): + bindings={} + for name,binding in CODED_CELLS[tr['cell']][0].items(): + bindings[name]=maps[tuple(binding[1])][binding[2]] if binding[0]=='source' else v+binding[1] + for tn,sn,q in CODED_CELLS[tr['cell']][1]: + target,source=bindings[tn],bindings[sn] + F=basis(cur[target]+cur[source]) + for register in (target,source): + if v<=register<2*v:assert inside(F,hyper(P[register-v])),('coded frame',register,F) + add(target,source,q,F) + if sn.startswith('y'):coded_target_edges.append((target,source,Q(q))) + continue + p,eps=tuple(tr['p']),tr['e'] + hb={blk for _,blk,_ in map(lambda x:(x[0],tuple(x[1]),x[2]),tr['reads']) if (blk,p,eps) in HYB} + own=[];rest=[] + for t8,blk,loc in tr['reads']: + t=t8+8;blk=tuple(blk);r=maps[blk][loc];r0=r;r=lcopy.get(r,r) + key,coef=reqcoef[t];assert key[1]==p and key[2]==eps,(key,p,eps) + if blk==key[0]: + rr,c0,F0=own_rows[t];assert rr==r0;own.append((t,blk,r,c0)) + else: + j,alpha=face_info(blk,p,eps);ev=blocks[blk]['events'][j];assert loc in ev[:2] + rest.append((t,blk,loc,r,coef*alpha)) + if not hb: + # original interleaved order + for t8,blk,loc in tr['reads']: + t=t8+8;blk=tuple(blk);r=maps[blk][loc];key,coef=reqcoef[t] + if blk==key[0]:q=own_rows[t][1] + else:j,alpha=face_info(blk,p,eps);q=coef*alpha + triread(t,blk,r,q) + continue + items=[] # (kind, t, reg, q, blk) + for t,blk,r,q in own:items.append(('r',t,r,q,blk,blk in hb)) + for blk in sorted(hb):items.append(('e',None,None,None,blk,True)) + done=set() + for t,blk,loc,r,q in rest: + if blk in hb: + j,_=face_info(blk,p,eps);ev=blocks[blk]['events'][j] + ws=[x for x in rest if x[0]==t and x[1]==blk];assert len(ws)==2 and ws[0][4]==ws[1][4] and {ws[0][2],ws[1][2]}==set(ev[:2]) + if (t,blk) in done:continue + done.add((t,blk));items.append(('m',t,maps[blk][ev[0]],q,blk,True)) + else:items.append(('r',t,r,q,blk,False)) + # Original read order with the two half reads collapsed into one M read at the first half's slot; the face event goes + # just before the first M read of its block; own reads of the M register are hoisted ahead of that event. + def evinfo(blk): + j,_=face_info(blk,p,eps);ev=blocks[blk]['events'][j];assert ev[2]==ev[3]==1,ev + mpb=maps[blk];return mpb[ev[0]],mpb[ev[1]],tuple(blocks[blk]['event_frames'][j]) + items=[] + seen=set() + for t8,blk,loc in tr['reads']: + t=t8+8;blk=tuple(blk);r=maps[blk][loc];key,coef=reqcoef[t] + if blk==key[0]:items.append(('r',t,r,own_rows[t][1],blk,blk in hb)) + else: + j,alpha=face_info(blk,p,eps);q=coef*alpha + if blk in hb: + if (t,blk) not in seen:seen.add((t,blk));continue + items.append(('m',t,evinfo(blk)[0],q,blk,True)) + else:items.append(('r',t,r,q,blk,False)) + for blk in sorted(hb): + k0=min(i for i,x in enumerate(items) if x[0]=='m' and x[4]==blk) + items.insert(k0,('e',None,None,None,blk,True)) + n=len(items) + def step(it,st): + k,t,r,q,blk,h=it;g=lambda x:st.get(x,cur[x]) + if k=='e': + a_,b_,EF=evinfo(blk);FF=basis(list(EF)+list(g(a_))+list(g(b_))) + return {a_:FF,b_:FF} if inside(FF,BF[blk]) else None + F=basis(list(g(v+t))+list(g(r))) + if not inside(F,hyper(P[t])):return None + if h and k=='r' and r==evinfo(blk)[1] and not inside(F,BF[blk]):return None + return {v+t:F,r:F} + def allowed(i,used): + k,t,r,q,blk,h=items[i] + evi=[j for j,x in enumerate(items) if x[0]=='e' and x[4]==blk] if h else [] + if k=='e':return all(j in used for j,x in enumerate(items) if x[0]=='r' and x[4]==blk and x[5] and x[2]==evinfo(blk)[0]) + if k=='m':return evi[0] in used + if k=='r' and h and r==evinfo(blk)[0]:return evi[0] not in used + return True + budget=[int(os.environ.get('HYBBUDGET','300000'))];memo=set() + def dfs(st,used,order): + if len(order)==n:return order + budget[0]-=1 + if budget[0]<0:return None + sig=(used,tuple(sorted(st.items()))) + if sig in memo:return None + memo.add(sig) + for i in range(n): + if i in used or not allowed(i,used):continue + d=step(items[i],st) + if d is None:continue + ns=dict(st);ns.update(d);res=dfs(ns,used|{i},order+[i]) + if res:return res + return None + import sys as _s;_s.setrecursionlimit(20000) + order=dfs({},frozenset(),[]) + assert order,('no feasible hybrid order',p,eps,sorted(hb),budget) + for i in order: + k,t,r,q,blk,h=items[i] + if k=='e': + a_,b_,EF=evinfo(blk);FF=basis(list(EF)+list(cur[a_])+list(cur[b_]));add(a_,b_,1,FF);HYBLOG.append([list(blk),list(p),eps,list(FF)]) + else:triread(t,blk,r,q) + +packets={} +for c,z in sorted(blocks.items()): + mp=maps[c] + keys=[(p,eps) for p in it.combinations(c,2) for eps in (-1,1)] + skipev={face_info(c,p,eps)[0] for p,eps in keys if (p,eps) in FULLT} + for j,(e,F) in enumerate(list(zip(z['events'],z['event_frames']))[40:]): + if j not in early[c] and 40+j not in skipev: + t,s,a,b=e;add(mp[t],mp[s],Q(a,b),tuple(F)) + for key,(r,alpha) in zip(keys,z['outputs']): + if tuple(key) in FULLT:skip();continue + a=mp[r];b=alloc();add(b,a,1,cur[a]) + consumers=sorted(d for d in blocks if d!=c and set(key[0])<=set(d)) + assert len(consumers)==2 + for target,r in zip(consumers,(a,b)):packets[c,key[0],key[1],target]=(r,Q(alpha)) + +# Both tetrahedra use the same partition. A selected key has exactly two +# selected Y loads and no ordinary M consumer. Supply its two raw halves in +# opposite orders and never form that M. Other keys retain the old M path. +second=[];first_join_counts=Counter() +for key,reqs in sorted(requests.items()): + assert len(reqs)==2 + c,p,eps=key + if (p,eps) in FULLT:continue + ds=sorted(d for d in blocks if d!=c and set(p)<=set(d));a,b=ds + for j,(target,coef) in enumerate(sorted(reqs)): + first_source,second_source=(a,b) if j==0 else (b,a) + r,alpha=packets[first_source,p,eps,second_source] + F=basis(cur[v+target]+cur[r]);assert inside(F,hyper(P[target])) + first_join_counts[len(F)]+=1;add(v+target,r,coef*alpha,F) + r,alpha=packets[second_source,p,eps,c] + second.append((target,r,coef*alpha)) + +Ms={} +for c in sorted(blocks): + for p in it.combinations(c,2): + ds=sorted(d for d in blocks if d!=c and set(p)<=set(d)) + for eps in (-1,1): + if (c,p,eps) in requests:continue + (a,alpha),(b,beta)=[packets[d,p,eps,c] for d in ds] + F=basis(cur[a]+cur[b]);add(a,b,beta/alpha,F) + Ms[c,p,eps]=(a,alpha) + +consumers=defaultdict(list) +for pid,pair in enumerate(pairs): + for key in pair['keys']:consumers[key].append(pid) +slots={} +for key,uses in sorted(consumers.items()): + assert len(uses)==2 + if key in requests: + assert all(pairs[i]['selected'] for i in uses) + continue + assert all(not pairs[i]['selected'] for i in uses) + a,alpha=Ms[key] + for j,pid in enumerate(uses): + if j==0:r=a + else:r=alloc();add(r,a,1,cur[a]) + slots[pid,key]=(r,alpha) +assert len(cur)-240==NH,len(cur)-240 + +selected_join_counts=Counter() +for target,r,coef in second: + F=basis(cur[v+target]+cur[r]);assert inside(F,hyper(P[target])) + selected_join_counts[len(F)]+=1;add(v+target,r,coef,F) +output_basis=[] +for pair in pairs: + if not pair['selected']:continue + (t,u),mat=pair['targets'],pair['matrix'] + F=basis(cur[v+t]+cur[v+u]);assert inside(F,hyper(P[t])) and inside(F,hyper(P[u])) + add(v+t,v+u,1,F);add(v+u,v+t,-Q(1,2),F) + z=-Q(2*mat[1][0],mat[0][0]);scale(v+u,z,F);output_basis.append((t,u,z)) + +for pid,pair in enumerate(pairs): + if pair['selected']:continue + (t,u),(key1,key2),mat=pair['targets'],pair['keys'],pair['matrix'] + (a,alpha),(b,beta)=slots[pid,key1],slots[pid,key2] + F=basis(cur[a]+cur[b]);aa,ab=Q(mat[0][0])*alpha,Q(mat[0][1])*beta + ba,bb=Q(mat[1][0])*alpha,Q(mat[1][1])*beta + add(a,b,ab/aa,F);q=ba/(bb-ba*ab/aa);add(b,a,q,F) + add(v+t,a,-aa/2,hyper(P[t]));add(v+u,b,-(bb-ba*ab/aa)/2,hyper(P[u])) + +for t in range(v): + expected={s:-Q(G[t][s],2) for s in range(v) if s!=t and G[t][s] and s not in frame.values()} if t not in frame.values() else {} + assert rows[v+t]==expected,('side identity',t) + +scatter=[[Q(r[i],4) if t not in frame.values() else Q(0) for i in range(8)]+[Q(t==frame[i]) for i in range(8)] for t,r in enumerate(R)] +precondition=[] +for t,u,z in output_basis: + a,b=scatter[t].copy(),scatter[u].copy() + scatter[t]=[x/2-y/z for x,y in zip(a,b)] + scatter[u]=[x/2+y/z for x,y in zip(a,b)] + precondition.extend([['scale',v+u,(1/z).numerator,(1/z).denominator,[]], + ['add',v+u,v+t,1,2,[]],['add',v+t,v+u,-1,1,[]]]) +for target,source,q in reversed(coded_target_edges): + scatter[target-v]=[a-q*b for a,b in zip(scatter[target-v],scatter[source-v])] + precondition.append(['add',target,source,-q.numerator,q.denominator,[]]) +for r in range(len(cur)):climb(r,hyper(P[r-v]) if v<=r<2*v else FULL) +H[8]+=8;H[1]+=8 +assert sum(r*z for r,z in H.items())==9*NH+240*8+72,sum(r*z for r,z in H.items()) + +def apply(e,matrix): + if e[0]=='add': + _,t,s,a,b,*_=e;q=Q(a,b) + for j,x in list(matrix[s].items()): + z=matrix[t].get(j,Q(0))+q*x + if z:matrix[t][j]=z + else:matrix[t].pop(j,None) + else: + _,t,a,b,*_=e;q=Q(a,b);matrix[t]={j:q*x for j,x in matrix[t].items()} +def inverse(e): + e=copy.deepcopy(e) + if e[0]=='add':e[3]*=-1 + else:e[2],e[3]=e[3],e[2] + e[-1]=list(FULL);return e +cut=[['add',v+t,centers[i],q.numerator,q.denominator,None] for t,row in enumerate(scatter) for i,q in enumerate(row) if q] +cleanup=[inverse(e) for e in reversed(A+B) if not v<=e[1]<2*v] +matrix=[{r:Q(1)} if r - entering end e's tail frame has a dimension that no helper_final frame has, so the mutant cannot be built. +Such a site is never skipped silently: the pins file MUST declare it under "not_applicable" ({site: reason}), the +declared set MUST equal the detected set, an identity is PROVEN by byte equality of the mutated and honest words (both +sha256 recorded), and a substitute mutant of the same class is built and MUST be rejected at the class's pinned reason: + extra_end -> the first premixed partner of h0 that is not yet ended, cold-ended at h0's frame; + other_hp: -> e's end moved to another helper_final frame of the dimension of e's own end frame. +Original docstring: layer_end_controls.py LAYERED-WORD.json.gz ROUTING OUTDIR (env PR635_CODE): adapted PR635 cold_end_controls.py (LayerReviewer): raw-word negative controls for the cold low-frame ends and the +refactored cleanup accepted by hpe_audit_and_transport.py. Every mutation MUST be rejected (AssertionError); the +unmutated word MUST pass. Apache-2.0. DreamingOfClouds with Claude Opus 5.5 (Anthropic), via Claude Code.""" +import copy, gzip, hashlib, json, shutil, sys, tempfile +from pathlib import Path +import os +sys.path.insert(0, os.environ['PR635_CODE']) # PR635's unchanged hpe_audit_and_transport.py +import hpe_audit_and_transport as atc + +src, routing, outdir = Path(sys.argv[1]), Path(sys.argv[2]), Path(sys.argv[3]) +word = json.load(gzip.open(src)) +v, R = word['report']['v'], word['report']['R']; n = 2*v + R +regs = lambda e: [e[1]] + ([e[2]] if e[0] == 'add' else []) +meta = word['refactored_cleanup'] +cold = [int(h) for h in meta['cold_low_frame_ended_helpers']] +npre = meta['premix_gates']; nlow = meta['lower_frame_gates'] +early = word['early_cleanup']; eidx = {i for i, _ in early} +rest = [i for i in range(len(word['cleanup'])) if i not in eidx] + + +def trial(w): + """None if the transport audit accepts w, else the AssertionError message.""" + tmp = Path(tempfile.mkdtemp()) + p = tmp/'w.json.gz'; p.write_bytes(gzip.compress(json.dumps(w).encode(), mtime=0)) + try: + atc.run(p, routing, tmp/'out') + return None + except AssertionError as e: + return repr(e.args[0]) if e.args else 'AssertionError' + finally: + shutil.rmtree(tmp, ignore_errors=True) + + +# Pinned rejection reasons: each mutant must fail at this assertion of hpe_audit_and_transport.py (message substring). +ENDPOINT, COLDPRE, CONE = "'arbitrary-dirt endpoint'", 'touches a cold hyperplane-ended helper', 'hpe cone pre-check (row / column)' +WHY = dict(premix_to_precondition=COLDPRE, premix_dropped=COLDPRE, e_premix_dropped=ENDPOINT, lower_dropped=ENDPOINT, + remainder_dropped=ENDPOINT, coefficient=ENDPOINT, into_full='cleanup on non-FULL end', dyadic=ENDPOINT, frame_below="'nonmonotone'", + nonmonotone="'nonmonotone'", other_frame=CONE, cone=CONE, extra_end=COLDPRE, marker='cleanup is not the literal reversed inverse', + target='refactored cleanup touches a target', profile_pin='paid local profile differs from the reported local_profile', + entering_precondition='zero-frame precondition/compensation touches an entering helper') +_REASONS = dict(ENDPOINT=ENDPOINT, COLDPRE=COLDPRE, CONE=CONE) +NA_DECLARED = {} +if os.environ.get('LEC_REASON_PINS'): + for _k, _v in json.loads(Path(os.environ['LEC_REASON_PINS']).read_text()).items(): + if _k == 'not_applicable': NA_DECLARED = dict(_v); continue + assert _k in WHY, ('unknown mutant key', _k); WHY[_k] = _REASONS.get(_v, _v) +assert trial(word) is None, 'unmutated cold-end word must pass' +results = [] + + +def reject(name, mut, why): + """the mutation must be rejected, and for the pinned reason (a substring of the audit's assertion message).""" + w = copy.deepcopy(word); mut(w) + msg = trial(w) + assert msg is not None, 'cold-end mutation accepted: ' + name + assert why in msg, 'cold-end mutation %r rejected for the wrong reason: %s' % (name, msg[:300]) + results.append(name); print('rejected', name, '|', why, flush=True) + + +h0 = cold[0] +i0, U0 = next((i, f) for i, f in early if h0 in regs(word['cleanup'][i])) +r0 = rest[len(rest)//2] + + +def premix_to_precondition(w): # premix before the wrappers; compensation then reads the cold ends + w['precondition'] = w['precondition'] + w['A'][:npre]; w['A'] = w['A'][npre:] + + +def lower_gate_into_full(w): # a lower-frame gate on a cold-ended helper executed in the FULL remainder instead + w['early_cleanup'] = [x for x in w['early_cleanup'] if x[0] != i0] + + +def drop_cleanup_gate(w, i): # remove the gate AND its early_cleanup entry: a structurally valid word missing one gate + w['cleanup'].pop(i) + w['early_cleanup'] = [[j - (j > i), f] for j, f in w['early_cleanup'] if j != i] + + +def other_frame(w): # a different frame of the same dimension as the cold end (another cold helper's) + f = next(w['helper_final'][str(h)] for h in cold if w['helper_final'][str(h)] != w['helper_final'][str(h0)]) + w['helper_final'][str(h0)] = f + + +NA = [] # detected not-applicable sites: dict(site, reason, ...) +wsha = lambda w: hashlib.sha256(json.dumps(w, sort_keys=True, separators=(',', ':')).encode()).hexdigest() +HONEST_SHA = wsha(word) + + +def extra_cold_end(w): # declare a premixed partner of h0 cold-ended at h0's frame: fails the row/column cone + p = next(r for e in w['A'][:npre] for r in regs(e) if r != h0 and h0 in regs(e)) + w['helper_final'][str(p)] = w['helper_final'][str(h0)] + + +_m = copy.deepcopy(word); extra_cold_end(_m) +if wsha(_m) == HONEST_SHA: # identity: the first partner is already ended at h0's frame + _p = next(r for e in word['A'][:npre] for r in regs(e) if r != h0 and h0 in regs(e)) + _q = next(r for e in word['A'][:npre] for r in regs(e) if r != h0 and h0 in regs(e) and str(r) not in word['helper_final'] and not v <= r < 2*v) + NA.append(dict(site='extra_end', reason='partner %d already cold-ended at h0 %d frame (identity)' % (_p, h0), + honest_sha256=HONEST_SHA, mutated_sha256=wsha(_m), substitute='partner %d' % _q)) + + def extra_cold_end(w, q=_q): w['helper_final'][str(q)] = w['helper_final'][str(h0)] + assert wsha((lambda x: (extra_cold_end(x), x)[1])(copy.deepcopy(word))) != HONEST_SHA + + +reject('premix placed in the zero-frame precondition (before the cold wrappers)', premix_to_precondition, WHY['premix_to_precondition']) +reject('one premix gate dropped (the compensation then reads a cold-ended helper)', lambda w: w['A'].pop(npre - 1), WHY['premix_dropped']) +reject('one lower-frame cleanup gate dropped (gate and its early_cleanup entry)', lambda w: drop_cleanup_gate(w, i0), WHY['lower_dropped']) +reject('one FULL-remainder gate dropped', lambda w: drop_cleanup_gate(w, r0), WHY['remainder_dropped']) +reject('lower-frame gate coefficient changed', lambda w: w['cleanup'][i0].__setitem__(3, w['cleanup'][i0][3] * 2), WHY['coefficient']) +reject('lower-frame gate moved into the FULL remainder (touches a cold-ended helper at FULL)', lower_gate_into_full, WHY['into_full']) +reject('lower-frame gate frame below its registers\' frames', lambda w: next(x for x in w['early_cleanup'] if x[0] == i0).__setitem__(1, U0[:-1]), WHY['frame_below']) +reject('cold end at another dim-4 frame', other_frame, WHY['other_frame']) +# PROFILE-PIN control: without its helper_final entry the cold-ended helper is a valid FULL-ended helper; the word is +# rejected because its reported paid profile (which counts the low end) no longer matches the frame chains. +reject('profile pin: cold end dropped (valid FULL end, but the reported profile counts the low end)', lambda w: w['helper_final'].pop(str(h0)), WHY['profile_pin']) +reject('extra cold end on a premixed partner (the compensation reads it before its wrapper)', extra_cold_end, WHY['extra_end']) +reject('refactored-cleanup marker removed (literal-inverse rule applies)', lambda w: w.pop('refactored_cleanup'), WHY['marker']) +reject('remainder gate retargeted to a target register', lambda w: w['cleanup'][r0].__setitem__(1, v + 3), WHY['target']) +reject('non-dyadic remainder coefficient', lambda w: w['cleanup'][r0].__setitem__(4 if w['cleanup'][r0][0] == 'add' else 3, 3 * w['cleanup'][r0][4 if w['cleanup'][r0][0] == 'add' else 3]), WHY['dyadic']) +reject('profile not updated (paid climbs misreported)', lambda w: w['report']['local_profile'].__setitem__('5', w['report']['local_profile']['5'] - 1), WHY['profile_pin']) +ent = [int(h) for h in sys.argv[4].split(',')] if len(sys.argv) > 4 else [int(h) for h in meta.get('entering_low_frame_ended_helpers', [])] +for e0 in ent: # ENTERING LOW-FRAME ENDS (ColdSupply extension; every entering end; absent for words without them) + j0 = next((i for i, e in enumerate(word['A'][:npre]) if e0 in regs(e)), None) + print('entering end', e0, 'premix gate', j0, flush=True) + k0, Ue = next((i, f) for i, f in early if e0 in regs(word['cleanup'][i])) + def to_pre(w, j0=j0): w['precondition'].append(w['A'][j0]); w['A'].pop(j0) + def other_hp(w, e0=e0, Ue=Ue): w['helper_final'][str(e0)] = next(f for h, f in w['helper_final'].items() if len(f) == len(Ue) and sorted(f) != sorted(Ue)) + if not any(len(f) == len(Ue) and sorted(f) != sorted(Ue) for f in word['helper_final'].values()): # unbuildable + Uh = word['helper_final'][str(e0)] + NA.append(dict(site='other_hp:%d' % e0, reason='tail frame dim %d; no other helper_final frame of that dim' % len(Ue), + dims_available=sorted({len(f) for f in word['helper_final'].values()}), substitute='end-frame dim %d' % len(Uh))) + + def other_hp(w, e0=e0, Uh=Uh): w['helper_final'][str(e0)] = next(f for h, f in w['helper_final'].items() if len(f) == len(Uh) and sorted(f) != sorted(Uh)) + if j0 is not None: reject('entering end %d: premix gate dropped' % e0, lambda w, j0=j0: w['A'].pop(j0), WHY['e_premix_dropped']) + if j0 is not None: reject('entering end %d: premix gate at frame [] instead of its entrance E' % e0, lambda w, j0=j0: w['A'][j0].__setitem__(-1, []), WHY['nonmonotone']) + if j0 is not None: reject('entering end %d: premix gate moved into the zero-frame precondition' % e0, to_pre, WHY['entering_precondition']) + reject('entering end %d: lower-frame gate dropped (gate and its early_cleanup entry)' % e0, lambda w, k0=k0: drop_cleanup_gate(w, k0), WHY['lower_dropped']) + reject('entering end %d: profile pin: end dropped (valid FULL end, but the reported profile counts the low end)' % e0, lambda w, e0=e0: w['helper_final'].pop(str(e0)), WHY['profile_pin']) + reject('entering end %d: end at another hyperplane' % e0, other_hp, WHY['cone']) +# Pinned rejection reasons of the COLD-BEYOND mutants (substrings of hpe_audit_and_transport.py assertion messages). +MYWHY = dict(tw_precondition=COLDPRE, tw_dropped=COLDPRE, tw_coefficient=COLDPRE, tw_other_block=COLDPRE, + tw_entering='zero-frame compensation reads an entering helper', + ab_dropped=ENDPOINT, ab_coefficient=ENDPOINT, ab_early=ENDPOINT, ab_live=ENDPOINT, ab_centre=ENDPOINT, + ab_lower="'nonmonotone'", ab_higher="'nonmonotone'", + sh_dropped=ENDPOINT, sh_coefficient=ENDPOINT, rel_dropped=ENDPOINT, rel_coefficient=ENDPOINT, rel_live=ENDPOINT, + h8_other=CONE, h8_lower=ENDPOINT) +# COLD-BEYOND primitives (present only when the word carries them): frame-[] target writes in the premix (explicit +# post-wrapper compensation of an ended helper's dirt) and forward absorptions into dead registers. +nw = meta.get('premix_target_writes', 0) +if nw: + wi = [i for i in range(npre) if v <= word['A'][i][1] < 2*v] + assert len(wi) == nw + + def writes_to_precondition(w): # the target writes run before the cold wrappers (inside the zero-frame precondition) + g = [w['A'][i] for i in wi]; w['precondition'] = w['precondition'] + g + w['A'] = [e for i, e in enumerate(w['A']) if i not in set(wi)] + reject('premix target writes placed in the zero-frame precondition (before the cold wrappers)', writes_to_precondition, MYWHY['tw_precondition']) + reject('one premix target write dropped (compensation must read an ended helper)', lambda w: w['A'].pop(wi[0]), MYWHY['tw_dropped']) + reject('premix target write coefficient changed', lambda w: w['A'][wi[0]].__setitem__(3, w['A'][wi[0]][3] * 2), MYWHY['tw_coefficient']) + # (reading another register that carries the SAME weight of the ended helper's dirt is a valid variant, so the mutant reads + # the same factory slot of the next block, which carries none of it) + entering_regs = sorted(int(r) for r in word.get('start_extra', {})) + reject('premix target write reads an entering helper', lambda w: w['A'][wi[0]].__setitem__(2, entering_regs[0]), MYWHY['tw_entering']) + reject('premix target write reads a cold helper of another block', lambda w: w['A'][wi[0]].__setitem__(2, 2*v + (w['A'][wi[0]][2] - 2*v + 16) % 224), MYWHY['tw_other_block']) +ab = meta.get('forward_absorption_A_indices', []) +if any(len(word['helper_final'][str(h)]) == 8 for h in cold): + # with dim-8 cold ends, the centre-retargeted absorption first leaks an ended helper's dirt into the cut's targets + MYWHY['ab_centre'] = COLDPRE +if ab: + # the ColdBeyond U_b absorption (q += -1/2 g); ColdThird's extra absorptions have their own controls below + a0 = next(a for a in ab if word['A'][a][3] * 2 == -word['A'][a][4]); g0 = word['A'][a0] + + def absorption_moved_early(w): # absorbed before the absorbed register's last kernel write + e = w['A'].pop(a0); j = max(i for i in range(npre, a0) if g0[2] == w['A'][i][1] and w['A'][i][-1] == g0[-1]) + w['A'].insert(j, e) + + def absorption_into_live(w): # q += a g moved right after g's previous frame-mate gate, while q is still live + e = w['A'].pop(a0); j = max(i for i in range(npre, a0) if g0[1] in regs(w['A'][i])) + w['A'].insert(j, e) + reject('forward absorption dropped', lambda w: w['A'].pop(a0), MYWHY['ab_dropped']) + reject('forward absorption into a centre (a live register read by the cut)', lambda w: w['A'][a0].__setitem__(1, next(c for c in word['centers'] if c not in g0[1:3] and c not in cold)), MYWHY['ab_centre']) + reject('forward absorption coefficient changed', lambda w: w['A'][a0].__setitem__(3, w['A'][a0][3] * 2), MYWHY['ab_coefficient']) + reject('forward absorption placed before the absorbed register\'s last kernel write', absorption_moved_early, MYWHY['ab_early']) + reject('forward absorption placed while the absorbing register is still live', absorption_into_live, MYWHY['ab_live']) + reject('forward absorption at a lower frame than its registers', lambda w: w['A'][a0].__setitem__(-1, w['A'][a0][-1][:-1]), MYWHY['ab_lower']) + reject('forward absorption at a higher frame (FULL) than its registers', lambda w: w['A'][a0].__setitem__(-1, [256, 128, 64, 32, 16, 8, 4, 2, 1]), MYWHY['ab_higher']) +# COLD-THIRD primitives (present only when the word carries them): several absorptions after one input gate, dirt-release +# absorptions (a dead port takes a live helper's value so that a hyperplane unit's column has no dirt on it), and cold ends at +# a dim-8 frame with lifted partners. +hyper = [h for h in cold if len(word['helper_final'][str(h)]) == 8] +if hyper and ab: + sh = next(a for a, b in zip(ab, ab[1:]) if b == a + 1) # two absorptions sharing one input anchor + rel = next(a for a in ab if a - 1 not in ab and a + 1 not in ab and word['A'][a][2] in hyper and word['A'][a][3] * 2 != -word['A'][a][4]) + hh = hyper[0]; ih = next(i for i, f in early if hh in regs(word['cleanup'][i])) + reject('second absorption sharing an input anchor dropped', lambda w: w['A'].pop(sh + 1), MYWHY['sh_dropped']) + reject('shared-anchor absorption coefficient changed', lambda w: w['A'][sh + 1].__setitem__(3, w['A'][sh + 1][3] * 2), MYWHY['sh_coefficient']) + reject('dirt-release absorption dropped', lambda w: w['A'].pop(rel), MYWHY['rel_dropped']) + reject('dirt-release absorption coefficient changed', lambda w: w['A'][rel].__setitem__(3, w['A'][rel][3] * 2), MYWHY['rel_coefficient']) + jr = max(i for i in range(npre, rel) if word['A'][i][0] == 'add' and word['A'][i][2] == word['A'][rel][1]) + + def release_while_read(w): # the release runs before a kernel gate that still READS the port (port live) + e = w['A'].pop(rel); w['A'].insert(jr, e) + reject('dirt-release absorption moved before a kernel gate that still reads the port', release_while_read, MYWHY['rel_live']) +if hyper: + # dim-8 cold-end controls for EVERY dim-8 cold end of the word (read from the word's helper_final and the recipe meta's + # cold_low_frame_ended_helpers), not one representative per terminal frame + for hh in hyper: + ih = next(i for i, f in early if hh in regs(word['cleanup'][i])) + Uh = word['helper_final'][str(hh)] + reject('dim-8 cold end %d (frame %s) at another dim-8 frame' % (hh, Uh), lambda w, hh=hh: w['helper_final'].__setitem__(str(hh), next(f for h, f in w['helper_final'].items() if len(f) == 8 and sorted(f) != sorted(w['helper_final'][str(hh)]))), MYWHY['h8_other']) + reject('dim-8 cold end %d (frame %s): one lower-frame gate dropped (gate and its early_cleanup entry)' % (hh, Uh), lambda w, ih=ih: drop_cleanup_gate(w, ih), MYWHY['h8_lower']) + reject('dim-8 cold end %d (frame %s): profile pin (end dropped)' % (hh, Uh), lambda w, hh=hh: w['helper_final'].pop(str(hh)), WHY['profile_pin']) +# FACTORED ACCUMULATOR (CarrierBypass; present only when the word carries one): a lower-frame tail gate a += x*g on two +# non-ended registers whose accumulator a is afterwards read by a dim-8 cold end's tail gate (h += y*a at its U). +ended_all = {int(h) for h in word['helper_final']} +tailg = [(i, word['cleanup'][i]) for i, _ in early] +accs = [] # EVERY factored accumulator gate (one per accumulator register a), each controlled on its own +for k, (i, e) in enumerate(tailg): + if e[0] == 'add' and e[1] not in ended_all and e[2] not in ended_all and len(next(f for j, f in early if j == i)) < 8: + if e[1] not in [word['cleanup'][j][1] for j in accs] and any(t[0] == 'add' and t[2] == e[1] and t[1] in hyper for _, t in tailg[k + 1:]): + accs.append(i) +for acc in accs: + a = word['cleanup'][acc][1] + reject('factored accumulator %d (gate %d) zeroed' % (a, acc), lambda w, acc=acc: w['cleanup'][acc].__setitem__(3, 0), ENDPOINT) + reject('factored accumulator %d (gate %d) coefficient doubled' % (a, acc), lambda w, acc=acc: w['cleanup'][acc].__setitem__(3, w['cleanup'][acc][3] * 2), ENDPOINT) +assert {x['site']: x['reason'] for x in NA} == NA_DECLARED, ('not-applicable sites differ from the pins file', NA, NA_DECLARED) +outdir.mkdir(parents=True, exist_ok=True) +(outdir/'COLD-END-CONTROLS.json').write_text(json.dumps(dict(status='PASS_COLD_END_RAW_WORD_CONTROLS', word=str(src), rejected=results, not_applicable=NA), indent=1) + '\n') +print('PASS', len(results), 'cold-end raw-word mutations rejected') diff --git a/research/gauge44-leaver8/construction/leaver/reproduce_leaver.py b/research/gauge44-leaver8/construction/leaver/reproduce_leaver.py new file mode 100644 index 0000000000..bc4360ef93 --- /dev/null +++ b/research/gauge44-leaver8/construction/leaver/reproduce_leaver.py @@ -0,0 +1,177 @@ +#!/usr/bin/env python3 +"""Rebuild the leaver word: the no-triangle word with no-helper mutable-leaver all-K cells, and its native locals. + +Each cell (pair p, sign e) replaces the three face events of the blocks containing p and their three packet copies +by a 21-gate circuit on the cell's six leaver sources x_j (the face-event operands, which have no later reads and are +restored by the inherited cleanup at FULL) and its six targets y_i: 3 leaver gates x_k += c x_m, 3 target gates +y_a += c y_b (inverted at frame zero in the precondition and scatter, #781's recipe) and 15 reads y_i += c x_j. +Unit circuit (LeaverSAT, layered CP-SAT on the exact set model), relabelled per cell so that no y += y source carries +port-stage entering-helper dirt at the gate; coefficients rescaled exactly to the cell (C_ij = r_i c_j). +Input: a fresh `construction/reproduce.py --until word` output directory (hamming/, shadow-early/, shadow-prefix/). +Steps, each checked exactly (pins in LEAVER-PINS.json): + 0. cells: CODED-CELLS.json's scaled gates are re-derived from the unit circuits and the cell coefficients, and the + clean map Y_i = sum_j C_ij X_j is checked in exact rationals. + 1. gauge-forward: cgx_leaver.py (notri/cgx.py + the leaver edits) with TRI-LEAVER.json, XPARAM = notri/PRIO6.json. + 2. port0-3: notri/port_stage_x.py. + 3. regroup: REGROUP-LEAVER.json's changes where their `before` gate occurs (count pinned). + 4. hpe: PR635's build_hpe.candidates greedy with disjoint registers, build_hpe.apply (recipe pinned). + 5. cold44: notri/cold44x.py with EXTRAH and pinned pairing ranks; output sha, profile and widths pinned. + 6. native, ledgers, local-replay, wrappers, phases: PR635's native local programs (pins). +Apache-2.0. LeaverSAT (Claude Code research agent), driver after construction/notri/reproduce_notri.py. +""" +import argparse, gzip, hashlib, importlib.util, json, os, shutil, subprocess, sys, time +from fractions import Fraction +from pathlib import Path + +HERE = Path(__file__).resolve().parent +NOTRI = HERE.parent / 'notri' + + +def read(p): + raw = Path(p).read_bytes() + return json.loads(gzip.decompress(raw) if str(p).endswith('.gz') else raw) + + +def enc(x): return json.dumps(x, sort_keys=True, separators=(',', ':')).encode() + + +def dump(p, v): + p.parent.mkdir(parents=True, exist_ok=True); p.write_bytes(gzip.compress(enc(v), mtime=0)) + + +def load(name, path): + s = importlib.util.spec_from_file_location(name, path); m = importlib.util.module_from_spec(s); s.loader.exec_module(m); return m + + +def check_cells(cells): + for c in cells: + C = [[Fraction(q) for q in r] for r in c['coefficients']] + col = [None] * 6; row = [Fraction(1)] + [None] * 5 + for j in range(1, 6): col[j] = C[0][j] + col[0] = C[1][0] / (C[1][2] / col[2]) + for i in range(1, 6): row[i] = C[i][(i + 1) % 6] / col[(i + 1) % 6] + assert all(C[i][j] == row[i] * col[j] for i in range(6) for j in range(6) if i != j), ('rank-one cell', c['cell']) + idx = lambda s: int(s[1:]) + scaled = [] + for t, s, q in c['unit']: + assert Fraction(q) == 1 + if t[0] == 'x': assert s[0] == 'x'; q = col[idx(s)] / col[idx(t)] + elif s[0] == 'y': q = row[idx(t)] / row[idx(s)] + else: q = row[idx(t)] * col[idx(s)] + scaled.append([t, s, str(q)]) + assert scaled == c['scaled'], ('scaled gates', c['cell']) + R = {f'x{j}': {j: Fraction(1)} for j in range(6)}; R.update({f'y{i}': {} for i in range(6)}) + for t, s, q in scaled: + for k, x in list(R[s].items()): R[t][k] = R[t].get(k, 0) + Fraction(q) * x + for i in range(6): + assert {k: x for k, x in R[f'y{i}'].items() if x} == {j: C[i][j] for j in range(6) if j != i}, ('clean map', c['cell'], i) + + +def main(): + assert __debug__, 'Assertions are required' + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--main', type=Path, required=True) + ap.add_argument('--pr635', type=Path, required=True) + ap.add_argument('--word-dir', type=Path, required=True, help='construction/reproduce.py --until word output') + ap.add_argument('--out', type=Path, required=True) + ap.add_argument('--skip-phases', action='store_true') + ap.add_argument('--word-only', action='store_true', help='stop after the pinned scalar word (input to the layers)') + ap.add_argument('--id', default='k5', help='cell set: TRI-LEAVER-, CODED-CELLS-, REGROUP-LEAVER-, LEAVER-PINS-') + ap.add_argument('--record-pins', action='store_true', help='write LEAVER-PINS.json from this run instead of checking') + a = ap.parse_args() + out = a.out.resolve(); assert not out.exists(); out.mkdir(parents=True) + pins = {} if a.record_pins else read(HERE / ('LEAVER-PINS-%s.json' % a.id)); got = {} + def pin(k, v): + got[k] = v + if not a.record_pins: assert pins[k] == v, ('pin', k, v, pins[k]) + up = a.pr635.resolve() / 'research/complex-571-cold14-st2' + src = a.main.resolve() / 'research/complex-k492-owner-repair/vendor/multicold' + base = src / 'vendor/pr558'; parent = base / 'vendor/pr552'; gk = parent / 'complex-local/static44/gk' + structural = a.main.resolve() / 'research/structural-gain/frontier-composition' + wd = a.word_dir.resolve() + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONUTF8='1', PYTHONINTMAXSTRDIGITS='0', + MULTICOLD_SOURCE=str(src), GAIN_PR564_SOURCE=str(src)) + for k in ('PYTHONOPTIMIZE', 'XPARAM', 'EXTRAH', 'PAIRING_RANKS', 'DIAG', 'HYBBUDGET'): env.pop(k, None) + steps = [] + + def run(label, script, *args): + t = time.monotonic() + with (out / (label + '.log')).open('w') as f: + rc = subprocess.call([sys.executable, '-B', str(src / 'code/run_portable.py'), str(script), *map(str, args)], + env=env, stdout=f, stderr=subprocess.STDOUT) + steps.append(dict(step=label, exit_code=rc, seconds=round(time.monotonic() - t, 3))) + (out / 'STEPS.json').write_text(json.dumps(steps, indent=2) + '\n') + assert rc == 0, label + print('PASS', label, flush=True) + + # 0. cells + cells = read(HERE / ('CODED-CELLS-%s.json' % a.id)); check_cells(cells); print('PASS cells', [c['cell'] for c in cells], flush=True) + # 1. gauge-forward + shutil.copy(HERE / ('TRI-LEAVER-%s.json' % a.id), out / 'TRI.json'); shutil.copy(HERE / ('CODED-CELLS-%s.json' % a.id), out / 'CODED-CELLS.json') + env['XPARAM'] = str(NOTRI / 'PRIO6.json') + raw = out / 'raw' + run('gauge-forward', HERE / 'cgx_leaver.py', wd / 'hamming', raw, out / 'TRI.json') + word = raw / 'FULL-WORD.json.gz'; pin('raw_sha256', hashlib.sha256(enc(read(word))).hexdigest()) + # 2. port stages + chain = [parent / 'complex-local/static44/inputs/RAW504.json.gz', structural / 'global-replay/base/split-centres/FULL-WORD.json.gz', + wd / 'shadow-early/FULL-WORD.json.gz', structural / 'multicold-eight-word/FULL-WORD.json.gz', + wd / 'shadow-prefix/FULL-WORD.json.gz'] + for i, (b, c) in enumerate(zip(chain, chain[1:])): + t = out / ('port%d' % i) + run('port%d' % i, NOTRI / 'port_stage_x.py', '--shadow-input', b, '--shadow-output', c, '--input', word, + '--map', raw / 'HELPER-MAP.json', '--gk-dir', gk, '--out', t) + word = t / 'FULL-WORD.json.gz' + # 3. regroup + w = read(word); rg = {json.dumps(c['before']): c['after'] for c in read(HERE / ('REGROUP-LEAVER-%s.json' % a.id))['changes']} + n = 0 + for part in ('A', 'B'): + for i, e in enumerate(w[part]): + k = json.dumps(e) + if k in rg: w[part][i] = rg[k]; n += 1 + sys.path.insert(0, str(gk)); import gk_word as GW, gk_common as GC + GW.V = GC.V = 112; GW.DATA = GC.DATA = 7168 + H = GW.profile(w) + w['report'].update(local_profile={str(k): z for k, z in sorted(H.items()) if z}, local_rank_mass=sum(r * z for r, z in H.items())) + pin('regroup_count', n); dump(out / 'regroup/FULL-WORD.json.gz', w); pin('regroup_sha256', hashlib.sha256(enc(w)).hexdigest()) + # 4. HPE + h = load('upstream_hpe', up / 'code/build_hpe.py') + used, ch = set(), [] + for c in h.candidates(w): + rs = set(h.regs(w['cleanup'][c['cleanup_index']])) + if rs & used: continue + used |= rs; ch.append(c) + (out / 'HPE-RECIPE.json').write_text(json.dumps(dict(changes=ch))) + pin('hpe_recipe_sha256', hashlib.sha256(enc(dict(changes=ch))).hexdigest()) + w = h.apply(w, ch); dump(out / 'hpe/FULL-WORD.json.gz', w) + # 5. cold44 + hm = set(read(raw / 'HELPER-MAP.json')['map'].values()) + env['EXTRAH'] = json.dumps(sorted(set(range(224, 224 + w['report']['R'])) - hm)) + if not a.record_pins: env['PAIRING_RANKS'] = json.dumps(pins['pairing_ranks']) + run('cold44', NOTRI / 'cold44x.py', '--input', out / 'hpe/FULL-WORD.json.gz', '--out', out / 'cold44', + '--hamming', wd / 'hamming', '--upstream-package', up) + pin('pairing_ranks', [b['pairing_rank'] for b in read(out / 'cold44/CONSTRUCTION.json')['blocks']]) + word = out / 'cold44/FULL-WORD.json.gz'; w = read(word) + pin('cold44_sha256', hashlib.sha256(enc(w)).hexdigest()); rep = w['report'] + pin('R', rep['R']); pin('local_profile', rep['local_profile']); pin('width_inventory', rep['width_inventory']) + print('PASS leaver scalar word', got['cold44_sha256'], flush=True) + if not a.word_only: + for k in ('XPARAM', 'EXTRAH', 'PAIRING_RANKS'): env.pop(k, None) + local = out / 'local' + run('native', up / 'code/hpe_audit_and_transport.py', '--raw', word, + '--routing', parent / 'complex-local/inputs/phase-baseline/CANONICAL-WORD.json.gz', '--out', local) + pin('canonical_sha256', hashlib.sha256(gzip.decompress((local / 'CANONICAL-WORD.json.gz').read_bytes())).hexdigest()) + run('ledgers', up / 'code/hpe_emit_local.py', local) + run('local-replay', up / 'code/hpe_audit_local.py', local) + run('wrappers', up / 'code/hpe_adapters_local.py', local / 'CANONICAL-WORD.json.gz', + local / 'RESIDUAL-ADAPTERS.json', local / 'WRAPPER-CHECKS.json') + checks = read(local / 'LOCAL-CHECKS.json') + pin('program_sha256', {o: checks[o]['sha256'] for o in ('forward', 'backward')}) + if not a.skip_phases: + run('phases', base / 'code/phases_full.py', local, parent / 'complex-global/vendor531/vendor/clifford') + pin('clifford_recipes_sha256', hashlib.sha256((local / 'CLIFFORD-RECIPES.json').read_bytes()).hexdigest()) + if a.record_pins: (HERE / ('LEAVER-PINS-%s.json' % a.id)).write_text(json.dumps(got, indent=1) + '\n') + print('DONE', out, flush=True) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-leaver8/construction/leaver/reproduce_leaver_chain.py b/research/gauge44-leaver8/construction/leaver/reproduce_leaver_chain.py new file mode 100644 index 0000000000..19fcd28f4d --- /dev/null +++ b/research/gauge44-leaver8/construction/leaver/reproduce_leaver_chain.py @@ -0,0 +1,187 @@ +#!/usr/bin/env python3 +"""Rebuild the leaver stack on top of the leaver cell word: layers (NP, p6n), promotions, joint exchange and U8-style +hybrids, and the final word's native locals. + +Input: a fresh `construction/leaver/reproduce_leaver.py --word-only` output directory (raw/HELPER-MAP.json, regroup/, +cold44/; the cell word and its regroup word are pinned there by LEAVER-PINS.json). Each step uses an unchanged signed +builder with a LeaverSAT recipe (data only), and every intermediate word is pinned: + 1. pivot-swap: ../layers/build_pivot_swap.py with PIVOT-SWAP-.json on the regroup word (its own 30 controls). + 2. hpe: PR635's build_hpe.candidates (greedy, disjoint registers) must equal HPE-RECIPE-.json; build_hpe.apply. + The swapped HPE word is pinned by the cold-layer recipes' input_content_sha256. + 3. cold44-exact: ../notri/cold44x.py on the swapped HPE word (pairing ranks pinned to LEAVER-PINS); its cold ends, + premix and low tails must equal the unswapped leaver construction's. + 4. layers: PR635's build_cold_end.apply(HPE, COLD-LAYERS-RECIPE-NP-) -> NP word and (.., -P6N-) -> p6n word; + output shas pinned by the recipes. + 5. promotion: ../promo/build_promotion.py with PROMO-RECIPE-.json on the p6n word; ../promo/promo_controls.py. + 6. jx: ../jx/build_jx.py with RECIPE-X4-.json on the promoted word; all recipe controls rerun at their pins. + 7. hybrids: ../barch/build_tri.py with RECIPE-U8-.json on the jx word; ../barch/run_controls.py (all outcomes). + 8. frames: build_frames_lv.py (LeaverSAT2) applies FRAME-RECIPE-LV-.json (B/T frame changes, exact global frame + optimum) with ../promo/build_promotion.apply; scalar program unchanged; 3 pin controls; output pinned. + 8b. layer-end-controls: layer_end_controls_leaver.py (v2: the signed per-end controls with per-word reason re-pins + and declared not-applicable sites, each replaced by a same-class substitute mutant) on the p6n, promoted, jx and + hybrid words with LEC-REASON-PINS-STACK-.json, and on the re-framed final word with LEC-REASON-PINS-.json; + counts, not-applicable sites and the sha256 of each pins file pinned. + 9. native, ledgers, local-replay, wrappers, phases on the final word; canonical, programs, Clifford pinned. +All counts and native pins are in CHAIN-PINS-.json (--record-pins writes it from a run instead of checking; +a checking run requires its pins to equal the file exactly). +Apache-2.0. Driver by ColdWitness over LeaverSAT's frozen recipes and the signed builders. +""" +import argparse, gzip, hashlib, importlib.util, json, os, subprocess, sys, time +from pathlib import Path + +HERE = Path(__file__).resolve().parent +C = HERE.parent +MUTANTS = ('drop_restore', 'restore_full', 'drop_preread', 'donation_after') + + +def read(p): + raw = Path(p).read_bytes() + return json.loads(gzip.decompress(raw) if str(p).endswith('.gz') else raw) + + +def enc(x): return json.dumps(x, sort_keys=True, separators=(',', ':')).encode() + + +def csha(p): return hashlib.sha256(gzip.decompress(Path(p).read_bytes())).hexdigest() + + +def load(name, path): + s = importlib.util.spec_from_file_location(name, path); m = importlib.util.module_from_spec(s); s.loader.exec_module(m); return m + + +def main(): + assert __debug__, 'Assertions are required' + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--main', type=Path, required=True) + ap.add_argument('--pr635', type=Path, required=True) + ap.add_argument('--leaver-dir', type=Path, required=True, help='construction/leaver/reproduce_leaver.py --word-only output') + ap.add_argument('--hamming', type=Path, required=True, help='hamming/ of the construction/reproduce.py --until word output') + ap.add_argument('--out', type=Path, required=True) + ap.add_argument('--skip-phases', action='store_true') + ap.add_argument('--id', default='k5', help='recipe set id: every recipe and pin file below is -') + ap.add_argument('--record-pins', action='store_true') + a = ap.parse_args() + out = a.out.resolve(); assert not out.exists(); out.mkdir(parents=True) + up = a.pr635.resolve() / 'research/complex-571-cold14-st2' + src = a.main.resolve() / 'research/complex-k492-owner-repair/vendor/multicold' + base = src / 'vendor/pr558'; parent = base / 'vendor/pr552'; gk = parent / 'complex-local/static44/gk' + routing = parent / 'complex-local/inputs/phase-baseline/CANONICAL-WORD.json.gz' + lp = read(HERE / ('LEAVER-PINS-%s.json' % a.id)) + pins = {} if a.record_pins else read(HERE / ('CHAIN-PINS-%s.json' % a.id)); got = {} + + def pin(key, value): + got[key] = value + if not a.record_pins: assert pins[key] == value, (key, value, pins.get(key)) + + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONUTF8='1', PYTHONINTMAXSTRDIGITS='0', + MULTICOLD_SOURCE=str(src), GAIN_PR564_SOURCE=str(src)) + for k in ('PYTHONOPTIMIZE', 'XPARAM', 'EXTRAH', 'PAIRING_RANKS', 'DIAG', 'HYBBUDGET', 'PR635_CODE', 'LEC_REASON_PINS', 'SW4_PIN'): env.pop(k, None) + steps = [] + + def run(label, script, *args, portable=True, extra=None): + t = time.monotonic(); e = dict(env, **(extra or {})) + cmd = [sys.executable, '-B'] + ([str(src / 'code/run_portable.py')] if portable else []) + [str(script), *map(str, args)] + with (out / (label + '.log')).open('w') as f: + rc = subprocess.call(cmd, env=e, stdout=f, stderr=subprocess.STDOUT) + steps.append(dict(step=label, exit_code=rc, seconds=round(time.monotonic() - t, 3))) + (out / 'STEPS.json').write_text(json.dumps(steps, indent=2) + '\n') + assert rc == 0, label + print('PASS', label, flush=True) + return (out / (label + '.log')).read_text() + + def lec(label, word, pins_name): + pf = HERE / ('%s-%s.json' % (pins_name, a.id)); pin(label + '_pins_sha256', hashlib.sha256(pf.read_bytes()).hexdigest()) + run(label, HERE / 'layer_end_controls_leaver.py', word, routing, out / label, + extra=dict(PR635_CODE=str(up / 'code'), LEC_REASON_PINS=str(pf))) + c = read(out / label / 'COLD-END-CONTROLS.json'); assert c['status'] == 'PASS_COLD_END_RAW_WORD_CONTROLS' + pin(label, len(c['rejected'])); pin(label + '_not_applicable', {x['site']: x['reason'] for x in c['not_applicable']}) + + ld = a.leaver_dir.resolve() + assert hashlib.sha256(enc(read(ld / 'cold44/FULL-WORD.json.gz'))).hexdigest() == lp['cold44_sha256'], 'leaver cell word' + rg = ld / 'regroup/FULL-WORD.json.gz' + sw = read(HERE / ('PIVOT-SWAP-%s.json' % a.id)) + assert hashlib.sha256(enc(read(rg))).hexdigest() == lp['regroup_sha256'] == sw['input_content_sha256'], 'regroup word' + # 1. pivot swaps + run('pivot-swap', C / 'layers/build_pivot_swap.py', '--input', rg, '--recipe', HERE / ('PIVOT-SWAP-%s.json' % a.id), '--gk-dir', gk, '--out', out / 'swap') + w = read(out / 'swap/FULL-WORD.json.gz'); assert hashlib.sha256(enc(w)).hexdigest() == sw['output_content_sha256'], 'swap word' + # 2. HPE + h = load('upstream_hpe', up / 'code/build_hpe.py'); used, ch = set(), [] + for c in h.candidates(w): + rs = set(h.regs(w['cleanup'][c['cleanup_index']])) + if rs & used: continue + used |= rs; ch.append(c) + assert ch == read(HERE / ('HPE-RECIPE-%s.json' % a.id))['changes'], 'HPE recipe' + w = h.apply(w, ch); (out / 'hpe').mkdir(); (out / 'hpe/FULL-WORD.json.gz').write_bytes(gzip.compress(enc(w), mtime=0)) + rnp, rp6 = read(HERE / ('COLD-LAYERS-RECIPE-NP-%s.json.gz' % a.id)), read(HERE / ('COLD-LAYERS-RECIPE-P6N-%s.json.gz' % a.id)) + assert hashlib.sha256(enc(w)).hexdigest() == rnp['input_content_sha256'] == rp6['input_content_sha256'], 'swapped HPE word' + # 3. cold44 on the swapped word: same ends, premix and tails + hm = set(read(ld / 'raw/HELPER-MAP.json')['map'].values()) + run('cold44-exact', C / 'notri/cold44x.py', '--input', out / 'hpe/FULL-WORD.json.gz', '--out', out / 'cold44', + '--hamming', a.hamming.resolve(), '--upstream-package', up, + extra=dict(EXTRAH=json.dumps(sorted(set(range(224, 224 + w['report']['R'])) - hm)), PAIRING_RANKS=json.dumps(lp['pairing_ranks']))) + new, old = read(out / 'cold44/RECIPE.json.gz'), read(ld / 'cold44/RECIPE.json.gz') + for key in ('premix', 'early_cleanup', 'cold_ends'): assert new[key] == old[key], ('swapped cold44 differs', key) + tail = len(new['early_cleanup']); assert new['cleanup'][:tail] == old['cleanup'][:tail], 'low tails' + # 4. NP and p6n layers + bce = load('upstream_cold', up / 'code/build_cold_end.py') + for name, r in (('np', rnp), ('p6n', rp6)): + lw = bce.apply(w, r); raw = enc(lw); assert hashlib.sha256(raw).hexdigest() == r['output_content_sha256'], (name, 'word') + (out / name).mkdir(); (out / name / 'FULL-WORD.json.gz').write_bytes(gzip.compress(raw, mtime=0)) + pin(name + '_profile', lw['report']['local_profile']) + p6n = out / 'p6n/FULL-WORD.json.gz'; lec('lec-p6n', p6n, 'LEC-REASON-PINS-STACK') + # 5. promotion + pr = HERE / ('PROMO-RECIPE-%s.json' % a.id) + run('promotion', C / 'promo/build_promotion.py', '--input', p6n, '--recipe', pr, '--out', out / 'promo', portable=False) + assert csha(out / 'promo/FULL-WORD.json.gz') == read(pr)['expected']['output_content_sha256'] + run('promo-controls', C / 'promo/promo_controls.py', '--input', p6n, '--recipe', pr, '--audit', C.parent / 'independent/audit_local.py', + '--out', out / 'PROMO-CONTROLS.json', portable=False) + pc = read(out / 'PROMO-CONTROLS.json'); assert pc['honest'] == 'PASS'; pin('promo_controls', pc['rejected']) + lec('lec-promo', out / 'promo/FULL-WORD.json.gz', 'LEC-REASON-PINS-STACK') + # 6. jx + xr = HERE / ('RECIPE-X4-%s.json' % a.id); rec = read(xr); inp = out / 'promo/FULL-WORD.json.gz' + (out / 'jx').mkdir(); jw = out / 'jx/FULL-WORD.json.gz' + run('jx', C / 'jx/build_jx.py', '--input', inp, '--recipe', xr, '--out', jw, portable=False) + assert csha(jw) == rec['expected']['output_content_sha256'] + for name, cc in sorted(rec['controls'].items()): + log = run('jx-control-' + name, C / 'jx/build_jx.py', '--input', inp, '--recipe', xr, '--control', name, portable=False) + if 'rejection_expected' in cc: assert 'CONTROL PINNED' in log, (name, log[-300:]) + else: assert ('OK ' + cc['expected_sha']) in log, (name, log[-300:]) + pin('jx_controls', sorted(rec['controls'])) + lec('lec-jx', jw, 'LEC-REASON-PINS-STACK') + # 7. hybrids + ur = HERE / ('RECIPE-U8-%s.json' % a.id); u = read(ur); (out / 'hyb').mkdir(); fw = out / 'hyb/FULL-WORD.json.gz' + run('hybrids', C / 'barch/build_tri.py', jw, ur, fw, portable=False) + assert csha(fw) == u['expect_sha256'] + run('hybrid-controls', C / 'barch/run_controls.py', jw, ur, C.parent / 'independent/audit_local.py', out / 'hybrid-controls', portable=False) + res = read(out / 'hybrid-controls/controls.json') + want = ['C0_identity', 'recipe', *MUTANTS] + [m + '@' + str(v['X']) for v in u.get('variants', []) for m in MUTANTS] + assert sorted(res) == sorted(want) and all(x['ok'] for x in res.values()), res + pin('hybrid_controls', sorted(want)) + lec('lec-hyb', fw, 'LEC-REASON-PINS-STACK') + # 8. frame re-optimisation (LeaverSAT2): exact global frame optimum of the hybrid word; scalar program unchanged + fr = HERE / ('FRAME-RECIPE-LV-%s.json' % a.id); frec = read(fr) + run('frames', HERE / 'build_frames_lv.py', fw, out / 'frames', fr, portable=False) + fw = out / 'frames/FULL-WORD.json.gz'; assert csha(fw) == frec['expected']['output_content_sha256'] + pin('frame_build_controls', len(read(out / 'frames/BUILD.json')['rejected_controls'])) + # 8b. layer-end controls on the re-framed final word (v2, not-applicable sites declared in LEC-REASON-PINS-): + # the frame re-optimisation lowers an entering-end tail frame to a dimension no helper_final frame has, so that + # site's 'end at another hyperplane' mutant is replaced by its same-class substitute. + lec('lec-frames', fw, 'LEC-REASON-PINS') + # 9. native locals of the final word + local = out / 'local' + run('native', up / 'code/hpe_audit_and_transport.py', '--raw', fw, '--routing', routing, '--out', local) + pin('canonical_sha256', hashlib.sha256(gzip.decompress((local / 'CANONICAL-WORD.json.gz').read_bytes())).hexdigest()) + run('ledgers', up / 'code/hpe_emit_local.py', local) + run('local-replay', up / 'code/hpe_audit_local.py', local) + run('wrappers', up / 'code/hpe_adapters_local.py', local / 'CANONICAL-WORD.json.gz', local / 'RESIDUAL-ADAPTERS.json', local / 'WRAPPER-CHECKS.json') + checks = read(local / 'LOCAL-CHECKS.json'); pin('program_sha256', {o: checks[o]['sha256'] for o in ('forward', 'backward')}) + if not a.skip_phases: + run('phases', base / 'code/phases_full.py', local, parent / 'complex-global/vendor531/vendor/clifford') + pin('clifford_recipes_sha256', hashlib.sha256((local / 'CLIFFORD-RECIPES.json').read_bytes()).hexdigest()) + if a.record_pins: (out / ('CHAIN-PINS-%s.json' % a.id)).write_bytes((json.dumps(got, indent=1) + '\n').encode()) + else: assert got == pins, ('chain pins differ', sorted(set(got) ^ set(pins))) + print('DONE', local, flush=True) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-leaver8/construction/notri/PRIO6.json b/research/gauge44-leaver8/construction/notri/PRIO6.json new file mode 100644 index 0000000000..069a7bf5a5 --- /dev/null +++ b/research/gauge44-leaver8/construction/notri/PRIO6.json @@ -0,0 +1 @@ +{"prio": {"0,1,2,3": [["1", "0", "0", "1", "0", "0", "0", "0"], ["0", "-1/2", "1/2", "0", "0", "-1/2", "1/2", "0"], ["-1/2", "0", "0", "1/2", "0", "0", "0", "0"], ["0", "0", "0", "0", "1", "0", "0", "1"], ["0", "0", "0", "0", "0", "-1/2", "1/2", "0"], ["-1/2", "0", "0", "1/2", "-1/2", "0", "0", "1/2"]], "0,1,4,5": [["1", "0", "0", "1", "0", "0", "0", "0"], ["0", "-1/2", "1/2", "0", "0", "-1/2", "1/2", "0"], ["-1/2", "0", "0", "1/2", "0", "0", "0", "0"], ["0", "0", "0", "0", "1", "0", "0", "1"], ["0", "0", "0", "0", "0", "-1/2", "1/2", "0"], ["-1/2", "0", "0", "1/2", "-1/2", "0", "0", "1/2"]], "0,1,6,7": [["1", "0", "0", "1", "0", "0", "0", "0"], ["0", "-1/2", "1/2", "0", "0", "-1/2", "1/2", "0"], ["-1/2", "0", "0", "1/2", "0", "0", "0", "0"], ["0", "0", "0", "0", "1", "0", "0", "1"], ["0", "0", "0", "0", "0", "-1/2", "1/2", "0"], ["-1/2", "0", "0", "1/2", "-1/2", "0", "0", "1/2"]], "2,3,4,5": [["1", "0", "0", "1", "0", "0", "0", "0"], ["0", "-1/2", "1/2", "0", "0", "-1/2", "1/2", "0"], ["-1/2", "0", "0", "1/2", "0", "0", "0", "0"], ["0", "0", "0", "0", "1", "0", "0", "1"], ["0", "0", "0", "0", "0", "-1/2", "1/2", "0"], ["-1/2", "0", "0", "1/2", "-1/2", "0", "0", "1/2"]], "2,3,6,7": [["1", "0", "0", "1", "0", "0", "0", "0"], ["0", "-1/2", "1/2", "0", "0", "-1/2", "1/2", "0"], ["-1/2", "0", "0", "1/2", "0", "0", "0", "0"], ["0", "0", "0", "0", "1", "0", "0", "1"], ["0", "0", "0", "0", "0", "-1/2", "1/2", "0"], ["-1/2", "0", "0", "1/2", "-1/2", "0", "0", "1/2"]], "4,5,6,7": [["1", "0", "0", "1", "0", "0", "0", "0"], ["0", "-1/2", "1/2", "0", "0", "-1/2", "1/2", "0"], ["-1/2", "0", "0", "1/2", "0", "0", "0", "0"], ["0", "0", "0", "0", "1", "0", "0", "1"], ["0", "0", "0", "0", "0", "-1/2", "1/2", "0"], ["-1/2", "0", "0", "1/2", "-1/2", "0", "0", "1/2"]]}} \ No newline at end of file diff --git a/research/gauge44-leaver8/construction/notri/cgx.py b/research/gauge44-leaver8/construction/notri/cgx.py new file mode 100644 index 0000000000..08e80804eb --- /dev/null +++ b/research/gauge44-leaver8/construction/notri/cgx.py @@ -0,0 +1,469 @@ +# Round20 early-coordinate-center / own-Y variant, prepared for icekylinx +# with OpenAI Codex assistance. Apache-2.0. Scalar elementary-operation +# helpers below are retained from the attributed PR514 construct_partial.py. +# Adapted by OpenAI Codex for isolated structural research. +# Modified from PR425 by icekylinx with Codex assistance. +"""Full discovery word for Hamming packets with borrowed X and Y registers. + +This changes the scalar architecture. It is not accepted by the old restricted +gx interface: source bases may change until full-frame cleanup, and targets use +an explicitly inverted output basis. No supplier admission is asserted. +""" +import copy,gzip,json,math,time +import itertools as it +from collections import Counter,defaultdict +from fractions import Fraction as Q +from pathlib import Path + +import sys +INPUT=Path(sys.argv[1]);OUT=Path(sys.argv[2]);OUT.mkdir(parents=True,exist_ok=False);D=json.loads((INPUT/'PROTOTYPE.json').read_text()) +P=D['binary_ports'];R=D['root_lines'];v=120;h=9 +modules=json.load(gzip.open(INPUT/'PACKET-PROGRAMS.json.gz')) +# AtomScout: leaver-read K-triangles (schedule from atom1.py / rog.py CP-SAT) +TRI=json.loads(Path(sys.argv[3]).read_text()) +FULLT={(tuple(tr['p']),tr['e']) for tr in TRI['triangles']} +TRI_COORDS={t+8 for tr in TRI['triangles'] for t,_,_ in tr['reads']} +import os as _o +COPYL=json.loads(open(_o.environ['XPARAM']).read()).get('copyl',[]) if _o.environ.get('XPARAM') else [] +NH=504-3*len(FULLT)+len(COPYL) + +def basis(vectors): + b={} + for x in vectors: + for p in sorted(b,reverse=True): + if x>>p&1:x^=b[p] + if x: + p=x.bit_length()-1 + for q in b: + if b[q]>>p&1:b[q]^=x + b[p]=x + return tuple(b[p] for p in sorted(b,reverse=True)) +def inside(a,b):return basis(a+b)==b +def hyper(p):return basis([x for x in range(1,512) if (x&p).bit_count()%2==0]) +FULL=basis([1<=v,r)) + for col,s in enumerate(ids): + k=next(i for i in range(col,len(regs)) if rows[regs[i]].get(s,Q(0))) + swap(regs[k],regs[col],F) + scale(regs[col],1/rows[regs[col]][s],F) + for i in range(len(regs)): + if i!=col and rows[regs[i]].get(s,Q(0)):add(regs[i],regs[col],-rows[regs[i]][s],F) + assert all(rows[regs[i]]=={s:Q(1)} for i,s in enumerate(ids)) + M=[[Q(R[s][i]) for s in ids] for i in c] + def qr_rank(rs): + bs={} + for r in rs: + r=r.copy() + for i,b in sorted(bs.items()): + if r[i]:q=r[i];r=[x-q*y for x,y in zip(r,b)] + i=next((i for i,x in enumerate(r) if x),None) + if i is not None:q=r[i];bs[i]=[x/q for x in r] + return len(bs) + assert qr_rank(M)==4 + for rr0 in PRIO.get(",".join(map(str,c)),[])+PRIORITY[",".join(map(str,c))]["rows"]: + rr=list(map(Q,rr0)) + if qr_rank(M+[rr])>len(M):M.append(rr) + if len(M)==8:break + for i in range(8): + if len(M)==8:break + rr=[Q(i==j) for j in range(8)] + if qr_rank(M+[rr])>len(M):M.append(rr) + if len(M)==8:break + assert len(M)==8 + linear(regs,M,F) + for i,r in zip(c,regs): + assert rows[r]=={s:Q(R[s][i]) for s in ids} + block_totals[c,i]=r + +# All centers are complete while Y is still at zero. This is the crucial +# difference from an illegal early-own-Y prefix using the old center order. +centers=[] +for i in range(8): + regs=[block_totals[c,i] for c in sorted(blocks) if i in c] + F=hyper(P[frame[i]]);a=regs[0] + for b in regs[1:]:add(a,b,1,F) + centers.append(a) +centers += [frame[i] for i in range(8)] +center_frames=[cur[r] for r in centers] +assert list(map(len,center_frames))==[8]*8+[1]*8 +assert all(cur[v+t]==() for t in range(v)) + +phase=B +for t,(r,coef,F) in sorted(own_rows.items()): + if t in TRI_COORDS:continue + assert cur[r]==F + add(v+t,r,coef,F) +# requests are needed for TRI coefficients +requests=defaultdict(list) +for pid,pair in enumerate(pairs): + if not pair['selected']:continue + (t,u),(key1,key2),mat=pair['targets'],pair['keys'],pair['matrix'] + requests[key1].append((t,-Q(mat[0][0],2))) + requests[key2].append((u,-Q(mat[0][1],2))) +reqcoef={t:(key,coef) for key,reqs in requests.items() for t,coef in reqs} +def face_info(c,p,eps): + z=blocks[c];keys=[(pp,ee) for pp in it.combinations(c,2) for ee in (-1,1)] + r_local,alpha=z['outputs'][keys.index((p,eps))] + j=[j for j in range(40,len(z['events'])) if z['events'][j][0]==r_local];assert len(j)==1 + return j[0],Q(alpha) +tri_join_counts=Counter();TRILOG=[] +lcopy={} +for s8 in COPYL: + r=s8+8;c=len(cur);cur.append(());rows.append({});shadow.append(None);add(c,r,1,cur[r]);lcopy[r]=c +BF={c:basis([P[x] for x in z['receipt']['source_lines']]) for c,z in blocks.items()} +HYB={(tuple(map(int,h[0])),tuple(map(int,h[1])),int(h[2])) for h in XP.get('hyb',[])} +HYBLOG=[] +def triread(t,blk,r,q): + F=basis(cur[v+t]+cur[r]);assert inside(F,hyper(P[t])),('TRI frame',t,blk,r,cur[v+t],cur[r],hyper(P[t]),[x for x in TRILOG if x[2]==r],HYBLOG) + tri_join_counts[len(F)]+=1;add(v+t,r,q,F);TRILOG.append([t,list(blk),r,str(q),list(F),list(cur[r])]) +for tr in TRI['triangles']: + p,eps=tuple(tr['p']),tr['e'] + hb={blk for _,blk,_ in map(lambda x:(x[0],tuple(x[1]),x[2]),tr['reads']) if (blk,p,eps) in HYB} + own=[];rest=[] + for t8,blk,loc in tr['reads']: + t=t8+8;blk=tuple(blk);r=maps[blk][loc];r0=r;r=lcopy.get(r,r) + key,coef=reqcoef[t];assert key[1]==p and key[2]==eps,(key,p,eps) + if blk==key[0]: + rr,c0,F0=own_rows[t];assert rr==r0;own.append((t,blk,r,c0)) + else: + j,alpha=face_info(blk,p,eps);ev=blocks[blk]['events'][j];assert loc in ev[:2] + rest.append((t,blk,loc,r,coef*alpha)) + if not hb: + # original interleaved order + for t8,blk,loc in tr['reads']: + t=t8+8;blk=tuple(blk);r=maps[blk][loc];key,coef=reqcoef[t] + if blk==key[0]:q=own_rows[t][1] + else:j,alpha=face_info(blk,p,eps);q=coef*alpha + triread(t,blk,r,q) + continue + items=[] # (kind, t, reg, q, blk) + for t,blk,r,q in own:items.append(('r',t,r,q,blk,blk in hb)) + for blk in sorted(hb):items.append(('e',None,None,None,blk,True)) + done=set() + for t,blk,loc,r,q in rest: + if blk in hb: + j,_=face_info(blk,p,eps);ev=blocks[blk]['events'][j] + ws=[x for x in rest if x[0]==t and x[1]==blk];assert len(ws)==2 and ws[0][4]==ws[1][4] and {ws[0][2],ws[1][2]}==set(ev[:2]) + if (t,blk) in done:continue + done.add((t,blk));items.append(('m',t,maps[blk][ev[0]],q,blk,True)) + else:items.append(('r',t,r,q,blk,False)) + # Original read order with the two half reads collapsed into one M read at the first half's slot; the face event goes + # just before the first M read of its block; own reads of the M register are hoisted ahead of that event. + def evinfo(blk): + j,_=face_info(blk,p,eps);ev=blocks[blk]['events'][j];assert ev[2]==ev[3]==1,ev + mpb=maps[blk];return mpb[ev[0]],mpb[ev[1]],tuple(blocks[blk]['event_frames'][j]) + items=[] + seen=set() + for t8,blk,loc in tr['reads']: + t=t8+8;blk=tuple(blk);r=maps[blk][loc];key,coef=reqcoef[t] + if blk==key[0]:items.append(('r',t,r,own_rows[t][1],blk,blk in hb)) + else: + j,alpha=face_info(blk,p,eps);q=coef*alpha + if blk in hb: + if (t,blk) not in seen:seen.add((t,blk));continue + items.append(('m',t,evinfo(blk)[0],q,blk,True)) + else:items.append(('r',t,r,q,blk,False)) + for blk in sorted(hb): + k0=min(i for i,x in enumerate(items) if x[0]=='m' and x[4]==blk) + items.insert(k0,('e',None,None,None,blk,True)) + n=len(items) + def step(it,st): + k,t,r,q,blk,h=it;g=lambda x:st.get(x,cur[x]) + if k=='e': + a_,b_,EF=evinfo(blk);FF=basis(list(EF)+list(g(a_))+list(g(b_))) + return {a_:FF,b_:FF} if inside(FF,BF[blk]) else None + F=basis(list(g(v+t))+list(g(r))) + if not inside(F,hyper(P[t])):return None + if h and k=='r' and r==evinfo(blk)[1] and not inside(F,BF[blk]):return None + return {v+t:F,r:F} + def allowed(i,used): + k,t,r,q,blk,h=items[i] + evi=[j for j,x in enumerate(items) if x[0]=='e' and x[4]==blk] if h else [] + if k=='e':return all(j in used for j,x in enumerate(items) if x[0]=='r' and x[4]==blk and x[5] and x[2]==evinfo(blk)[0]) + if k=='m':return evi[0] in used + if k=='r' and h and r==evinfo(blk)[0]:return evi[0] not in used + return True + budget=[int(os.environ.get('HYBBUDGET','300000'))];memo=set() + def dfs(st,used,order): + if len(order)==n:return order + budget[0]-=1 + if budget[0]<0:return None + sig=(used,tuple(sorted(st.items()))) + if sig in memo:return None + memo.add(sig) + for i in range(n): + if i in used or not allowed(i,used):continue + d=step(items[i],st) + if d is None:continue + ns=dict(st);ns.update(d);res=dfs(ns,used|{i},order+[i]) + if res:return res + return None + import sys as _s;_s.setrecursionlimit(20000) + order=dfs({},frozenset(),[]) + assert order,('no feasible hybrid order',p,eps,sorted(hb),budget) + for i in order: + k,t,r,q,blk,h=items[i] + if k=='e': + a_,b_,EF=evinfo(blk);FF=basis(list(EF)+list(cur[a_])+list(cur[b_]));add(a_,b_,1,FF);HYBLOG.append([list(blk),list(p),eps,list(FF)]) + else:triread(t,blk,r,q) + +packets={} +for c,z in sorted(blocks.items()): + mp=maps[c] + keys=[(p,eps) for p in it.combinations(c,2) for eps in (-1,1)] + skipev={face_info(c,p,eps)[0] for p,eps in keys if (p,eps) in FULLT} + for j,(e,F) in enumerate(list(zip(z['events'],z['event_frames']))[40:]): + if j not in early[c] and 40+j not in skipev: + t,s,a,b=e;add(mp[t],mp[s],Q(a,b),tuple(F)) + for key,(r,alpha) in zip(keys,z['outputs']): + if tuple(key) in FULLT:skip();continue + a=mp[r];b=alloc();add(b,a,1,cur[a]) + consumers=sorted(d for d in blocks if d!=c and set(key[0])<=set(d)) + assert len(consumers)==2 + for target,r in zip(consumers,(a,b)):packets[c,key[0],key[1],target]=(r,Q(alpha)) + +# Both tetrahedra use the same partition. A selected key has exactly two +# selected Y loads and no ordinary M consumer. Supply its two raw halves in +# opposite orders and never form that M. Other keys retain the old M path. +second=[];first_join_counts=Counter() +for key,reqs in sorted(requests.items()): + assert len(reqs)==2 + c,p,eps=key + if (p,eps) in FULLT:continue + ds=sorted(d for d in blocks if d!=c and set(p)<=set(d));a,b=ds + for j,(target,coef) in enumerate(sorted(reqs)): + first_source,second_source=(a,b) if j==0 else (b,a) + r,alpha=packets[first_source,p,eps,second_source] + F=basis(cur[v+target]+cur[r]);assert inside(F,hyper(P[target])) + first_join_counts[len(F)]+=1;add(v+target,r,coef*alpha,F) + r,alpha=packets[second_source,p,eps,c] + second.append((target,r,coef*alpha)) + +Ms={} +for c in sorted(blocks): + for p in it.combinations(c,2): + ds=sorted(d for d in blocks if d!=c and set(p)<=set(d)) + for eps in (-1,1): + if (c,p,eps) in requests:continue + (a,alpha),(b,beta)=[packets[d,p,eps,c] for d in ds] + F=basis(cur[a]+cur[b]);add(a,b,beta/alpha,F) + Ms[c,p,eps]=(a,alpha) + +consumers=defaultdict(list) +for pid,pair in enumerate(pairs): + for key in pair['keys']:consumers[key].append(pid) +slots={} +for key,uses in sorted(consumers.items()): + assert len(uses)==2 + if key in requests: + assert all(pairs[i]['selected'] for i in uses) + continue + assert all(not pairs[i]['selected'] for i in uses) + a,alpha=Ms[key] + for j,pid in enumerate(uses): + if j==0:r=a + else:r=alloc();add(r,a,1,cur[a]) + slots[pid,key]=(r,alpha) +assert len(cur)-240==NH,len(cur)-240 + +selected_join_counts=Counter() +for target,r,coef in second: + F=basis(cur[v+target]+cur[r]);assert inside(F,hyper(P[target])) + selected_join_counts[len(F)]+=1;add(v+target,r,coef,F) +output_basis=[] +for pair in pairs: + if not pair['selected']:continue + (t,u),mat=pair['targets'],pair['matrix'] + F=basis(cur[v+t]+cur[v+u]);assert inside(F,hyper(P[t])) and inside(F,hyper(P[u])) + add(v+t,v+u,1,F);add(v+u,v+t,-Q(1,2),F) + z=-Q(2*mat[1][0],mat[0][0]);scale(v+u,z,F);output_basis.append((t,u,z)) + +for pid,pair in enumerate(pairs): + if pair['selected']:continue + (t,u),(key1,key2),mat=pair['targets'],pair['keys'],pair['matrix'] + (a,alpha),(b,beta)=slots[pid,key1],slots[pid,key2] + F=basis(cur[a]+cur[b]);aa,ab=Q(mat[0][0])*alpha,Q(mat[0][1])*beta + ba,bb=Q(mat[1][0])*alpha,Q(mat[1][1])*beta + add(a,b,ab/aa,F);q=ba/(bb-ba*ab/aa);add(b,a,q,F) + add(v+t,a,-aa/2,hyper(P[t]));add(v+u,b,-(bb-ba*ab/aa)/2,hyper(P[u])) + +for t in range(v): + expected={s:-Q(G[t][s],2) for s in range(v) if s!=t and G[t][s] and s not in frame.values()} if t not in frame.values() else {} + assert rows[v+t]==expected,('side identity',t) + +scatter=[[Q(r[i],4) if t not in frame.values() else Q(0) for i in range(8)]+[Q(t==frame[i]) for i in range(8)] for t,r in enumerate(R)] +precondition=[] +for t,u,z in output_basis: + a,b=scatter[t].copy(),scatter[u].copy() + scatter[t]=[x/2-y/z for x,y in zip(a,b)] + scatter[u]=[x/2+y/z for x,y in zip(a,b)] + precondition.extend([['scale',v+u,(1/z).numerator,(1/z).denominator,[]], + ['add',v+u,v+t,1,2,[]],['add',v+t,v+u,-1,1,[]]]) +for r in range(len(cur)):climb(r,hyper(P[r-v]) if v<=r<2*v else FULL) +H[8]+=8;H[1]+=8 +assert sum(r*z for r,z in H.items())==9*NH+240*8+72,sum(r*z for r,z in H.items()) + +def apply(e,matrix): + if e[0]=='add': + _,t,s,a,b,*_=e;q=Q(a,b) + for j,x in list(matrix[s].items()): + z=matrix[t].get(j,Q(0))+q*x + if z:matrix[t][j]=z + else:matrix[t].pop(j,None) + else: + _,t,a,b,*_=e;q=Q(a,b);matrix[t]={j:q*x for j,x in matrix[t].items()} +def inverse(e): + e=copy.deepcopy(e) + if e[0]=='add':e[3]*=-1 + else:e[2],e[3]=e[3],e[2] + e[-1]=list(FULL);return e +cut=[['add',v+t,centers[i],q.numerator,q.denominator,None] for t,row in enumerate(scatter) for i,q in enumerate(row) if q] +cleanup=[inverse(e) for e in reversed(A+B) if not v<=e[1]<2*v] +matrix=[{r:Q(1)} if r>k&1:a^=d[k] + if a: + k=a.bit_length()-1 + for j in d: + if d[j]>>k&1:d[j]^=a + d[k]=a + return tuple(d[k] for k in sorted(d,reverse=True)) +def inside(a,b):return basis(a+b)==b +def regs(e):return e[1:3] if e[0]=='add' else e[1:2] +def inverse(e): + e=copy.deepcopy(e) + if e[0]=='add':e[3]=-e[3] + else:e[2],e[3]=e[3],e[2] + return e +def apply(e,M,mapping=None): + t=mapping[e[1]] if mapping is not None else e[1] + if e[0]=='add': + s=mapping[e[2]] if mapping is not None else e[2];q=Q(e[3],e[4]) + for j,a in M[s].items(): + x=M[t].get(j,Q(0))+q*a + if x:M[t][j]=x + else:M[t].pop(j,None) + else: + q=Q(e[2],e[3]);M[t]={j:q*a for j,a in M[t].items()} +def rref(A): + a=[list(map(Q,row)) for row in A];nr=len(a);nc=len(a[0]) if nr else 0;row=0;piv=[] + for c in range(nc): + k=next((i for i in range(row,nr) if a[i][c]),None) + if k is None:continue + a[row],a[k]=a[k],a[row];q=a[row][c];a[row]=[x/q for x in a[row]] + for i in range(nr): + if i!=row and a[i][c]:q=a[i][c];a[i]=[x-q*y for x,y in zip(a[i],a[row])] + piv.append(c);row+=1 + if row==nr:break + return a,piv +def rank(A):return len(rref(A)[1]) +def null(A,nc=None): + if A:a,piv=rref(A);nc=len(a[0]) + else:a=[];piv=[];assert nc is not None + free=[j for j in range(nc) if j not in piv];out=[[Q(0) for j in free] for i in range(nc)] + for k,c in enumerate(free):out[c][k]=Q(1) + for i,c in enumerate(piv): + for k,j in enumerate(free):out[c][k]=-a[i][j] + return out +def mm(A,B): + if not A:return [] + if not B:return [[] for row in A] + bt=list(zip(*B));return [[sum((a*b for a,b in zip(row,col)),Q(0)) for col in bt] for row in A] +def tr(A):return list(map(list,zip(*A))) +def inv(A): + n0=len(A);a,p=rref([row+[Q(i==j) for j in range(n0)] for i,row in enumerate(A)]) + assert p[:n0]==list(range(n0)) + return [row[n0:] for row in a] +def unit(q): + if not q:return False + a=abs(q.numerator);b=q.denominator + return not a&(a-1) and not b&(b-1) +def dyadic(q):return not q.denominator&(q.denominator-1) +def opadd(t,s,q,F):return ['add',t,s,q.numerator,q.denominator,list(F)] +def opscale(t,q,F):return ['scale',t,q.numerator,q.denominator,list(F)] +def eliminate(M,ids,F,skip=()): + """Return legal dyadic row operations taking an invertible sparse matrix to I.""" + skip=set(skip);ops=[];dim=len(M) + def add(i,j,q): + if q: + assert dyadic(q);e=opadd(ids[i],ids[j],q,F);ops.append(e) + for c,x in M[j].items(): + z=M[i].get(c,Q(0))+q*x + if z:M[i][c]=z + else:M[i].pop(c,None) + def scale(i,q): + if q!=1: + assert unit(q);ops.append(opscale(ids[i],q,F));M[i]={c:q*x for c,x in M[i].items()} + def swap(i,j): + if i!=j: + add(i,j,Q(1));add(j,i,Q(-1));add(i,j,Q(1));scale(j,Q(-1)) + for c in range(dim): + if c in skip: + assert M[c]=={c:Q(1)} and all(not M[i].get(c) for i in range(dim) if i!=c) + continue + cand=[i for i in range(c,dim) if i not in skip and M[i].get(c)] + k=next((i for i in cand if unit(M[i][c])),None) + if k is None: + # Elementary Euclidean row additions reduce the pivot-column numerator gcd. + assert cand,('singular',c) + while k is None: + cand.sort(key=lambda i:abs(M[i][c]));a=cand[0] + b=next((i for i in cand[1:] if M[i][c]),None) + if b is None:raise ValueError(('non-dyadic determinant pivot',c,M[a][c])) + rat=M[b][c]/M[a][c];q=rat.numerator//rat.denominator + if q==0:q=1 if rat>0 else -1 + add(b,a,Q(-q));cand=[i for i in cand if M[i].get(c)] + k=next((i for i in cand if unit(M[i][c])),None) + swap(c,k);scale(c,1/M[c][c]) + for i in range(dim): + if i!=c and M[i].get(c): + assert i not in skip + add(i,c,-M[i][c]) + assert all(row=={i:Q(1)} for i,row in enumerate(M)) + return ops +def realize(A,ids,F): + M=[{j:Q(x) for j,x in enumerate(row) if x} for row in A] + return [inverse(e) for e in reversed(eliminate(M,ids,F))] +# Reconstruct the actual non-target map after the inherited HPE tail. +inherited_tail=[w['cleanup'][i][:-1]+[list(f)] for i,f in w.get('early_cleanup',[])] +mainN=[e for e in w['A']+w['B'] if not v<=e[1]<2*v] +M=[{i:Q(1)} for i in range(len(N))] +for e in mainN+inherited_tail:apply(e,M,ix) +MI=[{i:Q(1)} for i in range(len(N))] +for e in reversed(mainN+inherited_tail):apply(inverse(e),MI,ix) +cur={x:(w['ports'][x],) if xlen(ih):ih.append(j) + if len(ih)==r:break + assert len(ih)==r + endhs=[N[I[j]] for j in ih];endhidx=[hs.index(h) for h in endhs] + kerR=null(RR,NB);Qmat=[[Q(0) for j in range(NB)] for i in range(NB)] + for j,hj in enumerate(endhidx): + for i in range(NB):Qmat[i][hj]=qH[i][j] + other=[j for j in range(NB) if j not in endhidx] + for k,j in enumerate(other): + for i in range(NB):Qmat[i][j]=kerR[i][k] + assert rank(Qmat)==NB + pops=realize(Qmat,hs,());premix+=pops + T=[[Q(i==j)-sum((U[i][k]*L[k][j] for k in range(r)),Q(0)) for j in range(len(I))] for i in range(len(I))] + for k,i in enumerate(ih):T[i]=L[k] + tops=realize(T,[N[i] for i in I],F);tail+=tops + # Right-compose this initial helper premix; other blocks have disjoint H sets. + for row in Mafter: + vals=[row.get(h,Q(0)) for h in H] + if any(vals): + for hj in H:row.pop(hj,None) + for j,hj in enumerate(H): + z=sum((vals[i]*Qmat[i][j] for i in range(NB)),Q(0)) + if z:row[hj]=z + for e in tops:apply(e,Mafter,ix) + ends.update({h:list(F) for h in endhs}) + plans.append(dict(block=b,frame=list(F),registers=[N[i] for i in I],ends=endhs,pairing_rank=r,premix_gates=len(pops),tail_gates=len(tops),Q=[[str(x) for x in row] for row in Qmat],T=[[str(x) for x in row] for row in T])) + print('BLOCK',b,'ends',endhs,'Qops',len(pops),'Tops',len(tops),flush=True) +# Check actual post-tail isolation before constructing the high-frame inverse. +allends=set(ends)|set(map(int,w.get('helper_final',{}))) +for h in allends: + j=ix[h];assert Mafter[j]=={j:Q(1)},('row not isolated',h,Mafter[j]);assert all(not row.get(j) for i,row in enumerate(Mafter) if i!=j),('column not isolated',h) +print('EXACT_ISOLATED',len(ends),'new;',len(allends),'total',round(time.monotonic()-t0,3),flush=True) +fullops=eliminate(copy.deepcopy(Mafter),N,F9,[ix[x] for x in allends]) +print('FULL_INVERSE',len(fullops),round(time.monotonic()-t0,3),flush=True) +# Cancel new cold-axis target responses inside A, after their wrappers. +Dirt=[({h:Q(1)} if h in ends else {}) for h in range(n)] +for e in premix+w['A']+w['cut']+w['B']:apply(e,Dirt) +for e in w['precondition']:apply(e,Dirt) +postcomp=[opadd(y,h,-a,()) for y in range(v,2*v) for h,a in sorted(Dirt[y].items()) if a] +assert all(h in ends for e in postcomp for h in [e[2]]) +new=copy.deepcopy(w);new['A']=postcomp+premix+w['A'];new['cleanup']=inherited_tail+tail+fullops +new['early_cleanup']=[[i,e[-1]] for i,e in enumerate(inherited_tail+tail)] +new['helper_final'].update({str(h):f for h,f in ends.items()}) +new['refactored_cleanup']={'kind':'source_branch_gauge_and_retired_completion_cold44','new_cold_ends':len(ends),'exact_non_target_isolation_checked':True,'high_inverse':'dyadic_sparse_Gauss_Jordan'} +# Derive paid profile by subtracting and adding literal frame-chain counts. +spec=importlib.util.spec_from_file_location('upstream_cold_end',args.upstream_package/'code/build_cold_end.py') +profile_module=importlib.util.module_from_spec(spec);spec.loader.exec_module(profile_module) +oldprof,_=profile_module.chain_profile(w);newprof,_=profile_module.chain_profile(new) +prof=Counter({int(k):z for k,z in w['report']['local_profile'].items()});prof.subtract(oldprof);prof.update(newprof) +widths=Counter(len(basis(new['helper_final'].get(str(h),F9)))-len(basis(new.get('start_extra',{}).get(str(h),[]))) for h in range(224,n)) +new['report'].update(local_profile={str(k):z for k,z in sorted(prof.items()) if z},local_rank_mass=sum(k*z for k,z in prof.items()),width_inventory={str(k):z for k,z in sorted(widths.items()) if z},status='EXACT_COLD44_CONSTRUCTED_PENDING_INDEPENDENT_AUDIT') +raw=json.dumps(new,sort_keys=True,separators=(',',':')).encode();sha=hashlib.sha256(raw).hexdigest();(OUT/'FULL-WORD.json.gz').write_bytes(gzip.compress(raw,mtime=0)) +recipe={'premix':postcomp+premix,'cleanup':new['cleanup'],'early_cleanup':new['early_cleanup'],'cold_ends':{str(h):f for h,f in ends.items()},'refactored_cleanup':new['refactored_cleanup'],'output_content_sha256':sha} +(OUT/'RECIPE.json.gz').write_bytes(gzip.compress(json.dumps(recipe,sort_keys=True,separators=(',',':')).encode(),mtime=0)) +receipt=dict(input_content_sha256=hashlib.sha256(gzip.decompress(WPATH.read_bytes())).hexdigest(),output_content_sha256=sha,blocks=plans,new_cold_ends=len(ends),all_low_ended_helpers=len(allends),premix_gates=len(premix),postwrapper_compensation_gates=len(postcomp),tail_gates=len(tail),inherited_tail_gates=len(inherited_tail),full_inverse_gates=len(fullops),profile=new['report']['local_profile'],width_inventory=new['report']['width_inventory'],rank_mass=new['report']['local_rank_mass'],seconds=time.monotonic()-t0) +(OUT/'CONSTRUCTION.json').write_text(json.dumps(receipt,indent=2)+'\n') +print(json.dumps({k:z for k,z in receipt.items() if k!='blocks'},indent=2),flush=True) diff --git a/research/gauge44-leaver8/construction/notri/port_stage_x.py b/research/gauge44-leaver8/construction/notri/port_stage_x.py new file mode 100644 index 0000000000..81ac65ceff --- /dev/null +++ b/research/gauge44-leaver8/construction/notri/port_stage_x.py @@ -0,0 +1,125 @@ +"""Port one 504-helper construction stage onto the K-triangle word. Apache-2.0. Prepared with Claude Code assistance. + +usage: build_port_stage.py --shadow-input I4 --shadow-output O4 --input I8 --map HELPER-MAP.json --gk-dir GK --out DIR + +The shadow pair (I4 -> O4) is one stage of a 504-helper chain, rebuilt in the same run from pinned sources. I8 is the +K-triangle word at the matching point of its own chain, and HELPER-MAP.json is the 504 -> R register map written by +construct_k_triangle.py. Registers below 448 keep their ids; the removed packet copies have no image. + +The port does the following: +* It renumbers I4 and O4 through the map and drops their gates that touch a removed register. +* It matches gates by scalar operation (the gate without its frame), aligning I4 with O4 and I4 with I8 separately. +* It builds O8 in O4 gate order: + * each matched gate is taken from I8, with O4's frame wherever the stage changed that frame; + * each gate the stage introduced is taken from O4; + * each I8-only gate (the K-triangle reads) stays after the O4 image of its I8 predecessor. +* It replays the stage's entrance (start_extra) and target_levels changes. +* It rebuilds the cleanup with the inherited inverse rule. + +The constructor is a search transfer only. The verifier certifies the output independently: the generalised native +audit (exact forward and inverse replay of every column, native frame chains) runs on every ported word, and every +input and output is pinned by content hash.""" +import argparse, copy, difflib, gzip, hashlib, json, sys +from collections import Counter +from pathlib import Path + +assert __debug__, 'Assertions required' +FULL = [256, 128, 64, 32, 16, 8, 4, 2, 1] + + +def regs(g): return (g[1], g[2]) if g[0] == 'add' else (g[1],) + + +def key(g): return json.dumps(g[:-1]) + + +def inverse(e): + e = copy.deepcopy(e) + if e[0] == 'add': e[3] *= -1 + else: e[2], e[3] = e[3], e[2] + e[-1] = list(FULL); return e + + +def align(xs, ys): + """index map xs -> ys over runs of equal scalar operations""" + sm = difflib.SequenceMatcher(None, [key(g) for g in xs], [key(g) for g in ys], autojunk=False) + return {i1 + k: j1 + k for tag, i1, i2, j1, j2 in sm.get_opcodes() if tag == 'equal' for k in range(i2 - i1)} + + +def transfer_section(I4, O4, I8, stats): + a, b = align(I4, O4), align(I4, I8) + o2i = {j: i for i, j in a.items()}; i8from4 = {j: i for i, j in b.items()} + anchor = {j8: a[i4] for j8, i4 in i8from4.items() if i4 in a} + pending, last = {}, -1 + for j8, g in enumerate(I8): + if j8 in anchor: last = anchor[j8] + elif j8 not in i8from4: pending.setdefault(last, []).append(copy.deepcopy(g)); stats['kept_own'] += 1 + else: stats['dropped_by_stage'] += 1 + out = list(pending.get(-1, [])) + for k, g in enumerate(O4): + if k in o2i: + i4 = o2i[k] + if i4 in b: + g8 = copy.deepcopy(I8[b[i4]]) + if I4[i4][-1] != g[-1]: g8[-1] = copy.deepcopy(g[-1]); stats['frames_changed'] += 1 + out.append(g8) + else: + out.append(copy.deepcopy(g)); stats['introduced'] += 1 + out.extend(pending.get(k, [])) + return out + + +def main(): + ap = argparse.ArgumentParser() + for k in ('--shadow-input', '--shadow-output', '--input', '--map', '--gk-dir', '--out'): ap.add_argument(k, type=Path, required=True) + a = ap.parse_args(); assert not a.out.exists() + sys.path.insert(0, str(a.gk_dir)); import gk_word as G, gk_common as C + G.V = C.V = 112 + rd = lambda p: json.loads(gzip.decompress(p.read_bytes())) + enc = lambda x: json.dumps(x, sort_keys=True, separators=(',', ':')).encode(); sha = lambda x: hashlib.sha256(x).hexdigest() + I4, O4, I8 = rd(a.shadow_input), rd(a.shadow_output), rd(a.input) + fm = {int(k): int(v) for k, v in json.loads(a.map.read_text())['map'].items()} + assert all(fm[k] == k for k in fm if k < 448), 'only ids >= 448 may move' + R = I8['report']['R']; EXTRA = set(range(224 + R)) - set(fm.values()); assert len(set(fm.values())) == len(fm) and set(fm.values()) <= set(range(224 + R)), 'map is not injective into the K-triangle registers' + assert I4['report'].get('R', 504) == 504 and len(fm) + len(set(range(728)) - set(fm)) == 728 + rem = set(range(728)) - set(fm) + rn = lambda r: fm[r] + touches = lambda g: any(r in rem for r in regs(g)) + def rg(g): + g = copy.deepcopy(g); g[1] = rn(g[1]) + if g[0] == 'add': g[2] = rn(g[2]) + return g + def rn_word(w): + w = copy.deepcopy(w) + for s in ('A', 'B', 'cut', 'precondition', 'cleanup'): + if s in w: w[s] = [rg(g) for g in w[s] if not touches(g)] + for k in ('start_extra', 'helper_final'): + if k in w: w[k] = {str(rn(int(r))): f for r, f in w[k].items() if int(r) not in rem} + return w + I4r, O4r = rn_word(I4), rn_word(O4) + O8 = copy.deepcopy(I8); stats = {s: Counter() for s in ('A', 'B')} + for s in ('A', 'B'): O8[s] = transfer_section(I4r[s], O4r[s], I8[s], stats[s]) + for k in ('start_extra', 'target_levels'): + x, y = I4r.get(k, {}), O4r.get(k, {}); d = dict(I8.get(k, {})) + for r in set(x) | set(y): + if x.get(r) != y.get(r): + if r in y: d[r] = y[r] + else: d.pop(r, None) + if k in O4 or k in I8: O8[k] = dict(sorted(d.items(), key=lambda kv: int(kv[0]))) + for k in O4: + if k not in ('A', 'B', 'cleanup', 'report', 'start_extra', 'target_levels', 'cut', 'precondition'): + assert O4r[k] == I4r[k], 'stage changed an unported field: ' + k + O8['cleanup'] = [inverse(e) for e in reversed(O8['A'] + O8['B']) if not 112 <= e[1] < 224] + H = G.profile(O8) + ws = [9 - len(G.basis(O8['start_extra'].get(str(224 + h), []))) for h in range(R)] + O8['report'] = dict(I8['report'], local_profile={str(k): v for k, v in sorted(H.items())}, local_rank_mass=sum(k * v for k, v in H.items()), + width_inventory={str(k): v for k, v in sorted(Counter(ws).items())}) + a.out.mkdir(parents=True); (a.out / 'FULL-WORD.json.gz').write_bytes(gzip.compress(enc(O8), mtime=0)) + receipt = dict(status='PORTED_STAGE_PENDING_NATIVE_AUDIT', R=R, removed_504_helpers=sorted(rem), + shadow_input_content_sha256=sha(enc(I4)), shadow_output_content_sha256=sha(enc(O4)), input_content_sha256=sha(enc(I8)), + output_content_sha256=sha(enc(O8)), sections={s: dict(v) for s, v in stats.items()}, local_profile=O8['report']['local_profile'], + scope='Transfer construction only; exactness, frame chains and profile are certified by the native audit run on the output.') + (a.out / 'PORT-STAGE.json').write_text(json.dumps(receipt, indent=2, sort_keys=True) + '\n', newline='\n'); print(json.dumps(receipt, indent=2)) + + +main() diff --git a/research/gauge44-leaver8/construction/notri/reproduce_notri.py b/research/gauge44-leaver8/construction/notri/reproduce_notri.py new file mode 100644 index 0000000000..a85f2acf15 --- /dev/null +++ b/research/gauge44-leaver8/construction/notri/reproduce_notri.py @@ -0,0 +1,166 @@ +#!/usr/bin/env python3 +"""Rebuild the no-triangle gauge44 word (R = 504) and its native locals. + +The no-triangle word is #645's gauge44 chain with none of the four (p,-1) K-triangles. In the six K-blocks +{0,1,2,11,12,13}, the completion priority is extended by the 6-row list PRIO6.json, the list blocks 3-10 already use. +Each block then pairs at rank 4, giving 56 rank-four cold ends instead of 44 (PartialK). + +Input: a fresh `construction/reproduce.py --until word` output directory. Its shadow-early and shadow-prefix words and +its hamming inputs are pinned by reproduce.py itself. Steps, each checked exactly: + 1. gauge-forward: cgx.py, #645's construct_gauge_xcentre.py generalised by PartialK. The extra rows come from XPARAM, + and the K-triangle schedule comes from the TRI file. Run on the triangle set {} with XPARAM = PRIO6.json. + 2. port0-3: port_stage_x.py, PR635's build_port_stage.py with the helper map allowed to be injective rather than onto. + With R = 504 and no triangles, the map is onto again. + 3. regroup: PR635's k492 frame-regroup changes, applied where their `before` gate occurs. For this word none occurs, + and that count (0) is pinned. + 4. hpe: PR635's build_hpe.candidates, taken greedily with disjoint registers, and build_hpe.apply. 46 changes, pinned. + 5. cold44: cold44x.py, #645's build_gauge_cold44.py generalised by PartialK to blocks whose helper list includes the + helpers outside the 224+16b ranges (EXTRAH). 56 cold ends; the 14 pairing ranks are pinned to [4]*14 inside cold44x (PAIRING_RANKS) and rechecked here. The output word content sha256 is pinned (3e99ba77...). + 6. native, ledgers, local-replay, wrappers, phases: PR635's native local programs, as in reproduce.py. +--control-g44 instead runs steps 1-5 with #645's four triangles and no XPARAM. It must reproduce #645's pinned gauge44 +cold44 word (78c7aada...), the same word #645's own reproduce.py builds. This shows the generalised scripts reduce to +#645's constructors. +Apache-2.0. Driver by ColdWitness from PartialK's variant.py; constructors credited above. +""" +import argparse, gzip, hashlib, importlib.util, json, os, subprocess, sys, time +from pathlib import Path + +HERE = Path(__file__).resolve().parent +NOTRI_SHA = '3e99ba778ab8a97853f50912776247802b529439937176363f6c42786163b1f9' +G44_SHA = '78c7aadacb6eec2eeecc124ca236e5bcfdba6a52b30c2971aaa596d1d119b290' +# native-local pins (the strict locals the SPEC was frozen against: PartialK runs/none_p6/local) +CANONICAL_SHA = '4265a3bb7f9b46967dfadfca5f2cc1f5b3e6e8681f16c02590f1b9430c013637' +PROGRAM_SHA = {'forward': '0afda28699e15cf5a5a17aee5475ac608c9fb68b15766d463b93ec8e2df4ae85', + 'backward': '5be6cb4ea7a1da36d7bbe7eb2392873c058dd3cbb3cc2eeadd55ecca9310ca8a'} +CLIFFORD_SHA = '4b5789e43e04d71f02c2d480450ec0b354007d9cf523bda76c7345730806344b' + + +def read(p): + raw = Path(p).read_bytes() + return json.loads(gzip.decompress(raw) if str(p).endswith('.gz') else raw) + + +def enc(x): return json.dumps(x, sort_keys=True, separators=(',', ':')).encode() + + +def dump(p, v): + p.parent.mkdir(parents=True, exist_ok=True); p.write_bytes(gzip.compress(enc(v), mtime=0)) + + +def load(name, path): + s = importlib.util.spec_from_file_location(name, path); m = importlib.util.module_from_spec(s); s.loader.exec_module(m); return m + + +def main(): + assert __debug__, 'Assertions are required' + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--main', type=Path, required=True) + ap.add_argument('--pr635', type=Path, required=True) + ap.add_argument('--word-dir', type=Path, required=True, help='construction/reproduce.py --until word output') + ap.add_argument('--out', type=Path, required=True) + ap.add_argument('--control-g44', action='store_true', help='rebuild #645 gauge44 (4 triangles) instead; word only') + ap.add_argument('--skip-phases', action='store_true') + ap.add_argument('--word-only', action='store_true', help='stop after the pinned scalar word (input to construction/layers_np)') + a = ap.parse_args() + out = a.out.resolve(); assert not out.exists(); out.mkdir(parents=True) + up = a.pr635.resolve() / 'research/complex-571-cold14-st2' + src = a.main.resolve() / 'research/complex-k492-owner-repair/vendor/multicold' + base = src / 'vendor/pr558'; parent = base / 'vendor/pr552'; gk = parent / 'complex-local/static44/gk' + structural = a.main.resolve() / 'research/structural-gain/frontier-composition' + wd = a.word_dir.resolve() + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONUTF8='1', PYTHONINTMAXSTRDIGITS='0', + MULTICOLD_SOURCE=str(src), GAIN_PR564_SOURCE=str(src)) + for k in ('PYTHONOPTIMIZE', 'XPARAM', 'EXTRAH', 'PAIRING_RANKS', 'DIAG', 'HYBBUDGET'): env.pop(k, None) + steps = [] + + def run(label, script, *args): + t = time.monotonic() + with (out / (label + '.log')).open('w') as f: + rc = subprocess.call([sys.executable, '-B', str(src / 'code/run_portable.py'), str(script), *map(str, args)], + env=env, stdout=f, stderr=subprocess.STDOUT) + steps.append(dict(step=label, exit_code=rc, seconds=round(time.monotonic() - t, 3))) + (out / 'STEPS.json').write_text(json.dumps(steps, indent=2) + '\n') + assert rc == 0, label + print('PASS', label, flush=True) + + # 1. gauge-forward on the chosen K-triangle set + tri = read(up / 'data/TRI-SCHEDULE.json') + if not a.control_g44: + tri = dict(full_pairs=tri['full_pairs'], triangles=[]) + env['XPARAM'] = str(HERE / 'PRIO6.json') + (out / 'TRI.json').write_text(json.dumps(tri)) + raw = out / 'raw' + run('gauge-forward', HERE / 'cgx.py', wd / 'hamming', raw, out / 'TRI.json') + word = raw / 'FULL-WORD.json.gz' + # 2. port stages (same chain as reproduce.py) + chain = [parent / 'complex-local/static44/inputs/RAW504.json.gz', structural / 'global-replay/base/split-centres/FULL-WORD.json.gz', + wd / 'shadow-early/FULL-WORD.json.gz', structural / 'multicold-eight-word/FULL-WORD.json.gz', + wd / 'shadow-prefix/FULL-WORD.json.gz'] + for i, (b, c) in enumerate(zip(chain, chain[1:])): + t = out / ('port%d' % i) + run('port%d' % i, HERE / 'port_stage_x.py', '--shadow-input', b, '--shadow-output', c, '--input', word, + '--map', raw / 'HELPER-MAP.json', '--gk-dir', gk, '--out', t) + word = t / 'FULL-WORD.json.gz' + # 3. PR635 frame regroup where its `before` gate occurs + w = read(word); rg = {json.dumps(c['before']): c['after'] for c in read(up / 'data/recipes/k492-jp8-frame_regroup.json')['changes']} + n = 0 + for part in ('A', 'B'): + for i, e in enumerate(w[part]): + k = json.dumps(e) + if k in rg: w[part][i] = rg[k]; n += 1 + sys.path.insert(0, str(gk)); import gk_word as GW, gk_common as GC + GW.V = GC.V = 112; GW.DATA = GC.DATA = 7168 + H = GW.profile(w) + w['report'].update(local_profile={str(k): z for k, z in sorted(H.items()) if z}, local_rank_mass=sum(r * z for r, z in H.items())) + assert n == (24 if a.control_g44 else 0), ('regroup count', n) + dump(out / 'regroup/FULL-WORD.json.gz', w) + # 4. HPE: PR635's candidates, greedy with disjoint registers + h = load('upstream_hpe', up / 'code/build_hpe.py') + used, ch = set(), [] + for c in h.candidates(w): + rs = set(h.regs(w['cleanup'][c['cleanup_index']])) + if rs & used: continue + used |= rs; ch.append(c) + assert len(ch) == (34 if a.control_g44 else 46), ('hpe count', len(ch)) + (out / 'HPE-RECIPE.json').write_text(json.dumps(dict(changes=ch))) + w = h.apply(w, ch); dump(out / 'hpe/FULL-WORD.json.gz', w) + # 5. cold44 (generalised): helpers outside the 224+16b ranges join their blocks + hm = set(read(raw / 'HELPER-MAP.json')['map'].values()) + env['EXTRAH'] = json.dumps(sorted(set(range(224, 224 + w['report']['R'])) - hm)) + ranks = [2, 2, 2, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2] if a.control_g44 else [4] * 14 + env['PAIRING_RANKS'] = json.dumps(ranks) # cold44x asserts every block's pairing rank + run('cold44', HERE / 'cold44x.py', '--input', out / 'hpe/FULL-WORD.json.gz', '--out', out / 'cold44', + '--hamming', wd / 'hamming', '--upstream-package', up) + assert [b['pairing_rank'] for b in read(out / 'cold44/CONSTRUCTION.json')['blocks']] == ranks, 'pairing ranks' + word = out / 'cold44/FULL-WORD.json.gz'; w = read(word) + got = hashlib.sha256(enc(w)).hexdigest() + assert got == (G44_SHA if a.control_g44 else NOTRI_SHA), ('word', got) + rep = w['report'] + if a.control_g44: + print('PASS control: #645 gauge44 word reproduced', got, flush=True); return + assert rep['R'] == 504 and rep['local_rank_mass'] == 5674 + assert rep['local_profile'] == {'1': 2506, '2': 336, '3': 472, '4': 184, '5': 56, '8': 8}, rep['local_profile'] + assert rep['width_inventory'] == {'4': 64, '5': 48, '7': 46, '8': 114, '9': 232}, rep['width_inventory'] + print('PASS no-triangle scalar word', got, flush=True) + if a.word_only: + return + # 6. native locals (PR635, as in reproduce.py) + for k in ('XPARAM', 'EXTRAH', 'PAIRING_RANKS'): env.pop(k, None) + local = out / 'local' + run('native', up / 'code/hpe_audit_and_transport.py', '--raw', word, + '--routing', parent / 'complex-local/inputs/phase-baseline/CANONICAL-WORD.json.gz', '--out', local) + assert hashlib.sha256(gzip.decompress((local / 'CANONICAL-WORD.json.gz').read_bytes())).hexdigest() == CANONICAL_SHA, 'canonical word' + run('ledgers', up / 'code/hpe_emit_local.py', local) + run('local-replay', up / 'code/hpe_audit_local.py', local) + run('wrappers', up / 'code/hpe_adapters_local.py', local / 'CANONICAL-WORD.json.gz', + local / 'RESIDUAL-ADAPTERS.json', local / 'WRAPPER-CHECKS.json') + checks = read(local / 'LOCAL-CHECKS.json') + for o, s in PROGRAM_SHA.items(): assert checks[o]['sha256'] == s, ('local program', o) + if not a.skip_phases: + run('phases', base / 'code/phases_full.py', local, parent / 'complex-global/vendor531/vendor/clifford') + assert hashlib.sha256((local / 'CLIFFORD-RECIPES.json').read_bytes()).hexdigest() == CLIFFORD_SHA, 'clifford recipes' + print('DONE', local, flush=True) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-leaver8/construction/promo/LOCAL-PINS-p6n-k4.json b/research/gauge44-leaver8/construction/promo/LOCAL-PINS-p6n-k4.json new file mode 100644 index 0000000000..c43b391a43 --- /dev/null +++ b/research/gauge44-leaver8/construction/promo/LOCAL-PINS-p6n-k4.json @@ -0,0 +1,11 @@ +{ + "word": "P6k4", + "layer_controls": 95, + "promo_controls": 11, + "canonical_sha256": "c0c5734a2eb6984ccd1e314dbcea2a6971b9708e5f611aa8912fcf47f02de61d", + "program_sha256": { + "forward": "6cfedac02e899df7fa50a3e38845982a4e9dbc866e9decc4052e011532bdb30f", + "backward": "207d9352aeea7d56a6da865745a1ad756e28531fbf9bcb0cd54950aac7270381" + }, + "clifford_recipes_sha256": "1c1d037d602b503b35f01a65d0ccc07ac63fde9df501b0a61e3e189a44a779de" +} diff --git a/research/gauge44-leaver8/construction/promo/PROMO-RECIPE-p6n-k4.json b/research/gauge44-leaver8/construction/promo/PROMO-RECIPE-p6n-k4.json new file mode 100644 index 0000000000..3f336c07ea --- /dev/null +++ b/research/gauge44-leaver8/construction/promo/PROMO-RECIPE-p6n-k4.json @@ -0,0 +1,971 @@ +{ + "input_content_sha256": "34b683fa08f054fe725704ec15b1c8da42f846430999d14d0cae0fcd42296fe2", + "groups": [ + 627, + 629, + 630, + 631, + 635, + 637, + 638, + 639, + 651, + 653, + 654, + 655, + 659, + 661, + 662, + 663 + ], + "entrances": { + "627": [ + 408, + 80, + 40, + 6, + 1 + ], + "629": [ + 408, + 80, + 40, + 6, + 1 + ], + "630": [ + 408, + 80, + 40, + 6, + 1 + ], + "631": [ + 408, + 80, + 40, + 6, + 1 + ], + "635": [ + 272, + 144, + 96, + 6, + 1 + ], + "637": [ + 272, + 144, + 96, + 6, + 1 + ], + "638": [ + 272, + 144, + 96, + 6, + 1 + ], + "639": [ + 272, + 144, + 96, + 6, + 1 + ], + "651": [ + 390, + 68, + 34, + 24, + 1 + ], + "653": [ + 390, + 68, + 34, + 24, + 1 + ], + "654": [ + 390, + 68, + 34, + 24, + 1 + ], + "655": [ + 390, + 68, + 34, + 24, + 1 + ], + "659": [ + 298, + 170, + 102, + 30, + 1 + ], + "661": [ + 298, + 170, + 102, + 30, + 1 + ], + "662": [ + 298, + 170, + 102, + 30, + 1 + ], + "663": [ + 298, + 170, + 102, + 30, + 1 + ] + }, + "gate_frames": [ + [ + "B", + 420, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 421, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 422, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 423, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 424, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 425, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 426, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 427, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 428, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 429, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 430, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 431, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 432, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 433, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 434, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 435, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 436, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 437, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 438, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 439, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 440, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 441, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 442, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 443, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 444, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 445, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 446, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 447, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 448, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 449, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 450, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 451, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 452, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 453, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 454, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 455, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 456, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 457, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 458, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 459, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 460, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 461, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 462, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 463, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 464, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 465, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 466, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 467, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ] + ], + "expected": { + "output_content_sha256": "0390ec65dc4d47df1887aabdc2ec5b6ddea3cfc8e65582873fdfeba81d100073", + "local_profile": { + "1": 2572, + "2": 326, + "3": 430, + "4": 194, + "5": 56, + "8": 8 + }, + "width_inventory": { + "4": 80, + "5": 32, + "7": 54, + "8": 122, + "9": 216 + } + } +} \ No newline at end of file diff --git a/research/gauge44-leaver8/construction/promo/build_promotion.py b/research/gauge44-leaver8/construction/promo/build_promotion.py new file mode 100644 index 0000000000..f1daad34c2 --- /dev/null +++ b/research/gauge44-leaver8/construction/promo/build_promotion.py @@ -0,0 +1,109 @@ +"""Entrance promotions E4 -> E5 of whole kernel groups: deterministic constructor. Apache-2.0. +BlockInvert (Claude Code research agent) for the gauge44 lineage. + +usage: build_promotion.py --input FULL-WORD.json.gz --recipe PROMO-RECIPE.json --out DIR + +The recipe is data only: + input_content_sha256 sha256 of the decompressed input word (pinned); + entrances {helper: frame vectors}: new start frames (each strictly contains the old one); + gate_frames [[section, index, old frame, new frame], ...]: section 'A' / 'B' (main gates) or 'T' + (early_cleanup entry index); the old frame must match the input exactly (as a span); + expected output_content_sha256, local_profile, width_inventory. +The scalar program is unchanged (only frame annotations and start frames move), so the endpoint, the +zero-target-response entrance condition and every cone are those of the input; the independent audit +(audit_local.py) re-checks all of them, plus monotone chains and the recomputed profile/widths.""" +import argparse, gzip, hashlib, json +from collections import Counter +from pathlib import Path + + +def span(vs): + p = {} + for x in vs: + for k in sorted(p, reverse=True): + if x >> k & 1: x ^= p[k] + if x: + k = x.bit_length() - 1 + for j in list(p): + if p[j] >> k & 1: p[j] ^= x + p[k] = x + return tuple(p[k] for k in sorted(p, reverse=True)) + + +def regs(e): return [e[1]] + ([e[2]] if e[0] == 'add' else []) + + +def chain_profile(w): + """paid climbs of the A, B, early-tail and final chains, target ends included (centre descents unchanged, not counted).""" + v, R = w['report']['v'], w['report']['R']; n = 2*v + R + cur = [() for _ in range(n)] + for i, p in enumerate(w['ports']): cur[i] = span([p]) + for r, f in w.get('start_extra', {}).items(): cur[int(r)] = span(f) + prof = Counter() + + def climb(r, F): + assert span(list(cur[r]) + list(F)) == F, ('nonmonotone', r) + if len(F) > len(cur[r]): prof[len(F) - len(cur[r])] += 1 + cur[r] = F + for part in ('A', 'B'): + for e in w[part]: + for r in regs(e): climb(r, span(e[-1])) + for i, f in w.get('early_cleanup', []): + for r in regs(w['cleanup'][i]): climb(r, span(f)) + full = span([1 << i for i in range(9)]) + final = {int(r): span(f) for r, f in w.get('helper_final', {}).items()} + for r in range(n): + if v <= r < 2*v: # targets end at their port hyperplane (as in the independent audit); counted on both sides + climb(r, span([x for x in range(1, 512) if (x & w['ports'][r - v]).bit_count() % 2 == 0])); continue + climb(r, final.get(r, full)) + return prof + + +def widths(w): + v, R = w['report']['v'], w['report']['R']; full = [1 << i for i in range(9)] + return Counter(len(span(w['helper_final'].get(str(r), full))) - len(span(w['start_extra'].get(str(r), []))) + for r in range(2*v, 2*v + R)) + + +def apply(w, r): + nw = json.loads(json.dumps(w)) + for h, F in r['entrances'].items(): + assert h in nw['start_extra'], ('not an entering helper', h) + old, new = span(nw['start_extra'][h]), span(F) + assert len(new) > len(old) and span(list(old) + list(new)) == new, ('not a promotion', h) + nw['start_extra'][h] = list(new) + for sec, i, old, new in r['gate_frames']: + if sec in ('A', 'B'): + assert span(nw[sec][i][-1]) == span(old), ('gate frame mismatch', sec, i) + nw[sec][i][-1] = list(span(new)) + else: + assert sec == 'T' and span(nw['early_cleanup'][i][1]) == span(old), ('tail frame mismatch', i) + nw['early_cleanup'][i][1] = list(span(new)) + old_prof, new_prof = chain_profile(w), chain_profile(nw) + lp = Counter({int(k): c for k, c in w['report']['local_profile'].items()}); lp.subtract(old_prof); lp.update(new_prof) + assert min(lp.values()) >= 0 + inv = widths(nw) + rep = dict(w['report']) + rep['local_profile'] = {str(k): c for k, c in sorted(lp.items()) if c} + rep['local_rank_mass'] = sum(k*c for k, c in lp.items()) + rep['width_inventory'] = {str(k): c for k, c in sorted(inv.items()) if c} + nw['report'] = rep + return nw + + +if __name__ == '__main__': + ap = argparse.ArgumentParser(); ap.add_argument('--input', type=Path, required=True) + ap.add_argument('--recipe', type=Path, required=True); ap.add_argument('--out', type=Path, required=True) + a = ap.parse_args() + raw = gzip.decompress(a.input.read_bytes()); r = json.loads(a.recipe.read_text()) + assert hashlib.sha256(raw).hexdigest() == r['input_content_sha256'], 'input word pin' + nw = apply(json.loads(raw), r) + data = json.dumps(nw, separators=(',', ':')).encode() + x = r['expected'] + assert nw['report']['local_profile'] == x['local_profile'], 'profile pin' + assert nw['report']['width_inventory'] == x['width_inventory'], 'width pin' + assert hashlib.sha256(data).hexdigest() == x['output_content_sha256'], 'output word pin' + a.out.mkdir(parents=True, exist_ok=True) + (a.out / 'FULL-WORD.json.gz').write_bytes(gzip.compress(data, mtime=0)) + print('PASS', len(r['entrances']), 'promoted entrances;', len(r['gate_frames']), 'gate frames;', + 'profile', x['local_profile'], 'sha', x['output_content_sha256']) diff --git a/research/gauge44-leaver8/construction/promo/make_recipe.py b/research/gauge44-leaver8/construction/promo/make_recipe.py new file mode 100644 index 0000000000..618d609453 --- /dev/null +++ b/research/gauge44-leaver8/construction/promo/make_recipe.py @@ -0,0 +1,12 @@ +"""make_recipe.py BASEWORD SOLUTION.json BUILTWORD OUT: discovery-side recipe writer (CP-SAT solution -> data recipe).""" +import sys, json, gzip, hashlib +base = gzip.decompress(open(sys.argv[1], 'rb').read()); s = json.load(open(sys.argv[2])) +built = gzip.decompress(open(sys.argv[3], 'rb').read()); bw = json.loads(built) +key = {'A': 0, 'B': 1, 'T': 2} +r = dict(input_content_sha256=hashlib.sha256(base).hexdigest(), + groups=sorted(int(h) for h in s['newstarts']), + entrances={h: s['newstarts'][h] for h in sorted(s['newstarts'], key=int)}, + gate_frames=sorted(s['changed'], key=lambda c: (key[c[0]], c[1])), + expected=dict(output_content_sha256=hashlib.sha256(built).hexdigest(), + local_profile=bw['report']['local_profile'], width_inventory=bw['report']['width_inventory'])) +json.dump(r, open(sys.argv[4], 'w'), indent=1) diff --git a/research/gauge44-leaver8/construction/promo/promo_controls.py b/research/gauge44-leaver8/construction/promo/promo_controls.py new file mode 100644 index 0000000000..20ee51f7db --- /dev/null +++ b/research/gauge44-leaver8/construction/promo/promo_controls.py @@ -0,0 +1,115 @@ +"""Promotion controls: mutate the promoted word / recipe and require rejection at a pinned site. Apache-2.0. +BlockInvert (Claude Code research agent). + +usage: promo_controls.py --input BASE-FULL-WORD.json.gz --recipe PROMO-RECIPE.json --audit audit_local.py --out CONTROLS.json + +Word-level mutants are checked by the independent audit (audit_local.py, imported from the given path; it shares no +code with the constructor); recipe-level mutants by build_promotion.apply / its pins. Each mutant must raise with the +pinned message prefix; the honest word must pass both.""" +import argparse, gzip, hashlib, importlib.util, json, sys, tempfile +from pathlib import Path +sys.path.insert(0, str(Path(__file__).resolve().parent)) +import build_promotion as B + +ap = argparse.ArgumentParser() +for k in ('input', 'recipe', 'audit', 'out'): ap.add_argument('--' + k, type=Path, required=True) +a = ap.parse_args() +s = importlib.util.spec_from_file_location('audit_local', a.audit); AL = importlib.util.module_from_spec(s); s.loader.exec_module(AL) +raw = gzip.decompress(a.input.read_bytes()); base = json.loads(raw); r = json.loads(a.recipe.read_text()) +assert hashlib.sha256(raw).hexdigest() == r['input_content_sha256'] +honest = B.apply(base, r) +v = base['report']['v'] +tmp = Path(tempfile.mkdtemp()) + + +def audit(w): + p = tmp / 'w.json.gz'; p.write_bytes(gzip.compress(json.dumps(w, separators=(',', ':')).encode(), mtime=0)) + import io, contextlib + with contextlib.redirect_stdout(io.StringIO()): + AL.run(p, tmp / 'r.json') + + +def first_gate(w, h): + for sec in ('A', 'B'): + for i, e in enumerate(w[sec]): + if h in B.regs(e): return sec, i + raise AssertionError(h) + + +results = [] + + +def expect(name, fn, prefix): + try: + fn(); got = 'ACCEPTED' + except (RuntimeError, AssertionError) as e: + got = str(e.args[0]) if e.args else type(e).__name__ + ok = got.startswith(prefix) + results.append(dict(control=name, expected=prefix, got=got[:160], rejected_at_pinned_site=ok)) + print(('OK ' if ok else 'BAD ') + name + ': ' + got[:120], flush=True) + + +# honest +audit(honest); print('honest word: audit PASS', flush=True) +H = sorted(int(h) for h in r['entrances']) +h0 = str(H[0]); E5 = B.span(r['entrances'][h0]); sec, i = first_gate(honest, int(h0)); F1 = B.span(honest[sec][i][-1]) +full = B.span([1 << k for k in range(9)]) + + +def mut(f): + w = json.loads(json.dumps(honest)); f(w); return w + + +# 1. promoted entrance moved to a dim-5 frame NOT inside its first gate frame +def bad_entrance(w): + for x in range(1, 512): + G = B.span(list(B.span(base['start_extra'][h0])) + [x]) + if len(G) == 5 and B.span(list(G) + list(F1)) != F1: + w['start_extra'][h0] = list(G); return + raise AssertionError('no frame') +expect('entrance_outside_first_gate_frame', lambda: audit(mut(bad_entrance)), 'frame not monotone') +# 2. a raised gauge gate of a promoted helper left at its old (E4) frame +old_of = {(c[0], c[1]): c[2] for c in r['gate_frames']} +assert (sec, i) in old_of, 'first gate of a promoted helper is a raised gate' +expect('raised_gate_missing', lambda: audit(mut(lambda w: w[sec][i].__setitem__(-1, list(B.span(old_of[(sec, i)]))))), 'frame not monotone') +# 2b. per promoted group: its first helper's raised entry gate left at the old frame +for hg in H[4::4]: + sg, ig = first_gate(honest, hg) + if (sg, ig) in old_of: + expect('raised_gate_missing_group_%d' % hg, lambda sg=sg, ig=ig: audit(mut(lambda w: w[sg][ig].__setitem__(-1, list(B.span(old_of[(sg, ig)]))))), 'frame not monotone') +# 3. every raised gate kept but one entrance reverted to E4 (report kept): the paid profile no longer matches +expect('entrance_reverted_profile', lambda: audit(mut(lambda w: w['start_extra'].__setitem__(h0, list(B.span(base['start_extra'][h0]))))), 'paid profile mismatch') +# 4. an E4 helper outside the promoted groups promoted alone (no raised gates) +others = sorted(int(h) for h, f in base['start_extra'].items() if len(B.span(f)) == 4 and h not in r['entrances']) +if others: + h1 = str(others[0]) + expect('ungrouped_promotion', lambda: audit(mut(lambda w: w['start_extra'].__setitem__(h1, list(E5)))), 'frame not monotone') +# 5. recipe-level: wrong old frame for a raised gate; non-promotion entrance; input pin +def r_bad_old(): + q = json.loads(json.dumps(r)); q['gate_frames'][0][2] = list(full); B.apply(base, q) +expect('recipe_gate_old_frame', r_bad_old, "('gate frame mismatch'" if r['gate_frames'][0][0] != 'T' else "('tail frame mismatch'") +def r_demote(): + q = json.loads(json.dumps(r)); q['entrances'][h0] = base['start_extra'][h0]; B.apply(base, q) +expect('recipe_not_a_promotion', r_demote, "('not a promotion'") +def r_pin(): # the driver's own __main__ path on a tampered input word (one gate scalar changed) + import subprocess + t = json.loads(raw); e = t['B'][0] + if e[0] == 'add': e[3] += e[4] + else: e[2] = -e[2] + p = tmp / 'tampered.json.gz'; p.write_bytes(gzip.compress(json.dumps(t, separators=(',', ':')).encode(), mtime=0)) + q = subprocess.run([sys.executable, '-B', str(Path(B.__file__)), '--input', str(p), '--recipe', str(a.recipe), '--out', str(tmp / 'o')], + capture_output=True, text=True) + assert q.returncode == 0, q.stderr.strip().splitlines()[-1].split('AssertionError: ', 1)[-1] +expect('recipe_input_pin', r_pin, 'input word pin') +# 6. scalar tamper inside a promoted group's raised gate (frames intact): exactness must fail +def scal(w): + e = w[sec][i] + if e[0] == 'add': e[3] = e[3] + e[4] + else: e[2] = -e[2] +expect('raised_gate_scalar_tamper', lambda: audit(mut(scal)), '') +results[-1]['rejected_at_pinned_site'] = results[-1]['got'] != 'ACCEPTED' +bad = [x for x in results if not x['rejected_at_pinned_site']] +a.out.write_text(json.dumps(dict(recipe=r['expected']['output_content_sha256'], honest='PASS', controls=results, + rejected=len(results) - len(bad)), indent=1)) +assert not bad, bad +print('PASS', len(results), 'controls rejected at pinned sites') diff --git a/research/gauge44-leaver8/construction/promo/reproduce_promo.py b/research/gauge44-leaver8/construction/promo/reproduce_promo.py new file mode 100644 index 0000000000..6e04aa71b1 --- /dev/null +++ b/research/gauge44-leaver8/construction/promo/reproduce_promo.py @@ -0,0 +1,99 @@ +#!/usr/bin/env python3 +"""Rebuild a promoted no-triangle layered word (entrance promotions E4 -> E5) and its native locals. + +Input (--base): `np` = a fresh `construction/layers_np/reproduce_np.py` output (word a9de804f...), or `p6n` = a fresh +`construction/layers_p6n/reproduce_p6n.py` output (word 34b683fa...). Recipe k: PROMO-RECIPE-.json (BlockInvert; +data only; it pins its input word) and LOCAL-PINS-.json. Steps, each +checked exactly: + 1. promotion: BlockInvert's build_promotion.py. It pins the input word and the recipe's output sha, profile and + widths; every old frame must match the input; only frame annotations and start frames move (no scalar change). + 2. promo-controls: BlockInvert's promo_controls.py. The honest word must pass #645's independent audit_local.py, + and its recipe- and word-level mutants must be rejected at their pinned sites (count pinned in LOCAL-PINS). + 3. layer-end-controls on the promoted word, pinned count: ../layers/layer_end_controls.py (LayerReviewer-signed) for + base np; ../layers_p6n/layer_end_controls.py (Q6Reviewer-signed per-end variant) for base p6n. + 4. native, ledgers, local-replay, wrappers, phases: PR635's native local programs; the canonical word, local + programs and Clifford recipes are pinned (LOCAL-PINS). +Moving to another recipe k is a recipe and pins swap; this driver does not change. +Apache-2.0. Driver by ColdWitness around BlockInvert's constructor and controls. +""" +import argparse, gzip, hashlib, json, os, subprocess, sys, time +from pathlib import Path + +HERE = Path(__file__).resolve().parent +PKG = HERE.parents[1] +LAYERS = HERE.parent / 'layers' +BASES = {'np': ('layers/FULL-WORD.json.gz', 'a9de804f194eeb39f52a4c6e54c14d93e881bec4b632694249733ed410b58113'), + 'p6n': ('p6n/FULL-WORD.json.gz', '34b683fa08f0')} # p6n: prefix; full pin is the p6n recipe's output sha + + +def read(p): + raw = Path(p).read_bytes() + return json.loads(gzip.decompress(raw) if str(p).endswith('.gz') else raw) + + +def main(): + assert __debug__, 'Assertions are required' + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--main', type=Path, required=True) + ap.add_argument('--pr635', type=Path, required=True) + ap.add_argument('--base', choices=sorted(BASES), default='p6n') + ap.add_argument('--base-dir', type=Path, required=True, help='reproduce_np.py (np) or reproduce_p6n.py (p6n) output') + ap.add_argument('--k', default='p6n-k4', help='recipe id (PROMO-RECIPE-.json)') + ap.add_argument('--out', type=Path, required=True) + ap.add_argument('--skip-phases', action='store_true') + a = ap.parse_args() + out = a.out.resolve(); assert not out.exists(); out.mkdir(parents=True) + up = a.pr635.resolve() / 'research/complex-571-cold14-st2' + src = a.main.resolve() / 'research/complex-k492-owner-repair/vendor/multicold' + base = src / 'vendor/pr558'; parent = base / 'vendor/pr552' + recipe = HERE / ('PROMO-RECIPE-%s.json' % a.k); pins = read(HERE / ('LOCAL-PINS-%s.json' % a.k)) + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONUTF8='1', PYTHONINTMAXSTRDIGITS='0', + MULTICOLD_SOURCE=str(src), GAIN_PR564_SOURCE=str(src)) + for k in ('PYTHONOPTIMIZE', 'XPARAM', 'EXTRAH', 'PAIRING_RANKS', 'DIAG', 'HYBBUDGET', 'PR635_CODE'): env.pop(k, None) + steps = [] + + def run(label, script, *args, portable=True): + t = time.monotonic() + cmd = [sys.executable, '-B'] + ([str(src / 'code/run_portable.py')] if portable else []) + [str(script), *map(str, args)] + with (out / (label + '.log')).open('w') as f: + rc = subprocess.call(cmd, env=env, stdout=f, stderr=subprocess.STDOUT) + steps.append(dict(step=label, exit_code=rc, seconds=round(time.monotonic() - t, 3))) + (out / 'STEPS.json').write_text(json.dumps(steps, indent=2) + '\n') + assert rc == 0, label + print('PASS', label, flush=True) + + rel, pin = BASES[a.base]; inp = a.base_dir.resolve() / rel + got = hashlib.sha256(gzip.decompress(inp.read_bytes())).hexdigest() + assert got.startswith(pin) and got == read(recipe)['input_content_sha256'], ('input must be the pinned base word', a.base, got) + if a.base == 'p6n': + assert got == read(HERE.parent / 'layers_p6n/COLD-LAYERS-RECIPE-P6N.json.gz')['output_content_sha256'] + run('promotion', HERE / 'build_promotion.py', '--input', inp, '--recipe', recipe, '--out', out / 'promo', portable=False) + word = out / 'promo/FULL-WORD.json.gz' + assert hashlib.sha256(gzip.decompress(word.read_bytes())).hexdigest() == read(recipe)['expected']['output_content_sha256'] + run('promo-controls', HERE / 'promo_controls.py', '--input', inp, '--recipe', recipe, + '--audit', PKG / 'independent/audit_local.py', '--out', out / 'PROMO-CONTROLS.json', portable=False) + pc = read(out / 'PROMO-CONTROLS.json'); assert pc['honest'] == 'PASS' and pc['rejected'] == pins['promo_controls'], pc['rejected'] + routing = parent / 'complex-local/inputs/phase-baseline/CANONICAL-WORD.json.gz' + env['PR635_CODE'] = str(up / 'code') + ctlpy = (HERE.parent / 'layers_p6n/layer_end_controls.py') if a.base == 'p6n' else (LAYERS / 'layer_end_controls.py') + run('layer-end-controls', ctlpy, word, routing, out / 'controls') + env.pop('PR635_CODE') + ctl = read(out / 'controls/COLD-END-CONTROLS.json') + assert ctl['status'] == 'PASS_COLD_END_RAW_WORD_CONTROLS' and len(ctl['rejected']) == pins['layer_controls'], len(ctl['rejected']) + local = out / 'local' + run('native', up / 'code/hpe_audit_and_transport.py', '--raw', word, '--routing', routing, '--out', local) + assert hashlib.sha256(gzip.decompress((local / 'CANONICAL-WORD.json.gz').read_bytes())).hexdigest() == pins['canonical_sha256'], 'canonical word' + run('ledgers', up / 'code/hpe_emit_local.py', local) + run('local-replay', up / 'code/hpe_audit_local.py', local) + run('wrappers', up / 'code/hpe_adapters_local.py', local / 'CANONICAL-WORD.json.gz', + local / 'RESIDUAL-ADAPTERS.json', local / 'WRAPPER-CHECKS.json') + checks = read(local / 'LOCAL-CHECKS.json') + for o, s in pins['program_sha256'].items(): assert checks[o]['sha256'] == s, ('local program', o) + if not a.skip_phases: + run('phases', base / 'code/phases_full.py', local, parent / 'complex-global/vendor531/vendor/clifford') + assert hashlib.sha256((local / 'CLIFFORD-RECIPES.json').read_bytes()).hexdigest() == pins['clifford_recipes_sha256'], 'clifford recipes' + print('DONE', local, flush=True) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-leaver8/construction/reproduce.py b/research/gauge44-leaver8/construction/reproduce.py new file mode 100644 index 0000000000..8b51efa646 --- /dev/null +++ b/research/gauge44-leaver8/construction/reproduce.py @@ -0,0 +1,194 @@ +#!/usr/bin/env python3 +"""Rebuild the frozen gauge44 delta from two pinned upstream checkouts. + +Prepared for icekylinx with OpenAI GPT-6 Astra assistance. Apache-2.0. +This driver calls the credited upstream constructors unchanged; it runs no +search or optimizer. See ../CONSTRUCTION.md and INPUTS.json. +""" +import argparse +import gzip +import hashlib +import importlib.util +import json +import os +from pathlib import Path +import shutil +import subprocess +import sys +import time + +HERE = Path(__file__).resolve().parent + + +def read(path): + raw = path.read_bytes() + return json.loads(gzip.decompress(raw) if path.suffix == '.gz' else raw) + + +def sha(path, content=False): + raw = path.read_bytes() + if content and path.suffix == '.gz': + raw = gzip.decompress(raw) + return hashlib.sha256(raw).hexdigest() + + +def dump(path, value): + path.parent.mkdir(parents=True, exist_ok=True) + raw = json.dumps(value, sort_keys=True, separators=(',', ':')).encode() + path.write_bytes(gzip.compress(raw, mtime=0) if path.suffix == '.gz' else raw) + + +def load_module(name, path): + spec = importlib.util.spec_from_file_location(name, path) + module = importlib.util.module_from_spec(spec) + spec.loader.exec_module(module) + return module + + +def main(): + assert __debug__, 'Assertions are required; do not use python -O.' + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--main', type=Path, required=True, + help='integer-mult-bounds checkout at the pinned main commit') + parser.add_argument('--pr635', type=Path, required=True, + help='integer-mult-bounds checkout at the pinned PR635 commit') + parser.add_argument('--out', type=Path, required=True, + help='new output directory outside both checkouts') + parser.add_argument('--until', choices=('word', 'local', 'phases'), default='word', + help='default: scalar constructor only; local adds exact native replay and wrappers') + parser.add_argument('--frozen-cold', action='store_true', + help='splice the pinned cold recipe instead of deriving its exact Q/T matrices again') + args = parser.parse_args() + roots = {'main': args.main.resolve(), 'pr635': args.pr635.resolve(), 'delta': HERE} + out = args.out.resolve() + assert not out.exists(), 'Use a new output directory.' + assert not any(out.is_relative_to(root) for root in roots.values()) + pins = read(HERE / 'INPUTS.json') + for family, files in pins['files'].items(): + for relative, expected in files.items(): + path = roots[family] / relative + assert sha(path) == expected, ('input pin', family, relative) + out.mkdir(parents=True) + upstream = roots['pr635'] / 'research/complex-571-cold14-st2' + source = roots['main'] / 'research/complex-k492-owner-repair/vendor/multicold' + joint = source.parent / 'joint_prefix' + base = source / 'vendor/pr558' + parent = base / 'vendor/pr552' + gk = parent / 'complex-local/static44/gk' + hamming = source.parent / 'direct_delivery/inputs/hamming' + structural = roots['main'] / 'research/structural-gain/frontier-composition' + runner = source / 'code/run_portable.py' + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONUTF8='1', + PYTHONINTMAXSTRDIGITS='0', MULTICOLD_SOURCE=str(source), + GAIN_PR564_SOURCE=str(source)) + env.pop('PYTHONOPTIMIZE', None) + records = [] + + def run(label, script, *arguments): + start = time.monotonic() + log = out / (label + '.log') + print('RUN', label, flush=True) + with log.open('w', encoding='utf-8') as stream: + result = subprocess.run([sys.executable, '-B', str(runner), str(script), + *map(str, arguments)], env=env, stdout=stream, + stderr=subprocess.STDOUT) + records.append({'step': label, 'exit_code': result.returncode, + 'seconds': round(time.monotonic() - start, 3)}) + (out / 'STEPS.json').write_text(json.dumps(records, indent=2) + '\n') + if result.returncode: + raise RuntimeError(label + '\n' + log.read_text()[-6000:]) + print('PASS', label, flush=True) + + def check_word(label, path): + assert sha(path, content=True) == pins['word_content_sha256'][label], ('step pin', label) + return path + + raw504 = parent / 'complex-local/static44/inputs/RAW504.json.gz' + promoted = structural / 'global-replay/base/split-centres/FULL-WORD.json.gz' + multi = structural / 'multicold-eight-word/FULL-WORD.json.gz' + early = out / 'shadow-early' + run('shadow-early', source / 'code/build_cold_kernel.py', '--input', promoted, + '--recipe', source / 'data/EIGHT-COLD.json', '--gk-dir', gk, '--out', early) + early_word = check_word('shadow-early', early / 'FULL-WORD.json.gz') + prefix = out / 'shadow-prefix' + run('shadow-prefix', joint / 'code/build_joint_prefix.py', '--input', multi, + '--recipe', joint / 'data/JOINT-PREFIX.json', '--variant', 'eightcold', + '--gk-dir', gk, '--out', prefix) + prefix_word = check_word('shadow-prefix', prefix / 'FULL-WORD.json.gz') + + inputs = out / 'hamming' + inputs.mkdir() + for name in ('PROTOTYPE.json', 'PACKET-PROGRAMS.json.gz'): + shutil.copyfile(hamming / name, inputs / name) + shutil.copyfile(HERE / 'COMPLETION-PRIORITY.json', inputs / 'COMPLETION-PRIORITY.json') + raw = out / 'raw' + run('gauge-forward', HERE / 'construct_gauge_xcentre.py', inputs, raw, + upstream / 'data/TRI-SCHEDULE.json') + word = check_word('raw', raw / 'FULL-WORD.json.gz') + assert sha(raw / 'HELPER-MAP.json') == pins['helper_map_sha256'] + chain = [raw504, promoted, early_word, multi, prefix_word] + for i, (before, after) in enumerate(zip(chain, chain[1:])): + target = out / ('port' + str(i)) + run('port' + str(i), upstream / 'code/build_port_stage.py', + '--shadow-input', before, '--shadow-output', after, '--input', word, + '--map', raw / 'HELPER-MAP.json', '--gk-dir', gk, '--out', target) + word = check_word('port' + str(i), target / 'FULL-WORD.json.gz') + + changed = read(word) + regroup = read(upstream / 'data/recipes/k492-jp8-frame_regroup.json') + # The inherited changes are B-only and are checked against the actual new gates. + for edit in regroup['changes']: + assert changed[edit['section']][edit['index']] == edit['before'] + changed[edit['section']][edit['index']] = edit['after'] + changed['report'].update(local_profile=regroup['after'], + local_rank_mass=sum(int(r)*n for r, n in regroup['after'].items())) + word = out / 'regroup/FULL-WORD.json.gz' + dump(word, changed) + check_word('regroup', word) + hpe = load_module('upstream_hpe', upstream / 'code/build_hpe.py') + changed = hpe.apply(changed, read(upstream / 'data/recipes/k492-jp8-hyperplane_end.json')['changes']) + word = out / 'hpe/FULL-WORD.json.gz' + dump(word, changed) + check_word('hpe', word) + + target = out / 'cold44' + if args.frozen_cold: + cold = load_module('upstream_cold', upstream / 'code/build_cold_end.py') + changed = cold.apply(changed, read(HERE / 'COLD44-RECIPE.json.gz')) + # Match the exact constructor's descriptive status; this is not an audit assertion. + changed['report']['status'] = 'EXACT_COLD44_CONSTRUCTED_PENDING_INDEPENDENT_AUDIT' + dump(target / 'FULL-WORD.json.gz', changed) + else: + run('cold44-exact', HERE / 'build_gauge_cold44.py', '--input', word, + '--out', target, '--hamming', inputs, '--upstream-package', upstream) + assert read(target / 'RECIPE.json.gz') == read(HERE / 'COLD44-RECIPE.json.gz') + word = check_word('cold44', target / 'FULL-WORD.json.gz') + report = read(word)['report'] + assert report['local_rank_mass'] == 5650 + assert report['local_profile'] == {'1': 2514, '2': 404, '3': 448, '4': 160, '5': 56, '8': 8} + assert report['width_inventory'] == {'4': 52, '5': 48, '7': 34, '8': 114, '9': 244} + print('PASS exact frozen scalar word', word, flush=True) + if args.until == 'word': + return + + local = out / 'local' + routing = parent / 'complex-local/inputs/phase-baseline/CANONICAL-WORD.json.gz' + run('native', upstream / 'code/hpe_audit_and_transport.py', '--raw', word, + '--routing', routing, '--out', local) + assert sha(local / 'CANONICAL-WORD.json.gz', content=True) == pins['canonical_content_sha256'] + run('ledgers', upstream / 'code/hpe_emit_local.py', local) + run('local-replay', upstream / 'code/hpe_audit_local.py', local) + run('wrappers', upstream / 'code/hpe_adapters_local.py', local / 'CANONICAL-WORD.json.gz', + local / 'RESIDUAL-ADAPTERS.json', local / 'WRAPPER-CHECKS.json') + checks = read(local / 'LOCAL-CHECKS.json') + for orientation, expected in pins['local_program_sha256'].items(): + assert checks[orientation]['sha256'] == expected + if args.until == 'phases': + clifford = parent / 'complex-global/vendor531/vendor/clifford' + run('phases', base / 'code/phases_full.py', local, clifford) + assert sha(local / 'CLIFFORD-RECIPES.json') == pins['clifford_recipes_sha256'] + print('DONE', local, flush=True) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-leaver8/construction/sw4/LOCAL-PINS-sw4-P6k4.json b/research/gauge44-leaver8/construction/sw4/LOCAL-PINS-sw4-P6k4.json new file mode 100644 index 0000000000..ae26a0f2f1 --- /dev/null +++ b/research/gauge44-leaver8/construction/sw4/LOCAL-PINS-sw4-P6k4.json @@ -0,0 +1,11 @@ +{ + "word": "P6k4sw4", + "sw4_controls": 4, + "layer_controls": 95, + "canonical_sha256": "5f5f163e43e8c21c16e2f10aef0078131d127a1ccacc39e0238d111fbd29f195", + "program_sha256": { + "forward": "36e75fc972766fa42f1b371a055e74976a165c894b816911c3510a88b431ea09", + "backward": "3176ccde98d90e754105e60096598fee348e2455e046290d3674b79dd6b402df" + }, + "clifford_recipes_sha256": "202eeaf5fac0c801b98811c1e140fd0af443090d7f7e05c7b55a4ddc6f6acdab" +} diff --git a/research/gauge44-leaver8/construction/sw4/NOTES.md b/research/gauge44-leaver8/construction/sw4/NOTES.md new file mode 100644 index 0000000000..2a53ffb3b8 --- /dev/null +++ b/research/gauge44-leaver8/construction/sw4/NOTES.md @@ -0,0 +1,21 @@ +# SW4: read-set exchange on 4 entering-copy pairs + +- **Input.** P6k3, sha a38bb414. +- **Output.** sha f35a852b. Strict PASS at κ 0.001659645685315104, which is +3.267e-7 over P6k3 and equal to the ideal. +- **Width.** W 3782 is unchanged, as are start_extra, helper_final, cleanup and the helper numbering. +- **Rebuild.** `python build_sw4.py INPUT OUT [SW4-RECIPE.json]`. It is a deterministic apply of the 16 explicit moves, with 4 pinned controls: C0 (identity), N1 (keeping the pre-read is rejected), N2 (a partial exchange is rejected) and N3 (a wrong-sign pre-read is rejected). + +## Move +For each pair (h,r) in {(461,25), (581,89), (591,415), (603,431)}, where h = E_h + r after h's copy gate: +- every post-copy target read of h becomes a read of r, and that target's entrance pre-read of h is deleted; +- every target read of r becomes a read of h, with the pre-read add(t,h,−c) inserted after h's last pre-read, while h = E_h. + +The B-end state of every register is unchanged (checked mod p). + +## How exhaustive the search was +These 4 are the only positives within an exactly defined family. +- **Copy pair.** h is an entering helper whose first B write is add(h,r,1/1) from a non-target r, and whose only earlier B gates are single target pre-reads. NP has 107 such pairs. +- **Candidates.** Every nonempty subset of one pair's movable reads (target reads of h or r between the copy and the next write of h or r), with all other pairs left unchanged. That is 602 candidates over the 54 pairs that have reads. +- **Outcome.** 564 are frame-illegal. The 38 legal ones are all full single-pair exchanges, and only these 4 are positive. Their gains are additive. + +**What is not covered.** Cross-pair combinations of partial moves were not enumerated. Without a decomposition proof (moves can shrink as well as grow target frames), the result is exhaustive only within this single-pair family. diff --git a/research/gauge44-leaver8/construction/sw4/SW4-RECIPE-P6k4.json b/research/gauge44-leaver8/construction/sw4/SW4-RECIPE-P6k4.json new file mode 100644 index 0000000000..b9dea4152a --- /dev/null +++ b/research/gauge44-leaver8/construction/sw4/SW4-RECIPE-P6k4.json @@ -0,0 +1,314 @@ +{ + "name": "SW4", + "description": "BRoute read-set exchange on entering-copy pairs (h,r); indices refer to the input word B section", + "input_sha256": "0390ec65dc4d47df1887aabdc2ec5b6ddea3cfc8e65582873fdfeba81d100073", + "output_sha256": "d232183f233899961bf55cac67a18545ed33548d9a7ca7078990d1a83d557c59", + "pairs": { + "461": 25, + "581": 89, + "591": 415, + "603": 431 + }, + "moves": [ + { + "kind": "h2r", + "h": 461, + "r": 25, + "read_index": 856, + "target": 168, + "coef": [ + -1, + 2 + ], + "delete_preread_index": 27 + }, + { + "kind": "h2r", + "h": 461, + "r": 25, + "read_index": 1208, + "target": 128, + "coef": [ + -1, + 2 + ], + "delete_preread_index": 26 + }, + { + "kind": "r2h", + "h": 461, + "r": 25, + "read_index": 873, + "target": 129, + "coef": [ + -1, + 2 + ], + "insert_preread_before": 28, + "preread": [ + "add", + 129, + 461, + 1, + 2 + ] + }, + { + "kind": "r2h", + "h": 461, + "r": 25, + "read_index": 1193, + "target": 169, + "coef": [ + -1, + 2 + ], + "insert_preread_before": 28, + "preread": [ + "add", + 169, + 461, + 1, + 2 + ] + }, + { + "kind": "h2r", + "h": 581, + "r": 89, + "read_index": 860, + "target": 171, + "coef": [ + -1, + 2 + ], + "delete_preread_index": 58 + }, + { + "kind": "h2r", + "h": 581, + "r": 89, + "read_index": 1288, + "target": 192, + "coef": [ + -1, + 2 + ], + "delete_preread_index": 59 + }, + { + "kind": "r2h", + "h": 581, + "r": 89, + "read_index": 953, + "target": 193, + "coef": [ + -1, + 2 + ], + "insert_preread_before": 60, + "preread": [ + "add", + 193, + 581, + 1, + 2 + ] + }, + { + "kind": "r2h", + "h": 581, + "r": 89, + "read_index": 1197, + "target": 175, + "coef": [ + -1, + 2 + ], + "insert_preread_before": 60, + "preread": [ + "add", + 175, + 581, + 1, + 2 + ] + }, + { + "kind": "h2r", + "h": 591, + "r": 415, + "read_index": 868, + "target": 139, + "coef": [ + 1, + 1 + ], + "delete_preread_index": 62 + }, + { + "kind": "h2r", + "h": 591, + "r": 415, + "read_index": 1296, + "target": 160, + "coef": [ + 1, + 1 + ], + "delete_preread_index": 63 + }, + { + "kind": "r2h", + "h": 591, + "r": 415, + "read_index": 961, + "target": 161, + "coef": [ + 1, + 1 + ], + "insert_preread_before": 64, + "preread": [ + "add", + 161, + 591, + -1, + 1 + ] + }, + { + "kind": "r2h", + "h": 591, + "r": 415, + "read_index": 1205, + "target": 143, + "coef": [ + 1, + 1 + ], + "insert_preread_before": 64, + "preread": [ + "add", + 143, + 591, + -1, + 1 + ] + }, + { + "kind": "h2r", + "h": 603, + "r": 431, + "read_index": 876, + "target": 131, + "coef": [ + 1, + 1 + ], + "delete_preread_index": 70 + }, + { + "kind": "h2r", + "h": 603, + "r": 431, + "read_index": 1300, + "target": 163, + "coef": [ + 1, + 1 + ], + "delete_preread_index": 71 + }, + { + "kind": "r2h", + "h": 603, + "r": 431, + "read_index": 965, + "target": 167, + "coef": [ + 1, + 1 + ], + "insert_preread_before": 72, + "preread": [ + "add", + 167, + 603, + -1, + 1 + ] + }, + { + "kind": "r2h", + "h": 603, + "r": 431, + "read_index": 1213, + "target": 135, + "coef": [ + 1, + 1 + ], + "insert_preread_before": 72, + "preread": [ + "add", + 135, + 603, + -1, + 1 + ] + } + ], + "kappa_ideal_in": 0.0016603565408383088, + "kappa_ideal_out": 0.0016606836036204419, + "W": 3778, + "profile_in": { + "1": 2572, + "2": 326, + "3": 430, + "4": 194, + "5": 56, + "8": 8 + }, + "profile_out": { + "1": 2548, + "2": 342, + "3": 438, + "4": 186, + "5": 56, + "8": 8 + }, + "width_inventory": { + "4": 80, + "5": 32, + "7": 54, + "8": 122, + "9": 216 + }, + "rejection_expected": { + "N1": { + "changed_registers": [ + 168, + 171 + ], + "n": 2 + }, + "N2": { + "first": [ + "cap", + 1192, + 169 + ], + "n": 10 + }, + "N3": { + "changed_registers": [ + 129, + 130, + 169, + 170 + ], + "n": 4 + } + } +} diff --git a/research/gauge44-leaver8/construction/sw4/build_sw4.py b/research/gauge44-leaver8/construction/sw4/build_sw4.py new file mode 100644 index 0000000000..617e0ed06d --- /dev/null +++ b/research/gauge44-leaver8/construction/sw4/build_sw4.py @@ -0,0 +1,203 @@ +#!/usr/bin/env python3 +"""build_sw4.py INPUT_WORD OUT_DIR [RECIPE] : deterministic, standard-library-only rebuild of the BRoute SW4 word. + +SW4 exchanges the B-phase target read sets of four entering packet copies h and their face registers r +(h = E_h + r after h's copy gate; E_h = h's entering content): + h2r: a post-copy read add(t,h,c) becomes add(t,r,c), and t's entrance pre-read add(t,h,-c) (taken while h = E_h) is deleted; + r2h: a read add(t,r,c) becomes add(t,h,c), and a pre-read add(t,h,-c) is inserted before index insert_preread_before + (right after h's last existing pre-read, still before h's copy gate). +Every register holds the same value at the end of B (checked mod p). Frames: a moved or inserted gate gets the plain join of +its operands' current frames; every other B gate and every early-cleanup tail keeps span(old frame + current operand frames). +Targets must stay inside u_t^perp, and tails and ends must contain the current frame. + +Controls (run on every build; the count is pinned to 4 and all must hold, else exit 1): + C0 the identity recipe (no moves) reproduces the input B and early_cleanup byte for byte; + N1 h2r without deleting the pre-read is rejected by exactness; + N2 a partial exchange (one read only) is rejected by the frame cap; + N3 an inserted pre-read with the wrong sign is rejected by exactness. +Rejection sites are pinned: the recipe's 'rejection_expected' gives, for N1/N3, the exact set of target rows whose B-end +state changes (the mutated target plus its butterfly partner(s)) and, for N2, the first cap violation (kind, B index, +register) and the violation count. Each control must reproduce its pinned site exactly. BUILD.json records the observed +sites under 'rejection'. +Writes OUT_DIR/FULL-WORD.json.gz (sha checked against the recipe) and OUT_DIR/BUILD.json.""" +import sys, json, gzip, hashlib, os +from collections import Counter, defaultdict + +PR = 2147483629 +HERE = os.path.dirname(os.path.abspath(__file__)) +V, HH = 112, 9 + + +def basis(vs): + piv = {} + for a in vs: + while a: + bit = a.bit_length() - 1 + if bit in piv: a ^= piv[bit] + else: + piv[bit] = a; break + for k in sorted(piv): + for j in piv: + if j > k and piv[j] >> k & 1: piv[j] ^= piv[k] + return tuple(piv[k] for k in sorted(piv, reverse=True)) + + +def contained(a, b): return basis(list(a) + list(b)) == tuple(b) +def registers(e): return e[1:3] if e[0] == 'add' else e[1:2] +def hyper(p): return basis([x for x in range(1, 1 << HH) if (x & p).bit_count() % 2 == 0]) +FULL = basis([1 << i for i in range(HH)]) + + +def coef(e): + a, b = (e[3], e[4]) if e[0] == 'add' else (e[2], e[3]) + return a % PR * pow(b % PR, PR - 2, PR) % PR + + +def bend_state(w): + """sparse rows mod p of every register after A + cut + B (identity start).""" + n = 2 * V + w['report']['R']; rows = [{i: 1} for i in range(n)] + for e in w['A'] + w['cut'] + w['B']: + q = coef(e); t = e[1] + if e[0] == 'scale': rows[t] = {k: x * q % PR for k, x in rows[t].items()} + else: + d = rows[t] + for k, x in rows[e[2]].items(): + y = (d.get(k, 0) + q * x) % PR + if y: d[k] = y + else: d.pop(k, None) + return rows + + +def apply_recipe(w, moves, drop_delete=False, wrong_sign=False): + B = [list(e[:-1]) + [list(e[-1]) if e[-1] is not None else None] for e in w['B']] + tag = {}; dele = set(); ins = defaultdict(list) + for m in moves: + i = m['read_index']; e = B[i]; t = m['target']; a, b = m['coef'] + assert e[0] == 'add' and e[1] == t and [e[3], e[4]] == [a, b], ('recipe/word mismatch', m) + if m['kind'] == 'h2r': + assert e[2] == m['h'] + pi = m['delete_preread_index']; g = B[pi] + assert g[:5] == ['add', t, m['h'], -a, b], ('pre-read mismatch', m) + B[i] = ['add', t, m['r'], a, b, e[-1]] + if not drop_delete: dele.add(pi) + else: + assert e[2] == m['r'] + B[i] = ['add', t, m['h'], a, b, e[-1]] + g = list(m['preread']) + if wrong_sign: g[3] = -g[3] + ins[m['insert_preread_before']].append(g + [None]) + tag[i] = 1 + NB, nt = [], [] + for i, e in enumerate(B): + for g in ins.get(i, []): NB.append(g); nt.append(1) + if i in dele: continue + NB.append(e); nt.append(tag.get(i, 0)) + w2 = dict(w); w2['B'] = NB; w2['early_cleanup'] = [list(x) for x in w.get('early_cleanup', [])] + return w2, nt + + +def refit(w, nt): + n = 2 * V + w['report']['R'] + cur = [(p,) for p in w['ports']] + [()] * (n - V) + for q, U in w['start_extra'].items(): cur[int(q)] = basis(U) + for e in w['A']: + for q in registers(e): cur[q] = basis(e[-1]) + prob = [] + for i, e in enumerate(w['B']): + rs = registers(e) + base = [] if nt[i] or e[-1] is None else list(e[-1]) + F = basis(base + [x for q in rs for x in cur[q]]) + for q in rs: + if V <= q < 2 * V and not contained(F, hyper(w['ports'][q - V])): prob.append(('cap', i, q)) + e[-1] = list(F) + for q in rs: cur[q] = F + ne = [] + for i, U in w.get('early_cleanup', []): + rs = registers(w['cleanup'][i]); F = basis(list(U) + [x for q in rs for x in cur[q]]) + for q in rs: + fin = w['helper_final'].get(str(q)) + if fin is not None and not contained(F, basis(fin)): prob.append(('tail', i, q)) + ne.append([i, list(F)]) + for q in rs: cur[q] = F + w['early_cleanup'] = ne + for q in range(2 * V, n): + fin = w['helper_final'].get(str(q)) + if fin is not None and not contained(cur[q], basis(fin)): prob.append(('end', q)) + return prob + + +def profile(w): + n = 2 * V + w['report']['R'] + tail = [w['cleanup'][i][:-1] + [U] for i, U in w.get('early_cleanup', [])] + end = [FULL] * V + [hyper(p) for p in w['ports']] + [FULL] * (n - 2 * V) + for q, U in w['helper_final'].items(): end[int(q)] = basis(U) + start = [(p,) for p in w['ports']] + [()] * (n - V) + for q, U in w['start_extra'].items(): start[int(q)] = basis(U) + cur = list(start); paid = Counter() + def climb(q, U): + U = basis(U); assert contained(cur[q], U), ('monotone', q) + d = len(U) - len(cur[q]) + if d: paid[d] += 1 + cur[q] = U + for sec in ('A', 'B'): + if sec == 'B': + lev = {int(t): basis(U) for t, U in w.get('target_levels', {}).items()} + for q, U in zip(w['centers'], w['center_frames']): + U = basis(U); served = {lev.get(e[1] - V, ()) for e in w['cut'] if e[2] == q} + for T in sorted(served, key=lambda x: -len(x)): + if T != U: paid[len(U) - len(T)] += 1 + U = T + for e in w[sec]: + for q in registers(e): climb(q, e[-1]) + for e in tail: + for q in registers(e): climb(q, e[-1]) + for q, U in enumerate(end): climb(q, U) + widths = Counter(len(end[q]) - len(start[q]) for q in range(2 * V, n)) + return paid, widths + + +def enc(w): return json.dumps(w, sort_keys=True, separators=(',', ':')).encode() + + +def main(): + src, out = sys.argv[1], sys.argv[2] + rec = json.load(open(sys.argv[3] if len(sys.argv) > 3 else os.path.join(HERE, 'SW4-RECIPE.json'))) + raw = gzip.decompress(open(src, 'rb').read()) + assert hashlib.sha256(raw).hexdigest() == rec['input_sha256'], 'input sha mismatch' + w = json.loads(raw); S0 = bend_state(w); moves = rec['moves'] + h0 = moves[0]['h']; one = [m for m in moves if m['h'] == h0] + ctl = {}; why = {}; EXP = rec.get('rejection_expected', {}) + if os.environ.get('SW4_PIN') != '1' and set(EXP) != {'N1', 'N2', 'N3'}: raise SystemExit('recipe rejection_expected must pin exactly N1, N2, N3 (set SW4_PIN=1 to record)') + def diff(S): + d = [q for q in range(len(S0)) if S[q] != S0[q]] + return dict(changed_registers=d[:8], n=len(d)) + w0, nt0 = apply_recipe(w, []); p0 = refit(w0, nt0) + ctl['C0_identity'] = not p0 and w0['B'] == w['B'] and w0['early_cleanup'] == w['early_cleanup'] + m1 = [m for m in one if m['kind'] == 'h2r'][:1] + w1, nt1 = apply_recipe(w, m1, drop_delete=True); d1 = diff(bend_state(w1)) + ctl['N1_keep_preread_rejected'] = d1['n'] > 0 and d1 == EXP.get('N1', d1); why['N1'] = d1 + w2, nt2 = apply_recipe(w, m1); p2 = refit(w2, nt2) + why['N2'] = dict(first=list(p2[0]) if p2 else None, n=len(p2)); ctl['N2_partial_rejected'] = bool(p2) and p2[0][0] == 'cap' and why['N2'] == EXP.get('N2', why['N2']) + w3, nt3 = apply_recipe(w, one, wrong_sign=True); d3 = diff(bend_state(w3)) + ctl['N3_wrong_sign_rejected'] = d3['n'] > 0 and d3 == EXP.get('N3', d3); why['N3'] = d3 + assert len(ctl) == 4 + wn, nt = apply_recipe(w, moves); pr = refit(wn, nt) + assert not pr, ('illegal', pr[:5]) + assert bend_state(wn) == S0, 'B-end state changed' + paid, widths = profile(wn) + wn['report'] = dict(wn['report'], local_profile={str(k): v for k, v in sorted(paid.items())}, + local_rank_mass=sum(k * v for k, v in paid.items())) + data = enc(wn); sha = hashlib.sha256(data).hexdigest() + os.makedirs(out, exist_ok=True) + with open(os.path.join(out, 'FULL-WORD.json.gz'), 'wb') as f: f.write(gzip.compress(data, mtime=0)) + rep = dict(recipe=rec['name'], input_sha256=rec['input_sha256'], output_sha256=sha, expected_output_sha256=rec['output_sha256'], + moves=len(moves), controls=ctl, rejection=why, profile=wn['report']['local_profile'], + widths={str(k): v for k, v in sorted(widths.items()) if k}, W=sum(k * v for k, v in widths.items())) + with open(os.path.join(out, 'BUILD.json'), 'w', newline='\n') as f: f.write(json.dumps(rep, indent=1) + '\n') + print(json.dumps(rep, indent=1)) + ok = all(ctl.values()) and sha == rec['output_sha256'] and rep['profile'] == rec['profile_out'] and rep['W'] == rec['W'] + sys.exit(0 if ok else 1) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-leaver8/construction/sw4/reproduce_sw4.py b/research/gauge44-leaver8/construction/sw4/reproduce_sw4.py new file mode 100644 index 0000000000..cb038e064b --- /dev/null +++ b/research/gauge44-leaver8/construction/sw4/reproduce_sw4.py @@ -0,0 +1,87 @@ +#!/usr/bin/env python3 +"""Rebuild the SW4 word (BRoute read-set exchange on four entering-copy pairs) and its native locals. + +Input: a fresh `construction/promo/reproduce_promo.py --base p6n --k ` output directory; its promoted +word is pinned there and by SW4-RECIPE-.json (this package: --k p6n-k4, P6k4 0390ec65..., recipe P6k4). Steps, each checked exactly: + 1. sw4: BRoute's build_sw4.py (standard library only). It applies the 16 explicit moves of SW4-RECIPE-.json: + every listed read of h becomes a read of its face register r and vice versa, with the entrance pre-reads deleted + or inserted. It checks the B-end state of every register mod p, the frame caps, tails and ends, and the output sha + and profile. Its controls C0, N1, N2 and N3 run on every build and must all hold (count pinned to 4). + 2. layer-end-controls: ../layers_p6n/layer_end_controls.py (per-end variant, Q6Reviewer-signed) on the SW4 word; + the count is pinned in LOCAL-PINS-sw4-.json. + 3. native, ledgers, local-replay, wrappers, phases: PR635's native local programs. The canonical word, local + programs and Clifford recipes are pinned (LOCAL-PINS-sw4-.json). +Apache-2.0. Driver by ColdWitness around BRoute's constructor. +""" +import argparse, gzip, hashlib, json, os, subprocess, sys, time +from pathlib import Path + +HERE = Path(__file__).resolve().parent +P6 = HERE.parent / 'layers_p6n' + + +def read(p): + raw = Path(p).read_bytes() + return json.loads(gzip.decompress(raw) if str(p).endswith('.gz') else raw) + + +def main(): + assert __debug__, 'Assertions are required' + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--main', type=Path, required=True) + ap.add_argument('--pr635', type=Path, required=True) + ap.add_argument('--promo-dir', type=Path, required=True, help='construction/promo/reproduce_promo.py output') + ap.add_argument('--out', type=Path, required=True) + ap.add_argument('--recipe', default='P6k4', help='SW4-RECIPE-.json and LOCAL-PINS-sw4-.json') + ap.add_argument('--skip-phases', action='store_true') + a = ap.parse_args() + out = a.out.resolve(); assert not out.exists(); out.mkdir(parents=True) + up = a.pr635.resolve() / 'research/complex-571-cold14-st2' + src = a.main.resolve() / 'research/complex-k492-owner-repair/vendor/multicold' + base = src / 'vendor/pr558'; parent = base / 'vendor/pr552' + rfile = HERE / ('SW4-RECIPE-%s.json' % a.recipe); rec = read(rfile); pins = read(HERE / ('LOCAL-PINS-sw4-%s.json' % a.recipe)) + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONUTF8='1', PYTHONINTMAXSTRDIGITS='0', + MULTICOLD_SOURCE=str(src), GAIN_PR564_SOURCE=str(src)) + for k in ('PYTHONOPTIMIZE', 'XPARAM', 'EXTRAH', 'PAIRING_RANKS', 'DIAG', 'HYBBUDGET', 'PR635_CODE'): env.pop(k, None) + steps = [] + + def run(label, script, *args, portable=True): + t = time.monotonic() + cmd = [sys.executable, '-B'] + ([str(src / 'code/run_portable.py')] if portable else []) + [str(script), *map(str, args)] + with (out / (label + '.log')).open('w') as f: + rc = subprocess.call(cmd, env=env, stdout=f, stderr=subprocess.STDOUT) + steps.append(dict(step=label, exit_code=rc, seconds=round(time.monotonic() - t, 3))) + (out / 'STEPS.json').write_text(json.dumps(steps, indent=2) + '\n') + assert rc == 0, label + print('PASS', label, flush=True) + + inp = a.promo_dir.resolve() / 'promo/FULL-WORD.json.gz' + assert hashlib.sha256(gzip.decompress(inp.read_bytes())).hexdigest() == rec['input_sha256'], 'input must be the pinned promoted word' + run('sw4', HERE / 'build_sw4.py', inp, out / 'sw4', rfile, portable=False) + b = read(out / 'sw4/BUILD.json') + assert len(b['controls']) == pins['sw4_controls'] and all(b['controls'].values()), b['controls'] + word = out / 'sw4/FULL-WORD.json.gz' + assert hashlib.sha256(gzip.decompress(word.read_bytes())).hexdigest() == rec['output_sha256'] + routing = parent / 'complex-local/inputs/phase-baseline/CANONICAL-WORD.json.gz' + env['PR635_CODE'] = str(up / 'code') + run('layer-end-controls', P6 / 'layer_end_controls.py', word, routing, out / 'controls') + env.pop('PR635_CODE') + ctl = read(out / 'controls/COLD-END-CONTROLS.json') + assert ctl['status'] == 'PASS_COLD_END_RAW_WORD_CONTROLS' and len(ctl['rejected']) == pins['layer_controls'], len(ctl['rejected']) + local = out / 'local' + run('native', up / 'code/hpe_audit_and_transport.py', '--raw', word, '--routing', routing, '--out', local) + assert hashlib.sha256(gzip.decompress((local / 'CANONICAL-WORD.json.gz').read_bytes())).hexdigest() == pins['canonical_sha256'], 'canonical word' + run('ledgers', up / 'code/hpe_emit_local.py', local) + run('local-replay', up / 'code/hpe_audit_local.py', local) + run('wrappers', up / 'code/hpe_adapters_local.py', local / 'CANONICAL-WORD.json.gz', + local / 'RESIDUAL-ADAPTERS.json', local / 'WRAPPER-CHECKS.json') + checks = read(local / 'LOCAL-CHECKS.json') + for o, s in pins['program_sha256'].items(): assert checks[o]['sha256'] == s, ('local program', o) + if not a.skip_phases: + run('phases', base / 'code/phases_full.py', local, parent / 'complex-global/vendor531/vendor/clifford') + assert hashlib.sha256((local / 'CLIFFORD-RECIPES.json').read_bytes()).hexdigest() == pins['clifford_recipes_sha256'], 'clifford recipes' + print('DONE', local, flush=True) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-leaver8/data/FRONTIER.json b/research/gauge44-leaver8/data/FRONTIER.json new file mode 100644 index 0000000000..70285d4d85 --- /dev/null +++ b/research/gauge44-leaver8/data/FRONTIER.json @@ -0,0 +1,36 @@ +{ + "checked_at_utc": "2026-10-13 00:54:29 UTC", + "construction_base": { + "pr": 635, + "commit": "a6895a69f8ad98ab45777b03e9e6f48888c39f6f", + "kappa": "0.001636241501576388" + }, + "latest_pr": 642, + "strongest_reported_pr": 641, + "comparisons": [ + { + "number": 641, + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/641", + "title": "Conditional κ = 0.001636523543003976: cost-neutral pivot swaps with four entering ends (s4) on PR635", + "head_sha": "ff580ea5407aa427d64233523e46ee0afe24a766", + "head_repo": "jeremykothe2/integer-mult-bounds", + "created_at": "2026-10-13T00:36:30Z", + "updated_at": "2026-10-13T00:36:30Z", + "reported_kappa": "0.001636523543003976" + }, + { + "number": 642, + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/642", + "title": "Conditional κ = 0.001636472098484378: selective helper-249 dispatch", + "head_sha": "d1154e23e13d85fdbf64d4b41fa20bb0f56a428f", + "head_repo": "vectorsss/integer-mult-bounds", + "created_at": "2026-10-13T00:40:40Z", + "updated_at": "2026-10-13T00:46:54Z", + "reported_kappa": "0.001636472098484378" + } + ], + "new_kappa": "0.001649483702558979", + "gain_over_641_percent": "0.791932362379189601995955118466917211009518325743405547289975", + "gain_over_642_percent": "0.795100881136422911010672021375626721886288268207407873093008", + "scope": "PR641/642 values are their public reported conditional witnesses, not independently replayed here. This delta retains the pinned PR635 construction ancestry and replaces its local supplier and whole-owner dispatch; it does not claim to compose the later pivot swaps or helper249 end." +} diff --git a/research/gauge44-leaver8/data/OWNERS.json.gz b/research/gauge44-leaver8/data/OWNERS.json.gz new file mode 100644 index 0000000000..8eda84ea0c Binary files /dev/null and b/research/gauge44-leaver8/data/OWNERS.json.gz differ diff --git a/research/gauge44-leaver8/data/PLAN.json b/research/gauge44-leaver8/data/PLAN.json new file mode 100644 index 0000000000..4f17b4ccf3 --- /dev/null +++ b/research/gauge44-leaver8/data/PLAN.json @@ -0,0 +1,40249 @@ +{ + "status": "FROZEN_EXPLICIT_GAUGE44_WHOLE_OWNER_NOMINATION", + "mode": "gauge44-all72", + "K": 4, + "T": 8, + "M": 73, + "L": 9, + "live": 7168, + "deficit": 2560, + "profile": { + "1": 174763, + "2": 30105, + "3": 30275, + "4": 12240, + "5": 4896, + "7": 54, + "8": 576, + "16": 23, + "48": 2419 + }, + "order": [ + [ + 0, + 0 + ], + [ + 0, + 1 + ], + [ + 1, + 0 + ], + [ + 0, + 2 + ], + [ + 1, + 1 + ], + [ + 2, + 0 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 2, + 1 + ], + [ + 3, + 0 + ], + [ + 0, + 4 + ], + [ + 1, + 3 + ], + [ + 2, + 2 + ], + [ + 3, + 1 + ], + [ + 4, + 0 + ], + [ + 0, + 5 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 3, + 2 + ], + [ + 4, + 1 + ], + [ + 5, + 0 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 2, + 4 + ], + [ + 3, + 3 + ], + [ + 4, + 2 + ], + [ + 5, + 1 + ], + [ + 0, + 7 + ], + [ + 6, + 0 + ], + [ + 1, + 6 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 4, + 3 + ], + [ + 5, + 2 + ], + [ + 6, + 1 + ], + [ + 1, + 7 + ], + [ + 7, + 0 + ], + [ + 2, + 6 + ], + [ + 3, + 5 + ], + [ + 4, + 4 + ], + [ + 5, + 3 + ], + [ + 6, + 2 + ], + [ + 7, + 1 + ], + [ + 2, + 7 + ], + [ + 8, + 0 + ], + [ + 3, + 6 + ], + [ + 4, + 5 + ], + [ + 5, + 4 + ], + [ + 6, + 3 + ], + [ + 7, + 2 + ], + [ + 8, + 1 + ], + [ + 3, + 7 + ], + [ + 4, + 6 + ], + [ + 5, + 5 + ], + [ + 6, + 4 + ], + [ + 7, + 3 + ], + [ + 8, + 2 + ], + [ + 4, + 7 + ], + [ + 5, + 6 + ], + [ + 6, + 5 + ], + [ + 7, + 4 + ], + [ + 8, + 3 + ], + [ + 5, + 7 + ], + [ + 6, + 6 + ], + [ + 7, + 5 + ], + [ + 8, + 4 + ], + [ + 6, + 7 + ], + [ + 7, + 6 + ], + [ + 8, + 5 + ], + [ + 7, + 7 + ], + [ + 8, + 6 + ], + [ + 8, + 7 + ] + ], + "windows": { + "0,0": [ + 16, + [ + 0, + 1, + 2 + ] + ], + "0,2": [ + 16, + [ + 0, + 1, + 2 + ] + ], + "0,1": [ + 8, + [ + 3, + 4, + 5 + ] + ], + "0,3": [ + 8, + [ + 3, + 4, + 5 + ] + ], + "0,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ] + ], + "0,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ] + ], + "0,5": [ + 8, + [ + 10, + 11, + 12, + 13, + 14 + ] + ], + "0,7": [ + 8, + [ + 10, + 11, + 12, + 13, + 14 + ] + ], + "0,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20 + ] + ], + "0,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20 + ] + ], + "0,9": [ + 8, + [ + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ] + ], + "0,11": [ + 8, + [ + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ] + ], + "0,12": [ + 48, + [ + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44 + ] + ], + "0,13": [ + 48, + [ + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44 + ] + ], + "0,14": [ + 32, + [ + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44 + ] + ], + "0,15": [ + 32, + [ + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44 + ] + ], + "0,16": [ + 16, + [ + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44 + ] + ], + "0,17": [ + 16, + [ + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44 + ] + ], + "1,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4 + ] + ], + "1,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4 + ] + ], + "1,1": [ + 8, + [ + 5, + 6, + 7, + 8 + ] + ], + "1,3": [ + 8, + [ + 5, + 6, + 7, + 8 + ] + ], + "1,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13 + ] + ], + "1,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13 + ] + ], + "1,5": [ + 8, + [ + 14, + 15, + 16, + 17, + 18, + 19 + ] + ], + "1,7": [ + 8, + [ + 14, + 15, + 16, + 17, + 18, + 19 + ] + ], + "1,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26 + ] + ], + "1,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26 + ] + ], + "1,9": [ + 8, + [ + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34 + ] + ], + "1,11": [ + 8, + [ + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34 + ] + ], + "1,12": [ + 48, + [ + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50 + ] + ], + "1,13": [ + 48, + [ + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50 + ] + ], + "1,14": [ + 32, + [ + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50 + ] + ], + "1,15": [ + 32, + [ + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50 + ] + ], + "1,16": [ + 16, + [ + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50 + ] + ], + "1,17": [ + 16, + [ + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50 + ] + ], + "2,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ] + ], + "2,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ] + ], + "2,1": [ + 8, + [ + 8, + 9, + 10, + 11, + 12 + ] + ], + "2,3": [ + 8, + [ + 8, + 9, + 10, + 11, + 12 + ] + ], + "2,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18 + ] + ], + "2,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18 + ] + ], + "2,5": [ + 8, + [ + 19, + 20, + 21, + 22, + 23, + 24, + 25 + ] + ], + "2,7": [ + 8, + [ + 19, + 20, + 21, + 22, + 23, + 24, + 25 + ] + ], + "2,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33 + ] + ], + "2,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33 + ] + ], + "2,9": [ + 8, + [ + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41 + ] + ], + "2,11": [ + 8, + [ + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41 + ] + ], + "2,12": [ + 48, + [ + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ] + ], + "2,13": [ + 48, + [ + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ] + ], + "2,14": [ + 32, + [ + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ] + ], + "2,15": [ + 32, + [ + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ] + ], + "2,16": [ + 16, + [ + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ] + ], + "2,17": [ + 16, + [ + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ] + ], + "3,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ] + ], + "3,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ] + ], + "3,1": [ + 8, + [ + 12, + 13, + 14, + 15, + 16, + 17 + ] + ], + "3,3": [ + 8, + [ + 12, + 13, + 14, + 15, + 16, + 17 + ] + ], + "3,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24 + ] + ], + "3,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24 + ] + ], + "3,5": [ + 8, + [ + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32 + ] + ], + "3,7": [ + 8, + [ + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32 + ] + ], + "3,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40 + ] + ], + "3,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40 + ] + ], + "3,9": [ + 8, + [ + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48 + ] + ], + "3,11": [ + 8, + [ + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48 + ] + ], + "3,12": [ + 48, + [ + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61 + ] + ], + "3,13": [ + 48, + [ + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61 + ] + ], + "3,14": [ + 32, + [ + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61 + ] + ], + "3,15": [ + 32, + [ + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61 + ] + ], + "3,16": [ + 16, + [ + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61 + ] + ], + "3,17": [ + 16, + [ + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61 + ] + ], + "4,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16 + ] + ], + "4,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16 + ] + ], + "4,1": [ + 8, + [ + 17, + 18, + 19, + 20, + 21, + 22, + 23 + ] + ], + "4,3": [ + 8, + [ + 17, + 18, + 19, + 20, + 21, + 22, + 23 + ] + ], + "4,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31 + ] + ], + "4,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31 + ] + ], + "4,5": [ + 8, + [ + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39 + ] + ], + "4,7": [ + 8, + [ + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39 + ] + ], + "4,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47 + ] + ], + "4,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47 + ] + ], + "4,9": [ + 8, + [ + 48, + 49, + 50, + 51, + 52, + 53, + 54 + ] + ], + "4,11": [ + 8, + [ + 48, + 49, + 50, + 51, + 52, + 53, + 54 + ] + ], + "4,12": [ + 48, + [ + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65 + ] + ], + "4,13": [ + 48, + [ + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65 + ] + ], + "4,14": [ + 32, + [ + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65 + ] + ], + "4,15": [ + 32, + [ + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65 + ] + ], + "4,16": [ + 16, + [ + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65 + ] + ], + "4,17": [ + 16, + [ + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65 + ] + ], + "5,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22 + ] + ], + "5,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22 + ] + ], + "5,1": [ + 8, + [ + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30 + ] + ], + "5,3": [ + 8, + [ + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30 + ] + ], + "5,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38 + ] + ], + "5,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38 + ] + ], + "5,5": [ + 8, + [ + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46 + ] + ], + "5,7": [ + 8, + [ + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46 + ] + ], + "5,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53 + ] + ], + "5,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53 + ] + ], + "5,9": [ + 8, + [ + 54, + 55, + 56, + 57, + 58, + 59 + ] + ], + "5,11": [ + 8, + [ + 54, + 55, + 56, + 57, + 58, + 59 + ] + ], + "5,12": [ + 48, + [ + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68 + ] + ], + "5,13": [ + 48, + [ + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68 + ] + ], + "5,14": [ + 32, + [ + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68 + ] + ], + "5,15": [ + 32, + [ + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68 + ] + ], + "5,16": [ + 16, + [ + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68 + ] + ], + "5,17": [ + 16, + [ + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68 + ] + ], + "6,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29 + ] + ], + "6,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29 + ] + ], + "6,1": [ + 8, + [ + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37 + ] + ], + "6,3": [ + 8, + [ + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37 + ] + ], + "6,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45 + ] + ], + "6,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45 + ] + ], + "6,5": [ + 8, + [ + 46, + 47, + 48, + 49, + 50, + 51, + 52 + ] + ], + "6,7": [ + 8, + [ + 46, + 47, + 48, + 49, + 50, + 51, + 52 + ] + ], + "6,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58 + ] + ], + "6,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58 + ] + ], + "6,9": [ + 8, + [ + 59, + 60, + 61, + 62, + 63 + ] + ], + "6,11": [ + 8, + [ + 59, + 60, + 61, + 62, + 63 + ] + ], + "6,12": [ + 48, + [ + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70 + ] + ], + "6,13": [ + 48, + [ + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70 + ] + ], + "6,14": [ + 32, + [ + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70 + ] + ], + "6,15": [ + 32, + [ + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70 + ] + ], + "6,16": [ + 16, + [ + 64, + 65, + 66, + 67, + 68, + 69, + 70 + ] + ], + "6,17": [ + 16, + [ + 64, + 65, + 66, + 67, + 68, + 69, + 70 + ] + ], + "7,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ] + ], + "7,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ] + ], + "7,1": [ + 8, + [ + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43 + ] + ], + "7,3": [ + 8, + [ + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43 + ] + ], + "7,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51 + ] + ], + "7,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51 + ] + ], + "7,5": [ + 8, + [ + 52, + 53, + 54, + 55, + 56, + 57 + ] + ], + "7,7": [ + 8, + [ + 52, + 53, + 54, + 55, + 56, + 57 + ] + ], + "7,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62 + ] + ], + "7,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62 + ] + ], + "7,9": [ + 8, + [ + 63, + 64, + 65, + 66 + ] + ], + "7,11": [ + 8, + [ + 63, + 64, + 65, + 66 + ] + ], + "7,12": [ + 48, + [ + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71 + ] + ], + "7,13": [ + 48, + [ + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71 + ] + ], + "7,14": [ + 32, + [ + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71 + ] + ], + "7,15": [ + 32, + [ + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71 + ] + ], + "7,16": [ + 16, + [ + 67, + 68, + 69, + 70, + 71 + ] + ], + "7,17": [ + 16, + [ + 67, + 68, + 69, + 70, + 71 + ] + ] + }, + "sides": { + "0": 0, + "2": 1, + "1": 0, + "3": 1, + "4": 0, + "6": 1, + "5": 0, + "7": 1, + "8": 0, + "10": 1, + "9": 0, + "11": 1, + "12": 0, + "13": 1, + "14": 0, + "15": 1, + "16": 0, + "17": 1 + }, + "pairs": { + "0": 1, + "2": 1, + "1": 1, + "3": 1, + "4": 2, + "6": 2, + "5": 2, + "7": 2, + "8": 3, + "10": 3, + "9": 3, + "11": 3, + "12": 0, + "13": 0, + "14": 1, + "15": 1, + "16": 2, + "17": 2 + }, + "solver_status": "g44pack_early_lns_of_deterministic-capacity-matching", + "gap": null, + "provider_calls": [ + { + "time": 0, + "stage": 0, + "replica": 0, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "683f83231d4d4890a7fc3d18f30d4ac7bfbd7bbdf4e7ff57ad0eb09e8a5f571c" + }, + { + "time": 1, + "stage": 0, + "replica": 1, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "683f83231d4d4890a7fc3d18f30d4ac7bfbd7bbdf4e7ff57ad0eb09e8a5f571c" + }, + { + "time": 2, + "stage": 1, + "replica": 0, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "2d184e4d9d48aa4d5e3679368ee0eca7e0388b1966eb05e0fd17d22d00d36293" + }, + { + "time": 3, + "stage": 0, + "replica": 2, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "683f83231d4d4890a7fc3d18f30d4ac7bfbd7bbdf4e7ff57ad0eb09e8a5f571c" + }, + { + "time": 4, + "stage": 1, + "replica": 1, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "2d184e4d9d48aa4d5e3679368ee0eca7e0388b1966eb05e0fd17d22d00d36293" + }, + { + "time": 5, + "stage": 2, + "replica": 0, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "683f83231d4d4890a7fc3d18f30d4ac7bfbd7bbdf4e7ff57ad0eb09e8a5f571c" + }, + { + "time": 6, + "stage": 0, + "replica": 3, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "683f83231d4d4890a7fc3d18f30d4ac7bfbd7bbdf4e7ff57ad0eb09e8a5f571c" + }, + { + "time": 7, + "stage": 1, + "replica": 2, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "2d184e4d9d48aa4d5e3679368ee0eca7e0388b1966eb05e0fd17d22d00d36293" + }, + { + "time": 8, + "stage": 2, + "replica": 1, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "683f83231d4d4890a7fc3d18f30d4ac7bfbd7bbdf4e7ff57ad0eb09e8a5f571c" + }, + { + "time": 9, + "stage": 3, + "replica": 0, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "2d184e4d9d48aa4d5e3679368ee0eca7e0388b1966eb05e0fd17d22d00d36293" + }, + { + "time": 10, + "stage": 0, + "replica": 4, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "683f83231d4d4890a7fc3d18f30d4ac7bfbd7bbdf4e7ff57ad0eb09e8a5f571c" + }, + { + "time": 11, + "stage": 1, + "replica": 3, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "2d184e4d9d48aa4d5e3679368ee0eca7e0388b1966eb05e0fd17d22d00d36293" + }, + { + "time": 12, + "stage": 2, + "replica": 2, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "683f83231d4d4890a7fc3d18f30d4ac7bfbd7bbdf4e7ff57ad0eb09e8a5f571c" + }, + { + "time": 13, + "stage": 3, + "replica": 1, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "2d184e4d9d48aa4d5e3679368ee0eca7e0388b1966eb05e0fd17d22d00d36293" + }, + { + "time": 14, + "stage": 4, + "replica": 0, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "683f83231d4d4890a7fc3d18f30d4ac7bfbd7bbdf4e7ff57ad0eb09e8a5f571c" + }, + { + "time": 15, + "stage": 0, + "replica": 5, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "683f83231d4d4890a7fc3d18f30d4ac7bfbd7bbdf4e7ff57ad0eb09e8a5f571c" + }, + { + "time": 16, + "stage": 1, + "replica": 4, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "2d184e4d9d48aa4d5e3679368ee0eca7e0388b1966eb05e0fd17d22d00d36293" + }, + { + "time": 17, + "stage": 2, + "replica": 3, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "683f83231d4d4890a7fc3d18f30d4ac7bfbd7bbdf4e7ff57ad0eb09e8a5f571c" + }, + { + "time": 18, + "stage": 3, + "replica": 2, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "2d184e4d9d48aa4d5e3679368ee0eca7e0388b1966eb05e0fd17d22d00d36293" + }, + { + "time": 19, + "stage": 4, + "replica": 1, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "683f83231d4d4890a7fc3d18f30d4ac7bfbd7bbdf4e7ff57ad0eb09e8a5f571c" + }, + { + "time": 20, + "stage": 5, + "replica": 0, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "2d184e4d9d48aa4d5e3679368ee0eca7e0388b1966eb05e0fd17d22d00d36293" + }, + { + "time": 21, + "stage": 0, + "replica": 6, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "683f83231d4d4890a7fc3d18f30d4ac7bfbd7bbdf4e7ff57ad0eb09e8a5f571c" + }, + { + "time": 22, + "stage": 1, + "replica": 5, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "2d184e4d9d48aa4d5e3679368ee0eca7e0388b1966eb05e0fd17d22d00d36293" + }, + { + "time": 23, + "stage": 2, + "replica": 4, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "683f83231d4d4890a7fc3d18f30d4ac7bfbd7bbdf4e7ff57ad0eb09e8a5f571c" + }, + { + "time": 24, + "stage": 3, + "replica": 3, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "2d184e4d9d48aa4d5e3679368ee0eca7e0388b1966eb05e0fd17d22d00d36293" + }, + { + "time": 25, + "stage": 4, + "replica": 2, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "683f83231d4d4890a7fc3d18f30d4ac7bfbd7bbdf4e7ff57ad0eb09e8a5f571c" + }, + { + "time": 26, + "stage": 5, + "replica": 1, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "2d184e4d9d48aa4d5e3679368ee0eca7e0388b1966eb05e0fd17d22d00d36293" + }, + { + "time": 27, + "stage": 0, + "replica": 7, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "683f83231d4d4890a7fc3d18f30d4ac7bfbd7bbdf4e7ff57ad0eb09e8a5f571c" + }, + { + "time": 28, + "stage": 6, + "replica": 0, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "683f83231d4d4890a7fc3d18f30d4ac7bfbd7bbdf4e7ff57ad0eb09e8a5f571c" + }, + { + "time": 29, + "stage": 1, + "replica": 6, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "2d184e4d9d48aa4d5e3679368ee0eca7e0388b1966eb05e0fd17d22d00d36293" + }, + { + "time": 30, + "stage": 2, + "replica": 5, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "683f83231d4d4890a7fc3d18f30d4ac7bfbd7bbdf4e7ff57ad0eb09e8a5f571c" + }, + { + "time": 31, + "stage": 3, + "replica": 4, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "2d184e4d9d48aa4d5e3679368ee0eca7e0388b1966eb05e0fd17d22d00d36293" + }, + { + "time": 32, + "stage": 4, + "replica": 3, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "683f83231d4d4890a7fc3d18f30d4ac7bfbd7bbdf4e7ff57ad0eb09e8a5f571c" + }, + { + "time": 33, + "stage": 5, + "replica": 2, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "2d184e4d9d48aa4d5e3679368ee0eca7e0388b1966eb05e0fd17d22d00d36293" + }, + { + "time": 34, + "stage": 6, + "replica": 1, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "683f83231d4d4890a7fc3d18f30d4ac7bfbd7bbdf4e7ff57ad0eb09e8a5f571c" + }, + { + "time": 35, + "stage": 1, + "replica": 7, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "2d184e4d9d48aa4d5e3679368ee0eca7e0388b1966eb05e0fd17d22d00d36293" + }, + { + "time": 36, + "stage": 7, + "replica": 0, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "2d184e4d9d48aa4d5e3679368ee0eca7e0388b1966eb05e0fd17d22d00d36293" + }, + { + "time": 37, + "stage": 2, + "replica": 6, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "683f83231d4d4890a7fc3d18f30d4ac7bfbd7bbdf4e7ff57ad0eb09e8a5f571c" + }, + { + "time": 38, + "stage": 3, + "replica": 5, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "2d184e4d9d48aa4d5e3679368ee0eca7e0388b1966eb05e0fd17d22d00d36293" + }, + { + "time": 39, + "stage": 4, + "replica": 4, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "683f83231d4d4890a7fc3d18f30d4ac7bfbd7bbdf4e7ff57ad0eb09e8a5f571c" + }, + { + "time": 40, + "stage": 5, + "replica": 3, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "2d184e4d9d48aa4d5e3679368ee0eca7e0388b1966eb05e0fd17d22d00d36293" + }, + { + "time": 41, + "stage": 6, + "replica": 2, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "683f83231d4d4890a7fc3d18f30d4ac7bfbd7bbdf4e7ff57ad0eb09e8a5f571c" + }, + { + "time": 42, + "stage": 7, + "replica": 1, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "2d184e4d9d48aa4d5e3679368ee0eca7e0388b1966eb05e0fd17d22d00d36293" + }, + { + "time": 43, + "stage": 2, + "replica": 7, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "683f83231d4d4890a7fc3d18f30d4ac7bfbd7bbdf4e7ff57ad0eb09e8a5f571c" + }, + { + "time": 44, + "stage": 8, + "replica": 0, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "683f83231d4d4890a7fc3d18f30d4ac7bfbd7bbdf4e7ff57ad0eb09e8a5f571c" + }, + { + "time": 45, + "stage": 3, + "replica": 6, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "2d184e4d9d48aa4d5e3679368ee0eca7e0388b1966eb05e0fd17d22d00d36293" + }, + { + "time": 46, + "stage": 4, + "replica": 5, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "683f83231d4d4890a7fc3d18f30d4ac7bfbd7bbdf4e7ff57ad0eb09e8a5f571c" + }, + { + "time": 47, + "stage": 5, + "replica": 4, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "2d184e4d9d48aa4d5e3679368ee0eca7e0388b1966eb05e0fd17d22d00d36293" + }, + { + "time": 48, + "stage": 6, + "replica": 3, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "683f83231d4d4890a7fc3d18f30d4ac7bfbd7bbdf4e7ff57ad0eb09e8a5f571c" + }, + { + "time": 49, + "stage": 7, + "replica": 2, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "2d184e4d9d48aa4d5e3679368ee0eca7e0388b1966eb05e0fd17d22d00d36293" + }, + { + "time": 50, + "stage": 8, + "replica": 1, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "683f83231d4d4890a7fc3d18f30d4ac7bfbd7bbdf4e7ff57ad0eb09e8a5f571c" + }, + { + "time": 51, + "stage": 3, + "replica": 7, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "2d184e4d9d48aa4d5e3679368ee0eca7e0388b1966eb05e0fd17d22d00d36293" + }, + { + "time": 52, + "stage": 4, + "replica": 6, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "683f83231d4d4890a7fc3d18f30d4ac7bfbd7bbdf4e7ff57ad0eb09e8a5f571c" + }, + { + "time": 53, + "stage": 5, + "replica": 5, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "2d184e4d9d48aa4d5e3679368ee0eca7e0388b1966eb05e0fd17d22d00d36293" + }, + { + "time": 54, + "stage": 6, + "replica": 4, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "683f83231d4d4890a7fc3d18f30d4ac7bfbd7bbdf4e7ff57ad0eb09e8a5f571c" + }, + { + "time": 55, + "stage": 7, + "replica": 3, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "2d184e4d9d48aa4d5e3679368ee0eca7e0388b1966eb05e0fd17d22d00d36293" + }, + { + "time": 56, + "stage": 8, + "replica": 2, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "683f83231d4d4890a7fc3d18f30d4ac7bfbd7bbdf4e7ff57ad0eb09e8a5f571c" + }, + { + "time": 57, + "stage": 4, + "replica": 7, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "683f83231d4d4890a7fc3d18f30d4ac7bfbd7bbdf4e7ff57ad0eb09e8a5f571c" + }, + { + "time": 58, + "stage": 5, + "replica": 6, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "2d184e4d9d48aa4d5e3679368ee0eca7e0388b1966eb05e0fd17d22d00d36293" + }, + { + "time": 59, + "stage": 6, + "replica": 5, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "683f83231d4d4890a7fc3d18f30d4ac7bfbd7bbdf4e7ff57ad0eb09e8a5f571c" + }, + { + "time": 60, + "stage": 7, + "replica": 4, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "2d184e4d9d48aa4d5e3679368ee0eca7e0388b1966eb05e0fd17d22d00d36293" + }, + { + "time": 61, + "stage": 8, + "replica": 3, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "683f83231d4d4890a7fc3d18f30d4ac7bfbd7bbdf4e7ff57ad0eb09e8a5f571c" + }, + { + "time": 62, + "stage": 5, + "replica": 7, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "2d184e4d9d48aa4d5e3679368ee0eca7e0388b1966eb05e0fd17d22d00d36293" + }, + { + "time": 63, + "stage": 6, + "replica": 6, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "683f83231d4d4890a7fc3d18f30d4ac7bfbd7bbdf4e7ff57ad0eb09e8a5f571c" + }, + { + "time": 64, + "stage": 7, + "replica": 5, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "2d184e4d9d48aa4d5e3679368ee0eca7e0388b1966eb05e0fd17d22d00d36293" + }, + { + "time": 65, + "stage": 8, + "replica": 4, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "683f83231d4d4890a7fc3d18f30d4ac7bfbd7bbdf4e7ff57ad0eb09e8a5f571c" + }, + { + "time": 66, + "stage": 6, + "replica": 7, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "683f83231d4d4890a7fc3d18f30d4ac7bfbd7bbdf4e7ff57ad0eb09e8a5f571c" + }, + { + "time": 67, + "stage": 7, + "replica": 6, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "2d184e4d9d48aa4d5e3679368ee0eca7e0388b1966eb05e0fd17d22d00d36293" + }, + { + "time": 68, + "stage": 8, + "replica": 5, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "683f83231d4d4890a7fc3d18f30d4ac7bfbd7bbdf4e7ff57ad0eb09e8a5f571c" + }, + { + "time": 69, + "stage": 7, + "replica": 7, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "2d184e4d9d48aa4d5e3679368ee0eca7e0388b1966eb05e0fd17d22d00d36293" + }, + { + "time": 70, + "stage": 8, + "replica": 6, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "683f83231d4d4890a7fc3d18f30d4ac7bfbd7bbdf4e7ff57ad0eb09e8a5f571c" + }, + { + "time": 71, + "stage": 8, + "replica": 7, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "683f83231d4d4890a7fc3d18f30d4ac7bfbd7bbdf4e7ff57ad0eb09e8a5f571c" + } + ], + "per_call_widths": [ + { + "stage": 0, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + } + ], + "provider_registry": { + "gauge44": { + "directory": "providers/gauge44", + "artifact_sha256": { + "CANONICAL-WORD.json.gz": "99b5e2898e2a11b9d674b9c359e4bd2bccf93dfa941878f8e395361cbfd454a6", + "LOCAL-PROGRAMS.json.gz": "32487d23f80e50efb073ca12b6d5decbab1978e3680f20a13112d8f9b19a1b3f", + "LOCAL-CHECKS.json": "134fbf45a602dad29d0caba99f45cd2c37afb053933331eca9bbad1e67bb8c83", + "INDEPENDENT-LOCAL-REPLAY.json": "abfc1e1e34d8bc93d77cfacfd49334d3f082219b6b0ccbd9d6cda736a521fcc8", + "CLIFFORD-RECIPES.json": "e3bfdfa2c044f14c00a8706950c8ae838ceeedd9ca78a83bffefe7886219516a", + "CLIFFORD-REVIEW.json": "bdcaad010336965eaffc0fcab177d38c3413cf72b1d3d9957a5c9953d96b5281", + "RESIDUAL-ADAPTERS.json": "383f40aadd00a4ac700dfd0d4c22d6c6c0be9a9863116e4d69c7acd23bafae0c" + }, + "ports": [ + 11, + 19, + 35, + 67, + 131, + 259, + 13, + 21, + 37, + 69, + 133, + 261, + 41, + 73, + 137, + 265, + 49, + 81, + 145, + 273, + 161, + 289, + 193, + 321, + 385, + 14, + 22, + 38, + 70, + 134, + 262, + 26, + 74, + 138, + 266, + 50, + 146, + 274, + 98, + 162, + 290, + 194, + 322, + 386, + 28, + 44, + 140, + 268, + 84, + 148, + 276, + 100, + 164, + 292, + 196, + 324, + 388, + 56, + 88, + 152, + 280, + 104, + 168, + 296, + 200, + 328, + 392, + 112, + 176, + 304, + 208, + 336, + 400, + 224, + 352, + 416, + 448, + 508, + 506, + 502, + 494, + 478, + 446, + 382, + 254, + 505, + 501, + 493, + 477, + 445, + 381, + 253, + 499, + 491, + 475, + 443, + 379, + 251, + 487, + 471, + 439, + 375, + 247, + 463, + 431, + 367, + 239, + 415, + 351, + 223, + 319, + 191 + ], + "centers": [ + 92, + 57, + 81, + 224, + 11, + 240, + 9, + 256 + ], + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ], + "actual_paid_profile": { + "1": 2412, + "2": 418, + "3": 418, + "4": 170, + "5": 68, + "8": 8 + }, + "orientation_program_sha256": { + "forward": "683f83231d4d4890a7fc3d18f30d4ac7bfbd7bbdf4e7ff57ad0eb09e8a5f571c", + "backward": "2d184e4d9d48aa4d5e3679368ee0eca7e0388b1966eb05e0fd17d22d00d36293" + }, + "artifact_semantic_sha256": { + "CANONICAL-WORD.json.gz": "d1bf3c6f250a61be7421ce566668092f362c465274fb472d4bb01fc80cba9b23", + "LOCAL-PROGRAMS.json.gz": "ad9ce1708474b8b4790b8a1908b47fde0e182d319b3baac4180dd6d928bcfab5", + "LOCAL-CHECKS.json": "d51d68565b29e8552c94b6a682f8b79d4819d49339437a599da4e32ddffe2c34", + "INDEPENDENT-LOCAL-REPLAY.json": "837cb8512af6a4c6338d1cf246c124ea7e269005374fb9ba07a44aff1891fa59", + "CLIFFORD-RECIPES.json": "e3bfdfa2c044f14c00a8706950c8ae838ceeedd9ca78a83bffefe7886219516a", + "CLIFFORD-REVIEW.json": "b5ead2492b255dc030c5796c66d885fdc4fb4129c3d4bd6e632a627ebd4244d1", + "RESIDUAL-ADAPTERS.json": "c682e9ff1b347f89771c6800f46ad98c2bb92b91c5c88452d53a9e7f0180c35f" + } + } + }, + "source_plan_sha256": "258a8b9baa245fa4096828671e2f1d1462b5af08d56890629622ef6125eaddda", + "assignment_sha256": "32ca30cd1c652ef6ad43657273a08a157e1df3545e759ab36306a0d0b516fb4a", + "source_owners_sha256": "935ff1a6823c6625daba3349b28d74acf9a3d70a5947ae155aa66c7821804add" +} diff --git a/research/gauge44-leaver8/data/PREPARATION.json b/research/gauge44-leaver8/data/PREPARATION.json new file mode 100644 index 0000000000..8c7796820f --- /dev/null +++ b/research/gauge44-leaver8/data/PREPARATION.json @@ -0,0 +1,45 @@ +{ + "status": "PASS_EXPLICIT_MAP_AND_FRESH_PROVIDER_NOMINATION", + "parent_plan_sha256": "258a8b9baa245fa4096828671e2f1d1462b5af08d56890629622ef6125eaddda", + "source_owners_sha256": "90ff7657a23dcfb67532b49c0800c5fc259b27c89005081e24bf184869e1bd57", + "global_profile": { + "1": 181093, + "2": 29164, + "3": 32429, + "4": 11520, + "5": 4032, + "7": 7, + "8": 582, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + }, + "idle_profile": { + "1": 85, + "2": 76, + "3": 173, + "7": 7, + "8": 6, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + }, + "roles": 35424, + "rank_mass": 520704, + "deficit": 2560, + "remaining": "Independent emitted-controller audit, fresh finite invoice, exact moments and outer assembly." +} diff --git a/research/gauge44-leaver8/data/SPEC.json b/research/gauge44-leaver8/data/SPEC.json new file mode 100644 index 0000000000..db24c49da4 --- /dev/null +++ b/research/gauge44-leaver8/data/SPEC.json @@ -0,0 +1,1327 @@ +{ + "schema": "witness-spec/1", + "name": "gauge44-all72", + "data": { + "plan_sha256": "7b3122026e82b9d9e964d2a50c7bffdc976ae3dfea64bb98b2fdad5cfbdbaa20", + "owners_sha256": "32ca30cd1c652ef6ad43657273a08a157e1df3545e759ab36306a0d0b516fb4a" + }, + "dispatch": [ + [ + 0, + 0, + "gauge44" + ], + [ + 0, + 1, + "gauge44" + ], + [ + 0, + 2, + "gauge44" + ], + [ + 0, + 3, + "gauge44" + ], + [ + 0, + 4, + "gauge44" + ], + [ + 0, + 5, + "gauge44" + ], + [ + 0, + 6, + "gauge44" + ], + [ + 0, + 7, + "gauge44" + ], + [ + 1, + 0, + "gauge44" + ], + [ + 1, + 1, + "gauge44" + ], + [ + 1, + 2, + "gauge44" + ], + [ + 1, + 3, + "gauge44" + ], + [ + 1, + 4, + "gauge44" + ], + [ + 1, + 5, + "gauge44" + ], + [ + 1, + 6, + "gauge44" + ], + [ + 1, + 7, + "gauge44" + ], + [ + 2, + 0, + "gauge44" + ], + [ + 2, + 1, + "gauge44" + ], + [ + 2, + 2, + "gauge44" + ], + [ + 2, + 3, + "gauge44" + ], + [ + 2, + 4, + "gauge44" + ], + [ + 2, + 5, + "gauge44" + ], + [ + 2, + 6, + "gauge44" + ], + [ + 2, + 7, + "gauge44" + ], + [ + 3, + 0, + "gauge44" + ], + [ + 3, + 1, + "gauge44" + ], + [ + 3, + 2, + "gauge44" + ], + [ + 3, + 3, + "gauge44" + ], + [ + 3, + 4, + "gauge44" + ], + [ + 3, + 5, + "gauge44" + ], + [ + 3, + 6, + "gauge44" + ], + [ + 3, + 7, + "gauge44" + ], + [ + 4, + 0, + "gauge44" + ], + [ + 4, + 1, + "gauge44" + ], + [ + 4, + 2, + "gauge44" + ], + [ + 4, + 3, + "gauge44" + ], + [ + 4, + 4, + "gauge44" + ], + [ + 4, + 5, + "gauge44" + ], + [ + 4, + 6, + "gauge44" + ], + [ + 4, + 7, + "gauge44" + ], + [ + 5, + 0, + "gauge44" + ], + [ + 5, + 1, + "gauge44" + ], + [ + 5, + 2, + "gauge44" + ], + [ + 5, + 3, + "gauge44" + ], + [ + 5, + 4, + "gauge44" + ], + [ + 5, + 5, + "gauge44" + ], + [ + 5, + 6, + "gauge44" + ], + [ + 5, + 7, + "gauge44" + ], + [ + 6, + 0, + "gauge44" + ], + [ + 6, + 1, + "gauge44" + ], + [ + 6, + 2, + "gauge44" + ], + [ + 6, + 3, + "gauge44" + ], + [ + 6, + 4, + "gauge44" + ], + [ + 6, + 5, + "gauge44" + ], + [ + 6, + 6, + "gauge44" + ], + [ + 6, + 7, + "gauge44" + ], + [ + 7, + 0, + "gauge44" + ], + [ + 7, + 1, + "gauge44" + ], + [ + 7, + 2, + "gauge44" + ], + [ + 7, + 3, + "gauge44" + ], + [ + 7, + 4, + "gauge44" + ], + [ + 7, + 5, + "gauge44" + ], + [ + 7, + 6, + "gauge44" + ], + [ + 7, + 7, + "gauge44" + ], + [ + 8, + 0, + "gauge44" + ], + [ + 8, + 1, + "gauge44" + ], + [ + 8, + 2, + "gauge44" + ], + [ + 8, + 3, + "gauge44" + ], + [ + 8, + 4, + "gauge44" + ], + [ + 8, + 5, + "gauge44" + ], + [ + 8, + 6, + "gauge44" + ], + [ + 8, + 7, + "gauge44" + ] + ], + "call_order": [ + [ + 0, + 0 + ], + [ + 0, + 1 + ], + [ + 1, + 0 + ], + [ + 0, + 2 + ], + [ + 1, + 1 + ], + [ + 2, + 0 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 2, + 1 + ], + [ + 3, + 0 + ], + [ + 0, + 4 + ], + [ + 1, + 3 + ], + [ + 2, + 2 + ], + [ + 3, + 1 + ], + [ + 4, + 0 + ], + [ + 0, + 5 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 3, + 2 + ], + [ + 4, + 1 + ], + [ + 5, + 0 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 2, + 4 + ], + [ + 3, + 3 + ], + [ + 4, + 2 + ], + [ + 5, + 1 + ], + [ + 0, + 7 + ], + [ + 6, + 0 + ], + [ + 1, + 6 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 4, + 3 + ], + [ + 5, + 2 + ], + [ + 6, + 1 + ], + [ + 1, + 7 + ], + [ + 7, + 0 + ], + [ + 2, + 6 + ], + [ + 3, + 5 + ], + [ + 4, + 4 + ], + [ + 5, + 3 + ], + [ + 6, + 2 + ], + [ + 7, + 1 + ], + [ + 2, + 7 + ], + [ + 8, + 0 + ], + [ + 3, + 6 + ], + [ + 4, + 5 + ], + [ + 5, + 4 + ], + [ + 6, + 3 + ], + [ + 7, + 2 + ], + [ + 8, + 1 + ], + [ + 3, + 7 + ], + [ + 4, + 6 + ], + [ + 5, + 5 + ], + [ + 6, + 4 + ], + [ + 7, + 3 + ], + [ + 8, + 2 + ], + [ + 4, + 7 + ], + [ + 5, + 6 + ], + [ + 6, + 5 + ], + [ + 7, + 4 + ], + [ + 8, + 3 + ], + [ + 5, + 7 + ], + [ + 6, + 6 + ], + [ + 7, + 5 + ], + [ + 8, + 4 + ], + [ + 6, + 7 + ], + [ + 7, + 6 + ], + [ + 8, + 5 + ], + [ + 7, + 7 + ], + [ + 8, + 6 + ], + [ + 8, + 7 + ] + ], + "width_spot_helpers": [ + 258, + 270, + 282, + 294 + ], + "providers": { + "gauge44": { + "inventory": { + "4": 56, + "5": 32, + "7": 30, + "8": 122, + "9": 240 + }, + "native_negative_controls": 25, + "phase_edges": 2896, + "expected_profile": { + "1": 2412, + "2": 418, + "3": 418, + "4": 170, + "5": 68, + "8": 8 + }, + "artifact_semantic_sha256": { + "CANONICAL-WORD.json.gz": "d1bf3c6f250a61be7421ce566668092f362c465274fb472d4bb01fc80cba9b23", + "LOCAL-PROGRAMS.json.gz": "ad9ce1708474b8b4790b8a1908b47fde0e182d319b3baac4180dd6d928bcfab5", + "LOCAL-CHECKS.json": "d51d68565b29e8552c94b6a682f8b79d4819d49339437a599da4e32ddffe2c34", + "INDEPENDENT-LOCAL-REPLAY.json": "837cb8512af6a4c6338d1cf246c124ea7e269005374fb9ba07a44aff1891fa59", + "CLIFFORD-RECIPES.json": "e3bfdfa2c044f14c00a8706950c8ae838ceeedd9ca78a83bffefe7886219516a", + "CLIFFORD-REVIEW.json": "b5ead2492b255dc030c5796c66d885fdc4fb4129c3d4bd6e632a627ebd4244d1", + "RESIDUAL-ADAPTERS.json": "c682e9ff1b347f89771c6800f46ad98c2bb92b91c5c88452d53a9e7f0180c35f" + }, + "entering": 192, + "entrance": 384, + "width_digest": "ca0b972f2ee81a50449ce6489ddf9a94be914f84351136c2a9e3f81b37a0e387", + "program_hashes": { + "backward": "2d184e4d9d48aa4d5e3679368ee0eca7e0388b1966eb05e0fd17d22d00d36293", + "forward": "683f83231d4d4890a7fc3d18f30d4ac7bfbd7bbdf4e7ff57ad0eb09e8a5f571c" + }, + "artifacts": { + "LOCAL-CHECKS.json": "134fbf45a602dad29d0caba99f45cd2c37afb053933331eca9bbad1e67bb8c83", + "CLIFFORD-RECIPES.json": "e3bfdfa2c044f14c00a8706950c8ae838ceeedd9ca78a83bffefe7886219516a", + "RESIDUAL-ADAPTERS.json": "383f40aadd00a4ac700dfd0d4c22d6c6c0be9a9863116e4d69c7acd23bafae0c" + }, + "complete_contract": { + "local": { + "backward": { + "events": 24753, + "macros": 19679, + "real_component_primitives": 198674, + "prefix_l1": "14824955600738971847565/64", + "prefix_bits": 68, + "coefficient_work_primitive_count": 98295, + "all_exact_columns": 704, + "dirty_helper_columns": 480, + "all_dirty_helper_columns_restored": true, + "private_centres_and_coefficient_work_cleared": true, + "pre_wrappers": 240, + "post_wrappers": 240, + "endpoint_evidence": "Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json" + }, + "forward": { + "events": 24753, + "macros": 19679, + "real_component_primitives": 198626, + "prefix_l1": "11061380959509307613/4096", + "prefix_bits": 52, + "coefficient_work_primitive_count": 98263, + "all_exact_columns": 704, + "dirty_helper_columns": 480, + "all_dirty_helper_columns_restored": true, + "private_centres_and_coefficient_work_cleared": true, + "pre_wrappers": 240, + "post_wrappers": 240, + "endpoint_evidence": "Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json" + } + }, + "helpers": 480, + "centres": 8, + "v": 112, + "h": 9, + "n": 704, + "entering_helpers": 192, + "entrance_rank": 384, + "terminal_codimension": 206, + "hyperplane_ended_helpers": 78, + "cold_hyperplane_ended_helpers": 48, + "width_inventory": { + "4": 56, + "5": 32, + "7": 30, + "8": 122, + "9": 240 + }, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ], + "local_adapters": 386832, + "local_primitive_bound": 10032231262226, + "compiler": 25934336, + "children": 3494, + "paid_profile": { + "1": 2412, + "2": 418, + "3": 418, + "4": 170, + "5": 68, + "8": 8 + }, + "program_hashes": { + "backward": "2d184e4d9d48aa4d5e3679368ee0eca7e0388b1966eb05e0fd17d22d00d36293", + "forward": "683f83231d4d4890a7fc3d18f30d4ac7bfbd7bbdf4e7ff57ad0eb09e8a5f571c" + }, + "semantic_artifact_sha256": { + "CANONICAL-WORD.json.gz": "d1bf3c6f250a61be7421ce566668092f362c465274fb472d4bb01fc80cba9b23", + "LOCAL-PROGRAMS.json.gz": "ad9ce1708474b8b4790b8a1908b47fde0e182d319b3baac4180dd6d928bcfab5", + "LOCAL-CHECKS.json": "d51d68565b29e8552c94b6a682f8b79d4819d49339437a599da4e32ddffe2c34", + "INDEPENDENT-LOCAL-REPLAY.json": "837cb8512af6a4c6338d1cf246c124ea7e269005374fb9ba07a44aff1891fa59", + "CLIFFORD-RECIPES.json": "e3bfdfa2c044f14c00a8706950c8ae838ceeedd9ca78a83bffefe7886219516a", + "CLIFFORD-REVIEW.json": "b5ead2492b255dc030c5796c66d885fdc4fb4129c3d4bd6e632a627ebd4244d1", + "RESIDUAL-ADAPTERS.json": "c682e9ff1b347f89771c6800f46ad98c2bb92b91c5c88452d53a9e7f0180c35f" + } + }, + "semantic_phase_sha256": "b5ead2492b255dc030c5796c66d885fdc4fb4129c3d4bd6e632a627ebd4244d1", + "expected_local": { + "forward": { + "events": 24753, + "macros": 19679, + "real_component_primitives": 198626, + "prefix_l1": "11061380959509307613/4096", + "coefficient_work_primitive_count": 98263 + }, + "backward": { + "events": 24753, + "macros": 19679, + "real_component_primitives": 198674, + "prefix_l1": "14824955600738971847565/64", + "coefficient_work_primitive_count": 98295 + } + }, + "wrappers": 240 + } + }, + "expected": { + "gain_baseline_kappa": "0.001636241501576388", + "hosted_residuals": 34560, + "rank_mass": 520704, + "actual_73column_sigmas": 8899, + "cross_replica_helper_roles": 27858, + "idle_remainders": 3783, + "idle_remainder_profile": { + "1": 1099, + "2": 9, + "3": 179, + "7": 54, + "16": 23, + "48": 2419 + }, + "global_profile": { + "1": 174763, + "2": 30105, + "3": 30275, + "4": 12240, + "5": 4896, + "7": 54, + "8": 576, + "16": 23, + "48": 2419 + }, + "live": 7168, + "physical": 7658, + "conservative_kappa_decimal": "0.001671387261540186", + "kappa_decimal": "0.001671387264390146", + "complex_lower": "837092738337043214923/500000000000000000000000", + "conservative_complex_lower": "1674185473814575474867/1000000000000000000000000", + "kappa": "835693632195073/500000000000000000", + "assembly_controls_rejected": 69, + "provider_counts": { + "gauge44": 72 + }, + "mutations_rejected": 15 + }, + "pivot_swap": { + "recipe": "construction/leaver/PIVOT-SWAP-k8.json", + "sha256": "3ef7acf0cf67442a532f25b53d5fbeda76d3a84524118df8e003ca69b5cac0bb" + } +} diff --git a/research/gauge44-leaver8/data/UPSTREAM-PINS.json b/research/gauge44-leaver8/data/UPSTREAM-PINS.json new file mode 100644 index 0000000000..68486b84e3 --- /dev/null +++ b/research/gauge44-leaver8/data/UPSTREAM-PINS.json @@ -0,0 +1,23 @@ +{ + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/CANONICAL-WORD.json.gz": "66d3c3c70983224650643a0a05a21ac6c6959f84d0f4528650601016f5a76844", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/CLIFFORD-RECIPES.json": "534ace870cabe515987e00f50f71550030965006ea18978e0924590ac6944345", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/CLIFFORD-REVIEW.json": "ee9b86428278392d2c933f76d60e51f5af90d4ab67e4d3937ed2fa416e7755ab", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/INDEPENDENT-LOCAL-REPLAY.json": "ad3f2b941127688f98ce6872d00f110644f1c2b156f8adad1b6700e838ed0e26", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/INDEPENDENT-REPLAY.json": "ad3f2b941127688f98ce6872d00f110644f1c2b156f8adad1b6700e838ed0e26", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/INTEGRATION.json": "5c14538134dfffbc58fa4b4d2f26b270ec5f56d17d4bf23752c82964f45171db", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/LOCAL-CHECKS.json": "79177449e404403964ce1b2f4a9a8bd49e1916daba3123d7fd7f5cfd1f1ac0ea", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/LOCAL-PROGRAMS.json.gz": "99a18eede965accf65943e490b8d2b2ffb9f1c9bc6babdb825413a80cbea2cde", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/RESIDUAL-ADAPTERS.json": "baafef737acc16dafbe1150896feb16744f3d669fa123bb2bff19ecc4e71b275", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/SCALAR-FRAME-AUDIT.json": "73b3601a6239502475a272ea0c46945fd42034486aaf43e66a212eb4f012ca44", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/WRAPPER-CHECKS.json": "9a09146e686c4f535b04fdef3753fe01dad8f5e8881a69408a91394acb5b48f5", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/work/complex-nine-native/DATA-PHASES.json": "c5916ff312678f12aba403847643fbbc29f643acec60bdf836fa56cd3e8251fa", + "research/complex-k492-owner-repair/vendor/multicold/code/run_portable.py": "322d29d43dbee8130cde15d4bf05396698b5e3dfe3735813899db91cc0ba7955", + "research/complex-k492-owner-repair/vendor/multicold/engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "research/complex-k492-owner-repair/vendor/multicold/engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "research/complex-k492-owner-repair/vendor/multicold/engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "research/complex-k492-owner-repair/vendor/multicold/inputs/PR543-EXPECTED.json": "06eccee9f6b77e140833df83407e7996dc948c17d49b0779ab171fbe463fd28d", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/evidence/audit/PREFIX-AND-INVOICE.json": "ce1bfa49be88ae67a404f606a11db2232b7e1f2610d4418058e39749d86d8478", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor535/inputs/ROUND20-PARENT-TEMPLATE.json.gz": "025448abdf2012d327e50a009084e1501690d05e650300d2982836aa0350ae00", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/controller-input/split-centres/CANONICAL-WORD.json.gz": "de2be0f4b6d24ace368fd5b834b7a00f9625d0a1824c4ff969f2db5f115db667", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/code/prepare_supplier_base.py": "f5eae94aca965d0008bc07cff8245ccb7509042ccad457d3bcb7d51c1e9409f0" +} diff --git a/research/gauge44-leaver8/evidence/ADMISSION-CONTROLS.json b/research/gauge44-leaver8/evidence/ADMISSION-CONTROLS.json new file mode 100644 index 0000000000..2e15a10065 --- /dev/null +++ b/research/gauge44-leaver8/evidence/ADMISSION-CONTROLS.json @@ -0,0 +1,102 @@ +{ + "status": "PASS_EXACT_MIXED_048_ALLCOLD_NATIVE_ASSEMBLY_ADMISSION_NEGATIVE_CONTROLS", + "valid_receipt_kappa": "1649483702558979/1000000000000000000", + "input_sha256": { + "owner_audit": "a32ecc0d5387d65648e1ff284209122860ee37aaba43ce2dd12024c4bc394313", + "fresh_invoice": "14b0f41c88209e800236ce4ebbf91d83537e22e18807153d90013f7eee57a582", + "inputs/PR543-EXPECTED.json": "06eccee9f6b77e140833df83407e7996dc948c17d49b0779ab171fbe463fd28d", + "engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c" + }, + "assembler_sha256": "7ac28118d69416e4fb67b61216285fb0823310b7635ce1b9025aa3f10119ef6a", + "rejected_controls": [ + "empty_certification_maps", + "failed_invoice_status", + "nonboolean_precision_check", + "wrong_owner_role_count", + "understated_physical_stock", + "changed_profile_same_rank_mass", + "insufficient_finite_C0", + "missing_finite_check", + "wrong_reflected_orientation_selfconsistent_totals", + "missing_selected_call", + "wrong_selected_primitive_sum", + "wrong_selected_coefficient_work_sum", + "unpaid_wrapper_factors", + "wrong_global_compiler", + "wrong_global_adapter_maximum", + "understated_exact_prefix_and_global_sum", + "wrong_global_prefix_sum", + "wrong_row_prefix_reserve", + "wrong_parent_geometry_charge", + "wrong_rebased_geometry_charge", + "wrong_complete_pervertex_envelope", + "wrong_prior_added_complete_invoice", + "wrong_finite_router_bits", + "wrong_finite_literal_bits", + "wrong_finite_physical_stock_bits", + "wrong_finite_row_coefficient", + "reordered_complete_calls", + "understated_explicit_idle_remainders", + "understated_actual_chart_types", + "wrong_cross_replica_role_count", + "old_no_cold_wrapper_counts_selfconsistent", + "gauge44:missing_provider", + "gauge44:missing_backward_orientation", + "gauge44:unpaid_scalar_primitive", + "gauge44:wrong_local_artifact_binding", + "gauge44:false_dirty_restoration", + "gauge44:wrong_declared_provider_count", + "gauge44:wrong_local_compiler", + "gauge44:wrong_local_adapter_charge", + "gauge44:wrong_local_primitive_bound", + "gauge44:forged_provider_and_call_program_hash", + "gauge44:provider_at_wrong_call", + "gauge44:synchronized_forged_source_recipe_hash", + "gauge44:synchronized_forged_phase_review_semantics", + "gauge44:width_order_swap_4_5", + "gauge44:width_inventory_shift_4_5", + "gauge44:width_order_swap_4_7", + "gauge44:width_inventory_shift_4_7", + "gauge44:width_order_swap_4_8", + "gauge44:width_inventory_shift_4_8", + "gauge44:width_order_swap_4_9", + "gauge44:width_inventory_shift_4_9", + "gauge44:width_order_swap_5_7", + "gauge44:width_inventory_shift_5_7", + "gauge44:width_order_swap_5_8", + "gauge44:width_inventory_shift_5_8", + "gauge44:width_order_swap_5_9", + "gauge44:width_inventory_shift_5_9", + "gauge44:width_order_swap_7_8", + "gauge44:width_inventory_shift_7_8", + "gauge44:width_order_swap_7_9", + "gauge44:width_inventory_shift_7_9", + "gauge44:width_order_swap_8_9", + "gauge44:width_inventory_shift_8_9", + "gauge44:cold_helper_width_swap_264", + "gauge44:cold_helper_width_swap_276", + "gauge44:cold_helper_width_swap_288", + "gauge44:cold_helper_width_swap_300", + "wrong_owner_receipt_hash" + ], + "discovery_accepted_controls": [], + "exact_outer_controls": [ + "next_grid", + "zero_eta", + "zero_beta", + "unit_beta" + ], + "conservative_outer_controls": [ + "next_grid", + "zero_eta", + "zero_beta", + "unit_beta" + ], + "recurrence_model_controls": [ + "native_complex_endpoint_rejected_with_old_surcharge", + "omitting_bit_surcharge_would_fail_next_endpoint_rejection" + ], + "scope": "Complete receipt schema; ordered widths and both reflected providers; exact program, work and paid-profile binding; independently recounted compiler, conservative envelope and finite inequalities. Does not replace fresh physical replay." +} diff --git a/research/gauge44-leaver8/evidence/ASSEMBLY.json b/research/gauge44-leaver8/evidence/ASSEMBLY.json new file mode 100644 index 0000000000..6feaaf28f5 --- /dev/null +++ b/research/gauge44-leaver8/evidence/ASSEMBLY.json @@ -0,0 +1,336 @@ +{ + "status": "PASS_GAUGE44_NATIVE_EXACT_GLOBAL_ASSEMBLY", + "kappa": "1649483702558979/1000000000000000000", + "kappa_decimal": "0.001649483702558979", + "complex_lower": "1652208994368411824947/1000000000000000000000000", + "complex_decimal": "0.001652208994368411824947", + "bit_lower": "413456747036699736067/250000000000000000000000", + "bit_decimal": "0.001653826988146798944268", + "binding": "complex", + "gain_over_pr635_percent": "0.8093060205252829126484020359439672024956960385078942889840023844750830", + "complex_profile": { + "1": 181093, + "2": 29164, + "3": 32429, + "4": 11520, + "5": 4032, + "7": 7, + "8": 582, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + }, + "provider_counts": { + "gauge44": 72 + }, + "surcharge_model": { + "complex": false, + "bit": true + }, + "conservative_complex_lower": "826104495740783435531/500000000000000000000000", + "conservative_complex_decimal": "0.001652208991481566871062", + "conservative_kappa": "32989673993633/20000000000000000", + "conservative_kappa_decimal": "0.00164948369968165", + "conservative_moments": [ + { + "side": "conservative_complex", + "surcharge": true, + "endpoint": "826104495740783435531/500000000000000000000000", + "accept": true, + "mercator": [ + "-21470727653278306311183666306239229019733127/13479973333575319897333507543509815336818572211270286240551805124608", + "-10735363826639153155591833153119614509866563/6739986666787659948666753771754907668409286105635143120275902562304" + ], + "base_two": [ + "-497746012127833654257/312500000000000000000000000000000000000000000", + "-15927862388090676936081/10000000000000000000000000000000000000000000000" + ] + }, + { + "side": "conservative_complex", + "surcharge": true, + "endpoint": "1652208991481566871063/1000000000000000000000000", + "accept": false, + "mercator": [ + "18565857384700607217299861034814026061253869/13479973333575319897333507543509815336818572211270286240551805124608", + "9282928692350303608649930517407013030626935/6739986666787659948666753771754907668409286105635143120275902562304" + ], + "base_two": [ + "3443229403069298452661/2500000000000000000000000000000000000000000000", + "6886463806138596905393/5000000000000000000000000000000000000000000000" + ] + } + ], + "conservative_bootstrap": [ + { + "exponent": "412385685180656454166549264744655866734211385357236332091088842586409092836277952888766748039/250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "666562689735263598950072203096262874070849142763667908911157413590907163722047111233251961/250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "5064079519162" + }, + { + "exponent": "206525573284761175512531267070234734086162997564863775372380915312260537579589712487639916151798780772051965162106786567177267184954922826291/125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "550650434683370218401403641330717978119685136224627619084687739462420410287512360083848201219227948034837893213432822732815045077173709/125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "1855113791006194394" + }, + { + "exponent": "103263061512703129767826074285021991628452086339263045204373010454992865610677336738873844192820011712987227316937414267052501172258472295234559238219891652401488082322583795324180689654479/62500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "454894799673548759951916040773618472285736954795626989545007134389322663261126155807179988287012772683062585732947498827741527704765440761780108347598511917677416204675819310345521/62500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "679580003544484094184219" + }, + { + "exponent": "51631530983423174081587995422763705511463803560275446891594962002253805557680841136478473308373535599630472737022595278769657751046420516932624996624821336420775380353032156988877311591948170858471939709729324917119896056841137038106651/31250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "375790639099421695705310689571475752224553108405037997746194442319158863521526691626464400369527262977404721230342248953579483067375003375178663579224619646967843011122688408051829141528060290270675082880103943158862961893349/31250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "248949139107542177224284717390" + }, + { + "exponent": "25815765491899171918007291224739112961920330868753566637213660249294181959373199689620973587025160691744778232655677905734546021049010279802309251671202559782629995396349706306018533755676891522445602691753137818884540822614505790975637207188084426480115050716386268926740408639183319/15625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "310442336417334495395138597308787496433362786339750705818040626800310379026412974839308255221767344322094265453978950989720197690748328797440217370004603650293693981466244323108477554397308246862181115459177385494209024362792811915573519884949283613731073259591360816681/15625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "91197023954707297182834066510188309" + }, + { + "exponent": "12907882745949740923714044496984490980274913441911668026309349328701170257318232044487278001962200060194315656940445191119148905788010009704145659576637708822386921067210646238981446862191953905605296632993352808355973492462268456184932241751785844259109396882935383667850308942850925398049837650776722500045535479944043369072892611/7812500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "256457809782632763069983906386213331973690650671298829742681767955512721998037799939805684343059554808880851094211989990295854340423362291177613078932789353761018553137808046094394703367006647191644026507537731543815067758248214155740890603117064616332149691057149074601950162349223277499954464520055956630927107389/7812500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "33408017428823827582408170997246977713592" + }, + { + "exponent": "6453941372974870589874066190179359429223492150943942660253925369657676501670157676520076923585728651827056389733462702476438321555395171695829522825243816397176490500987320047869073790658506195324550255473939677250207018200219145476567868694651116496373252177209611861852333112633908219202390034583139015516104491880456514987243190785983454804003067787432731319536372259595238559/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "211860949629267595905917763118557339746074630342323498329842323479923076414271348172943610266537297523561678444604828304170477174756183602823509499012679952130926209341493804675449744526060322749792981799780854523432131305348883503626747822790388138147666887366091780797609965416860984483895508119543485012756809214016545195996932212567268680463627740404761441/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "12238290024451914798381844566546350371351403966" + } + ], + "conservative_outer": { + "bit_positive": "6453941372974870589874066190179359429223492150943942660253925369657676501670157676520076923585728651827056389733462702476438321555395171695829522825243816397176490500987320047869073790658506195324550255473939677250207018200219145476567868694651116496373252177209611861852333112633908219202390034583139015516104491880456514987243190785983454804003067787432731319536372259595238559/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "complex_above_bit": "211871309820640570776507849056057339746074630342323498329842323479923076414271348172943610266537297523561678444604828304170477174756183602823509499012679952130926209341493804675449744526060322749792981799780854523432131305348883503626747822790388138147666887366091780797609965416860984483895508119543485012756809214016545195996932212567268680463627740404761441/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "complex_below_one_over32": "14798895504259216564469/500000000000000000000000", + "beta_positive": "1/1000000000000000000000000", + "beta_below_one": "999999999999999999999999/1000000000000000000000000", + "leaf_saving_above_bit": "211864855879267595905917763118557339746074630342323498329842323479923076414271348172943610266537297523561678444604828304170477174756183602823509499012679952130926209341493804675449744526060322749792981799780854523432131305348883503626747822790388138147666887366091780797609965416860984483895508119543485012756809214016545195996932212567268680463627740404761441/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_positive": "3226970686487435294937026641148306739741156201405781150767533461336687306892418584334668804116362655755851674789807765509567333721307852385212284974300352803416549420970834780118139718838752110342227258663179180118908184549854098798606684140307358029041149520736111279809670183064776899989333164958456873849833043550193674354606079288499846945486546650525579676313382126729831846768680463627740404761441/1953125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_internal": "6453941372974870589874066190179359429223492150943942660253925369657676501670157676520076923585728651827056389733462702476438321555395171695829522825243816397176490500987320047869073790658506195324550255473939677250207018200219145476567868694651116496373252177209611861852333112633908219202390034583139015516104491880456514987243190785983454804003067787432731319536372259595238559/1953125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_leaf": "105938881881006772823548755625468849232466538663312693107581415665331195883637344244148325210192234490432666278692147614787715025699647196583450579029165219881860281161247889657772741336820819881091815450145901201393315859692641970958850479263888720190329816935223100010666835041543126150166956449806325645393920711500153054513453349474420323686617873270168153231319536372259595238559/1953125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "c_positive": "3226970686487435294937514922398306739741156201405781150767533461336687306892418584334668804116362655755851674789807765509567333721307852385212284974300352803416549420970834780118139718838752110342227258663179180118908184549854098798606684140307358029041149520736111279809670183064776899989333164958456873849833043550193674354606079288499846945486546650525579676313382126729831846768680463627740404761441/1953125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "c_below_one": "1949898029313512564705062485077601693260258843798594218849232466538663312693107581415665331195883637344244148325210192234490432666278692147614787715025699647196583450579029165219881860281161247889657772741336820819881091815450145901201393315859692641970958850479263888720190329816935223100010666835041543126150166956449806325645393920711500153054513453349474420323686617873270168153231319536372259595238559/1953125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_reservations": "1/4000000000000000000000000", + "lambda_above_tau": "6453941372974870589874066190179359429223492150943942660253925369657676501670157676520076923585728651827056389733462702476438321555395171695829522825243816397176490500987320047869073790658506195324550255473939677250207018200219145476567868694651116496373252177209611861852333112633908219202390034583139015516104491880456514987243190785983454804003067787432731319536372259595238559/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_above_sigma": "211877763762013545647097723122247519105503853834474442272502577405292734090773018330620130343460883252213505500994561766872953613077738997995205328535505195947323385831994791995497613599850981255988306350036328463109381512367083722772224390659082789264163260618268990409471817749973618392114710509578068151772325318508425652511919455758054663918431743472548873731319536372259595238559/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_above_internal": "6453941372974870589874066190179359429223492150943942660253925369657676501670157676520076923585728651827056389733462702476438321555395171695829522825243816397176490500987320047869073790658506195324550255473939677250207018200219145476567868694651116496373252177209611861852333112633908219202390034583139015516104491880456514987243190785983454804003067787432731319536372259595238559/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_prime_above_lambda": "6453941372974870589874066190179359429223492150943942660253925369657676501670157676520076923585728651827056389733462702476438321555395171695829522825243816397176490500987320047869073790658506195324550255473939677250207018200219145476567868694651116496373252177209611861852333112633908219202390034583139015516104491880456514987243190785983454804003067787432731319536372259595238559/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_leaf": "105938881881006772823548755625468849232466538663312693107581415665331195883637344244148325210192234490432666278692147614787715025699647196583450579029165219881860281161247889657772741336820819881091815450145901201393315859692641970958850479263888720190329816935223100010666835041543126150166956449806325645393920711500153054513453349474420323686617873270168153231319536372259595238559/1953125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_reservations": "1/4000000000000000000000000", + "lambda_prime_below_one": "3226970686487435294937026641148306739741156201405781150767533461336687306892418584334668804116362655755851674789807765509567333721307852385212284974300352803416549420970834780118139718838752110342227258663179180118908184549854098798606684140307358029041149520736111279809670183064776899989333164958456873849833043550193674354606079288499846945486546650525579676313382126729831846768680463627740404761441/1953125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "epsilon_positive": "1953124999999999999999998046875000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000/1956351970686487435294937026641148306739741156201405781150767533461336687306892418584334668804116362655755851674789807765509567333721307852385212284974300352803416549420970834780118139718838752110342227258663179180118908184549854098798606684140307358029041149520736111279809670183064776899989333164958456873849833043550193674354606079288499846945486546650525579676313382126729831846768680463627740404761441", + "epsilon_below_one": "3226970686487435294938979766148306739741156201405781150767533461336687306892418584334668804116362655755851674789807765509567333721307852385212284974300352803416549420970834780118139718838752110342227258663179180118908184549854098798606684140307358029041149520736111279809670183064776899989333164958456873849833043550193674354606079288499846945486546650525579676313382126729831846768680463627740404761441/1956351970686487435294937026641148306739741156201405781150767533461336687306892418584334668804116362655755851674789807765509567333721307852385212284974300352803416549420970834780118139718838752110342227258663179180118908184549854098798606684140307358029041149520736111279809670183064776899989333164958456873849833043550193674354606079288499846945486546650525579676313382126729831846768680463627740404761441", + "guard_width": "3226970686487435294938979766148306739741156201405781150767533461336687306892418584334668804116362655755851674789807765509567333721307852385212284974300352803416549420970834780118139718838752110342227258663179180118908184549854098798606684140307358029041149520736111279809670183064776899989333164958456873849833043550193674354606079288499846945486546650525579676313382126729831846768680463627740404761441/1956351970686487435294937026641148306739741156201405781150767533461336687306892418584334668804116362655755851674789807765509567333721307852385212284974300352803416549420970834780118139718838752110342227258663179180118908184549854098798606684140307358029041149520736111279809670183064776899989333164958456873849833043550193674354606079288499846945486546650525579676313382126729831846768680463627740404761441", + "K_geometry": "1468070720686487435294937514922398306739741156201405781150767533461336687306892418584334668804116362655755851674789807765509567333721307852385212284974300352803416549420970834780118139718838752110342227258663179180118908184549854098798606684140307358029041149520736111279809670183064776899989333164958456873849833043550193674354606079288499846945486546650525579676313382126729831846768680463627740404761441/1956351970686487435294937026641148306739741156201405781150767533461336687306892418584334668804116362655755851674789807765509567333721307852385212284974300352803416549420970834780118139718838752110342227258663179180118908184549854098798606684140307358029041149520736111279809670183064776899989333164958456873849833043550193674354606079288499846945486546650525579676313382126729831846768680463627740404761441000000000000000000000000", + "K_dominates_log": "3226970686487435294937511695427620252305861263890858752460793720180485901111267816801207467429055763337267340121003649146911577869633062577446775406966631495564164208685860479765336302289331139507447140523460341366797842322595435619426565232122808174942350914051970972451641141915256163878053355288273809072933054217028715897732229455456296751812192044446291176466436640183181321189004150245613674929594231319536372259595238559/1956351970686487435294937026641148306739741156201405781150767533461336687306892418584334668804116362655755851674789807765509567333721307852385212284974300352803416549420970834780118139718838752110342227258663179180118908184549854098798606684140307358029041149520736111279809670183064776899989333164958456873849833043550193674354606079288499846945486546650525579676313382126729831846768680463627740404761441000000000000000000000000", + "record_suffix": "3226970686487435294938979766148306739741156201405781150767533461336687306892418584334668804116362655755851674789807765509567333721307852385212284974300352803416549420970834780118139718838752110342227258663179180118908184549854098798606684140307358029041149520736111279809670183064776899989333164958456873849833043550193674354606079288499846945486546650525579676313382126729831846768680463627740404761441/1956351970686487435294937026641148306739741156201405781150767533461336687306892418584334668804116362655755851674789807765509567333721307852385212284974300352803416549420970834780118139718838752110342227258663179180118908184549854098798606684140307358029041149520736111279809670183064776899989333164958456873849833043550193674354606079288499846945486546650525579676313382126729831846768680463627740404761441", + "phase_local": "25815765491899482359509881777215767430493954674219608057833527949537297049358197907143889096243594353628229063649658007713882913918788029273932770227069101119480010155481703940592314334160595911903037951165714602199155134171574127209673354214274314378230397559204749931119332423368694463803385509997471926021764359068384436379974784474955225370218018598125348910660111527292004248569767395639796508259681231319536372259595238559/15650815765491899482359496213129186453917929249611246249206140267690693498455139348674677350432930901246046813398318462124076538669770462819081698279794402822427332395367766678240945117750710016882737818069305433440951265476398832790388853473122458864232329196165888890238477361464518215199914665319667654990798664348401549394836848634307998775563892373204204637410507057013838654774149443709021923238091528000000000000000000000000", + "phase_boundary": "5163153098379896471900411273866604296150554985222608692921313796982498285246718967402008749898873356790778344994888308452651978102417774008574146391546843177614093861268361347836220133592582405712783495721367849438142753052507894898590575716307222992367040626493637740337443251754122303871653254263347933382832880347144920510495877028556204919104120034761638982254465916221080429250212428422257917786458831319536372259595238559/3130163153098379896471899242625837290783585849922249249841228053538138699691027869734935470086586180249209362679663692424815307733954092563816339655958880564485466479073553335648189023550142003376547563613861086688190253095279766558077770694624491772846465839233177778047695472292903643039982933063933530998159732869680309878967369726861599755112778474640840927482101411402767730954829888741804384647618305600000000000000000000000", + "gamma_sublinear": "1/2000000000000000000000000", + "cell_above_band": "3906249999999999999999994137398029313512564705062973358851693260258843798594218849232466538663312693107581415665331195883637344244148325210192234490432666278692147614787715025699647196583450579029165219881860281161247889657772741336820819881091815450145901201393315859692641970958850479263888720190329816935223100010666835041543126150166956449806325645393920711500153054513453349474420323686617873270168153231319536372259595238559/7825407882745949741179748106564593226958964624805623124603070133845346749227569674337338675216465450623023406699159231062038269334885231409540849139897201411213666197683883339120472558875355008441368909034652716720475632738199416395194426736561229432116164598082944445119238680732259107599957332659833827495399332174200774697418424317153999387781946186602102318705253528506919327387074721854510961619045764000000000000000000000000", + "prime_interval_packing": "3226970686487435294938979766148306739741156201405781150767533461336687306892418584334668804116362655755851674789807765509567333721307852385212284974300352803416549420970834780118139718838752110342227258663179180118908184549854098798606684140307358029041149520736111279809670183064776899989333164958456873849833043550193674354606079288499846945486546650525579676313382126729831846768680463627740404761441/1956351970686487435294937026641148306739741156201405781150767533461336687306892418584334668804116362655755851674789807765509567333721307852385212284974300352803416549420970834780118139718838752110342227258663179180118908184549854098798606684140307358029041149520736111279809670183064776899989333164958456873849833043550193674354606079288499846945486546650525579676313382126729831846768680463627740404761441", + "alpha_positive": "6453941372974870589876003180325926992047017465784921153228327181517173208003686401135876271545418419093119014910811414656478911590940914962659060381266984298980713629656695259883476021128083249849674399186639521485706026872449534418033249372430166203983500434788082252261311324980033063867386520246730682922766097767222390252338308743956143697298738694971870852779818766913013167957684613873354079691035231319536372259595238559/3912703941372974870589874053282296613479482312402811562301535066922673374613784837168669337608232725311511703349579615531019134667442615704770424569948600705606833098841941669560236279437677504220684454517326358360237816369099708197597213368280614716058082299041472222559619340366129553799978666329916913747699666087100387348709212158576999693890973093301051159352626764253459663693537360927255480809522882000000000000000000000000", + "alpha_below_one": "3906249999999999999999998050101970686487435294937026641148306739741156201405781150767533461336687306892418584334668804116362655755851674789807765509567333721307852385212284974300352803416549420970834780118139718838752110342227258663179180118908184549854098798606684140307358029041149520736111279809670183064776899989333164958456873849833043550193674354606079288499846945486546650525579676313382126729831846768680463627740404761441/3912703941372974870589874053282296613479482312402811562301535066922673374613784837168669337608232725311511703349579615531019134667442615704770424569948600705606833098841941669560236279437677504220684454517326358360237816369099708197597213368280614716058082299041472222559619340366129553799978666329916913747699666087100387348709212158576999693890973093301051159352626764253459663693537360927255480809522882000000000000000000000000", + "alpha_below_one_fourth": "971722043970268847057592510140248226377823560634917969422155439549151170445442522891031458130512762908784806822484092468098304755269713011229947082105883192102727561080828722130175593838291292805321439230144950068573748065402477514981270092697723512810537074325579973387643523766552355386127280062232497754002150424007874446924964730900293779775444534630290918985376872296451902755426655617940516122689685268680463627740404761441/3912703941372974870589874053282296613479482312402811562301535066922673374613784837168669337608232725311511703349579615531019134667442615704770424569948600705606833098841941669560236279437677504220684454517326358360237816369099708197597213368280614716058082299041472222559619340366129553799978666329916913747699666087100387348709212158576999693890973093301051159352626764253459663693537360927255480809522882000000000000000000000000", + "delta_positive": "1/8000000000000000000000000", + "delta_below_one_eighth": "999999999999999999999999/8000000000000000000000000", + "short_record_fallback": "7616768350326285557500319775653039882167791373606484433247966343434288108018622581046971563310328015701829825865161075895589557869002227910163859966123751049011574089086818827397845295188747039740805603604306735718724487573983298303347943047832446306575284675533737097663574583370895732239816339414872288224973497321202082691939259199649525897121646158714570558007923356081995983858955555812385514139941650448054969080495460839451184943579045934071718914451277154414260694865402045088246492924621190212696589297290139170457113442903864489881182428482943926033330169648915939096761899935129171461630633550206360734465453786062702930868880734179253684068961295379267720699847283311726943651844776757599676210480855235552712881882161583412704615034946691001348844134260624423778504120396481/7641999885494091544120847760316985573202113891411741332620185677583346434792548510095057300016079541624046295604647686584021747397348858798379735488180860753138345896175667323359836483276713875431024325229153043672339485095897867573432057359923075617300941990315375434686756524152596784765583332675618972163475910326367944040447679997220702527130806822853615545610599148932538405651440158061045860956099378906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "small_field_exposure": "1/1000000000000000000000000", + "artificial_boundary": "109581526123935195858875991199089403690805739881701049917094042360749016591858458241700019187473509130645630260190554109341700276625718726922076882767057223743342216318578988348828619352255328397974406884908862624043866454837872438312648368141704224563420929965147163542829892978839594283807651161986351789120720014755211890034065410623963120855092162049451874964783597292570349189769934578612321766094227764306041390883221214284323/15650815765491899482359496213129186453917929249611246249206140267690693498455139348674677350432930901246046813398318462124076538669770462819081698279794402822427332395367766678240945117750710016882737818069305433440951265476398832790388853473122458864232329196165888890238477361464518215199914665319667654990798664348401549394836848634307998775563892373204204637410507057013838654774149443709021923238091528000000000000000000000000", + "literal_scalar_guard": "1", + "row_product_gap": "23971789/25", + "balanced_prefix_above_kappa": "22200664394464068201218451251709660099895005854056647094104902383532607617880707943289313682606481683041097904310248641310014220990880046435669692660714113332169622156571009112311747389402252920606378362090592667540916232777689188179337564977308018790044043286680427258859028858029102001845446586248858526682126585053940466953916779314590626875566608934902197480400674781390017936270431029836796882094847/39127039413729748705898740532822966134794823124028115623015350669226733746137848371686693376082327253115117033495796155310191346674426157047704245699486007056068330988419416695602362794376775042206844545173263583602378163690997081975972133682806147160580822990414722225596193403661295537999786663299169137476996660871003873487092121585769996938909730933010511593526267642534596636935373609272554808095228820000000000000000", + "coordinate_movement_above_kappa": "10645671093425277374066190179359429223492150943942660253925369657676501670157676520076923585728651827056389733462702476438321555395171695829522825243816397176490500987320047869073790658506195324550255473939677250207018200219145476567868694651116496373252177209611861852333112633908219202390034583139015516104491880456514987243190785983454804003067787432731319536372259595238559/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_phase_layer_above_kappa": "1110031263371232723573487267648456363846443552961676153299463968409096919557348090272047099795655280035692239459660757275692945539976668600475632247823420692308128304412001034644752589351972927191566807762302374713866631519976274859112779450258716799194844135292871842206840163091784917027495429323109761375649455402863979797502164611123452055278483501258563223494454062756118770083689704723159380477001945238559/1956351970686487435294937026641148306739741156201405781150767533461336687306892418584334668804116362655755851674789807765509567333721307852385212284974300352803416549420970834780118139718838752110342227258663179180118908184549854098798606684140307358029041149520736111279809670183064776899989333164958456873849833043550193674354606079288499846945486546650525579676313382126729831846768680463627740404761441000000000000000000000000", + "bulk_exposure_above_kappa": "10645671093425277374066190179359429223492150943942660253925369657676501670157676520076923585728651827056389733462702476438321555395171695829522825243816397176490500987320047869073790658506195324550255473939677250207018200219145476567868694651116496373252177209611861852333112633908219202390034583139015516104491880456514987243190785983454804003067787432731319536372259595238559/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "Gaussian_arithmetic_above_kappa": "1776051195205154769610040805199746166843293728583375566122611039915075148093769328570726510273849730526925176588968216514993372169703069993545723027644844092273216969109131308014105011034040514809758158625020154740094118503306950504492906399577957362896165433893284659972611028832657977082858826910575517176113252954482193806119667990561170861545481769305629147906474306197819308171802635618263286939847355238559/3130163153098379896471899242625837290783585849922249249841228053538138699691027869734935470086586180249209362679663692424815307733954092563816339655958880564485466479073553335648189023550142003376547563613861086688190253095279766558077770694624491772846465839233177778047695472292903643039982933063933530998159732869680309878967369726861599755112778474640840927482101411402767730954829888741804384647618305600000000000000000000000", + "scalar_work_above_kappa": "8880263801433656593999945205746837398809695601881502636236179802645509585815595870423306888707923869100076505968247781734197922886784684852960024679073360358567496059211854223953864175642761449403799234494009808353187312992167490721880927192316523375710259285631021382807500263401970617673401734510210245714393760171743143231373037371230171461726796628474332341634690236242625047778340565166038289210198395238559/15650815765491899482359496213129186453917929249611246249206140267690693498455139348674677350432930901246046813398318462124076538669770462819081698279794402822427332395367766678240945117750710016882737818069305433440951265476398832790388853473122458864232329196165888890238477361464518215199914665319667654990798664348401549394836848634307998775563892373204204637410507057013838654774149443709021923238091528000000000000000000000000", + "dimension_above_kappa": "38997960586270251316301845736641102066423628127681544476879655184829913347967054011845914241798380690174196649110685527730906557635822484262309975291394039379601361672294696636567259362194234070104902844228989337004000198399595585564944099094883041018756741986893296564447849883019131720859242194729932864368449925377854653195034463468170470015007048381580115282040341292367600843465301172117463128175202209836796882094847/39127039413729748705898740532822966134794823124028115623015350669226733746137848371686693376082327253115117033495796155310191346674426157047704245699486007056068330988419416695602362794376775042206844545173263583602378163690997081975972133682806147160580822990414722225596193403661295537999786663299169137476996660871003873487092121585769996938909730933010511593526267642534596636935373609272554808095228820000000000000000" + }, + "conservative_controls": [ + "next_grid", + "zero_eta", + "zero_beta", + "unit_beta" + ], + "model_controls": [ + "native_complex_endpoint_rejected_with_old_surcharge", + "omitting_bit_surcharge_would_fail_next_endpoint_rejection" + ], + "native_correction_gain": "2.877329E-12", + "template_sha256": "0c2aab7dc120f5882a0171496cbbe819cac81373dcb425802a15f45e36898a46", + "input_sha256": { + "owner_audit": "a32ecc0d5387d65648e1ff284209122860ee37aaba43ce2dd12024c4bc394313", + "fresh_invoice": "14b0f41c88209e800236ce4ebbf91d83537e22e18807153d90013f7eee57a582", + "inputs/PR543-EXPECTED.json": "06eccee9f6b77e140833df83407e7996dc948c17d49b0779ab171fbe463fd28d", + "engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c" + }, + "bit_supplier": { + "pr": 543, + "repository": "eumemic/integer-mult-bounds", + "commit": "2065fe4f72a914d907f1046603f5a36f17018535", + "path": "research/e8-bit-r420/EXPECTED.json", + "git_blob_sha1": "b61d859826246e0c3dabbe096e57ad7015eadfd5", + "replay_scope": "Cited unchanged supplier; this assembly reprices its full profile and does not rebuild its bit circuit." + }, + "moments": [ + { + "side": "bit", + "surcharge": true, + "endpoint": "413456747036699736067/250000000000000000000000", + "accept": true, + "mercator": [ + "-6043813583626134311169770662156174867615397/13479973333575319897333507543509815336818572211270286240551805124608", + "-12087627167252268622339541324312349735230793/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "base_two": [ + "-1120888283015460284783/2500000000000000000000000000000000000000000000", + "-4483543132061841139029/10000000000000000000000000000000000000000000000" + ] + }, + { + "side": "bit", + "surcharge": true, + "endpoint": "1653826988146798944269/1000000000000000000000000", + "accept": false, + "mercator": [ + "70925594433828721229860776023154018035852861/26959946667150639794667015087019630673637144422540572481103610249216", + "70925594433828721229860776023154018035852863/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "base_two": [ + "13153878434097279887307/5000000000000000000000000000000000000000000000", + "6576941717048639943679/2500000000000000000000000000000000000000000000" + ] + }, + { + "side": "complex", + "surcharge": false, + "endpoint": "1652208994368411824947/1000000000000000000000000", + "accept": true, + "mercator": [ + "-55206003495063536066288437576157100010340973/26959946667150639794667015087019630673637144422540572481103610249216", + "-55206003495063536066288437576157100010340971/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "base_two": [ + "-409541/200000000000000000000000000000", + "-255963/125000000000000000000000000000" + ] + }, + { + "side": "complex", + "surcharge": false, + "endpoint": "413052248592102956237/250000000000000000000000", + "accept": false, + "mercator": [ + "12433583290374778086207959883025413594081851/13479973333575319897333507543509815336818572211270286240551805124608", + "3108395822593694521551989970756353398520463/3369993333393829974333376885877453834204643052817571560137951281152" + ], + "base_two": [ + "461187/500000000000000000000000000000", + "7379/8000000000000000000000000000" + ] + } + ], + "bootstrap": [ + { + "exponent": "1649542743600042455931461134358912270794693606912716279281008134403270623498780603221028447191/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "2666250768369369015536213432093360793481446087283720718991865596729376501219396778971552809/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "5064079483347" + }, + { + "exponent": "1652204589164911083386484432640289489025149021897345425947753889635290073672223126501218389623373546339575388781616555168351167510162074126123/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "4405203500741560512915150716142563026031102654574052246110364709926327776873498781610376626453660424611218383444831648832489837925873877/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "1855113771403454575" + }, + { + "exponent": "1652208987090094978998576337786240766660534086861443373660655035146913315879277165163676924708776055203276437395070714960859071205403889642411881787926277109463592646624985153186335324209519/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "7278316845948421010004764864927640966138556626339344964853086684120722834836323075291223944796723562604929285039140928794596110357588118212073722890536407353375014846813664675790481/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "679579993988641861825997" + }, + { + "exponent": "1652208994356386524390258236146418863551774879755022063719897338019847837294371501505671240293619314475646690108109592273827150181689732342308269781370466209964554813416396376690383672659155117856785386209592305112449619050994195020929507/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "12025300556739111644586768036400173244977936280102661980152162705628498494328759706380685524353309891890407726172849818310267657691730218629533790035445186583603623309616327340844882143214613790407694887550380949005804979070493/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "248949134737010607693751277429" + }, + { + "exponent": "1652208994368391956637257519960511230799265177421282452671784475034111396774491992172626292851745263613135372191632272357217972384735656024916702509923614329343687257847797050984709314880436174232795630101904826260914576699263441846242089246520580636287560130658033652250181465888988871/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "19868309739827830494400788909875578717547328215524965888603225508007827373707148254736386864627808367727642782027615264343975083297490076385670656312742152202949015290685119563825767204369898095173739085423300736558153757910753479419363712439869341966347749818534111011129/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "91197022034968984076452463608008868" + }, + { + "exponent": "1652208994368411792120397292749943827369551868295936383281836655065105377018214255389190697215906708539556278748557372371967341676249062946027583420481631348820521456435303894723559097730578401212966050397815062867751401948328742424744594348421190830426806021851515386550389899161084889489269714131354119389927583907816206322316835163/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "32826600055041061804218623184704063616718163344934894622981785744610809302784093291460443721251442627628032658323750937053972416579518368651179478543564696105276440902269421598787033949602184937132248598051671257575255405651578809169573193978148484613449610100838915110510730285868645880610072416092183793677683164837/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "33408016608824820410042813054159823398652" + }, + { + "exponent": "1652208994368411824892760943925532186602852295468626143987776322166643298144437891566249896386783794682250325982720570888808333058035587427982244795917897766192126153947302396188350346875998068356230515694247409920636392332411468502336205197989213263024053337331536239117696791845640104898504335919624091669350736887870142170348377574017694034808393425549949474408919442457789788639/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "54236403865473444985322757531373856012223677833356701855562108433750103613216205317749674017279429111191666941964412572017755204082102233807873846052697603811649653124001931643769484305752590079363607667588531497663794802010786736975946662668463760882303208154359895101495664080375908330649263112129857829651622425982305965191606574450050525591080557542210211361/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "12238289681296331108170086600566454188814599875" + } + ], + "outer": { + "bit_positive": "1652208994368411824892760943925532186602852295468626143987776322166643298144437891566249896386783794682250325982720570888808333058035587427982244795917897766192126153947302396188350346875998068356230515694247409920636392332411468502336205197989213263024053337331536239117696791845640104898504335919624091669350736887870142170348377574017694034808393425549949474408919442457789788639/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "complex_above_bit": "54239056074467813397147704531373856012223677833356701855562108433750103613216205317749674017279429111191666941964412572017755204082102233807873846052697603811649653124001931643769484305752590079363607667588531497663794802010786736975946662668463760882303208154359895101495664080375908330649263112129857829651622425982305965191606574450050525591080557542210211361/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "complex_below_one_over32": "29597791005631588175053/1000000000000000000000000", + "beta_positive": "1/1000000000000000000000000", + "beta_below_one": "999999999999999999999999/1000000000000000000000000", + "leaf_saving_above_bit": "54237403865473444985322757531373856012223677833356701855562108433750103613216205317749674017279429111191666941964412572017755204082102233807873846052697603811649653124001931643769484305752590079363607667588531497663794802010786736975946662668463760882303208154359895101495664080375908330649263112129857829651622425982305965191606574450050525591080557542210211361/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_positive": "826104497184205912446378819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361/500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_internal": "1652208994368411824892760943925532186602852295468626143987776322166643298144437891566249896386783794682250325982720570888808333058035587427982244795917897766192126153947302396188350346875998068356230515694247409920636392332411468502336205197989213263024053337331536239117696791845640104898504335919624091669350736887870142170348377574017694034808393425549949474408919442457789788639/500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_leaf": "27120354141731090904486271526630853538298441768973819553925041993197218449906247096766403258536101339390515721308189006579766410374109152491364905271144719803591018688154913124280930503223171037750160064309959996241818037397725779956475667539429869654414628130517279086986949736979799805429530060400848538917480563728040852737973635602599280489575087164530655629974408919442457789788639/500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "c_positive": "826104497184205912446503819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361/500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "c_below_one": "499173895502815794087553496180246228275110398745026630853538298441768973819553925041993197218449906247096766403258536101339390515721308189006579766410374109152491364905271144719803591018688154913124280930503223171037750160064309959996241818037397725779956475667539429869654414628130517279086986949736979799805429530060400848538917480563728040852737973635602599280489575087164530655629974408919442457789788639/500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_reservations": "1/4000000000000000000000000", + "lambda_above_tau": "1652208994368411824892760943925532186602852295468626143987776322166643298144437891566249896386783794682250325982720570888808333058035587427982244795917897766192126153947302396188350346875998068356230515694247409920636392332411468502336205197989213263024053337331536239117696791845640104898504335919624091669350736887870142170348377574017694034808393425549949474408919442457789788639/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_above_sigma": "54240708283462181808972597292317781544410280685652170481706096210072270256514349755641240267175815894986349192290395292588644012415160269395301828297493521709415845250155878946165672656099466077431963898104225745073715438403119148444448998873661750095566232207697226637734781777167753970754161616465777453743291776719193835333776922827624543285115365935635761310474408919442457789788639/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_above_internal": "1652208994368411824892760943925532186602852295468626143987776322166643298144437891566249896386783794682250325982720570888808333058035587427982244795917897766192126153947302396188350346875998068356230515694247409920636392332411468502336205197989213263024053337331536239117696791845640104898504335919624091669350736887870142170348377574017694034808393425549949474408919442457789788639/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_prime_above_lambda": "1652208994368411824892760943925532186602852295468626143987776322166643298144437891566249896386783794682250325982720570888808333058035587427982244795917897766192126153947302396188350346875998068356230515694247409920636392332411468502336205197989213263024053337331536239117696791845640104898504335919624091669350736887870142170348377574017694034808393425549949474408919442457789788639/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_leaf": "27120354141731090904486271526630853538298441768973819553925041993197218449906247096766403258536101339390515721308189006579766410374109152491364905271144719803591018688154913124280930503223171037750160064309959996241818037397725779956475667539429869654414628130517279086986949736979799805429530060400848538917480563728040852737973635602599280489575087164530655629974408919442457789788639/500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_reservations": "1/4000000000000000000000000", + "lambda_prime_below_one": "826104497184205912446378819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361/500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "epsilon_positive": "499999999999999999999999500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000/500826104497184205912446378819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361", + "epsilon_below_one": "826104497184205912446878819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361/500826104497184205912446378819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361", + "guard_width": "826104497184205912446878819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361/500826104497184205912446378819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361", + "K_geometry": "375826104497184205912446503819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361/500826104497184205912446378819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361000000000000000000000000", + "K_dominates_log": "826104497184205912446502993649274540683688808469549392689976668629771207076928496305244550523913306828275589938682348566856581045095069529521572980141612155697641674495265654305561472676750358020438873087795517117162964216620543226929219712762338530003520574278607528071365328345150260342882704677648330711849556926548888440882324865802019548110565281877964447551277650809104946969306080655644706740866990974408919442457789788639/500826104497184205912446378819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361000000000000000000000000", + "record_suffix": "826104497184205912446878819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361/500826104497184205912446378819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361", + "phase_local": "6608835977473647299574529731925676614910897593408133417921887576246954470199453202352864021374569577150910767128929639191122970995937746483463208107522848088258087337597252615680424341859665966150472359565233319852911843766450823253236493450978258070308190901502598440490462931431529306733974056518789732073842846503742948668459960919705733578944749832659769484124252040657390357559485218219547502212346517974408919442457789788639/4006608835977473647299571030558030173799116810039786953171693612465848209443568599664054422252400750023225868773931711189284875874229534487947361868717007126780069080757830842241571271850494760695005752555974214631697998719485520320030065455700818193760348194659684561042764682974955861767304104402104161601556563759516793211688660155490175673178096210915179205756083399302683754754960204728644460337681690888000000000000000000000000", + "phase_boundary": "1321767195494729459914505285501537575617449561578570880566997603568386915344573471109326219453969558570215747983560687763222271612310156125573713133917146664202822731332578822423406861463857410145870314785861614494512868178034567229184128890323703062029635173754949606278716551466839892890690534835460450828591838890308379317531836527565195036467781100516404879257532598510386553591321435303979232066993807574408919442457789788639/801321767195494729459914206111606034759823362007957390634338722493169641888713719932810884450480150004645173754786342237856975174845906897589472373743401425356013816151566168448314254370098952139001150511194842926339599743897104064006013091140163638752069638931936912208552936594991172353460820880420832320311312751903358642337732031098035134635619242183035841151216679860536750950992040945728892067536338177600000000000000000000000", + "gamma_sublinear": "1/2000000000000000000000000", + "cell_above_band": "999999999999999999999998499173895502815794087553621180246228275110398745026630853538298441768973819553925041993197218449906247096766403258536101339390515721308189006579766410374109152491364905271144719803591018688154913124280930503223171037750160064309959996241818037397725779956475667539429869654414628130517279086986949736979799805429530060400848538917480563728040852737973635602599280489575087164530655629974408919442457789788639/2003304417988736823649785515279015086899558405019893476585846806232924104721784299832027211126200375011612934386965855594642437937114767243973680934358503563390034540378915421120785635925247380347502876277987107315848999359742760160015032727850409096880174097329842280521382341487477930883652052201052080800778281879758396605844330077745087836589048105457589602878041699651341877377480102364322230168840845444000000000000000000000000", + "prime_interval_packing": "826104497184205912446878819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361/500826104497184205912446378819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361", + "alpha_positive": "1652208994368411824893256813403046265573290063567918539151678226860797387523003454312047332074007059731509186680146247227466065323786880522941806569767503003206276769224120934501970453988595444896157942584572346079412804152310583230687401675364612750047044906739177658416950700214632981255895754940668530906420026866148039901964844302073978695372591646275365167061702563644574291339331671736202248951078351974408919442457789788639/1001652208994368411824892757639507543449779202509946738292923403116462052360892149916013605563100187505806467193482927797321218968557383621986840467179251781695017270189457710560392817962623690173751438138993553657924499679871380080007516363925204548440087048664921140260691170743738965441826026100526040400389140939879198302922165038872543918294524052728794801439020849825670938688740051182161115084420422722000000000000000000000000", + "alpha_below_one": "999999999999999999999999500826104497184205912446378819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361/1001652208994368411824892757639507543449779202509946738292923403116462052360892149916013605563100187505806467193482927797321218968557383621986840467179251781695017270189457710560392817962623690173751438138993553657924499679871380080007516363925204548440087048664921140260691170743738965441826026100526040400389140939879198302922165038872543918294524052728794801439020849825670938688740051182161115084420422722000000000000000000000000", + "alpha_below_one_fourth": "248760843254223691131329932596473839596871510563918766034079172552254715702700034024691354058701039816720107611690585702102838676815559024973768310225045442420548040778140306705596234036667327098541701592163816068401712115815534436771191689305936524359974717259491107406755841985720108379200610770190841569190865208103651535828576415416062000878258421535923335192693509892773160380845681123804076522154027328525591080557542210211361/1001652208994368411824892757639507543449779202509946738292923403116462052360892149916013605563100187505806467193482927797321218968557383621986840467179251781695017270189457710560392817962623690173751438138993553657924499679871380080007516363925204548440087048664921140260691170743738965441826026100526040400389140939879198302922165038872543918294524052728794801439020849825670938688740051182161115084420422722000000000000000000000000", + "delta_positive": "1/8000000000000000000000000", + "delta_below_one_eighth": "999999999999999999999999/8000000000000000000000000", + "short_record_fallback": "499172530605535258148204467894413622366649364752615796356468001035238236450517537374493631619363733298840687671623161397641818269266749211349925706761067790808370765075450008284253571239696489935935053566461144738883161010851111679077097990732436701756985527194218092549531868890848622470137186563736328401324517482838466413031374630236137011585720945154073554670290847831565373475503741258489384028773988548652682478935707964970238955117949482840541572436848428721579739524322299623454936983662814547483400718276279308346848253879838472504570106968586516202950572541527287852414234879967747392915408989329348581710341757093094710913631142136741462492078081872395928826622342523315747139483873962190478398751777328141297794530179676308220833366881166966370160352431945328687129458140293472321/500826104497184205912446378819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "small_field_exposure": "1/1000000000000000000000000", + "artificial_boundary": "28052870687819789178396573746942554881945552217657432084634864074395589440468656236697540052712284541524031824211862034164560265703537066127970590931564509850315985626323347506810242717329863369746611861037020660989119250383041371050571010532356065357152905568552022376148940123930219891520143226253589408420900672815173496482569881827632815204222224070568991954864544636207549131231883796360430421207861560214076773241672626630634083/4006608835977473647299571030558030173799116810039786953171693612465848209443568599664054422252400750023225868773931711189284875874229534487947361868717007126780069080757830842241571271850494760695005752555974214631697998719485520320030065455700818193760348194659684561042764682974955861767304104402104161601556563759516793211688660155490175673178096210915179205756083399302683754754960204728644460337681690888000000000000000000000000", + "literal_scalar_guard": "1", + "row_product_gap": "23971789/25", + "balanced_prefix_above_kappa": "384836754948704936518390080286389004763190679571631416083335375425490380659422846922349219607884635917039474482556378074796393103615265478935526743142995785277965991920542575867329404082937294587671597128436387521101370842739834550650414154320702290281170117836140043954928114189095044806439229775952058740929618067139100165877377039970533655513737284898865861249271614750592100633440385821327668139841639581/500826104497184205912446378819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361000000000000000000", + "coordinate_movement_above_kappa": "2725291809432824892760943925532186602852295468626143987776322166643298144437891566249896386783794682250325982720570888808333058035587427982244795917897766192126153947302396188350346875998068356230515694247409920636392332411468502336205197989213263024053337331536239117696791845640104898504335919624091669350736887870142170348377574017694034808393425549949474408919442457789788639/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_phase_layer_above_kappa": "384836254122600439334184167840010185009418954682030161109966228963788822428396666476274261601081854366945721579322781333332494443005781200243715749722762195652075144411907481138474123886528313275826510252717318024324541880489994614960374150562520327678895897792615711494357983843509672936956508862939008477909417872568630226278225578888014219241778137636839496851870895240167187797971041451302077059284097370788639/500826104497184205912446378819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361000000000000000000000000", + "bulk_exposure_above_kappa": "2725291809432824892760943925532186602852295468626143987776322166643298144437891566249896386783794682250325982720570888808333058035587427982244795917897766192126153947302396188350346875998068356230515694247409920636392332411468502336205197989213263024053337331536239117696791845640104898504335919624091669350736887870142170348377574017694034808393425549949474408919442457789788639/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "Gaussian_arithmetic_above_kappa": "615738307091823401245218216011843587867333362425009010759967454219083050824050374629683793365812635917169406268856608178210330305174940487605031795608559666818854739564233026658871766336290690028429468529779150536985364386133895345350622643154941701847597968494299737867314852356966699820820046728510243722467188712852090325804651802870334412550020508576159013601433864090522448178035272944098677943189081119388639/801321767195494729459914206111606034759823362007957390634338722493169641888713719932810884450480150004645173754786342237856975174845906897589472373743401425356013816151566168448314254370098952139001150511194842926339599743897104064006013091140163638752069638931936912208552936594991172353460820880420832320311312751903358642337732031098035134635619242183035841151216679860536750950992040945728892067536338177600000000000000000000000", + "scalar_work_above_kappa": "3078693538763534994962914729844733218351753711683450073693313856942221487044356594932718798856274305786222042957217427856907246168312639552792402951723732692597837087855705512209779952467089375389527690151772030672034137779668836469513273230807436359647086722645596019178854783167174986582031117294603419664416744342542331387419864858681749807837939131928900525596772198494311892232053742200595754038175574437788639/4006608835977473647299571030558030173799116810039786953171693612465848209443568599664054422252400750023225868773931711189284875874229534487947361868717007126780069080757830842241571271850494760695005752555974214631697998719485520320030065455700818193760348194659684561042764682974955861767304104402104161601556563759516793211688660155490175673178096210915179205756083399302683754754960204728644460337681690888000000000000000000000000", + "dimension_above_kappa": "499173895502815794472389376128951164793500479031415635616728978013400389902889300467483577877872753169445986011143172018378864998277686263802972870025639588088018108048266929997769582939230730780453685013440517758709347288500697481097612660777232276430370629988241720150824532464270561234015101138832024606244659306012459589468535547702828206730115013606136254794226859986030391904901589159511543091230174460327668139841639581/500826104497184205912446378819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361000000000000000000" + }, + "controls": [ + "next_grid", + "zero_eta", + "zero_beta", + "unit_beta" + ], + "scope": "Conditional native exact-complex witness after complete conservative admission, moment and outer checks; PR559 exact-cover recurrence correction only, bit bad-residue surcharge and H1-H5 retained. The new source-branch gauge and retired-basis completion, 44 cold dimension-four ends, and explicit all72 whole-owner dispatch are composed with the same cited unchanged PR543 bit supplier as PR635. All-size compiler, common-label/mutable-source realization, whole-call hosting, precision/tape and analytic transfer remain assumptions. No unconditional theorem or full Lean certification." +} diff --git a/research/gauge44-leaver8/evidence/BINDING.json b/research/gauge44-leaver8/evidence/BINDING.json new file mode 100644 index 0000000000..b03160c67a --- /dev/null +++ b/research/gauge44-leaver8/evidence/BINDING.json @@ -0,0 +1,25 @@ +{ + "status": "PASS_FROZEN_048_ALLCOLD_DISPATCH_FRESH_PROVIDER_BINDING", + "source_plan_sha256": "8c4804859aee83082196348c33127070d2885d3a366ce9acc8dc5166202f4687", + "runtime_plan_sha256": "609adb126d7d3de2abdd9275f9015589c0b137d0d19821c2c3e7c1a8541c18d2", + "providers": { + "gauge44": { + "artifact_sha256": { + "CANONICAL-WORD.json.gz": "92941c2b718b533f1d3addb710d261a6e2b9ec5d19f0051d79775b08cb2571ed", + "LOCAL-PROGRAMS.json.gz": "172dc3d23e437909ddc01d07b12ede735afbb5bb6145f1ddf5c2e03097dfebe2", + "LOCAL-CHECKS.json": "2b8a6a6854b8df8ecd84d8ff2b92f720c81454636988e6a0dfdc1f6c29d1c82c", + "INDEPENDENT-LOCAL-REPLAY.json": "18d68326ce0aca76911d561e79a817bce90cb8adfe053e19621c7ae0298b842e", + "CLIFFORD-RECIPES.json": "0a60293f43d88dbb1b321f02e61204afe1b6272b1346968ef35705caea1e4771", + "CLIFFORD-REVIEW.json": "4e3cdd616d105a49bbf1948bb53e49938d515c42f1c026781d1b5e9cb636db12", + "RESIDUAL-ADAPTERS.json": "bb6c23ba1b8dd5d2016724c3348b4e91a6b91daaa3f56bbd5216cb7a96bf5c94" + }, + "canonical_content_sha256": "e6daee410e04d5e023faf21144081534ad222d334ce786e6b5f52407e6b3c41f", + "all_phase_edges": 3019 + } + }, + "only_rebound_fields": [ + "provider_registry.directory", + "provider_registry.artifact_sha256", + "runtime_source_plan_sha256" + ] +} diff --git a/research/gauge44-leaver8/evidence/CENTER-COMPATIBILITY.json b/research/gauge44-leaver8/evidence/CENTER-COMPATIBILITY.json new file mode 100644 index 0000000000..5a3ae37422 --- /dev/null +++ b/research/gauge44-leaver8/evidence/CENTER-COMPATIBILITY.json @@ -0,0 +1,112 @@ +{ + "status": "PASS_IDENTICAL_PORT_ORDER_AND_ORDERED_CENTER_FRAMES", + "new_canonical_sha256": "92941c2b718b533f1d3addb710d261a6e2b9ec5d19f0051d79775b08cb2571ed", + "comparison_canonical": "pr635/research/community-k492-audit/pr626/replay/mixed-global/base/split-centres/CANONICAL-WORD.json.gz", + "comparison_canonical_sha256": "66d3c3c70983224650643a0a05a21ac6c6959f84d0f4528650601016f5a76844", + "new_centers": [ + 92, + 57, + 81, + 224, + 11, + 240, + 9, + 256 + ], + "old_centers": [ + 229, + 224, + 227, + 225, + 243, + 241, + 259, + 257 + ], + "ordered_center_frames": [ + [ + 256, + 128, + 64, + 34, + 16, + 10, + 4, + 1 + ], + [ + 256, + 128, + 64, + 32, + 16, + 8, + 5, + 3 + ], + [ + 256, + 128, + 64, + 32, + 17, + 9, + 4, + 2 + ], + [ + 256, + 128, + 64, + 36, + 20, + 8, + 2, + 1 + ], + [ + 256, + 128, + 66, + 32, + 18, + 8, + 4, + 1 + ], + [ + 256, + 128, + 65, + 33, + 17, + 9, + 5, + 3 + ], + [ + 256, + 128, + 65, + 33, + 16, + 8, + 4, + 2 + ], + [ + 256, + 128, + 68, + 32, + 16, + 12, + 2, + 1 + ] + ], + "v": 112, + "h": 9, + "center_count": 8, + "scope": "Carrier register identity changes; native cut center channels retain exact ordered frames and ports. Full endpoint and exact center clearing are independently checked by local ledger replay." +} diff --git a/research/gauge44-leaver8/evidence/LOCAL-STAGES.json b/research/gauge44-leaver8/evidence/LOCAL-STAGES.json new file mode 100644 index 0000000000..b2753eb57a --- /dev/null +++ b/research/gauge44-leaver8/evidence/LOCAL-STAGES.json @@ -0,0 +1,27 @@ +[ + { + "tag": "44-native", + "seconds": 4.460461161999774, + "exit": 0 + }, + { + "tag": "44-emitted-ledgers", + "seconds": 3.058037757999955, + "exit": 0 + }, + { + "tag": "44-local-replay", + "seconds": 28.33760359400003, + "exit": 0 + }, + { + "tag": "44-wrappers", + "seconds": 5.294312295000054, + "exit": 0 + }, + { + "tag": "44-phase", + "seconds": 198.39076561599995, + "exit": 0 + } +] diff --git a/research/gauge44-leaver8/evidence/REPLAY.json b/research/gauge44-leaver8/evidence/REPLAY.json new file mode 100644 index 0000000000..c6f4e0f983 --- /dev/null +++ b/research/gauge44-leaver8/evidence/REPLAY.json @@ -0,0 +1,54 @@ +{ + "status": "PASS_GAUGE44_STRICT_GLOBAL_REPLAY", + "kappa": "1649483702558979/1000000000000000000", + "kappa_decimal": "0.001649483702558979", + "complex_lower": "1652208994368411824947/1000000000000000000000000", + "bit_lower": "413456747036699736067/250000000000000000000000", + "gain_over_pr635_percent": "0.8093060205252829126484020359439672024956960385078942889840023844750830", + "spec_sha256": "fee57674a7f36b30b1e7eb96a8f567a90a522217bc644c1a6a1f8bff85196fbf", + "stages": [ + { + "name": "restore-parent", + "seconds": 2.152, + "exit_code": 0, + "log_sha256": "fc3a01967636bd3173ee7e5049fae45b890e1fad4564b6acdd6aaca30a4e4ea5" + }, + { + "name": "bind", + "seconds": 0.686, + "exit_code": 0, + "log_sha256": "71f679ce5a123fb58397fd6852ba64ce3832fd20e81a096bfda9a1cf3237237a" + }, + { + "name": "emit", + "seconds": 5.456, + "exit_code": 0, + "log_sha256": "60866eb6ced5b9eb259bfc1d59ea7b80fb439164b629e868586ad5bef845a88e" + }, + { + "name": "audit", + "seconds": 26.943, + "exit_code": 0, + "log_sha256": "df19a41a599bf24fd1efaeb2394af63208f95b9e3ca4f83c6f23e9641fb3d662" + }, + { + "name": "invoice", + "seconds": 1.897, + "exit_code": 0, + "log_sha256": "5d10712d494304287749dd7a6c3369f9b707bba30e9f567b68230669dcf5418a" + }, + { + "name": "assembly", + "seconds": 0.724, + "exit_code": 0, + "log_sha256": "768d3215f1918117dc6c33b4cfeaf0b5f5da9ba5c77178db4bb1d08d000e226f" + }, + { + "name": "admission-controls", + "seconds": 0.816, + "exit_code": 0, + "log_sha256": "051d242318154827c1672ffbb63ad2bdc8ecc4033be650b791dd69cd57d716b3" + } + ], + "scope": "Conditional native exact-complex witness after complete conservative admission, moment and outer checks; PR559 exact-cover recurrence correction only, bit bad-residue surcharge and H1-H5 retained. The new source-branch gauge and retired-basis completion, 44 cold dimension-four ends, and explicit all72 whole-owner dispatch are composed with the same cited unchanged PR543 bit supplier as PR635. All-size compiler, common-label/mutable-source realization, whole-call hosting, precision/tape and analytic transfer remain assumptions. No unconditional theorem or full Lean certification." +} diff --git a/research/gauge44-leaver8/evidence/STAGES.json b/research/gauge44-leaver8/evidence/STAGES.json new file mode 100644 index 0000000000..9464e2dfea --- /dev/null +++ b/research/gauge44-leaver8/evidence/STAGES.json @@ -0,0 +1,44 @@ +[ + { + "name": "restore-parent", + "seconds": 2.152, + "exit_code": 0, + "log_sha256": "fc3a01967636bd3173ee7e5049fae45b890e1fad4564b6acdd6aaca30a4e4ea5" + }, + { + "name": "bind", + "seconds": 0.686, + "exit_code": 0, + "log_sha256": "71f679ce5a123fb58397fd6852ba64ce3832fd20e81a096bfda9a1cf3237237a" + }, + { + "name": "emit", + "seconds": 5.456, + "exit_code": 0, + "log_sha256": "60866eb6ced5b9eb259bfc1d59ea7b80fb439164b629e868586ad5bef845a88e" + }, + { + "name": "audit", + "seconds": 26.943, + "exit_code": 0, + "log_sha256": "df19a41a599bf24fd1efaeb2394af63208f95b9e3ca4f83c6f23e9641fb3d662" + }, + { + "name": "invoice", + "seconds": 1.897, + "exit_code": 0, + "log_sha256": "5d10712d494304287749dd7a6c3369f9b707bba30e9f567b68230669dcf5418a" + }, + { + "name": "assembly", + "seconds": 0.724, + "exit_code": 0, + "log_sha256": "768d3215f1918117dc6c33b4cfeaf0b5f5da9ba5c77178db4bb1d08d000e226f" + }, + { + "name": "admission-controls", + "seconds": 0.816, + "exit_code": 0, + "log_sha256": "051d242318154827c1672ffbb63ad2bdc8ecc4033be650b791dd69cd57d716b3" + } +] diff --git a/research/gauge44-leaver8/evidence/audit/ASYNC-AUDIT.json b/research/gauge44-leaver8/evidence/audit/ASYNC-AUDIT.json new file mode 100644 index 0000000000..05975382b5 --- /dev/null +++ b/research/gauge44-leaver8/evidence/audit/ASYNC-AUDIT.json @@ -0,0 +1,84 @@ +{ + "status": "PASS_INDEPENDENT_ASYNC_WHOLE_OWNER_CONTROLLER_PHASES_AND_SPECTATORS", + "template_sha256": "0c2aab7dc120f5882a0171496cbbe819cac81373dcb425802a15f45e36898a46", + "complex_template_sha256": "0c2aab7dc120f5882a0171496cbbe819cac81373dcb425802a15f45e36898a46", + "complex_live": 7168, + "complex_profile": { + "1": 181093, + "2": 29164, + "3": 32429, + "4": 11520, + "5": 4032, + "7": 7, + "8": 582, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + }, + "complex_hosted_residuals": 35424, + "physical": 7670, + "rank_mass": 520704, + "deficit": 2560, + "entering_helper_roles": 17856, + "cross_replica_helper_roles": 25937, + "one_owner_per_complete_invocation": true, + "helper_busy_family_window_checks": 35424, + "complete_invocations": 72, + "actual_orthogonal_73column_maps": 7870, + "actual_sigma_stream_sha256": "f4e9802acb2ed53fc1f0486e7d0f55a6faa30ed7f5d2ad48a06450234b00ba76", + "all_actual_residual_and_spectator_charts": true, + "idle_remainders": 2759, + "mutations_rejected": [ + "alias two whole owners", + "helper on active data family", + "owner in private namespace", + "wrong residual width", + "wrong spectator coordinate", + "omit idle remainder", + "understate physical reserve", + "gauge44: wrong provider at its invocation", + "gauge44: stale per-call local program hash", + "gauge44: stale serialized provider program", + "gauge44: unbound residual adapter hash", + "gauge44: wrong provider width registry", + "gauge44: wrong per-call residual width", + "gauge44: wrong sweep provider", + "gauge44: entering helper width silently restored to nine" + ], + "mutation_controls_run": true, + "provider_phase_semantic_sha256": { + "gauge44": "1b4aa8bf9185b423e3f29e0ee2eb4d7082e2408c2b09cba1ef02282282731152" + }, + "provider_artifact_semantic_sha256": { + "gauge44": { + "CANONICAL-WORD.json.gz": "e6daee410e04d5e023faf21144081534ad222d334ce786e6b5f52407e6b3c41f", + "LOCAL-PROGRAMS.json.gz": "39b230dba9e6b022c691cd0167f331c1b3fa6795d49256e3a2b859c68d4acfda", + "LOCAL-CHECKS.json": "bd53e0cca4488f365ca5b7c7174d8dfb35ced5e0229835f27334c11c3d839717", + "INDEPENDENT-LOCAL-REPLAY.json": "adb5c8ce0b5025dcd96f41b9fa0e26b9a176e067ab36a5bfadad00bc19522b38", + "CLIFFORD-RECIPES.json": "0a60293f43d88dbb1b321f02e61204afe1b6272b1346968ef35705caea1e4771", + "CLIFFORD-REVIEW.json": "1b4aa8bf9185b423e3f29e0ee2eb4d7082e2408c2b09cba1ef02282282731152", + "RESIDUAL-ADAPTERS.json": "c233611dd4c08c389dfb6c7d1c84dd86a3efa560223fcd6549a2848692541cd9" + } + }, + "widths_by_provider": { + "gauge44": { + "4": 52, + "5": 48, + "7": 34, + "8": 114, + "9": 244 + } + }, + "provider_counts": { + "gauge44": 72 + }, + "all_provider_program_phase_and_wrapper_bindings": true, + "scope": "Independent exact asynchronous chronology, per-replica phase projection, owner/chart/paid-profile audit. Uses per-invocation local providers bound by exact scalar, phase and residual-wrapper receipts; all-size compilation and complete coefficient invoice are separate inherited obligations." +} diff --git a/research/gauge44-leaver8/evidence/audit/GLOBAL-PREFIX.json b/research/gauge44-leaver8/evidence/audit/GLOBAL-PREFIX.json new file mode 100644 index 0000000000..a557ebbe60 --- /dev/null +++ b/research/gauge44-leaver8/evidence/audit/GLOBAL-PREFIX.json @@ -0,0 +1,13 @@ +{ + "status": "PASS_MIXED_ASYNC_GLOBAL_PREFIX", + "template_sha256": "0c2aab7dc120f5882a0171496cbbe819cac81373dcb425802a15f45e36898a46", + "global_prefix_bits": 360, + "retained_payload_bits": 512, + "complete_invocation_cover_sweeps": 72, + "bridge_factor_two_sweeps": 72, + "local_scalar_coefficient_work_prefix_bits": 175, + "stream_input_sup_to_l2_bits": 37, + "primitive_arithmetic_margin_bits": 4, + "controller_audit_sha256": "df19a41a599bf24fd1efaeb2394af63208f95b9e3ca4f83c6f23e9641fb3d662", + "proof": "Each selected normalized provider restores all arbitrary dirty helper columns and gives the same data shear endpoints. Actual whole-owner charts are right-translation bijections. Sum all 72 invocation and 72 bridge sweeps and take maximum local scalar/Horner prefix over all three providers and orientations. Idle children, phases, spectator endpoints and terminal translations are unitary. Retained all-size interfaces are conditional." +} diff --git a/research/gauge44-leaver8/evidence/audit/IDLE-REMAINDER-FRAMES.json b/research/gauge44-leaver8/evidence/audit/IDLE-REMAINDER-FRAMES.json new file mode 100644 index 0000000000..1c86a8a01d --- /dev/null +++ b/research/gauge44-leaver8/evidence/audit/IDLE-REMAINDER-FRAMES.json @@ -0,0 +1,25 @@ +{ + "status": "PASS_LITERAL_IDLE_REMAINDER_FRAMES", + "template_sha256": "0c2aab7dc120f5882a0171496cbbe819cac81373dcb425802a15f45e36898a46", + "uncompressed_frames_sha256": "38eba7dfe023d0b2a8aea1c5184e50bdfff5727b350c2de4d27800acbdd3708c", + "children": 2759, + "rank_profile": { + "1": 85, + "2": 76, + "3": 173, + "7": 7, + "8": 6, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + }, + "source_data_phase_sha256": "c5916ff312678f12aba403847643fbbc29f643acec60bdf836fa56cd3e8251fa", + "scope": "Actual orthogonal axes after the independently checked whole-owner prefix in each inherited pending child." +} diff --git a/research/gauge44-leaver8/evidence/audit/OWNERS-AND-PROFILE.json b/research/gauge44-leaver8/evidence/audit/OWNERS-AND-PROFILE.json new file mode 100644 index 0000000000..bdb9441b7e --- /dev/null +++ b/research/gauge44-leaver8/evidence/audit/OWNERS-AND-PROFILE.json @@ -0,0 +1,61 @@ +{ + "status": "PASS_INDEPENDENT_ASYNC_OWNERS_AND_PROFILE", + "template_sha256": "0c2aab7dc120f5882a0171496cbbe819cac81373dcb425802a15f45e36898a46", + "paid_profile": { + "1": 181093, + "2": 29164, + "3": 32429, + "4": 11520, + "5": 4032, + "7": 7, + "8": 582, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + }, + "live": 7168, + "physical": 7670, + "rank_mass": 520704, + "deficit": 2560, + "hosted_residuals": 35424, + "banked_residuals": 0, + "all_live_owners_per_call_distinct": true, + "owners_per_call": 716, + "actual_helper_owner_charts": 35424, + "actual_73column_sigmas": 7870, + "cross_replica_helper_roles": 25937, + "explicit_idle_remainder_children": 2759, + "source_idle_children_charged": 16128, + "source_artifacts": { + "work/complex-nine-native/DATA-PHASES.json": "c5916ff312678f12aba403847643fbbc29f643acec60bdf836fa56cd3e8251fa", + "providers/gauge44/CANONICAL-WORD.json.gz": "92941c2b718b533f1d3addb710d261a6e2b9ec5d19f0051d79775b08cb2571ed", + "providers/gauge44/LOCAL-PROGRAMS.json.gz": "172dc3d23e437909ddc01d07b12ede735afbb5bb6145f1ddf5c2e03097dfebe2", + "providers/gauge44/LOCAL-CHECKS.json": "2b8a6a6854b8df8ecd84d8ff2b92f720c81454636988e6a0dfdc1f6c29d1c82c", + "providers/gauge44/INDEPENDENT-LOCAL-REPLAY.json": "18d68326ce0aca76911d561e79a817bce90cb8adfe053e19621c7ae0298b842e", + "providers/gauge44/RESIDUAL-ADAPTERS.json": "bb6c23ba1b8dd5d2016724c3348b4e91a6b91daaa3f56bbd5216cb7a96bf5c94", + "providers/gauge44/CLIFFORD-RECIPES.json": "0a60293f43d88dbb1b321f02e61204afe1b6272b1346968ef35705caea1e4771", + "providers/gauge44/CLIFFORD-REVIEW.json": "4e3cdd616d105a49bbf1948bb53e49938d515c42f1c026781d1b5e9cb636db12" + }, + "provider_phase_semantic_sha256": { + "gauge44": "1b4aa8bf9185b423e3f29e0ee2eb4d7082e2408c2b09cba1ef02282282731152" + }, + "provider_artifact_semantic_sha256": { + "gauge44": { + "CANONICAL-WORD.json.gz": "e6daee410e04d5e023faf21144081534ad222d334ce786e6b5f52407e6b3c41f", + "LOCAL-PROGRAMS.json.gz": "39b230dba9e6b022c691cd0167f331c1b3fa6795d49256e3a2b859c68d4acfda", + "LOCAL-CHECKS.json": "bd53e0cca4488f365ca5b7c7174d8dfb35ced5e0229835f27334c11c3d839717", + "INDEPENDENT-LOCAL-REPLAY.json": "adb5c8ce0b5025dcd96f41b9fa0e26b9a176e067ab36a5bfadad00bc19522b38", + "CLIFFORD-RECIPES.json": "0a60293f43d88dbb1b321f02e61204afe1b6272b1346968ef35705caea1e4771", + "CLIFFORD-REVIEW.json": "1b4aa8bf9185b423e3f29e0ee2eb4d7082e2408c2b09cba1ef02282282731152", + "RESIDUAL-ADAPTERS.json": "c233611dd4c08c389dfb6c7d1c84dd86a3efa560223fcd6549a2848692541cd9" + } + }, + "controller_audit_sha256": "df19a41a599bf24fd1efaeb2394af63208f95b9e3ca4f83c6f23e9641fb3d662" +} diff --git a/research/gauge44-leaver8/evidence/audit/PREFIX-AND-INVOICE.json b/research/gauge44-leaver8/evidence/audit/PREFIX-AND-INVOICE.json new file mode 100644 index 0000000000..6c96ec6706 --- /dev/null +++ b/research/gauge44-leaver8/evidence/audit/PREFIX-AND-INVOICE.json @@ -0,0 +1,1746 @@ +{ + "status": "PASS_INDEPENDENT_MIXED_ASYNC_SCALAR_PREFIX_AND_FINITE_INVOICE", + "template_sha256": "0c2aab7dc120f5882a0171496cbbe819cac81373dcb425802a15f45e36898a46", + "parent_template_sha256": "7db047a427a7979d69e163c78a1e32bd445628fb86723e131a3138361355a9c3", + "owner_audit_sha256": "a32ecc0d5387d65648e1ff284209122860ee37aaba43ce2dd12024c4bc394313", + "controller_audit_sha256": "df19a41a599bf24fd1efaeb2394af63208f95b9e3ca4f83c6f23e9641fb3d662", + "providers": { + "gauge44": { + "local": { + "backward": { + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "prefix_l1": "600338326363508935771850050281004728884643/32", + "prefix_bits": 134, + "coefficient_work_primitive_count": 208744, + "all_exact_columns": 716, + "dirty_helper_columns": 492, + "all_dirty_helper_columns_restored": true, + "private_centres_and_coefficient_work_cleared": true, + "pre_wrappers": 248, + "post_wrappers": 248, + "endpoint_evidence": "Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json" + }, + "forward": { + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "prefix_l1": "2323449462751823289130723296176889733365478515961323543/64", + "prefix_bits": 175, + "coefficient_work_primitive_count": 208712, + "all_exact_columns": 716, + "dirty_helper_columns": 492, + "all_dirty_helper_columns_restored": true, + "private_centres_and_coefficient_work_cleared": true, + "pre_wrappers": 248, + "post_wrappers": 248, + "endpoint_evidence": "Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json" + } + }, + "helpers": 492, + "centres": 8, + "v": 112, + "h": 9, + "n": 716, + "entering_helpers": 204, + "entrance_rank": 380, + "terminal_codimension": 254, + "hyperplane_ended_helpers": 78, + "cold_hyperplane_ended_helpers": 44, + "width_inventory": { + "4": 52, + "5": 48, + "7": 34, + "8": 114, + "9": 244 + }, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 9, + 8, + 9, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ], + "local_adapters": 738816, + "local_primitive_bound": 19160702806276, + "compiler": 25934336, + "children": 3590, + "artifacts": { + "WRAPPER-CHECKS.json": "84c727930f85f1c91900d6d12c523735c8b5d6907cd3eb1bd1030fe1fd4161d7", + "RESIDUAL-ADAPTERS.json": "bb6c23ba1b8dd5d2016724c3348b4e91a6b91daaa3f56bbd5216cb7a96bf5c94", + "LOCAL-PROGRAMS.json.gz": "172dc3d23e437909ddc01d07b12ede735afbb5bb6145f1ddf5c2e03097dfebe2", + "INDEPENDENT-LOCAL-REPLAY.json": "18d68326ce0aca76911d561e79a817bce90cb8adfe053e19621c7ae0298b842e", + "CANONICAL-WORD.json.gz": "92941c2b718b533f1d3addb710d261a6e2b9ec5d19f0051d79775b08cb2571ed", + "SCALAR-FRAME-AUDIT.json": "cfc73040079b43ea82a42f3cf4c910edda1362deb09ec21c816c329347313bcb", + "FULL-WORD.json.gz": "0ad202612f010df4ab66432a628247b37ad8b497dd6b27595b1685cbd7eb119e", + "CLIFFORD-RECIPES.json": "0a60293f43d88dbb1b321f02e61204afe1b6272b1346968ef35705caea1e4771", + "CLIFFORD-REVIEW.json": "4e3cdd616d105a49bbf1948bb53e49938d515c42f1c026781d1b5e9cb636db12", + "LOCAL-CHECKS.json": "2b8a6a6854b8df8ecd84d8ff2b92f720c81454636988e6a0dfdc1f6c29d1c82c" + }, + "paid_profile": { + "1": 2514, + "2": 404, + "3": 448, + "4": 160, + "5": 56, + "8": 8 + }, + "program_hashes": { + "backward": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "forward": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9" + }, + "semantic_artifact_sha256": { + "CANONICAL-WORD.json.gz": "e6daee410e04d5e023faf21144081534ad222d334ce786e6b5f52407e6b3c41f", + "LOCAL-PROGRAMS.json.gz": "39b230dba9e6b022c691cd0167f331c1b3fa6795d49256e3a2b859c68d4acfda", + "LOCAL-CHECKS.json": "bd53e0cca4488f365ca5b7c7174d8dfb35ced5e0229835f27334c11c3d839717", + "INDEPENDENT-LOCAL-REPLAY.json": "adb5c8ce0b5025dcd96f41b9fa0e26b9a176e067ab36a5bfadad00bc19522b38", + "CLIFFORD-RECIPES.json": "0a60293f43d88dbb1b321f02e61204afe1b6272b1346968ef35705caea1e4771", + "CLIFFORD-REVIEW.json": "1b4aa8bf9185b423e3f29e0ee2eb4d7082e2408c2b09cba1ef02282282731152", + "RESIDUAL-ADAPTERS.json": "c233611dd4c08c389dfb6c7d1c84dd86a3efa560223fcd6549a2848692541cd9" + } + } + }, + "provider_phase_semantic_sha256": { + "gauge44": "1b4aa8bf9185b423e3f29e0ee2eb4d7082e2408c2b09cba1ef02282282731152" + }, + "provider_counts": { + "gauge44": 72 + }, + "selected_calls": [ + { + "stage": 0, + "replica": 0, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 0, + "replica": 1, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 1, + "replica": 0, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 0, + "replica": 2, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 1, + "replica": 1, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 2, + "replica": 0, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 0, + "replica": 3, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 1, + "replica": 2, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 2, + "replica": 1, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 3, + "replica": 0, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 0, + "replica": 4, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 1, + "replica": 3, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 2, + "replica": 2, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 3, + "replica": 1, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 4, + "replica": 0, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 0, + "replica": 5, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 1, + "replica": 4, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 2, + "replica": 3, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 3, + "replica": 2, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 4, + "replica": 1, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 5, + "replica": 0, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 0, + "replica": 6, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 1, + "replica": 5, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 2, + "replica": 4, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 3, + "replica": 3, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 4, + "replica": 2, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 5, + "replica": 1, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 0, + "replica": 7, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 6, + "replica": 0, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 1, + "replica": 6, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 2, + "replica": 5, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 3, + "replica": 4, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 4, + "replica": 3, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 5, + "replica": 2, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 6, + "replica": 1, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 1, + "replica": 7, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 7, + "replica": 0, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 2, + "replica": 6, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 3, + "replica": 5, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 4, + "replica": 4, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 5, + "replica": 3, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 6, + "replica": 2, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 7, + "replica": 1, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 2, + "replica": 7, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 8, + "replica": 0, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 3, + "replica": 6, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 4, + "replica": 5, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 5, + "replica": 4, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 6, + "replica": 3, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 7, + "replica": 2, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 8, + "replica": 1, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 3, + "replica": 7, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 4, + "replica": 6, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 5, + "replica": 5, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 6, + "replica": 4, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 7, + "replica": 3, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 8, + "replica": 2, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 4, + "replica": 7, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 5, + "replica": 6, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 6, + "replica": 5, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 7, + "replica": 4, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 8, + "replica": 3, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 5, + "replica": 7, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 6, + "replica": 6, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 7, + "replica": 5, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 8, + "replica": 4, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 6, + "replica": 7, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 7, + "replica": 6, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 8, + "replica": 5, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 7, + "replica": 7, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 8, + "replica": 6, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 8, + "replica": 7, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + } + ], + "selected_local_paid_profile": { + "1": 181008, + "2": 29088, + "3": 32256, + "4": 11520, + "5": 4032, + "8": 576 + }, + "selected_real_component_primitives": 30245280, + "selected_coefficient_work_primitive_count": 15028288, + "selected_scalar_macros": 2993040, + "global_prefix_bits": 360, + "charged_prefix_bits": 512, + "complete_invocation_sweeps": 72, + "bridge_sweeps": 72, + "row_prefix_extra": 1024, + "helpers": 492, + "centres": 8, + "live": 7168, + "physical": 7670, + "physical_stock_identity": { + "data_and_owner_families": 7168, + "local_helpers": 492, + "private_centres": 8, + "coefficient_work": 2 + }, + "local_adapters": 738816, + "local_primitive_bound": 19160702806276, + "wrapper_elementary_factors_charged": 5142528, + "factors_per_wrapper": 144, + "compiler": 25934336, + "unhosted_pervertex": 2486201168471768, + "hosted_rebased_pervertex": 2486201168171612, + "conservative_pervertex_used": 5364148158196336, + "retained_prior_overcharge": { + "sha256": "ce1bfa49be88ae67a404f606a11db2232b7e1f2610d4418058e39749d86d8478", + "previous_pervertex_allowance": 2877946989724568, + "added_complete_new_pervertex": 2486201168471768, + "policy": "Retain old allowance and add entire fresh mixed recount." + }, + "finite": { + "physical_stock_bits": 2641, + "router_bits": 7986, + "literal_bits": 35282, + "physical_row_coefficient": 16467, + "retained_row_coefficient": 20161, + "required_C0_bits": 200012, + "halving_integer_inequality": [ + 5329, + 4608 + ], + "G_exponent": 30000, + "E_exponent": 100000, + "C0_exponent": 210000 + }, + "strict_checks": { + "local_primitive_bound": true, + "logical": true, + "router": true, + "literal": true, + "mass": true, + "precision": true, + "tape": true, + "row": true, + "halving": true + }, + "scope": "Actual call-specific mixed scalar, Horner, wrappers and paid children recounted. All three providers use fresh hash-bound independent all-column/frame/phase/normalization admission. Shared compiler uses conservative maxima; parent is geometry/overcharge only. All-size compiler, hosting, precision/tape and analytic transfer remain conditional." +} diff --git a/research/gauge44-leaver8/evidence/global/ACTUAL-SIGMAS.json.gz b/research/gauge44-leaver8/evidence/global/ACTUAL-SIGMAS.json.gz new file mode 100644 index 0000000000..dbb57066e2 Binary files /dev/null and b/research/gauge44-leaver8/evidence/global/ACTUAL-SIGMAS.json.gz differ diff --git a/research/gauge44-leaver8/evidence/global/GLOBAL-TEMPLATE.json.gz b/research/gauge44-leaver8/evidence/global/GLOBAL-TEMPLATE.json.gz new file mode 100644 index 0000000000..424c2df489 Binary files /dev/null and b/research/gauge44-leaver8/evidence/global/GLOBAL-TEMPLATE.json.gz differ diff --git a/research/gauge44-leaver8/evidence/global/HOSTED.json b/research/gauge44-leaver8/evidence/global/HOSTED.json new file mode 100644 index 0000000000..498e849ab7 --- /dev/null +++ b/research/gauge44-leaver8/evidence/global/HOSTED.json @@ -0,0 +1,60 @@ +{ + "status": "EMITTED_MIXED_PROVIDER_ASYNCHRONOUS_WHOLE_OWNER_COMPLEX_TEMPLATE", + "template_sha256": "0c2aab7dc120f5882a0171496cbbe819cac81373dcb425802a15f45e36898a46", + "parent_template_sha256": "7db047a427a7979d69e163c78a1e32bd445628fb86723e131a3138361355a9c3", + "live": 7168, + "physical": 7670, + "global_profile": { + "1": 181093, + "2": 29164, + "3": 32429, + "4": 11520, + "5": 4032, + "7": 7, + "8": 582, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + }, + "rank_mass": 520704, + "deficit": 2560, + "maxchild": 48, + "hosted_residuals": 35424, + "banks_per_stage": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "entering_helper_roles": 17856, + "unique_actual_73column_sigmas": 7870, + "sigma_stream_sha256": "f4e9802acb2ed53fc1f0486e7d0f55a6faa30ed7f5d2ad48a06450234b00ba76", + "cross_replica_helper_roles": 25937, + "asynchronous_order_sha256": "2acd6b2004be3d3ef6645f3c968feb22b5167c400bb49eb446821e5cb7af6eee", + "source_artifacts": { + "work/complex-nine-native/DATA-PHASES.json": "c5916ff312678f12aba403847643fbbc29f643acec60bdf836fa56cd3e8251fa", + "providers/gauge44/CANONICAL-WORD.json.gz": "92941c2b718b533f1d3addb710d261a6e2b9ec5d19f0051d79775b08cb2571ed", + "providers/gauge44/LOCAL-PROGRAMS.json.gz": "172dc3d23e437909ddc01d07b12ede735afbb5bb6145f1ddf5c2e03097dfebe2", + "providers/gauge44/LOCAL-CHECKS.json": "2b8a6a6854b8df8ecd84d8ff2b92f720c81454636988e6a0dfdc1f6c29d1c82c", + "providers/gauge44/INDEPENDENT-LOCAL-REPLAY.json": "18d68326ce0aca76911d561e79a817bce90cb8adfe053e19621c7ae0298b842e", + "providers/gauge44/RESIDUAL-ADAPTERS.json": "bb6c23ba1b8dd5d2016724c3348b4e91a6b91daaa3f56bbd5216cb7a96bf5c94", + "providers/gauge44/CLIFFORD-RECIPES.json": "0a60293f43d88dbb1b321f02e61204afe1b6272b1346968ef35705caea1e4771", + "providers/gauge44/CLIFFORD-REVIEW.json": "4e3cdd616d105a49bbf1948bb53e49938d515c42f1c026781d1b5e9cb636db12" + }, + "provider_counts": { + "gauge44": 72 + }, + "scope": "Two actual verified plain/width-seven providers dispatched per complete invocation; independent controller/spectator/normalization and complete finite invoice admission required." +} diff --git a/research/gauge44-leaver8/evidence/global/IDLE-REMAINDER-FRAMES.json.gz b/research/gauge44-leaver8/evidence/global/IDLE-REMAINDER-FRAMES.json.gz new file mode 100644 index 0000000000..3562e60f05 Binary files /dev/null and b/research/gauge44-leaver8/evidence/global/IDLE-REMAINDER-FRAMES.json.gz differ diff --git a/research/gauge44-leaver8/evidence/layers/LOCAL-AUDIT-LAYERED.json b/research/gauge44-leaver8/evidence/layers/LOCAL-AUDIT-LAYERED.json new file mode 100644 index 0000000000..0780787674 --- /dev/null +++ b/research/gauge44-leaver8/evidence/layers/LOCAL-AUDIT-LAYERED.json @@ -0,0 +1,137 @@ +{ + "status": "PASS_INDEPENDENT_EXACT_FORWARD_AND_DUAL_ENDPOINT_FRAMES_ENTRANCES_CONES", + "input_file": "FULL-WORD.json.gz", + "content_sha256": "db2c7cfb3f8eee2b76c2e0154fc530520fb4d90cd9511a002cab527b16033b83", + "compressed_sha256": "3b268a3adb543e930454e9d9405e5f7a664c75c487f6c5cbe29c199f24a89789", + "parent_center_interface": { + "parent_path": "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/CANONICAL-WORD.json.gz", + "parent_file_sha256": "66d3c3c70983224650643a0a05a21ac6c6959f84d0f4528650601016f5a76844", + "transport_tau": 43, + "ordered_frame_bases_match": true, + "all_ports_match": true, + "transported_centers": [ + 92, + 57, + 81, + 224, + 11, + 240, + 9, + 256 + ], + "source_centers": [ + 92, + 57, + 81, + 11, + 9 + ], + "ordered_frame_bases": [ + [ + 256, + 128, + 64, + 34, + 16, + 10, + 4, + 1 + ], + [ + 256, + 128, + 64, + 32, + 16, + 8, + 5, + 3 + ], + [ + 256, + 128, + 64, + 32, + 17, + 9, + 4, + 2 + ], + [ + 256, + 128, + 64, + 36, + 20, + 8, + 2, + 1 + ], + [ + 256, + 128, + 66, + 32, + 18, + 8, + 4, + 1 + ], + [ + 256, + 128, + 65, + 33, + 17, + 9, + 5, + 3 + ], + [ + 256, + 128, + 65, + 33, + 16, + 8, + 4, + 2 + ], + [ + 256, + 128, + 68, + 32, + 16, + 12, + 2, + 1 + ] + ] + }, + "v": 112, + "h": 9, + "R": 480, + "entering": 192, + "lowends": 78, + "coldends": 48, + "compensation_gates": 7208, + "local_profile": { + "1": 2412, + "2": 418, + "3": 418, + "4": 170, + "5": 68, + "8": 8 + }, + "width_inventory": { + "4": 56, + "5": 32, + "7": 30, + "8": 122, + "9": 240 + }, + "checked_columns": 704, + "elapsed_seconds": 0.8600000000005821, + "scope": "Exact rational full scalar map in both orientations; all literal native frame chains, center levels, dyadic units, entrance-zero response, wrapper exclusion and final helper row/column cones. No global owner admission or exponent repricing." +} diff --git a/research/gauge44-leaver8/evidence/leaver/CELL-MUTANTS-LV.json b/research/gauge44-leaver8/evidence/leaver/CELL-MUTANTS-LV.json new file mode 100644 index 0000000000..4d4ef7403c --- /dev/null +++ b/research/gauge44-leaver8/evidence/leaver/CELL-MUTANTS-LV.json @@ -0,0 +1,261 @@ +{ + "c01m": { + "base": { + "audit_local": "PASS", + "native": "PASS" + }, + "window": [ + 611, + 631 + ], + "mutants": { + "M1_drop_leaver_restore_233": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [233])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M2_flip_yy_B623": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [172, 175])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M3_delete_xy_B611": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [132, 135, 173, 174])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M4_target_reads_entering_h448": { + "audit_local": "RuntimeError: nonzero entrance response", + "native": "AssertionError: zero-frame compensation reads an entering helper" + }, + "M5_wrong_leaver_restore_233": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [233])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M6_unrelabelled_dirty_yy_source": { + "audit_local": "RuntimeError: nonzero entrance response", + "native": "AssertionError: zero-frame compensation reads an entering helper" + } + }, + "all_rejected_both": true + }, + "c01p": { + "base": { + "audit_local": "PASS", + "native": "PASS" + }, + "window": [ + 611, + 631 + ], + "mutants": { + "M1_drop_leaver_restore_57": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [57, 58, 224, 225, 226])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M2_flip_yy_B623": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [169, 170])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M3_delete_xy_B611": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [129, 130, 168, 171])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M4_target_reads_entering_h448": { + "audit_local": "RuntimeError: nonzero entrance response", + "native": "AssertionError: zero-frame compensation reads an entering helper" + }, + "M5_wrong_leaver_restore_57": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [57, 58, 224, 225, 226])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M6_unrelabelled_dirty_yy_source": { + "audit_local": "RuntimeError: nonzero entrance response", + "native": "AssertionError: zero-frame compensation reads an entering helper" + } + }, + "all_rejected_both": true + }, + "c23m": { + "base": { + "audit_local": "PASS", + "native": "PASS" + }, + "window": [ + 611, + 631 + ], + "mutants": { + "M1_drop_leaver_restore_58": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [58])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M2_flip_yy_B623": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [169, 170])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M3_delete_xy_B611": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [173, 174, 196, 199])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M4_target_reads_entering_h448": { + "audit_local": "RuntimeError: nonzero entrance response", + "native": "AssertionError: zero-frame compensation reads an entering helper" + }, + "M5_wrong_leaver_restore_58": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [58])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M6_unrelabelled_dirty_yy_source": { + "audit_local": "RuntimeError: nonzero entrance response", + "native": "AssertionError: zero-frame compensation reads an entering helper" + } + }, + "all_rejected_both": true + }, + "c23p": { + "base": { + "audit_local": "PASS", + "native": "PASS" + }, + "window": [ + 611, + 631 + ], + "mutants": { + "M1_drop_leaver_restore_239": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [60, 63, 231, 232, 238, 239])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M2_flip_yy_B623": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [172, 175])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M3_delete_xy_B611": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [168, 171, 193, 194])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M4_target_reads_entering_h448": { + "audit_local": "RuntimeError: nonzero entrance response", + "native": "AssertionError: zero-frame compensation reads an entering helper" + }, + "M5_wrong_leaver_restore_239": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [60, 63, 231, 232, 238, 239])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M6_unrelabelled_dirty_yy_source": { + "audit_local": "RuntimeError: nonzero entrance response", + "native": "AssertionError: zero-frame compensation reads an entering helper" + } + }, + "all_rejected_both": true + }, + "c45m": { + "base": { + "audit_local": "PASS", + "native": "PASS" + }, + "window": [ + 611, + 631 + ], + "mutants": { + "M1_drop_leaver_restore_441": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [52, 55, 439, 440, 446, 447])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M2_flip_yy_B623": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [137, 138])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M3_delete_xy_B611": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [141, 142, 164, 167])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M4_target_reads_entering_h448": { + "audit_local": "RuntimeError: nonzero entrance response", + "native": "AssertionError: zero-frame compensation reads an entering helper" + }, + "M5_wrong_leaver_restore_441": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [52, 55, 439, 440, 446, 447])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M6_unrelabelled_dirty_yy_source": { + "audit_local": "RuntimeError: nonzero entrance response", + "native": "AssertionError: zero-frame compensation reads an entering helper" + } + }, + "all_rejected_both": true + }, + "c45p": { + "base": { + "audit_local": "PASS", + "native": "PASS" + }, + "window": [ + 611, + 631 + ], + "mutants": { + "M1_drop_leaver_restore_255": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [28, 31, 247, 248, 254, 255])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M2_flip_yy_B623": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [140, 143])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M3_delete_xy_B611": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [136, 139, 161, 162])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M4_target_reads_entering_h448": { + "audit_local": "RuntimeError: nonzero entrance response", + "native": "AssertionError: zero-frame compensation reads an entering helper" + }, + "M5_wrong_leaver_restore_255": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [28, 31, 247, 248, 254, 255])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M6_unrelabelled_dirty_yy_source": { + "audit_local": "RuntimeError: nonzero entrance response", + "native": "AssertionError: zero-frame compensation reads an entering helper" + } + }, + "all_rejected_both": true + }, + "c67m": { + "base": { + "audit_local": "PASS", + "native": "PASS" + }, + "window": [ + 611, + 631 + ], + "mutants": { + "M1_drop_leaver_restore_18": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [18])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M2_flip_yy_B623": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [129, 130])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M3_delete_xy_B611": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [133, 134, 161, 162])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M4_target_reads_entering_h448": { + "audit_local": "RuntimeError: nonzero entrance response", + "native": "AssertionError: zero-frame compensation reads an entering helper" + }, + "M5_wrong_leaver_restore_18": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [18])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M6_unrelabelled_dirty_yy_source": { + "audit_local": "RuntimeError: nonzero entrance response", + "native": "AssertionError: zero-frame compensation reads an entering helper" + } + }, + "all_rejected_both": true + } +} \ No newline at end of file diff --git a/research/gauge44-leaver8/evidence/leaver/FRAME-CONTROLS-LV-k8.json b/research/gauge44-leaver8/evidence/leaver/FRAME-CONTROLS-LV-k8.json new file mode 100644 index 0000000000..9f56e21000 --- /dev/null +++ b/research/gauge44-leaver8/evidence/leaver/FRAME-CONTROLS-LV-k8.json @@ -0,0 +1,54 @@ +{ + "base": "c836d892", + "recipe": "FRAME-RECIPE-LV-k8.json", + "controls": { + "shrink_raised_B": { + "builder": "profile and width pins", + "stage": "native_atc", + "native": "PASS", + "rc": 0, + "reason": "}", + "frame": [ + "B", + 539 + ] + }, + "shrink_lowered_B": { + "builder": "('nonmonotone', 174)", + "stage": "apply", + "reason": "('nonmonotone', 174)" + }, + "shrink_T": { + "builder": "('nonmonotone', 554)", + "stage": "apply", + "reason": "('nonmonotone', 554)" + }, + "empty_B": { + "builder": "('nonmonotone', 169)", + "stage": "apply", + "reason": "('nonmonotone', 169)" + }, + "drop_one_lowering": { + "builder": "output word pin", + "stage": "native_atc", + "native": "PASS", + "rc": 0, + "reason": "}", + "frame": [ + "B", + 1232 + ] + }, + "drop_one_raise": { + "builder": "profile and width pins", + "stage": "native_atc", + "native": "PASS", + "rc": 0, + "reason": "}", + "frame": [ + "B", + 539 + ] + } + } +} diff --git a/research/gauge44-leaver8/evidence/local/CANONICAL-WORD.json.gz b/research/gauge44-leaver8/evidence/local/CANONICAL-WORD.json.gz new file mode 100644 index 0000000000..5062a1f62f Binary files /dev/null and b/research/gauge44-leaver8/evidence/local/CANONICAL-WORD.json.gz differ diff --git a/research/gauge44-leaver8/evidence/local/CLIFFORD-RECIPES.json b/research/gauge44-leaver8/evidence/local/CLIFFORD-RECIPES.json new file mode 100644 index 0000000000..3ba8326d3a --- /dev/null +++ b/research/gauge44-leaver8/evidence/local/CLIFFORD-RECIPES.json @@ -0,0 +1 @@ +{"children":[{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":2,"old":0,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,1,1,2],"matrix_rows":[203,257,258,4,264,16,32,320,384],"offset":0,"phase":0,"quadratic_rows":[459,459,0,459,0,0,459,459,203]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":3,"old":0,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":4,"old":0,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":5,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":6,"old":0,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":7,"old":0,"rank":1,"right":{"linear_Z4":[3,3,0,2,0,0,0,0,0],"matrix_rows":[11,9,10,4,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":8,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,3,3,2],"matrix_rows":[448,1,2,4,8,16,32,320,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,0,192,192,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":9,"old":0,"rank":1,"right":{"linear_Z4":[3,0,3,3,0,3,3,3,2],"matrix_rows":[493,257,2,260,264,16,288,320,384],"offset":1,"phase":1,"quadratic_rows":[237,0,237,237,0,237,237,237,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":10,"old":0,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,2,0,0,0],"matrix_rows":[38,1,34,36,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":11,"old":0,"rank":1,"right":{"linear_Z4":[3,3,0,0,3,3,3,3,2],"matrix_rows":[499,257,258,4,8,272,288,320,384],"offset":1,"phase":1,"quadratic_rows":[243,243,0,0,243,243,243,243,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":12,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,2,0,0,0],"matrix_rows":[56,1,2,4,40,48,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,24,24,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":13,"old":0,"rank":1,"right":{"linear_Z4":[3,0,3,0,2,0,0,0,0],"matrix_rows":[21,17,2,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":14,"old":0,"rank":1,"right":{"linear_Z4":[0,3,3,3,3,0,3,3,2],"matrix_rows":[478,1,258,260,264,272,32,320,384],"offset":1,"phase":1,"quadratic_rows":[0,222,222,222,222,0,222,222,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,33,64,1,130,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":18,"old":0,"rank":2,"right":{"linear_Z4":[1,0,1,1,0,2,3,3,2],"matrix_rows":[13,448,33,2,36,40,16,320,384],"offset":2,"phase":1,"quadratic_rows":[45,0,45,45,0,13,192,192,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,19,35,66,1,130,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":25,"old":0,"rank":2,"right":{"linear_Z4":[1,3,0,0,3,2,3,3,2],"matrix_rows":[13,478,33,258,292,296,272,320,384],"offset":2,"phase":1,"quadratic_rows":[45,222,243,243,222,13,222,222,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[6,8,18,35,1,3,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":26,"old":0,"rank":2,"right":{"linear_Z4":[1,0,1,2,0,2,0,0,0],"matrix_rows":[24,13,49,2,52,40,64,128,256],"offset":0,"phase":0,"quadratic_rows":[61,0,61,53,13,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":36,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,0,3,2,0],"matrix_rows":[208,1,2,4,8,144,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,80,0,80,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":37,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,0,3,0,2],"matrix_rows":[336,1,2,4,8,272,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,80,0,80,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":38,"old":0,"rank":1,"right":{"linear_Z4":[3,0,3,3,3,3,3,0,2],"matrix_rows":[381,257,2,260,264,272,288,320,128],"offset":1,"phase":1,"quadratic_rows":[125,0,125,125,125,125,125,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":39,"old":0,"rank":1,"right":{"linear_Z4":[3,0,3,3,3,3,3,2,0],"matrix_rows":[253,129,2,132,136,144,160,192,256],"offset":1,"phase":1,"quadratic_rows":[125,0,125,125,125,125,125,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":40,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,3,0,0,2],"matrix_rows":[296,1,2,4,264,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,40,0,40,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":41,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,3,0,2,0],"matrix_rows":[168,1,2,4,136,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,40,0,40,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":42,"old":0,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,2,0],"matrix_rows":[133,129,2,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":43,"old":0,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,0,2],"matrix_rows":[261,257,2,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[6,8,18,35,64,3,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":54,"old":0,"rank":2,"right":{"linear_Z4":[1,0,1,2,0,2,0,0,0],"matrix_rows":[264,13,289,2,292,40,16,64,128],"offset":0,"phase":0,"quadratic_rows":[301,0,301,293,0,13,0,0,13]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[6,8,18,35,64,3,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":55,"old":0,"rank":2,"right":{"linear_Z4":[1,0,1,2,0,2,0,0,0],"matrix_rows":[136,13,161,2,164,40,16,64,256],"offset":0,"phase":0,"quadratic_rows":[173,0,173,165,0,13,0,13,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":65,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,0,0,3,2],"matrix_rows":[400,1,2,4,8,272,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,144,0,0,144,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":66,"old":0,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,2,0,0,0],"matrix_rows":[35,33,34,4,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":67,"old":0,"rank":1,"right":{"linear_Z4":[0,3,3,2,0,0,0,0,0],"matrix_rows":[14,1,10,12,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":68,"old":0,"rank":1,"right":{"linear_Z4":[3,0,3,3,3,3,0,3,2],"matrix_rows":[445,257,2,260,264,272,288,64,384],"offset":1,"phase":1,"quadratic_rows":[189,0,189,189,189,189,0,189,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":69,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,3,2,0,0],"matrix_rows":[104,1,2,4,72,16,96,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,40,0,40,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":70,"old":0,"rank":1,"right":{"linear_Z4":[3,3,0,3,3,0,3,3,2],"matrix_rows":[475,257,258,4,264,272,32,320,384],"offset":1,"phase":1,"quadratic_rows":[219,219,0,219,219,0,219,219,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":71,"old":0,"rank":1,"right":{"linear_Z4":[0,3,3,0,3,3,3,3,2],"matrix_rows":[502,1,258,260,8,272,288,320,384],"offset":1,"phase":1,"quadratic_rows":[0,246,246,0,246,246,246,246,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":72,"old":0,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,2,0,0],"matrix_rows":[69,65,2,68,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[7,9,18,2,32,3,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":76,"old":0,"rank":2,"right":{"linear_Z4":[2,3,3,2,0,2,0,0,0],"matrix_rows":[43,5,33,42,12,16,64,128,256],"offset":3,"phase":2,"quadratic_rows":[14,3,13,5,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[6,8,18,35,64,3,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":83,"old":0,"rank":2,"right":{"linear_Z4":[1,0,1,2,0,2,0,0,0],"matrix_rows":[72,13,97,2,100,40,16,128,256],"offset":0,"phase":0,"quadratic_rows":[109,0,109,101,0,13,13,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":94,"old":0,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,2,0,0,0],"matrix_rows":[41,33,2,4,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":95,"old":0,"rank":1,"right":{"linear_Z4":[3,3,3,0,3,3,0,3,2],"matrix_rows":[439,257,258,260,8,272,288,64,384],"offset":1,"phase":1,"quadratic_rows":[183,183,183,0,183,183,0,183,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":96,"old":0,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,0,0,3,2],"matrix_rows":[388,1,2,260,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,132,0,0,0,0,132,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":97,"old":0,"rank":1,"right":{"linear_Z4":[0,3,0,3,2,0,0,0,0],"matrix_rows":[26,1,18,4,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":98,"old":0,"rank":1,"right":{"linear_Z4":[3,3,3,3,0,0,3,3,2],"matrix_rows":[463,257,258,260,264,16,32,320,384],"offset":1,"phase":1,"quadratic_rows":[207,207,207,207,0,0,207,207,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":99,"old":0,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,2,0,0],"matrix_rows":[81,65,2,4,8,80,32,128,256],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":100,"old":0,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,3,2,0,0],"matrix_rows":[98,1,66,4,8,16,96,128,256],"offset":1,"phase":1,"quadratic_rows":[0,34,0,0,0,34,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":101,"old":0,"rank":1,"right":{"linear_Z4":[0,0,3,3,3,3,3,3,2],"matrix_rows":[508,1,2,260,264,272,288,320,384],"offset":1,"phase":1,"quadratic_rows":[0,0,252,252,252,252,252,252,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[6,10,19,35,65,1,131,259,3],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":112,"old":0,"rank":2,"right":{"linear_Z4":[3,3,0,0,1,2,0,0,3],"matrix_rows":[476,463,289,290,260,264,48,320,384],"offset":2,"phase":1,"quadratic_rows":[239,239,275,275,508,19,275,275,476]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":123,"old":0,"rank":1,"right":{"linear_Z4":[3,3,3,0,3,3,3,0,2],"matrix_rows":[375,257,258,260,8,272,288,320,128],"offset":1,"phase":1,"quadratic_rows":[119,119,119,0,119,119,119,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":124,"old":0,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,0,3,2,0],"matrix_rows":[196,1,2,132,8,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,0,68,0,0,0,68,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":125,"old":0,"rank":1,"right":{"linear_Z4":[3,3,3,0,3,3,3,2,0],"matrix_rows":[247,129,130,132,8,144,160,192,256],"offset":1,"phase":1,"quadratic_rows":[119,119,119,0,119,119,119,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":126,"old":0,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,0,3,0,2],"matrix_rows":[324,1,2,260,8,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,0,68,0,0,0,68,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":127,"old":0,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,2,0],"matrix_rows":[145,129,2,4,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":128,"old":0,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,3,0,0,2],"matrix_rows":[290,1,258,4,8,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,34,0,0,0,34,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":129,"old":0,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,0,2],"matrix_rows":[273,257,2,4,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":130,"old":0,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,3,0,2,0],"matrix_rows":[162,1,130,4,8,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,34,0,0,0,34,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":152,"old":0,"rank":1,"right":{"linear_Z4":[3,3,3,0,0,3,3,3,2],"matrix_rows":[487,257,258,260,8,16,288,320,384],"offset":1,"phase":1,"quadratic_rows":[231,231,231,0,0,231,231,231,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":153,"old":0,"rank":1,"right":{"linear_Z4":[0,0,3,0,3,0,2,0,0],"matrix_rows":[84,1,2,68,8,80,32,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,20,0,20,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":154,"old":0,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,2,0,0],"matrix_rows":[74,1,66,4,72,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":155,"old":0,"rank":1,"right":{"linear_Z4":[3,0,0,3,3,3,3,3,2],"matrix_rows":[505,257,2,4,264,272,288,320,384],"offset":1,"phase":1,"quadratic_rows":[249,0,0,249,249,249,249,249,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":156,"old":0,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,2,0,0,0],"matrix_rows":[44,1,2,36,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":157,"old":0,"rank":1,"right":{"linear_Z4":[3,3,3,3,3,0,0,3,2],"matrix_rows":[415,257,258,260,264,272,32,64,384],"offset":1,"phase":1,"quadratic_rows":[159,159,159,159,159,0,0,159,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":158,"old":0,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,0,0,3,2],"matrix_rows":[385,257,2,4,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[129,0,0,0,0,0,0,129,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":159,"old":0,"rank":1,"right":{"linear_Z4":[0,3,0,0,3,2,0,0,0],"matrix_rows":[50,1,34,4,8,48,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,11,17,33,3,2,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":170,"old":0,"rank":2,"right":{"linear_Z4":[0,2,1,1,2,0,0,0,0],"matrix_rows":[14,34,1,18,52,56,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,60,62,62,14,14,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,20,32,70,130,2,6,257,1],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":172,"old":0,"rank":3,"right":{"linear_Z4":[3,3,0,2,3,2,2,3,2],"matrix_rows":[385,24,106,257,98,4,72,48,384],"offset":7,"phase":3,"quadratic_rows":[129,10,0,50,56,24,0,129,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[15,23,35,65,133,6,2,263,7],"offset":0,"phase":0,"quadratic_rows":[6,5,7,0,0,0,0,0,0]},"new":173,"old":0,"rank":3,"right":{"linear_Z4":[3,3,2,3,0,0,0,3,2],"matrix_rows":[415,391,499,257,258,356,296,336,384],"offset":3,"phase":2,"quadratic_rows":[235,235,376,191,300,415,391,235,116]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[15,21,35,71,129,2,4,263,7],"offset":0,"phase":0,"quadratic_rows":[6,3,5,0,0,0,0,0,0]},"new":174,"old":0,"rank":3,"right":{"linear_Z4":[1,0,0,1,3,1,1,1,0],"matrix_rows":[415,493,491,257,290,324,264,368,384],"offset":1,"phase":1,"quadratic_rows":[153,340,306,153,255,116,114,153,6]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,70,128,4,2,257,1],"offset":0,"phase":0,"quadratic_rows":[0,4,2,0,0,0,0,0,0]},"new":175,"old":0,"rank":3,"right":{"linear_Z4":[3,3,3,2,0,1,1,3,2],"matrix_rows":[385,106,108,257,66,36,104,16,384],"offset":7,"phase":3,"quadratic_rows":[129,42,76,102,0,106,108,129,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":181,"old":0,"rank":1,"right":{"linear_Z4":[0,0,3,0,3,0,0,2,0],"matrix_rows":[148,1,2,132,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,20,0,20,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":182,"old":0,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,0,0,2],"matrix_rows":[266,1,258,4,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":183,"old":0,"rank":1,"right":{"linear_Z4":[0,0,3,0,3,0,0,0,2],"matrix_rows":[276,1,2,260,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,20,0,20,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":184,"old":0,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,0,2,0],"matrix_rows":[138,1,130,4,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":185,"old":0,"rank":1,"right":{"linear_Z4":[3,3,3,3,3,0,3,0,2],"matrix_rows":[351,257,258,260,264,272,32,320,128],"offset":1,"phase":1,"quadratic_rows":[95,95,95,95,95,0,95,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":186,"old":0,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,0,3,2,0],"matrix_rows":[193,129,2,4,8,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[65,0,0,0,0,0,65,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":187,"old":0,"rank":1,"right":{"linear_Z4":[3,3,3,3,3,0,3,2,0],"matrix_rows":[223,129,130,132,136,144,32,192,256],"offset":1,"phase":1,"quadratic_rows":[95,95,95,95,95,0,95,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":188,"old":0,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,0,3,0,2],"matrix_rows":[321,257,2,4,8,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[65,0,0,0,0,0,65,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[13,18,33,66,129,256,5,2,4],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":201,"old":0,"rank":3,"right":{"linear_Z4":[2,3,1,3,1,0,2,2,0],"matrix_rows":[21,138,257,65,130,324,136,336,32],"offset":2,"phase":1,"quadratic_rows":[340,10,341,10,341,0,21,0,21]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[13,18,33,66,129,256,5,4,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":202,"old":0,"rank":3,"right":{"linear_Z4":[2,3,1,3,1,0,2,0,2],"matrix_rows":[21,266,129,65,258,196,264,208,32],"offset":2,"phase":1,"quadratic_rows":[212,10,213,10,213,0,21,21,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[11,23,32,71,128,256,3,6,2],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":203,"old":0,"rank":3,"right":{"linear_Z4":[0,3,0,3,0,0,2,1,2],"matrix_rows":[11,395,138,65,450,4,456,16,32],"offset":6,"phase":2,"quadratic_rows":[448,202,0,202,0,0,11,395,129]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,17,36,65,132,256,1,6,2],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":204,"old":0,"rank":3,"right":{"linear_Z4":[1,1,3,1,3,0,2,3,0],"matrix_rows":[11,384,148,65,66,388,72,400,32],"offset":4,"phase":1,"quadratic_rows":[75,75,276,75,276,0,11,384,148]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":210,"old":0,"rank":1,"right":{"linear_Z4":[3,0,3,2,0,0,0,0,0],"matrix_rows":[13,9,2,12,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":211,"old":0,"rank":1,"right":{"linear_Z4":[0,3,3,3,3,3,0,3,2],"matrix_rows":[446,1,258,260,264,272,288,64,384],"offset":1,"phase":1,"quadratic_rows":[0,190,190,190,190,190,0,190,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":212,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,3,0,3,2],"matrix_rows":[416,1,2,4,8,16,288,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,160,0,160,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":213,"old":0,"rank":1,"right":{"linear_Z4":[3,3,0,0,2,0,0,0,0],"matrix_rows":[19,17,18,4,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":214,"old":0,"rank":1,"right":{"linear_Z4":[3,3,0,3,0,3,3,3,2],"matrix_rows":[491,257,258,4,264,16,288,320,384],"offset":1,"phase":1,"quadratic_rows":[235,235,0,235,0,235,235,235,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":215,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,0,2,0,0],"matrix_rows":[88,1,2,4,72,80,32,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,24,24,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":216,"old":0,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,2,0,0],"matrix_rows":[70,1,66,68,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":217,"old":0,"rank":1,"right":{"linear_Z4":[3,0,3,0,3,3,3,3,2],"matrix_rows":[501,257,2,260,8,272,288,320,384],"offset":1,"phase":1,"quadratic_rows":[245,0,245,0,245,245,245,245,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,33,1,66,128,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":221,"old":0,"rank":2,"right":{"linear_Z4":[0,1,1,1,2,3,0,3,2],"matrix_rows":[14,416,1,18,20,24,288,64,384],"offset":2,"phase":1,"quadratic_rows":[0,30,30,30,14,160,0,160,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[7,9,18,33,2,67,131,259,3],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":228,"old":0,"rank":2,"right":{"linear_Z4":[0,3,1,3,2,0,0,0,3],"matrix_rows":[491,485,257,274,20,280,288,320,384],"offset":1,"phase":1,"quadratic_rows":[270,251,501,251,14,270,270,270,485]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":239,"old":0,"rank":1,"right":{"linear_Z4":[0,3,3,3,3,3,3,0,2],"matrix_rows":[382,1,258,260,264,272,288,320,128],"offset":1,"phase":1,"quadratic_rows":[0,126,126,126,126,126,126,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":240,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,3,3,2,0],"matrix_rows":[224,1,2,4,8,16,160,192,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,96,96,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":241,"old":0,"rank":1,"right":{"linear_Z4":[0,3,3,3,3,3,3,2,0],"matrix_rows":[254,1,130,132,136,144,160,192,256],"offset":1,"phase":1,"quadratic_rows":[0,126,126,126,126,126,126,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":242,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,3,3,0,2],"matrix_rows":[352,1,2,4,8,16,288,320,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,96,96,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":243,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,0,0,2,0],"matrix_rows":[152,1,2,4,136,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,24,24,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":244,"old":0,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,0,2],"matrix_rows":[262,1,258,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":245,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,0,0,0,2],"matrix_rows":[280,1,2,4,264,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,24,24,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":246,"old":0,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,2,0],"matrix_rows":[134,1,130,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,33,1,66,130,2,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":250,"old":0,"rank":2,"right":{"linear_Z4":[0,1,1,1,2,3,3,2,0],"matrix_rows":[14,224,1,18,20,24,160,192,256],"offset":2,"phase":1,"quadratic_rows":[0,30,30,30,14,96,96,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":268,"old":0,"rank":1,"right":{"linear_Z4":[0,3,3,3,0,3,3,3,2],"matrix_rows":[494,1,258,260,264,16,288,320,384],"offset":1,"phase":1,"quadratic_rows":[0,238,238,238,0,238,238,238,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":269,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,3,2,0,0],"matrix_rows":[112,1,2,4,8,80,96,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,48,48,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":270,"old":0,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,2,0,0],"matrix_rows":[67,65,66,4,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":271,"old":0,"rank":1,"right":{"linear_Z4":[3,0,3,3,3,0,3,3,2],"matrix_rows":[477,257,2,260,264,272,32,320,384],"offset":1,"phase":1,"quadratic_rows":[221,0,221,221,221,0,221,221,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":272,"old":0,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,2,0,0,0],"matrix_rows":[37,33,2,36,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":273,"old":0,"rank":1,"right":{"linear_Z4":[3,3,0,3,3,3,0,3,2],"matrix_rows":[443,257,258,4,264,272,288,64,384],"offset":1,"phase":1,"quadratic_rows":[187,187,0,187,187,187,0,187,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":274,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,0,0,3,2],"matrix_rows":[392,1,2,4,264,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,136,0,0,0,136,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":275,"old":0,"rank":1,"right":{"linear_Z4":[0,3,3,0,2,0,0,0,0],"matrix_rows":[22,1,18,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[6,10,16,32,67,3,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":279,"old":0,"rank":2,"right":{"linear_Z4":[1,1,0,0,2,2,0,0,0],"matrix_rows":[80,19,97,98,4,8,48,128,256],"offset":0,"phase":0,"quadratic_rows":[115,115,0,0,99,19,19,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,19,32,2,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":286,"old":0,"rank":2,"right":{"linear_Z4":[3,3,2,0,1,1,0,0,0],"matrix_rows":[53,54,33,18,52,8,64,128,256],"offset":3,"phase":2,"quadratic_rows":[21,38,51,0,53,54,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":297,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,3,0,2,0],"matrix_rows":[176,1,2,4,8,144,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,48,48,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":298,"old":0,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,0,2],"matrix_rows":[259,257,258,4,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":299,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,3,0,0,2],"matrix_rows":[304,1,2,4,8,272,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,48,48,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":300,"old":0,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,2,0],"matrix_rows":[131,129,130,4,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":301,"old":0,"rank":1,"right":{"linear_Z4":[3,3,0,3,3,3,3,0,2],"matrix_rows":[379,257,258,4,264,272,288,320,128],"offset":1,"phase":1,"quadratic_rows":[123,123,0,123,123,123,123,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":302,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,0,3,2,0],"matrix_rows":[200,1,2,4,136,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,72,0,0,72,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":303,"old":0,"rank":1,"right":{"linear_Z4":[3,3,0,3,3,3,3,2,0],"matrix_rows":[251,129,130,4,136,144,160,192,256],"offset":1,"phase":1,"quadratic_rows":[123,123,0,123,123,123,123,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":304,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,0,3,0,2],"matrix_rows":[328,1,2,4,264,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,72,0,0,72,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[6,10,16,32,67,3,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":308,"old":0,"rank":2,"right":{"linear_Z4":[1,1,0,0,2,2,0,0,0],"matrix_rows":[272,19,289,290,4,8,48,64,128],"offset":0,"phase":0,"quadratic_rows":[307,307,0,0,291,19,0,0,19]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":326,"old":0,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,0,2],"matrix_rows":[265,257,2,4,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":327,"old":0,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,2,0],"matrix_rows":[137,129,2,4,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":328,"old":0,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,3,0,2,0],"matrix_rows":[164,1,2,132,8,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,36,0,0,36,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":329,"old":0,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,3,0,0,2],"matrix_rows":[292,1,2,260,8,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,36,0,0,36,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":330,"old":0,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,3,2,0],"matrix_rows":[194,1,130,4,8,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,66,0,0,0,0,66,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":331,"old":0,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,3,0,2],"matrix_rows":[322,1,258,4,8,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,66,0,0,0,0,66,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":332,"old":0,"rank":1,"right":{"linear_Z4":[3,3,3,3,0,3,3,0,2],"matrix_rows":[367,257,258,260,264,16,288,320,128],"offset":1,"phase":1,"quadratic_rows":[111,111,111,111,0,111,111,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":333,"old":0,"rank":1,"right":{"linear_Z4":[3,3,3,3,0,3,3,2,0],"matrix_rows":[239,129,130,132,136,16,160,192,256],"offset":1,"phase":1,"quadratic_rows":[111,111,111,111,0,111,111,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[6,8,19,34,64,3,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":337,"old":0,"rank":2,"right":{"linear_Z4":[1,0,2,1,0,2,0,0,0],"matrix_rows":[132,13,161,2,36,168,16,64,256],"offset":0,"phase":0,"quadratic_rows":[173,0,169,173,0,13,0,13,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,17,33,64,1,130,2,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":344,"old":0,"rank":2,"right":{"linear_Z4":[1,3,1,1,0,2,3,2,0],"matrix_rows":[13,194,33,130,36,40,16,192,256],"offset":2,"phase":1,"quadratic_rows":[45,66,45,45,0,13,66,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,17,33,64,1,130,256,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":345,"old":0,"rank":2,"right":{"linear_Z4":[1,3,1,1,0,2,3,0,2],"matrix_rows":[13,322,33,258,36,40,16,320,128],"offset":2,"phase":1,"quadratic_rows":[45,66,45,45,0,13,66,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[8,19,39,64,128,263,3,6,2],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":350,"old":0,"rank":3,"right":{"linear_Z4":[0,0,3,0,0,3,2,1,2],"matrix_rows":[38,422,164,1,66,452,8,16,480],"offset":6,"phase":2,"quadratic_rows":[0,448,228,0,0,228,38,422,130]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[12,18,34,68,128,258,2,5,1],"offset":0,"phase":0,"quadratic_rows":[5,2,1,0,0,0,0,0,0]},"new":351,"old":0,"rank":3,"right":{"linear_Z4":[3,1,1,3,0,1,2,3,0],"matrix_rows":[384,38,137,385,66,68,392,16,96],"offset":4,"phase":1,"quadratic_rows":[265,102,102,265,0,102,38,384,137]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[10,19,36,66,128,260,3,1,4],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":352,"old":0,"rank":3,"right":{"linear_Z4":[1,2,3,1,0,3,2,0,2],"matrix_rows":[130,11,292,193,66,260,200,16,288],"offset":4,"phase":1,"quadratic_rows":[203,201,36,203,0,36,11,11,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[10,19,36,66,128,260,3,4,1],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":353,"old":0,"rank":3,"right":{"linear_Z4":[1,2,3,1,0,3,2,2,0],"matrix_rows":[258,11,164,321,66,132,328,16,160],"offset":4,"phase":1,"quadratic_rows":[331,329,36,331,0,36,11,0,11]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":355,"old":0,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,2,0,0],"matrix_rows":[73,65,2,4,72,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":356,"old":0,"rank":1,"right":{"linear_Z4":[0,3,0,3,3,3,3,3,2],"matrix_rows":[506,1,258,4,264,272,288,320,384],"offset":1,"phase":1,"quadratic_rows":[0,250,0,250,250,250,250,250,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":357,"old":0,"rank":1,"right":{"linear_Z4":[3,3,3,0,3,0,3,3,2],"matrix_rows":[471,257,258,260,8,272,32,320,384],"offset":1,"phase":1,"quadratic_rows":[215,215,215,0,215,0,215,215,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":358,"old":0,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,3,2,0,0],"matrix_rows":[100,1,2,68,8,16,96,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,36,0,0,36,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":359,"old":0,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,0,3,2],"matrix_rows":[386,1,258,4,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,130,0,0,0,0,0,130,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":360,"old":0,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,2,0,0,0],"matrix_rows":[49,33,2,4,8,48,64,128,256],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":361,"old":0,"rank":1,"right":{"linear_Z4":[0,0,3,3,2,0,0,0,0],"matrix_rows":[28,1,2,20,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":362,"old":0,"rank":1,"right":{"linear_Z4":[3,3,3,3,0,3,0,3,2],"matrix_rows":[431,257,258,260,264,16,288,64,384],"offset":1,"phase":1,"quadratic_rows":[175,175,175,175,0,175,0,175,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[6,11,18,33,67,1,131,259,3],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":366,"old":0,"rank":2,"right":{"linear_Z4":[3,0,3,1,0,2,0,0,3],"matrix_rows":[474,471,289,258,292,40,272,320,384],"offset":2,"phase":1,"quadratic_rows":[247,269,247,506,269,13,269,269,474]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,8,17,33,2,3,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":374,"old":0,"rank":2,"right":{"linear_Z4":[2,0,1,1,0,2,0,0,0],"matrix_rows":[13,17,33,2,52,56,64,128,256],"offset":0,"phase":0,"quadratic_rows":[60,0,61,61,13,13,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[12,18,37,64,132,1,5,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,4,0,0,0,0,0,0]},"new":379,"old":0,"rank":3,"right":{"linear_Z4":[1,3,2,0,1,0,2,3,2],"matrix_rows":[36,386,21,97,258,68,8,112,384],"offset":2,"phase":1,"quadratic_rows":[117,130,113,0,117,21,21,130,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[14,23,35,66,4,135,1,263,7],"offset":0,"phase":0,"quadratic_rows":[3,5,6,0,0,0,0,0,0]},"new":380,"old":0,"rank":3,"right":{"linear_Z4":[0,1,0,3,1,1,1,1,0],"matrix_rows":[502,431,499,321,258,276,344,288,384],"offset":2,"phase":1,"quadratic_rows":[284,170,329,255,89,170,92,170,5]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,17,36,70,6,130,2,257,1],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":381,"old":0,"rank":3,"right":{"linear_Z4":[0,3,3,2,2,3,2,3,2],"matrix_rows":[386,40,92,1,258,84,24,96,384],"offset":7,"phase":3,"quadratic_rows":[0,130,12,100,0,104,40,130,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[12,22,38,67,135,1,5,262,6],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":382,"old":0,"rank":3,"right":{"linear_Z4":[3,0,0,0,3,0,0,0,1],"matrix_rows":[24,254,407,97,258,260,328,304,384],"offset":5,"phase":2,"quadratic_rows":[503,105,105,422,81,399,407,105,361]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":384,"old":0,"rank":1,"right":{"linear_Z4":[0,3,0,0,3,0,0,2,0],"matrix_rows":[146,1,130,4,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":385,"old":0,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,3,0,0,2],"matrix_rows":[289,257,2,4,8,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[33,0,0,0,0,33,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":386,"old":0,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,0,2],"matrix_rows":[268,1,2,260,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":387,"old":0,"rank":1,"right":{"linear_Z4":[3,3,3,3,3,3,0,2,0],"matrix_rows":[191,129,130,132,136,144,160,64,256],"offset":1,"phase":1,"quadratic_rows":[63,63,63,63,63,63,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":388,"old":0,"rank":1,"right":{"linear_Z4":[0,3,0,0,3,0,0,0,2],"matrix_rows":[274,1,258,4,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":389,"old":0,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,3,0,2,0],"matrix_rows":[161,129,2,4,8,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[33,0,0,0,0,33,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":390,"old":0,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,2,0],"matrix_rows":[140,1,2,132,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":391,"old":0,"rank":1,"right":{"linear_Z4":[3,3,3,3,3,3,0,0,2],"matrix_rows":[319,257,258,260,264,272,288,64,128],"offset":1,"phase":1,"quadratic_rows":[63,63,63,63,63,63,0,0,0]}},{"left":{"linear_Z4":[2,3,2,3,2,2,2,2,0],"matrix_rows":[1,264,4,10,16,2,32,64,128],"offset":0,"phase":0,"quadratic_rows":[0,10,0,10,0,0,0,0,0]},"new":413,"old":0,"rank":8,"right":{"linear_Z4":[2,1,2,3,2,0,2,2,2],"matrix_rows":[1,40,4,34,16,64,128,256,42],"offset":245,"phase":2,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,2,2,2,2,2,2,0],"matrix_rows":[258,3,1,4,8,16,32,64,128],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":414,"old":0,"rank":8,"right":{"linear_Z4":[1,3,0,2,2,2,2,2,2],"matrix_rows":[6,5,8,16,32,64,128,256,7],"offset":252,"phase":2,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,3,2,2,2,2,0],"matrix_rows":[264,2,4,9,1,16,32,64,128],"offset":0,"phase":0,"quadratic_rows":[9,0,0,9,0,0,0,0,0]},"new":415,"old":0,"rank":8,"right":{"linear_Z4":[1,2,2,3,0,2,2,2,2],"matrix_rows":[24,2,4,17,32,64,128,256,25],"offset":246,"phase":2,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,2,3,2,2,2,0],"matrix_rows":[1,2,272,8,20,4,32,64,128],"offset":0,"phase":0,"quadratic_rows":[0,0,20,0,20,0,0,0,0]},"new":416,"old":0,"rank":8,"right":{"linear_Z4":[2,2,1,2,3,0,2,2,2],"matrix_rows":[1,2,48,8,36,64,128,256,52],"offset":235,"phase":2,"quadratic_rows":[0,0,20,0,20,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,2,3,2,2,2,0],"matrix_rows":[1,272,4,8,18,32,2,64,128],"offset":0,"phase":0,"quadratic_rows":[0,18,0,0,18,0,0,0,0]},"new":417,"old":0,"rank":8,"right":{"linear_Z4":[2,1,2,2,3,2,0,2,2],"matrix_rows":[1,80,4,8,66,32,128,256,82],"offset":237,"phase":2,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[3,3,3,3,3,3,2,2,0],"matrix_rows":[318,3,5,9,17,33,1,64,128],"offset":0,"phase":0,"quadratic_rows":[63,63,63,63,63,63,0,0,0]},"new":418,"old":0,"rank":8,"right":{"linear_Z4":[1,3,3,3,3,3,0,2,2],"matrix_rows":[126,125,123,119,111,95,128,256,127],"offset":192,"phase":2,"quadratic_rows":[63,63,63,63,63,63,0,0,0]}},{"left":{"linear_Z4":[3,2,2,2,2,3,2,2,0],"matrix_rows":[288,2,4,8,16,33,1,64,128],"offset":0,"phase":0,"quadratic_rows":[33,0,0,0,0,33,0,0,0]},"new":419,"old":0,"rank":8,"right":{"linear_Z4":[1,2,2,2,2,3,0,2,2],"matrix_rows":[96,2,4,8,16,65,128,256,97],"offset":222,"phase":2,"quadratic_rows":[33,0,0,0,0,33,0,0,0]}},{"left":{"linear_Z4":[2,2,3,3,2,2,2,2,0],"matrix_rows":[1,2,264,12,16,32,4,64,128],"offset":0,"phase":0,"quadratic_rows":[0,0,12,12,0,0,0,0,0]},"new":420,"old":0,"rank":8,"right":{"linear_Z4":[2,2,1,3,2,2,0,2,2],"matrix_rows":[1,2,72,68,16,32,128,256,76],"offset":243,"phase":2,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":421,"old":0,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":422,"old":0,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":423,"old":0,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,9,18,35,2,64,131,259,3],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":288,"old":2,"rank":2,"right":{"linear_Z4":[0,1,3,2,0,0,0,2,3],"matrix_rows":[219,397,321,338,20,264,32,256,384],"offset":143,"phase":1,"quadratic_rows":[22,395,413,86,397,0,392,86,342]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[6,11,17,35,64,1,131,259,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":289,"old":2,"rank":2,"right":{"linear_Z4":[3,0,1,0,0,2,2,0,1],"matrix_rows":[398,171,353,258,100,264,80,256,384],"offset":2,"phase":1,"quadratic_rows":[459,37,494,37,64,398,21,37,293]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,19,33,3,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":290,"old":2,"rank":2,"right":{"linear_Z4":[1,3,0,1,2,0,2,1,0],"matrix_rows":[397,278,257,338,84,264,96,256,384],"offset":2,"phase":1,"quadratic_rows":[141,70,203,141,0,64,38,141,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[6,11,17,35,64,1,131,259,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":291,"old":2,"rank":2,"right":{"linear_Z4":[1,0,3,2,0,0,0,2,3],"matrix_rows":[398,235,353,322,36,264,16,256,384],"offset":143,"phase":1,"quadratic_rows":[395,37,430,101,0,398,392,101,357]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,34,65,129,258,1,3],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":317,"old":2,"rank":2,"right":{"linear_Z4":[1,1,0,3,3,3,2,0,3],"matrix_rows":[435,264,129,130,4,328,80,96,256],"offset":480,"phase":2,"quadratic_rows":[307,307,0,72,499,499,56,304,435]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,35,65,129,259,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":318,"old":2,"rank":2,"right":{"linear_Z4":[1,1,0,0,3,3,2,0,2],"matrix_rows":[315,136,257,258,4,328,464,480,256],"offset":480,"phase":2,"quadratic_rows":[59,59,0,243,251,251,56,56,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,16,35,64,128,259,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":319,"old":2,"rank":2,"right":{"linear_Z4":[2,2,0,0,0,0,2,0,2],"matrix_rows":[136,264,193,194,4,328,16,32,256],"offset":300,"phase":2,"quadratic_rows":[192,192,0,192,0,0,11,11,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,33,65,129,257,2,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":320,"old":2,"rank":2,"right":{"linear_Z4":[3,3,0,3,1,1,2,0,3],"matrix_rows":[315,384,321,322,4,328,400,416,256],"offset":300,"phase":2,"quadratic_rows":[123,123,0,123,187,187,11,304,384]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,9,17,33,64,129,257,2,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":346,"old":2,"rank":2,"right":{"linear_Z4":[3,3,1,3,0,1,2,0,3],"matrix_rows":[303,384,321,322,388,328,16,416,256],"offset":300,"phase":2,"quadratic_rows":[111,111,175,111,0,175,11,292,384]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,11,16,32,64,128,259,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":347,"old":2,"rank":2,"right":{"linear_Z4":[2,0,0,2,0,0,2,0,2],"matrix_rows":[130,258,193,322,4,200,16,32,256],"offset":300,"phase":2,"quadratic_rows":[192,192,0,192,0,0,11,11,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,17,33,64,129,258,1,3],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":348,"old":2,"rank":2,"right":{"linear_Z4":[1,3,3,1,0,3,2,0,3],"matrix_rows":[429,258,129,322,68,136,16,96,256],"offset":408,"phase":2,"quadratic_rows":[301,66,493,301,0,493,38,292,429]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,11,17,33,64,129,259,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":349,"old":2,"rank":2,"right":{"linear_Z4":[1,0,3,1,0,3,2,0,2],"matrix_rows":[303,130,257,322,452,264,16,480,256],"offset":408,"phase":2,"quadratic_rows":[47,237,239,47,0,239,38,38,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,19,34,3,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":375,"old":2,"rank":2,"right":{"linear_Z4":[3,3,2,1,2,2,2,3,0],"matrix_rows":[391,348,257,258,84,280,96,256,384],"offset":209,"phase":0,"quadratic_rows":[135,135,139,76,0,64,40,135,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[6,11,16,35,65,1,131,259,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":376,"old":2,"rank":2,"right":{"linear_Z4":[1,2,0,0,3,0,0,2,3],"matrix_rows":[410,235,353,258,4,328,48,256,384],"offset":167,"phase":1,"quadratic_rows":[395,113,0,49,442,410,386,113,369]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[6,11,16,35,65,1,131,259,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":377,"old":2,"rank":2,"right":{"linear_Z4":[3,0,0,0,1,2,2,0,1],"matrix_rows":[410,171,353,258,68,264,112,256,384],"offset":2,"phase":1,"quadratic_rows":[459,49,64,49,506,410,21,49,305]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,18,35,2,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":378,"old":2,"rank":2,"right":{"linear_Z4":[1,3,1,2,1,0,1,3,1],"matrix_rows":[219,348,321,258,20,344,32,256,384],"offset":165,"phase":0,"quadratic_rows":[411,475,332,215,219,0,222,475,391]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,34,67,131,2,259,3],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":85,"old":3,"rank":2,"right":{"linear_Z4":[1,1,0,1,2,2,0,2,2],"matrix_rows":[187,184,321,330,12,64,272,288,384],"offset":0,"phase":0,"quadratic_rows":[507,499,8,269,259,259,3,259,187]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,32,66,1,128,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":86,"old":3,"rank":2,"right":{"linear_Z4":[3,3,0,0,3,2,0,3,2],"matrix_rows":[35,400,33,34,4,8,272,64,384],"offset":3,"phase":2,"quadratic_rows":[3,3,0,0,144,0,0,144,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[7,9,18,34,66,3,128,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":91,"old":3,"rank":2,"right":{"linear_Z4":[2,3,3,3,3,2,0,3,0],"matrix_rows":[291,413,33,290,260,264,272,64,384],"offset":3,"phase":2,"quadratic_rows":[158,3,157,157,157,0,0,157,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,33,66,128,1,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":92,"old":3,"rank":2,"right":{"linear_Z4":[3,3,0,3,3,0,0,3,2],"matrix_rows":[3,400,65,74,12,64,272,32,384],"offset":3,"phase":2,"quadratic_rows":[67,75,8,14,144,0,3,144,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,17,35,2,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":116,"old":3,"rank":2,"right":{"linear_Z4":[1,3,1,0,3,1,0,1,1],"matrix_rows":[189,282,257,18,260,280,288,64,384],"offset":2,"phase":1,"quadratic_rows":[445,266,445,183,189,445,0,445,423]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,18,33,64,1,128,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":117,"old":3,"rank":2,"right":{"linear_Z4":[3,0,3,3,0,2,0,3,2],"matrix_rows":[41,388,33,2,260,40,16,64,384],"offset":3,"phase":2,"quadratic_rows":[9,0,132,9,0,0,0,132,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,18,33,1,64,128,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":118,"old":3,"rank":2,"right":{"linear_Z4":[0,3,3,3,2,0,0,3,2],"matrix_rows":[26,388,1,18,260,24,32,64,384],"offset":3,"phase":2,"quadratic_rows":[0,10,132,10,0,0,0,132,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,18,35,66,1,128,258,2],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":119,"old":3,"rank":2,"right":{"linear_Z4":[3,1,1,0,1,3,0,1,1],"matrix_rows":[297,190,33,258,260,296,272,64,384],"offset":1,"phase":1,"quadratic_rows":[265,446,446,183,446,190,0,446,407]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,18,33,66,128,256,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":205,"old":3,"rank":2,"right":{"linear_Z4":[0,3,3,3,3,0,0,2,2],"matrix_rows":[138,276,1,130,260,136,272,32,64],"offset":3,"phase":2,"quadratic_rows":[0,10,20,10,20,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,18,33,66,128,256,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":206,"old":3,"rank":2,"right":{"linear_Z4":[0,3,3,3,3,0,0,2,2],"matrix_rows":[266,148,1,258,132,264,144,32,64],"offset":3,"phase":2,"quadratic_rows":[0,10,20,10,20,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[6,11,17,33,3,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":232,"old":3,"rank":2,"right":{"linear_Z4":[3,2,3,3,2,3,0,3,0],"matrix_rows":[430,275,273,18,260,264,288,64,384],"offset":3,"phase":2,"quadratic_rows":[3,173,174,174,0,174,0,174,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,33,64,130,1,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":233,"old":3,"rank":2,"right":{"linear_Z4":[3,3,0,3,0,3,0,3,2],"matrix_rows":[3,416,73,66,12,64,16,288,384],"offset":3,"phase":2,"quadratic_rows":[75,67,8,13,0,160,3,160,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,32,1,66,128,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":234,"old":3,"rank":2,"right":{"linear_Z4":[3,3,0,0,2,3,0,3,2],"matrix_rows":[19,416,17,18,4,8,288,64,384],"offset":3,"phase":2,"quadratic_rows":[3,3,0,0,0,160,0,160,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[6,10,16,33,67,131,1,259,3],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":235,"old":3,"rank":2,"right":{"linear_Z4":[1,1,0,1,2,2,0,2,2],"matrix_rows":[184,187,329,322,12,64,272,288,384],"offset":0,"phase":0,"quadratic_rows":[499,507,8,270,259,259,3,259,187]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,32,66,130,256,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":321,"old":3,"rank":2,"right":{"linear_Z4":[3,3,0,0,3,3,0,2,2],"matrix_rows":[131,304,129,130,4,8,272,288,64],"offset":3,"phase":2,"quadratic_rows":[3,3,0,0,48,48,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,32,66,130,256,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":322,"old":3,"rank":2,"right":{"linear_Z4":[3,3,0,0,3,3,0,2,2],"matrix_rows":[259,176,257,258,4,8,144,160,64],"offset":3,"phase":2,"quadratic_rows":[3,3,0,0,48,48,0,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,34,66,131,3,258,2],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":87,"old":4,"rank":2,"right":{"linear_Z4":[0,3,3,1,1,0,0,1,2],"matrix_rows":[6,184,33,354,324,264,272,64,384],"offset":1,"phase":1,"quadratic_rows":[32,358,326,440,440,411,6,440,190]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,1,34,64,128,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":88,"old":4,"rank":2,"right":{"linear_Z4":[0,3,3,2,3,0,0,3,2],"matrix_rows":[14,400,1,10,12,272,32,64,384],"offset":3,"phase":2,"quadratic_rows":[0,6,6,0,144,0,0,144,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,9,18,2,35,67,128,259,3],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":89,"old":4,"rank":2,"right":{"linear_Z4":[0,1,3,0,0,0,0,0,1],"matrix_rows":[187,437,257,266,12,272,288,64,384],"offset":2,"phase":1,"quadratic_rows":[14,435,445,437,14,14,0,14,270]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,32,66,129,1,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":90,"old":4,"rank":2,"right":{"linear_Z4":[0,3,3,0,3,3,0,3,2],"matrix_rows":[6,400,33,98,68,8,272,64,384],"offset":3,"phase":2,"quadratic_rows":[32,102,70,0,144,35,6,144,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,16,32,64,130,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":145,"old":4,"rank":2,"right":{"linear_Z4":[0,3,0,0,0,3,0,3,0],"matrix_rows":[384,162,1,386,4,8,16,416,64],"offset":2,"phase":1,"quadratic_rows":[0,290,0,0,0,290,0,384,162]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[6,8,16,32,66,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":146,"old":4,"rank":2,"right":{"linear_Z4":[3,0,0,0,3,0,0,3,0],"matrix_rows":[384,145,385,2,4,8,400,32,64],"offset":2,"phase":1,"quadratic_rows":[273,0,0,0,273,0,0,384,145]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,32,65,130,256,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":147,"old":4,"rank":2,"right":{"linear_Z4":[3,3,0,0,3,3,0,2,2],"matrix_rows":[145,290,129,258,4,8,144,288,64],"offset":3,"phase":2,"quadratic_rows":[17,34,0,0,17,34,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,32,65,130,256,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":148,"old":4,"rank":2,"right":{"linear_Z4":[3,3,0,0,3,3,0,2,2],"matrix_rows":[273,162,257,130,4,8,272,160,64],"offset":3,"phase":2,"quadratic_rows":[17,34,0,0,17,34,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[7,9,17,35,67,130,2,259,3],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":176,"old":4,"rank":2,"right":{"linear_Z4":[2,3,3,2,2,3,0,2,1],"matrix_rows":[415,409,257,322,356,296,272,64,384],"offset":3,"phase":2,"quadratic_rows":[262,223,255,294,262,44,6,262,409]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,18,32,64,130,2,257,1],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":177,"old":4,"rank":2,"right":{"linear_Z4":[3,3,3,0,0,3,0,3,2],"matrix_rows":[385,6,257,98,68,8,48,64,384],"offset":3,"phase":2,"quadratic_rows":[129,102,70,0,32,50,6,129,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,18,32,64,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":261,"old":4,"rank":2,"right":{"linear_Z4":[0,3,3,0,0,0,0,3,0],"matrix_rows":[384,134,1,386,388,8,16,32,64],"offset":2,"phase":1,"quadratic_rows":[0,262,262,0,0,0,0,384,134]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,16,34,66,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":262,"old":4,"rank":2,"right":{"linear_Z4":[0,0,0,3,3,0,0,3,0],"matrix_rows":[384,152,1,2,4,392,400,32,64],"offset":2,"phase":1,"quadratic_rows":[0,0,0,280,280,0,0,384,152]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,34,66,128,256,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":263,"old":4,"rank":2,"right":{"linear_Z4":[0,3,3,3,3,0,0,2,2],"matrix_rows":[262,152,1,258,260,136,144,32,64],"offset":3,"phase":2,"quadratic_rows":[0,6,6,24,24,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,34,66,128,256,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":264,"old":4,"rank":2,"right":{"linear_Z4":[0,3,3,3,3,0,0,2,2],"matrix_rows":[134,280,1,130,132,264,272,32,64],"offset":3,"phase":2,"quadratic_rows":[0,6,6,24,24,0,0,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[4,11,19,34,66,129,1,258,2],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":292,"old":4,"rank":2,"right":{"linear_Z4":[0,0,0,1,1,0,0,1,2],"matrix_rows":[6,190,33,322,356,264,272,64,384],"offset":1,"phase":1,"quadratic_rows":[32,504,472,446,446,411,6,446,190]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,34,1,64,128,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":293,"old":4,"rank":2,"right":{"linear_Z4":[0,3,3,3,2,0,0,3,2],"matrix_rows":[22,392,1,18,20,264,32,64,384],"offset":3,"phase":2,"quadratic_rows":[0,6,6,136,0,0,0,136,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[6,8,18,32,64,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":56,"old":5,"rank":2,"right":{"linear_Z4":[3,0,3,0,0,0,0,3,0],"matrix_rows":[384,133,385,2,388,8,16,32,64],"offset":2,"phase":1,"quadratic_rows":[261,0,261,0,0,0,0,384,133]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,16,34,64,130,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":57,"old":5,"rank":2,"right":{"linear_Z4":[0,0,0,3,0,3,0,3,0],"matrix_rows":[384,168,1,2,4,392,16,416,64],"offset":2,"phase":1,"quadratic_rows":[0,0,0,296,0,296,0,384,168]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,34,64,130,256,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":62,"old":5,"rank":2,"right":{"linear_Z4":[3,0,3,3,0,3,0,2,2],"matrix_rows":[133,296,129,2,132,264,16,288,64],"offset":3,"phase":2,"quadratic_rows":[5,0,5,40,0,40,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,34,64,130,256,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":63,"old":5,"rank":2,"right":{"linear_Z4":[3,0,3,3,0,3,0,2,2],"matrix_rows":[261,168,257,2,260,136,16,160,64],"offset":3,"phase":2,"quadratic_rows":[5,0,5,40,0,40,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,18,33,65,129,1,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":114,"old":5,"rank":2,"right":{"linear_Z4":[0,0,3,3,3,3,0,3,2],"matrix_rows":[40,388,1,18,260,88,64,96,384],"offset":3,"phase":2,"quadratic_rows":[0,16,132,120,26,104,40,132,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[4,10,18,35,67,129,1,258,2],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":115,"old":5,"rank":2,"right":{"linear_Z4":[0,1,1,0,0,0,0,1,2],"matrix_rows":[24,190,33,258,260,360,336,64,384],"offset":1,"phase":1,"quadratic_rows":[32,446,446,454,486,407,24,446,190]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,35,66,131,2,257,1],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":120,"old":5,"rank":2,"right":{"linear_Z4":[1,0,1,0,0,0,0,1,2],"matrix_rows":[189,40,257,18,260,344,64,352,384],"offset":2,"phase":1,"quadratic_rows":[445,16,445,453,423,469,40,445,189]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,18,33,65,129,1,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":121,"old":5,"rank":2,"right":{"linear_Z4":[0,0,3,3,3,3,0,3,2],"matrix_rows":[24,388,33,2,260,104,80,64,384],"offset":3,"phase":2,"quadratic_rows":[32,0,132,120,88,41,24,132,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,8,16,34,66,130,2,257,1],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":178,"old":5,"rank":2,"right":{"linear_Z4":[3,0,0,3,3,3,0,3,2],"matrix_rows":[385,24,257,2,36,104,80,64,384],"offset":3,"phase":2,"quadratic_rows":[129,0,32,120,88,44,24,129,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[7,11,19,33,65,130,2,259,3],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":179,"old":5,"rank":2,"right":{"linear_Z4":[2,2,2,3,3,3,0,2,1],"matrix_rows":[415,391,257,290,260,328,368,64,384],"offset":3,"phase":2,"quadratic_rows":[280,312,280,223,255,50,24,280,391]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,34,66,128,256,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":259,"old":5,"rank":2,"right":{"linear_Z4":[0,3,3,3,3,0,0,2,2],"matrix_rows":[134,280,1,130,132,264,272,32,64],"offset":3,"phase":2,"quadratic_rows":[0,6,6,24,24,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,34,66,128,256,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":260,"old":5,"rank":2,"right":{"linear_Z4":[0,3,3,3,3,0,0,2,2],"matrix_rows":[262,152,1,258,260,136,144,32,64],"offset":3,"phase":2,"quadratic_rows":[0,6,6,24,24,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,16,34,66,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":265,"old":5,"rank":2,"right":{"linear_Z4":[0,0,0,3,3,0,0,3,0],"matrix_rows":[384,152,1,2,4,392,400,32,64],"offset":2,"phase":1,"quadratic_rows":[0,0,0,280,280,0,0,384,152]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,18,32,64,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":266,"old":5,"rank":2,"right":{"linear_Z4":[0,3,3,0,0,0,0,3,0],"matrix_rows":[384,134,1,386,388,8,16,32,64],"offset":2,"phase":1,"quadratic_rows":[0,262,262,0,0,0,0,384,134]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[6,10,16,32,64,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":323,"old":5,"rank":2,"right":{"linear_Z4":[3,3,0,0,0,0,0,3,0],"matrix_rows":[384,131,385,386,4,8,16,32,64],"offset":2,"phase":1,"quadratic_rows":[259,259,0,0,0,0,0,384,131]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,16,32,66,130,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":324,"old":5,"rank":2,"right":{"linear_Z4":[0,0,0,0,3,3,0,3,0],"matrix_rows":[384,176,1,2,4,8,400,416,64],"offset":2,"phase":1,"quadratic_rows":[0,0,0,0,304,304,0,384,176]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,34,64,130,256,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":58,"old":6,"rank":2,"right":{"linear_Z4":[3,0,3,3,0,3,0,2,2],"matrix_rows":[261,168,257,2,260,136,16,160,64],"offset":3,"phase":2,"quadratic_rows":[5,0,5,40,0,40,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,34,64,130,256,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":59,"old":6,"rank":2,"right":{"linear_Z4":[3,0,3,3,0,3,0,2,2],"matrix_rows":[133,296,129,2,132,264,16,288,64],"offset":3,"phase":2,"quadratic_rows":[5,0,5,40,0,40,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,16,34,64,130,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":60,"old":6,"rank":2,"right":{"linear_Z4":[0,0,0,3,0,3,0,3,0],"matrix_rows":[384,168,1,2,4,392,16,416,64],"offset":2,"phase":1,"quadratic_rows":[0,0,0,296,0,296,0,384,168]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[6,8,18,32,64,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":61,"old":6,"rank":2,"right":{"linear_Z4":[3,0,3,0,0,0,0,3,0],"matrix_rows":[384,133,385,2,388,8,16,32,64],"offset":2,"phase":1,"quadratic_rows":[261,0,261,0,0,0,0,384,133]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,32,65,130,256,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":143,"old":6,"rank":2,"right":{"linear_Z4":[3,3,0,0,3,3,0,2,2],"matrix_rows":[273,162,257,130,4,8,272,160,64],"offset":3,"phase":2,"quadratic_rows":[17,34,0,0,17,34,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,32,65,130,256,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":144,"old":6,"rank":2,"right":{"linear_Z4":[3,3,0,0,3,3,0,2,2],"matrix_rows":[145,290,129,258,4,8,144,288,64],"offset":3,"phase":2,"quadratic_rows":[17,34,0,0,17,34,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[6,8,16,32,66,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":149,"old":6,"rank":2,"right":{"linear_Z4":[3,0,0,0,3,0,0,3,0],"matrix_rows":[384,145,385,2,4,8,400,32,64],"offset":2,"phase":1,"quadratic_rows":[273,0,0,0,273,0,0,384,145]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,16,32,64,130,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":150,"old":6,"rank":2,"right":{"linear_Z4":[0,3,0,0,0,3,0,3,0],"matrix_rows":[384,162,1,386,4,8,16,416,64],"offset":2,"phase":1,"quadratic_rows":[0,290,0,0,0,290,0,384,162]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,16,34,64,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":207,"old":6,"rank":2,"right":{"linear_Z4":[0,3,0,3,0,0,0,3,0],"matrix_rows":[384,138,1,386,4,392,16,32,64],"offset":2,"phase":1,"quadratic_rows":[0,266,0,266,0,0,0,384,138]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,18,32,66,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":208,"old":6,"rank":2,"right":{"linear_Z4":[0,0,3,0,3,0,0,3,0],"matrix_rows":[384,148,1,2,388,8,400,32,64],"offset":2,"phase":1,"quadratic_rows":[0,0,276,0,276,0,0,384,148]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,32,65,130,1,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":230,"old":6,"rank":2,"right":{"linear_Z4":[3,0,3,0,3,3,0,3,2],"matrix_rows":[5,416,81,18,68,8,64,288,384],"offset":3,"phase":2,"quadratic_rows":[85,16,69,0,19,160,5,160,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[6,11,17,1,35,67,128,259,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":231,"old":6,"rank":2,"right":{"linear_Z4":[1,0,3,0,0,0,0,0,1],"matrix_rows":[438,187,265,258,12,272,288,64,384],"offset":1,"phase":1,"quadratic_rows":[435,13,446,438,13,13,0,13,269]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[6,8,18,33,67,129,3,257,1],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":236,"old":6,"rank":2,"right":{"linear_Z4":[3,0,3,1,0,1,0,1,2],"matrix_rows":[184,5,337,18,324,264,64,288,384],"offset":2,"phase":1,"quadratic_rows":[341,16,325,440,427,440,5,440,189]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,1,32,66,128,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":237,"old":6,"rank":2,"right":{"linear_Z4":[3,0,3,2,0,3,0,3,2],"matrix_rows":[13,416,9,2,12,16,288,64,384],"offset":3,"phase":2,"quadratic_rows":[5,0,5,0,0,160,0,160,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,34,64,1,128,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":294,"old":6,"rank":2,"right":{"linear_Z4":[3,0,3,3,0,2,0,3,2],"matrix_rows":[37,392,33,2,36,264,16,64,384],"offset":3,"phase":2,"quadratic_rows":[5,0,5,136,0,0,0,136,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[7,8,19,33,66,129,2,257,1],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":295,"old":6,"rank":2,"right":{"linear_Z4":[0,0,0,1,0,1,0,1,2],"matrix_rows":[189,5,321,18,340,264,64,288,384],"offset":2,"phase":1,"quadratic_rows":[504,16,488,445,427,445,5,445,189]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":15,"old":7,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,2,0,0,0],"matrix_rows":[38,1,34,36,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":16,"old":7,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":17,"old":7,"rank":1,"right":{"linear_Z4":[3,0,3,0,2,0,0,0,0],"matrix_rows":[21,17,2,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":18,"old":8,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":19,"old":8,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":20,"old":8,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":18,"old":9,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,1,1,2],"matrix_rows":[461,289,2,292,296,16,256,320,384],"offset":0,"phase":0,"quadratic_rows":[237,0,237,237,0,13,205,205,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":21,"old":9,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":22,"old":9,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,1,1,2],"matrix_rows":[461,289,34,260,264,48,256,320,384],"offset":0,"phase":0,"quadratic_rows":[237,32,205,205,32,19,205,205,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":15,"old":10,"rank":1,"right":{"linear_Z4":[3,3,0,2,0,0,0,0,0],"matrix_rows":[11,9,10,4,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":23,"old":10,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":24,"old":10,"rank":1,"right":{"linear_Z4":[3,0,3,0,2,0,0,0,0],"matrix_rows":[21,17,2,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":19,"old":11,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,1,1,2],"matrix_rows":[467,289,290,4,8,304,256,320,384],"offset":0,"phase":0,"quadratic_rows":[243,243,0,0,243,19,211,211,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":21,"old":11,"rank":1,"right":{"linear_Z4":[1,1,0,0,2,1,1,1,2],"matrix_rows":[483,257,274,20,24,256,288,320,384],"offset":0,"phase":0,"quadratic_rows":[227,243,16,16,14,227,227,227,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":25,"old":11,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,1,1,2],"matrix_rows":[467,289,258,36,40,272,256,320,384],"offset":0,"phase":0,"quadratic_rows":[243,211,32,32,211,13,211,211,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":16,"old":12,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,2,0,0,0],"matrix_rows":[56,9,10,4,32,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[8,8,0,19,24,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":23,"old":12,"rank":1,"right":{"linear_Z4":[0,0,0,1,2,2,0,0,0],"matrix_rows":[40,1,18,20,56,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,16,16,24,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":26,"old":12,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,2,0,0,0],"matrix_rows":[56,17,2,20,40,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[16,0,16,24,13,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":17,"old":13,"rank":1,"right":{"linear_Z4":[3,3,0,2,0,0,0,0,0],"matrix_rows":[11,9,10,4,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":24,"old":13,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,2,0,0,0],"matrix_rows":[38,1,34,36,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":26,"old":13,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":20,"old":14,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,1,1,2],"matrix_rows":[462,1,274,276,280,256,32,320,384],"offset":0,"phase":0,"quadratic_rows":[0,222,222,222,14,0,206,206,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":22,"old":14,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":25,"old":14,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":528,"old":15,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,3,3,2],"matrix_rows":[448,1,2,4,8,16,32,320,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,0,192,192,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":529,"old":15,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,1,1,2],"matrix_rows":[213,257,2,260,8,272,32,320,384],"offset":0,"phase":0,"quadratic_rows":[469,0,469,0,469,0,469,469,213]}},{"left":{"linear_Z4":[3,2,2,2,0,0,0,0,0],"matrix_rows":[16,34,65,2,140,3,260,8,12],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":573,"old":15,"rank":4,"right":{"linear_Z4":[2,0,1,2,2,1,3,0,2],"matrix_rows":[12,34,464,144,5,8,40,272,448],"offset":93,"phase":1,"quadratic_rows":[4,40,37,34,64,46,80,0,0]}},{"left":{"linear_Z4":[2,3,3,3,0,0,0,0,0],"matrix_rows":[17,46,65,128,6,256,10,2,1],"offset":0,"phase":0,"quadratic_rows":[0,2,12,12,0,0,0,0,0]},"new":575,"old":15,"rank":4,"right":{"linear_Z4":[3,1,3,0,3,0,3,0,2],"matrix_rows":[261,2,194,146,257,210,260,8,32],"offset":3,"phase":2,"quadratic_rows":[5,130,5,0,80,0,80,2,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":28,"old":16,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,3,3,2],"matrix_rows":[448,1,2,4,8,16,32,320,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,0,192,192,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":34,"old":16,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,1,1,2],"matrix_rows":[213,257,2,260,8,272,32,320,384],"offset":0,"phase":0,"quadratic_rows":[469,0,469,0,469,0,469,469,213]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":30,"old":17,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,1,1,2],"matrix_rows":[230,1,258,260,8,16,288,320,384],"offset":0,"phase":0,"quadratic_rows":[0,486,486,0,0,486,486,486,230]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":32,"old":17,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,3,3,2],"matrix_rows":[448,1,2,4,8,16,32,320,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,0,192,192,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":466,"old":18,"rank":1,"right":{"linear_Z4":[3,0,3,0,2,0,0,0,0],"matrix_rows":[21,17,2,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":470,"old":18,"rank":1,"right":{"linear_Z4":[0,2,0,0,0,0,3,1,2],"matrix_rows":[448,1,66,4,8,16,32,256,384],"offset":132,"phase":2,"quadratic_rows":[0,64,0,0,0,0,194,192,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":528,"old":18,"rank":1,"right":{"linear_Z4":[3,0,3,3,0,0,0,0,0],"matrix_rows":[5,41,10,36,32,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[45,8,37,11,0,5,0,0,0]}},{"left":{"linear_Z4":[2,3,3,2,0,0,0,0,0],"matrix_rows":[16,33,67,1,136,2,264,4,12],"offset":0,"phase":0,"quadratic_rows":[2,3,12,4,0,0,0,0,0]},"new":572,"old":18,"rank":4,"right":{"linear_Z4":[2,1,0,3,3,3,0,2,3],"matrix_rows":[42,4,384,464,13,6,32,400,256],"offset":379,"phase":1,"quadratic_rows":[12,46,43,47,80,46,144,320,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":28,"old":19,"rank":1,"right":{"linear_Z4":[3,3,0,2,0,0,0,0,0],"matrix_rows":[11,9,10,4,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":33,"old":19,"rank":1,"right":{"linear_Z4":[3,3,0,0,3,0,0,0,0],"matrix_rows":[3,49,34,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[51,35,16,0,21,3,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":29,"old":20,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,2,0,0,0],"matrix_rows":[38,1,34,36,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":32,"old":20,"rank":1,"right":{"linear_Z4":[0,3,3,3,0,0,0,0,0],"matrix_rows":[6,9,26,20,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[8,30,22,11,6,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":30,"old":21,"rank":1,"right":{"linear_Z4":[0,2,2,0,0,1,1,1,2],"matrix_rows":[232,9,10,4,256,272,288,320,384],"offset":60,"phase":0,"quadratic_rows":[8,8,0,483,0,488,488,488,232]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":31,"old":21,"rank":1,"right":{"linear_Z4":[3,2,1,3,0,1,3,3,2],"matrix_rows":[461,257,34,292,264,16,256,320,384],"offset":77,"phase":0,"quadratic_rows":[205,32,237,205,0,38,205,205,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":27,"old":22,"rank":1,"right":{"linear_Z4":[2,2,0,1,0,0,1,1,2],"matrix_rows":[216,17,2,20,264,256,288,320,384],"offset":102,"phase":0,"quadratic_rows":[16,0,16,472,461,0,472,472,216]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":34,"old":22,"rank":1,"right":{"linear_Z4":[2,1,3,1,3,0,3,3,2],"matrix_rows":[470,9,266,260,256,272,32,320,384],"offset":23,"phase":0,"quadratic_rows":[8,222,214,11,214,0,214,214,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":29,"old":23,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,3,3,2],"matrix_rows":[448,1,2,4,8,16,32,320,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,0,192,192,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":31,"old":23,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,1,1,2],"matrix_rows":[203,257,258,4,264,16,32,320,384],"offset":0,"phase":0,"quadratic_rows":[459,459,0,459,0,0,459,459,203]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":27,"old":24,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,1,1,2],"matrix_rows":[203,257,258,4,264,16,32,320,384],"offset":0,"phase":0,"quadratic_rows":[459,459,0,459,0,0,459,459,203]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":33,"old":24,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,3,3,2],"matrix_rows":[448,1,2,4,8,16,32,320,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,0,192,192,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":441,"old":25,"rank":1,"right":{"linear_Z4":[2,3,1,2,3,0,3,3,2],"matrix_rows":[470,5,258,256,8,272,288,320,384],"offset":91,"phase":1,"quadratic_rows":[4,214,215,0,214,0,214,214,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":444,"old":25,"rank":1,"right":{"linear_Z4":[2,3,1,3,1,0,3,3,2],"matrix_rows":[462,17,258,276,264,256,32,320,384],"offset":43,"phase":0,"quadratic_rows":[16,206,222,206,21,0,206,206,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":529,"old":25,"rank":1,"right":{"linear_Z4":[2,0,2,0,1,0,1,1,2],"matrix_rows":[216,9,10,4,256,272,288,320,384],"offset":90,"phase":0,"quadratic_rows":[8,8,0,467,472,0,472,472,216]}},{"left":{"linear_Z4":[3,2,3,3,0,0,0,0,0],"matrix_rows":[18,35,66,129,260,1,3,8,14],"offset":0,"phase":0,"quadratic_rows":[1,12,14,14,0,0,0,0,0]},"new":574,"old":25,"rank":4,"right":{"linear_Z4":[1,2,1,0,0,0,2,0,0],"matrix_rows":[10,271,48,384,105,66,100,32,288],"offset":0,"phase":0,"quadratic_rows":[359,325,367,324,256,261,15,256,191]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":438,"old":26,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,2,0,0],"matrix_rows":[69,65,2,68,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":444,"old":26,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,1,1,2],"matrix_rows":[203,257,258,4,264,16,32,320,384],"offset":0,"phase":0,"quadratic_rows":[459,459,0,459,0,0,459,459,203]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":466,"old":26,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,3,3,2],"matrix_rows":[448,1,2,4,8,16,32,320,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,0,192,192,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":467,"old":26,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,3,0,2],"matrix_rows":[322,1,258,4,8,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,66,0,0,0,0,66,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":35,"old":27,"rank":1,"right":{"linear_Z4":[1,1,0,0,0,0,3,3,0],"matrix_rows":[203,265,266,4,256,16,32,320,384],"offset":23,"phase":0,"quadratic_rows":[451,451,0,448,0,0,459,459,203]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[15,23,32,67,128,256,5,1,7],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":584,"old":27,"rank":3,"right":{"linear_Z4":[1,1,0,2,0,0,2,1,3],"matrix_rows":[203,11,323,257,258,204,256,16,32],"offset":1,"phase":1,"quadratic_rows":[131,131,200,260,0,0,260,135,328]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[11,19,34,68,130,2,257,1,5],"offset":0,"phase":0,"quadratic_rows":[4,0,5,0,0,0,0,0,0]},"new":592,"old":27,"rank":3,"right":{"linear_Z4":[0,0,2,0,0,2,1,2,1],"matrix_rows":[323,39,8,161,162,32,256,48,192],"offset":70,"phase":1,"quadratic_rows":[452,452,3,256,0,0,451,67,331]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":35,"old":28,"rank":1,"right":{"linear_Z4":[3,3,0,0,3,0,0,0,0],"matrix_rows":[3,49,34,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[51,35,16,0,21,3,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,17,36,64,129,1,262,2,4],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":586,"old":28,"rank":3,"right":{"linear_Z4":[3,3,3,0,2,0,1,0,1],"matrix_rows":[3,448,388,33,50,452,8,32,256],"offset":291,"phase":0,"quadratic_rows":[35,51,68,0,2,3,324,256,448]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,19,32,67,1,2,132,260,4],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":594,"old":28,"rank":3,"right":{"linear_Z4":[2,0,2,0,1,2,1,1,2],"matrix_rows":[18,34,320,19,32,132,40,448,256],"offset":508,"phase":1,"quadratic_rows":[18,1,128,0,17,0,192,196,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":35,"old":29,"rank":1,"right":{"linear_Z4":[0,3,3,3,0,0,0,0,0],"matrix_rows":[6,9,26,20,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[8,30,22,11,6,0,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[12,18,34,66,2,128,261,1,4],"offset":0,"phase":0,"quadratic_rows":[5,2,1,0,0,0,0,0,0]},"new":600,"old":29,"rank":3,"right":{"linear_Z4":[3,3,3,2,0,0,1,0,1],"matrix_rows":[448,6,385,449,18,28,16,32,256],"offset":267,"phase":0,"quadratic_rows":[65,22,30,4,6,0,321,256,448]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,16,38,66,4,6,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":608,"old":29,"rank":3,"right":{"linear_Z4":[2,2,0,1,0,2,1,1,2],"matrix_rows":[320,60,20,129,14,32,48,448,256],"offset":475,"phase":3,"quadratic_rows":[128,12,2,10,0,0,192,193,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":35,"old":30,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,0,3,3,0],"matrix_rows":[230,1,290,292,8,16,256,320,384],"offset":77,"phase":0,"quadratic_rows":[0,454,454,0,0,448,486,486,230]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[8,23,39,64,128,259,5,1,7],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":602,"old":30,"rank":3,"right":{"linear_Z4":[0,1,1,0,0,2,2,1,3],"matrix_rows":[230,38,326,225,258,260,8,16,256],"offset":1,"phase":1,"quadratic_rows":[224,134,134,0,0,257,257,135,352]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,19,35,65,1,132,258,2,6],"offset":0,"phase":0,"quadratic_rows":[0,4,6,0,0,0,0,0,0]},"new":610,"old":30,"rank":3,"right":{"linear_Z4":[2,0,0,0,2,0,1,2,1],"matrix_rows":[23,326,32,16,146,148,24,256,192],"offset":133,"phase":1,"quadratic_rows":[6,449,449,0,0,256,454,70,358]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":35,"old":31,"rank":1,"right":{"linear_Z4":[0,1,1,3,0,0,3,3,2],"matrix_rows":[454,9,266,260,256,272,32,320,384],"offset":61,"phase":1,"quadratic_rows":[8,206,198,11,0,0,198,198,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[11,23,35,71,131,3,261,1,4],"offset":0,"phase":0,"quadratic_rows":[5,2,5,0,0,0,0,0,0]},"new":616,"old":31,"rank":3,"right":{"linear_Z4":[0,3,2,3,0,0,0,3,3],"matrix_rows":[271,207,78,229,294,32,296,48,256],"offset":511,"phase":1,"quadratic_rows":[292,170,105,174,0,207,292,170,321]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,20,38,68,134,6,258,2,3],"offset":0,"phase":0,"quadratic_rows":[3,7,2,0,0,0,0,0,0]},"new":624,"old":31,"rank":3,"right":{"linear_Z4":[0,3,1,3,0,1,3,2,3],"matrix_rows":[1,356,42,256,166,32,168,48,192],"offset":15,"phase":2,"quadratic_rows":[256,142,486,138,0,356,484,78,357]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":35,"old":32,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,2,0,0,0],"matrix_rows":[38,1,34,36,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,16,33,64,1,132,262,2,4],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":618,"old":32,"rank":3,"right":{"linear_Z4":[1,2,1,0,2,3,1,0,1],"matrix_rows":[17,448,416,21,6,16,8,480,256],"offset":443,"phase":3,"quadratic_rows":[5,4,7,0,0,96,352,256,448]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,16,34,1,3,64,132,260,4],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":626,"old":32,"rank":3,"right":{"linear_Z4":[0,2,1,2,1,2,1,1,2],"matrix_rows":[17,12,320,8,6,24,160,448,256],"offset":502,"phase":3,"quadratic_rows":[24,4,22,17,29,128,192,224,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":35,"old":33,"rank":1,"right":{"linear_Z4":[3,3,0,2,0,0,0,0,0],"matrix_rows":[11,9,10,4,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,16,33,68,129,1,262,2,4],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":632,"old":33,"rank":3,"right":{"linear_Z4":[2,2,2,3,0,2,1,0,1],"matrix_rows":[36,448,392,5,6,32,456,48,256],"offset":378,"phase":2,"quadratic_rows":[4,4,3,72,0,0,328,256,448]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,34,64,2,3,132,260,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":640,"old":33,"rank":3,"right":{"linear_Z4":[2,1,0,2,2,1,1,1,2],"matrix_rows":[18,36,320,3,48,16,136,448,256],"offset":477,"phase":3,"quadratic_rows":[2,35,48,128,36,54,192,200,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":35,"old":34,"rank":1,"right":{"linear_Z4":[1,1,0,0,3,0,3,3,2],"matrix_rows":[451,273,258,20,8,256,288,320,384],"offset":103,"phase":1,"quadratic_rows":[211,195,16,0,21,0,195,195,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[15,16,35,64,135,256,5,1,7],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":634,"old":34,"rank":3,"right":{"linear_Z4":[3,2,2,0,1,0,2,3,1],"matrix_rows":[17,209,405,453,198,256,8,272,32],"offset":58,"phase":0,"quadratic_rows":[145,196,402,0,85,0,402,199,324]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[10,19,36,67,130,3,257,1,5],"offset":0,"phase":0,"quadratic_rows":[7,1,5,0,0,0,0,0,0]},"new":642,"old":34,"rank":3,"right":{"linear_Z4":[3,1,0,0,3,1,3,2,3],"matrix_rows":[354,49,4,163,32,256,40,176,192],"offset":39,"phase":2,"quadratic_rows":[147,483,256,0,145,354,482,83,358]}},{"left":{"linear_Z4":[2,2,2,3,3,0,0,0,0],"matrix_rows":[33,66,4,131,5,6,264,16,24],"offset":0,"phase":0,"quadratic_rows":[6,5,3,24,24,0,0,0,0]},"new":1,"old":35,"rank":5,"right":{"linear_Z4":[2,2,0,0,0,0,0,0,1],"matrix_rows":[49,50,52,64,384,16,32,56,256],"offset":488,"phase":1,"quadratic_rows":[32,16,48,0,6,5,256,256,448]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,35,66,129,3,2,260,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":413,"old":35,"rank":4,"right":{"linear_Z4":[2,0,0,0,2,0,0,0,1],"matrix_rows":[3,6,64,384,48,18,32,56,256],"offset":436,"phase":1,"quadratic_rows":[50,21,34,0,3,5,256,256,448]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[18,35,65,131,1,2,260,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":414,"old":35,"rank":4,"right":{"linear_Z4":[3,1,0,0,0,2,0,0,1],"matrix_rows":[6,5,64,384,39,48,16,56,256],"offset":437,"phase":2,"quadratic_rows":[35,19,48,0,6,5,256,256,448]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[19,33,66,129,2,3,260,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":415,"old":35,"rank":4,"right":{"linear_Z4":[0,2,0,0,0,2,0,0,1],"matrix_rows":[3,5,64,384,33,48,16,56,256],"offset":436,"phase":1,"quadratic_rows":[38,49,17,0,6,3,256,256,448]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,34,67,131,1,2,260,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":416,"old":35,"rank":4,"right":{"linear_Z4":[0,0,2,0,2,2,0,0,1],"matrix_rows":[5,6,64,384,16,32,52,56,256],"offset":388,"phase":3,"quadratic_rows":[20,36,51,0,5,6,256,256,448]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":44,"old":36,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":45,"old":36,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,2,2,0],"matrix_rows":[144,1,2,4,72,208,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,64,80,64,56,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":46,"old":36,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,2,2,0],"matrix_rows":[144,65,2,68,8,208,32,128,256],"offset":0,"phase":0,"quadratic_rows":[64,0,64,0,80,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":47,"old":37,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":48,"old":37,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,2,0,2],"matrix_rows":[272,1,2,4,72,336,96,256,128],"offset":0,"phase":0,"quadratic_rows":[0,0,0,64,80,64,56,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":49,"old":37,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,2,0,2],"matrix_rows":[272,65,2,68,8,336,32,256,128],"offset":0,"phase":0,"quadratic_rows":[64,0,64,0,80,0,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":47,"old":38,"rank":1,"right":{"linear_Z4":[1,0,1,1,1,2,1,0,2],"matrix_rows":[349,289,2,292,296,272,256,320,128],"offset":0,"phase":0,"quadratic_rows":[125,0,125,125,93,13,93,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":50,"old":38,"rank":1,"right":{"linear_Z4":[1,0,1,1,1,1,2,0,2],"matrix_rows":[317,321,2,324,264,336,288,256,128],"offset":0,"phase":0,"quadratic_rows":[125,0,125,61,125,61,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":51,"old":38,"rank":1,"right":{"linear_Z4":[1,0,1,1,1,1,2,0,2],"matrix_rows":[317,257,2,260,328,336,352,256,128],"offset":0,"phase":0,"quadratic_rows":[61,0,61,125,125,125,56,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":44,"old":39,"rank":1,"right":{"linear_Z4":[1,0,1,1,1,2,1,2,0],"matrix_rows":[221,161,2,164,168,144,128,192,256],"offset":0,"phase":0,"quadratic_rows":[125,0,125,125,93,13,93,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":52,"old":39,"rank":1,"right":{"linear_Z4":[1,0,1,1,1,1,2,2,0],"matrix_rows":[189,193,2,196,136,208,160,128,256],"offset":0,"phase":0,"quadratic_rows":[125,0,125,61,125,61,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":53,"old":39,"rank":1,"right":{"linear_Z4":[1,0,1,1,1,1,2,2,0],"matrix_rows":[189,129,2,132,200,208,224,128,256],"offset":0,"phase":0,"quadratic_rows":[61,0,61,125,125,125,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":48,"old":40,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":50,"old":40,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":54,"old":40,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,2,0,0,2],"matrix_rows":[264,33,2,36,296,16,256,64,128],"offset":0,"phase":0,"quadratic_rows":[32,0,32,40,0,13,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":45,"old":41,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":52,"old":41,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":55,"old":41,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,2,0,2,0],"matrix_rows":[136,33,2,36,168,16,128,64,256],"offset":0,"phase":0,"quadratic_rows":[32,0,32,40,0,13,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":46,"old":42,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":53,"old":42,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":55,"old":42,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":49,"old":43,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":51,"old":43,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":54,"old":43,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":530,"old":44,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,0,3,0,2],"matrix_rows":[336,1,2,4,8,272,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,80,0,80,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":531,"old":44,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,0,2],"matrix_rows":[261,257,2,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,2,0,0,0,0,0],"matrix_rows":[16,33,67,1,136,2,268,12,4],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":577,"old":44,"rank":4,"right":{"linear_Z4":[2,1,0,3,1,3,3,2,0],"matrix_rows":[42,4,320,400,13,6,32,464,128],"offset":115,"phase":1,"quadratic_rows":[12,46,43,47,80,46,80,0,0]}},{"left":{"linear_Z4":[2,2,3,3,0,0,0,0,0],"matrix_rows":[16,1,34,66,132,256,8,12,2],"offset":0,"phase":0,"quadratic_rows":[0,0,12,12,0,0,0,0,0]},"new":579,"old":44,"rank":4,"right":{"linear_Z4":[0,2,3,3,0,0,0,1,2],"matrix_rows":[2,268,16,192,1,260,264,128,32],"offset":135,"phase":2,"quadratic_rows":[0,0,12,12,128,0,128,208,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":57,"old":45,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,3,0,0,2],"matrix_rows":[296,1,2,4,264,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,40,0,40,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":63,"old":45,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,0,2],"matrix_rows":[261,257,2,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":59,"old":46,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,3,0,0,2],"matrix_rows":[296,1,2,4,264,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,40,0,40,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":61,"old":46,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,0,2],"matrix_rows":[261,257,2,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":487,"old":47,"rank":1,"right":{"linear_Z4":[0,2,0,0,1,0,3,0,2],"matrix_rows":[336,1,66,4,8,272,32,256,128],"offset":132,"phase":2,"quadratic_rows":[0,64,0,0,80,0,82,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":490,"old":47,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,2,0],"matrix_rows":[140,1,2,132,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":530,"old":47,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,0,3,2,0],"matrix_rows":[208,1,2,4,8,144,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,80,0,80,0,0]}},{"left":{"linear_Z4":[3,2,2,2,0,0,0,0,0],"matrix_rows":[16,34,67,1,136,2,268,4,12],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":576,"old":47,"rank":4,"right":{"linear_Z4":[2,1,0,1,1,1,3,0,2],"matrix_rows":[44,42,192,400,13,46,32,464,256],"offset":115,"phase":1,"quadratic_rows":[12,6,43,45,80,44,80,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":57,"old":48,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,3,0,2,0],"matrix_rows":[168,1,2,4,136,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,40,0,40,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":62,"old":48,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,2,0],"matrix_rows":[133,129,2,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":58,"old":49,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,3,0,2,0],"matrix_rows":[168,1,2,4,136,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,40,0,40,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":61,"old":49,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,2,0],"matrix_rows":[133,129,2,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":59,"old":50,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,2,0],"matrix_rows":[133,129,2,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":60,"old":50,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,3,0,2,0],"matrix_rows":[168,1,2,4,136,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,40,0,40,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":56,"old":51,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,2,0],"matrix_rows":[133,129,2,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":63,"old":51,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,3,0,2,0],"matrix_rows":[168,1,2,4,136,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,40,0,40,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":58,"old":52,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,0,2],"matrix_rows":[261,257,2,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":60,"old":52,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,3,0,0,2],"matrix_rows":[296,1,2,4,264,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,40,0,40,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":56,"old":53,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,0,2],"matrix_rows":[261,257,2,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":62,"old":53,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,3,0,0,2],"matrix_rows":[296,1,2,4,264,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,40,0,40,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":439,"old":54,"rank":1,"right":{"linear_Z4":[0,1,1,1,1,0,1,2,0],"matrix_rows":[94,1,130,132,136,144,32,192,256],"offset":0,"phase":0,"quadratic_rows":[0,222,222,222,222,0,222,94,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":442,"old":54,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,2,0],"matrix_rows":[133,129,2,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":531,"old":54,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,0,3,2,0],"matrix_rows":[208,1,2,4,8,144,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,80,0,80,0,0]}},{"left":{"linear_Z4":[2,2,2,2,0,0,0,0,0],"matrix_rows":[16,42,69,129,258,4,10,8,5],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":578,"old":54,"rank":4,"right":{"linear_Z4":[2,2,0,1,3,0,2,0,2],"matrix_rows":[300,210,36,130,13,66,256,288,208],"offset":155,"phase":1,"quadratic_rows":[12,16,1,9,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":440,"old":55,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,2,0,0],"matrix_rows":[69,65,2,68,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":442,"old":55,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,0,2],"matrix_rows":[261,257,2,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":488,"old":55,"rank":1,"right":{"linear_Z4":[3,0,3,2,0,0,0,0,0],"matrix_rows":[5,33,2,44,32,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[37,0,45,4,0,5,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":489,"old":55,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,3,0,2],"matrix_rows":[322,1,258,4,8,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,66,0,0,0,0,66,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":64,"old":56,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,2,0,0,0],"matrix_rows":[24,33,2,36,104,80,64,128,256],"offset":1,"phase":1,"quadratic_rows":[32,0,32,120,88,13,24,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,20,32,64,132,6,2,257,1],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":684,"old":56,"rank":3,"right":{"linear_Z4":[0,1,0,2,3,2,2,0,2],"matrix_rows":[257,96,18,256,98,4,56,64,384],"offset":192,"phase":2,"quadratic_rows":[0,114,0,48,122,26,18,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,20,34,64,133,1,4,258,2],"offset":0,"phase":0,"quadratic_rows":[5,0,1,0,0,0,0,0,0]},"new":700,"old":56,"rank":3,"right":{"linear_Z4":[0,1,0,2,0,1,1,0,2],"matrix_rows":[112,260,98,1,114,256,56,64,384],"offset":213,"phase":1,"quadratic_rows":[0,18,0,48,106,120,112,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":64,"old":57,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,2,0,0,2],"matrix_rows":[24,33,2,36,296,272,256,320,384],"offset":0,"phase":0,"quadratic_rows":[32,0,32,312,280,13,0,0,24]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[10,23,6,32,65,130,3,258,2],"offset":0,"phase":0,"quadratic_rows":[4,0,5,0,0,0,0,0,0]},"new":685,"old":57,"rank":3,"right":{"linear_Z4":[1,1,1,0,3,3,1,0,0],"matrix_rows":[118,275,354,273,358,56,320,256,384],"offset":222,"phase":2,"quadratic_rows":[3,355,276,48,284,362,354,0,118]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[15,3,17,32,69,129,4,257,1],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":701,"old":57,"rank":3,"right":{"linear_Z4":[3,1,1,0,2,1,3,0,3],"matrix_rows":[277,113,355,115,276,56,320,256,384],"offset":213,"phase":3,"quadratic_rows":[117,274,5,48,363,121,113,0,274]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":64,"old":58,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,2,0,2,0],"matrix_rows":[136,33,2,36,168,16,128,64,256],"offset":0,"phase":0,"quadratic_rows":[32,0,32,40,0,13,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,20,33,68,129,2,1,6,256],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":692,"old":58,"rank":3,"right":{"linear_Z4":[3,3,3,0,2,2,0,3,0],"matrix_rows":[5,160,170,81,162,68,128,64,256],"offset":69,"phase":1,"quadratic_rows":[85,10,69,34,1,136,5,160,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[10,20,34,65,130,4,2,5,256],"offset":0,"phase":0,"quadratic_rows":[5,2,1,0,0,0,0,0,0]},"new":708,"old":58,"rank":3,"right":{"linear_Z4":[3,1,3,0,2,2,0,3,0],"matrix_rows":[8,5,170,65,10,84,128,64,256],"offset":87,"phase":1,"quadratic_rows":[69,162,85,32,4,138,5,162,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":64,"old":59,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,2,0,0,2],"matrix_rows":[264,33,2,36,296,16,256,64,128],"offset":0,"phase":0,"quadratic_rows":[32,0,32,40,0,13,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,20,33,68,129,2,1,256,6],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":693,"old":59,"rank":3,"right":{"linear_Z4":[3,3,3,0,2,2,0,0,3],"matrix_rows":[5,288,298,81,290,68,256,64,128],"offset":69,"phase":1,"quadratic_rows":[85,10,69,34,1,264,5,0,288]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[10,20,34,65,130,4,2,256,5],"offset":0,"phase":0,"quadratic_rows":[5,2,1,0,0,0,0,0,0]},"new":709,"old":59,"rank":3,"right":{"linear_Z4":[3,1,3,0,2,2,0,0,3],"matrix_rows":[8,5,298,65,10,84,256,64,128],"offset":87,"phase":1,"quadratic_rows":[69,290,85,32,4,266,5,0,290]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":64,"old":60,"rank":1,"right":{"linear_Z4":[3,0,3,3,0,2,0,0,0],"matrix_rows":[13,289,2,292,296,16,256,64,384],"offset":1,"phase":1,"quadratic_rows":[301,0,301,301,0,13,0,0,13]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,17,35,68,1,128,2,260,4],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":716,"old":60,"rank":3,"right":{"linear_Z4":[2,1,0,0,3,0,3,0,2],"matrix_rows":[82,4,264,21,6,64,256,32,384],"offset":59,"phase":1,"quadratic_rows":[20,86,83,0,87,0,86,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,18,35,64,1,132,2,260,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":732,"old":60,"rank":3,"right":{"linear_Z4":[2,1,0,0,1,0,1,0,2],"matrix_rows":[84,82,288,21,86,64,8,256,384],"offset":59,"phase":1,"quadratic_rows":[20,6,83,0,85,0,84,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":64,"old":61,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,19,39,71,129,2,6,263,7],"offset":0,"phase":0,"quadratic_rows":[3,5,2,0,0,0,0,0,0]},"new":717,"old":61,"rank":3,"right":{"linear_Z4":[0,2,2,1,1,1,0,0,1],"matrix_rows":[42,282,92,21,358,256,280,320,384],"offset":246,"phase":2,"quadratic_rows":[20,84,43,124,283,364,42,0,304]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[12,17,39,2,68,3,135,263,7],"offset":0,"phase":0,"quadratic_rows":[3,3,4,0,0,0,0,0,0]},"new":733,"old":61,"rank":3,"right":{"linear_Z4":[3,3,2,0,3,1,0,0,2],"matrix_rows":[10,44,17,293,46,256,304,320,384],"offset":235,"phase":2,"quadratic_rows":[309,38,35,0,305,55,0,0,17]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":64,"old":62,"rank":1,"right":{"linear_Z4":[3,0,3,3,3,2,0,0,2],"matrix_rows":[285,289,2,292,296,272,256,320,128],"offset":1,"phase":1,"quadratic_rows":[61,0,61,61,29,13,0,0,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[9,17,2,36,68,132,4,3,256],"offset":0,"phase":0,"quadratic_rows":[2,3,4,0,0,0,0,0,0]},"new":724,"old":62,"rank":3,"right":{"linear_Z4":[0,3,2,3,2,3,0,3,0],"matrix_rows":[135,132,40,128,134,88,64,96,256],"offset":13,"phase":1,"quadratic_rows":[6,3,129,120,8,104,40,132,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[11,1,18,32,64,132,260,2,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":740,"old":62,"rank":3,"right":{"linear_Z4":[2,3,0,2,2,1,0,3,2],"matrix_rows":[129,135,288,131,128,8,48,256,320],"offset":484,"phase":1,"quadratic_rows":[132,6,3,0,32,48,0,129,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":64,"old":63,"rank":1,"right":{"linear_Z4":[3,0,3,3,3,2,0,2,0],"matrix_rows":[157,161,2,164,168,144,128,192,256],"offset":1,"phase":1,"quadratic_rows":[61,0,61,61,29,13,0,0,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[9,17,2,36,68,132,4,256,3],"offset":0,"phase":0,"quadratic_rows":[2,3,4,0,0,0,0,0,0]},"new":725,"old":63,"rank":3,"right":{"linear_Z4":[0,3,2,3,2,3,0,0,3],"matrix_rows":[263,260,40,256,262,88,64,96,128],"offset":13,"phase":1,"quadratic_rows":[6,3,257,120,8,104,40,0,260]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[11,1,18,32,64,132,260,4,2],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":741,"old":63,"rank":3,"right":{"linear_Z4":[2,3,0,2,2,1,0,2,3],"matrix_rows":[257,263,160,259,256,8,48,128,192],"offset":484,"phase":1,"quadratic_rows":[260,6,3,0,32,48,0,0,257]}},{"left":{"linear_Z4":[2,2,2,3,3,0,0,0,0],"matrix_rows":[33,2,4,72,144,13,21,261,5],"offset":0,"phase":0,"quadratic_rows":[24,0,24,13,21,0,0,0,0]},"new":1,"old":64,"rank":5,"right":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[353,2,100,264,272,256,288,320,384],"offset":254,"phase":1,"quadratic_rows":[96,0,96,32,64,13,21,0,0]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,37,4,66,136,7,13,261,5],"offset":0,"phase":0,"quadratic_rows":[15,7,15,13,0,0,0,0,0]},"new":413,"old":64,"rank":4,"right":{"linear_Z4":[2,2,2,1,0,0,0,0,3],"matrix_rows":[107,264,366,272,256,266,288,320,384],"offset":254,"phase":3,"quadratic_rows":[362,13,362,47,64,13,21,0,261]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[18,3,33,68,136,5,9,257,1],"offset":0,"phase":0,"quadratic_rows":[15,3,5,9,0,0,0,0,0]},"new":414,"old":64,"rank":4,"right":{"linear_Z4":[1,3,0,0,0,1,1,0,2],"matrix_rows":[358,261,264,272,263,256,288,320,384],"offset":204,"phase":0,"quadratic_rows":[3,99,96,32,64,110,118,0,0]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,37,4,72,130,13,7,261,5],"offset":0,"phase":0,"quadratic_rows":[15,7,15,13,0,0,0,0,0]},"new":417,"old":64,"rank":4,"right":{"linear_Z4":[2,2,2,0,1,0,0,0,3],"matrix_rows":[115,272,374,264,256,274,288,320,384],"offset":254,"phase":3,"quadratic_rows":[370,21,370,32,87,13,21,0,261]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[22,3,37,73,129,12,4,261,5],"offset":0,"phase":0,"quadratic_rows":[15,7,15,13,0,0,0,0,0]},"new":418,"old":64,"rank":4,"right":{"linear_Z4":[2,0,0,2,3,2,2,0,3],"matrix_rows":[382,285,123,264,287,256,288,320,384],"offset":200,"phase":3,"quadratic_rows":[120,24,120,295,87,13,21,0,264]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":73,"old":65,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":74,"old":65,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":75,"old":65,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":76,"old":66,"rank":1,"right":{"linear_Z4":[0,3,3,2,0,0,0,0,0],"matrix_rows":[14,1,10,12,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":77,"old":66,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":78,"old":66,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,2,0,0],"matrix_rows":[69,65,2,68,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":76,"old":67,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,2,0,0,0],"matrix_rows":[35,33,34,4,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":79,"old":67,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":80,"old":67,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,2,0,0],"matrix_rows":[69,65,2,68,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":73,"old":68,"rank":1,"right":{"linear_Z4":[1,0,1,1,1,2,0,1,2],"matrix_rows":[413,289,2,292,296,272,256,64,384],"offset":0,"phase":0,"quadratic_rows":[189,0,189,189,157,13,0,157,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":81,"old":68,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":82,"old":68,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":77,"old":69,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,2,0,0],"matrix_rows":[104,33,34,4,72,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[32,32,0,40,0,11,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":79,"old":69,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,1,2,0,0],"matrix_rows":[104,1,10,12,64,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,8,8,38,0,40,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":83,"old":69,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,2,2,0,0],"matrix_rows":[72,33,2,36,104,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[32,0,32,40,0,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":74,"old":70,"rank":1,"right":{"linear_Z4":[1,1,0,1,1,0,2,1,2],"matrix_rows":[411,321,322,4,328,272,32,256,384],"offset":0,"phase":0,"quadratic_rows":[219,219,0,219,155,0,11,155,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":81,"old":70,"rank":1,"right":{"linear_Z4":[1,1,0,1,1,0,2,1,2],"matrix_rows":[411,257,322,68,264,272,96,256,384],"offset":0,"phase":0,"quadratic_rows":[155,219,64,155,155,64,38,155,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":84,"old":70,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":75,"old":71,"rank":1,"right":{"linear_Z4":[0,1,1,0,1,1,2,1,2],"matrix_rows":[438,1,322,324,8,272,352,256,384],"offset":0,"phase":0,"quadratic_rows":[0,246,246,0,182,246,38,182,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":82,"old":71,"rank":1,"right":{"linear_Z4":[0,1,1,0,1,1,2,1,2],"matrix_rows":[438,65,322,260,72,272,288,256,384],"offset":0,"phase":0,"quadratic_rows":[64,246,182,64,182,182,11,182,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":84,"old":71,"rank":1,"right":{"linear_Z4":[0,1,1,0,1,2,1,1,2],"matrix_rows":[470,33,258,292,40,272,256,320,384],"offset":0,"phase":0,"quadratic_rows":[32,214,246,32,214,13,214,214,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":78,"old":72,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,2,0,0,0],"matrix_rows":[35,33,34,4,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":80,"old":72,"rank":1,"right":{"linear_Z4":[0,3,3,2,0,0,0,0,0],"matrix_rows":[14,1,10,12,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":83,"old":72,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":532,"old":73,"rank":1,"right":{"linear_Z4":[3,0,3,3,0,0,0,0,0],"matrix_rows":[5,33,10,44,32,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[37,8,45,14,0,5,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":533,"old":73,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,2,0,0],"matrix_rows":[69,65,2,68,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,3,0,0,0,0,0],"matrix_rows":[16,34,67,1,132,2,260,8,12],"offset":0,"phase":0,"quadratic_rows":[3,1,8,12,0,0,0,0,0]},"new":581,"old":73,"rank":4,"right":{"linear_Z4":[2,1,0,1,0,1,3,2,3],"matrix_rows":[44,42,464,384,13,46,32,256,448],"offset":247,"phase":1,"quadratic_rows":[12,6,43,45,192,44,80,272,384]}},{"left":{"linear_Z4":[2,2,3,3,0,0,0,0,0],"matrix_rows":[16,1,34,66,132,256,2,8,12],"offset":0,"phase":0,"quadratic_rows":[0,0,12,12,0,0,0,0,0]},"new":583,"old":73,"rank":4,"right":{"linear_Z4":[0,2,3,3,0,0,2,0,1],"matrix_rows":[2,76,16,384,1,68,72,256,32],"offset":135,"phase":2,"quadratic_rows":[0,0,12,12,256,0,0,256,400]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":86,"old":74,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,2,0,0,0],"matrix_rows":[35,33,34,4,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":92,"old":74,"rank":1,"right":{"linear_Z4":[3,3,0,3,0,0,0,0,0],"matrix_rows":[3,65,74,12,64,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[67,75,8,14,0,0,3,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":88,"old":75,"rank":1,"right":{"linear_Z4":[0,3,3,2,0,0,0,0,0],"matrix_rows":[14,1,10,12,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":90,"old":75,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,3,0,0,0],"matrix_rows":[6,33,98,68,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[32,102,70,0,0,35,6,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":510,"old":76,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,1,1,2],"matrix_rows":[213,257,2,260,8,272,32,320,384],"offset":0,"phase":0,"quadratic_rows":[469,0,469,0,469,0,469,469,213]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":513,"old":76,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[2,1,258,4,8,16,32,64,128],"offset":0,"phase":0,"quadratic_rows":[0,258,0,0,0,0,0,0,2]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":532,"old":76,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,0,0,3,2],"matrix_rows":[400,1,2,4,8,272,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,144,0,0,144,0]}},{"left":{"linear_Z4":[3,2,2,2,0,0,0,0,0],"matrix_rows":[16,34,65,3,136,2,268,12,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":580,"old":76,"rank":4,"right":{"linear_Z4":[2,0,1,1,3,2,2,2,0],"matrix_rows":[36,10,320,464,5,32,40,400,192],"offset":93,"phase":1,"quadratic_rows":[4,40,13,46,80,10,16,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":86,"old":77,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,0,0,3,2],"matrix_rows":[400,1,2,4,8,272,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,144,0,0,144,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":91,"old":77,"rank":1,"right":{"linear_Z4":[0,1,1,1,1,0,0,1,2],"matrix_rows":[158,1,258,260,264,272,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,414,414,414,414,0,0,414,158]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":87,"old":78,"rank":1,"right":{"linear_Z4":[0,1,1,1,1,0,0,1,2],"matrix_rows":[158,1,258,260,264,272,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,414,414,414,414,0,0,414,158]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":90,"old":78,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,0,0,3,2],"matrix_rows":[400,1,2,4,8,272,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,144,0,0,144,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":88,"old":79,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,0,0,3,2],"matrix_rows":[400,1,2,4,8,272,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,144,0,0,144,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":89,"old":79,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,1,0,1,2],"matrix_rows":[179,257,258,4,8,272,288,64,384],"offset":0,"phase":0,"quadratic_rows":[435,435,0,0,435,435,0,435,179]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":85,"old":80,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,1,0,1,2],"matrix_rows":[179,257,258,4,8,272,288,64,384],"offset":0,"phase":0,"quadratic_rows":[435,435,0,0,435,435,0,435,179]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":92,"old":80,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,0,0,3,2],"matrix_rows":[400,1,2,4,8,272,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,144,0,0,144,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":87,"old":81,"rank":1,"right":{"linear_Z4":[0,2,2,1,1,0,0,1,2],"matrix_rows":[184,33,34,4,264,272,256,320,384],"offset":204,"phase":0,"quadratic_rows":[32,32,0,440,440,411,0,440,184]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":89,"old":81,"rank":1,"right":{"linear_Z4":[3,2,1,1,3,3,0,3,2],"matrix_rows":[437,257,10,268,256,272,288,64,384],"offset":29,"phase":0,"quadratic_rows":[181,8,189,14,181,181,0,181,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":85,"old":82,"rank":1,"right":{"linear_Z4":[2,2,0,0,1,1,0,1,2],"matrix_rows":[184,1,10,12,256,272,288,320,384],"offset":150,"phase":0,"quadratic_rows":[0,8,8,438,440,440,0,440,184]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":91,"old":82,"rank":1,"right":{"linear_Z4":[1,2,3,3,3,1,0,3,2],"matrix_rows":[413,289,34,260,264,272,256,64,384],"offset":71,"phase":0,"quadratic_rows":[189,32,157,157,157,35,0,157,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":438,"old":83,"rank":1,"right":{"linear_Z4":[3,0,3,0,2,0,0,0,0],"matrix_rows":[21,17,2,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":440,"old":83,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,2,0],"matrix_rows":[133,129,2,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":533,"old":83,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,0,0,3,2],"matrix_rows":[400,1,2,4,8,272,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,144,0,0,144,0]}},{"left":{"linear_Z4":[2,2,2,2,0,0,0,0,0],"matrix_rows":[16,42,69,129,258,4,5,8,10],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":582,"old":83,"rank":4,"right":{"linear_Z4":[2,2,0,1,3,0,2,0,2],"matrix_rows":[108,402,36,130,13,258,64,96,400],"offset":155,"phase":1,"quadratic_rows":[12,16,1,9,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":439,"old":84,"rank":1,"right":{"linear_Z4":[1,3,2,3,3,0,3,3,2],"matrix_rows":[475,257,386,132,392,400,32,448,256],"offset":444,"phase":2,"quadratic_rows":[219,91,128,91,91,0,91,133,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":441,"old":84,"rank":1,"right":{"linear_Z4":[3,0,2,3,0,0,0,0,0],"matrix_rows":[9,37,2,32,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[45,0,1,41,0,9,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":510,"old":84,"rank":1,"right":{"linear_Z4":[2,0,2,0,1,0,1,1,2],"matrix_rows":[216,1,10,12,256,272,288,320,384],"offset":90,"phase":0,"quadratic_rows":[0,8,8,470,472,0,472,472,216]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":512,"old":84,"rank":1,"right":{"linear_Z4":[2,3,2,1,3,0,3,3,2],"matrix_rows":[474,1,258,12,256,272,288,320,384],"offset":91,"phase":1,"quadratic_rows":[0,218,8,222,218,0,218,218,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":93,"old":85,"rank":1,"right":{"linear_Z4":[1,1,0,0,3,0,0,3,0],"matrix_rows":[179,289,290,4,8,272,256,64,384],"offset":71,"phase":0,"quadratic_rows":[403,403,0,0,435,400,0,435,179]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[11,19,32,64,131,6,256,2,7],"offset":0,"phase":0,"quadratic_rows":[5,2,5,0,0,0,0,0,0]},"new":686,"old":85,"rank":3,"right":{"linear_Z4":[0,0,0,0,2,2,0,1,3],"matrix_rows":[19,179,288,273,274,180,8,256,64],"offset":2,"phase":1,"quadratic_rows":[432,432,176,0,263,263,0,135,307]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[15,23,33,65,130,4,1,262,6],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":710,"old":85,"rank":3,"right":{"linear_Z4":[3,3,2,0,0,0,2,0,2],"matrix_rows":[71,403,163,321,322,64,72,256,384],"offset":131,"phase":1,"quadratic_rows":[55,55,3,0,131,131,0,48,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":93,"old":86,"rank":1,"right":{"linear_Z4":[3,3,0,3,0,0,0,0,0],"matrix_rows":[3,65,74,12,64,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[67,75,8,14,0,0,3,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,17,36,65,132,256,1,2,6],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":687,"old":86,"rank":3,"right":{"linear_Z4":[3,3,3,2,0,0,0,2,3],"matrix_rows":[3,384,404,73,66,388,64,256,32],"offset":133,"phase":1,"quadratic_rows":[75,67,20,1,132,0,3,272,384]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,19,32,65,132,3,2,260,4],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":711,"old":86,"rank":3,"right":{"linear_Z4":[2,0,2,1,3,2,0,1,2],"matrix_rows":[106,66,400,11,32,20,96,256,384],"offset":233,"phase":1,"quadratic_rows":[10,1,16,9,148,0,0,144,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":93,"old":87,"rank":1,"right":{"linear_Z4":[0,1,1,0,3,0,0,3,0],"matrix_rows":[158,1,266,268,256,272,32,64,384],"offset":29,"phase":0,"quadratic_rows":[0,406,406,400,414,0,0,414,158]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,23,39,66,4,129,1,262,6],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":694,"old":87,"rank":3,"right":{"linear_Z4":[2,3,3,0,0,0,2,0,2],"matrix_rows":[71,398,150,64,322,324,256,96,384],"offset":67,"phase":1,"quadratic_rows":[6,31,31,134,134,0,0,24,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[8,19,35,69,3,128,256,1,7],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":702,"old":87,"rank":3,"right":{"linear_Z4":[0,0,0,2,2,0,0,1,3],"matrix_rows":[158,278,8,153,18,20,256,32,64],"offset":1,"phase":1,"quadratic_rows":[152,408,408,263,263,0,0,135,286]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":93,"old":88,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,3,0,0,0],"matrix_rows":[6,33,98,68,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[32,102,70,0,0,35,6,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,16,38,70,129,2,4,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":695,"old":88,"rank":3,"right":{"linear_Z4":[2,2,0,0,3,1,2,1,2],"matrix_rows":[400,36,68,17,38,64,72,256,384],"offset":248,"phase":3,"quadratic_rows":[16,36,2,0,145,34,0,144,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[12,18,34,64,132,258,2,1,5],"offset":0,"phase":0,"quadratic_rows":[5,2,1,0,0,0,0,0,0]},"new":703,"old":88,"rank":3,"right":{"linear_Z4":[3,3,3,0,0,2,0,2,3],"matrix_rows":[384,6,401,385,66,100,8,256,64],"offset":134,"phase":1,"quadratic_rows":[17,70,102,0,129,4,6,272,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":93,"old":89,"rank":1,"right":{"linear_Z4":[0,1,1,0,3,3,0,3,2],"matrix_rows":[406,33,290,260,8,272,256,320,384],"offset":205,"phase":1,"quadratic_rows":[32,182,150,0,150,35,0,150,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,23,34,66,4,135,2,261,5],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":726,"old":89,"rank":3,"right":{"linear_Z4":[0,3,2,0,0,3,2,0,2],"matrix_rows":[423,98,182,256,326,64,72,352,384],"offset":11,"phase":1,"quadratic_rows":[166,55,19,0,166,51,0,17,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,16,39,71,135,259,4,1,2],"offset":0,"phase":0,"quadratic_rows":[4,4,7,0,0,0,0,0,0]},"new":734,"old":89,"rank":3,"right":{"linear_Z4":[0,0,2,0,3,1,2,3,1],"matrix_rows":[212,340,308,165,38,320,328,368,256],"offset":420,"phase":2,"quadratic_rows":[164,36,371,0,468,487,180,241,308]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":93,"old":90,"rank":1,"right":{"linear_Z4":[0,3,3,2,0,0,0,0,0],"matrix_rows":[14,1,10,12,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,16,34,64,132,1,3,260,4],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":727,"old":90,"rank":3,"right":{"linear_Z4":[0,2,1,2,3,2,1,1,2],"matrix_rows":[65,36,400,32,6,96,24,256,384],"offset":242,"phase":1,"quadratic_rows":[96,4,70,16,152,65,101,144,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,16,33,68,132,256,1,2,6],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":735,"old":90,"rank":3,"right":{"linear_Z4":[1,2,1,3,0,0,2,2,3],"matrix_rows":[65,384,408,69,6,64,392,256,32],"offset":189,"phase":0,"quadratic_rows":[5,4,7,24,136,0,0,272,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":93,"old":91,"rank":1,"right":{"linear_Z4":[1,1,0,3,3,0,0,3,2],"matrix_rows":[403,257,266,12,256,272,32,320,384],"offset":151,"phase":1,"quadratic_rows":[147,155,8,14,147,0,0,147,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[8,17,39,65,1,128,256,3,5],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":718,"old":91,"rank":3,"right":{"linear_Z4":[2,3,3,1,1,0,0,2,3],"matrix_rows":[10,388,4,149,134,256,24,32,64],"offset":62,"phase":1,"quadratic_rows":[148,142,151,26,157,0,0,279,384]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[14,17,34,70,4,129,1,263,7],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":742,"old":91,"rank":3,"right":{"linear_Z4":[2,1,0,2,0,0,0,3,2],"matrix_rows":[194,463,155,323,64,320,328,96,384],"offset":0,"phase":0,"quadratic_rows":[22,151,139,20,139,0,0,150,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":93,"old":92,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,2,0,0,0],"matrix_rows":[35,33,34,4,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,16,33,65,130,258,1,4,6],"offset":0,"phase":0,"quadratic_rows":[0,4,6,0,0,0,0,0,0]},"new":719,"old":92,"rank":3,"right":{"linear_Z4":[2,2,2,0,0,3,2,2,3],"matrix_rows":[68,432,384,5,6,64,72,256,416],"offset":186,"phase":3,"quadratic_rows":[4,4,3,0,160,48,0,272,384]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[8,17,34,3,68,4,2,128,256],"offset":0,"phase":0,"quadratic_rows":[3,1,4,0,0,0,0,0,0]},"new":743,"old":92,"rank":3,"right":{"linear_Z4":[2,1,0,1,1,2,2,0,0],"matrix_rows":[66,12,16,3,72,64,48,128,256],"offset":25,"phase":3,"quadratic_rows":[2,11,72,78,48,16,12,0,0]}},{"left":{"linear_Z4":[2,2,2,3,3,0,0,0,0],"matrix_rows":[33,66,4,134,264,3,5,16,24],"offset":0,"phase":0,"quadratic_rows":[6,5,3,24,24,0,0,0,0]},"new":1,"old":93,"rank":5,"right":{"linear_Z4":[0,2,2,0,0,0,0,0,1],"matrix_rows":[33,34,36,16,384,64,96,104,256],"offset":431,"phase":1,"quadratic_rows":[96,64,32,0,256,5,3,256,400]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,35,66,130,260,1,3,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":413,"old":93,"rank":4,"right":{"linear_Z4":[0,0,2,0,0,0,2,0,1],"matrix_rows":[3,6,16,384,32,66,96,104,256],"offset":484,"phase":1,"quadratic_rows":[34,69,98,0,256,5,6,256,400]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[18,35,65,130,260,3,1,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":414,"old":93,"rank":4,"right":{"linear_Z4":[1,1,2,0,0,2,2,0,1],"matrix_rows":[6,5,16,384,103,32,64,104,256],"offset":389,"phase":0,"quadratic_rows":[99,67,32,0,256,5,3,256,400]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[19,33,66,131,260,1,2,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":419,"old":93,"rank":4,"right":{"linear_Z4":[2,0,0,0,0,2,2,0,1],"matrix_rows":[3,5,16,384,97,32,64,104,256],"offset":388,"phase":3,"quadratic_rows":[102,33,65,0,256,3,5,256,400]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,34,67,130,260,3,1,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":420,"old":93,"rank":4,"right":{"linear_Z4":[0,2,0,0,0,2,0,0,1],"matrix_rows":[5,6,16,384,64,96,36,104,256],"offset":484,"phase":1,"quadratic_rows":[68,100,35,0,256,6,3,256,400]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":102,"old":94,"rank":1,"right":{"linear_Z4":[0,3,0,3,2,0,0,0,0],"matrix_rows":[26,1,18,4,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":103,"old":94,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,2,0,0],"matrix_rows":[81,65,2,4,8,80,32,128,256],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":104,"old":94,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":105,"old":95,"rank":1,"right":{"linear_Z4":[1,1,1,0,1,2,0,1,2],"matrix_rows":[407,289,290,260,8,304,256,64,384],"offset":0,"phase":0,"quadratic_rows":[183,183,151,0,183,19,0,151,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":106,"old":95,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":107,"old":95,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":105,"old":96,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":108,"old":96,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":109,"old":96,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":102,"old":97,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,2,0,0,0],"matrix_rows":[41,33,2,4,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":110,"old":97,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":111,"old":97,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,3,2,0,0],"matrix_rows":[98,1,66,4,8,16,96,128,256],"offset":1,"phase":1,"quadratic_rows":[0,34,0,0,0,34,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":106,"old":98,"rank":1,"right":{"linear_Z4":[1,1,1,1,0,0,2,1,2],"matrix_rows":[399,257,258,260,328,80,96,256,384],"offset":0,"phase":0,"quadratic_rows":[143,143,143,207,64,64,56,143,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":108,"old":98,"rank":1,"right":{"linear_Z4":[1,1,1,1,0,0,2,1,2],"matrix_rows":[399,321,322,260,328,16,32,256,384],"offset":0,"phase":0,"quadratic_rows":[207,207,143,207,0,0,11,143,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":112,"old":98,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":103,"old":99,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,2,0,0,0],"matrix_rows":[41,33,2,4,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":110,"old":99,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,2,0,0],"matrix_rows":[81,65,18,4,24,64,32,128,256],"offset":0,"phase":0,"quadratic_rows":[17,16,0,16,11,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":113,"old":99,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":104,"old":100,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,0,0],"matrix_rows":[98,33,66,4,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[32,34,0,32,0,11,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":111,"old":100,"rank":1,"right":{"linear_Z4":[0,3,0,3,2,0,0,0,0],"matrix_rows":[26,1,18,4,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":113,"old":100,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,2,2,0,0],"matrix_rows":[66,33,98,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[32,34,0,0,32,19,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":107,"old":101,"rank":1,"right":{"linear_Z4":[0,0,1,1,1,1,2,1,2],"matrix_rows":[444,65,66,260,328,272,288,256,384],"offset":0,"phase":0,"quadratic_rows":[64,64,188,252,188,188,11,188,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":109,"old":101,"rank":1,"right":{"linear_Z4":[0,0,1,1,1,1,2,1,2],"matrix_rows":[444,1,2,260,328,336,352,256,384],"offset":0,"phase":0,"quadratic_rows":[0,0,188,252,252,252,56,188,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":112,"old":101,"rank":1,"right":{"linear_Z4":[0,0,1,1,1,2,1,1,2],"matrix_rows":[476,33,34,260,264,304,256,320,384],"offset":0,"phase":0,"quadratic_rows":[32,32,220,220,252,19,220,220,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":535,"old":102,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,0,0,3,2],"matrix_rows":[388,1,2,260,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,132,0,0,0,0,132,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":537,"old":102,"rank":1,"right":{"linear_Z4":[3,3,3,3,0,0,3,3,2],"matrix_rows":[463,257,258,260,264,16,32,320,384],"offset":1,"phase":1,"quadratic_rows":[207,207,207,207,0,0,207,207,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,18,32,64,128,258,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":587,"old":102,"rank":2,"right":{"linear_Z4":[0,0,3,0,0,0,3,3,0],"matrix_rows":[384,196,1,2,388,8,16,32,448],"offset":2,"phase":1,"quadratic_rows":[0,0,324,0,0,0,324,384,196]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[19,35,78,131,259,3,5,9,1],"offset":0,"phase":0,"quadratic_rows":[15,15,15,15,0,0,0,0,0]},"new":591,"old":102,"rank":4,"right":{"linear_Z4":[2,2,1,1,0,1,1,1,0],"matrix_rows":[491,455,428,364,33,34,492,32,48],"offset":204,"phase":0,"quadratic_rows":[12,12,239,239,0,236,236,236,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":115,"old":103,"rank":1,"right":{"linear_Z4":[0,1,1,1,1,0,0,1,2],"matrix_rows":[158,1,258,260,264,272,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,414,414,414,414,0,0,414,158]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":121,"old":103,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,0,0,3,2],"matrix_rows":[388,1,2,260,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,132,0,0,0,0,132,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":117,"old":104,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,0,0,3,2],"matrix_rows":[388,1,2,260,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,132,0,0,0,0,132,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":119,"old":104,"rank":1,"right":{"linear_Z4":[0,1,1,1,1,0,0,1,2],"matrix_rows":[158,1,258,260,264,272,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,414,414,414,414,0,0,414,158]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":535,"old":105,"rank":1,"right":{"linear_Z4":[3,3,0,0,3,0,0,0,0],"matrix_rows":[3,33,50,4,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[35,51,0,16,26,3,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":536,"old":105,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,2,0,0],"matrix_rows":[81,65,2,4,8,80,32,128,256],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,3,0,0,0,0,0],"matrix_rows":[17,33,72,3,130,2,12,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,8,12,0,0,0,0,0]},"new":586,"old":105,"rank":4,"right":{"linear_Z4":[3,3,1,1,0,0,3,0,2],"matrix_rows":[27,24,192,388,41,58,452,32,256],"offset":3,"phase":2,"quadratic_rows":[51,35,68,24,9,3,324,256,192]}},{"left":{"linear_Z4":[2,3,2,3,0,0,0,0,0],"matrix_rows":[16,33,66,4,129,256,1,8,10],"offset":0,"phase":0,"quadratic_rows":[0,10,0,10,0,0,0,0,0]},"new":589,"old":105,"rank":4,"right":{"linear_Z4":[0,3,0,2,3,0,2,0,1],"matrix_rows":[82,4,8,384,1,66,256,80,32],"offset":71,"phase":2,"quadratic_rows":[0,18,256,0,18,0,0,256,388]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":115,"old":106,"rank":1,"right":{"linear_Z4":[0,1,1,2,2,0,0,1,2],"matrix_rows":[166,33,258,260,40,16,256,320,384],"offset":240,"phase":0,"quadratic_rows":[32,422,422,32,0,399,0,422,166]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":120,"old":106,"rank":1,"right":{"linear_Z4":[1,0,1,2,0,2,0,1,2],"matrix_rows":[149,257,18,260,24,256,32,320,384],"offset":240,"phase":0,"quadratic_rows":[405,16,405,16,399,0,0,405,149]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":116,"old":107,"rank":1,"right":{"linear_Z4":[3,1,3,2,1,3,0,3,2],"matrix_rows":[423,257,274,260,24,256,288,64,384],"offset":53,"phase":0,"quadratic_rows":[167,183,167,16,26,167,0,167,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":119,"old":107,"rank":1,"right":{"linear_Z4":[1,3,3,2,3,1,0,3,2],"matrix_rows":[407,289,258,260,40,272,256,64,384],"offset":83,"phase":0,"quadratic_rows":[183,151,151,32,151,41,0,151,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":117,"old":108,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,2,0,0,0],"matrix_rows":[41,33,2,4,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":118,"old":108,"rank":1,"right":{"linear_Z4":[0,3,0,3,2,0,0,0,0],"matrix_rows":[26,1,18,4,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":114,"old":109,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,3,0,0,0],"matrix_rows":[40,1,18,4,88,64,96,128,256],"offset":1,"phase":1,"quadratic_rows":[0,16,0,120,26,104,40,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":121,"old":109,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,3,0,0,0],"matrix_rows":[24,33,2,4,104,80,64,128,256],"offset":1,"phase":1,"quadratic_rows":[32,0,0,120,88,41,24,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":116,"old":110,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,1,0,1,2],"matrix_rows":[173,257,2,260,264,16,288,64,384],"offset":0,"phase":0,"quadratic_rows":[429,0,429,429,0,429,0,429,173]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":118,"old":110,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,0,0,3,2],"matrix_rows":[388,1,2,260,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,132,0,0,0,0,132,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":114,"old":111,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,0,0,3,2],"matrix_rows":[388,1,2,260,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,132,0,0,0,0,132,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":120,"old":111,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,1,0,1,2],"matrix_rows":[173,257,2,260,264,16,288,64,384],"offset":0,"phase":0,"quadratic_rows":[429,0,429,429,0,429,0,429,173]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":534,"old":112,"rank":1,"right":{"linear_Z4":[1,3,3,3,2,0,1,3,2],"matrix_rows":[399,321,258,260,264,80,32,256,384],"offset":163,"phase":0,"quadratic_rows":[207,143,143,143,64,0,81,143,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":537,"old":112,"rank":1,"right":{"linear_Z4":[3,3,0,0,3,0,0,0,0],"matrix_rows":[3,33,50,4,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[35,51,0,16,26,3,0,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[4,11,19,35,67,128,259,1,2],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":585,"old":112,"rank":2,"right":{"linear_Z4":[2,0,0,0,2,0,1,0,3],"matrix_rows":[286,158,193,322,324,328,400,32,256],"offset":319,"phase":1,"quadratic_rows":[192,192,192,192,0,0,207,335,384]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,11,18,34,65,1,130,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":590,"old":112,"rank":2,"right":{"linear_Z4":[0,0,0,1,3,0,1,1,2],"matrix_rows":[3,479,289,306,256,264,32,320,384],"offset":1,"phase":1,"quadratic_rows":[252,236,219,223,221,3,223,223,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":534,"old":113,"rank":1,"right":{"linear_Z4":[0,1,1,1,1,0,0,1,2],"matrix_rows":[158,1,258,260,264,272,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,414,414,414,414,0,0,414,158]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":536,"old":113,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,0,0,3,2],"matrix_rows":[388,1,2,260,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,132,0,0,0,0,132,0]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[18,34,74,12,133,261,5,4,7],"offset":0,"phase":0,"quadratic_rows":[3,15,14,14,0,0,0,0,0]},"new":584,"old":113,"rank":4,"right":{"linear_Z4":[3,3,2,2,0,0,0,3,3],"matrix_rows":[336,207,472,468,337,322,476,64,96],"offset":436,"phase":1,"quadratic_rows":[415,399,195,195,385,0,12,415,403]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,16,34,65,129,1,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":588,"old":113,"rank":2,"right":{"linear_Z4":[2,2,0,3,1,0,2,3,2],"matrix_rows":[80,392,1,18,4,264,64,96,384],"offset":207,"phase":2,"quadratic_rows":[0,16,0,136,18,0,0,136,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":122,"old":114,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,0,0],"matrix_rows":[98,33,66,4,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[32,34,0,32,0,11,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,18,33,64,130,4,6,257,1],"offset":0,"phase":0,"quadratic_rows":[0,4,6,0,0,0,0,0,0]},"new":668,"old":114,"rank":3,"right":{"linear_Z4":[2,2,3,2,0,1,3,1,2],"matrix_rows":[388,66,96,5,64,256,40,80,384],"offset":248,"phase":3,"quadratic_rows":[4,0,133,32,0,104,96,132,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[12,18,36,64,128,258,2,1,5],"offset":0,"phase":0,"quadratic_rows":[5,0,1,0,0,0,0,0,0]},"new":700,"old":114,"rank":3,"right":{"linear_Z4":[3,1,0,2,0,1,2,2,3],"matrix_rows":[384,66,389,385,98,256,40,16,64],"offset":374,"phase":0,"quadratic_rows":[5,34,129,32,0,42,0,260,384]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":122,"old":115,"rank":1,"right":{"linear_Z4":[3,0,1,0,2,0,0,1,2],"matrix_rows":[149,257,18,260,24,256,32,320,384],"offset":162,"phase":1,"quadratic_rows":[405,16,405,16,399,0,0,405,149]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,4,39,71,129,1,262,6],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":669,"old":115,"rank":3,"right":{"linear_Z4":[2,0,0,3,3,0,2,0,2],"matrix_rows":[89,410,156,64,256,328,336,96,384],"offset":19,"phase":1,"quadratic_rows":[24,152,152,31,31,0,0,6,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,19,32,64,133,256,5,1,7],"offset":0,"phase":0,"quadratic_rows":[4,6,3,0,0,0,0,0,0]},"new":701,"old":115,"rank":3,"right":{"linear_Z4":[0,2,0,0,2,0,1,1,3],"matrix_rows":[210,66,272,147,320,20,24,64,32],"offset":1,"phase":1,"quadratic_rows":[146,321,16,16,269,0,450,193,338]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":122,"old":116,"rank":1,"right":{"linear_Z4":[1,0,3,1,0,0,0,3,0],"matrix_rows":[173,289,2,260,296,16,256,64,384],"offset":83,"phase":0,"quadratic_rows":[397,0,429,397,0,388,0,429,173]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[11,16,35,67,128,6,256,2,7],"offset":0,"phase":0,"quadratic_rows":[5,2,5,0,0,0,0,0,0]},"new":676,"old":116,"rank":3,"right":{"linear_Z4":[2,2,1,0,0,1,0,0,1],"matrix_rows":[169,9,288,261,166,256,424,16,64],"offset":57,"phase":0,"quadratic_rows":[420,164,167,256,0,167,0,295,393]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[14,22,34,65,129,4,1,263,7],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":710,"old":116,"rank":3,"right":{"linear_Z4":[2,2,0,1,0,0,0,3,2],"matrix_rows":[200,463,171,321,330,320,64,80,384],"offset":0,"phase":0,"quadratic_rows":[36,44,139,174,0,139,0,172,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":122,"old":117,"rank":1,"right":{"linear_Z4":[0,3,0,3,2,0,0,0,0],"matrix_rows":[26,1,18,4,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,17,34,65,130,256,1,4,6],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":677,"old":117,"rank":3,"right":{"linear_Z4":[3,2,0,3,3,0,0,2,3],"matrix_rows":[9,404,384,67,64,256,72,400,32],"offset":35,"phase":1,"quadratic_rows":[75,1,144,73,20,0,9,260,384]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[8,19,36,65,4,1,2,128,256],"offset":0,"phase":0,"quadratic_rows":[2,3,4,0,0,0,0,0,0]},"new":711,"old":117,"rank":3,"right":{"linear_Z4":[2,0,1,3,2,1,3,0,0],"matrix_rows":[106,34,4,11,96,20,32,128,256],"offset":27,"phase":0,"quadratic_rows":[10,33,20,73,4,34,72,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":122,"old":118,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,2,0,0,0],"matrix_rows":[41,33,2,4,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,17,34,64,129,258,1,4,6],"offset":0,"phase":0,"quadratic_rows":[0,4,6,0,0,0,0,0,0]},"new":720,"old":118,"rank":3,"right":{"linear_Z4":[2,1,0,2,0,3,2,2,3],"matrix_rows":[66,420,384,3,64,256,8,80,416],"offset":234,"phase":3,"quadratic_rows":[2,3,160,0,0,36,0,260,384]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[8,19,36,1,66,4,2,128,256],"offset":0,"phase":0,"quadratic_rows":[3,1,4,0,0,0,0,0,0]},"new":748,"old":118,"rank":3,"right":{"linear_Z4":[2,0,1,3,0,2,1,0,0],"matrix_rows":[74,66,4,11,64,36,80,128,256],"offset":27,"phase":0,"quadratic_rows":[10,65,36,73,0,4,74,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":122,"old":119,"rank":1,"right":{"linear_Z4":[0,1,3,1,0,0,0,3,0],"matrix_rows":[158,1,274,260,280,256,32,64,384],"offset":53,"phase":0,"quadratic_rows":[0,398,414,398,388,0,0,414,158]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[8,19,35,67,5,128,256,1,7],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":721,"old":119,"rank":3,"right":{"linear_Z4":[2,2,1,0,1,0,0,0,1],"matrix_rows":[10,154,272,149,262,256,408,32,64],"offset":58,"phase":0,"quadratic_rows":[148,404,151,256,151,0,0,279,394]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[14,22,34,65,4,129,1,263,7],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":749,"old":119,"rank":3,"right":{"linear_Z4":[2,2,0,1,0,0,0,3,2],"matrix_rows":[200,463,155,329,322,320,64,96,384],"offset":0,"phase":0,"quadratic_rows":[28,20,139,157,139,0,0,156,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":122,"old":120,"rank":1,"right":{"linear_Z4":[0,3,1,0,0,2,0,1,2],"matrix_rows":[166,33,258,260,40,16,256,320,384],"offset":196,"phase":1,"quadratic_rows":[32,422,422,32,0,399,0,422,166]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,4,39,66,135,2,261,5],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":730,"old":120,"rank":3,"right":{"linear_Z4":[0,2,0,3,0,3,2,0,2],"matrix_rows":[425,106,172,256,64,328,80,352,384],"offset":11,"phase":1,"quadratic_rows":[168,40,168,47,0,47,0,5,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,19,35,64,131,261,6,1,4],"offset":0,"phase":0,"quadratic_rows":[6,7,3,0,0,0,0,0,0]},"new":756,"old":120,"rank":3,"right":{"linear_Z4":[0,2,2,0,0,0,0,3,0],"matrix_rows":[198,294,96,163,320,356,40,336,256],"offset":422,"phase":3,"quadratic_rows":[162,1,128,32,0,393,384,229,96]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":122,"old":121,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,2,0,0],"matrix_rows":[81,65,18,4,24,64,32,128,256],"offset":0,"phase":0,"quadratic_rows":[17,16,0,16,11,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,16,34,64,132,1,5,258,2],"offset":0,"phase":0,"quadratic_rows":[4,0,5,0,0,0,0,0,0]},"new":731,"old":121,"rank":3,"right":{"linear_Z4":[0,2,3,2,1,2,1,1,2],"matrix_rows":[65,388,48,32,6,256,24,96,384],"offset":244,"phase":1,"quadratic_rows":[96,4,134,16,88,65,113,132,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,20,36,64,129,256,1,2,6],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":757,"old":121,"rank":3,"right":{"linear_Z4":[1,3,0,2,1,0,2,2,3],"matrix_rows":[65,384,390,81,386,256,24,64,32],"offset":237,"phase":0,"quadratic_rows":[17,6,130,16,25,0,0,260,384]}},{"left":{"linear_Z4":[2,2,3,3,3,0,0,0,0],"matrix_rows":[33,66,132,264,10,9,11,16,20],"offset":0,"phase":0,"quadratic_rows":[2,1,20,8,20,0,0,0,0]},"new":1,"old":122,"rank":5,"right":{"linear_Z4":[0,0,0,2,1,1,0,0,1],"matrix_rows":[49,50,4,8,384,80,96,256,112],"offset":239,"phase":1,"quadratic_rows":[96,80,256,112,58,57,11,256,388]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,33,68,130,2,259,3,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":413,"old":122,"rank":4,"right":{"linear_Z4":[2,1,0,2,2,0,2,0,1],"matrix_rows":[11,8,4,384,80,90,256,16,96],"offset":86,"phase":0,"quadratic_rows":[90,83,256,65,3,0,11,256,388]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[18,34,68,129,259,1,3,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":415,"old":122,"rank":4,"right":{"linear_Z4":[1,2,0,2,0,2,2,0,1],"matrix_rows":[8,11,4,384,105,96,256,32,80],"offset":101,"phase":0,"quadratic_rows":[99,105,256,66,0,3,11,256,388]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,33,66,132,4,261,5,8,10],"offset":0,"phase":0,"quadratic_rows":[1,10,4,10,0,0,0,0,0]},"new":417,"old":122,"rank":4,"right":{"linear_Z4":[2,1,0,2,2,0,2,0,1],"matrix_rows":[3,4,8,384,80,82,256,16,96],"offset":86,"phase":0,"quadratic_rows":[82,83,256,16,11,0,3,256,388]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,33,66,132,261,4,5,8,10],"offset":0,"phase":0,"quadratic_rows":[1,10,4,10,0,0,0,0,0]},"new":419,"old":122,"rank":4,"right":{"linear_Z4":[1,2,0,2,0,2,2,0,1],"matrix_rows":[3,4,8,384,97,96,256,32,80],"offset":102,"phase":0,"quadratic_rows":[99,97,256,32,0,11,3,256,388]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":131,"old":123,"rank":1,"right":{"linear_Z4":[1,1,1,0,1,2,1,0,2],"matrix_rows":[343,289,290,260,8,304,256,320,128],"offset":0,"phase":0,"quadratic_rows":[119,119,87,0,119,19,87,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":132,"old":123,"rank":1,"right":{"linear_Z4":[1,1,1,0,1,1,2,0,2],"matrix_rows":[311,321,258,324,8,336,288,256,128],"offset":0,"phase":0,"quadratic_rows":[119,55,119,0,119,55,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":133,"old":123,"rank":1,"right":{"linear_Z4":[1,1,1,0,1,1,2,0,2],"matrix_rows":[311,257,322,324,8,272,352,256,128],"offset":0,"phase":0,"quadratic_rows":[55,119,119,0,55,119,38,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":134,"old":124,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":135,"old":124,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,2,2,0],"matrix_rows":[132,65,2,196,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[64,0,68,0,64,0,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":136,"old":124,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,2,2,0],"matrix_rows":[132,1,66,196,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,64,68,0,0,64,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":134,"old":125,"rank":1,"right":{"linear_Z4":[1,1,1,0,1,2,1,2,0],"matrix_rows":[215,161,162,132,8,176,128,192,256],"offset":0,"phase":0,"quadratic_rows":[119,119,87,0,119,19,87,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":137,"old":125,"rank":1,"right":{"linear_Z4":[1,1,1,0,1,1,2,2,0],"matrix_rows":[183,129,194,196,8,144,224,128,256],"offset":0,"phase":0,"quadratic_rows":[55,119,119,0,55,119,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":138,"old":125,"rank":1,"right":{"linear_Z4":[1,1,1,0,1,1,2,2,0],"matrix_rows":[183,193,130,196,8,208,160,128,256],"offset":0,"phase":0,"quadratic_rows":[119,55,119,0,119,55,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":131,"old":126,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":139,"old":126,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,2,0,2],"matrix_rows":[260,1,66,324,8,16,96,256,128],"offset":0,"phase":0,"quadratic_rows":[0,64,68,0,0,64,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":140,"old":126,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,2,0,2],"matrix_rows":[260,65,2,324,8,80,32,256,128],"offset":0,"phase":0,"quadratic_rows":[64,0,68,0,64,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":135,"old":127,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":137,"old":127,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":141,"old":127,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":132,"old":128,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":139,"old":128,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":142,"old":128,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,2,0,0,2],"matrix_rows":[258,33,290,4,8,48,256,64,128],"offset":0,"phase":0,"quadratic_rows":[32,34,0,0,32,19,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":133,"old":129,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":140,"old":129,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":142,"old":129,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":136,"old":130,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":138,"old":130,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":141,"old":130,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,2,0,2,0],"matrix_rows":[130,33,162,4,8,48,128,64,256],"offset":0,"phase":0,"quadratic_rows":[32,34,0,0,32,19,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":539,"old":131,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,0,3,2,0],"matrix_rows":[196,1,2,132,8,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,0,68,0,0,0,68,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":541,"old":131,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,2,0],"matrix_rows":[145,129,2,4,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,32,65,1,130,2,256],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":595,"old":131,"rank":2,"right":{"linear_Z4":[3,3,0,0,3,0,1,2,0],"matrix_rows":[3,64,33,50,4,24,32,192,256],"offset":1,"phase":1,"quadratic_rows":[35,51,0,16,26,3,192,64,0]}},{"left":{"linear_Z4":[2,3,2,3,0,0,0,0,0],"matrix_rows":[16,33,66,4,129,256,8,1,10],"offset":0,"phase":0,"quadratic_rows":[0,10,0,10,0,0,0,0,0]},"new":599,"old":131,"rank":4,"right":{"linear_Z4":[0,3,0,2,3,0,0,2,1],"matrix_rows":[146,4,8,320,1,130,256,144,32],"offset":71,"phase":2,"quadratic_rows":[0,18,256,0,18,0,256,0,324]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":144,"old":132,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,2,0],"matrix_rows":[145,129,2,4,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":150,"old":132,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,3,0,2,0],"matrix_rows":[162,1,130,4,8,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,34,0,0,0,34,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":146,"old":133,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,2,0],"matrix_rows":[145,129,2,4,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":148,"old":133,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,3,0,2,0],"matrix_rows":[162,1,130,4,8,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,34,0,0,0,34,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":539,"old":134,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,0,3,0,2],"matrix_rows":[324,1,2,260,8,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,0,68,0,0,0,68,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":540,"old":134,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,0,2],"matrix_rows":[273,257,2,4,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[3,3,3,2,0,0,0,0,0],"matrix_rows":[16,35,68,8,1,2,128,256,4],"offset":0,"phase":0,"quadratic_rows":[3,3,4,0,0,0,0,0,0]},"new":594,"old":134,"rank":4,"right":{"linear_Z4":[2,0,1,2,3,3,0,0,2],"matrix_rows":[50,2,4,8,19,32,260,64,128],"offset":59,"phase":1,"quadratic_rows":[18,1,260,0,49,48,0,0,4]}},{"left":{"linear_Z4":[2,3,2,3,0,0,0,0,0],"matrix_rows":[16,33,66,4,129,256,8,10,1],"offset":0,"phase":0,"quadratic_rows":[0,10,0,10,0,0,0,0,0]},"new":597,"old":134,"rank":4,"right":{"linear_Z4":[0,3,0,2,3,0,0,1,2],"matrix_rows":[274,4,8,192,1,258,128,272,32],"offset":71,"phase":2,"quadratic_rows":[0,18,128,0,18,0,128,196,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":144,"old":135,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,3,0,0,2],"matrix_rows":[290,1,258,4,8,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,34,0,0,0,34,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":149,"old":135,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,0,2],"matrix_rows":[273,257,2,4,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":145,"old":136,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,3,0,0,2],"matrix_rows":[290,1,258,4,8,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,34,0,0,0,34,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":148,"old":136,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,0,2],"matrix_rows":[273,257,2,4,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":146,"old":137,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,0,2],"matrix_rows":[273,257,2,4,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":147,"old":137,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,3,0,0,2],"matrix_rows":[290,1,258,4,8,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,34,0,0,0,34,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":143,"old":138,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,0,2],"matrix_rows":[273,257,2,4,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":150,"old":138,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,3,0,0,2],"matrix_rows":[290,1,258,4,8,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,34,0,0,0,34,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":145,"old":139,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,3,0,2,0],"matrix_rows":[162,1,130,4,8,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,34,0,0,0,34,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":147,"old":139,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,2,0],"matrix_rows":[145,129,2,4,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":143,"old":140,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,3,0,2,0],"matrix_rows":[162,1,130,4,8,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,34,0,0,0,34,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":149,"old":140,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,2,0],"matrix_rows":[145,129,2,4,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":538,"old":141,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,0,2],"matrix_rows":[273,257,2,4,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":541,"old":141,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,0,3,0,2],"matrix_rows":[324,1,2,260,8,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,0,68,0,0,0,68,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[6,11,19,35,65,128,1,256,3],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":593,"old":141,"rank":2,"right":{"linear_Z4":[3,2,2,2,3,0,2,0,2],"matrix_rows":[30,335,321,258,260,264,80,32,128],"offset":3,"phase":2,"quadratic_rows":[15,81,81,81,94,0,30,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,16,34,65,129,258,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":598,"old":141,"rank":2,"right":{"linear_Z4":[2,2,0,3,1,0,3,2,2],"matrix_rows":[144,328,1,18,4,264,128,160,320],"offset":207,"phase":2,"quadratic_rows":[0,16,0,72,18,0,72,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":538,"old":142,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,2,0],"matrix_rows":[145,129,2,4,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":540,"old":142,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,0,3,2,0],"matrix_rows":[196,1,2,132,8,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,0,68,0,0,0,68,0,0]}},{"left":{"linear_Z4":[2,3,2,2,0,0,0,0,0],"matrix_rows":[18,34,4,8,65,129,259,3,1],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":592,"old":142,"rank":4,"right":{"linear_Z4":[1,1,2,2,0,0,2,2,0],"matrix_rows":[336,83,4,8,401,386,256,288,192],"offset":12,"phase":2,"quadratic_rows":[451,467,0,0,386,0,387,83,83]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,16,34,65,129,258,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":596,"old":142,"rank":2,"right":{"linear_Z4":[2,2,0,3,1,0,3,2,2],"matrix_rows":[272,200,1,18,4,136,256,288,192],"offset":207,"phase":2,"quadratic_rows":[0,16,0,72,18,0,72,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":151,"old":143,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,2,0,2,0],"matrix_rows":[130,33,162,4,8,48,128,64,256],"offset":0,"phase":0,"quadratic_rows":[32,34,0,0,32,19,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,18,33,66,129,4,1,6,256],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":670,"old":143,"rank":3,"right":{"linear_Z4":[3,0,2,3,3,2,0,3,0],"matrix_rows":[17,170,160,69,128,64,168,80,256],"offset":19,"phase":1,"quadratic_rows":[85,40,1,10,81,130,17,160,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,21,32,1,66,132,258,4,2],"offset":0,"phase":0,"quadratic_rows":[5,0,1,0,0,0,0,0,0]},"new":708,"old":143,"rank":3,"right":{"linear_Z4":[2,2,2,3,1,0,0,3,2],"matrix_rows":[130,272,170,1,138,20,256,128,320],"offset":362,"phase":1,"quadratic_rows":[0,160,16,40,20,10,0,130,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":151,"old":144,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,2,0,0,2],"matrix_rows":[258,33,290,4,8,48,256,64,128],"offset":0,"phase":0,"quadratic_rows":[32,34,0,0,32,19,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,18,33,66,129,4,1,256,6],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":671,"old":144,"rank":3,"right":{"linear_Z4":[3,0,2,3,3,2,0,0,3],"matrix_rows":[17,298,288,69,256,64,296,80,128],"offset":19,"phase":1,"quadratic_rows":[85,40,1,10,81,258,17,0,288]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,21,32,1,66,132,258,2,4],"offset":0,"phase":0,"quadratic_rows":[5,0,1,0,0,0,0,0,0]},"new":709,"old":144,"rank":3,"right":{"linear_Z4":[2,2,2,3,1,0,0,2,3],"matrix_rows":[258,144,298,1,266,20,128,256,192],"offset":362,"phase":1,"quadratic_rows":[0,288,16,40,20,10,0,0,258]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":151,"old":145,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,2,0,0,2],"matrix_rows":[6,33,290,260,8,48,256,320,384],"offset":0,"phase":0,"quadratic_rows":[32,294,262,0,32,19,0,0,6]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[14,16,35,71,4,134,5,262,6],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":678,"old":145,"rank":3,"right":{"linear_Z4":[2,0,3,3,2,0,2,0,1],"matrix_rows":[124,25,269,261,38,320,376,256,384],"offset":236,"phase":1,"quadratic_rows":[16,36,278,24,269,2,0,0,276]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[14,20,36,1,7,67,131,259,3],"offset":0,"phase":0,"quadratic_rows":[7,3,5,0,0,0,0,0,0]},"new":702,"old":145,"rank":3,"right":{"linear_Z4":[0,3,3,1,1,2,0,0,2],"matrix_rows":[56,9,15,57,306,276,256,320,384],"offset":243,"phase":2,"quadratic_rows":[62,319,287,15,55,19,0,0,6]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":151,"old":146,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,2,0,0,0],"matrix_rows":[6,33,98,68,8,48,64,128,256],"offset":1,"phase":1,"quadratic_rows":[32,102,70,0,32,19,6,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,16,38,70,128,2,4,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":679,"old":146,"rank":3,"right":{"linear_Z4":[0,2,0,2,0,2,2,0,2],"matrix_rows":[257,12,108,256,38,64,104,16,384],"offset":48,"phase":2,"quadratic_rows":[0,36,2,0,0,2,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,33,3,68,130,2,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":703,"old":146,"rank":3,"right":{"linear_Z4":[0,3,3,1,0,0,0,0,2],"matrix_rows":[46,40,272,1,74,108,256,64,384],"offset":3,"phase":2,"quadratic_rows":[0,102,70,40,0,10,6,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":151,"old":147,"rank":1,"right":{"linear_Z4":[3,3,3,0,3,2,0,0,2],"matrix_rows":[279,289,290,260,8,304,256,320,128],"offset":1,"phase":1,"quadratic_rows":[55,55,23,0,55,19,0,0,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[9,18,34,65,4,130,2,5,256],"offset":0,"phase":0,"quadratic_rows":[4,2,5,0,0,0,0,0,0]},"new":728,"old":147,"rank":3,"right":{"linear_Z4":[0,3,2,3,2,3,0,3,0],"matrix_rows":[153,34,144,128,70,64,152,96,256],"offset":11,"phase":1,"quadratic_rows":[24,102,2,9,129,98,34,144,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[13,16,32,1,68,130,258,4,2],"offset":0,"phase":0,"quadratic_rows":[5,0,1,0,0,0,0,0,0]},"new":750,"old":147,"rank":3,"right":{"linear_Z4":[2,2,2,3,0,1,0,3,2],"matrix_rows":[129,288,153,137,2,36,128,256,320],"offset":434,"phase":1,"quadratic_rows":[144,0,32,24,9,36,0,129,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":151,"old":148,"rank":1,"right":{"linear_Z4":[3,3,3,0,3,2,0,2,0],"matrix_rows":[151,161,162,132,8,176,128,192,256],"offset":1,"phase":1,"quadratic_rows":[55,55,23,0,55,19,0,0,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[9,18,34,65,4,130,2,256,5],"offset":0,"phase":0,"quadratic_rows":[4,2,5,0,0,0,0,0,0]},"new":729,"old":148,"rank":3,"right":{"linear_Z4":[0,3,2,3,2,3,0,0,3],"matrix_rows":[281,34,272,256,70,64,280,96,128],"offset":11,"phase":1,"quadratic_rows":[24,102,2,9,257,98,34,0,272]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[13,16,32,1,68,130,258,2,4],"offset":0,"phase":0,"quadratic_rows":[5,0,1,0,0,0,0,0,0]},"new":751,"old":148,"rank":3,"right":{"linear_Z4":[2,2,2,3,0,1,0,2,3],"matrix_rows":[257,160,281,265,2,36,256,128,192],"offset":434,"phase":1,"quadratic_rows":[272,0,32,24,9,36,0,0,257]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":151,"old":149,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,21,35,71,133,4,6,261,5],"offset":0,"phase":0,"quadratic_rows":[5,0,1,0,0,0,0,0,0]},"new":722,"old":149,"rank":3,"right":{"linear_Z4":[0,2,3,3,0,2,2,0,1],"matrix_rows":[42,124,270,21,262,320,376,256,384],"offset":244,"phase":1,"quadratic_rows":[20,32,293,40,1,270,0,0,292]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[12,21,36,2,67,7,131,259,3],"offset":0,"phase":0,"quadratic_rows":[3,7,6,0,0,0,0,0,0]},"new":758,"old":149,"rank":3,"right":{"linear_Z4":[3,0,3,1,2,1,0,0,2],"matrix_rows":[10,56,15,305,58,292,256,320,384],"offset":235,"phase":2,"quadratic_rows":[319,61,303,15,35,55,0,0,5]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":151,"old":150,"rank":1,"right":{"linear_Z4":[3,3,0,0,3,2,0,0,0],"matrix_rows":[19,289,290,4,8,304,256,64,384],"offset":1,"phase":1,"quadratic_rows":[307,307,0,0,307,19,0,0,19]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,18,37,69,1,128,4,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":723,"old":150,"rank":3,"right":{"linear_Z4":[2,0,0,2,2,0,2,0,2],"matrix_rows":[12,258,92,21,256,64,88,32,384],"offset":40,"phase":2,"quadratic_rows":[20,0,1,0,1,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,16,33,3,66,132,2,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":759,"old":150,"rank":3,"right":{"linear_Z4":[3,0,3,1,0,0,0,0,2],"matrix_rows":[29,24,288,73,2,92,64,256,384],"offset":3,"phase":2,"quadratic_rows":[85,0,69,24,9,0,5,0,0]}},{"left":{"linear_Z4":[2,3,3,2,2,0,0,0,0],"matrix_rows":[33,66,132,8,16,19,21,273,17],"offset":0,"phase":0,"quadratic_rows":[6,19,21,0,6,0,0,0,0]},"new":1,"old":151,"rank":5,"right":{"linear_Z4":[2,0,0,2,2,0,0,0,0],"matrix_rows":[353,258,260,8,112,256,288,320,384],"offset":254,"phase":1,"quadratic_rows":[96,32,64,0,96,19,21,0,0]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,43,68,2,8,137,13,265,9],"offset":0,"phase":0,"quadratic_rows":[15,11,13,15,0,0,0,0,0]},"new":413,"old":151,"rank":4,"right":{"linear_Z4":[0,1,0,2,0,0,0,0,1],"matrix_rows":[331,258,260,90,256,266,320,288,384],"offset":85,"phase":0,"quadratic_rows":[74,283,64,19,74,0,21,0,258]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[24,34,68,9,129,3,5,257,1],"offset":0,"phase":0,"quadratic_rows":[15,3,5,9,0,0,0,0,0]},"new":415,"old":151,"rank":4,"right":{"linear_Z4":[1,0,0,3,0,1,1,0,2],"matrix_rows":[376,258,260,273,281,288,320,256,384],"offset":102,"phase":0,"quadratic_rows":[9,32,64,105,96,122,124,0,0]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[24,35,69,9,129,2,4,257,1],"offset":0,"phase":0,"quadratic_rows":[15,3,5,9,0,0,0,0,0]},"new":418,"old":151,"rank":4,"right":{"linear_Z4":[1,1,1,3,0,1,1,0,2],"matrix_rows":[382,258,260,279,287,288,320,256,384],"offset":102,"phase":0,"quadratic_rows":[9,342,310,105,102,124,122,0,6]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,34,77,4,8,11,137,265,9],"offset":0,"phase":0,"quadratic_rows":[15,11,13,15,0,0,0,0,0]},"new":420,"old":151,"rank":4,"right":{"linear_Z4":[0,0,1,2,0,0,0,0,1],"matrix_rows":[301,258,260,60,256,288,268,320,384],"offset":51,"phase":0,"quadratic_rows":[44,32,285,21,44,19,0,0,260]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":160,"old":152,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":161,"old":152,"rank":1,"right":{"linear_Z4":[1,1,1,0,0,1,2,1,2],"matrix_rows":[423,257,258,260,72,80,352,256,384],"offset":0,"phase":0,"quadratic_rows":[167,167,167,64,64,231,56,167,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":162,"old":152,"rank":1,"right":{"linear_Z4":[1,1,1,0,0,1,2,1,2],"matrix_rows":[423,257,322,324,8,16,352,256,384],"offset":0,"phase":0,"quadratic_rows":[167,231,231,0,0,231,38,167,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":163,"old":153,"rank":1,"right":{"linear_Z4":[0,0,1,0,2,0,2,0,0],"matrix_rows":[68,1,18,84,24,64,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,16,20,16,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":164,"old":153,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,2,0,0,0],"matrix_rows":[44,1,2,36,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":165,"old":153,"rank":1,"right":{"linear_Z4":[0,3,0,0,3,2,0,0,0],"matrix_rows":[50,1,34,4,8,48,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":163,"old":154,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":166,"old":154,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,2,0,0,0],"matrix_rows":[44,1,2,36,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":167,"old":154,"rank":1,"right":{"linear_Z4":[0,3,0,0,3,2,0,0,0],"matrix_rows":[50,1,34,4,8,48,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":160,"old":155,"rank":1,"right":{"linear_Z4":[1,0,0,1,2,1,1,1,2],"matrix_rows":[489,257,18,20,280,256,288,320,384],"offset":0,"phase":0,"quadratic_rows":[233,16,16,249,14,233,233,233,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":168,"old":155,"rank":1,"right":{"linear_Z4":[1,0,0,1,1,1,2,1,2],"matrix_rows":[441,257,66,68,264,272,352,256,384],"offset":0,"phase":0,"quadratic_rows":[185,64,64,185,185,249,38,185,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":169,"old":155,"rank":1,"right":{"linear_Z4":[1,0,0,1,1,1,2,1,2],"matrix_rows":[441,257,2,4,328,336,352,256,384],"offset":0,"phase":0,"quadratic_rows":[185,0,0,249,249,249,56,185,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":164,"old":156,"rank":1,"right":{"linear_Z4":[0,0,3,0,3,0,2,0,0],"matrix_rows":[84,1,2,68,8,80,32,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,20,0,20,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":166,"old":156,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,2,0,0],"matrix_rows":[74,1,66,4,72,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":170,"old":156,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":161,"old":157,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":168,"old":157,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":171,"old":157,"rank":1,"right":{"linear_Z4":[1,1,1,1,2,0,0,1,2],"matrix_rows":[399,257,274,276,280,256,32,64,384],"offset":0,"phase":0,"quadratic_rows":[143,159,159,159,14,0,0,143,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":162,"old":158,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":169,"old":158,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":171,"old":158,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":165,"old":159,"rank":1,"right":{"linear_Z4":[0,0,3,0,3,0,2,0,0],"matrix_rows":[84,1,2,68,8,80,32,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,20,0,20,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":167,"old":159,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,2,0,0],"matrix_rows":[74,1,66,4,72,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":170,"old":159,"rank":1,"right":{"linear_Z4":[0,1,0,0,2,2,0,0,0],"matrix_rows":[34,1,50,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,18,16,16,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":543,"old":160,"rank":1,"right":{"linear_Z4":[3,1,3,2,0,3,1,3,2],"matrix_rows":[423,257,322,260,72,16,288,256,384],"offset":149,"phase":0,"quadratic_rows":[167,231,167,64,0,167,74,167,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":545,"old":160,"rank":1,"right":{"linear_Z4":[3,3,1,2,0,1,3,3,2],"matrix_rows":[455,257,258,292,40,16,256,320,384],"offset":89,"phase":0,"quadratic_rows":[199,199,231,32,0,44,199,199,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[7,8,19,35,64,131,259,2,1],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":603,"old":160,"rank":2,"right":{"linear_Z4":[0,2,0,2,0,0,1,0,3],"matrix_rows":[173,301,321,194,324,392,16,352,256],"offset":415,"phase":1,"quadratic_rows":[192,192,192,0,0,192,231,359,384]}},{"left":{"linear_Z4":[2,2,3,3,0,0,0,0,0],"matrix_rows":[19,33,65,130,2,259,4,8,15],"offset":0,"phase":0,"quadratic_rows":[14,13,15,15,0,0,0,0,0]},"new":607,"old":160,"rank":4,"right":{"linear_Z4":[0,3,3,2,0,2,0,0,1],"matrix_rows":[271,265,320,384,289,306,316,16,256],"offset":368,"phase":2,"quadratic_rows":[294,63,55,290,6,15,256,256,457]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":173,"old":161,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,3,0,0,0],"matrix_rows":[24,1,2,36,104,80,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,32,120,88,44,24,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":179,"old":161,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,3,0,0,0],"matrix_rows":[24,1,34,4,72,112,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,32,0,88,120,50,24,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":175,"old":162,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,3,0,0,0],"matrix_rows":[6,1,66,100,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,70,102,32,0,44,6,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":177,"old":162,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,3,0,0,0],"matrix_rows":[6,1,98,68,8,48,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,102,70,0,32,50,6,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":543,"old":163,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,1,0,1,2],"matrix_rows":[173,257,2,260,264,16,288,64,384],"offset":0,"phase":0,"quadratic_rows":[429,0,429,429,0,429,0,429,173]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":544,"old":163,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,0,0,3,2],"matrix_rows":[385,257,2,4,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[129,0,0,0,0,0,0,129,0]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[28,36,68,131,259,9,3,1,7],"offset":0,"phase":0,"quadratic_rows":[13,6,15,13,0,0,0,0,0]},"new":602,"old":163,"rank":4,"right":{"linear_Z4":[2,3,3,0,0,2,0,3,3],"matrix_rows":[488,328,231,457,489,330,324,64,80],"offset":481,"phase":1,"quadratic_rows":[198,431,423,386,0,198,33,431,398]}},{"left":{"linear_Z4":[3,2,3,2,0,0,0,0,0],"matrix_rows":[24,32,70,130,4,264,2,9,1],"offset":0,"phase":0,"quadratic_rows":[9,4,6,1,0,0,0,0,0]},"new":605,"old":163,"rank":4,"right":{"linear_Z4":[3,2,0,3,3,3,1,3,0],"matrix_rows":[384,92,68,161,385,14,80,64,416],"offset":110,"phase":1,"quadratic_rows":[289,12,66,26,24,289,68,384,161]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":173,"old":164,"rank":1,"right":{"linear_Z4":[3,3,3,3,3,0,0,3,2],"matrix_rows":[415,257,258,260,264,272,32,64,384],"offset":1,"phase":1,"quadratic_rows":[159,159,159,159,159,0,0,159,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":178,"old":164,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,0,0,3,2],"matrix_rows":[385,257,2,4,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[129,0,0,0,0,0,0,129,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":174,"old":165,"rank":1,"right":{"linear_Z4":[3,3,3,3,3,0,0,3,2],"matrix_rows":[415,257,258,260,264,272,32,64,384],"offset":1,"phase":1,"quadratic_rows":[159,159,159,159,159,0,0,159,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":177,"old":165,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,0,0,3,2],"matrix_rows":[385,257,2,4,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[129,0,0,0,0,0,0,129,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":175,"old":166,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,0,0,3,2],"matrix_rows":[385,257,2,4,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[129,0,0,0,0,0,0,129,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":176,"old":166,"rank":1,"right":{"linear_Z4":[3,3,3,3,3,0,0,3,2],"matrix_rows":[415,257,258,260,264,272,32,64,384],"offset":1,"phase":1,"quadratic_rows":[159,159,159,159,159,0,0,159,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":172,"old":167,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,0,0,3,2],"matrix_rows":[385,257,2,4,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[129,0,0,0,0,0,0,129,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":179,"old":167,"rank":1,"right":{"linear_Z4":[3,3,3,3,3,0,0,3,2],"matrix_rows":[415,257,258,260,264,272,32,64,384],"offset":1,"phase":1,"quadratic_rows":[159,159,159,159,159,0,0,159,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":174,"old":168,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,3,0,0,0],"matrix_rows":[6,1,98,68,8,48,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,102,70,0,32,50,6,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":176,"old":168,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,3,0,0,0],"matrix_rows":[6,1,66,100,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,70,102,32,0,44,6,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":172,"old":169,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,3,0,0,0],"matrix_rows":[24,1,34,4,72,112,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,32,0,88,120,50,24,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":178,"old":169,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,3,0,0,0],"matrix_rows":[24,1,2,36,104,80,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,32,120,88,44,24,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":542,"old":170,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,0,0,3,2],"matrix_rows":[385,257,2,4,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[129,0,0,0,0,0,0,129,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":545,"old":170,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,1,1,2],"matrix_rows":[203,257,258,4,264,16,32,320,384],"offset":0,"phase":0,"quadratic_rows":[459,459,0,459,0,0,459,459,203]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[6,8,16,32,64,128,258,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":601,"old":170,"rank":2,"right":{"linear_Z4":[3,0,0,0,0,0,3,3,0],"matrix_rows":[384,193,385,2,4,8,16,32,448],"offset":2,"phase":1,"quadratic_rows":[321,0,0,0,0,0,321,384,193]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[6,10,18,33,65,1,131,259,3],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":606,"old":170,"rank":2,"right":{"linear_Z4":[1,3,3,0,0,0,2,2,3],"matrix_rows":[488,231,297,290,300,32,48,320,384],"offset":120,"phase":0,"quadratic_rows":[463,455,463,453,0,0,15,15,271]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":542,"old":171,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,2,0,0,0],"matrix_rows":[44,1,2,36,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":544,"old":171,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,2,0,0],"matrix_rows":[74,1,66,4,72,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,3,0,0,0,0,0],"matrix_rows":[24,34,66,132,4,6,9,257,1],"offset":0,"phase":0,"quadratic_rows":[8,4,2,9,0,0,0,0,0]},"new":600,"old":171,"rank":4,"right":{"linear_Z4":[1,3,3,0,0,1,3,0,2],"matrix_rows":[192,46,40,385,449,50,60,16,256],"offset":6,"phase":2,"quadratic_rows":[65,30,22,34,6,40,321,256,192]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,18,32,64,1,2,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":604,"old":171,"rank":2,"right":{"linear_Z4":[1,3,3,0,0,2,2,0,0],"matrix_rows":[1,70,33,66,68,8,16,128,256],"offset":2,"phase":1,"quadratic_rows":[33,6,6,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":180,"old":172,"rank":1,"right":{"linear_Z4":[0,1,0,0,2,2,0,0,0],"matrix_rows":[34,1,50,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,18,16,16,14,0,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,18,1,32,68,6,2,128,256],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":668,"old":172,"rank":3,"right":{"linear_Z4":[1,0,2,2,1,1,2,0,0],"matrix_rows":[1,34,80,5,64,24,96,128,256],"offset":100,"phase":3,"quadratic_rows":[5,96,1,16,56,114,34,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,20,33,64,132,4,256,2,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":684,"old":172,"rank":3,"right":{"linear_Z4":[0,1,3,2,3,2,0,2,3],"matrix_rows":[389,384,50,256,34,388,24,32,64],"offset":201,"phase":2,"quadratic_rows":[132,18,5,16,26,0,0,257,384]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":180,"old":173,"rank":1,"right":{"linear_Z4":[3,0,3,0,2,0,0,3,0],"matrix_rows":[133,257,18,276,24,256,32,320,384],"offset":1,"phase":1,"quadratic_rows":[389,16,405,16,14,0,0,389,133]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,2,20,35,67,132,4,263,7],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":669,"old":173,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,1,2],"matrix_rows":[473,154,196,320,64,328,336,96,384],"offset":9,"phase":0,"quadratic_rows":[152,152,128,3,3,0,0,135,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[14,16,38,64,129,6,263,2,5],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":685,"old":173,"rank":3,"right":{"linear_Z4":[2,2,0,0,2,1,0,1,3],"matrix_rows":[304,437,53,49,134,32,24,288,320],"offset":48,"phase":2,"quadratic_rows":[432,132,290,16,425,437,0,435,437]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":180,"old":174,"rank":1,"right":{"linear_Z4":[1,0,0,1,2,0,0,1,2],"matrix_rows":[393,257,18,20,280,256,288,320,384],"offset":0,"phase":0,"quadratic_rows":[137,16,16,153,14,0,0,137,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[14,16,33,64,134,6,263,2,5],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":678,"old":174,"rank":3,"right":{"linear_Z4":[2,0,2,2,0,1,0,1,3],"matrix_rows":[292,437,53,37,6,288,152,32,320],"offset":192,"phase":2,"quadratic_rows":[420,4,419,144,296,437,0,429,437]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,19,35,2,68,132,4,263,7],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":694,"old":174,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,1,2],"matrix_rows":[455,142,208,320,322,324,64,96,384],"offset":9,"phase":0,"quadratic_rows":[134,9,9,134,128,0,0,153,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":180,"old":175,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,16,34,66,129,2,256,4,5],"offset":0,"phase":0,"quadratic_rows":[4,0,5,0,0,0,0,0,0]},"new":679,"old":175,"rank":3,"right":{"linear_Z4":[0,2,3,1,3,2,0,2,3],"matrix_rows":[401,44,384,256,6,32,40,400,64],"offset":57,"phase":2,"quadratic_rows":[144,4,14,12,17,0,0,257,384]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,16,34,68,1,6,4,128,256],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":695,"old":175,"rank":3,"right":{"linear_Z4":[1,2,1,0,2,1,2,0,0],"matrix_rows":[1,68,40,17,6,96,64,128,256],"offset":50,"phase":3,"quadratic_rows":[17,4,38,96,1,108,40,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":180,"old":176,"rank":1,"right":{"linear_Z4":[1,1,1,1,2,0,0,1,2],"matrix_rows":[399,257,274,276,280,256,32,64,384],"offset":0,"phase":0,"quadratic_rows":[143,159,159,159,14,0,0,143,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[8,16,33,64,134,1,256,2,5],"offset":0,"phase":0,"quadratic_rows":[4,6,7,0,0,0,0,0,0]},"new":736,"old":176,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,1,0,3,0],"matrix_rows":[260,432,48,5,6,32,152,288,64],"offset":198,"phase":0,"quadratic_rows":[4,4,291,144,40,180,0,424,132]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,21,37,66,4,130,2,263,7],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":752,"old":176,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,1,2],"matrix_rows":[455,200,150,320,322,324,64,96,384],"offset":9,"phase":0,"quadratic_rows":[134,17,17,128,134,0,0,153,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":180,"old":177,"rank":1,"right":{"linear_Z4":[0,0,0,1,2,0,2,0,0],"matrix_rows":[8,1,18,20,88,64,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,16,16,88,14,0,8,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,16,34,65,130,256,2,4,5],"offset":0,"phase":0,"quadratic_rows":[4,0,5,0,0,0,0,0,0]},"new":737,"old":177,"rank":3,"right":{"linear_Z4":[0,2,3,3,1,0,2,2,3],"matrix_rows":[393,84,384,256,6,64,392,80,32],"offset":57,"phase":2,"quadratic_rows":[136,4,22,9,20,0,0,257,384]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,16,34,1,68,4,6,128,256],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":753,"old":177,"rank":3,"right":{"linear_Z4":[1,2,1,2,0,2,1,0,0],"matrix_rows":[1,36,80,9,6,96,32,128,256],"offset":50,"phase":3,"quadratic_rows":[9,4,70,1,96,80,116,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":180,"old":178,"rank":1,"right":{"linear_Z4":[0,0,1,0,2,0,2,0,0],"matrix_rows":[68,1,18,84,24,64,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,16,20,16,14,0,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,1,18,32,68,2,6,128,256],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":746,"old":178,"rank":3,"right":{"linear_Z4":[1,2,0,2,1,2,1,0,0],"matrix_rows":[1,68,48,3,32,24,96,128,256],"offset":100,"phase":3,"quadratic_rows":[3,1,96,16,88,68,116,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,17,36,64,132,256,4,2,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":762,"old":178,"rank":3,"right":{"linear_Z4":[0,3,1,2,3,0,2,2,3],"matrix_rows":[387,384,84,256,386,68,24,64,32],"offset":201,"phase":2,"quadratic_rows":[130,3,20,16,28,0,0,257,384]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":180,"old":179,"rank":1,"right":{"linear_Z4":[3,3,0,0,2,0,0,3,0],"matrix_rows":[131,257,274,20,24,256,288,64,384],"offset":1,"phase":1,"quadratic_rows":[387,403,16,16,14,0,0,387,131]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,4,37,69,130,2,263,7],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":747,"old":179,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,1,2],"matrix_rows":[473,194,156,320,64,328,336,96,384],"offset":9,"phase":0,"quadratic_rows":[152,128,152,5,5,0,0,135,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[8,16,38,64,129,1,256,2,5],"offset":0,"phase":0,"quadratic_rows":[4,6,7,0,0,0,0,0,0]},"new":763,"old":179,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,1,0,3,0],"matrix_rows":[272,420,36,17,134,288,24,32,64],"offset":54,"phase":0,"quadratic_rows":[16,132,34,16,297,180,0,418,144]}},{"left":{"linear_Z4":[3,2,2,3,3,0,0,0,0],"matrix_rows":[33,66,132,264,14,12,10,16,17],"offset":0,"phase":0,"quadratic_rows":[17,4,2,8,17,0,0,0,0]},"new":1,"old":180,"rank":5,"right":{"linear_Z4":[0,0,0,2,0,1,1,0,1],"matrix_rows":[1,98,100,8,384,256,48,80,112],"offset":239,"phase":1,"quadratic_rows":[256,80,48,112,14,108,106,256,385]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,36,68,130,262,6,2,8,9],"offset":0,"phase":0,"quadratic_rows":[9,2,4,9,0,0,0,0,0]},"new":413,"old":180,"rank":4,"right":{"linear_Z4":[0,1,2,2,0,2,2,0,1],"matrix_rows":[1,8,14,384,256,106,96,64,48],"offset":83,"phase":0,"quadratic_rows":[256,102,106,36,0,14,6,256,385]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,34,66,132,262,4,6,8,9],"offset":0,"phase":0,"quadratic_rows":[9,2,4,9,0,0,0,0,0]},"new":416,"old":180,"rank":4,"right":{"linear_Z4":[0,2,1,2,0,2,2,0,1],"matrix_rows":[1,6,8,384,256,96,100,32,80],"offset":53,"phase":0,"quadratic_rows":[256,100,102,32,0,14,6,256,385]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,34,66,132,262,6,4,8,9],"offset":0,"phase":0,"quadratic_rows":[9,2,4,9,0,0,0,0,0]},"new":417,"old":180,"rank":4,"right":{"linear_Z4":[0,1,2,2,0,2,2,0,1],"matrix_rows":[1,6,8,384,256,98,96,64,48],"offset":85,"phase":0,"quadratic_rows":[256,102,98,64,0,6,14,256,385]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,34,66,132,262,4,6,8,9],"offset":0,"phase":0,"quadratic_rows":[9,2,4,9,0,0,0,0,0]},"new":420,"old":180,"rank":4,"right":{"linear_Z4":[0,2,1,2,0,2,2,0,1],"matrix_rows":[1,14,8,384,256,96,108,32,80],"offset":53,"phase":0,"quadratic_rows":[256,108,102,66,0,6,14,256,385]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":189,"old":181,"rank":1,"right":{"linear_Z4":[0,0,1,0,2,0,0,2,0],"matrix_rows":[132,1,18,148,24,128,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,16,20,16,14,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":190,"old":181,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":191,"old":181,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":192,"old":182,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":193,"old":182,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":194,"old":182,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":192,"old":183,"rank":1,"right":{"linear_Z4":[0,0,1,0,2,0,0,0,2],"matrix_rows":[260,1,18,276,24,256,32,64,128],"offset":0,"phase":0,"quadratic_rows":[0,16,20,16,14,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":195,"old":183,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":196,"old":183,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":189,"old":184,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":197,"old":184,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":198,"old":184,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":193,"old":185,"rank":1,"right":{"linear_Z4":[1,1,1,1,1,0,2,0,2],"matrix_rows":[287,321,258,324,264,336,32,256,128],"offset":0,"phase":0,"quadratic_rows":[95,31,95,31,95,0,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":195,"old":185,"rank":1,"right":{"linear_Z4":[1,1,1,1,1,0,2,0,2],"matrix_rows":[287,321,322,260,328,272,32,256,128],"offset":0,"phase":0,"quadratic_rows":[95,95,31,95,31,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":199,"old":185,"rank":1,"right":{"linear_Z4":[1,1,1,1,2,0,1,0,2],"matrix_rows":[335,257,274,276,280,256,32,320,128],"offset":0,"phase":0,"quadratic_rows":[79,95,95,95,14,0,79,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":190,"old":186,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,2,2,0],"matrix_rows":[129,193,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[65,0,64,0,64,0,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":197,"old":186,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,2,2,0],"matrix_rows":[129,193,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[65,64,0,64,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":200,"old":186,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":191,"old":187,"rank":1,"right":{"linear_Z4":[1,1,1,1,1,0,2,2,0],"matrix_rows":[159,193,194,132,200,144,32,128,256],"offset":0,"phase":0,"quadratic_rows":[95,95,31,95,31,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":198,"old":187,"rank":1,"right":{"linear_Z4":[1,1,1,1,1,0,2,2,0],"matrix_rows":[159,193,130,196,136,208,32,128,256],"offset":0,"phase":0,"quadratic_rows":[95,31,95,31,95,0,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":200,"old":187,"rank":1,"right":{"linear_Z4":[1,1,1,1,2,0,1,2,0],"matrix_rows":[207,129,146,148,152,128,32,192,256],"offset":0,"phase":0,"quadratic_rows":[79,95,95,95,14,0,79,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":194,"old":188,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,2,0,2],"matrix_rows":[257,321,66,4,72,16,32,256,128],"offset":0,"phase":0,"quadratic_rows":[65,64,0,64,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":196,"old":188,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,2,0,2],"matrix_rows":[257,321,2,68,8,80,32,256,128],"offset":0,"phase":0,"quadratic_rows":[65,0,64,0,64,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":199,"old":188,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":547,"old":189,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,0,0,2],"matrix_rows":[266,1,258,4,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":549,"old":189,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,0,3,0,2],"matrix_rows":[321,257,2,4,8,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[65,0,0,0,0,0,65,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[7,9,19,34,64,131,2,256,3],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":611,"old":189,"rank":2,"right":{"linear_Z4":[2,3,2,3,0,2,2,0,2],"matrix_rows":[359,45,257,322,260,72,16,288,128],"offset":3,"phase":2,"quadratic_rows":[74,39,74,109,0,74,45,0,0]}},{"left":{"linear_Z4":[3,2,3,2,0,0,0,0,0],"matrix_rows":[24,32,70,130,4,264,9,2,1],"offset":0,"phase":0,"quadratic_rows":[9,4,6,1,0,0,0,0,0]},"new":615,"old":189,"rank":4,"right":{"linear_Z4":[3,2,0,3,3,3,3,1,0],"matrix_rows":[320,156,132,97,321,14,144,128,352],"offset":110,"phase":1,"quadratic_rows":[289,12,130,26,24,289,320,132,97]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":202,"old":190,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,0,0,2],"matrix_rows":[266,1,258,4,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":208,"old":190,"rank":1,"right":{"linear_Z4":[0,0,3,0,3,0,0,0,2],"matrix_rows":[276,1,2,260,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,20,0,20,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":204,"old":191,"rank":1,"right":{"linear_Z4":[0,0,3,0,3,0,0,0,2],"matrix_rows":[276,1,2,260,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,20,0,20,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":206,"old":191,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,0,0,2],"matrix_rows":[266,1,258,4,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":547,"old":192,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,0,2,0],"matrix_rows":[138,1,130,4,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":548,"old":192,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,0,3,2,0],"matrix_rows":[193,129,2,4,8,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[65,0,0,0,0,0,65,0,0]}},{"left":{"linear_Z4":[2,2,3,2,0,0,0,0,0],"matrix_rows":[1,20,36,66,130,8,262,6,2],"offset":0,"phase":0,"quadratic_rows":[0,0,4,0,0,0,0,0,0]},"new":610,"old":192,"rank":4,"right":{"linear_Z4":[2,1,1,0,0,2,2,2,0],"matrix_rows":[1,328,78,32,394,388,256,272,192],"offset":9,"phase":2,"quadratic_rows":[0,454,462,388,0,0,390,78,78]}},{"left":{"linear_Z4":[3,2,3,2,0,0,0,0,0],"matrix_rows":[24,32,70,130,4,264,9,1,2],"offset":0,"phase":0,"quadratic_rows":[9,4,6,1,0,0,0,0,0]},"new":613,"old":192,"rank":4,"right":{"linear_Z4":[3,2,0,3,3,3,3,0,1],"matrix_rows":[192,284,260,97,193,14,272,256,224],"offset":110,"phase":1,"quadratic_rows":[161,12,258,26,24,161,192,97,260]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":202,"old":193,"rank":1,"right":{"linear_Z4":[0,0,3,0,3,0,0,2,0],"matrix_rows":[148,1,2,132,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,20,0,20,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":207,"old":193,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,0,2,0],"matrix_rows":[138,1,130,4,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":203,"old":194,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,0,2,0],"matrix_rows":[138,1,130,4,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":206,"old":194,"rank":1,"right":{"linear_Z4":[0,0,3,0,3,0,0,2,0],"matrix_rows":[148,1,2,132,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,20,0,20,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":204,"old":195,"rank":1,"right":{"linear_Z4":[0,0,3,0,3,0,0,2,0],"matrix_rows":[148,1,2,132,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,20,0,20,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":205,"old":195,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,0,2,0],"matrix_rows":[138,1,130,4,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":201,"old":196,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,0,2,0],"matrix_rows":[138,1,130,4,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":208,"old":196,"rank":1,"right":{"linear_Z4":[0,0,3,0,3,0,0,2,0],"matrix_rows":[148,1,2,132,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,20,0,20,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":203,"old":197,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,0,0,2],"matrix_rows":[266,1,258,4,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":205,"old":197,"rank":1,"right":{"linear_Z4":[0,0,3,0,3,0,0,0,2],"matrix_rows":[276,1,2,260,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,20,0,20,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":201,"old":198,"rank":1,"right":{"linear_Z4":[0,0,3,0,3,0,0,0,2],"matrix_rows":[276,1,2,260,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,20,0,20,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":207,"old":198,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,0,0,2],"matrix_rows":[266,1,258,4,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":546,"old":199,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,0,3,2,0],"matrix_rows":[193,129,2,4,8,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[65,0,0,0,0,0,65,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":549,"old":199,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,0,2,0],"matrix_rows":[138,1,130,4,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,8,17,33,64,1,130,2,256],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":609,"old":199,"rank":2,"right":{"linear_Z4":[0,0,3,3,0,2,1,2,0],"matrix_rows":[44,64,1,2,36,40,16,192,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,192,64,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,18,32,64,1,128,2,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":614,"old":199,"rank":2,"right":{"linear_Z4":[1,3,3,0,0,2,0,2,0],"matrix_rows":[1,134,33,130,132,8,16,64,256],"offset":2,"phase":1,"quadratic_rows":[33,6,6,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":546,"old":200,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,0,3,0,2],"matrix_rows":[321,257,2,4,8,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[65,0,0,0,0,0,65,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":548,"old":200,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,0,0,2],"matrix_rows":[266,1,258,4,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,3,2,0,0,0,0,0],"matrix_rows":[17,32,70,2,4,8,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":608,"old":200,"rank":4,"right":{"linear_Z4":[1,2,0,3,3,2,0,0,2],"matrix_rows":[1,28,4,32,257,14,16,64,128],"offset":110,"phase":1,"quadratic_rows":[257,12,2,26,24,0,0,0,1]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,18,32,64,1,128,256,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":612,"old":200,"rank":2,"right":{"linear_Z4":[1,3,3,0,0,2,0,0,2],"matrix_rows":[1,262,33,258,260,8,16,64,128],"offset":2,"phase":1,"quadratic_rows":[33,6,6,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":209,"old":201,"rank":1,"right":{"linear_Z4":[3,3,3,3,2,0,0,0,2],"matrix_rows":[271,257,274,276,280,256,32,320,128],"offset":1,"phase":1,"quadratic_rows":[15,31,31,31,14,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,18,33,70,128,4,257,2,1],"offset":0,"phase":0,"quadratic_rows":[0,4,6,0,0,0,0,0,0]},"new":670,"old":201,"rank":3,"right":{"linear_Z4":[2,0,1,2,2,3,0,3,2],"matrix_rows":[260,170,136,5,128,256,168,16,320],"offset":425,"phase":1,"quadratic_rows":[4,40,5,130,0,34,0,136,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,22,32,68,129,2,257,4,1],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":692,"old":201,"rank":3,"right":{"linear_Z4":[2,2,2,0,1,3,0,3,2],"matrix_rows":[272,130,170,17,162,4,128,256,320],"offset":425,"phase":1,"quadratic_rows":[16,136,0,34,17,40,0,130,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":209,"old":202,"rank":1,"right":{"linear_Z4":[3,3,3,3,2,0,0,2,0],"matrix_rows":[143,129,146,148,152,128,32,192,256],"offset":1,"phase":1,"quadratic_rows":[15,31,31,31,14,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,18,33,70,128,4,257,1,2],"offset":0,"phase":0,"quadratic_rows":[0,4,6,0,0,0,0,0,0]},"new":671,"old":202,"rank":3,"right":{"linear_Z4":[2,0,1,2,2,3,0,2,3],"matrix_rows":[132,298,264,5,256,128,296,16,192],"offset":425,"phase":1,"quadratic_rows":[4,40,5,258,0,34,0,0,264]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,22,32,68,129,2,257,1,4],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":693,"old":202,"rank":3,"right":{"linear_Z4":[2,2,2,0,1,3,0,2,3],"matrix_rows":[144,258,298,17,290,4,256,128,192],"offset":425,"phase":1,"quadratic_rows":[16,264,0,34,17,40,0,0,258]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":209,"old":203,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[11,23,3,36,6,2,64,128,256],"offset":0,"phase":0,"quadratic_rows":[6,1,1,0,0,0,0,0,0]},"new":676,"old":203,"rank":3,"right":{"linear_Z4":[0,3,2,3,1,2,0,0,0],"matrix_rows":[55,7,30,5,54,56,64,128,256],"offset":5,"phase":2,"quadratic_rows":[52,26,25,46,55,25,0,0,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[9,17,35,70,7,4,134,262,6],"offset":0,"phase":0,"quadratic_rows":[5,6,7,0,0,0,0,0,0]},"new":686,"old":203,"rank":3,"right":{"linear_Z4":[3,3,0,2,1,1,0,0,2],"matrix_rows":[39,36,56,273,282,60,256,320,384],"offset":222,"phase":2,"quadratic_rows":[311,319,59,22,31,39,0,0,3]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":209,"old":204,"rank":1,"right":{"linear_Z4":[0,3,3,3,2,0,0,0,0],"matrix_rows":[14,1,274,276,280,256,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,286,286,286,14,0,0,0,14]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[10,19,36,66,128,1,3,260,4],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":677,"old":204,"rank":3,"right":{"linear_Z4":[3,1,0,3,0,2,0,0,2],"matrix_rows":[34,9,260,99,64,256,104,16,384],"offset":3,"phase":2,"quadratic_rows":[107,3,0,105,0,9,9,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[10,18,32,65,132,3,1,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":687,"old":204,"rank":3,"right":{"linear_Z4":[3,3,0,0,0,1,0,0,2],"matrix_rows":[40,43,272,105,98,4,64,256,384],"offset":3,"phase":2,"quadratic_rows":[67,75,0,34,0,40,3,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":209,"old":205,"rank":1,"right":{"linear_Z4":[0,0,1,0,2,0,0,0,2],"matrix_rows":[260,1,18,276,24,256,32,64,128],"offset":0,"phase":0,"quadratic_rows":[0,16,20,16,14,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,17,34,64,134,4,257,1,2],"offset":0,"phase":0,"quadratic_rows":[0,4,6,0,0,0,0,0,0]},"new":744,"old":205,"rank":3,"right":{"linear_Z4":[2,1,0,2,2,3,0,2,3],"matrix_rows":[130,308,272,3,128,256,8,304,192],"offset":345,"phase":1,"quadratic_rows":[2,3,48,0,260,36,0,0,272]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,16,38,65,132,2,257,1,4],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":754,"old":205,"rank":3,"right":{"linear_Z4":[2,2,2,1,0,3,0,2,3],"matrix_rows":[136,260,308,9,2,292,128,256,192],"offset":345,"phase":1,"quadratic_rows":[8,0,272,9,36,48,0,0,260]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":209,"old":206,"rank":1,"right":{"linear_Z4":[0,0,1,0,2,0,0,2,0],"matrix_rows":[132,1,18,148,24,128,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,16,20,16,14,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,17,34,64,134,4,257,2,1],"offset":0,"phase":0,"quadratic_rows":[0,4,6,0,0,0,0,0,0]},"new":745,"old":206,"rank":3,"right":{"linear_Z4":[2,1,0,2,2,3,0,3,2],"matrix_rows":[258,180,144,3,256,128,8,176,320],"offset":345,"phase":1,"quadratic_rows":[2,3,48,0,132,36,0,144,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,16,38,65,132,2,257,4,1],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":755,"old":206,"rank":3,"right":{"linear_Z4":[2,2,2,1,0,3,0,3,2],"matrix_rows":[264,132,180,9,2,164,256,128,320],"offset":345,"phase":1,"quadratic_rows":[8,0,144,9,36,48,0,132,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":209,"old":207,"rank":1,"right":{"linear_Z4":[3,0,3,0,2,0,0,0,0],"matrix_rows":[5,65,18,84,24,64,32,128,256],"offset":1,"phase":1,"quadratic_rows":[69,16,85,16,14,0,5,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[12,18,37,64,132,1,5,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,4,0,0,0,0,0,0]},"new":738,"old":207,"rank":3,"right":{"linear_Z4":[3,0,1,0,3,2,0,0,2],"matrix_rows":[36,258,17,101,256,64,8,112,384],"offset":5,"phase":2,"quadratic_rows":[117,0,5,0,113,17,17,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[10,16,34,68,129,3,1,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":760,"old":207,"rank":3,"right":{"linear_Z4":[3,0,3,0,0,1,0,0,2],"matrix_rows":[48,53,264,113,2,100,256,64,384],"offset":3,"phase":2,"quadratic_rows":[69,0,85,0,36,48,5,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":209,"old":208,"rank":1,"right":{"linear_Z4":[1,0,1,0,2,0,0,0,2],"matrix_rows":[5,257,18,276,24,256,32,320,384],"offset":0,"phase":0,"quadratic_rows":[261,16,277,16,14,0,0,0,5]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,22,35,71,5,4,134,262,6],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":739,"old":208,"rank":3,"right":{"linear_Z4":[0,2,3,3,1,2,0,0,1],"matrix_rows":[44,42,286,21,278,256,312,320,384],"offset":244,"phase":1,"quadratic_rows":[20,32,309,40,309,286,0,0,308]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[9,21,33,7,70,2,134,262,6],"offset":0,"phase":0,"quadratic_rows":[3,7,6,0,0,0,0,0,0]},"new":761,"old":208,"rank":3,"right":{"linear_Z4":[3,0,3,1,2,1,0,0,2],"matrix_rows":[39,56,34,265,58,284,256,320,384],"offset":238,"phase":2,"quadratic_rows":[303,61,319,31,14,39,0,0,5]}},{"left":{"linear_Z4":[3,2,3,2,2,0,0,0,0],"matrix_rows":[33,66,132,8,14,16,11,266,10],"offset":0,"phase":0,"quadratic_rows":[11,5,14,5,0,0,0,0,0]},"new":1,"old":209,"rank":5,"right":{"linear_Z4":[0,2,0,2,0,2,0,0,0],"matrix_rows":[257,338,260,88,32,320,256,272,384],"offset":253,"phase":1,"quadratic_rows":[64,80,16,80,14,0,11,0,0]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,40,68,138,14,2,11,266,10],"offset":0,"phase":0,"quadratic_rows":[11,15,14,15,0,0,0,0,0]},"new":413,"old":209,"rank":4,"right":{"linear_Z4":[0,1,0,3,2,0,2,0,1],"matrix_rows":[257,376,260,114,320,298,272,256,384],"offset":85,"phase":0,"quadratic_rows":[64,346,16,346,14,0,11,0,266]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,34,78,8,138,4,11,266,10],"offset":0,"phase":0,"quadratic_rows":[11,15,14,15,0,0,0,0,0]},"new":416,"old":209,"rank":4,"right":{"linear_Z4":[0,0,1,0,0,2,0,0,1],"matrix_rows":[257,358,260,108,320,256,292,272,384],"offset":51,"phase":0,"quadratic_rows":[64,100,302,100,0,14,11,0,260]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[27,35,69,9,15,1,138,266,10],"offset":0,"phase":0,"quadratic_rows":[11,15,14,15,0,0,0,0,0]},"new":418,"old":209,"rank":4,"right":{"linear_Z4":[1,1,3,1,0,2,0,0,1],"matrix_rows":[257,317,260,55,303,256,272,320,384],"offset":102,"phase":0,"quadratic_rows":[293,26,53,26,14,5,0,0,257]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[27,34,68,8,14,1,138,266,10],"offset":0,"phase":0,"quadratic_rows":[11,15,14,15,0,0,0,0,0]},"new":419,"old":209,"rank":4,"right":{"linear_Z4":[1,0,0,0,0,2,0,0,1],"matrix_rows":[257,307,260,57,289,256,272,320,384],"offset":102,"phase":0,"quadratic_rows":[299,49,16,49,14,11,0,0,257]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":218,"old":210,"rank":1,"right":{"linear_Z4":[3,3,0,0,2,0,0,0,0],"matrix_rows":[19,17,18,4,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":219,"old":210,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":220,"old":210,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,2,0,0],"matrix_rows":[70,1,66,68,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":221,"old":211,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,1,0,1,2],"matrix_rows":[430,1,274,276,280,256,288,64,384],"offset":0,"phase":0,"quadratic_rows":[0,190,190,190,14,174,0,174,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":222,"old":211,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":223,"old":211,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":221,"old":212,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":224,"old":212,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":225,"old":212,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":218,"old":213,"rank":1,"right":{"linear_Z4":[3,0,3,2,0,0,0,0,0],"matrix_rows":[13,9,2,12,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":226,"old":213,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":227,"old":213,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,2,0,0],"matrix_rows":[70,1,66,68,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":222,"old":214,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,1,2,1,2],"matrix_rows":[427,321,258,68,264,80,288,256,384],"offset":0,"phase":0,"quadratic_rows":[235,171,64,171,64,171,21,171,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":224,"old":214,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,1,2,1,2],"matrix_rows":[427,321,322,4,328,16,288,256,384],"offset":0,"phase":0,"quadratic_rows":[235,235,0,235,0,171,11,171,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":228,"old":214,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":219,"old":215,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,2,0,0],"matrix_rows":[88,9,2,12,64,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[8,0,8,21,24,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":226,"old":215,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,2,0,0],"matrix_rows":[88,17,18,4,72,64,32,128,256],"offset":0,"phase":0,"quadratic_rows":[16,16,0,24,11,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":229,"old":215,"rank":1,"right":{"linear_Z4":[0,0,0,1,2,0,2,0,0],"matrix_rows":[72,1,18,20,88,64,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,16,16,24,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":220,"old":216,"rank":1,"right":{"linear_Z4":[3,0,3,2,0,0,0,0,0],"matrix_rows":[13,9,2,12,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":227,"old":216,"rank":1,"right":{"linear_Z4":[3,3,0,0,2,0,0,0,0],"matrix_rows":[19,17,18,4,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":229,"old":216,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":223,"old":217,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,1,2,1,2],"matrix_rows":[437,321,66,260,72,272,288,256,384],"offset":0,"phase":0,"quadratic_rows":[245,64,181,64,181,181,11,181,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":225,"old":217,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,1,2,1,2],"matrix_rows":[437,321,2,324,8,336,288,256,384],"offset":0,"phase":0,"quadratic_rows":[245,0,245,0,245,181,21,181,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":228,"old":217,"rank":1,"right":{"linear_Z4":[1,0,1,0,2,1,1,1,2],"matrix_rows":[485,257,18,276,24,256,288,320,384],"offset":0,"phase":0,"quadratic_rows":[229,16,245,16,14,229,229,229,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":551,"old":218,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,3,0,3,2],"matrix_rows":[416,1,2,4,8,16,288,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,160,0,160,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":553,"old":218,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,1,1,2],"matrix_rows":[230,1,258,260,8,16,288,320,384],"offset":0,"phase":0,"quadratic_rows":[0,486,486,0,0,486,486,486,230]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,16,32,64,130,258,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":619,"old":218,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,3,3,3,0],"matrix_rows":[384,224,1,2,4,8,16,416,448],"offset":2,"phase":1,"quadratic_rows":[0,0,0,0,0,352,352,384,224]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[30,32,64,128,256,3,5,9,1],"offset":0,"phase":0,"quadratic_rows":[15,15,15,15,0,0,0,0,0]},"new":623,"old":218,"rank":4,"right":{"linear_Z4":[3,0,0,0,0,3,3,3,0],"matrix_rows":[480,449,417,353,481,2,4,8,16],"offset":1,"phase":1,"quadratic_rows":[225,0,0,0,0,225,225,225,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":231,"old":219,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,1,0,1,2],"matrix_rows":[179,257,258,4,8,272,288,64,384],"offset":0,"phase":0,"quadratic_rows":[435,435,0,0,435,435,0,435,179]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":237,"old":219,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,3,0,3,2],"matrix_rows":[416,1,2,4,8,16,288,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,160,0,160,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":233,"old":220,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,3,0,3,2],"matrix_rows":[416,1,2,4,8,16,288,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,160,0,160,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":235,"old":220,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,1,0,1,2],"matrix_rows":[179,257,258,4,8,272,288,64,384],"offset":0,"phase":0,"quadratic_rows":[435,435,0,0,435,435,0,435,179]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":551,"old":221,"rank":1,"right":{"linear_Z4":[0,3,3,3,0,0,0,0,0],"matrix_rows":[6,9,18,28,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[8,22,30,13,6,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":552,"old":221,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,2,0,0],"matrix_rows":[70,1,66,68,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,3,0,0,0,0,0],"matrix_rows":[18,32,67,1,2,136,12,260,4],"offset":0,"phase":0,"quadratic_rows":[3,1,8,12,0,0,0,0,0]},"new":618,"old":221,"rank":4,"right":{"linear_Z4":[1,2,0,1,1,1,3,0,2],"matrix_rows":[28,25,192,416,29,14,16,480,256],"offset":115,"phase":1,"quadratic_rows":[5,12,27,30,28,96,352,256,192]}},{"left":{"linear_Z4":[2,2,3,3,0,0,0,0,0],"matrix_rows":[1,16,34,66,128,260,2,8,12],"offset":0,"phase":0,"quadratic_rows":[0,0,12,12,0,0,0,0,0]},"new":621,"old":221,"rank":4,"right":{"linear_Z4":[2,0,3,3,0,0,2,0,1],"matrix_rows":[1,76,32,384,2,68,72,16,256],"offset":263,"phase":2,"quadratic_rows":[0,0,12,12,0,256,0,256,416]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":231,"old":222,"rank":1,"right":{"linear_Z4":[2,3,1,1,3,3,0,3,2],"matrix_rows":[438,9,258,268,256,272,288,64,384],"offset":27,"phase":0,"quadratic_rows":[8,182,190,13,182,182,0,182,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":236,"old":222,"rank":1,"right":{"linear_Z4":[2,0,2,1,0,1,0,1,2],"matrix_rows":[184,17,18,4,264,256,288,320,384],"offset":170,"phase":0,"quadratic_rows":[16,16,0,440,427,440,0,440,184]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":232,"old":223,"rank":1,"right":{"linear_Z4":[2,1,3,3,1,3,0,3,2],"matrix_rows":[430,17,274,260,264,256,288,64,384],"offset":39,"phase":0,"quadratic_rows":[16,190,174,174,19,174,0,174,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":235,"old":223,"rank":1,"right":{"linear_Z4":[2,2,0,0,1,1,0,1,2],"matrix_rows":[184,9,2,12,256,272,288,320,384],"offset":150,"phase":0,"quadratic_rows":[8,0,8,437,440,440,0,440,184]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":233,"old":224,"rank":1,"right":{"linear_Z4":[3,3,0,3,0,0,0,0,0],"matrix_rows":[3,73,66,12,64,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[75,67,8,13,0,0,3,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":234,"old":224,"rank":1,"right":{"linear_Z4":[3,3,0,0,2,0,0,0,0],"matrix_rows":[19,17,18,4,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":230,"old":225,"rank":1,"right":{"linear_Z4":[3,0,3,0,3,0,0,0,0],"matrix_rows":[5,81,18,68,8,64,32,128,256],"offset":1,"phase":1,"quadratic_rows":[85,16,69,0,19,0,5,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":237,"old":225,"rank":1,"right":{"linear_Z4":[3,0,3,2,0,0,0,0,0],"matrix_rows":[13,9,2,12,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":232,"old":226,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,1,0,1,2],"matrix_rows":[173,257,2,260,264,16,288,64,384],"offset":0,"phase":0,"quadratic_rows":[429,0,429,429,0,429,0,429,173]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":234,"old":226,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,3,0,3,2],"matrix_rows":[416,1,2,4,8,16,288,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,160,0,160,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":230,"old":227,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,3,0,3,2],"matrix_rows":[416,1,2,4,8,16,288,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,160,0,160,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":236,"old":227,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,1,0,1,2],"matrix_rows":[173,257,2,260,264,16,288,64,384],"offset":0,"phase":0,"quadratic_rows":[429,0,429,429,0,429,0,429,173]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":550,"old":228,"rank":1,"right":{"linear_Z4":[3,1,2,3,0,3,1,3,2],"matrix_rows":[427,257,322,68,264,16,288,256,384],"offset":141,"phase":0,"quadratic_rows":[171,235,64,171,0,171,70,171,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":553,"old":228,"rank":1,"right":{"linear_Z4":[0,2,2,0,0,1,1,1,2],"matrix_rows":[232,9,2,12,256,272,288,320,384],"offset":60,"phase":0,"quadratic_rows":[8,0,8,485,0,488,488,488,232]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[7,8,19,35,64,131,259,2,1],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":617,"old":228,"rank":2,"right":{"linear_Z4":[0,2,2,0,0,0,1,0,3],"matrix_rows":[173,301,321,194,388,328,16,352,256],"offset":431,"phase":1,"quadratic_rows":[192,192,0,192,0,192,235,363,384]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,10,18,33,65,2,131,259,3],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":622,"old":228,"rank":2,"right":{"linear_Z4":[2,3,3,0,0,0,2,2,2],"matrix_rows":[201,239,257,2,12,256,272,320,384],"offset":120,"phase":0,"quadratic_rows":[294,239,231,290,0,207,294,294,201]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":550,"old":229,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,1,0,1,2],"matrix_rows":[173,257,2,260,264,16,288,64,384],"offset":0,"phase":0,"quadratic_rows":[429,0,429,429,0,429,0,429,173]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":552,"old":229,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,3,0,3,2],"matrix_rows":[416,1,2,4,8,16,288,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,160,0,160,0]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[28,36,71,132,263,9,7,1,3],"offset":0,"phase":0,"quadratic_rows":[13,6,15,13,0,0,0,0,0]},"new":616,"old":229,"rank":4,"right":{"linear_Z4":[2,3,1,3,0,2,3,3,0],"matrix_rows":[484,324,431,453,485,326,64,328,80],"offset":481,"phase":1,"quadratic_rows":[398,235,45,239,0,398,202,235,33]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,18,34,2,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":620,"old":229,"rank":2,"right":{"linear_Z4":[3,3,3,2,0,0,0,3,2],"matrix_rows":[385,6,257,18,28,16,32,64,384],"offset":3,"phase":2,"quadratic_rows":[129,22,30,4,6,0,0,129,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":238,"old":230,"rank":1,"right":{"linear_Z4":[3,0,3,2,0,0,0,0,0],"matrix_rows":[13,9,2,12,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,18,33,64,2,132,3,260,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":672,"old":230,"rank":3,"right":{"linear_Z4":[2,0,1,2,2,3,1,1,2],"matrix_rows":[20,66,416,5,16,80,40,256,384],"offset":233,"phase":1,"quadratic_rows":[4,80,69,32,66,168,86,160,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,17,33,68,128,260,1,2,6],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":732,"old":230,"rank":3,"right":{"linear_Z4":[2,1,1,3,0,0,2,2,3],"matrix_rows":[66,384,424,5,70,64,392,16,256],"offset":317,"phase":0,"quadratic_rows":[4,6,7,40,0,136,0,288,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":238,"old":231,"rank":1,"right":{"linear_Z4":[1,0,1,0,3,3,0,3,2],"matrix_rows":[421,273,18,260,8,256,288,320,384],"offset":171,"phase":1,"quadratic_rows":[181,16,165,0,19,165,0,165,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[15,18,33,65,135,4,1,262,6],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":673,"old":231,"rank":3,"right":{"linear_Z4":[3,0,2,0,3,0,2,0,2],"matrix_rows":[81,407,181,325,256,64,72,336,384],"offset":19,"phase":1,"quadratic_rows":[55,149,35,0,51,149,0,34,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[12,23,39,71,132,259,7,2,1],"offset":0,"phase":0,"quadratic_rows":[3,3,4,0,0,0,0,0,0]},"new":733,"old":231,"rank":3,"right":{"linear_Z4":[1,1,0,0,1,3,0,0,3],"matrix_rows":[130,258,183,357,230,64,72,368,256],"offset":463,"phase":1,"quadratic_rows":[467,467,368,0,471,356,183,83,311]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":238,"old":232,"rank":1,"right":{"linear_Z4":[1,1,0,3,0,3,0,3,2],"matrix_rows":[419,265,258,12,256,16,288,320,384],"offset":151,"phase":1,"quadratic_rows":[171,163,8,13,0,163,0,163,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[10,16,39,66,128,2,256,3,6],"offset":0,"phase":0,"quadratic_rows":[5,2,5,0,0,0,0,0,0]},"new":682,"old":232,"rank":3,"right":{"linear_Z4":[3,2,3,1,0,1,0,2,3],"matrix_rows":[388,9,4,133,166,256,40,16,64],"offset":61,"phase":1,"quadratic_rows":[141,164,167,41,0,174,0,295,384]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[15,17,34,71,129,4,1,262,6],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":742,"old":232,"rank":3,"right":{"linear_Z4":[3,2,0,3,0,0,2,0,2],"matrix_rows":[73,399,171,323,64,256,328,80,384],"offset":35,"phase":1,"quadratic_rows":[47,37,139,45,0,139,0,36,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":238,"old":233,"rank":1,"right":{"linear_Z4":[3,3,0,0,2,0,0,0,0],"matrix_rows":[19,17,18,4,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,16,33,65,132,260,1,2,6],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":683,"old":233,"rank":3,"right":{"linear_Z4":[2,2,2,0,3,0,2,2,3],"matrix_rows":[68,384,432,5,6,64,72,400,256],"offset":316,"phase":3,"quadratic_rows":[4,4,3,0,48,144,0,288,384]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,34,2,64,132,3,260,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":743,"old":233,"rank":3,"right":{"linear_Z4":[2,1,0,2,2,3,1,1,2],"matrix_rows":[10,68,416,3,72,8,48,256,384],"offset":217,"phase":1,"quadratic_rows":[2,67,72,68,32,176,78,160,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":238,"old":234,"rank":1,"right":{"linear_Z4":[3,3,0,3,0,0,0,0,0],"matrix_rows":[3,73,66,12,64,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[75,67,8,13,0,0,3,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,17,36,65,128,260,1,2,6],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":688,"old":234,"rank":3,"right":{"linear_Z4":[3,3,3,2,0,0,0,2,3],"matrix_rows":[3,384,420,65,74,388,64,16,256],"offset":261,"phase":1,"quadratic_rows":[67,75,36,2,0,132,3,288,384]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,19,32,65,3,132,2,260,4],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":748,"old":234,"rank":3,"right":{"linear_Z4":[2,0,2,1,2,3,0,1,2],"matrix_rows":[90,66,416,11,16,36,80,256,384],"offset":233,"phase":1,"quadratic_rows":[10,1,32,9,0,164,0,160,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":238,"old":235,"rank":1,"right":{"linear_Z4":[1,1,0,0,0,3,0,3,0],"matrix_rows":[179,273,274,4,8,256,288,64,384],"offset":39,"phase":0,"quadratic_rows":[419,419,0,0,416,435,0,435,179]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[11,19,32,64,134,3,256,2,7],"offset":0,"phase":0,"quadratic_rows":[5,2,5,0,0,0,0,0,0]},"new":689,"old":235,"rank":3,"right":{"linear_Z4":[0,0,0,0,2,2,0,1,3],"matrix_rows":[291,179,16,33,34,180,8,256,64],"offset":2,"phase":1,"quadratic_rows":[432,432,176,0,263,263,0,135,307]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[15,23,33,65,130,4,1,262,6],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":749,"old":235,"rank":3,"right":{"linear_Z4":[3,3,2,0,0,0,2,0,2],"matrix_rows":[71,403,163,321,322,64,72,256,384],"offset":131,"phase":1,"quadratic_rows":[55,55,3,0,131,131,0,48,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":238,"old":236,"rank":1,"right":{"linear_Z4":[1,0,1,0,0,3,0,3,0],"matrix_rows":[173,265,2,268,256,16,288,64,384],"offset":27,"phase":0,"quadratic_rows":[421,0,421,416,0,429,0,429,173]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[15,17,39,66,129,4,1,262,6],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":698,"old":236,"rank":3,"right":{"linear_Z4":[3,2,3,0,0,0,2,0,2],"matrix_rows":[71,397,165,321,64,324,256,80,384],"offset":67,"phase":1,"quadratic_rows":[47,5,47,133,0,133,0,40,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[11,16,35,70,128,3,256,2,7],"offset":0,"phase":0,"quadratic_rows":[5,2,5,0,0,0,0,0,0]},"new":758,"old":236,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,2,0,1,3],"matrix_rows":[293,173,8,33,170,36,256,16,64],"offset":2,"phase":1,"quadratic_rows":[424,168,424,263,0,263,0,135,301]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":238,"old":237,"rank":1,"right":{"linear_Z4":[3,0,3,0,3,0,0,0,0],"matrix_rows":[5,81,18,68,8,64,32,128,256],"offset":1,"phase":1,"quadratic_rows":[85,16,69,0,19,0,5,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,16,37,69,1,130,4,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":699,"old":237,"rank":3,"right":{"linear_Z4":[2,2,0,0,1,3,2,1,2],"matrix_rows":[20,416,68,21,34,64,72,256,384],"offset":248,"phase":3,"quadratic_rows":[20,32,1,0,17,162,0,160,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[10,20,34,64,130,260,2,1,5],"offset":0,"phase":0,"quadratic_rows":[5,2,1,0,0,0,0,0,0]},"new":759,"old":237,"rank":3,"right":{"linear_Z4":[3,3,3,0,2,0,0,2,3],"matrix_rows":[384,5,418,65,386,84,8,64,256],"offset":262,"phase":1,"quadratic_rows":[69,34,85,0,4,130,5,288,384]}},{"left":{"linear_Z4":[2,2,2,3,3,0,0,0,0],"matrix_rows":[33,66,4,133,3,264,6,16,24],"offset":0,"phase":0,"quadratic_rows":[6,5,3,24,24,0,0,0,0]},"new":1,"old":238,"rank":5,"right":{"linear_Z4":[2,0,2,0,0,0,0,0,1],"matrix_rows":[17,18,20,32,384,80,64,88,256],"offset":463,"phase":1,"quadratic_rows":[64,80,16,0,6,256,3,256,416]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[18,35,65,129,3,260,2,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":414,"old":238,"rank":4,"right":{"linear_Z4":[3,3,2,0,0,0,2,0,1],"matrix_rows":[6,5,32,384,71,16,80,88,256],"offset":469,"phase":2,"quadratic_rows":[67,83,16,0,6,256,3,256,416]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[19,33,66,130,1,260,3,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":415,"old":238,"rank":4,"right":{"linear_Z4":[0,0,2,0,0,0,2,0,1],"matrix_rows":[3,5,32,384,65,16,80,88,256],"offset":468,"phase":1,"quadratic_rows":[70,17,81,0,6,256,5,256,416]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,35,66,131,1,260,2,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":417,"old":238,"rank":4,"right":{"linear_Z4":[0,2,0,0,2,0,2,0,1],"matrix_rows":[3,6,32,384,16,82,64,88,256],"offset":388,"phase":3,"quadratic_rows":[18,85,66,0,3,256,6,256,416]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,34,67,129,3,260,2,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":420,"old":238,"rank":4,"right":{"linear_Z4":[2,0,0,0,2,0,0,0,1],"matrix_rows":[5,6,32,384,80,64,20,88,256],"offset":468,"phase":1,"quadratic_rows":[84,68,19,0,5,256,3,256,416]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":247,"old":239,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,1,1,0,2],"matrix_rows":[366,1,274,276,280,256,288,320,128],"offset":0,"phase":0,"quadratic_rows":[0,126,126,126,14,110,110,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":248,"old":239,"rank":1,"right":{"linear_Z4":[0,1,1,1,1,1,2,0,2],"matrix_rows":[318,1,258,260,328,336,352,256,128],"offset":0,"phase":0,"quadratic_rows":[0,62,62,126,126,126,56,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":249,"old":239,"rank":1,"right":{"linear_Z4":[0,1,1,1,1,1,2,0,2],"matrix_rows":[318,1,322,324,264,272,352,256,128],"offset":0,"phase":0,"quadratic_rows":[0,126,126,62,62,126,38,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":250,"old":240,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":251,"old":240,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,1,2,2,0],"matrix_rows":[160,1,2,4,72,80,224,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,64,64,96,56,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":252,"old":240,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,1,2,2,0],"matrix_rows":[160,1,66,68,8,16,224,128,256],"offset":0,"phase":0,"quadratic_rows":[0,64,64,0,0,96,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":250,"old":241,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,1,1,2,0],"matrix_rows":[238,1,146,148,152,128,160,192,256],"offset":0,"phase":0,"quadratic_rows":[0,126,126,126,14,110,110,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":253,"old":241,"rank":1,"right":{"linear_Z4":[0,1,1,1,1,1,2,2,0],"matrix_rows":[190,1,194,196,136,144,224,128,256],"offset":0,"phase":0,"quadratic_rows":[0,126,126,62,62,126,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":254,"old":241,"rank":1,"right":{"linear_Z4":[0,1,1,1,1,1,2,2,0],"matrix_rows":[190,1,130,132,200,208,224,128,256],"offset":0,"phase":0,"quadratic_rows":[0,62,62,126,126,126,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":247,"old":242,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":255,"old":242,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,1,2,0,2],"matrix_rows":[288,1,66,68,8,16,352,256,128],"offset":0,"phase":0,"quadratic_rows":[0,64,64,0,0,96,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":256,"old":242,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,1,2,0,2],"matrix_rows":[288,1,2,4,72,80,352,256,128],"offset":0,"phase":0,"quadratic_rows":[0,0,0,64,64,96,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":251,"old":243,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":253,"old":243,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":257,"old":243,"rank":1,"right":{"linear_Z4":[0,0,0,1,2,0,0,2,0],"matrix_rows":[136,1,18,20,152,128,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,16,16,24,14,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":248,"old":244,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":255,"old":244,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":258,"old":244,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":249,"old":245,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":256,"old":245,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":258,"old":245,"rank":1,"right":{"linear_Z4":[0,0,0,1,2,0,0,0,2],"matrix_rows":[264,1,18,20,280,256,32,64,128],"offset":0,"phase":0,"quadratic_rows":[0,16,16,24,14,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":252,"old":246,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":254,"old":246,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":257,"old":246,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":555,"old":247,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,3,3,2,0],"matrix_rows":[224,1,2,4,8,16,160,192,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,96,96,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":557,"old":247,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,2,0],"matrix_rows":[134,1,130,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,33,1,64,130,2,256],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":627,"old":247,"rank":2,"right":{"linear_Z4":[0,3,3,3,0,0,1,2,0],"matrix_rows":[6,64,9,18,28,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[8,22,30,13,6,0,192,64,0]}},{"left":{"linear_Z4":[2,2,3,3,0,0,0,0,0],"matrix_rows":[1,16,34,66,128,260,8,2,12],"offset":0,"phase":0,"quadratic_rows":[0,0,12,12,0,0,0,0,0]},"new":631,"old":247,"rank":4,"right":{"linear_Z4":[2,0,3,3,0,0,0,2,1],"matrix_rows":[1,140,32,320,2,132,136,16,256],"offset":263,"phase":2,"quadratic_rows":[0,0,12,12,0,256,256,0,352]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":260,"old":248,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,0,0,2,0],"matrix_rows":[152,1,2,4,136,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,24,24,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":266,"old":248,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,2,0],"matrix_rows":[134,1,130,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":262,"old":249,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,0,0,2,0],"matrix_rows":[152,1,2,4,136,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,24,24,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":264,"old":249,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,2,0],"matrix_rows":[134,1,130,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":555,"old":250,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,3,3,0,2],"matrix_rows":[352,1,2,4,8,16,288,320,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,96,96,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":556,"old":250,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,0,2],"matrix_rows":[262,1,258,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,3,3,0,0,0,0,0],"matrix_rows":[1,16,38,2,4,72,128,256,8],"offset":0,"phase":0,"quadratic_rows":[0,6,6,8,0,0,0,0,0]},"new":626,"old":250,"rank":4,"right":{"linear_Z4":[2,2,0,3,3,1,0,0,2],"matrix_rows":[1,28,4,32,14,16,288,64,128],"offset":55,"phase":1,"quadratic_rows":[0,12,2,26,24,288,0,0,32]}},{"left":{"linear_Z4":[2,2,3,3,0,0,0,0,0],"matrix_rows":[1,16,34,66,128,260,8,12,2],"offset":0,"phase":0,"quadratic_rows":[0,0,12,12,0,0,0,0,0]},"new":629,"old":250,"rank":4,"right":{"linear_Z4":[2,0,3,3,0,0,0,1,2],"matrix_rows":[1,268,32,192,2,260,264,16,128],"offset":263,"phase":2,"quadratic_rows":[0,0,12,12,0,128,128,224,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":260,"old":251,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,0,2],"matrix_rows":[262,1,258,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":265,"old":251,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,0,0,0,2],"matrix_rows":[280,1,2,4,264,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,24,24,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":261,"old":252,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,0,2],"matrix_rows":[262,1,258,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":264,"old":252,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,0,0,0,2],"matrix_rows":[280,1,2,4,264,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,24,24,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":262,"old":253,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,0,0,0,2],"matrix_rows":[280,1,2,4,264,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,24,24,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":263,"old":253,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,0,2],"matrix_rows":[262,1,258,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":259,"old":254,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,0,0,0,2],"matrix_rows":[280,1,2,4,264,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,24,24,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":266,"old":254,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,0,2],"matrix_rows":[262,1,258,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":261,"old":255,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,2,0],"matrix_rows":[134,1,130,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":263,"old":255,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,0,0,2,0],"matrix_rows":[152,1,2,4,136,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,24,24,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":259,"old":256,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,2,0],"matrix_rows":[134,1,130,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":265,"old":256,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,0,0,2,0],"matrix_rows":[152,1,2,4,136,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,24,24,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":554,"old":257,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,0,2],"matrix_rows":[262,1,258,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":557,"old":257,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,3,3,0,2],"matrix_rows":[352,1,2,4,8,16,288,320,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,96,96,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[7,9,18,35,64,131,2,256,3],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":625,"old":257,"rank":2,"right":{"linear_Z4":[2,3,3,2,0,2,2,0,2],"matrix_rows":[363,45,257,322,68,264,16,288,128],"offset":3,"phase":2,"quadratic_rows":[70,43,109,70,0,70,45,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,18,34,2,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":630,"old":257,"rank":2,"right":{"linear_Z4":[3,3,3,2,0,0,3,0,2],"matrix_rows":[321,6,257,18,28,16,32,320,128],"offset":3,"phase":2,"quadratic_rows":[65,22,30,4,6,0,65,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":554,"old":258,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,2,0],"matrix_rows":[134,1,130,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":556,"old":258,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,3,3,2,0],"matrix_rows":[224,1,2,4,8,16,160,192,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,96,96,0,0]}},{"left":{"linear_Z4":[2,2,2,2,0,0,0,0,0],"matrix_rows":[1,20,38,68,134,8,258,2,6],"offset":0,"phase":0,"quadratic_rows":[0,4,2,0,0,0,0,0,0]},"new":624,"old":258,"rank":4,"right":{"linear_Z4":[2,3,3,3,0,2,1,2,3],"matrix_rows":[1,324,266,32,390,256,392,272,192],"offset":13,"phase":3,"quadratic_rows":[0,142,454,138,0,0,452,78,324]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,18,34,2,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":628,"old":258,"rank":2,"right":{"linear_Z4":[3,3,3,2,0,0,3,2,0],"matrix_rows":[193,6,129,18,28,16,32,192,256],"offset":3,"phase":2,"quadratic_rows":[65,22,30,4,6,0,65,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":267,"old":259,"rank":1,"right":{"linear_Z4":[0,3,3,3,2,3,0,0,2],"matrix_rows":[302,1,274,276,280,256,288,320,128],"offset":1,"phase":1,"quadratic_rows":[0,62,62,62,14,46,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[10,18,1,36,68,132,4,3,256],"offset":0,"phase":0,"quadratic_rows":[3,1,4,0,0,0,0,0,0]},"new":674,"old":259,"rank":3,"right":{"linear_Z4":[3,0,2,3,3,2,0,3,0],"matrix_rows":[132,135,24,133,128,104,80,64,256],"offset":22,"phase":1,"quadratic_rows":[3,5,130,120,88,8,24,132,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[10,17,2,36,68,132,4,3,256],"offset":0,"phase":0,"quadratic_rows":[3,1,4,0,0,0,0,0,0]},"new":740,"old":259,"rank":3,"right":{"linear_Z4":[1,0,2,3,3,2,0,3,0],"matrix_rows":[2,135,24,3,128,72,112,64,256],"offset":31,"phase":1,"quadratic_rows":[133,4,131,88,120,16,24,133,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":267,"old":260,"rank":1,"right":{"linear_Z4":[0,3,3,3,2,3,0,2,0],"matrix_rows":[174,1,146,148,152,128,160,192,256],"offset":1,"phase":1,"quadratic_rows":[0,62,62,62,14,46,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[10,18,1,36,68,132,4,256,3],"offset":0,"phase":0,"quadratic_rows":[3,1,4,0,0,0,0,0,0]},"new":675,"old":260,"rank":3,"right":{"linear_Z4":[3,0,2,3,3,2,0,0,3],"matrix_rows":[260,263,24,261,256,104,80,64,128],"offset":22,"phase":1,"quadratic_rows":[3,5,258,120,88,8,24,0,260]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[10,17,2,36,68,132,4,256,3],"offset":0,"phase":0,"quadratic_rows":[3,1,4,0,0,0,0,0,0]},"new":741,"old":260,"rank":3,"right":{"linear_Z4":[1,0,2,3,3,2,0,0,3],"matrix_rows":[2,263,24,3,256,72,112,64,128],"offset":31,"phase":1,"quadratic_rows":[261,4,259,88,120,16,24,0,261]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":267,"old":261,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[11,16,39,71,1,130,5,263,7],"offset":0,"phase":0,"quadratic_rows":[6,3,1,0,0,0,0,0,0]},"new":680,"old":261,"rank":3,"right":{"linear_Z4":[2,0,2,1,1,1,0,0,1],"matrix_rows":[297,25,108,341,38,256,296,320,384],"offset":237,"phase":2,"quadratic_rows":[100,36,27,124,348,299,25,0,304]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[13,16,39,1,71,131,4,263,7],"offset":0,"phase":0,"quadratic_rows":[6,1,5,0,0,0,0,0,0]},"new":734,"old":261,"rank":3,"right":{"linear_Z4":[0,0,2,3,3,1,0,0,1],"matrix_rows":[305,340,25,109,38,256,304,320,384],"offset":225,"phase":2,"quadratic_rows":[324,36,27,124,348,298,25,0,305]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":267,"old":262,"rank":1,"right":{"linear_Z4":[0,3,3,3,2,0,0,0,0],"matrix_rows":[14,1,274,276,280,256,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,286,286,286,14,0,0,0,14]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[10,16,35,68,128,2,1,260,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":681,"old":262,"rank":3,"right":{"linear_Z4":[1,2,0,0,0,3,3,0,2],"matrix_rows":[4,97,264,5,38,64,256,16,384],"offset":59,"phase":1,"quadratic_rows":[101,36,99,0,0,103,101,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[10,16,35,64,132,1,2,260,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":735,"old":262,"rank":3,"right":{"linear_Z4":[1,2,0,0,0,1,1,0,2],"matrix_rows":[100,97,272,101,38,64,8,256,384],"offset":59,"phase":1,"quadratic_rows":[5,36,99,0,0,102,100,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":267,"old":263,"rank":1,"right":{"linear_Z4":[0,0,0,1,2,0,0,2,0],"matrix_rows":[136,1,18,20,152,128,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,16,16,24,14,0,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[12,18,34,68,1,130,2,5,256],"offset":0,"phase":0,"quadratic_rows":[5,2,1,0,0,0,0,0,0]},"new":696,"old":263,"rank":3,"right":{"linear_Z4":[3,3,3,0,2,2,0,3,0],"matrix_rows":[144,6,153,145,98,68,128,64,256],"offset":70,"phase":1,"quadratic_rows":[9,102,70,17,136,2,6,144,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[12,18,34,65,4,130,2,5,256],"offset":0,"phase":0,"quadratic_rows":[5,2,1,0,0,0,0,0,0]},"new":750,"old":263,"rank":3,"right":{"linear_Z4":[1,3,3,0,2,2,0,3,0],"matrix_rows":[8,6,153,9,66,100,128,64,256],"offset":79,"phase":1,"quadratic_rows":[145,70,102,16,137,4,6,145,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":267,"old":264,"rank":1,"right":{"linear_Z4":[0,0,0,1,2,0,0,0,2],"matrix_rows":[264,1,18,20,280,256,32,64,128],"offset":0,"phase":0,"quadratic_rows":[0,16,16,24,14,0,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[12,18,34,68,1,130,2,256,5],"offset":0,"phase":0,"quadratic_rows":[5,2,1,0,0,0,0,0,0]},"new":697,"old":264,"rank":3,"right":{"linear_Z4":[3,3,3,0,2,2,0,0,3],"matrix_rows":[272,6,281,273,98,68,256,64,128],"offset":70,"phase":1,"quadratic_rows":[9,102,70,17,264,2,6,0,272]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[12,18,34,65,4,130,2,256,5],"offset":0,"phase":0,"quadratic_rows":[5,2,1,0,0,0,0,0,0]},"new":751,"old":264,"rank":3,"right":{"linear_Z4":[1,3,3,0,2,2,0,0,3],"matrix_rows":[8,6,281,9,66,100,256,64,128],"offset":79,"phase":1,"quadratic_rows":[273,70,102,16,265,4,6,0,273]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":267,"old":265,"rank":1,"right":{"linear_Z4":[0,0,0,1,2,1,0,0,2],"matrix_rows":[40,1,18,20,280,256,288,320,384],"offset":0,"phase":0,"quadratic_rows":[0,16,16,312,14,296,0,0,40]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[15,17,5,32,65,130,3,257,1],"offset":0,"phase":0,"quadratic_rows":[0,4,6,0,0,0,0,0,0]},"new":690,"old":265,"rank":3,"right":{"linear_Z4":[1,1,1,0,3,3,1,0,0],"matrix_rows":[291,117,337,341,290,56,256,320,384],"offset":221,"phase":2,"quadratic_rows":[339,3,292,48,345,300,337,0,117]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[15,3,17,32,65,133,4,257,1],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":756,"old":265,"rank":3,"right":{"linear_Z4":[3,1,1,0,1,2,3,0,3],"matrix_rows":[293,113,339,115,292,56,256,320,384],"offset":213,"phase":3,"quadratic_rows":[117,290,5,48,121,347,113,0,290]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":267,"old":266,"rank":1,"right":{"linear_Z4":[0,0,0,3,2,3,0,0,0],"matrix_rows":[40,1,18,20,88,64,96,128,256],"offset":1,"phase":1,"quadratic_rows":[0,16,16,120,14,104,40,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[12,18,32,64,133,4,1,258,2],"offset":0,"phase":0,"quadratic_rows":[5,0,1,0,0,0,0,0,0]},"new":691,"old":266,"rank":3,"right":{"linear_Z4":[1,0,0,2,0,3,3,0,2],"matrix_rows":[16,258,97,17,256,4,56,64,384],"offset":205,"phase":1,"quadratic_rows":[113,0,0,48,105,121,113,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[12,16,34,64,133,1,4,258,2],"offset":0,"phase":0,"quadratic_rows":[5,0,1,0,0,0,0,0,0]},"new":757,"old":266,"rank":3,"right":{"linear_Z4":[1,0,0,2,0,1,1,0,2],"matrix_rows":[112,260,97,113,2,256,56,64,384],"offset":205,"phase":1,"quadratic_rows":[17,0,0,48,105,120,112,0,0]}},{"left":{"linear_Z4":[2,2,2,3,3,0,0,0,0],"matrix_rows":[1,34,4,72,14,144,22,262,6],"offset":0,"phase":0,"quadratic_rows":[0,24,24,14,22,0,0,0,0]},"new":1,"old":267,"rank":5,"right":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[1,338,84,264,288,256,272,320,384],"offset":253,"phase":1,"quadratic_rows":[0,80,80,16,14,64,38,0,0]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[18,35,1,68,6,136,10,258,2],"offset":0,"phase":0,"quadratic_rows":[3,15,6,10,0,0,0,0,0]},"new":414,"old":267,"rank":4,"right":{"linear_Z4":[3,1,0,0,1,0,1,0,3],"matrix_rows":[262,85,264,288,263,256,272,320,384],"offset":253,"phase":3,"quadratic_rows":[339,259,80,16,349,64,373,0,339]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[22,34,4,65,7,136,14,262,6],"offset":0,"phase":0,"quadratic_rows":[7,15,15,14,0,0,0,0,0]},"new":415,"old":267,"rank":4,"right":{"linear_Z4":[2,2,2,1,0,0,0,0,3],"matrix_rows":[264,91,349,288,265,256,272,320,384],"offset":253,"phase":3,"quadratic_rows":[14,345,345,31,14,64,38,0,262]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[22,35,5,73,15,129,7,262,6],"offset":0,"phase":0,"quadratic_rows":[7,15,15,14,0,0,0,0,0]},"new":418,"old":267,"rank":4,"right":{"linear_Z4":[2,0,0,0,0,1,0,0,3],"matrix_rows":[302,125,379,264,303,256,272,320,384],"offset":253,"phase":3,"quadratic_rows":[40,120,120,279,14,103,38,0,264]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[22,34,4,72,14,129,7,262,6],"offset":0,"phase":0,"quadratic_rows":[7,15,15,14,0,0,0,0,0]},"new":419,"old":267,"rank":4,"right":{"linear_Z4":[2,2,2,0,0,1,0,0,3],"matrix_rows":[288,115,373,264,289,256,272,320,384],"offset":253,"phase":3,"quadratic_rows":[38,369,369,16,14,103,38,0,262]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":276,"old":268,"rank":1,"right":{"linear_Z4":[0,1,1,1,0,2,1,1,2],"matrix_rows":[462,33,290,260,264,48,256,320,384],"offset":0,"phase":0,"quadratic_rows":[32,238,206,206,32,19,206,206,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":277,"old":268,"rank":1,"right":{"linear_Z4":[0,1,1,1,0,1,2,1,2],"matrix_rows":[430,65,258,324,264,80,288,256,384],"offset":0,"phase":0,"quadratic_rows":[64,174,238,174,64,174,21,174,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":278,"old":268,"rank":1,"right":{"linear_Z4":[0,1,1,1,0,1,2,1,2],"matrix_rows":[430,1,322,324,264,16,352,256,384],"offset":0,"phase":0,"quadratic_rows":[0,238,238,174,0,238,38,174,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":279,"old":269,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,2,2,0,0],"matrix_rows":[80,33,34,4,8,112,64,128,256],"offset":0,"phase":0,"quadratic_rows":[32,32,0,0,48,19,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":280,"old":269,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,2,0,0],"matrix_rows":[112,33,2,36,8,80,64,128,256],"offset":0,"phase":0,"quadratic_rows":[32,0,32,0,48,21,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":281,"old":269,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,1,2,0,0],"matrix_rows":[112,1,18,20,8,64,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,16,16,0,38,48,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":279,"old":270,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":282,"old":270,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,2,0,0,0],"matrix_rows":[37,33,2,36,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":283,"old":270,"rank":1,"right":{"linear_Z4":[0,3,3,0,2,0,0,0,0],"matrix_rows":[22,1,18,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":276,"old":271,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":284,"old":271,"rank":1,"right":{"linear_Z4":[1,0,1,1,1,0,2,1,2],"matrix_rows":[413,257,66,324,264,272,96,256,384],"offset":0,"phase":0,"quadratic_rows":[157,64,221,157,157,64,38,157,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":285,"old":271,"rank":1,"right":{"linear_Z4":[1,0,1,1,1,0,2,1,2],"matrix_rows":[413,321,2,324,264,336,32,256,384],"offset":0,"phase":0,"quadratic_rows":[221,0,221,157,221,0,21,157,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":280,"old":272,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":282,"old":272,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,2,0,0],"matrix_rows":[67,65,66,4,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":286,"old":272,"rank":1,"right":{"linear_Z4":[0,3,3,0,2,0,0,0,0],"matrix_rows":[22,1,18,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":277,"old":273,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":284,"old":273,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":287,"old":273,"rank":1,"right":{"linear_Z4":[1,1,0,1,1,2,0,1,2],"matrix_rows":[411,289,290,4,264,304,256,64,384],"offset":0,"phase":0,"quadratic_rows":[187,187,0,155,187,19,0,155,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":278,"old":274,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":285,"old":274,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":287,"old":274,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":281,"old":275,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":283,"old":275,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,2,0,0],"matrix_rows":[67,65,66,4,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":286,"old":275,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,2,0,0,0],"matrix_rows":[37,33,2,36,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":559,"old":276,"rank":1,"right":{"linear_Z4":[1,2,3,3,3,0,1,3,2],"matrix_rows":[413,321,66,260,264,272,32,256,384],"offset":135,"phase":0,"quadratic_rows":[221,64,157,157,157,0,67,157,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":561,"old":276,"rank":1,"right":{"linear_Z4":[2,2,0,1,0,0,1,1,2],"matrix_rows":[216,1,18,20,264,256,288,320,384],"offset":102,"phase":0,"quadratic_rows":[0,16,16,472,462,0,472,472,216]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,33,65,128,257,3,2],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":635,"old":276,"rank":2,"right":{"linear_Z4":[2,3,1,1,1,0,1,2,0],"matrix_rows":[286,384,193,386,324,328,336,32,256],"offset":373,"phase":0,"quadratic_rows":[192,158,94,94,94,0,221,67,0]}},{"left":{"linear_Z4":[2,3,3,3,0,0,0,0,0],"matrix_rows":[17,33,67,131,258,2,4,8,13],"offset":0,"phase":0,"quadratic_rows":[12,2,13,13,0,0,0,0,0]},"new":639,"old":276,"rank":4,"right":{"linear_Z4":[1,1,2,2,0,2,0,0,0],"matrix_rows":[279,20,320,384,265,282,300,288,32],"offset":0,"phase":0,"quadratic_rows":[31,15,43,23,41,20,256,256,192]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":289,"old":277,"rank":1,"right":{"linear_Z4":[1,3,2,3,3,1,0,3,2],"matrix_rows":[411,289,258,36,264,272,256,64,384],"offset":75,"phase":0,"quadratic_rows":[187,155,32,155,155,37,0,155,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":295,"old":277,"rank":1,"right":{"linear_Z4":[2,0,2,1,0,1,0,1,2],"matrix_rows":[184,1,18,20,264,256,288,320,384],"offset":170,"phase":0,"quadratic_rows":[0,16,16,440,430,440,0,440,184]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":291,"old":278,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,3,0,0,0],"matrix_rows":[6,33,66,100,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[32,70,102,0,0,37,6,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":293,"old":278,"rank":1,"right":{"linear_Z4":[0,3,3,0,2,0,0,0,0],"matrix_rows":[22,1,18,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":559,"old":279,"rank":1,"right":{"linear_Z4":[0,1,1,1,1,0,0,1,2],"matrix_rows":[158,1,258,260,264,272,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,414,414,414,414,0,0,414,158]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":560,"old":279,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,0,0,3,2],"matrix_rows":[392,1,2,4,264,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,136,0,0,0,136,0]}},{"left":{"linear_Z4":[2,3,2,2,0,0,0,0,0],"matrix_rows":[31,45,7,11,66,128,256,3,2],"offset":0,"phase":0,"quadratic_rows":[12,2,1,1,0,0,0,0,0]},"new":634,"old":279,"rank":4,"right":{"linear_Z4":[0,3,3,3,1,0,0,0,2],"matrix_rows":[399,17,263,267,141,398,272,32,64],"offset":12,"phase":2,"quadratic_rows":[286,15,399,399,273,0,0,12,29]}},{"left":{"linear_Z4":[2,2,3,2,0,0,0,0,0],"matrix_rows":[16,35,72,136,257,2,3,12,4],"offset":0,"phase":0,"quadratic_rows":[0,0,12,4,0,0,0,0,0]},"new":637,"old":279,"rank":4,"right":{"linear_Z4":[2,0,3,3,1,0,2,3,0],"matrix_rows":[114,34,384,140,19,64,388,392,96],"offset":281,"phase":0,"quadratic_rows":[18,1,268,268,17,0,0,384,140]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":289,"old":280,"rank":1,"right":{"linear_Z4":[0,1,1,1,1,0,0,1,2],"matrix_rows":[158,1,258,260,264,272,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,414,414,414,414,0,0,414,158]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":294,"old":280,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,0,0,3,2],"matrix_rows":[392,1,2,4,264,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,136,0,0,0,136,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":290,"old":281,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,1,0,1,2],"matrix_rows":[173,257,2,260,264,16,288,64,384],"offset":0,"phase":0,"quadratic_rows":[429,0,429,429,0,429,0,429,173]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":293,"old":281,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,0,0,3,2],"matrix_rows":[392,1,2,4,264,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,136,0,0,0,136,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":291,"old":282,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,0,0,3,2],"matrix_rows":[392,1,2,4,264,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,136,0,0,0,136,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":292,"old":282,"rank":1,"right":{"linear_Z4":[0,1,1,1,1,0,0,1,2],"matrix_rows":[158,1,258,260,264,272,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,414,414,414,414,0,0,414,158]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":288,"old":283,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,0,0,3,2],"matrix_rows":[392,1,2,4,264,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,136,0,0,0,136,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":295,"old":283,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,1,0,1,2],"matrix_rows":[173,257,2,260,264,16,288,64,384],"offset":0,"phase":0,"quadratic_rows":[429,0,429,429,0,429,0,429,173]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":290,"old":284,"rank":1,"right":{"linear_Z4":[3,1,2,3,1,3,0,3,2],"matrix_rows":[427,257,274,20,264,256,288,64,384],"offset":45,"phase":0,"quadratic_rows":[171,187,16,171,22,171,0,171,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":292,"old":284,"rank":1,"right":{"linear_Z4":[0,2,2,1,1,0,0,1,2],"matrix_rows":[184,33,2,36,264,272,256,320,384],"offset":204,"phase":0,"quadratic_rows":[32,0,32,440,440,413,0,440,184]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":288,"old":285,"rank":1,"right":{"linear_Z4":[3,0,3,0,3,0,0,0,0],"matrix_rows":[5,65,18,84,8,64,32,128,256],"offset":1,"phase":1,"quadratic_rows":[69,16,85,0,22,0,5,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":294,"old":285,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,2,0,0,0],"matrix_rows":[37,33,2,36,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":558,"old":286,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,0,0,3,2],"matrix_rows":[392,1,2,4,264,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,136,0,0,0,136,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":561,"old":286,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,1,1,2],"matrix_rows":[203,257,258,4,264,16,32,320,384],"offset":0,"phase":0,"quadratic_rows":[459,459,0,459,0,0,459,459,203]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,16,34,64,128,258,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":633,"old":286,"rank":2,"right":{"linear_Z4":[0,0,0,3,0,0,3,3,0],"matrix_rows":[384,200,1,2,4,392,16,32,448],"offset":2,"phase":1,"quadratic_rows":[0,0,0,328,0,0,328,384,200]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,9,18,2,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":638,"old":286,"rank":2,"right":{"linear_Z4":[3,3,1,2,0,0,3,3,2],"matrix_rows":[451,4,257,258,12,16,32,320,384],"offset":1,"phase":1,"quadratic_rows":[195,195,12,4,0,0,195,195,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":558,"old":287,"rank":1,"right":{"linear_Z4":[3,3,0,0,3,0,0,0,0],"matrix_rows":[3,33,50,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[35,51,16,0,22,3,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":560,"old":287,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,2,0,0],"matrix_rows":[67,65,66,4,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,3,0,0,0,0,0],"matrix_rows":[17,33,3,72,130,2,12,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,8,12,0,0,0,0,0]},"new":632,"old":287,"rank":4,"right":{"linear_Z4":[3,3,1,1,0,0,3,0,2],"matrix_rows":[23,20,192,392,37,54,456,32,256],"offset":3,"phase":2,"quadratic_rows":[51,35,20,72,5,3,328,256,192]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,16,34,65,128,1,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":636,"old":287,"rank":2,"right":{"linear_Z4":[3,0,2,3,3,0,2,1,2],"matrix_rows":[81,392,65,2,12,256,80,32,384],"offset":49,"phase":3,"quadratic_rows":[17,0,8,140,17,0,0,136,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":296,"old":288,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,2,0,0,0],"matrix_rows":[37,33,2,36,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[8,18,33,68,3,4,2,128,256],"offset":0,"phase":0,"quadratic_rows":[3,1,4,0,0,0,0,0,0]},"new":672,"old":288,"rank":3,"right":{"linear_Z4":[2,0,1,1,1,2,2,0,0],"matrix_rows":[68,18,8,5,64,80,40,128,256],"offset":41,"phase":3,"quadratic_rows":[4,80,21,40,86,8,18,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,17,33,66,1,130,256,4,6],"offset":0,"phase":0,"quadratic_rows":[0,4,6,0,0,0,0,0,0]},"new":716,"old":288,"rank":3,"right":{"linear_Z4":[2,1,1,0,2,3,0,2,3],"matrix_rows":[18,424,384,5,22,16,256,416,64],"offset":123,"phase":0,"quadratic_rows":[4,6,7,160,0,40,0,264,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":296,"old":289,"rank":1,"right":{"linear_Z4":[1,0,1,3,3,0,0,3,2],"matrix_rows":[397,257,18,276,264,256,32,320,384],"offset":171,"phase":1,"quadratic_rows":[141,16,157,141,22,0,0,141,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[14,18,33,4,70,129,1,263,7],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":673,"old":289,"rank":3,"right":{"linear_Z4":[2,0,1,0,2,0,0,3,2],"matrix_rows":[196,471,157,325,320,64,336,96,384],"offset":0,"phase":0,"quadratic_rows":[14,149,143,149,10,0,0,142,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,16,39,71,129,7,262,2,4],"offset":0,"phase":0,"quadratic_rows":[7,1,1,0,0,0,0,0,0]},"new":717,"old":289,"rank":3,"right":{"linear_Z4":[0,0,2,3,3,2,0,3,3],"matrix_rows":[268,444,60,21,134,32,56,288,320],"offset":353,"phase":2,"quadratic_rows":[20,132,59,188,157,140,0,442,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":296,"old":290,"rank":1,"right":{"linear_Z4":[0,1,1,3,0,3,0,3,2],"matrix_rows":[398,33,258,292,264,16,256,320,384],"offset":205,"phase":1,"quadratic_rows":[32,142,174,142,0,37,0,142,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,16,39,71,135,2,261,1,4],"offset":0,"phase":0,"quadratic_rows":[2,7,2,0,0,0,0,0,0]},"new":680,"old":290,"rank":3,"right":{"linear_Z4":[0,0,2,3,0,3,0,3,1],"matrix_rows":[172,268,300,133,38,256,296,272,320],"offset":354,"phase":2,"quadratic_rows":[132,36,299,428,0,174,0,169,268]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,21,34,4,66,133,2,263,7],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":726,"old":290,"rank":3,"right":{"linear_Z4":[0,2,1,0,0,2,0,3,2],"matrix_rows":[487,196,174,320,326,64,80,352,384],"offset":0,"phase":0,"quadratic_rows":[166,13,143,166,0,9,0,141,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":296,"old":291,"rank":1,"right":{"linear_Z4":[0,3,3,0,2,0,0,0,0],"matrix_rows":[22,1,18,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,16,33,66,130,1,256,4,6],"offset":0,"phase":0,"quadratic_rows":[0,4,6,0,0,0,0,0,0]},"new":681,"old":291,"rank":3,"right":{"linear_Z4":[1,2,1,0,3,2,0,2,3],"matrix_rows":[33,408,384,37,6,32,256,400,64],"offset":123,"phase":0,"quadratic_rows":[5,4,7,144,24,0,0,264,384]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[9,16,34,68,4,3,1,128,256],"offset":0,"phase":0,"quadratic_rows":[2,3,4,0,0,0,0,0,0]},"new":727,"old":291,"rank":3,"right":{"linear_Z4":[0,2,1,1,2,1,2,0,0],"matrix_rows":[33,68,8,64,6,96,24,128,256],"offset":50,"phase":3,"quadratic_rows":[96,4,38,24,8,101,33,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":296,"old":292,"rank":1,"right":{"linear_Z4":[0,1,1,3,0,0,0,3,0],"matrix_rows":[158,1,274,276,264,256,32,64,384],"offset":45,"phase":0,"quadratic_rows":[0,398,398,414,392,0,0,414,158]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[8,19,35,67,5,128,256,1,7],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":704,"old":292,"rank":3,"right":{"linear_Z4":[0,0,0,2,2,0,0,1,3],"matrix_rows":[158,14,272,153,266,268,256,32,64],"offset":1,"phase":1,"quadratic_rows":[152,408,408,263,263,0,0,135,286]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,23,39,66,4,129,1,262,6],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":752,"old":292,"rank":3,"right":{"linear_Z4":[2,3,3,0,0,0,2,0,2],"matrix_rows":[71,398,150,64,322,324,256,96,384],"offset":67,"phase":1,"quadratic_rows":[6,31,31,134,134,0,0,24,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":296,"old":293,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,3,0,0,0],"matrix_rows":[6,33,66,100,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[32,70,102,0,0,37,6,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[12,18,34,68,128,258,2,1,5],"offset":0,"phase":0,"quadratic_rows":[5,2,1,0,0,0,0,0,0]},"new":705,"old":293,"rank":3,"right":{"linear_Z4":[3,3,3,0,0,2,0,2,3],"matrix_rows":[384,6,393,385,98,68,256,16,64],"offset":70,"phase":1,"quadratic_rows":[9,102,70,129,0,2,6,264,384]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,16,38,65,134,2,4,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":753,"old":293,"rank":3,"right":{"linear_Z4":[2,2,0,3,0,1,2,1,2],"matrix_rows":[392,36,68,9,38,64,256,80,384],"offset":248,"phase":3,"quadratic_rows":[8,36,2,137,0,34,0,136,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":296,"old":294,"rank":1,"right":{"linear_Z4":[3,0,3,0,3,0,0,0,0],"matrix_rows":[5,65,18,84,8,64,32,128,256],"offset":1,"phase":1,"quadratic_rows":[69,16,85,0,22,0,5,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,16,37,66,129,5,4,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":714,"old":294,"rank":3,"right":{"linear_Z4":[2,2,0,3,1,2,0,1,2],"matrix_rows":[116,392,68,21,10,32,256,96,384],"offset":217,"phase":1,"quadratic_rows":[20,8,1,138,17,0,0,136,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,20,33,68,129,256,1,2,6],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":760,"old":294,"rank":3,"right":{"linear_Z4":[3,3,3,0,2,0,0,2,3],"matrix_rows":[5,384,394,81,386,68,256,64,32],"offset":69,"phase":1,"quadratic_rows":[85,10,69,130,1,0,5,264,384]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":296,"old":295,"rank":1,"right":{"linear_Z4":[1,0,1,3,0,0,0,3,0],"matrix_rows":[173,289,2,292,264,16,256,64,384],"offset":75,"phase":0,"quadratic_rows":[397,0,397,429,0,392,0,429,173]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[15,17,39,66,129,4,1,262,6],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":715,"old":295,"rank":3,"right":{"linear_Z4":[3,2,3,0,0,0,2,0,2],"matrix_rows":[71,397,165,321,64,324,256,80,384],"offset":67,"phase":1,"quadratic_rows":[47,5,47,133,0,133,0,40,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[11,16,35,67,128,6,256,2,7],"offset":0,"phase":0,"quadratic_rows":[5,2,5,0,0,0,0,0,0]},"new":761,"old":295,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,2,0,1,3],"matrix_rows":[13,173,288,265,170,268,256,16,64],"offset":2,"phase":1,"quadratic_rows":[424,168,424,263,0,263,0,135,301]}},{"left":{"linear_Z4":[2,2,2,3,3,0,0,0,0],"matrix_rows":[33,66,4,136,262,5,3,16,24],"offset":0,"phase":0,"quadratic_rows":[6,5,3,24,24,0,0,0,0]},"new":1,"old":296,"rank":5,"right":{"linear_Z4":[0,2,2,0,0,0,0,0,1],"matrix_rows":[65,66,68,8,384,32,96,256,112],"offset":431,"phase":1,"quadratic_rows":[96,32,64,256,0,3,5,256,392]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[18,35,65,132,258,1,3,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":414,"old":296,"rank":4,"right":{"linear_Z4":[1,1,2,0,0,2,2,0,1],"matrix_rows":[6,5,8,384,103,64,32,256,112],"offset":389,"phase":0,"quadratic_rows":[99,35,64,256,0,3,5,256,392]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,34,67,132,258,1,3,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":416,"old":296,"rank":4,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,1],"matrix_rows":[5,6,8,384,32,96,68,256,112],"offset":484,"phase":1,"quadratic_rows":[36,100,67,256,0,3,6,256,392]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,35,66,132,258,3,1,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":417,"old":296,"rank":4,"right":{"linear_Z4":[0,0,2,0,0,2,0,0,1],"matrix_rows":[3,6,8,384,64,34,96,256,112],"offset":484,"phase":1,"quadratic_rows":[66,37,98,256,0,6,5,256,392]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[19,33,66,132,259,2,1,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":419,"old":296,"rank":4,"right":{"linear_Z4":[2,0,0,0,0,2,2,0,1],"matrix_rows":[3,5,8,384,97,64,32,256,112],"offset":388,"phase":3,"quadratic_rows":[102,65,33,256,0,5,3,256,392]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":305,"old":297,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,2,0,2,0],"matrix_rows":[144,33,34,4,8,176,128,64,256],"offset":0,"phase":0,"quadratic_rows":[32,32,0,0,48,19,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":306,"old":297,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":307,"old":297,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":308,"old":298,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":309,"old":298,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":310,"old":298,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":308,"old":299,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,2,0,0,2],"matrix_rows":[272,33,34,4,8,304,256,64,128],"offset":0,"phase":0,"quadratic_rows":[32,32,0,0,48,19,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":311,"old":299,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":312,"old":299,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":305,"old":300,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":313,"old":300,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":314,"old":300,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":309,"old":301,"rank":1,"right":{"linear_Z4":[1,1,0,1,1,1,2,0,2],"matrix_rows":[315,257,258,4,328,336,352,256,128],"offset":0,"phase":0,"quadratic_rows":[59,59,0,123,123,123,56,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":311,"old":301,"rank":1,"right":{"linear_Z4":[1,1,0,1,1,1,2,0,2],"matrix_rows":[315,321,322,4,328,272,288,256,128],"offset":0,"phase":0,"quadratic_rows":[123,123,0,123,59,59,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":315,"old":301,"rank":1,"right":{"linear_Z4":[1,1,0,1,1,2,1,0,2],"matrix_rows":[347,289,290,4,264,304,256,320,128],"offset":0,"phase":0,"quadratic_rows":[123,123,0,91,123,19,91,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":306,"old":302,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,2,2,0],"matrix_rows":[136,1,2,4,200,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,72,64,64,56,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":313,"old":302,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,2,2,0],"matrix_rows":[136,65,66,4,200,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[64,64,0,72,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":316,"old":302,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":307,"old":303,"rank":1,"right":{"linear_Z4":[1,1,0,1,1,1,2,2,0],"matrix_rows":[187,193,194,4,200,144,160,128,256],"offset":0,"phase":0,"quadratic_rows":[123,123,0,123,59,59,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":314,"old":303,"rank":1,"right":{"linear_Z4":[1,1,0,1,1,1,2,2,0],"matrix_rows":[187,129,130,4,200,208,224,128,256],"offset":0,"phase":0,"quadratic_rows":[59,59,0,123,123,123,56,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":316,"old":303,"rank":1,"right":{"linear_Z4":[1,1,0,1,1,2,1,2,0],"matrix_rows":[219,161,162,4,136,176,128,192,256],"offset":0,"phase":0,"quadratic_rows":[123,123,0,91,123,19,91,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":310,"old":304,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,2,0,2],"matrix_rows":[264,65,66,4,328,16,32,256,128],"offset":0,"phase":0,"quadratic_rows":[64,64,0,72,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":312,"old":304,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,2,0,2],"matrix_rows":[264,1,2,4,328,80,96,256,128],"offset":0,"phase":0,"quadratic_rows":[0,0,0,72,64,64,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":315,"old":304,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":563,"old":305,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,0,2],"matrix_rows":[259,257,258,4,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":565,"old":305,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,0,3,0,2],"matrix_rows":[328,1,2,4,264,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,72,0,0,72,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[6,11,17,33,65,128,3,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":643,"old":305,"rank":2,"right":{"linear_Z4":[3,2,3,3,3,0,2,0,2],"matrix_rows":[30,323,321,66,260,264,272,32,128],"offset":3,"phase":2,"quadratic_rows":[3,285,286,286,286,0,0,0,30]}},{"left":{"linear_Z4":[2,2,3,2,0,0,0,0,0],"matrix_rows":[16,35,72,136,257,2,12,3,4],"offset":0,"phase":0,"quadratic_rows":[0,0,12,4,0,0,0,0,0]},"new":647,"old":305,"rank":4,"right":{"linear_Z4":[2,0,3,3,1,0,3,2,0],"matrix_rows":[178,34,320,76,19,128,324,328,160],"offset":281,"phase":0,"quadratic_rows":[18,1,268,268,17,0,320,0,76]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":318,"old":306,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,0,2],"matrix_rows":[259,257,258,4,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":324,"old":306,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,3,0,0,2],"matrix_rows":[304,1,2,4,8,272,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,48,48,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":320,"old":307,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,3,0,0,2],"matrix_rows":[304,1,2,4,8,272,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,48,48,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":322,"old":307,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,0,2],"matrix_rows":[259,257,258,4,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":563,"old":308,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,2,0],"matrix_rows":[131,129,130,4,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":564,"old":308,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,0,3,2,0],"matrix_rows":[200,1,2,4,136,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,72,0,0,72,0,0]}},{"left":{"linear_Z4":[2,2,2,2,0,0,0,0,0],"matrix_rows":[18,35,4,8,66,131,257,1,3],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":642,"old":308,"rank":4,"right":{"linear_Z4":[3,3,2,2,3,0,1,2,3],"matrix_rows":[322,273,4,8,387,256,400,288,192],"offset":14,"phase":3,"quadratic_rows":[147,451,0,0,145,0,450,83,322]}},{"left":{"linear_Z4":[2,2,3,2,0,0,0,0,0],"matrix_rows":[16,35,72,136,257,2,12,4,3],"offset":0,"phase":0,"quadratic_rows":[0,0,12,4,0,0,0,0,0]},"new":645,"old":308,"rank":4,"right":{"linear_Z4":[2,0,3,3,1,0,3,0,2],"matrix_rows":[306,34,192,76,19,256,196,200,288],"offset":281,"phase":0,"quadratic_rows":[18,1,140,140,17,0,192,76,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":318,"old":309,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,3,0,2,0],"matrix_rows":[176,1,2,4,8,144,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,48,48,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":323,"old":309,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,2,0],"matrix_rows":[131,129,130,4,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":319,"old":310,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,2,0],"matrix_rows":[131,129,130,4,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":322,"old":310,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,3,0,2,0],"matrix_rows":[176,1,2,4,8,144,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,48,48,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":320,"old":311,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,3,0,2,0],"matrix_rows":[176,1,2,4,8,144,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,48,48,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":321,"old":311,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,2,0],"matrix_rows":[131,129,130,4,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":317,"old":312,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,2,0],"matrix_rows":[131,129,130,4,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":324,"old":312,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,3,0,2,0],"matrix_rows":[176,1,2,4,8,144,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,48,48,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":319,"old":313,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,0,2],"matrix_rows":[259,257,258,4,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":321,"old":313,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,3,0,0,2],"matrix_rows":[304,1,2,4,8,272,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,48,48,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":317,"old":314,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,3,0,0,2],"matrix_rows":[304,1,2,4,8,272,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,48,48,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":323,"old":314,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,0,2],"matrix_rows":[259,257,258,4,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":562,"old":315,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,0,3,2,0],"matrix_rows":[200,1,2,4,136,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,72,0,0,72,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":565,"old":315,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,2,0],"matrix_rows":[131,129,130,4,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,32,65,1,130,2,256],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":641,"old":315,"rank":2,"right":{"linear_Z4":[3,3,0,0,3,0,1,2,0],"matrix_rows":[3,64,33,50,20,8,32,192,256],"offset":1,"phase":1,"quadratic_rows":[35,51,16,0,22,3,192,64,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,16,34,65,128,258,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":646,"old":315,"rank":2,"right":{"linear_Z4":[3,0,2,3,3,0,1,2,2],"matrix_rows":[145,328,129,2,12,256,144,32,320],"offset":49,"phase":3,"quadratic_rows":[17,0,8,76,17,0,72,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":562,"old":316,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,0,3,0,2],"matrix_rows":[328,1,2,4,264,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,72,0,0,72,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":564,"old":316,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,0,2],"matrix_rows":[259,257,258,4,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,2,3,0,0,0,0,0],"matrix_rows":[16,35,4,72,1,2,128,256,8],"offset":0,"phase":0,"quadratic_rows":[3,3,0,8,0,0,0,0,0]},"new":640,"old":316,"rank":4,"right":{"linear_Z4":[2,0,2,1,3,3,0,0,2],"matrix_rows":[50,2,4,8,19,32,264,64,128],"offset":55,"phase":1,"quadratic_rows":[18,1,0,264,49,48,0,0,8]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,16,34,65,128,258,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":644,"old":316,"rank":2,"right":{"linear_Z4":[3,0,2,3,3,0,1,2,2],"matrix_rows":[273,200,257,2,12,128,272,32,192],"offset":49,"phase":3,"quadratic_rows":[17,0,8,76,17,0,72,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":325,"old":317,"rank":1,"right":{"linear_Z4":[3,3,0,3,3,2,0,0,2],"matrix_rows":[283,289,290,4,264,304,256,320,128],"offset":1,"phase":1,"quadratic_rows":[59,59,0,27,59,19,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[11,18,1,32,64,132,260,2,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":674,"old":317,"rank":3,"right":{"linear_Z4":[2,0,3,2,2,1,0,3,2],"matrix_rows":[129,135,288,133,128,40,16,256,320],"offset":484,"phase":1,"quadratic_rows":[130,5,6,32,0,40,0,129,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,19,2,32,68,128,260,1,4],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":724,"old":317,"rank":3,"right":{"linear_Z4":[0,2,3,2,1,2,0,3,2],"matrix_rows":[135,130,272,128,134,24,256,32,320],"offset":484,"phase":1,"quadratic_rows":[6,129,5,16,24,0,0,130,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":325,"old":318,"rank":1,"right":{"linear_Z4":[3,3,0,3,3,2,0,2,0],"matrix_rows":[155,161,162,4,136,176,128,192,256],"offset":1,"phase":1,"quadratic_rows":[59,59,0,27,59,19,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[11,18,1,32,64,132,260,4,2],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":675,"old":318,"rank":3,"right":{"linear_Z4":[2,0,3,2,2,1,0,2,3],"matrix_rows":[257,263,160,261,256,40,16,128,192],"offset":484,"phase":1,"quadratic_rows":[258,5,6,32,0,40,0,0,257]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,19,2,32,68,128,260,4,1],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":725,"old":318,"rank":3,"right":{"linear_Z4":[0,2,3,2,1,2,0,2,3],"matrix_rows":[263,258,144,256,262,24,128,32,192],"offset":484,"phase":1,"quadratic_rows":[6,257,5,16,24,0,0,0,258]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":325,"old":319,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[12,22,7,34,3,2,64,128,256],"offset":0,"phase":0,"quadratic_rows":[5,0,1,0,0,0,0,0,0]},"new":682,"old":319,"rank":3,"right":{"linear_Z4":[3,0,3,1,0,3,0,0,0],"matrix_rows":[20,42,39,21,54,40,64,128,256],"offset":4,"phase":1,"quadratic_rows":[51,57,20,10,39,51,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[13,20,7,33,1,3,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":718,"old":319,"rank":3,"right":{"linear_Z4":[0,3,3,1,3,0,0,0,0],"matrix_rows":[25,36,23,53,38,24,64,128,256],"offset":4,"phase":1,"quadratic_rows":[58,51,36,9,51,23,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":325,"old":320,"rank":1,"right":{"linear_Z4":[3,3,0,0,3,2,0,0,0],"matrix_rows":[19,289,290,4,8,304,256,64,384],"offset":1,"phase":1,"quadratic_rows":[307,307,0,0,307,19,0,0,19]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,17,3,34,64,132,2,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":683,"old":320,"rank":3,"right":{"linear_Z4":[3,3,1,0,0,0,0,0,2],"matrix_rows":[15,12,288,69,78,64,16,256,384],"offset":3,"phase":2,"quadratic_rows":[75,67,12,5,0,0,3,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[10,18,3,33,68,128,1,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":719,"old":320,"rank":3,"right":{"linear_Z4":[3,3,1,0,0,0,0,0,2],"matrix_rows":[12,15,272,77,70,64,256,32,384],"offset":3,"phase":2,"quadratic_rows":[67,75,12,6,0,0,3,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":325,"old":321,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,2,0,0,2],"matrix_rows":[272,33,34,4,8,304,256,64,128],"offset":0,"phase":0,"quadratic_rows":[32,32,0,0,48,19,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,17,36,65,130,4,1,256,6],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":712,"old":321,"rank":3,"right":{"linear_Z4":[3,3,1,2,0,2,0,0,3],"matrix_rows":[3,16,308,65,74,20,64,256,128],"offset":167,"phase":1,"quadratic_rows":[67,75,292,2,32,276,3,0,292]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,17,36,65,132,2,1,256,6],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":754,"old":321,"rank":3,"right":{"linear_Z4":[3,3,3,2,0,2,0,0,3],"matrix_rows":[3,288,308,73,66,292,64,256,128],"offset":133,"phase":1,"quadratic_rows":[75,67,20,1,36,272,3,0,288]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":325,"old":322,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,2,0,2,0],"matrix_rows":[144,33,34,4,8,176,128,64,256],"offset":0,"phase":0,"quadratic_rows":[32,32,0,0,48,19,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,17,36,65,130,4,1,6,256],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":713,"old":322,"rank":3,"right":{"linear_Z4":[3,3,1,2,0,2,0,3,0],"matrix_rows":[3,16,180,65,74,20,64,128,256],"offset":167,"phase":1,"quadratic_rows":[67,75,164,2,32,148,3,164,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,17,36,65,132,2,1,6,256],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":755,"old":322,"rank":3,"right":{"linear_Z4":[3,3,3,2,0,2,0,3,0],"matrix_rows":[3,160,180,73,66,164,64,128,256],"offset":133,"phase":1,"quadratic_rows":[75,67,20,1,36,144,3,160,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":325,"old":323,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,2,0,0,0],"matrix_rows":[24,33,34,4,72,112,64,128,256],"offset":1,"phase":1,"quadratic_rows":[32,32,0,88,120,19,24,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,17,36,64,134,4,2,257,1],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":706,"old":323,"rank":3,"right":{"linear_Z4":[0,0,1,2,0,3,3,0,2],"matrix_rows":[258,16,100,1,256,20,56,64,384],"offset":230,"phase":1,"quadratic_rows":[0,0,116,48,108,124,116,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,16,36,64,132,6,2,257,1],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":762,"old":323,"rank":3,"right":{"linear_Z4":[0,0,1,2,3,2,2,0,2],"matrix_rows":[257,96,20,256,2,100,56,64,384],"offset":192,"phase":2,"quadratic_rows":[0,0,116,48,124,28,20,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":325,"old":324,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,2,0,0,2],"matrix_rows":[24,33,34,4,264,304,256,320,384],"offset":0,"phase":0,"quadratic_rows":[32,32,0,280,312,19,0,0,24]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[15,17,5,32,67,2,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,4,6,0,0,0,0,0,0]},"new":707,"old":324,"rank":3,"right":{"linear_Z4":[3,1,1,0,2,3,0,0,3],"matrix_rows":[307,293,17,21,306,56,256,320,384],"offset":211,"phase":3,"quadratic_rows":[19,3,308,48,301,316,0,0,308]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[10,23,6,32,65,3,130,258,2],"offset":0,"phase":0,"quadratic_rows":[4,0,5,0,0,0,0,0,0]},"new":763,"old":324,"rank":3,"right":{"linear_Z4":[1,1,1,0,3,0,0,0,0],"matrix_rows":[22,307,290,305,294,56,256,320,384],"offset":222,"phase":2,"quadratic_rows":[3,291,308,48,316,30,0,0,22]}},{"left":{"linear_Z4":[2,2,2,3,3,0,0,0,0],"matrix_rows":[33,2,4,72,144,19,11,259,3],"offset":0,"phase":0,"quadratic_rows":[24,24,0,11,19,0,0,0,0]},"new":1,"old":325,"rank":5,"right":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[353,98,4,264,272,256,320,288,384],"offset":254,"phase":1,"quadratic_rows":[96,96,0,64,32,19,11,0,0]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[18,35,1,68,136,11,7,259,3],"offset":0,"phase":0,"quadratic_rows":[15,15,7,11,0,0,0,0,0]},"new":414,"old":325,"rank":4,"right":{"linear_Z4":[1,3,0,0,0,2,2,0,1],"matrix_rows":[358,101,264,272,263,256,320,288,384],"offset":204,"phase":0,"quadratic_rows":[355,355,0,64,32,19,11,0,259]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,2,35,72,132,7,11,259,3],"offset":0,"phase":0,"quadratic_rows":[15,15,7,11,0,0,0,0,0]},"new":416,"old":325,"rank":4,"right":{"linear_Z4":[2,2,2,0,1,0,0,0,3],"matrix_rows":[117,374,272,264,256,276,320,288,384],"offset":254,"phase":3,"quadratic_rows":[372,372,19,64,55,19,11,0,259]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[22,35,5,73,129,2,10,259,3],"offset":0,"phase":0,"quadratic_rows":[15,15,7,11,0,0,0,0,0]},"new":418,"old":325,"rank":4,"right":{"linear_Z4":[2,0,0,2,3,2,2,0,3],"matrix_rows":[382,125,283,264,287,256,320,288,384],"offset":200,"phase":3,"quadratic_rows":[120,120,24,327,55,19,11,0,264]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,2,35,68,136,11,7,259,3],"offset":0,"phase":0,"quadratic_rows":[15,15,7,11,0,0,0,0,0]},"new":420,"old":325,"rank":4,"right":{"linear_Z4":[2,2,2,1,0,0,0,0,3],"matrix_rows":[109,366,264,272,256,268,320,288,384],"offset":254,"phase":3,"quadratic_rows":[364,364,11,79,32,19,11,0,259]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":334,"old":326,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":335,"old":326,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":336,"old":326,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":337,"old":327,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":338,"old":327,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":339,"old":327,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":337,"old":328,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,2,0,2,0],"matrix_rows":[132,33,2,164,40,16,128,64,256],"offset":0,"phase":0,"quadratic_rows":[32,0,36,32,0,13,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":340,"old":328,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":341,"old":328,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":334,"old":329,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,2,0,0,2],"matrix_rows":[260,33,2,292,40,16,256,64,128],"offset":0,"phase":0,"quadratic_rows":[32,0,36,32,0,13,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":342,"old":329,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":343,"old":329,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":338,"old":330,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,2,0],"matrix_rows":[130,65,194,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[64,66,0,64,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":340,"old":330,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,2,0],"matrix_rows":[130,1,194,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,66,64,0,0,64,38,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":344,"old":330,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":335,"old":331,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,0,2],"matrix_rows":[258,65,322,4,72,16,32,256,128],"offset":0,"phase":0,"quadratic_rows":[64,66,0,64,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":342,"old":331,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,0,2],"matrix_rows":[258,1,322,68,8,16,96,256,128],"offset":0,"phase":0,"quadratic_rows":[0,66,64,0,0,64,38,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":345,"old":331,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":336,"old":332,"rank":1,"right":{"linear_Z4":[1,1,1,1,0,1,2,0,2],"matrix_rows":[303,257,322,324,264,16,352,256,128],"offset":0,"phase":0,"quadratic_rows":[47,111,111,47,0,111,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":343,"old":332,"rank":1,"right":{"linear_Z4":[1,1,1,1,0,1,2,0,2],"matrix_rows":[303,321,322,260,328,16,288,256,128],"offset":0,"phase":0,"quadratic_rows":[111,111,47,111,0,47,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":345,"old":332,"rank":1,"right":{"linear_Z4":[1,1,1,1,0,2,1,0,2],"matrix_rows":[335,289,258,292,296,16,256,320,128],"offset":0,"phase":0,"quadratic_rows":[111,79,111,111,0,13,79,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":339,"old":333,"rank":1,"right":{"linear_Z4":[1,1,1,1,0,1,2,2,0],"matrix_rows":[175,129,194,196,136,16,224,128,256],"offset":0,"phase":0,"quadratic_rows":[47,111,111,47,0,111,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":341,"old":333,"rank":1,"right":{"linear_Z4":[1,1,1,1,0,1,2,2,0],"matrix_rows":[175,193,194,132,200,16,160,128,256],"offset":0,"phase":0,"quadratic_rows":[111,111,47,111,0,47,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":344,"old":333,"rank":1,"right":{"linear_Z4":[1,1,1,1,0,2,1,2,0],"matrix_rows":[207,161,130,164,168,16,128,192,256],"offset":0,"phase":0,"quadratic_rows":[111,79,111,111,0,13,79,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":566,"old":334,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,2,0],"matrix_rows":[137,129,2,4,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":567,"old":334,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,3,2,0],"matrix_rows":[194,1,130,4,8,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,66,0,0,0,0,66,0,0]}},{"left":{"linear_Z4":[2,3,2,2,0,0,0,0,0],"matrix_rows":[18,35,66,129,4,257,8,3,1],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":649,"old":334,"rank":4,"right":{"linear_Z4":[1,2,1,0,2,0,2,2,0],"matrix_rows":[266,15,16,64,393,130,388,256,288],"offset":12,"phase":2,"quadratic_rows":[391,389,399,388,0,0,0,15,15]}},{"left":{"linear_Z4":[2,3,3,2,0,0,0,0,0],"matrix_rows":[16,40,69,129,264,4,10,2,1],"offset":0,"phase":0,"quadratic_rows":[4,10,5,2,0,0,0,0,0]},"new":651,"old":334,"rank":4,"right":{"linear_Z4":[2,3,0,3,3,3,3,0,1],"matrix_rows":[300,192,260,82,13,194,288,256,208],"offset":93,"phase":1,"quadratic_rows":[12,146,257,41,146,40,192,82,260]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":347,"old":335,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,2,0],"matrix_rows":[137,129,2,4,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":353,"old":335,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,3,0,2,0],"matrix_rows":[164,1,2,132,8,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,36,0,0,36,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":349,"old":336,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,3,0,2,0],"matrix_rows":[164,1,2,132,8,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,36,0,0,36,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":351,"old":336,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,2,0],"matrix_rows":[137,129,2,4,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":486,"old":337,"rank":1,"right":{"linear_Z4":[0,3,0,0,3,0,0,0,2],"matrix_rows":[274,1,258,4,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":488,"old":337,"rank":1,"right":{"linear_Z4":[2,0,2,1,0,0,0,2,0],"matrix_rows":[136,1,2,12,128,16,160,64,256],"offset":91,"phase":1,"quadratic_rows":[0,0,8,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":566,"old":337,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,0,2],"matrix_rows":[265,257,2,4,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[20,44,68,131,10,259,2,3,7],"offset":0,"phase":0,"quadratic_rows":[5,14,15,14,0,0,0,0,0]},"new":648,"old":337,"rank":4,"right":{"linear_Z4":[3,2,3,0,2,0,3,0,3],"matrix_rows":[392,472,215,458,393,474,388,128,160],"offset":466,"phase":1,"quadratic_rows":[351,197,343,321,197,0,351,18,333]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":347,"old":338,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,0,2],"matrix_rows":[265,257,2,4,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":352,"old":338,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,3,0,0,2],"matrix_rows":[292,1,2,260,8,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,36,0,0,36,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":348,"old":339,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,3,0,0,2],"matrix_rows":[292,1,2,260,8,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,36,0,0,36,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":351,"old":339,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,0,2],"matrix_rows":[265,257,2,4,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":349,"old":340,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,0,2],"matrix_rows":[265,257,2,4,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":350,"old":340,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,3,0,0,2],"matrix_rows":[292,1,2,260,8,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,36,0,0,36,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":346,"old":341,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,3,0,0,2],"matrix_rows":[292,1,2,260,8,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,36,0,0,36,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":353,"old":341,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,0,2],"matrix_rows":[265,257,2,4,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":348,"old":342,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,2,0],"matrix_rows":[137,129,2,4,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":350,"old":342,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,3,0,2,0],"matrix_rows":[164,1,2,132,8,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,36,0,0,36,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":346,"old":343,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,3,0,2,0],"matrix_rows":[164,1,2,132,8,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,36,0,0,36,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":352,"old":343,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,2,0],"matrix_rows":[137,129,2,4,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":462,"old":344,"rank":1,"right":{"linear_Z4":[0,0,3,3,2,0,0,0,0],"matrix_rows":[28,1,2,20,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":463,"old":344,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,3,0,2],"matrix_rows":[322,1,258,4,8,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,66,0,0,0,0,66,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":567,"old":344,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,0,2],"matrix_rows":[265,257,2,4,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,3,0,0,0,0,0],"matrix_rows":[17,34,65,128,4,256,8,10,1],"offset":0,"phase":0,"quadratic_rows":[0,10,0,10,0,0,0,0,0]},"new":650,"old":344,"rank":4,"right":{"linear_Z4":[3,0,3,0,2,0,0,1,2],"matrix_rows":[261,2,16,192,257,128,260,8,32],"offset":39,"phase":2,"quadratic_rows":[5,128,5,0,0,0,128,194,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":463,"old":345,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,3,2,0],"matrix_rows":[194,1,130,4,8,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,66,0,0,0,0,66,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":467,"old":345,"rank":1,"right":{"linear_Z4":[3,0,3,0,2,0,0,0,0],"matrix_rows":[21,17,2,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":485,"old":345,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,2,0],"matrix_rows":[140,1,2,132,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":489,"old":345,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,2,0],"matrix_rows":[133,129,2,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":354,"old":346,"rank":1,"right":{"linear_Z4":[3,0,3,3,0,2,0,0,0],"matrix_rows":[13,289,2,292,296,16,256,64,384],"offset":1,"phase":1,"quadratic_rows":[301,0,301,301,0,13,0,0,13]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,17,32,66,3,132,2,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":688,"old":346,"rank":3,"right":{"linear_Z4":[3,3,0,0,1,0,0,0,2],"matrix_rows":[27,24,288,81,90,4,64,256,384],"offset":3,"phase":2,"quadratic_rows":[75,67,0,17,24,0,3,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[10,19,36,66,1,128,3,260,4],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":720,"old":346,"rank":3,"right":{"linear_Z4":[3,1,0,3,2,0,0,0,2],"matrix_rows":[18,9,260,83,64,256,88,32,384],"offset":3,"phase":2,"quadratic_rows":[91,3,0,89,9,0,9,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":354,"old":347,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[10,18,35,69,4,7,133,261,5],"offset":0,"phase":0,"quadratic_rows":[5,6,7,0,0,0,0,0,0]},"new":689,"old":347,"rank":3,"right":{"linear_Z4":[3,3,0,2,1,1,0,0,2],"matrix_rows":[20,23,56,297,290,60,256,320,384],"offset":221,"phase":2,"quadratic_rows":[319,311,59,37,23,47,0,0,3]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[15,19,3,36,5,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[2,5,2,0,0,0,0,0,0]},"new":721,"old":347,"rank":3,"right":{"linear_Z4":[3,0,2,3,1,2,0,0,0],"matrix_rows":[7,55,29,53,6,56,64,128,256],"offset":6,"phase":2,"quadratic_rows":[25,52,26,45,55,26,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":354,"old":348,"rank":1,"right":{"linear_Z4":[3,3,3,3,0,2,0,0,2],"matrix_rows":[271,289,258,292,296,16,256,320,128],"offset":1,"phase":1,"quadratic_rows":[47,15,47,47,0,13,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[13,16,32,68,1,130,258,4,2],"offset":0,"phase":0,"quadratic_rows":[5,0,1,0,0,0,0,0,0]},"new":696,"old":348,"rank":3,"right":{"linear_Z4":[2,2,2,0,3,1,0,3,2],"matrix_rows":[129,288,153,145,34,4,128,256,320],"offset":434,"phase":1,"quadratic_rows":[136,32,0,17,24,34,0,129,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,16,34,69,4,128,258,1,2],"offset":0,"phase":0,"quadratic_rows":[4,0,5,0,0,0,0,0,0]},"new":728,"old":348,"rank":3,"right":{"linear_Z4":[0,2,1,2,3,2,0,3,2],"matrix_rows":[153,260,136,128,6,256,152,32,320],"offset":434,"phase":1,"quadratic_rows":[24,4,6,129,17,0,0,136,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":354,"old":349,"rank":1,"right":{"linear_Z4":[3,3,3,3,0,2,0,2,0],"matrix_rows":[143,161,130,164,168,16,128,192,256],"offset":1,"phase":1,"quadratic_rows":[47,15,47,47,0,13,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[13,16,32,68,1,130,258,2,4],"offset":0,"phase":0,"quadratic_rows":[5,0,1,0,0,0,0,0,0]},"new":697,"old":349,"rank":3,"right":{"linear_Z4":[2,2,2,0,3,1,0,2,3],"matrix_rows":[257,160,281,273,34,4,256,128,192],"offset":434,"phase":1,"quadratic_rows":[264,32,0,17,24,34,0,0,257]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,16,34,69,4,128,258,2,1],"offset":0,"phase":0,"quadratic_rows":[4,0,5,0,0,0,0,0,0]},"new":729,"old":349,"rank":3,"right":{"linear_Z4":[0,2,1,2,3,2,0,2,3],"matrix_rows":[281,132,264,256,6,128,280,32,192],"offset":434,"phase":1,"quadratic_rows":[24,4,6,257,17,0,0,0,264]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":354,"old":350,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,2,0,0,2],"matrix_rows":[6,33,258,292,40,16,256,320,384],"offset":0,"phase":0,"quadratic_rows":[32,262,294,32,0,13,0,0,6]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[14,18,34,7,1,69,133,261,5],"offset":0,"phase":0,"quadratic_rows":[7,3,5,0,0,0,0,0,0]},"new":704,"old":350,"rank":3,"right":{"linear_Z4":[0,3,3,1,1,2,0,0,2],"matrix_rows":[56,23,17,57,266,300,256,320,384],"offset":245,"phase":2,"quadratic_rows":[62,287,319,47,23,13,0,0,6]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[14,16,35,71,4,5,134,262,6],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":736,"old":350,"rank":3,"right":{"linear_Z4":[2,0,3,3,2,1,0,0,1],"matrix_rows":[28,25,301,293,38,256,312,320,384],"offset":236,"phase":1,"quadratic_rows":[16,36,310,24,301,310,0,0,308]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":354,"old":351,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,2,0,0,0],"matrix_rows":[6,33,66,100,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[32,70,102,32,0,13,6,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,18,34,68,3,129,1,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":705,"old":351,"rank":3,"right":{"linear_Z4":[0,3,3,0,1,0,0,0,2],"matrix_rows":[48,54,264,1,114,84,256,64,384],"offset":3,"phase":2,"quadratic_rows":[0,70,102,0,48,20,6,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,16,38,64,134,2,4,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":737,"old":351,"rank":3,"right":{"linear_Z4":[0,2,0,0,2,2,2,0,2],"matrix_rows":[257,20,116,256,38,64,8,112,384],"offset":48,"phase":2,"quadratic_rows":[0,36,2,0,0,2,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":354,"old":352,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,2,0,0,2],"matrix_rows":[260,33,2,292,40,16,256,64,128],"offset":0,"phase":0,"quadratic_rows":[32,0,36,32,0,13,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,16,38,65,2,132,257,1,4],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":712,"old":352,"rank":3,"right":{"linear_Z4":[2,2,2,1,3,0,0,2,3],"matrix_rows":[136,260,308,1,10,276,128,256,192],"offset":345,"phase":1,"quadratic_rows":[0,8,288,10,48,20,0,0,260]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,17,34,65,130,4,1,256,6],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":744,"old":352,"rank":3,"right":{"linear_Z4":[3,2,0,3,3,2,0,0,3],"matrix_rows":[9,308,288,67,64,256,72,304,128],"offset":35,"phase":1,"quadratic_rows":[75,1,48,73,20,260,9,0,288]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":354,"old":353,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,2,0,2,0],"matrix_rows":[132,33,2,164,40,16,128,64,256],"offset":0,"phase":0,"quadratic_rows":[32,0,36,32,0,13,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,16,38,65,2,132,257,4,1],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":713,"old":353,"rank":3,"right":{"linear_Z4":[2,2,2,1,3,0,0,3,2],"matrix_rows":[264,132,180,1,10,148,256,128,320],"offset":345,"phase":1,"quadratic_rows":[0,8,160,10,48,20,0,132,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,17,34,65,130,4,1,6,256],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":745,"old":353,"rank":3,"right":{"linear_Z4":[3,2,0,3,3,2,0,3,0],"matrix_rows":[9,180,160,67,64,128,72,176,256],"offset":35,"phase":1,"quadratic_rows":[75,1,48,73,20,132,9,160,0]}},{"left":{"linear_Z4":[2,3,3,2,2,0,0,0,0],"matrix_rows":[33,66,132,8,16,13,11,265,9],"offset":0,"phase":0,"quadratic_rows":[6,11,13,6,0,0,0,0,0]},"new":1,"old":354,"rank":5,"right":{"linear_Z4":[2,0,0,2,2,0,0,0,0],"matrix_rows":[353,258,260,104,16,256,320,288,384],"offset":254,"phase":1,"quadratic_rows":[96,64,32,96,0,13,11,0,0]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[24,34,68,137,1,13,11,265,9],"offset":0,"phase":0,"quadratic_rows":[15,11,13,15,0,0,0,0,0]},"new":415,"old":354,"rank":4,"right":{"linear_Z4":[1,0,0,3,0,2,2,0,1],"matrix_rows":[376,258,260,113,281,320,288,256,384],"offset":102,"phase":0,"quadratic_rows":[361,64,32,361,0,13,11,0,265]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,34,77,8,4,137,11,265,9],"offset":0,"phase":0,"quadratic_rows":[15,11,13,15,0,0,0,0,0]},"new":416,"old":354,"rank":4,"right":{"linear_Z4":[0,0,1,0,2,0,0,0,1],"matrix_rows":[341,258,260,92,256,320,276,288,384],"offset":51,"phase":0,"quadratic_rows":[84,64,285,84,13,0,11,0,260]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,43,68,8,2,13,137,265,9],"offset":0,"phase":0,"quadratic_rows":[15,11,13,15,0,0,0,0,0]},"new":417,"old":354,"rank":4,"right":{"linear_Z4":[0,1,0,0,2,0,0,0,1],"matrix_rows":[307,258,260,58,256,274,288,320,384],"offset":85,"phase":0,"quadratic_rows":[50,283,32,50,11,13,0,0,258]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[24,35,69,137,1,12,10,265,9],"offset":0,"phase":0,"quadratic_rows":[15,11,13,15,0,0,0,0,0]},"new":418,"old":354,"rank":4,"right":{"linear_Z4":[1,1,1,3,0,2,2,0,1],"matrix_rows":[382,258,260,119,287,320,288,256,384],"offset":102,"phase":0,"quadratic_rows":[361,86,54,361,6,13,11,0,265]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":363,"old":355,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":364,"old":355,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,2,0,0,0],"matrix_rows":[49,33,2,4,8,48,64,128,256],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":365,"old":355,"rank":1,"right":{"linear_Z4":[0,0,3,3,2,0,0,0,0],"matrix_rows":[28,1,2,20,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":366,"old":356,"rank":1,"right":{"linear_Z4":[0,1,0,1,1,2,1,1,2],"matrix_rows":[474,33,258,36,296,272,256,320,384],"offset":0,"phase":0,"quadratic_rows":[32,218,32,250,218,13,218,218,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":367,"old":356,"rank":1,"right":{"linear_Z4":[0,1,0,1,1,1,2,1,2],"matrix_rows":[442,1,258,4,328,336,352,256,384],"offset":0,"phase":0,"quadratic_rows":[0,186,0,250,250,250,56,186,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":368,"old":356,"rank":1,"right":{"linear_Z4":[0,1,0,1,1,1,2,1,2],"matrix_rows":[442,65,258,68,264,336,288,256,384],"offset":0,"phase":0,"quadratic_rows":[64,186,64,186,250,186,21,186,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":366,"old":357,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":369,"old":357,"rank":1,"right":{"linear_Z4":[1,1,1,0,1,0,2,1,2],"matrix_rows":[407,321,258,324,8,336,32,256,384],"offset":0,"phase":0,"quadratic_rows":[215,151,215,0,215,0,21,151,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":370,"old":357,"rank":1,"right":{"linear_Z4":[1,1,1,0,1,0,2,1,2],"matrix_rows":[407,257,258,260,72,336,96,256,384],"offset":0,"phase":0,"quadratic_rows":[151,151,151,64,215,64,56,151,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":363,"old":358,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,2,2,0,0],"matrix_rows":[68,33,2,100,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[32,0,36,32,0,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":371,"old":358,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,2,0,0],"matrix_rows":[100,33,2,68,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[32,0,36,0,32,21,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":372,"old":358,"rank":1,"right":{"linear_Z4":[0,0,3,3,2,0,0,0,0],"matrix_rows":[28,1,2,20,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":367,"old":359,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":369,"old":359,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":373,"old":359,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":364,"old":360,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,2,0,0],"matrix_rows":[73,65,2,4,72,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":371,"old":360,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":374,"old":360,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,2,0,0,0],"matrix_rows":[49,33,2,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[17,0,16,16,13,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":365,"old":361,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,2,0,0],"matrix_rows":[73,65,2,4,72,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":372,"old":361,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,3,2,0,0],"matrix_rows":[100,1,2,68,8,16,96,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,36,0,0,36,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":374,"old":361,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":368,"old":362,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":370,"old":362,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":373,"old":362,"rank":1,"right":{"linear_Z4":[1,1,1,1,0,2,0,1,2],"matrix_rows":[399,289,258,292,296,16,256,64,384],"offset":0,"phase":0,"quadratic_rows":[175,143,175,175,0,13,0,143,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":568,"old":363,"rank":1,"right":{"linear_Z4":[0,1,1,1,1,0,0,1,2],"matrix_rows":[158,1,258,260,264,272,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,414,414,414,414,0,0,414,158]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":569,"old":363,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,0,3,2],"matrix_rows":[386,1,258,4,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,130,0,0,0,0,0,130,0]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[19,45,67,131,6,259,3,10,2],"offset":0,"phase":0,"quadratic_rows":[15,15,15,15,0,0,0,0,0]},"new":653,"old":363,"rank":4,"right":{"linear_Z4":[2,3,2,2,3,0,3,3,0],"matrix_rows":[415,469,458,346,73,474,68,64,96],"offset":466,"phase":1,"quadratic_rows":[2,215,10,212,218,0,218,218,0]}},{"left":{"linear_Z4":[2,3,3,2,0,0,0,0,0],"matrix_rows":[16,40,69,129,264,4,1,10,2],"offset":0,"phase":0,"quadratic_rows":[4,10,5,2,0,0,0,0,0]},"new":655,"old":363,"rank":4,"right":{"linear_Z4":[2,3,0,3,3,3,1,3,0],"matrix_rows":[108,384,68,146,13,386,96,64,400],"offset":93,"phase":1,"quadratic_rows":[12,274,65,41,274,40,68,384,146]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":376,"old":364,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,0,3,2],"matrix_rows":[386,1,258,4,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,130,0,0,0,0,0,130,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":382,"old":364,"rank":1,"right":{"linear_Z4":[0,1,1,1,1,0,0,1,2],"matrix_rows":[158,1,258,260,264,272,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,414,414,414,414,0,0,414,158]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":378,"old":365,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,0,3,2],"matrix_rows":[386,1,258,4,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,130,0,0,0,0,0,130,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":380,"old":365,"rank":1,"right":{"linear_Z4":[3,3,3,3,0,3,0,3,2],"matrix_rows":[431,257,258,260,264,16,288,64,384],"offset":1,"phase":1,"quadratic_rows":[175,175,175,175,0,175,0,175,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":508,"old":366,"rank":1,"right":{"linear_Z4":[3,3,1,2,1,0,3,3,2],"matrix_rows":[455,257,258,276,24,256,32,320,384],"offset":57,"phase":0,"quadratic_rows":[199,199,215,16,28,0,199,199,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":512,"old":366,"rank":1,"right":{"linear_Z4":[3,0,3,2,0,0,0,0,0],"matrix_rows":[5,33,2,44,32,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[37,0,45,4,0,5,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":568,"old":366,"rank":1,"right":{"linear_Z4":[1,3,3,2,3,0,1,3,2],"matrix_rows":[407,321,258,260,72,272,32,256,384],"offset":147,"phase":0,"quadratic_rows":[215,151,151,64,151,0,73,151,0]}},{"left":{"linear_Z4":[2,3,2,3,0,0,0,0,0],"matrix_rows":[20,34,68,129,8,1,261,5,15],"offset":0,"phase":0,"quadratic_rows":[14,15,11,15,0,0,0,0,0]},"new":652,"old":366,"rank":4,"right":{"linear_Z4":[1,0,1,0,0,0,2,2,3],"matrix_rows":[328,2,333,272,169,256,164,32,192],"offset":34,"phase":0,"quadratic_rows":[485,256,493,132,256,5,133,77,279]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":376,"old":367,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,3,0,0,0],"matrix_rows":[24,33,2,4,72,112,64,128,256],"offset":1,"phase":1,"quadratic_rows":[32,0,0,88,120,49,24,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":381,"old":367,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,3,0,0,0],"matrix_rows":[40,1,2,20,88,64,96,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,16,120,28,104,40,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":377,"old":368,"rank":1,"right":{"linear_Z4":[1,3,3,3,2,1,0,3,2],"matrix_rows":[399,289,258,260,264,48,256,64,384],"offset":99,"phase":0,"quadratic_rows":[175,143,143,143,32,49,0,143,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":380,"old":368,"rank":1,"right":{"linear_Z4":[3,0,3,0,3,0,0,0,0],"matrix_rows":[5,65,2,84,24,64,32,128,256],"offset":1,"phase":1,"quadratic_rows":[69,0,85,16,28,0,5,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":378,"old":369,"rank":1,"right":{"linear_Z4":[3,0,3,0,3,0,0,0,0],"matrix_rows":[5,65,2,84,24,64,32,128,256],"offset":1,"phase":1,"quadratic_rows":[69,0,85,16,28,0,5,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":379,"old":369,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,2,0,0,0],"matrix_rows":[49,33,2,4,8,48,64,128,256],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":375,"old":370,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,3,0,0,0],"matrix_rows":[40,1,2,20,88,64,96,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,16,120,28,104,40,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":382,"old":370,"rank":1,"right":{"linear_Z4":[0,1,1,2,2,0,0,1,2],"matrix_rows":[166,33,258,260,8,48,256,320,384],"offset":240,"phase":0,"quadratic_rows":[32,422,422,0,32,407,0,422,166]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":377,"old":371,"rank":1,"right":{"linear_Z4":[0,1,1,1,1,0,0,1,2],"matrix_rows":[158,1,258,260,264,272,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,414,414,414,414,0,0,414,158]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":379,"old":371,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,0,3,2],"matrix_rows":[386,1,258,4,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,130,0,0,0,0,0,130,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":375,"old":372,"rank":1,"right":{"linear_Z4":[3,3,3,3,0,3,0,3,2],"matrix_rows":[431,257,258,260,264,16,288,64,384],"offset":1,"phase":1,"quadratic_rows":[175,175,175,175,0,175,0,175,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":381,"old":372,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,0,3,2],"matrix_rows":[386,1,258,4,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,130,0,0,0,0,0,130,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":465,"old":373,"rank":1,"right":{"linear_Z4":[0,0,3,3,2,0,0,0,0],"matrix_rows":[28,1,2,20,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":470,"old":373,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,0,0],"matrix_rows":[2,1,66,4,8,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,66,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":569,"old":373,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,2,0,0],"matrix_rows":[73,65,2,4,72,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,2,0,0,0,0,0],"matrix_rows":[20,42,68,129,2,1,5,264,8],"offset":0,"phase":0,"quadratic_rows":[4,10,1,2,0,0,0,0,0]},"new":654,"old":373,"rank":4,"right":{"linear_Z4":[3,2,3,0,3,0,1,0,3],"matrix_rows":[72,258,77,402,105,274,100,32,256],"offset":5,"phase":2,"quadratic_rows":[37,384,45,68,144,5,72,18,258]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":462,"old":374,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,3,2,0],"matrix_rows":[194,1,130,4,8,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,66,0,0,0,0,66,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":465,"old":374,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,0,3,2],"matrix_rows":[386,1,258,4,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,130,0,0,0,0,0,130,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":507,"old":374,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,2,0],"matrix_rows":[140,1,2,132,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":508,"old":374,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,1,1,2],"matrix_rows":[203,257,258,4,264,16,32,320,384],"offset":0,"phase":0,"quadratic_rows":[459,459,0,459,0,0,459,459,203]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":383,"old":375,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,2,0,3,0],"matrix_rows":[134,33,258,292,40,16,256,320,384],"offset":1,"phase":1,"quadratic_rows":[32,390,422,32,0,13,0,390,134]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,21,37,64,133,2,263,1,6],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":690,"old":375,"rank":3,"right":{"linear_Z4":[2,2,0,0,0,2,0,1,2],"matrix_rows":[166,32,294,133,290,256,40,272,320],"offset":40,"phase":2,"quadratic_rows":[132,160,1,32,0,138,0,163,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,2,20,35,68,131,4,263,7],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":730,"old":375,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,1,2],"matrix_rows":[489,170,196,320,64,328,80,352,384],"offset":9,"phase":0,"quadratic_rows":[168,168,128,3,0,3,0,135,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":383,"old":376,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,2,0,0,0],"matrix_rows":[49,33,2,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[17,0,16,16,13,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,18,34,64,129,1,256,4,6],"offset":0,"phase":0,"quadratic_rows":[0,4,6,0,0,0,0,0,0]},"new":691,"old":376,"rank":3,"right":{"linear_Z4":[1,0,3,2,1,2,0,2,3],"matrix_rows":[33,390,384,49,256,388,24,32,64],"offset":219,"phase":0,"quadratic_rows":[17,132,6,16,25,0,0,258,384]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[9,18,2,32,68,5,1,128,256],"offset":0,"phase":0,"quadratic_rows":[4,2,5,0,0,0,0,0,0]},"new":731,"old":376,"rank":3,"right":{"linear_Z4":[0,1,2,2,1,1,2,0,0],"matrix_rows":[33,2,80,64,6,24,96,128,256],"offset":100,"phase":3,"quadratic_rows":[96,6,2,16,56,113,33,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":383,"old":377,"rank":1,"right":{"linear_Z4":[0,1,0,3,3,0,0,1,2],"matrix_rows":[394,1,258,20,280,256,288,320,384],"offset":240,"phase":2,"quadratic_rows":[0,138,16,154,28,0,0,138,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[14,18,38,4,65,129,1,263,7],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":698,"old":377,"rank":3,"right":{"linear_Z4":[2,0,2,0,1,0,0,3,2],"matrix_rows":[208,471,157,337,320,324,64,96,384],"offset":0,"phase":0,"quadratic_rows":[26,149,10,149,155,0,0,154,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,21,35,64,133,5,262,4,2],"offset":0,"phase":0,"quadratic_rows":[7,5,3,0,0,0,0,0,0]},"new":722,"old":377,"rank":3,"right":{"linear_Z4":[0,2,1,0,1,0,0,3,2],"matrix_rows":[274,292,438,21,38,288,152,32,320],"offset":403,"phase":3,"quadratic_rows":[20,128,389,144,25,384,0,430,164]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":383,"old":378,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[8,18,33,68,5,2,4,128,256],"offset":0,"phase":0,"quadratic_rows":[5,2,1,0,0,0,0,0,0]},"new":699,"old":378,"rank":3,"right":{"linear_Z4":[2,1,1,0,1,2,2,0,0],"matrix_rows":[68,2,24,5,34,80,64,128,256],"offset":41,"phase":3,"quadratic_rows":[4,34,21,80,92,2,24,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,18,33,65,1,130,256,4,6],"offset":0,"phase":0,"quadratic_rows":[0,4,6,0,0,0,0,0,0]},"new":723,"old":378,"rank":3,"right":{"linear_Z4":[2,0,3,1,2,3,0,2,3],"matrix_rows":[28,418,384,5,256,16,24,416,64],"offset":58,"phase":2,"quadratic_rows":[4,160,13,12,0,34,0,258,384]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":383,"old":379,"rank":1,"right":{"linear_Z4":[0,0,0,1,3,0,2,0,0],"matrix_rows":[8,1,2,20,88,64,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,16,88,28,0,8,0,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[8,18,37,2,65,1,4,128,256],"offset":0,"phase":0,"quadratic_rows":[4,2,5,0,0,0,0,0,0]},"new":714,"old":379,"rank":3,"right":{"linear_Z4":[2,1,0,2,3,1,3,0,0],"matrix_rows":[116,2,36,21,10,96,32,128,256],"offset":45,"phase":0,"quadratic_rows":[20,10,33,2,81,36,80,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,18,33,66,129,256,1,4,6],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":738,"old":379,"rank":3,"right":{"linear_Z4":[3,0,2,3,3,0,0,2,3],"matrix_rows":[17,394,384,69,256,64,392,80,32],"offset":19,"phase":1,"quadratic_rows":[85,136,1,10,81,0,17,258,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":383,"old":380,"rank":1,"right":{"linear_Z4":[1,1,1,1,0,2,0,1,2],"matrix_rows":[399,289,258,292,296,16,256,64,384],"offset":0,"phase":0,"quadratic_rows":[175,143,175,175,0,13,0,143,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[13,17,37,66,130,4,2,263,7],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":715,"old":380,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,1,2],"matrix_rows":[455,200,165,321,320,324,64,80,384],"offset":17,"phase":0,"quadratic_rows":[34,133,34,128,0,133,0,170,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[8,16,33,64,129,6,256,2,5],"offset":0,"phase":0,"quadratic_rows":[4,6,7,0,0,0,0,0,0]},"new":739,"old":380,"rank":3,"right":{"linear_Z4":[0,0,2,2,0,2,0,1,3],"matrix_rows":[260,160,288,5,6,256,168,272,64],"offset":224,"phase":1,"quadratic_rows":[4,4,3,160,0,264,0,136,288]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":383,"old":381,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,2,2,0,0],"matrix_rows":[68,33,2,100,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[32,0,36,32,0,13,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[10,18,36,64,128,260,4,1,3],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":706,"old":381,"rank":3,"right":{"linear_Z4":[3,0,1,2,0,3,2,2,3],"matrix_rows":[384,387,100,385,256,68,40,16,64],"offset":338,"phase":2,"quadratic_rows":[3,129,36,32,0,44,0,258,384]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,17,34,64,130,4,6,257,1],"offset":0,"phase":0,"quadratic_rows":[0,4,6,0,0,0,0,0,0]},"new":746,"old":381,"rank":3,"right":{"linear_Z4":[2,3,2,2,0,1,3,1,2],"matrix_rows":[386,68,96,3,256,64,40,80,384],"offset":248,"phase":3,"quadratic_rows":[2,131,0,32,0,104,96,130,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":383,"old":382,"rank":1,"right":{"linear_Z4":[3,1,0,0,2,0,0,1,2],"matrix_rows":[147,257,258,20,24,256,288,64,384],"offset":98,"phase":1,"quadratic_rows":[403,403,16,16,399,0,0,403,147]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,16,37,64,131,3,256,1,7],"offset":0,"phase":0,"quadratic_rows":[2,5,6,0,0,0,0,0,0]},"new":707,"old":382,"rank":3,"right":{"linear_Z4":[0,0,2,0,2,1,0,1,3],"matrix_rows":[180,272,36,149,18,288,24,32,64],"offset":1,"phase":1,"quadratic_rows":[148,16,289,16,267,420,0,161,308]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,4,39,71,129,1,262,6],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":747,"old":382,"rank":3,"right":{"linear_Z4":[2,0,0,3,3,0,2,0,2],"matrix_rows":[89,410,156,64,256,328,336,96,384],"offset":19,"phase":1,"quadratic_rows":[24,152,152,31,31,0,0,6,0]}},{"left":{"linear_Z4":[2,3,2,3,3,0,0,0,0],"matrix_rows":[33,66,132,264,12,13,9,16,18],"offset":0,"phase":0,"quadratic_rows":[4,18,1,8,18,0,0,0,0]},"new":1,"old":383,"rank":5,"right":{"linear_Z4":[0,0,0,2,1,0,1,0,1],"matrix_rows":[81,2,84,8,384,48,256,96,112],"offset":239,"phase":1,"quadratic_rows":[96,256,48,112,92,13,89,256,386]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[20,34,68,129,261,5,1,8,10],"offset":0,"phase":0,"quadratic_rows":[1,10,4,10,0,0,0,0,0]},"new":415,"old":383,"rank":4,"right":{"linear_Z4":[1,0,2,2,0,2,2,0,1],"matrix_rows":[8,2,13,384,105,256,96,64,48],"offset":99,"phase":0,"quadratic_rows":[101,256,105,36,0,13,5,256,386]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,34,65,132,4,261,5,8,10],"offset":0,"phase":0,"quadratic_rows":[1,10,4,10,0,0,0,0,0]},"new":416,"old":383,"rank":4,"right":{"linear_Z4":[2,0,1,2,2,0,2,0,1],"matrix_rows":[5,2,8,384,80,256,84,16,96],"offset":54,"phase":0,"quadratic_rows":[84,256,85,16,13,0,5,256,386]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[18,33,66,132,262,6,4,8,9],"offset":0,"phase":0,"quadratic_rows":[9,2,4,9,0,0,0,0,0]},"new":419,"old":383,"rank":4,"right":{"linear_Z4":[1,0,2,2,0,2,2,0,1],"matrix_rows":[2,5,8,384,97,256,96,64,48],"offset":101,"phase":0,"quadratic_rows":[101,256,97,64,0,5,13,256,386]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,34,65,132,4,261,5,8,10],"offset":0,"phase":0,"quadratic_rows":[1,10,4,10,0,0,0,0,0]},"new":420,"old":383,"rank":4,"right":{"linear_Z4":[2,0,1,2,2,0,2,0,1],"matrix_rows":[13,2,8,384,80,256,92,16,96],"offset":54,"phase":0,"quadratic_rows":[92,256,85,65,5,0,13,256,386]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":392,"old":384,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":393,"old":384,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":394,"old":384,"rank":1,"right":{"linear_Z4":[0,1,0,0,2,0,0,2,0],"matrix_rows":[130,1,146,20,24,128,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,18,16,16,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":395,"old":385,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,2,0,0,2],"matrix_rows":[257,289,2,36,40,16,256,64,128],"offset":0,"phase":0,"quadratic_rows":[33,0,32,32,0,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":396,"old":385,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,2,0,0,2],"matrix_rows":[257,289,34,4,8,48,256,64,128],"offset":0,"phase":0,"quadratic_rows":[33,32,0,0,32,19,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":397,"old":385,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":395,"old":386,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":398,"old":386,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":399,"old":386,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":392,"old":387,"rank":1,"right":{"linear_Z4":[1,1,1,1,1,2,0,2,0],"matrix_rows":[159,161,130,164,168,144,128,64,256],"offset":0,"phase":0,"quadratic_rows":[63,31,63,63,31,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":400,"old":387,"rank":1,"right":{"linear_Z4":[1,1,1,1,2,1,0,2,0],"matrix_rows":[175,129,146,148,152,128,160,64,256],"offset":0,"phase":0,"quadratic_rows":[47,63,63,63,14,47,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":401,"old":387,"rank":1,"right":{"linear_Z4":[1,1,1,1,1,2,0,2,0],"matrix_rows":[159,161,162,132,136,176,128,64,256],"offset":0,"phase":0,"quadratic_rows":[63,63,31,31,63,19,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":396,"old":388,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":398,"old":388,"rank":1,"right":{"linear_Z4":[0,1,0,0,2,0,0,0,2],"matrix_rows":[258,1,274,20,24,256,32,64,128],"offset":0,"phase":0,"quadratic_rows":[0,18,16,16,14,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":402,"old":388,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":393,"old":389,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,2,0,2,0],"matrix_rows":[129,161,34,4,8,48,128,64,256],"offset":0,"phase":0,"quadratic_rows":[33,32,0,0,32,19,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":400,"old":389,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":403,"old":389,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,2,0,2,0],"matrix_rows":[129,161,2,36,40,16,128,64,256],"offset":0,"phase":0,"quadratic_rows":[33,0,32,32,0,13,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":394,"old":390,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":401,"old":390,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":403,"old":390,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":397,"old":391,"rank":1,"right":{"linear_Z4":[1,1,1,1,2,1,0,0,2],"matrix_rows":[303,257,274,276,280,256,288,64,128],"offset":0,"phase":0,"quadratic_rows":[47,63,63,63,14,47,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":399,"old":391,"rank":1,"right":{"linear_Z4":[1,1,1,1,1,2,0,0,2],"matrix_rows":[287,289,290,260,264,304,256,64,128],"offset":0,"phase":0,"quadratic_rows":[63,63,31,31,63,19,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":402,"old":391,"rank":1,"right":{"linear_Z4":[1,1,1,1,1,2,0,0,2],"matrix_rows":[287,289,258,292,296,272,256,64,128],"offset":0,"phase":0,"quadratic_rows":[63,31,63,63,31,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":570,"old":392,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,0,2],"matrix_rows":[268,1,2,260,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":571,"old":392,"rank":1,"right":{"linear_Z4":[0,3,0,0,3,0,0,0,2],"matrix_rows":[274,1,258,4,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[2,3,3,2,0,0,0,0,0],"matrix_rows":[17,34,64,129,4,256,8,6,1],"offset":0,"phase":0,"quadratic_rows":[0,6,6,0,0,0,0,0,0]},"new":657,"old":392,"rank":4,"right":{"linear_Z4":[3,0,0,3,0,0,2,1,2],"matrix_rows":[265,2,144,64,257,128,4,264,32],"offset":43,"phase":2,"quadratic_rows":[9,128,0,9,128,0,0,146,0]}},{"left":{"linear_Z4":[2,2,3,2,0,0,0,0,0],"matrix_rows":[20,40,69,132,266,5,1,10,2],"offset":0,"phase":0,"quadratic_rows":[0,0,4,0,0,0,0,0,0]},"new":659,"old":392,"rank":4,"right":{"linear_Z4":[3,1,1,3,3,0,2,2,0],"matrix_rows":[68,272,9,386,101,402,32,104,128],"offset":5,"phase":2,"quadratic_rows":[109,18,5,105,18,9,9,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":405,"old":393,"rank":1,"right":{"linear_Z4":[0,3,0,0,3,0,0,0,2],"matrix_rows":[274,1,258,4,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":411,"old":393,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,0,2],"matrix_rows":[268,1,2,260,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":407,"old":394,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,0,2],"matrix_rows":[268,1,2,260,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":409,"old":394,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,3,0,0,2],"matrix_rows":[289,257,2,4,8,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[33,0,0,0,0,33,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":511,"old":395,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,2,0],"matrix_rows":[140,1,2,132,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":513,"old":395,"rank":1,"right":{"linear_Z4":[3,1,3,0,0,0,0,0,2],"matrix_rows":[15,257,266,268,256,16,288,64,128],"offset":90,"phase":0,"quadratic_rows":[271,263,263,257,0,0,0,0,15]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":570,"old":395,"rank":1,"right":{"linear_Z4":[0,3,0,0,3,0,0,2,0],"matrix_rows":[146,1,130,4,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,2,0,0,0,0,0],"matrix_rows":[16,40,69,1,138,260,10,2,4],"offset":0,"phase":0,"quadratic_rows":[5,0,1,0,0,0,0,0,0]},"new":656,"old":395,"rank":4,"right":{"linear_Z4":[2,3,0,3,2,0,2,0,1],"matrix_rows":[268,144,260,210,13,194,256,80,288],"offset":95,"phase":2,"quadratic_rows":[12,18,257,265,2,0,0,0,268]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":405,"old":396,"rank":1,"right":{"linear_Z4":[0,3,0,0,3,0,0,2,0],"matrix_rows":[146,1,130,4,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":410,"old":396,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,2,0],"matrix_rows":[140,1,2,132,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":406,"old":397,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,3,0,2,0],"matrix_rows":[161,129,2,4,8,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[33,0,0,0,0,33,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":409,"old":397,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,2,0],"matrix_rows":[140,1,2,132,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":407,"old":398,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,2,0],"matrix_rows":[140,1,2,132,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":408,"old":398,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,3,0,2,0],"matrix_rows":[161,129,2,4,8,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[33,0,0,0,0,33,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":404,"old":399,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,2,0],"matrix_rows":[140,1,2,132,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":411,"old":399,"rank":1,"right":{"linear_Z4":[0,3,0,0,3,0,0,2,0],"matrix_rows":[146,1,130,4,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":406,"old":400,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,3,0,0,2],"matrix_rows":[289,257,2,4,8,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[33,0,0,0,0,33,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":408,"old":400,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,0,2],"matrix_rows":[268,1,2,260,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":404,"old":401,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,0,2],"matrix_rows":[268,1,2,260,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":410,"old":401,"rank":1,"right":{"linear_Z4":[0,3,0,0,3,0,0,0,2],"matrix_rows":[274,1,258,4,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":486,"old":402,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,2,0],"matrix_rows":[137,129,2,4,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":487,"old":402,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,0,0],"matrix_rows":[2,1,66,4,8,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,66,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":571,"old":402,"rank":1,"right":{"linear_Z4":[0,3,0,0,3,0,0,2,0],"matrix_rows":[146,1,130,4,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[3,3,3,2,0,0,0,0,0],"matrix_rows":[16,34,69,1,128,4,8,2,256],"offset":0,"phase":0,"quadratic_rows":[5,2,5,0,0,0,0,0,0]},"new":658,"old":402,"rank":4,"right":{"linear_Z4":[2,1,0,3,0,3,2,2,0],"matrix_rows":[44,2,4,64,13,130,32,16,256],"offset":93,"phase":1,"quadratic_rows":[12,130,1,41,0,40,0,2,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":485,"old":403,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,3,0,2],"matrix_rows":[322,1,258,4,8,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,66,0,0,0,0,66,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":490,"old":403,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,0,3,0,2],"matrix_rows":[336,1,2,4,8,272,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,80,0,80,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":507,"old":403,"rank":1,"right":{"linear_Z4":[0,0,3,3,2,0,0,0,0],"matrix_rows":[28,1,2,20,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":511,"old":403,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,0,2],"matrix_rows":[268,1,2,260,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":412,"old":404,"rank":1,"right":{"linear_Z4":[3,3,0,0,2,0,0,0,0],"matrix_rows":[3,33,50,20,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[35,51,16,16,14,3,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,34,4,65,128,1,262,6],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":589,"old":404,"rank":3,"right":{"linear_Z4":[0,3,0,0,3,0,2,0,2],"matrix_rows":[82,260,8,1,66,256,80,32,384],"offset":35,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[8,19,32,64,1,2,4,128,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":637,"old":404,"rank":3,"right":{"linear_Z4":[2,0,0,0,3,3,2,0,0],"matrix_rows":[50,2,64,19,32,4,8,128,256],"offset":31,"phase":1,"quadratic_rows":[18,1,0,0,49,48,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":412,"old":405,"rank":1,"right":{"linear_Z4":[1,1,0,0,2,0,0,0,2],"matrix_rows":[3,257,274,20,24,256,288,64,384],"offset":0,"phase":0,"quadratic_rows":[259,275,16,16,14,0,0,0,3]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[11,19,36,6,67,131,2,259,3],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":591,"old":405,"rank":3,"right":{"linear_Z4":[2,2,1,1,0,0,2,0,2],"matrix_rows":[3,75,84,257,274,92,256,288,384],"offset":218,"phase":1,"quadratic_rows":[328,344,12,31,10,0,3,0,3]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,17,35,3,66,130,4,258,2],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":639,"old":405,"rank":3,"right":{"linear_Z4":[1,1,0,2,2,0,2,0,2],"matrix_rows":[23,20,64,265,282,12,256,288,384],"offset":6,"phase":2,"quadratic_rows":[287,271,11,23,9,0,0,0,3]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":412,"old":406,"rank":1,"right":{"linear_Z4":[3,0,3,3,0,2,0,0,0],"matrix_rows":[13,289,2,292,296,16,256,64,384],"offset":1,"phase":1,"quadratic_rows":[301,0,301,301,0,13,0,0,13]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[8,16,35,1,2,64,4,128,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":605,"old":406,"rank":3,"right":{"linear_Z4":[0,2,0,3,3,0,2,0,0],"matrix_rows":[28,4,64,1,14,16,32,128,256],"offset":55,"phase":1,"quadratic_rows":[0,12,2,26,24,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,16,34,66,128,4,2,261,5],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":621,"old":406,"rank":3,"right":{"linear_Z4":[0,0,3,3,0,0,2,0,2],"matrix_rows":[257,76,32,256,2,68,72,16,384],"offset":11,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":412,"old":407,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[11,17,33,66,130,3,4,258,2],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":607,"old":407,"rank":3,"right":{"linear_Z4":[0,1,1,2,0,2,2,0,2],"matrix_rows":[15,9,64,33,290,300,256,272,384],"offset":6,"phase":2,"quadratic_rows":[38,303,295,34,0,15,0,0,6]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[12,19,35,67,131,5,1,259,3],"offset":0,"phase":0,"quadratic_rows":[5,2,5,0,0,0,0,0,0]},"new":623,"old":407,"rank":3,"right":{"linear_Z4":[1,2,2,0,0,1,2,0,2],"matrix_rows":[102,6,73,105,258,268,256,272,384],"offset":241,"phase":1,"quadratic_rows":[33,352,360,36,0,47,6,0,6]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":412,"old":408,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,2,0,2,0],"matrix_rows":[129,161,2,36,40,16,128,64,256],"offset":0,"phase":0,"quadratic_rows":[33,0,32,32,0,13,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,16,38,2,68,129,1,256,4],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":613,"old":408,"rank":3,"right":{"linear_Z4":[3,2,0,3,0,3,2,0,1],"matrix_rows":[97,268,260,65,14,256,272,96,128],"offset":55,"phase":1,"quadratic_rows":[33,12,258,266,0,33,0,0,268]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,16,32,64,128,2,4,3,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":629,"old":408,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,2,1,0],"matrix_rows":[1,160,64,128,2,4,8,16,256],"offset":13,"phase":1,"quadratic_rows":[128,0,0,0,0,128,0,161,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":412,"old":409,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,2,0,0,2],"matrix_rows":[257,289,2,36,40,16,256,64,128],"offset":0,"phase":0,"quadratic_rows":[33,0,32,32,0,13,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,16,38,2,68,129,1,4,256],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":615,"old":409,"rank":3,"right":{"linear_Z4":[3,2,0,3,0,3,2,1,0],"matrix_rows":[97,140,132,65,14,128,144,96,256],"offset":55,"phase":1,"quadratic_rows":[33,12,130,138,0,33,0,140,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,16,32,64,128,2,4,256,3],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":631,"old":409,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,1],"matrix_rows":[1,288,64,256,2,4,8,16,128],"offset":13,"phase":1,"quadratic_rows":[256,0,0,0,0,256,0,0,289]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":412,"old":410,"rank":1,"right":{"linear_Z4":[3,3,3,3,2,0,0,0,2],"matrix_rows":[271,257,274,276,280,256,288,64,128],"offset":1,"phase":1,"quadratic_rows":[15,31,31,31,14,0,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[8,16,33,2,64,128,4,3,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":597,"old":410,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,2,1,0],"matrix_rows":[4,136,64,1,2,128,16,32,256],"offset":37,"phase":1,"quadratic_rows":[0,0,128,128,0,0,0,140,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,19,36,68,1,130,4,256,2],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":645,"old":410,"rank":3,"right":{"linear_Z4":[2,0,3,3,3,0,2,0,1],"matrix_rows":[274,258,76,19,256,68,72,288,128],"offset":31,"phase":1,"quadratic_rows":[18,257,12,12,273,0,0,0,274]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":412,"old":411,"rank":1,"right":{"linear_Z4":[3,3,3,3,2,0,0,2,0],"matrix_rows":[143,129,146,148,152,128,160,64,256],"offset":1,"phase":1,"quadratic_rows":[15,31,31,31,14,0,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[8,16,33,2,64,128,4,256,3],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":599,"old":411,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,1],"matrix_rows":[4,264,64,1,2,256,16,32,128],"offset":37,"phase":1,"quadratic_rows":[0,0,256,256,0,0,0,0,268]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,19,36,68,1,130,4,2,256],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":647,"old":411,"rank":3,"right":{"linear_Z4":[2,0,3,3,3,0,2,1,0],"matrix_rows":[146,130,76,19,128,68,72,160,256],"offset":31,"phase":1,"quadratic_rows":[18,129,12,12,145,0,0,146,0]}},{"left":{"linear_Z4":[3,3,2,2,2,0,0,0,0],"matrix_rows":[33,66,132,8,14,13,16,268,12],"offset":0,"phase":0,"quadratic_rows":[13,14,3,3,0,0,0,0,0]},"new":1,"old":412,"rank":5,"right":{"linear_Z4":[0,0,2,2,0,0,2,0,0],"matrix_rows":[257,258,308,56,64,288,272,256,384],"offset":251,"phase":1,"quadratic_rows":[32,16,48,48,14,13,0,0,0]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,46,68,8,140,13,2,268,12],"offset":0,"phase":0,"quadratic_rows":[13,14,15,15,0,0,0,0,0]},"new":417,"old":412,"rank":4,"right":{"linear_Z4":[0,1,0,0,0,0,2,0,1],"matrix_rows":[257,258,358,106,288,322,256,272,384],"offset":85,"phase":0,"quadratic_rows":[32,334,98,98,0,13,14,0,258]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[29,35,69,9,15,140,1,268,12],"offset":0,"phase":0,"quadratic_rows":[13,14,15,15,0,0,0,0,0]},"new":418,"old":412,"rank":4,"right":{"linear_Z4":[1,3,1,1,0,0,2,0,1],"matrix_rows":[257,258,347,87,335,272,256,288,384],"offset":102,"phase":0,"quadratic_rows":[323,83,28,28,14,0,3,0,257]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[29,34,68,8,14,140,1,268,12],"offset":0,"phase":0,"quadratic_rows":[13,14,15,15,0,0,0,0,0]},"new":419,"old":412,"rank":4,"right":{"linear_Z4":[1,0,0,0,0,0,2,0,1],"matrix_rows":[257,258,341,89,321,272,256,288,384],"offset":102,"phase":0,"quadratic_rows":[333,16,81,81,14,0,13,0,257]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,34,72,140,14,13,4,268,12],"offset":0,"phase":0,"quadratic_rows":[13,14,15,15,0,0,0,0,0]},"new":420,"old":412,"rank":4,"right":{"linear_Z4":[0,0,1,3,2,2,0,0,1],"matrix_rows":[257,258,376,116,288,272,332,256,384],"offset":51,"phase":0,"quadratic_rows":[32,16,316,316,14,13,0,0,268]}},{"left":{"linear_Z4":[2,3,2,3,2,2,2,2,0],"matrix_rows":[1,264,4,10,16,2,32,64,128],"offset":0,"phase":0,"quadratic_rows":[0,10,0,10,0,0,0,0,0]},"new":0,"old":413,"rank":8,"right":{"linear_Z4":[2,3,2,1,2,0,2,2,2],"matrix_rows":[1,40,4,34,16,64,128,256,42],"offset":8,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":413,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[34,1,32,4,40,16,64,128,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,2,2,2,2,2,2,0],"matrix_rows":[258,3,1,4,8,16,32,64,128],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":0,"old":414,"rank":8,"right":{"linear_Z4":[3,1,0,2,2,2,2,2,2],"matrix_rows":[6,5,8,16,32,64,128,256,7],"offset":2,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,1,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":414,"rank":1,"right":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[5,4,6,8,16,32,64,128,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,3,2,2,2,2,0],"matrix_rows":[264,2,4,9,1,16,32,64,128],"offset":0,"phase":0,"quadratic_rows":[9,0,0,9,0,0,0,0,0]},"new":0,"old":415,"rank":8,"right":{"linear_Z4":[3,2,2,1,0,2,2,2,2],"matrix_rows":[24,2,4,17,32,64,128,256,25],"offset":8,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":415,"rank":1,"right":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[17,16,2,4,24,32,64,128,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,2,3,2,2,2,0],"matrix_rows":[1,2,272,8,20,4,32,64,128],"offset":0,"phase":0,"quadratic_rows":[0,0,20,0,20,0,0,0,0]},"new":0,"old":416,"rank":8,"right":{"linear_Z4":[2,2,3,2,1,0,2,2,2],"matrix_rows":[1,2,48,8,36,64,128,256,52],"offset":16,"phase":1,"quadratic_rows":[0,0,20,0,20,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":416,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[36,1,2,32,8,48,64,128,256],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,2,3,2,2,2,0],"matrix_rows":[1,272,4,8,18,32,2,64,128],"offset":0,"phase":0,"quadratic_rows":[0,18,0,0,18,0,0,0,0]},"new":0,"old":417,"rank":8,"right":{"linear_Z4":[2,3,2,2,1,2,0,2,2],"matrix_rows":[1,80,4,8,66,32,128,256,82],"offset":16,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":417,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[66,1,64,4,8,80,32,128,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,3,3,3,3,2,2,0],"matrix_rows":[318,3,5,9,17,33,1,64,128],"offset":0,"phase":0,"quadratic_rows":[63,63,63,63,63,63,0,0,0]},"new":0,"old":418,"rank":8,"right":{"linear_Z4":[3,1,1,1,1,1,0,2,2],"matrix_rows":[126,125,123,119,111,95,128,256,127],"offset":62,"phase":1,"quadratic_rows":[63,63,63,63,63,63,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":418,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[65,64,66,68,72,80,96,128,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,2,2,3,2,2,0],"matrix_rows":[288,2,4,8,16,33,1,64,128],"offset":0,"phase":0,"quadratic_rows":[33,0,0,0,0,33,0,0,0]},"new":0,"old":419,"rank":8,"right":{"linear_Z4":[3,2,2,2,2,1,0,2,2],"matrix_rows":[96,2,4,8,16,65,128,256,97],"offset":32,"phase":1,"quadratic_rows":[33,0,0,0,0,33,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":419,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[65,64,2,4,8,16,96,128,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,3,2,2,2,2,0],"matrix_rows":[1,2,264,12,16,32,4,64,128],"offset":0,"phase":0,"quadratic_rows":[0,0,12,12,0,0,0,0,0]},"new":0,"old":420,"rank":8,"right":{"linear_Z4":[2,2,3,1,2,2,0,2,2],"matrix_rows":[1,2,72,68,16,32,128,256,76],"offset":8,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":420,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[68,1,2,64,72,16,32,128,256],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":15,"old":421,"rank":1,"right":{"linear_Z4":[3,0,3,3,0,0,0,0,0],"matrix_rows":[5,41,10,36,32,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[45,8,37,11,0,5,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":18,"old":421,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,3,3,2],"matrix_rows":[448,1,2,4,8,16,32,320,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,0,192,192,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":25,"old":421,"rank":1,"right":{"linear_Z4":[0,3,3,3,3,0,3,3,2],"matrix_rows":[478,1,258,260,264,272,32,320,384],"offset":1,"phase":1,"quadratic_rows":[0,222,222,222,222,0,222,222,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":26,"old":421,"rank":1,"right":{"linear_Z4":[3,0,3,0,2,0,0,0,0],"matrix_rows":[21,17,2,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":44,"old":421,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,0,3,2,0],"matrix_rows":[208,1,2,4,8,144,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,80,0,80,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":47,"old":421,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,0,3,0,2],"matrix_rows":[336,1,2,4,8,272,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,80,0,80,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":54,"old":421,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,0,2],"matrix_rows":[261,257,2,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":55,"old":421,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,2,0],"matrix_rows":[133,129,2,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":73,"old":421,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,0,0,3,2],"matrix_rows":[400,1,2,4,8,272,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,144,0,0,144,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":76,"old":421,"rank":1,"right":{"linear_Z4":[3,0,3,3,0,0,0,0,0],"matrix_rows":[5,33,10,44,32,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[37,8,45,14,0,5,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":83,"old":421,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,2,0,0],"matrix_rows":[69,65,2,68,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":84,"old":421,"rank":1,"right":{"linear_Z4":[3,3,0,3,3,0,3,3,2],"matrix_rows":[475,257,258,4,264,272,32,320,384],"offset":1,"phase":1,"quadratic_rows":[219,219,0,219,219,0,219,219,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":334,"old":421,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,0,2],"matrix_rows":[265,257,2,4,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":337,"old":421,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,2,0],"matrix_rows":[137,129,2,4,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":344,"old":421,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,3,2,0],"matrix_rows":[194,1,130,4,8,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,66,0,0,0,0,66,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":345,"old":421,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,3,0,2],"matrix_rows":[322,1,258,4,8,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,66,0,0,0,0,66,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":363,"old":421,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,2,0,0],"matrix_rows":[73,65,2,4,72,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":366,"old":421,"rank":1,"right":{"linear_Z4":[3,3,3,0,3,0,3,3,2],"matrix_rows":[471,257,258,260,8,272,32,320,384],"offset":1,"phase":1,"quadratic_rows":[215,215,215,0,215,0,215,215,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":373,"old":421,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,0,3,2],"matrix_rows":[386,1,258,4,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,130,0,0,0,0,0,130,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":374,"old":421,"rank":1,"right":{"linear_Z4":[0,0,3,3,2,0,0,0,0],"matrix_rows":[28,1,2,20,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":392,"old":421,"rank":1,"right":{"linear_Z4":[0,3,0,0,3,0,0,2,0],"matrix_rows":[146,1,130,4,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":395,"old":421,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,0,2],"matrix_rows":[268,1,2,260,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":402,"old":421,"rank":1,"right":{"linear_Z4":[0,3,0,0,3,0,0,0,2],"matrix_rows":[274,1,258,4,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":403,"old":421,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,2,0],"matrix_rows":[140,1,2,132,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[14,21,38,65,135,1,2,263,7],"offset":0,"phase":0,"quadratic_rows":[3,7,6,0,0,0,0,0,0]},"new":425,"old":421,"rank":3,"right":{"linear_Z4":[2,2,2,1,3,0,1,3,3],"matrix_rows":[218,477,223,297,322,292,32,272,384],"offset":0,"phase":0,"quadratic_rows":[42,325,34,217,216,5,218,216,258]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[11,21,35,68,2,4,135,263,7],"offset":0,"phase":0,"quadratic_rows":[3,7,6,0,0,0,0,0,0]},"new":426,"old":421,"rank":3,"right":{"linear_Z4":[2,2,2,1,1,0,3,3,3],"matrix_rows":[223,477,218,289,274,300,32,320,384],"offset":0,"phase":0,"quadratic_rows":[34,277,42,220,218,5,216,216,258]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[9,20,33,64,129,256,1,6,2],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":427,"old":421,"rank":3,"right":{"linear_Z4":[1,1,1,0,1,0,2,3,0],"matrix_rows":[21,384,258,65,386,68,8,80,32],"offset":0,"phase":0,"quadratic_rows":[85,130,85,0,85,0,21,130,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[14,23,33,70,131,1,4,263,7],"offset":0,"phase":0,"quadratic_rows":[5,6,7,0,0,0,0,0,0]},"new":433,"old":421,"rank":3,"right":{"linear_Z4":[2,3,1,2,2,0,1,3,3],"matrix_rows":[214,223,463,293,258,32,296,336,384],"offset":0,"phase":0,"quadratic_rows":[52,198,199,48,329,9,214,198,272]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[9,17,32,65,132,256,1,6,2],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":434,"old":421,"rank":3,"right":{"linear_Z4":[1,1,0,1,1,0,2,3,0],"matrix_rows":[11,384,272,65,66,4,72,400,32],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,144,0,11,144,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[8,17,33,65,1,128,260,6,2],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":435,"old":421,"rank":3,"right":{"linear_Z4":[0,1,1,1,2,0,1,3,0],"matrix_rows":[14,384,320,1,18,20,24,32,448],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,192,192,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,33,64,1,130,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":528,"old":421,"rank":2,"right":{"linear_Z4":[3,0,3,3,0,0,3,3,2],"matrix_rows":[5,448,41,10,36,32,16,320,384],"offset":3,"phase":2,"quadratic_rows":[45,8,37,11,0,5,192,192,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[6,8,18,35,65,3,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":529,"old":421,"rank":2,"right":{"linear_Z4":[3,0,3,0,1,0,1,1,2],"matrix_rows":[216,5,297,10,292,32,272,320,384],"offset":2,"phase":1,"quadratic_rows":[301,8,293,467,472,5,472,472,221]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,16,32,66,128,258,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":530,"old":421,"rank":2,"right":{"linear_Z4":[0,0,0,0,3,0,3,3,0],"matrix_rows":[384,208,1,2,4,8,400,32,448],"offset":2,"phase":1,"quadratic_rows":[0,0,0,0,336,0,336,384,208]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,32,66,128,258,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":531,"old":421,"rank":2,"right":{"linear_Z4":[3,0,3,0,3,0,3,2,2],"matrix_rows":[261,208,257,2,260,8,144,32,192],"offset":3,"phase":2,"quadratic_rows":[5,0,5,0,80,0,80,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,33,66,1,128,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":532,"old":421,"rank":2,"right":{"linear_Z4":[3,0,3,3,3,0,0,3,2],"matrix_rows":[5,400,33,10,44,32,272,64,384],"offset":3,"phase":2,"quadratic_rows":[37,8,45,14,144,5,0,144,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,32,66,128,1,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":533,"old":421,"rank":2,"right":{"linear_Z4":[3,0,3,0,3,0,2,3,2],"matrix_rows":[69,400,65,2,68,8,272,32,384],"offset":3,"phase":2,"quadratic_rows":[5,0,5,0,144,0,0,144,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[6,8,16,34,64,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":566,"old":421,"rank":2,"right":{"linear_Z4":[3,0,0,3,0,0,0,3,0],"matrix_rows":[384,137,385,2,4,392,16,32,64],"offset":2,"phase":1,"quadratic_rows":[265,0,0,265,0,0,0,384,137]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,33,64,128,258,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":567,"old":421,"rank":2,"right":{"linear_Z4":[3,3,0,3,0,0,3,2,2],"matrix_rows":[265,194,257,130,4,264,16,32,192],"offset":3,"phase":2,"quadratic_rows":[9,66,0,9,0,0,66,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,18,35,66,128,1,258,2],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":568,"old":421,"rank":2,"right":{"linear_Z4":[3,1,1,0,1,0,3,1,1],"matrix_rows":[329,222,65,258,260,328,272,32,384],"offset":1,"phase":1,"quadratic_rows":[265,478,478,215,478,0,222,478,407]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,33,64,128,1,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":569,"old":421,"rank":2,"right":{"linear_Z4":[3,3,0,3,0,0,2,3,2],"matrix_rows":[73,386,65,258,4,72,16,32,384],"offset":3,"phase":2,"quadratic_rows":[9,130,0,9,0,0,0,130,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,18,34,65,128,256,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":570,"old":421,"rank":2,"right":{"linear_Z4":[0,3,3,3,3,0,0,2,2],"matrix_rows":[146,268,1,130,260,264,144,32,64],"offset":3,"phase":2,"quadratic_rows":[0,18,12,12,18,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,16,32,66,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":571,"old":421,"rank":2,"right":{"linear_Z4":[0,3,0,0,3,0,0,3,0],"matrix_rows":[384,146,1,386,4,8,400,32,64],"offset":2,"phase":1,"quadratic_rows":[0,274,0,0,274,0,0,384,146]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[6,10,16,35,65,1,131,259,3],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":27,"old":422,"rank":2,"right":{"linear_Z4":[1,1,0,2,1,0,2,2,2],"matrix_rows":[216,219,305,290,20,264,32,320,384],"offset":0,"phase":0,"quadratic_rows":[491,507,16,259,278,3,259,259,219]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,1,32,64,130,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":28,"old":422,"rank":2,"right":{"linear_Z4":[3,3,0,2,0,0,3,3,2],"matrix_rows":[11,448,9,10,4,16,32,320,384],"offset":3,"phase":2,"quadratic_rows":[3,3,0,0,0,0,192,192,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,32,65,1,130,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":33,"old":422,"rank":2,"right":{"linear_Z4":[3,3,0,0,3,0,3,3,2],"matrix_rows":[3,448,49,34,20,8,32,320,384],"offset":3,"phase":2,"quadratic_rows":[51,35,16,0,21,3,192,192,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[6,11,17,3,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":34,"old":422,"rank":2,"right":{"linear_Z4":[3,2,3,2,3,0,3,3,0],"matrix_rows":[470,267,265,10,260,272,32,320,384],"offset":3,"phase":2,"quadratic_rows":[3,213,214,0,214,0,214,214,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":102,"old":422,"rank":1,"right":{"linear_Z4":[3,3,0,0,3,0,0,0,0],"matrix_rows":[3,33,50,4,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[35,51,0,16,26,3,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":105,"old":422,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,0,0,3,2],"matrix_rows":[388,1,2,260,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,132,0,0,0,0,132,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":112,"old":422,"rank":1,"right":{"linear_Z4":[3,3,3,3,0,0,3,3,2],"matrix_rows":[463,257,258,260,264,16,32,320,384],"offset":1,"phase":1,"quadratic_rows":[207,207,207,207,0,0,207,207,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":113,"old":422,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,2,0,0],"matrix_rows":[81,65,2,4,8,80,32,128,256],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":131,"old":422,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,0,3,0,2],"matrix_rows":[324,1,2,260,8,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,0,68,0,0,0,68,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":134,"old":422,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,0,3,2,0],"matrix_rows":[196,1,2,132,8,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,0,68,0,0,0,68,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":141,"old":422,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,2,0],"matrix_rows":[145,129,2,4,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":142,"old":422,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,0,2],"matrix_rows":[273,257,2,4,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":276,"old":422,"rank":1,"right":{"linear_Z4":[3,0,3,3,3,0,3,3,2],"matrix_rows":[477,257,2,260,264,272,32,320,384],"offset":1,"phase":1,"quadratic_rows":[221,0,221,221,221,0,221,221,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":279,"old":422,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,2,0,0],"matrix_rows":[67,65,66,4,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":286,"old":422,"rank":1,"right":{"linear_Z4":[3,3,0,0,3,0,0,0,0],"matrix_rows":[3,33,50,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[35,51,16,0,22,3,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":287,"old":422,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,0,0,3,2],"matrix_rows":[392,1,2,4,264,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,136,0,0,0,136,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":305,"old":422,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,2,0],"matrix_rows":[131,129,130,4,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":308,"old":422,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,0,2],"matrix_rows":[259,257,258,4,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":315,"old":422,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,0,3,0,2],"matrix_rows":[328,1,2,4,264,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,72,0,0,72,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":316,"old":422,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,0,3,2,0],"matrix_rows":[200,1,2,4,136,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,72,0,0,72,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,18,34,64,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":404,"old":422,"rank":2,"right":{"linear_Z4":[0,0,3,3,0,0,0,3,0],"matrix_rows":[384,140,1,2,388,392,16,32,64],"offset":2,"phase":1,"quadratic_rows":[0,0,268,268,0,0,0,384,140]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,16,32,66,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":405,"old":422,"rank":2,"right":{"linear_Z4":[0,3,0,0,3,0,0,3,0],"matrix_rows":[384,146,1,386,4,8,400,32,64],"offset":2,"phase":1,"quadratic_rows":[0,274,0,0,274,0,0,384,146]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,18,34,65,128,256,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":410,"old":422,"rank":2,"right":{"linear_Z4":[0,3,3,3,3,0,0,2,2],"matrix_rows":[274,140,1,258,132,136,272,32,64],"offset":3,"phase":2,"quadratic_rows":[0,18,12,12,18,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,18,34,65,128,256,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":411,"old":422,"rank":2,"right":{"linear_Z4":[0,3,3,3,3,0,0,2,2],"matrix_rows":[146,268,1,130,260,264,144,32,64],"offset":3,"phase":2,"quadratic_rows":[0,18,12,12,18,0,0,0,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[14,19,37,65,134,3,4,261,5],"offset":0,"phase":0,"quadratic_rows":[5,2,5,0,0,0,0,0,0]},"new":424,"old":422,"rank":3,"right":{"linear_Z4":[0,0,2,1,0,0,0,2,3],"matrix_rows":[206,17,471,291,32,260,328,304,384],"offset":2,"phase":1,"quadratic_rows":[228,24,25,398,230,17,17,25,264]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[9,16,33,68,129,256,1,6,2],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":428,"old":422,"rank":3,"right":{"linear_Z4":[1,0,1,1,1,0,2,3,0],"matrix_rows":[21,384,264,65,2,68,392,80,32],"offset":0,"phase":0,"quadratic_rows":[85,0,85,136,85,0,21,136,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[14,22,35,71,129,1,4,263,7],"offset":0,"phase":0,"quadratic_rows":[5,6,7,0,0,0,0,0,0]},"new":432,"old":422,"rank":3,"right":{"linear_Z4":[2,2,2,3,1,0,1,3,3],"matrix_rows":[220,223,475,305,290,324,264,32,384],"offset":0,"phase":0,"quadratic_rows":[52,36,323,216,217,3,220,216,260]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[18,34,72,131,257,1,3,12,4],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":437,"old":422,"rank":4,"right":{"linear_Z4":[1,1,1,2,3,0,2,3,0],"matrix_rows":[8,11,384,260,113,98,388,88,32],"offset":0,"phase":0,"quadratic_rows":[123,107,132,83,25,3,11,132,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,18,34,67,128,1,258,2],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":534,"old":422,"rank":2,"right":{"linear_Z4":[3,1,1,1,0,0,3,1,1],"matrix_rows":[337,222,65,258,260,264,336,32,384],"offset":1,"phase":1,"quadratic_rows":[273,478,478,478,207,0,222,478,399]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,18,32,65,1,128,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":535,"old":422,"rank":2,"right":{"linear_Z4":[3,3,3,0,3,0,0,3,2],"matrix_rows":[3,388,33,50,260,24,32,64,384],"offset":3,"phase":2,"quadratic_rows":[35,51,132,16,26,3,0,132,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,18,32,65,128,1,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":536,"old":422,"rank":2,"right":{"linear_Z4":[3,0,3,0,3,0,2,3,2],"matrix_rows":[81,388,65,2,260,8,80,32,384],"offset":3,"phase":2,"quadratic_rows":[17,0,132,0,17,0,0,132,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,19,35,66,2,131,259,3],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":537,"old":422,"rank":2,"right":{"linear_Z4":[3,3,2,2,3,0,2,2,1],"matrix_rows":[463,460,289,306,260,280,32,320,384],"offset":3,"phase":2,"quadratic_rows":[239,255,259,275,26,3,259,259,460]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[6,8,16,32,66,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":538,"old":422,"rank":2,"right":{"linear_Z4":[3,0,0,0,3,0,0,3,0],"matrix_rows":[384,145,385,2,4,8,400,32,64],"offset":2,"phase":1,"quadratic_rows":[273,0,0,0,273,0,0,384,145]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,18,32,64,128,258,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":539,"old":422,"rank":2,"right":{"linear_Z4":[0,0,3,0,0,0,3,3,0],"matrix_rows":[384,196,1,2,388,8,16,32,448],"offset":2,"phase":1,"quadratic_rows":[0,0,324,0,0,0,324,384,196]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,18,32,65,128,258,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":540,"old":422,"rank":2,"right":{"linear_Z4":[3,0,3,0,3,0,3,2,2],"matrix_rows":[273,196,257,2,132,8,272,32,192],"offset":3,"phase":2,"quadratic_rows":[17,0,68,0,17,0,68,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,18,32,65,128,258,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":541,"old":422,"rank":2,"right":{"linear_Z4":[3,0,3,0,3,0,3,2,2],"matrix_rows":[145,324,129,2,260,8,144,32,320],"offset":3,"phase":2,"quadratic_rows":[17,0,68,0,17,0,68,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,34,65,1,128,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":558,"old":422,"rank":2,"right":{"linear_Z4":[3,3,0,3,3,0,0,3,2],"matrix_rows":[3,392,33,50,20,264,32,64,384],"offset":3,"phase":2,"quadratic_rows":[35,51,16,136,22,3,0,136,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[7,9,18,34,66,128,3,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":559,"old":422,"rank":2,"right":{"linear_Z4":[2,3,3,3,3,0,2,3,0],"matrix_rows":[323,413,65,322,260,264,272,32,384],"offset":3,"phase":2,"quadratic_rows":[158,3,157,157,157,0,0,157,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,34,64,128,1,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":560,"old":422,"rank":2,"right":{"linear_Z4":[3,3,0,3,0,0,2,3,2],"matrix_rows":[67,392,65,66,4,264,16,32,384],"offset":3,"phase":2,"quadratic_rows":[3,3,0,136,0,0,0,136,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,35,66,2,131,259,3],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":561,"old":422,"rank":2,"right":{"linear_Z4":[1,1,0,2,1,0,2,2,2],"matrix_rows":[219,216,289,306,20,264,32,320,384],"offset":0,"phase":0,"quadratic_rows":[507,491,16,259,277,3,259,259,219]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,16,34,64,128,258,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":562,"old":422,"rank":2,"right":{"linear_Z4":[0,0,0,3,0,0,3,3,0],"matrix_rows":[384,200,1,2,4,392,16,32,448],"offset":2,"phase":1,"quadratic_rows":[0,0,0,328,0,0,328,384,200]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[6,10,16,32,64,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":563,"old":422,"rank":2,"right":{"linear_Z4":[3,3,0,0,0,0,0,3,0],"matrix_rows":[384,131,385,386,4,8,16,32,64],"offset":2,"phase":1,"quadratic_rows":[259,259,0,0,0,0,0,384,131]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,34,64,128,258,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":564,"old":422,"rank":2,"right":{"linear_Z4":[3,3,0,3,0,0,3,2,2],"matrix_rows":[259,200,257,258,4,136,16,32,192],"offset":3,"phase":2,"quadratic_rows":[3,3,0,72,0,0,72,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,34,64,128,258,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":565,"old":422,"rank":2,"right":{"linear_Z4":[3,3,0,3,0,0,3,2,2],"matrix_rows":[131,328,129,130,4,264,16,32,320],"offset":3,"phase":2,"quadratic_rows":[3,3,0,72,0,0,72,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,32,64,1,130,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":29,"old":423,"rank":2,"right":{"linear_Z4":[0,3,3,0,0,2,3,3,2],"matrix_rows":[38,448,1,34,36,8,16,320,384],"offset":3,"phase":2,"quadratic_rows":[0,6,6,0,0,0,192,192,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,35,3,66,130,258,2],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":30,"old":423,"rank":2,"right":{"linear_Z4":[0,3,3,0,0,1,1,1,2],"matrix_rows":[6,232,9,282,276,16,288,320,384],"offset":1,"phase":1,"quadratic_rows":[8,286,278,483,6,488,488,488,238]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,9,18,35,64,2,131,259,3],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":31,"old":423,"rank":2,"right":{"linear_Z4":[0,1,3,0,0,0,0,0,1],"matrix_rows":[235,461,257,290,36,264,16,320,384],"offset":2,"phase":1,"quadratic_rows":[38,459,493,38,0,461,38,38,294]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,33,1,64,130,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":32,"old":423,"rank":2,"right":{"linear_Z4":[0,3,3,3,0,0,3,3,2],"matrix_rows":[6,448,9,26,20,16,32,320,384],"offset":3,"phase":2,"quadratic_rows":[8,30,22,11,6,0,192,192,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":160,"old":423,"rank":1,"right":{"linear_Z4":[3,3,3,0,0,3,3,3,2],"matrix_rows":[487,257,258,260,8,16,288,320,384],"offset":1,"phase":1,"quadratic_rows":[231,231,231,0,0,231,231,231,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":163,"old":423,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,2,0,0],"matrix_rows":[74,1,66,4,72,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":170,"old":423,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,2,0,0,0],"matrix_rows":[44,1,2,36,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":171,"old":423,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,0,0,3,2],"matrix_rows":[385,257,2,4,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[129,0,0,0,0,0,0,129,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":189,"old":423,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,0,2,0],"matrix_rows":[138,1,130,4,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":192,"old":423,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,0,0,2],"matrix_rows":[266,1,258,4,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":199,"old":423,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,0,3,0,2],"matrix_rows":[321,257,2,4,8,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[65,0,0,0,0,0,65,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":200,"old":423,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,0,3,2,0],"matrix_rows":[193,129,2,4,8,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[65,0,0,0,0,0,65,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":218,"old":423,"rank":1,"right":{"linear_Z4":[0,3,3,3,0,0,0,0,0],"matrix_rows":[6,9,18,28,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[8,22,30,13,6,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":221,"old":423,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,3,0,3,2],"matrix_rows":[416,1,2,4,8,16,288,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,160,0,160,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":228,"old":423,"rank":1,"right":{"linear_Z4":[3,3,0,3,0,3,3,3,2],"matrix_rows":[491,257,258,4,264,16,288,320,384],"offset":1,"phase":1,"quadratic_rows":[235,235,0,235,0,235,235,235,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":229,"old":423,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,2,0,0],"matrix_rows":[70,1,66,68,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":247,"old":423,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,3,3,0,2],"matrix_rows":[352,1,2,4,8,16,288,320,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,96,96,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":250,"old":423,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,3,3,2,0],"matrix_rows":[224,1,2,4,8,16,160,192,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,96,96,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":257,"old":423,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,2,0],"matrix_rows":[134,1,130,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":258,"old":423,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,0,2],"matrix_rows":[262,1,258,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[6,8,16,32,64,130,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":406,"old":423,"rank":2,"right":{"linear_Z4":[3,0,0,0,0,3,0,3,0],"matrix_rows":[384,161,385,2,4,8,16,416,64],"offset":2,"phase":1,"quadratic_rows":[289,0,0,0,0,289,0,384,161]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,18,34,64,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":407,"old":423,"rank":2,"right":{"linear_Z4":[0,0,3,3,0,0,0,3,0],"matrix_rows":[384,140,1,2,388,392,16,32,64],"offset":2,"phase":1,"quadratic_rows":[0,0,268,268,0,0,0,384,140]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,18,34,64,129,256,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":408,"old":423,"rank":2,"right":{"linear_Z4":[3,0,3,3,0,3,0,2,2],"matrix_rows":[161,268,129,2,260,264,16,160,64],"offset":3,"phase":2,"quadratic_rows":[33,0,12,12,0,33,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,18,34,64,129,256,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":409,"old":423,"rank":2,"right":{"linear_Z4":[3,0,3,3,0,3,0,2,2],"matrix_rows":[289,140,257,2,132,136,16,288,64],"offset":3,"phase":2,"quadratic_rows":[33,0,12,12,0,33,0,0,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[15,21,34,69,2,131,4,263,7],"offset":0,"phase":0,"quadratic_rows":[5,6,7,0,0,0,0,0,0]},"new":429,"old":423,"rank":3,"right":{"linear_Z4":[3,2,1,2,0,2,1,3,3],"matrix_rows":[239,229,463,257,278,16,280,352,384],"offset":0,"phase":0,"quadratic_rows":[197,52,199,48,10,330,229,197,288]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[14,21,37,66,2,135,1,263,7],"offset":0,"phase":0,"quadratic_rows":[7,3,5,0,0,0,0,0,0]},"new":430,"old":423,"rank":3,"right":{"linear_Z4":[2,2,2,1,0,3,1,3,3],"matrix_rows":[494,233,239,321,282,276,16,288,384],"offset":0,"phase":0,"quadratic_rows":[326,25,17,234,6,232,233,232,257]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[12,18,34,64,128,258,2,5,1],"offset":0,"phase":0,"quadratic_rows":[5,2,5,0,0,0,0,0,0]},"new":431,"old":423,"rank":3,"right":{"linear_Z4":[1,1,1,0,0,1,2,3,0],"matrix_rows":[384,38,257,385,66,68,8,16,96],"offset":0,"phase":0,"quadratic_rows":[129,102,102,0,0,102,38,129,0]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,34,67,130,3,264,1,12,4],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":436,"old":423,"rank":4,"right":{"linear_Z4":[1,3,3,3,0,1,2,3,0],"matrix_rows":[1,10,384,288,69,86,16,88,416],"offset":2,"phase":1,"quadratic_rows":[69,94,7,90,10,160,11,160,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,18,34,64,2,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":542,"old":423,"rank":2,"right":{"linear_Z4":[3,0,3,3,0,2,0,3,2],"matrix_rows":[385,44,257,2,36,40,16,64,384],"offset":3,"phase":2,"quadratic_rows":[129,0,12,12,0,0,0,129,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,17,35,64,129,2,257,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":543,"old":423,"rank":2,"right":{"linear_Z4":[1,3,1,0,0,1,3,1,1],"matrix_rows":[237,330,257,66,260,328,16,288,384],"offset":2,"phase":1,"quadratic_rows":[493,266,493,231,0,493,237,493,423]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,34,64,128,2,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":544,"old":423,"rank":2,"right":{"linear_Z4":[3,3,0,3,0,0,2,3,2],"matrix_rows":[385,74,257,66,4,72,16,32,384],"offset":3,"phase":2,"quadratic_rows":[129,10,0,10,0,0,0,129,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,18,35,64,2,129,257,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":545,"old":423,"rank":2,"right":{"linear_Z4":[1,1,3,0,0,3,1,1,1],"matrix_rows":[235,300,257,258,36,296,16,320,384],"offset":2,"phase":1,"quadratic_rows":[491,491,268,231,0,235,491,491,455]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[6,8,16,32,64,128,258,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":546,"old":423,"rank":2,"right":{"linear_Z4":[3,0,0,0,0,0,3,3,0],"matrix_rows":[384,193,385,2,4,8,16,32,448],"offset":2,"phase":1,"quadratic_rows":[321,0,0,0,0,0,321,384,193]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,16,34,64,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":547,"old":423,"rank":2,"right":{"linear_Z4":[0,3,0,3,0,0,0,3,0],"matrix_rows":[384,138,1,386,4,392,16,32,64],"offset":2,"phase":1,"quadratic_rows":[0,266,0,266,0,0,0,384,138]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,34,64,128,257,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":548,"old":423,"rank":2,"right":{"linear_Z4":[3,3,0,3,0,0,3,2,2],"matrix_rows":[193,266,129,258,4,264,16,32,192],"offset":3,"phase":2,"quadratic_rows":[65,10,0,10,0,0,65,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,34,64,128,257,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":549,"old":423,"rank":2,"right":{"linear_Z4":[3,3,0,3,0,0,3,2,2],"matrix_rows":[321,138,257,130,4,136,16,32,320],"offset":3,"phase":2,"quadratic_rows":[65,10,0,10,0,0,65,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,19,33,64,129,2,257,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":550,"old":423,"rank":2,"right":{"linear_Z4":[1,3,0,1,0,1,3,1,1],"matrix_rows":[237,326,257,66,324,264,16,288,384],"offset":2,"phase":1,"quadratic_rows":[493,262,235,493,0,493,237,493,427]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,33,1,66,128,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":551,"old":423,"rank":2,"right":{"linear_Z4":[0,3,3,3,0,3,0,3,2],"matrix_rows":[6,416,9,18,28,16,288,64,384],"offset":3,"phase":2,"quadratic_rows":[8,22,30,13,6,160,0,160,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,32,64,130,1,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":552,"old":423,"rank":2,"right":{"linear_Z4":[0,3,3,0,0,3,2,3,2],"matrix_rows":[70,416,1,66,68,8,16,288,384],"offset":3,"phase":2,"quadratic_rows":[0,6,6,0,0,160,0,160,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[4,11,19,33,1,66,130,258,2],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":553,"old":423,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,1,1,1,2],"matrix_rows":[6,238,9,274,284,16,288,320,384],"offset":1,"phase":1,"quadratic_rows":[8,504,496,483,6,494,494,494,238]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,18,32,64,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":554,"old":423,"rank":2,"right":{"linear_Z4":[0,3,3,0,0,0,0,3,0],"matrix_rows":[384,134,1,386,388,8,16,32,64],"offset":2,"phase":1,"quadratic_rows":[0,262,262,0,0,0,0,384,134]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,16,32,64,130,258,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":555,"old":423,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,3,3,3,0],"matrix_rows":[384,224,1,2,4,8,16,416,448],"offset":2,"phase":1,"quadratic_rows":[0,0,0,0,0,352,352,384,224]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,32,64,130,258,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":556,"old":423,"rank":2,"right":{"linear_Z4":[0,3,3,0,0,3,3,2,2],"matrix_rows":[262,224,1,258,260,8,16,160,192],"offset":3,"phase":2,"quadratic_rows":[0,6,6,0,0,96,96,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,32,64,130,258,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":557,"old":423,"rank":2,"right":{"linear_Z4":[0,3,3,0,0,3,3,2,2],"matrix_rows":[134,352,1,130,132,8,16,288,320],"offset":3,"phase":2,"quadratic_rows":[0,6,6,0,0,96,96,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,8,18,35,67,128,256,1,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":740,"old":424,"rank":2,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,1],"matrix_rows":[281,28,129,2,256,264,272,32,64],"offset":18,"phase":0,"quadratic_rows":[409,0,280,5,5,0,0,1,261]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[7,8,17,34,66,128,256,2,3],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":741,"old":424,"rank":2,"right":{"linear_Z4":[0,0,0,1,1,0,0,0,2],"matrix_rows":[261,153,257,2,256,136,144,32,64],"offset":17,"phase":0,"quadratic_rows":[156,0,1,25,25,0,0,1,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[7,8,17,35,66,2,128,259,3],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":742,"old":424,"rank":2,"right":{"linear_Z4":[2,0,0,2,2,0,0,2,2],"matrix_rows":[429,153,257,2,288,264,32,64,384],"offset":64,"phase":3,"quadratic_rows":[52,0,137,52,169,153,0,52,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,8,18,33,67,128,1,259,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":743,"old":424,"rank":2,"right":{"linear_Z4":[2,0,0,1,0,0,0,0,1],"matrix_rows":[408,212,9,2,320,64,272,32,384],"offset":37,"phase":3,"quadratic_rows":[8,0,400,473,76,0,408,76,332]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,18,33,67,128,256,1,3],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":744,"old":424,"rank":2,"right":{"linear_Z4":[1,0,0,1,0,0,0,0,2],"matrix_rows":[153,276,129,2,256,136,272,32,64],"offset":18,"phase":0,"quadratic_rows":[25,0,16,25,141,0,0,16,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,8,17,35,66,128,256,2,3],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":745,"old":424,"rank":2,"right":{"linear_Z4":[0,0,0,0,1,0,0,2,1],"matrix_rows":[13,281,257,2,256,264,144,32,64],"offset":17,"phase":0,"quadratic_rows":[20,0,265,20,409,0,0,16,276]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,8,17,32,66,2,128,259,3],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":746,"old":424,"rank":2,"right":{"linear_Z4":[0,0,0,2,1,0,0,0,1],"matrix_rows":[165,401,257,2,288,24,32,64,384],"offset":98,"phase":3,"quadratic_rows":[52,0,385,16,441,401,0,52,308]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,2,19,35,64,128,259,3],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":747,"old":424,"rank":2,"right":{"linear_Z4":[2,0,0,2,2,0,0,2,2],"matrix_rows":[153,156,256,258,264,272,32,64,384],"offset":4,"phase":3,"quadratic_rows":[408,0,152,261,261,0,0,261,153]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,9,19,32,66,128,1,259,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":748,"old":425,"rank":2,"right":{"linear_Z4":[2,1,0,0,0,0,0,0,1],"matrix_rows":[390,212,3,64,260,8,320,32,384],"offset":13,"phase":3,"quadratic_rows":[2,455,82,0,388,0,390,82,338]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,11,17,32,66,1,128,259,3],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":749,"old":425,"rank":2,"right":{"linear_Z4":[2,2,2,0,0,0,0,2,2],"matrix_rows":[135,435,257,258,32,8,288,64,384],"offset":16,"phase":3,"quadratic_rows":[52,52,163,0,131,135,0,52,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,11,19,32,66,128,256,1,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":750,"old":425,"rank":2,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,1],"matrix_rows":[263,22,129,258,260,8,256,32,64],"offset":66,"phase":0,"quadratic_rows":[391,17,17,0,262,0,0,1,273]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[7,9,17,32,66,128,256,1,3],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":751,"old":425,"rank":2,"right":{"linear_Z4":[0,1,1,0,0,0,0,0,2],"matrix_rows":[135,273,257,130,132,8,256,32,64],"offset":66,"phase":0,"quadratic_rows":[150,7,7,0,1,0,0,1,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,11,19,33,2,64,128,259,3],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":752,"old":425,"rank":2,"right":{"linear_Z4":[2,2,2,0,0,0,0,2,2],"matrix_rows":[135,150,256,258,260,264,32,64,384],"offset":4,"phase":3,"quadratic_rows":[390,273,273,0,134,0,0,273,135]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[7,8,17,32,66,1,128,259,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":753,"old":425,"rank":2,"right":{"linear_Z4":[0,2,1,0,0,0,0,0,1],"matrix_rows":[389,177,257,6,32,8,288,64,384],"offset":25,"phase":3,"quadratic_rows":[52,4,423,0,385,389,0,52,308]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,19,32,66,128,256,1,3],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":754,"old":425,"rank":2,"right":{"linear_Z4":[1,1,0,0,0,0,0,0,2],"matrix_rows":[135,276,129,130,260,8,256,32,64],"offset":66,"phase":0,"quadratic_rows":[7,7,147,0,4,0,0,4,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[7,11,17,32,66,128,256,1,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":755,"old":425,"rank":2,"right":{"linear_Z4":[0,0,1,0,0,0,0,2,1],"matrix_rows":[263,19,257,258,132,8,256,32,64],"offset":66,"phase":0,"quadratic_rows":[20,20,391,0,259,0,0,4,276]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":764,"old":426,"rank":1,"right":{"linear_Z4":[1,1,3,0,0,0,0,3,0],"matrix_rows":[199,321,322,260,8,16,32,256,384],"offset":135,"phase":0,"quadratic_rows":[391,391,455,0,0,0,388,455,199]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":765,"old":426,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,3,3,2],"matrix_rows":[455,257,258,256,264,16,32,320,384],"offset":9,"phase":0,"quadratic_rows":[199,199,195,0,0,0,199,199,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":766,"old":426,"rank":1,"right":{"linear_Z4":[3,1,1,0,0,0,0,3,0],"matrix_rows":[199,257,322,324,8,16,32,256,384],"offset":141,"phase":0,"quadratic_rows":[455,391,391,0,0,0,385,455,199]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":767,"old":426,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,3,3,2],"matrix_rows":[455,256,258,260,8,16,288,320,384],"offset":3,"phase":0,"quadratic_rows":[198,199,199,0,0,0,199,199,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":768,"old":426,"rank":1,"right":{"linear_Z4":[1,3,3,0,0,0,1,0,0],"matrix_rows":[199,385,258,260,8,16,32,448,256],"offset":387,"phase":0,"quadratic_rows":[327,455,455,0,0,0,327,262,199]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":769,"old":426,"rank":1,"right":{"linear_Z4":[3,1,1,0,0,0,3,0,0],"matrix_rows":[199,257,386,388,8,16,32,320,256],"offset":269,"phase":0,"quadratic_rows":[455,327,327,0,0,0,455,321,199]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":770,"old":426,"rank":1,"right":{"linear_Z4":[3,3,1,0,0,0,1,0,0],"matrix_rows":[199,257,258,388,8,16,32,448,256],"offset":393,"phase":0,"quadratic_rows":[455,455,327,0,0,0,327,259,199]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":771,"old":426,"rank":1,"right":{"linear_Z4":[1,1,3,0,0,0,3,0,0],"matrix_rows":[199,385,386,260,8,16,32,320,256],"offset":263,"phase":0,"quadratic_rows":[327,327,455,0,0,0,455,324,199]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[6,11,17,32,65,128,1,259,3],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":756,"old":427,"rank":2,"right":{"linear_Z4":[1,1,3,0,3,0,0,0,3],"matrix_rows":[342,81,339,256,68,24,64,32,384],"offset":15,"phase":0,"quadratic_rows":[259,263,278,16,28,0,0,0,263]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[7,8,18,32,65,2,3,128,256],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":757,"old":427,"rank":2,"right":{"linear_Z4":[2,0,2,2,2,0,2,0,0],"matrix_rows":[97,21,81,2,32,24,96,128,256],"offset":117,"phase":3,"quadratic_rows":[36,0,49,16,44,21,0,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,34,67,2,3,128,256],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":758,"old":427,"rank":2,"right":{"linear_Z4":[3,2,3,1,0,0,0,0,0],"matrix_rows":[5,24,113,26,100,32,64,128,256],"offset":43,"phase":0,"quadratic_rows":[117,24,101,42,35,29,5,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,35,66,3,2,128,256],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":759,"old":427,"rank":2,"right":{"linear_Z4":[1,0,1,3,2,0,0,0,0],"matrix_rows":[29,24,105,2,124,32,64,128,256],"offset":55,"phase":1,"quadratic_rows":[117,0,101,56,41,29,5,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[7,8,19,34,65,2,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":760,"old":427,"rank":2,"right":{"linear_Z4":[2,0,2,0,1,0,0,0,0],"matrix_rows":[5,29,113,2,100,32,64,128,256],"offset":35,"phase":1,"quadratic_rows":[104,0,120,53,60,29,5,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,35,66,3,2,128,256],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":761,"old":427,"rank":2,"right":{"linear_Z4":[1,2,1,0,1,0,0,0,0],"matrix_rows":[29,24,105,26,124,32,64,128,256],"offset":63,"phase":0,"quadratic_rows":[117,24,101,34,51,29,5,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,18,32,66,1,3,128,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":762,"old":427,"rank":2,"right":{"linear_Z4":[0,0,1,2,3,2,1,0,0],"matrix_rows":[65,84,32,2,100,24,96,128,256],"offset":101,"phase":2,"quadratic_rows":[96,0,52,16,60,21,65,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,11,18,32,65,2,3,128,256],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":763,"old":427,"rank":2,"right":{"linear_Z4":[0,2,3,0,2,0,1,0,0],"matrix_rows":[39,83,81,70,32,24,96,128,256],"offset":26,"phase":3,"quadratic_rows":[36,48,69,16,106,83,116,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,19,32,65,1,2,128,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":732,"old":428,"rank":2,"right":{"linear_Z4":[2,3,2,0,1,3,1,0,0],"matrix_rows":[116,114,21,86,96,8,32,128,256],"offset":77,"phase":0,"quadratic_rows":[20,38,83,0,117,114,116,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[7,10,19,34,67,128,3,258,2],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":733,"old":428,"rank":2,"right":{"linear_Z4":[2,1,0,2,2,0,0,0,0],"matrix_rows":[17,23,69,270,64,256,80,32,384],"offset":43,"phase":0,"quadratic_rows":[66,283,280,6,70,0,17,0,6]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[6,8,19,33,67,128,3,257,1],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":734,"old":428,"rank":2,"right":{"linear_Z4":[3,0,0,2,0,0,1,0,0],"matrix_rows":[348,281,333,6,64,256,80,32,384],"offset":37,"phase":3,"quadratic_rows":[85,4,83,0,5,0,69,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[7,8,17,32,66,2,3,128,256],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":735,"old":428,"rank":2,"right":{"linear_Z4":[2,2,2,0,2,0,2,0,0],"matrix_rows":[97,21,69,6,96,8,32,128,256],"offset":93,"phase":3,"quadratic_rows":[48,4,50,0,37,21,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,8,17,35,66,2,3,128,256],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":736,"old":428,"rank":2,"right":{"linear_Z4":[0,0,2,2,3,0,1,0,0],"matrix_rows":[57,77,69,6,96,88,32,128,256],"offset":98,"phase":3,"quadratic_rows":[48,4,106,36,81,77,116,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,18,32,66,1,3,128,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":737,"old":428,"rank":2,"right":{"linear_Z4":[0,2,3,0,1,2,1,0,0],"matrix_rows":[65,84,32,6,96,8,112,128,256],"offset":29,"phase":2,"quadratic_rows":[96,4,54,0,52,21,65,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[7,10,17,32,67,2,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":738,"old":428,"rank":2,"right":{"linear_Z4":[2,0,1,0,2,0,0,0,0],"matrix_rows":[17,23,101,32,64,8,112,128,256],"offset":11,"phase":1,"quadratic_rows":[98,53,54,0,102,23,17,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,10,19,34,65,1,2,128,256],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":739,"old":428,"rank":2,"right":{"linear_Z4":[0,3,2,1,3,1,1,0,0],"matrix_rows":[116,42,21,86,96,88,32,128,256],"offset":114,"phase":2,"quadratic_rows":[20,126,83,122,95,42,94,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,35,64,131,256,2,3],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":724,"old":429,"rank":2,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,1],"matrix_rows":[41,298,256,130,4,264,16,288,64],"offset":5,"phase":0,"quadratic_rows":[296,426,0,3,0,3,0,2,259]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,11,16,34,64,130,256,2,3],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":725,"old":429,"rank":2,"right":{"linear_Z4":[0,0,0,1,0,1,0,0,2],"matrix_rows":[259,170,256,258,4,136,16,160,64],"offset":5,"phase":0,"quadratic_rows":[2,169,0,42,0,42,0,2,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,11,16,34,2,67,128,259,3],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":726,"old":429,"rank":2,"right":{"linear_Z4":[0,2,0,2,0,2,0,2,2],"matrix_rows":[435,170,272,258,4,16,288,64,384],"offset":32,"phase":3,"quadratic_rows":[162,25,0,178,170,25,0,25,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,16,35,64,130,2,259,3],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":727,"old":429,"rank":2,"right":{"linear_Z4":[0,2,0,0,0,1,0,0,1],"matrix_rows":[201,424,320,34,4,264,16,64,384],"offset":138,"phase":3,"quadratic_rows":[392,32,0,97,0,490,424,97,353]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,11,16,34,64,131,256,2,3],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":728,"old":429,"rank":2,"right":{"linear_Z4":[0,0,0,1,0,0,0,2,1],"matrix_rows":[35,298,256,258,4,136,16,288,64],"offset":5,"phase":0,"quadratic_rows":[290,9,0,426,0,9,0,8,265]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,35,64,130,256,2,3],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":729,"old":429,"rank":2,"right":{"linear_Z4":[0,1,0,0,0,1,0,0,2],"matrix_rows":[265,170,256,130,4,264,16,160,64],"offset":5,"phase":0,"quadratic_rows":[8,42,0,163,0,42,0,8,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,2,19,32,67,128,259,3],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":730,"old":429,"rank":2,"right":{"linear_Z4":[0,2,0,2,0,2,0,2,2],"matrix_rows":[429,170,260,4,264,16,288,64,384],"offset":8,"phase":3,"quadratic_rows":[168,172,170,7,0,7,0,7,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,11,16,32,64,130,2,259,3],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":731,"old":429,"rank":2,"right":{"linear_Z4":[0,0,0,2,0,1,0,0,1],"matrix_rows":[195,418,320,258,4,40,16,64,384],"offset":162,"phase":3,"quadratic_rows":[386,97,0,32,0,490,418,97,353]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[7,9,19,32,64,130,256,1,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":708,"old":430,"rank":2,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,1],"matrix_rows":[263,37,257,130,260,8,16,256,64],"offset":130,"phase":0,"quadratic_rows":[34,391,34,0,0,261,0,2,290]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,11,17,32,64,130,256,1,3],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":709,"old":430,"rank":2,"right":{"linear_Z4":[1,0,1,0,0,0,0,0,2],"matrix_rows":[135,290,129,258,132,8,16,256,64],"offset":130,"phase":0,"quadratic_rows":[7,165,7,0,0,2,0,2,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,11,17,32,65,2,128,259,3],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":710,"old":430,"rank":2,"right":{"linear_Z4":[2,2,2,0,0,0,0,2,2],"matrix_rows":[135,163,257,258,256,8,272,64,384],"offset":16,"phase":3,"quadratic_rows":[292,292,387,0,0,131,0,292,135]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,9,19,33,64,2,128,259,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":711,"old":430,"rank":2,"right":{"linear_Z4":[2,1,0,0,0,0,0,0,3],"matrix_rows":[390,420,3,256,260,264,16,64,384],"offset":13,"phase":3,"quadratic_rows":[2,135,290,0,0,388,0,290,420]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,19,32,64,130,256,1,3],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":712,"old":430,"rank":2,"right":{"linear_Z4":[1,1,0,0,0,0,0,0,2],"matrix_rows":[135,292,129,130,260,8,16,256,64],"offset":130,"phase":0,"quadratic_rows":[7,7,163,0,0,4,0,4,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[7,11,17,32,64,130,256,1,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":713,"old":430,"rank":2,"right":{"linear_Z4":[0,0,1,0,0,0,0,2,1],"matrix_rows":[263,35,257,258,132,8,16,256,64],"offset":130,"phase":0,"quadratic_rows":[36,36,391,0,0,259,0,4,292]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,11,17,32,65,2,128,259,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":714,"old":430,"rank":2,"right":{"linear_Z4":[2,0,1,0,0,0,0,0,3],"matrix_rows":[390,418,5,258,256,8,272,64,384],"offset":21,"phase":3,"quadratic_rows":[4,292,135,0,0,386,0,292,418]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,9,19,33,64,2,128,259,3],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":715,"old":430,"rank":2,"right":{"linear_Z4":[2,2,2,0,0,0,0,2,2],"matrix_rows":[135,165,257,256,260,264,16,64,384],"offset":8,"phase":3,"quadratic_rows":[290,389,290,0,0,133,0,290,135]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,11,18,32,66,1,3,128,256],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":700,"old":431,"rank":2,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,0],"matrix_rows":[2,38,1,98,64,40,80,128,256],"offset":104,"phase":3,"quadratic_rows":[0,68,98,32,0,76,38,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,11,17,32,67,1,2,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":701,"old":431,"rank":2,"right":{"linear_Z4":[1,1,3,0,0,1,2,0,0],"matrix_rows":[5,66,35,64,4,40,80,128,256],"offset":15,"phase":0,"quadratic_rows":[39,35,5,32,0,43,0,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[4,10,18,33,1,67,3,128,256],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":702,"old":431,"rank":2,"right":{"linear_Z4":[2,3,3,1,0,0,0,0,0],"matrix_rows":[40,6,41,114,84,16,64,128,256],"offset":39,"phase":0,"quadratic_rows":[40,118,86,25,46,19,6,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,35,3,66,2,128,256],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":703,"old":431,"rank":2,"right":{"linear_Z4":[0,1,1,3,0,2,0,0,0],"matrix_rows":[46,40,1,90,124,16,64,128,256],"offset":59,"phase":1,"quadratic_rows":[0,118,86,56,46,26,6,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[4,10,18,35,3,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":704,"old":431,"rank":2,"right":{"linear_Z4":[2,1,1,0,0,1,0,0,0],"matrix_rows":[40,46,41,90,124,16,64,128,256],"offset":63,"phase":0,"quadratic_rows":[40,118,86,17,46,51,6,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[4,11,19,34,2,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":705,"old":431,"rank":2,"right":{"linear_Z4":[0,2,2,0,0,1,0,0,0],"matrix_rows":[6,46,1,114,84,16,64,128,256],"offset":35,"phase":1,"quadratic_rows":[0,88,120,54,46,60,6,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,18,32,65,2,3,128,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":706,"old":431,"rank":2,"right":{"linear_Z4":[0,2,3,2,0,1,3,0,0],"matrix_rows":[66,100,1,64,4,40,80,128,256],"offset":113,"phase":0,"quadratic_rows":[0,0,100,32,0,108,100,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[7,11,17,32,65,2,3,128,256],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":707,"old":431,"rank":2,"right":{"linear_Z4":[2,0,3,0,0,2,3,0,0],"matrix_rows":[99,71,69,98,64,40,80,128,256],"offset":21,"phase":3,"quadratic_rows":[96,68,70,32,0,9,71,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[7,9,19,34,64,128,256,1,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":692,"old":432,"rank":2,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,1],"matrix_rows":[263,13,257,130,260,256,16,32,64],"offset":34,"phase":0,"quadratic_rows":[10,391,10,261,0,0,0,2,266]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,11,17,34,64,128,256,1,3],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":693,"old":432,"rank":2,"right":{"linear_Z4":[1,0,1,0,0,0,0,0,2],"matrix_rows":[135,266,129,258,132,256,16,32,64],"offset":34,"phase":0,"quadratic_rows":[7,141,7,2,0,0,0,2,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,11,19,34,1,64,128,259,3],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":694,"old":432,"rank":2,"right":{"linear_Z4":[2,2,2,0,0,0,0,2,2],"matrix_rows":[135,414,16,258,260,272,32,64,384],"offset":4,"phase":3,"quadratic_rows":[150,25,25,134,135,0,0,25,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[7,8,17,34,64,128,1,259,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":695,"old":432,"rank":2,"right":{"linear_Z4":[0,2,1,0,0,0,0,0,1],"matrix_rows":[389,201,257,6,64,320,16,32,384],"offset":25,"phase":3,"quadratic_rows":[76,4,455,385,0,0,389,76,332]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,11,19,34,64,128,256,1,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":696,"old":432,"rank":2,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,1],"matrix_rows":[263,14,129,258,260,256,16,32,64],"offset":34,"phase":0,"quadratic_rows":[391,9,9,262,0,0,0,1,265]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[7,9,17,34,64,128,256,1,3],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":697,"old":432,"rank":2,"right":{"linear_Z4":[0,1,1,0,0,0,0,0,2],"matrix_rows":[135,265,257,130,132,256,16,32,64],"offset":34,"phase":0,"quadratic_rows":[142,7,7,1,0,0,0,1,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,9,19,34,64,1,128,259,3],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":698,"old":432,"rank":2,"right":{"linear_Z4":[2,2,2,0,0,0,0,2,2],"matrix_rows":[135,429,257,32,260,288,16,64,384],"offset":8,"phase":3,"quadratic_rows":[42,165,42,133,0,135,0,42,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,11,17,34,64,128,1,259,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":699,"old":432,"rank":2,"right":{"linear_Z4":[2,0,1,0,0,0,0,0,1],"matrix_rows":[390,202,5,258,64,320,16,32,384],"offset":21,"phase":3,"quadratic_rows":[4,76,455,386,0,0,390,76,332]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,9,16,32,66,128,2,259,3],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":668,"old":433,"rank":2,"right":{"linear_Z4":[0,0,0,2,1,0,0,0,1],"matrix_rows":[195,401,257,320,4,24,64,32,384],"offset":98,"phase":3,"quadratic_rows":[82,385,0,16,473,0,401,82,338]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,1,19,35,64,128,259,3],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":669,"old":433,"rank":2,"right":{"linear_Z4":[2,0,0,2,2,0,0,2,2],"matrix_rows":[153,414,4,260,264,272,32,64,384],"offset":4,"phase":3,"quadratic_rows":[156,152,153,7,7,0,0,7,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,9,16,34,67,128,256,2,3],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":670,"old":433,"rank":2,"right":{"linear_Z4":[0,0,0,1,0,0,0,2,1],"matrix_rows":[19,281,257,256,4,136,272,32,64],"offset":9,"phase":0,"quadratic_rows":[10,273,0,409,10,0,0,8,266]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,35,65,128,256,1,3],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":671,"old":433,"rank":2,"right":{"linear_Z4":[1,0,0,0,1,0,0,0,2],"matrix_rows":[153,266,129,256,4,264,144,32,64],"offset":10,"phase":0,"quadratic_rows":[25,8,0,147,25,0,0,8,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,10,16,35,65,128,1,259,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":672,"old":433,"rank":2,"right":{"linear_Z4":[2,0,0,0,1,0,0,0,1],"matrix_rows":[408,202,17,320,4,264,64,32,384],"offset":69,"phase":3,"quadratic_rows":[16,392,0,82,473,0,408,82,338]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[7,9,16,34,67,2,128,259,3],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":673,"old":433,"rank":2,"right":{"linear_Z4":[2,0,0,2,2,0,0,2,2],"matrix_rows":[435,153,257,288,4,32,272,64,384],"offset":32,"phase":3,"quadratic_rows":[42,145,0,177,42,153,0,42,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,35,67,128,256,1,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":674,"old":433,"rank":2,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,1],"matrix_rows":[281,26,129,256,4,264,272,32,64],"offset":10,"phase":0,"quadratic_rows":[409,280,0,3,3,0,0,1,259]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[7,9,16,34,66,128,256,2,3],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":675,"old":433,"rank":2,"right":{"linear_Z4":[0,0,0,1,1,0,0,0,2],"matrix_rows":[259,153,257,256,4,136,144,32,64],"offset":9,"phase":0,"quadratic_rows":[154,1,0,25,25,0,0,1,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,10,19,33,66,3,128,258,2],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":676,"old":434,"rank":2,"right":{"linear_Z4":[0,1,0,3,2,1,0,0,0],"matrix_rows":[281,39,37,278,32,312,256,64,384],"offset":106,"phase":0,"quadratic_rows":[282,307,304,41,39,318,0,0,39]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[7,9,18,35,64,2,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":677,"old":434,"rank":2,"right":{"linear_Z4":[2,1,0,2,0,0,0,0,0],"matrix_rows":[9,15,99,64,32,104,16,128,256],"offset":19,"phase":1,"quadratic_rows":[100,46,43,102,0,15,9,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,35,66,1,128,258,2],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":678,"old":434,"rank":2,"right":{"linear_Z4":[1,0,3,2,3,1,0,0,1],"matrix_rows":[281,40,37,6,32,312,256,64,384],"offset":98,"phase":3,"quadratic_rows":[317,4,7,1,305,305,0,0,305]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,18,34,64,3,1,128,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":679,"old":434,"rank":2,"right":{"linear_Z4":[0,2,3,1,0,1,2,0,0],"matrix_rows":[33,44,64,6,96,104,16,128,256],"offset":29,"phase":2,"quadratic_rows":[96,4,78,76,0,33,13,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[6,8,19,35,65,3,128,257,1],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":680,"old":434,"rank":2,"right":{"linear_Z4":[3,0,0,0,2,1,0,0,0],"matrix_rows":[316,281,309,6,32,40,256,64,384],"offset":69,"phase":3,"quadratic_rows":[45,4,43,5,0,37,0,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[7,8,17,34,64,3,2,128,256],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":681,"old":434,"rank":2,"right":{"linear_Z4":[2,2,2,2,0,2,0,0,0],"matrix_rows":[97,13,37,6,96,64,16,128,256],"offset":61,"phase":3,"quadratic_rows":[72,4,74,69,0,0,13,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[6,9,19,35,65,3,128,257,1],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":682,"old":434,"rank":2,"right":{"linear_Z4":[3,1,3,0,2,1,0,0,0],"matrix_rows":[42,281,309,278,32,40,256,64,384],"offset":77,"phase":0,"quadratic_rows":[45,318,7,275,42,307,0,0,42]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,19,34,64,1,2,128,256],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":683,"old":434,"rank":2,"right":{"linear_Z4":[1,1,3,2,0,1,3,0,0],"matrix_rows":[79,108,37,46,96,64,16,128,256],"offset":2,"phase":1,"quadratic_rows":[107,99,76,69,0,35,79,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":660,"old":435,"rank":1,"right":{"linear_Z4":[1,1,1,1,0,0,0,0,2],"matrix_rows":[335,321,322,324,328,16,32,256,384],"offset":159,"phase":0,"quadratic_rows":[15,15,15,15,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":661,"old":435,"rank":1,"right":{"linear_Z4":[1,1,2,0,0,2,0,0,0],"matrix_rows":[39,33,34,32,8,48,64,128,256],"offset":8,"phase":3,"quadratic_rows":[7,7,3,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":662,"old":435,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,0,0],"matrix_rows":[13,32,2,36,40,16,64,128,256],"offset":3,"phase":0,"quadratic_rows":[44,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":663,"old":435,"rank":1,"right":{"linear_Z4":[0,1,0,1,0,0,0,0,2],"matrix_rows":[330,1,322,4,328,16,32,256,384],"offset":149,"phase":0,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":664,"old":435,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,0,0,0,2],"matrix_rows":[326,1,322,324,8,16,32,256,384],"offset":141,"phase":0,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":665,"old":435,"rank":1,"right":{"linear_Z4":[0,1,1,3,0,2,0,0,0],"matrix_rows":[38,9,34,44,32,48,64,128,256],"offset":61,"phase":1,"quadratic_rows":[8,6,14,13,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":666,"old":435,"rank":1,"right":{"linear_Z4":[1,1,0,2,0,2,0,0,0],"matrix_rows":[43,33,34,4,32,48,64,128,256],"offset":16,"phase":3,"quadratic_rows":[11,11,0,3,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":667,"old":435,"rank":1,"right":{"linear_Z4":[1,1,0,0,0,0,0,0,2],"matrix_rows":[323,321,322,4,8,16,32,256,384],"offset":135,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":716,"old":436,"rank":1,"right":{"linear_Z4":[2,1,0,2,0,0,2,0,0],"matrix_rows":[10,1,66,4,64,80,32,128,256],"offset":50,"phase":1,"quadratic_rows":[0,74,0,66,0,0,10,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":717,"old":436,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,2,0,0,0],"matrix_rows":[2,1,290,4,8,16,256,64,384],"offset":69,"phase":3,"quadratic_rows":[0,290,0,0,0,2,0,0,2]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":718,"old":436,"rank":1,"right":{"linear_Z4":[1,1,0,0,0,0,0,0,2],"matrix_rows":[291,289,290,4,8,16,256,64,384],"offset":71,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":719,"old":436,"rank":1,"right":{"linear_Z4":[3,3,0,2,0,0,2,0,0],"matrix_rows":[67,73,66,4,64,80,32,128,256],"offset":1,"phase":1,"quadratic_rows":[11,3,0,1,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":720,"old":436,"rank":1,"right":{"linear_Z4":[3,2,0,3,0,0,2,0,0],"matrix_rows":[73,67,64,68,72,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[11,1,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":721,"old":436,"rank":1,"right":{"linear_Z4":[1,0,0,1,0,0,0,0,2],"matrix_rows":[297,289,2,4,296,16,256,64,384],"offset":83,"phase":0,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":722,"old":436,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,2,0,0,0],"matrix_rows":[8,1,2,4,296,16,256,64,384],"offset":81,"phase":3,"quadratic_rows":[0,0,0,296,0,8,0,0,8]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":723,"old":436,"rank":1,"right":{"linear_Z4":[2,2,0,1,0,0,2,0,0],"matrix_rows":[10,1,64,68,72,16,32,128,256],"offset":14,"phase":1,"quadratic_rows":[0,72,0,74,0,0,10,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":684,"old":437,"rank":1,"right":{"linear_Z4":[2,1,0,2,0,0,2,0,0],"matrix_rows":[3,64,66,4,8,80,32,128,256],"offset":50,"phase":1,"quadratic_rows":[66,67,0,0,0,0,3,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":685,"old":437,"rank":1,"right":{"linear_Z4":[0,1,2,0,0,0,0,0,0],"matrix_rows":[2,1,262,256,8,16,32,64,384],"offset":13,"phase":3,"quadratic_rows":[0,262,2,0,0,0,0,0,2]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":686,"old":437,"rank":1,"right":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[8,1,10,12,64,80,96,128,256],"offset":73,"phase":3,"quadratic_rows":[0,8,8,70,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":687,"old":437,"rank":1,"right":{"linear_Z4":[2,2,0,3,0,0,0,0,0],"matrix_rows":[8,9,2,4,64,80,96,128,256],"offset":71,"phase":0,"quadratic_rows":[8,0,0,73,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":688,"old":437,"rank":1,"right":{"linear_Z4":[2,2,0,3,0,0,0,0,0],"matrix_rows":[8,1,10,4,64,80,96,128,256],"offset":39,"phase":0,"quadratic_rows":[0,8,0,74,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":689,"old":437,"rank":1,"right":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[8,9,2,12,64,80,96,128,256],"offset":41,"phase":3,"quadratic_rows":[8,0,8,69,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":690,"old":437,"rank":1,"right":{"linear_Z4":[1,0,2,0,0,0,0,0,0],"matrix_rows":[1,261,2,256,8,16,32,64,384],"offset":11,"phase":3,"quadratic_rows":[261,0,1,0,0,0,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":691,"old":437,"rank":1,"right":{"linear_Z4":[1,2,0,2,0,0,2,0,0],"matrix_rows":[3,65,64,4,8,16,96,128,256],"offset":84,"phase":1,"quadratic_rows":[67,65,0,0,0,0,3,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":445,"old":438,"rank":1,"right":{"linear_Z4":[0,3,3,3,0,0,0,3,2],"matrix_rows":[398,1,258,260,264,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,142,142,142,0,0,0,142,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":447,"old":438,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,2,0],"matrix_rows":[133,129,2,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":443,"old":439,"rank":1,"right":{"linear_Z4":[0,3,3,3,3,0,3,0,0],"matrix_rows":[30,65,194,132,200,208,32,128,256],"offset":1,"phase":1,"quadratic_rows":[64,222,158,222,222,0,91,30,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":446,"old":439,"rank":1,"right":{"linear_Z4":[2,3,1,2,3,0,3,0,2],"matrix_rows":[342,5,258,256,8,272,288,320,384],"offset":438,"phase":2,"quadratic_rows":[4,86,87,0,86,0,86,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":447,"old":440,"rank":1,"right":{"linear_Z4":[3,0,3,0,2,0,0,0,0],"matrix_rows":[21,17,2,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":448,"old":440,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,0,2],"matrix_rows":[261,257,2,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":446,"old":441,"rank":1,"right":{"linear_Z4":[1,1,0,1,1,0,1,2,2],"matrix_rows":[347,385,386,4,392,400,32,448,256],"offset":0,"phase":0,"quadratic_rows":[219,219,0,219,219,0,219,91,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":450,"old":441,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,1,1,2],"matrix_rows":[475,257,258,4,264,256,32,320,384],"offset":0,"phase":0,"quadratic_rows":[219,219,0,219,203,0,219,219,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":443,"old":442,"rank":1,"right":{"linear_Z4":[3,3,0,3,3,0,2,0,0],"matrix_rows":[91,65,66,4,72,80,32,128,256],"offset":1,"phase":1,"quadratic_rows":[27,27,0,27,27,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":448,"old":442,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,2,0,0],"matrix_rows":[69,65,2,68,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":449,"old":443,"rank":1,"right":{"linear_Z4":[1,3,2,3,3,0,2,0,0],"matrix_rows":[91,65,82,20,88,64,32,128,256],"offset":60,"phase":2,"quadratic_rows":[27,11,16,11,21,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":454,"old":443,"rank":1,"right":{"linear_Z4":[1,0,2,1,0,0,0,0,2],"matrix_rows":[9,261,2,256,264,16,288,64,384],"offset":0,"phase":0,"quadratic_rows":[269,0,1,265,0,0,0,0,9]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":445,"old":444,"rank":1,"right":{"linear_Z4":[3,3,0,3,0,0,3,3,0],"matrix_rows":[139,321,258,68,264,16,32,256,384],"offset":1,"phase":1,"quadratic_rows":[459,395,64,395,0,0,69,395,139]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":450,"old":444,"rank":1,"right":{"linear_Z4":[3,0,2,3,0,2,0,0,0],"matrix_rows":[41,37,2,32,40,48,64,128,256],"offset":1,"phase":1,"quadratic_rows":[13,0,1,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":452,"old":445,"rank":1,"right":{"linear_Z4":[2,3,1,3,0,0,0,1,2],"matrix_rows":[270,129,258,388,264,16,32,64,256],"offset":267,"phase":0,"quadratic_rows":[128,14,142,14,0,0,0,133,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":453,"old":445,"rank":1,"right":{"linear_Z4":[2,1,3,2,0,0,0,1,2],"matrix_rows":[390,5,258,256,8,272,288,320,384],"offset":250,"phase":2,"quadratic_rows":[4,134,135,0,0,0,0,134,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":451,"old":446,"rank":1,"right":{"linear_Z4":[3,3,0,3,0,0,3,0,0],"matrix_rows":[91,129,130,4,136,128,32,192,256],"offset":33,"phase":0,"quadratic_rows":[219,219,0,219,203,0,219,91,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":454,"old":446,"rank":1,"right":{"linear_Z4":[1,1,0,1,1,0,0,0,0],"matrix_rows":[91,193,194,4,200,208,32,128,256],"offset":183,"phase":0,"quadratic_rows":[155,155,0,155,155,0,128,91,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":452,"old":447,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,0,0,2],"matrix_rows":[11,257,258,4,264,16,32,64,128],"offset":0,"phase":0,"quadratic_rows":[267,267,0,267,0,0,0,0,11]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":455,"old":447,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,0,2],"matrix_rows":[261,257,2,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":449,"old":448,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":455,"old":448,"rank":1,"right":{"linear_Z4":[3,0,3,0,2,0,0,0,0],"matrix_rows":[21,17,2,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,11,19,33,66,2,131,259,3],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":456,"old":449,"rank":2,"right":{"linear_Z4":[2,2,1,2,0,0,0,0,1],"matrix_rows":[34,266,13,270,256,288,48,320,384],"offset":30,"phase":0,"quadratic_rows":[12,36,7,289,0,266,0,0,296]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[6,10,17,34,3,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":459,"old":449,"rank":2,"right":{"linear_Z4":[1,0,2,1,1,0,0,0,0],"matrix_rows":[276,271,277,272,256,280,288,320,384],"offset":1,"phase":1,"quadratic_rows":[27,29,10,31,27,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":451,"old":450,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,1,0,0],"matrix_rows":[203,385,386,4,392,16,32,448,256],"offset":407,"phase":0,"quadratic_rows":[331,331,0,331,0,0,331,256,203]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":453,"old":450,"rank":1,"right":{"linear_Z4":[3,3,0,3,0,0,0,3,0],"matrix_rows":[203,257,258,4,264,16,32,256,384],"offset":129,"phase":0,"quadratic_rows":[459,459,0,459,0,0,395,459,203]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[7,9,16,35,64,128,2,3,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":458,"old":451,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,0,0,1,0],"matrix_rows":[11,201,129,128,4,136,16,32,256],"offset":9,"phase":0,"quadratic_rows":[66,137,0,66,0,0,137,194,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,33,64,128,1,3,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":461,"old":451,"rank":2,"right":{"linear_Z4":[1,0,0,1,0,0,0,1,0],"matrix_rows":[201,2,65,128,4,72,16,32,256],"offset":10,"phase":0,"quadratic_rows":[137,128,0,137,0,0,128,203,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,11,19,33,67,130,259,3,1],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":457,"old":452,"rank":2,"right":{"linear_Z4":[2,2,1,3,0,0,0,1,0],"matrix_rows":[138,258,13,134,128,256,144,416,192],"offset":29,"phase":0,"quadratic_rows":[12,268,15,399,0,0,0,392,138]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[7,10,17,35,65,129,257,1,2],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":460,"old":452,"rank":2,"right":{"linear_Z4":[0,0,1,0,0,0,0,2,0],"matrix_rows":[137,15,389,256,128,392,144,160,192],"offset":10,"phase":0,"quadratic_rows":[258,269,270,262,0,0,0,0,15]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,33,64,128,256,1,3],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":458,"old":453,"rank":2,"right":{"linear_Z4":[1,0,0,1,0,0,0,0,1],"matrix_rows":[393,2,129,256,4,136,16,32,64],"offset":10,"phase":0,"quadratic_rows":[265,256,0,265,0,0,0,256,395]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[7,9,16,35,64,128,256,2,3],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":460,"old":453,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,1],"matrix_rows":[11,393,257,256,4,264,16,32,64],"offset":9,"phase":0,"quadratic_rows":[130,265,0,130,0,0,0,265,386]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,33,1,64,3,128,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":459,"old":454,"rank":2,"right":{"linear_Z4":[1,0,0,1,0,0,1,0,0],"matrix_rows":[89,2,17,64,4,24,32,128,256],"offset":10,"phase":0,"quadratic_rows":[73,64,0,73,64,0,91,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[7,9,16,35,2,64,3,128,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":461,"old":454,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,0,1,0,0],"matrix_rows":[11,89,65,64,4,72,32,128,256],"offset":9,"phase":0,"quadratic_rows":[18,73,0,18,73,0,82,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,19,33,67,2,131,259,3],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":456,"old":455,"rank":2,"right":{"linear_Z4":[2,1,0,1,0,0,0,0,3],"matrix_rows":[44,266,13,46,256,288,272,320,384],"offset":31,"phase":1,"quadratic_rows":[12,294,267,45,0,266,0,0,294]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,9,19,33,67,2,131,259,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":457,"old":455,"rank":2,"right":{"linear_Z4":[2,1,0,3,0,0,0,0,1],"matrix_rows":[266,292,13,294,256,288,272,320,384],"offset":31,"phase":1,"quadratic_rows":[12,46,267,47,0,266,0,0,292]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,19,35,66,1,130,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":456,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,2],"matrix_rows":[1,258,32,256,292,296,272,320,384],"offset":62,"phase":1,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":812,"old":456,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,2,36,40,16,64,128,256],"offset":26,"phase":1,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":875,"old":456,"rank":1,"right":{"linear_Z4":[1,2,0,0,0,0,0,0,0],"matrix_rows":[1,259,256,260,264,272,32,320,384],"offset":31,"phase":1,"quadratic_rows":[259,1,0,0,0,0,0,0,1]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":456,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,260,264,272,32,320,384],"offset":29,"phase":2,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,19,33,66,3,130,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":457,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[1,258,288,256,36,296,272,320,384],"offset":42,"phase":3,"quadratic_rows":[288,0,0,0,0,1,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":818,"old":457,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,2,36,40,16,64,128,256],"offset":16,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":893,"old":457,"rank":1,"right":{"linear_Z4":[1,2,0,0,0,0,0,0,0],"matrix_rows":[1,259,256,260,8,272,288,320,384],"offset":79,"phase":1,"quadratic_rows":[259,1,0,0,0,0,0,0,1]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,34,64,2,128,3,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":458,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,0,0,1,0],"matrix_rows":[129,136,160,2,164,32,16,64,256],"offset":51,"phase":0,"quadratic_rows":[32,0,0,160,0,9,0,136,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":814,"old":458,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,0],"matrix_rows":[9,129,2,4,128,16,160,64,256],"offset":64,"phase":3,"quadratic_rows":[137,0,0,129,0,0,0,9,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":881,"old":458,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,0,2,0],"matrix_rows":[9,128,2,132,136,16,32,64,256],"offset":8,"phase":3,"quadratic_rows":[136,0,0,137,0,0,0,9,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,34,3,2,64,128,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":459,"rank":2,"right":{"linear_Z4":[2,0,0,0,1,0,0,0,0],"matrix_rows":[17,24,48,2,52,32,64,128,256],"offset":51,"phase":0,"quadratic_rows":[32,0,0,48,24,9,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":810,"old":459,"rank":1,"right":{"linear_Z4":[3,0,0,2,0,2,0,0,0],"matrix_rows":[9,33,2,4,32,48,64,128,256],"offset":50,"phase":1,"quadratic_rows":[41,0,0,33,0,9,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":869,"old":459,"rank":1,"right":{"linear_Z4":[0,0,0,1,2,0,0,0,0],"matrix_rows":[9,16,2,20,24,32,64,128,256],"offset":8,"phase":3,"quadratic_rows":[24,0,0,25,9,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,34,64,2,128,256,3],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":460,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,0,0,0,1],"matrix_rows":[257,264,288,2,292,32,16,64,128],"offset":51,"phase":0,"quadratic_rows":[32,0,0,288,0,9,0,0,264]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":816,"old":460,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[9,257,2,4,256,16,288,64,128],"offset":64,"phase":3,"quadratic_rows":[265,0,0,257,0,0,0,0,9]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":887,"old":460,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,0,0,2],"matrix_rows":[9,256,2,260,264,16,32,64,128],"offset":8,"phase":3,"quadratic_rows":[264,0,0,265,0,0,0,0,9]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":460,"rank":1,"right":{"linear_Z4":[2,0,0,3,0,0,0,0,2],"matrix_rows":[264,9,2,4,256,16,288,64,128],"offset":67,"phase":3,"quadratic_rows":[8,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,34,64,2,3,128,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":461,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,0,1,0,0],"matrix_rows":[65,72,96,2,100,32,16,128,256],"offset":51,"phase":0,"quadratic_rows":[32,0,0,96,0,9,72,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":820,"old":461,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,2,0,0],"matrix_rows":[9,65,2,4,64,16,96,128,256],"offset":64,"phase":3,"quadratic_rows":[73,0,0,65,0,0,9,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":899,"old":461,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,2,0,0],"matrix_rows":[9,64,2,68,72,16,32,128,256],"offset":8,"phase":3,"quadratic_rows":[72,0,0,73,0,0,9,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":461,"rank":1,"right":{"linear_Z4":[2,0,0,3,0,0,2,0,0],"matrix_rows":[72,9,2,4,64,16,96,128,256],"offset":67,"phase":3,"quadratic_rows":[8,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":464,"old":462,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,3,0,2],"matrix_rows":[322,1,258,4,8,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,66,0,0,0,0,66,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":473,"old":462,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,1,0,2],"matrix_rows":[64,1,2,4,8,16,32,320,128],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,320,0,64]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":464,"old":463,"rank":1,"right":{"linear_Z4":[0,0,3,3,2,0,0,0,0],"matrix_rows":[28,1,2,20,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":468,"old":463,"rank":1,"right":{"linear_Z4":[3,0,3,0,2,0,0,0,0],"matrix_rows":[21,17,2,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":477,"old":464,"rank":1,"right":{"linear_Z4":[2,0,2,1,0,2,0,0,0],"matrix_rows":[40,9,2,4,32,48,64,128,256],"offset":42,"phase":3,"quadratic_rows":[8,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":480,"old":464,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,8,16,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":471,"old":465,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,0,0],"matrix_rows":[2,1,66,4,8,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,66,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":473,"old":465,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,1,2],"matrix_rows":[258,1,386,4,8,16,32,192,256],"offset":389,"phase":0,"quadratic_rows":[0,130,0,0,0,0,128,194,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":469,"old":466,"rank":1,"right":{"linear_Z4":[0,2,0,0,0,0,1,3,2],"matrix_rows":[448,1,130,4,8,16,32,320,256],"offset":260,"phase":2,"quadratic_rows":[0,128,0,0,0,0,192,194,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":472,"old":466,"rank":1,"right":{"linear_Z4":[0,2,0,0,0,0,3,1,2],"matrix_rows":[448,1,66,4,8,16,32,256,384],"offset":132,"phase":2,"quadratic_rows":[0,64,0,0,0,0,194,192,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":468,"old":467,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,3,2,0],"matrix_rows":[194,1,130,4,8,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,66,0,0,0,0,66,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":469,"old":467,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,0],"matrix_rows":[2,1,130,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,130,0,0,0,0,0,2,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":475,"old":468,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[320,1,2,4,8,16,32,256,384],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":477,"old":468,"rank":1,"right":{"linear_Z4":[3,0,3,2,0,0,0,0,0],"matrix_rows":[5,41,2,36,32,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[45,0,37,1,0,5,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":475,"old":469,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[322,1,258,4,8,16,32,256,128],"offset":0,"phase":0,"quadratic_rows":[0,66,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":476,"old":469,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,0,2],"matrix_rows":[258,1,322,4,8,16,32,256,128],"offset":0,"phase":0,"quadratic_rows":[0,66,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":471,"old":470,"rank":1,"right":{"linear_Z4":[0,0,3,3,2,0,0,0,0],"matrix_rows":[28,1,2,20,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":472,"old":470,"rank":1,"right":{"linear_Z4":[3,0,3,0,2,0,0,0,0],"matrix_rows":[21,17,2,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":474,"old":471,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[386,1,258,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,130,0,0,0,0,0,2,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":479,"old":471,"rank":1,"right":{"linear_Z4":[2,0,2,1,0,2,0,0,0],"matrix_rows":[40,9,2,4,32,48,64,128,256],"offset":42,"phase":3,"quadratic_rows":[8,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":476,"old":472,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,2],"matrix_rows":[258,1,386,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,130,0,0,0,0,0,2,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":479,"old":472,"rank":1,"right":{"linear_Z4":[3,0,3,2,0,0,0,0,0],"matrix_rows":[5,41,2,36,32,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[45,0,37,1,0,5,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":474,"old":473,"rank":1,"right":{"linear_Z4":[0,2,0,0,0,0,3,0,2],"matrix_rows":[320,1,66,4,8,16,32,256,384],"offset":388,"phase":1,"quadratic_rows":[0,64,0,0,0,0,66,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":480,"old":473,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,1,2,0],"matrix_rows":[194,1,128,4,8,16,32,192,256],"offset":0,"phase":0,"quadratic_rows":[0,64,0,0,0,0,66,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,17,32,65,1,130,256,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":459,"old":474,"rank":2,"right":{"linear_Z4":[2,0,1,2,0,2,0,0,2],"matrix_rows":[36,258,5,256,32,8,48,320,128],"offset":110,"phase":3,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,19,1,34,2,64,128,256],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":482,"old":474,"rank":2,"right":{"linear_Z4":[2,0,0,3,0,1,0,0,0],"matrix_rows":[44,36,13,2,32,48,64,128,256],"offset":23,"phase":0,"quadratic_rows":[12,0,33,41,0,44,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,19,33,3,2,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":478,"old":475,"rank":2,"right":{"linear_Z4":[2,0,0,1,2,0,0,0,0],"matrix_rows":[60,36,13,2,16,48,64,128,256],"offset":37,"phase":3,"quadratic_rows":[12,0,1,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[6,9,18,34,64,2,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":481,"old":475,"rank":2,"right":{"linear_Z4":[3,0,3,2,0,0,0,0,2],"matrix_rows":[258,5,33,256,44,32,16,64,384],"offset":11,"phase":1,"quadratic_rows":[37,0,45,4,0,5,0,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[6,9,18,34,64,2,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":481,"old":476,"rank":2,"right":{"linear_Z4":[3,0,3,2,0,0,0,2,0],"matrix_rows":[130,5,33,128,44,32,16,192,256],"offset":11,"phase":1,"quadratic_rows":[37,0,45,4,0,5,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,19,33,3,2,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":484,"old":476,"rank":2,"right":{"linear_Z4":[2,0,0,1,2,0,0,0,0],"matrix_rows":[60,36,13,2,16,48,64,128,256],"offset":37,"phase":3,"quadratic_rows":[12,0,1,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,17,32,65,1,130,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":478,"old":477,"rank":2,"right":{"linear_Z4":[2,0,3,0,0,2,0,0,2],"matrix_rows":[36,320,5,2,32,8,48,256,384],"offset":84,"phase":1,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,17,32,65,1,128,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":483,"old":477,"rank":2,"right":{"linear_Z4":[2,0,3,0,0,2,0,0,2],"matrix_rows":[36,258,5,256,32,8,48,64,384],"offset":84,"phase":1,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,17,33,64,1,128,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":478,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,2],"matrix_rows":[1,258,32,256,36,40,16,64,384],"offset":14,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":860,"old":478,"rank":1,"right":{"linear_Z4":[1,2,0,0,0,0,0,0,0],"matrix_rows":[1,259,256,4,8,16,32,64,384],"offset":7,"phase":3,"quadratic_rows":[259,1,0,0,0,0,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1019,"old":478,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,2,36,40,16,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":478,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,8,16,32,64,384],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,17,32,65,1,128,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":482,"old":479,"rank":2,"right":{"linear_Z4":[2,1,3,0,0,2,0,0,2],"matrix_rows":[36,386,5,258,32,8,48,64,256],"offset":84,"phase":1,"quadratic_rows":[4,130,5,0,0,0,0,2,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,17,32,65,1,128,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":484,"old":479,"rank":2,"right":{"linear_Z4":[2,1,3,0,0,2,0,2,2],"matrix_rows":[36,258,5,386,32,8,48,64,256],"offset":84,"phase":1,"quadratic_rows":[4,130,5,0,0,0,0,2,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,17,32,65,1,130,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":459,"old":480,"rank":2,"right":{"linear_Z4":[2,0,1,2,0,2,0,0,2],"matrix_rows":[36,320,5,2,32,8,48,256,384],"offset":230,"phase":3,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,19,1,34,2,64,128,256],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":483,"old":480,"rank":2,"right":{"linear_Z4":[2,0,0,3,0,1,0,0,0],"matrix_rows":[44,36,13,2,32,48,64,128,256],"offset":23,"phase":0,"quadratic_rows":[12,0,33,41,0,44,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,18,34,3,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":481,"rank":2,"right":{"linear_Z4":[0,0,2,0,1,0,0,0,0],"matrix_rows":[17,20,32,2,48,56,64,128,256],"offset":39,"phase":0,"quadratic_rows":[48,0,32,0,17,5,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":858,"old":481,"rank":1,"right":{"linear_Z4":[2,0,3,0,0,2,0,0,0],"matrix_rows":[5,32,2,36,8,48,64,128,256],"offset":42,"phase":1,"quadratic_rows":[36,0,37,0,0,5,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1013,"old":481,"rank":1,"right":{"linear_Z4":[1,0,0,0,2,0,0,0,0],"matrix_rows":[5,17,2,16,24,32,64,128,256],"offset":16,"phase":3,"quadratic_rows":[21,0,17,0,5,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,17,33,64,1,130,256,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":482,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,2],"matrix_rows":[1,258,32,256,36,40,16,320,128],"offset":14,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":854,"old":482,"rank":1,"right":{"linear_Z4":[1,2,0,0,0,0,0,0,0],"matrix_rows":[1,259,256,4,8,16,32,320,128],"offset":7,"phase":3,"quadratic_rows":[259,1,0,0,0,0,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1001,"old":482,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,2,36,40,16,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,33,64,1,130,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":483,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,2],"matrix_rows":[1,320,32,2,36,40,16,256,384],"offset":134,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":813,"old":483,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,2,0,0],"matrix_rows":[1,321,2,4,8,16,32,256,384],"offset":131,"phase":3,"quadratic_rows":[321,0,0,0,0,0,1,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":874,"old":483,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,2,36,40,16,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":483,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[320,1,2,4,8,16,32,256,384],"offset":129,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,17,33,64,1,130,2,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":484,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,2,0,2,0],"matrix_rows":[1,130,32,128,36,40,16,192,256],"offset":14,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":856,"old":484,"rank":1,"right":{"linear_Z4":[1,2,0,0,0,0,0,0,0],"matrix_rows":[1,131,128,4,8,16,32,192,256],"offset":7,"phase":3,"quadratic_rows":[131,1,0,0,0,0,0,1,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1007,"old":484,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,2,36,40,16,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":484,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[130,1,128,4,8,16,32,192,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":491,"old":485,"rank":1,"right":{"linear_Z4":[0,1,0,0,2,0,0,0,0],"matrix_rows":[2,1,18,4,8,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,18,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":492,"old":485,"rank":1,"right":{"linear_Z4":[2,0,2,1,0,0,0,2,0],"matrix_rows":[136,9,2,4,128,16,160,64,256],"offset":91,"phase":1,"quadratic_rows":[8,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":494,"old":486,"rank":1,"right":{"linear_Z4":[2,0,2,1,0,0,0,2,0],"matrix_rows":[136,1,2,12,128,16,160,64,256],"offset":91,"phase":1,"quadratic_rows":[0,0,8,12,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":495,"old":486,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,0,0],"matrix_rows":[2,1,66,4,8,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,66,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":495,"old":487,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,2,0],"matrix_rows":[137,129,2,4,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":502,"old":487,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,2,0],"matrix_rows":[140,1,2,132,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":494,"old":488,"rank":1,"right":{"linear_Z4":[0,3,0,0,3,0,0,0,2],"matrix_rows":[274,1,258,4,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":496,"old":488,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,3,0,2],"matrix_rows":[322,1,258,4,8,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,66,0,0,0,0,66,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":492,"old":489,"rank":1,"right":{"linear_Z4":[3,0,3,2,0,0,0,0,0],"matrix_rows":[5,41,2,36,32,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[45,0,37,1,0,5,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":496,"old":489,"rank":1,"right":{"linear_Z4":[3,0,3,2,0,0,0,0,0],"matrix_rows":[5,33,2,44,32,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[37,0,45,4,0,5,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":491,"old":490,"rank":1,"right":{"linear_Z4":[0,2,0,0,3,0,1,0,2],"matrix_rows":[336,1,18,4,8,256,32,320,128],"offset":36,"phase":2,"quadratic_rows":[0,16,0,0,82,0,80,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":502,"old":490,"rank":1,"right":{"linear_Z4":[0,2,0,0,1,0,3,0,2],"matrix_rows":[336,1,66,4,8,272,32,256,128],"offset":132,"phase":2,"quadratic_rows":[0,64,0,0,80,0,82,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":493,"old":491,"rank":1,"right":{"linear_Z4":[2,0,2,1,0,0,0,2,0],"matrix_rows":[136,9,2,4,128,16,160,64,256],"offset":91,"phase":1,"quadratic_rows":[8,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":503,"old":491,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,0,2],"matrix_rows":[258,1,322,4,8,16,32,256,128],"offset":0,"phase":0,"quadratic_rows":[0,66,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":493,"old":492,"rank":1,"right":{"linear_Z4":[0,1,0,0,2,0,0,0,0],"matrix_rows":[2,1,18,4,8,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,18,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":497,"old":492,"rank":1,"right":{"linear_Z4":[2,0,3,0,0,0,0,2,0],"matrix_rows":[132,5,2,128,8,16,160,64,256],"offset":67,"phase":3,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,17,32,64,129,258,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":498,"old":493,"rank":2,"right":{"linear_Z4":[2,1,3,0,0,0,0,2,2],"matrix_rows":[132,322,5,258,128,8,16,160,256],"offset":133,"phase":3,"quadratic_rows":[4,66,5,0,0,0,2,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,9,16,32,65,128,2,256,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":504,"old":493,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,3],"matrix_rows":[258,320,1,256,4,8,272,32,128],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,256,0,320]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":499,"old":494,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,2,0,0],"matrix_rows":[16,1,2,4,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,80,0,16,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":501,"old":494,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,0,0],"matrix_rows":[2,1,66,4,8,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,66,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":501,"old":495,"rank":1,"right":{"linear_Z4":[2,0,2,1,0,0,0,2,0],"matrix_rows":[136,1,2,12,128,16,160,64,256],"offset":91,"phase":1,"quadratic_rows":[0,0,8,12,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":505,"old":495,"rank":1,"right":{"linear_Z4":[3,0,2,3,0,0,0,0,0],"matrix_rows":[9,37,2,32,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[45,0,1,41,0,9,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":497,"old":496,"rank":1,"right":{"linear_Z4":[2,0,3,0,0,0,0,2,0],"matrix_rows":[132,5,2,128,136,16,32,64,256],"offset":19,"phase":3,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":499,"old":496,"rank":1,"right":{"linear_Z4":[0,1,0,0,2,0,3,0,2],"matrix_rows":[322,1,258,4,8,80,32,256,128],"offset":160,"phase":2,"quadratic_rows":[0,66,0,0,64,0,82,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,11,16,32,1,64,130,256,2],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":498,"old":497,"rank":2,"right":{"linear_Z4":[0,2,0,0,3,0,0,0,3],"matrix_rows":[258,338,1,274,4,8,32,256,128],"offset":0,"phase":0,"quadratic_rows":[0,320,0,0,80,0,18,0,258]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,9,16,32,65,128,2,256,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":500,"old":497,"rank":2,"right":{"linear_Z4":[0,0,0,0,3,0,2,0,3],"matrix_rows":[338,320,1,256,4,8,336,32,128],"offset":9,"phase":0,"quadratic_rows":[0,80,0,0,18,0,258,0,320]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,17,33,66,1,128,256,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":498,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,2],"matrix_rows":[1,258,32,256,36,40,272,64,128],"offset":14,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":864,"old":498,"rank":1,"right":{"linear_Z4":[1,2,0,0,0,0,0,0,0],"matrix_rows":[1,259,256,4,8,272,32,64,128],"offset":7,"phase":3,"quadratic_rows":[259,1,0,0,0,0,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1031,"old":498,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,2,36,40,16,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":498,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,8,272,32,64,128],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,17,33,66,128,256,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":500,"old":499,"rank":2,"right":{"linear_Z4":[2,0,3,0,1,0,0,2,2],"matrix_rows":[132,274,5,256,128,136,272,32,64],"offset":37,"phase":3,"quadratic_rows":[4,16,5,0,18,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,16,32,66,128,2,256,3],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":506,"old":499,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,1],"matrix_rows":[66,272,1,320,4,8,64,32,128],"offset":66,"phase":0,"quadratic_rows":[0,256,0,0,320,0,272,0,338]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,33,66,1,130,256,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":500,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,2],"matrix_rows":[1,272,32,2,36,40,256,320,128],"offset":70,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":817,"old":500,"rank":1,"right":{"linear_Z4":[1,0,0,0,2,0,0,0,0],"matrix_rows":[1,273,2,4,8,256,32,320,128],"offset":35,"phase":3,"quadratic_rows":[273,0,0,0,1,0,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":886,"old":500,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,2,36,40,16,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":500,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[272,1,2,4,8,256,32,320,128],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,17,33,66,128,256,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":482,"old":501,"rank":2,"right":{"linear_Z4":[2,1,3,0,0,0,0,2,2],"matrix_rows":[132,274,5,258,128,136,256,32,64],"offset":37,"phase":3,"quadratic_rows":[4,18,5,0,2,0,0,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,9,16,32,66,128,1,256,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":506,"old":501,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,1],"matrix_rows":[258,80,1,64,4,8,320,32,128],"offset":9,"phase":0,"quadratic_rows":[0,320,0,0,256,0,258,0,338]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":503,"old":502,"rank":1,"right":{"linear_Z4":[0,1,0,0,2,0,0,0,2],"matrix_rows":[258,1,274,4,8,256,32,64,128],"offset":0,"phase":0,"quadratic_rows":[0,18,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":505,"old":502,"rank":1,"right":{"linear_Z4":[2,0,1,2,0,0,0,2,0],"matrix_rows":[132,5,2,128,8,16,160,64,256],"offset":91,"phase":1,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,17,32,66,129,2,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":458,"old":503,"rank":2,"right":{"linear_Z4":[2,0,1,2,0,0,2,2,0],"matrix_rows":[132,66,5,64,128,8,80,160,256],"offset":191,"phase":1,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,16,33,66,129,2,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":504,"old":503,"rank":2,"right":{"linear_Z4":[2,0,2,1,0,0,2,2,0],"matrix_rows":[136,66,9,64,4,128,80,160,256],"offset":191,"phase":1,"quadratic_rows":[8,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,18,33,64,2,128,3,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":504,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,0,0,1,0],"matrix_rows":[129,132,160,2,32,168,16,64,256],"offset":51,"phase":0,"quadratic_rows":[32,0,160,0,0,5,0,132,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":857,"old":504,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,2,0],"matrix_rows":[5,128,2,132,136,16,32,64,256],"offset":16,"phase":3,"quadratic_rows":[132,0,133,0,0,0,0,5,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1006,"old":504,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,0],"matrix_rows":[5,129,2,128,8,16,160,64,256],"offset":64,"phase":3,"quadratic_rows":[133,0,129,0,0,0,0,5,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":504,"rank":1,"right":{"linear_Z4":[2,0,3,0,0,0,0,2,0],"matrix_rows":[132,5,2,128,8,16,160,64,256],"offset":67,"phase":3,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,9,16,32,66,128,1,256,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":458,"old":505,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,1],"matrix_rows":[258,80,1,64,4,8,320,32,128],"offset":9,"phase":0,"quadratic_rows":[0,320,0,0,256,0,258,0,338]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,16,33,66,129,256,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":482,"old":505,"rank":2,"right":{"linear_Z4":[2,1,0,3,0,0,0,2,2],"matrix_rows":[136,274,9,258,4,128,256,160,64],"offset":133,"phase":3,"quadratic_rows":[8,18,0,9,2,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,18,34,64,1,128,3,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":506,"rank":2,"right":{"linear_Z4":[0,0,2,0,0,0,0,1,0],"matrix_rows":[129,132,32,2,160,168,16,64,256],"offset":39,"phase":0,"quadratic_rows":[160,0,32,0,0,5,0,129,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":862,"old":506,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,2,0],"matrix_rows":[5,128,2,132,8,16,160,64,256],"offset":64,"phase":3,"quadratic_rows":[132,0,133,0,0,0,0,5,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1025,"old":506,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,0],"matrix_rows":[5,129,2,128,136,16,32,64,256],"offset":16,"phase":3,"quadratic_rows":[133,0,129,0,0,0,0,5,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":509,"old":507,"rank":1,"right":{"linear_Z4":[3,3,3,0,0,0,3,0,2],"matrix_rows":[327,257,258,260,8,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[71,71,71,0,0,0,71,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":519,"old":507,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,0,2],"matrix_rows":[268,1,2,260,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":509,"old":508,"rank":1,"right":{"linear_Z4":[3,3,0,3,0,0,3,3,0],"matrix_rows":[75,257,258,132,392,16,32,320,256],"offset":1,"phase":1,"quadratic_rows":[331,331,128,459,0,0,331,140,75]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":523,"old":508,"rank":1,"right":{"linear_Z4":[2,3,2,1,0,0,3,3,2],"matrix_rows":[458,1,258,12,256,272,288,320,384],"offset":123,"phase":0,"quadratic_rows":[0,202,8,206,0,0,202,202,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":522,"old":509,"rank":1,"right":{"linear_Z4":[3,3,1,2,0,0,3,0,2],"matrix_rows":[327,321,322,260,72,16,32,256,128],"offset":150,"phase":2,"quadratic_rows":[7,7,71,64,0,0,76,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":525,"old":509,"rank":1,"right":{"linear_Z4":[1,0,1,2,0,0,0,2,0],"matrix_rows":[5,129,2,140,128,144,160,64,256],"offset":0,"phase":0,"quadratic_rows":[133,0,141,4,0,0,0,5,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":514,"old":510,"rank":1,"right":{"linear_Z4":[1,2,1,0,1,0,1,1,0],"matrix_rows":[213,385,130,388,8,400,32,448,256],"offset":431,"phase":3,"quadratic_rows":[341,128,341,0,341,0,341,386,213]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":515,"old":510,"rank":1,"right":{"linear_Z4":[3,2,3,0,0,2,0,0,0],"matrix_rows":[39,33,32,36,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[7,5,7,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":517,"old":511,"rank":1,"right":{"linear_Z4":[3,0,3,3,0,0,0,0,2],"matrix_rows":[5,257,10,268,256,16,288,64,384],"offset":90,"phase":0,"quadratic_rows":[261,8,269,14,0,0,0,0,5]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":519,"old":511,"rank":1,"right":{"linear_Z4":[0,0,3,3,2,0,0,0,0],"matrix_rows":[28,1,2,20,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":515,"old":512,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,1,1,2],"matrix_rows":[471,257,256,260,8,272,32,320,384],"offset":0,"phase":0,"quadratic_rows":[215,213,215,0,215,0,215,215,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":523,"old":512,"rank":1,"right":{"linear_Z4":[1,1,1,0,0,0,1,1,2],"matrix_rows":[471,257,258,260,8,256,32,320,384],"offset":0,"phase":0,"quadratic_rows":[215,215,215,0,199,0,215,215,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":514,"old":513,"rank":1,"right":{"linear_Z4":[1,1,1,0,1,0,1,2,0],"matrix_rows":[87,129,130,132,8,144,32,192,256],"offset":0,"phase":0,"quadratic_rows":[215,215,215,0,215,0,215,87,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":517,"old":513,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,0],"matrix_rows":[2,1,130,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,130,0,0,0,0,0,2,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":516,"old":514,"rank":1,"right":{"linear_Z4":[2,0,2,0,3,0,3,0,2],"matrix_rows":[338,1,256,4,264,272,288,320,384],"offset":95,"phase":0,"quadratic_rows":[0,80,0,0,82,0,82,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":518,"old":514,"rank":1,"right":{"linear_Z4":[3,3,3,0,3,0,2,0,0],"matrix_rows":[23,193,130,196,8,208,32,128,256],"offset":1,"phase":1,"quadratic_rows":[215,151,215,0,215,0,21,23,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":516,"old":515,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,1,0,0],"matrix_rows":[213,385,2,388,8,400,32,448,256],"offset":427,"phase":0,"quadratic_rows":[341,0,341,0,341,0,341,256,213]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":524,"old":515,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,3,3,0],"matrix_rows":[213,257,2,260,8,256,32,320,384],"offset":33,"phase":0,"quadratic_rows":[469,0,469,0,453,0,469,469,213]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,32,65,128,2,3,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":481,"old":516,"rank":2,"right":{"linear_Z4":[1,0,1,0,0,0,0,1,0],"matrix_rows":[21,192,145,2,148,8,128,32,256],"offset":85,"phase":0,"quadratic_rows":[133,0,133,0,128,0,128,213,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[7,8,19,32,65,128,2,3,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":506,"old":516,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,0,0,1,0],"matrix_rows":[21,197,129,2,132,8,128,32,256],"offset":65,"phase":0,"quadratic_rows":[80,0,80,0,133,0,133,208,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":518,"old":517,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":520,"old":517,"rank":1,"right":{"linear_Z4":[0,1,0,0,2,0,0,0,0],"matrix_rows":[2,1,18,4,8,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,18,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,10,19,34,65,130,1,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":481,"old":518,"rank":2,"right":{"linear_Z4":[2,0,2,0,0,0,0,0,2],"matrix_rows":[21,263,337,256,340,264,64,288,384],"offset":235,"phase":0,"quadratic_rows":[66,5,66,0,64,0,21,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,8,17,33,2,64,3,128,256],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":521,"old":518,"rank":2,"right":{"linear_Z4":[2,0,3,0,3,0,3,0,0],"matrix_rows":[68,80,5,18,64,72,32,128,256],"offset":20,"phase":2,"quadratic_rows":[4,16,5,0,82,0,80,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":520,"old":519,"rank":1,"right":{"linear_Z4":[1,3,1,2,0,0,0,0,0],"matrix_rows":[15,257,266,268,256,272,288,64,384],"offset":91,"phase":1,"quadratic_rows":[271,263,263,257,0,0,0,0,15]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":522,"old":519,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,19,3,32,64,2,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":457,"old":520,"rank":2,"right":{"linear_Z4":[2,1,2,2,0,0,0,0,0],"matrix_rows":[74,68,5,78,8,16,32,128,256],"offset":29,"phase":0,"quadratic_rows":[4,6,3,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,11,17,1,32,64,2,128,256],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":521,"old":520,"rank":2,"right":{"linear_Z4":[2,2,3,3,0,0,3,0,0],"matrix_rows":[78,10,5,74,8,16,32,128,256],"offset":20,"phase":2,"quadratic_rows":[4,12,71,10,0,0,68,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,17,35,66,3,130,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":521,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[1,258,288,256,292,40,272,320,384],"offset":26,"phase":3,"quadratic_rows":[288,0,0,0,0,1,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":861,"old":521,"rank":1,"right":{"linear_Z4":[1,2,0,0,0,0,0,0,0],"matrix_rows":[1,259,256,4,264,272,288,320,384],"offset":87,"phase":1,"quadratic_rows":[259,1,0,0,0,0,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1018,"old":521,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,2,36,40,16,64,128,256],"offset":8,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":521,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,264,272,288,320,384],"offset":85,"phase":2,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,10,19,33,66,130,1,258,2],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":457,"old":522,"rank":2,"right":{"linear_Z4":[2,3,2,3,0,0,3,0,1],"matrix_rows":[332,66,13,262,320,64,272,288,384],"offset":141,"phase":0,"quadratic_rows":[12,326,259,265,0,0,66,0,270]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,10,19,33,66,130,1,258,2],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":527,"old":522,"rank":2,"right":{"linear_Z4":[2,3,2,1,0,0,3,0,1],"matrix_rows":[332,74,13,270,320,64,272,288,384],"offset":45,"phase":0,"quadratic_rows":[12,326,267,77,0,0,74,0,262]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":524,"old":523,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,3,3,0],"matrix_rows":[199,257,256,260,8,16,32,320,384],"offset":5,"phase":0,"quadratic_rows":[455,453,455,0,0,0,455,455,199]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":525,"old":523,"rank":1,"right":{"linear_Z4":[3,3,3,0,0,0,3,0,0],"matrix_rows":[199,257,258,260,8,16,32,320,256],"offset":257,"phase":0,"quadratic_rows":[455,455,455,0,0,0,455,327,199]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,32,64,128,258,1,3],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":506,"old":524,"rank":2,"right":{"linear_Z4":[1,0,1,0,0,0,0,0,1],"matrix_rows":[389,64,129,2,132,8,16,32,256],"offset":258,"phase":0,"quadratic_rows":[261,0,261,0,0,0,256,256,453]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[7,8,19,32,64,128,257,2,3],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":526,"old":524,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,1],"matrix_rows":[69,389,257,2,260,8,16,32,256],"offset":257,"phase":0,"quadratic_rows":[192,0,192,0,0,0,261,261,448]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[7,9,19,32,64,128,2,256,3],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":526,"old":525,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,1],"matrix_rows":[7,325,257,256,260,8,16,32,128],"offset":9,"phase":0,"quadratic_rows":[66,261,66,0,0,0,261,0,322]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,8,17,33,64,128,2,256,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":527,"old":525,"rank":2,"right":{"linear_Z4":[2,2,0,0,0,0,0,0,3],"matrix_rows":[260,320,5,6,256,264,16,32,128],"offset":29,"phase":0,"quadratic_rows":[4,4,3,0,0,0,256,0,320]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,18,34,64,1,128,256,3],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":526,"rank":2,"right":{"linear_Z4":[0,0,2,0,0,0,0,0,1],"matrix_rows":[257,260,32,2,288,296,16,64,128],"offset":39,"phase":0,"quadratic_rows":[288,0,32,0,0,5,0,0,257]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":865,"old":526,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,0,2],"matrix_rows":[5,256,2,260,8,16,288,64,128],"offset":64,"phase":3,"quadratic_rows":[260,0,261,0,0,0,0,0,5]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1030,"old":526,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[5,257,2,256,264,16,32,64,128],"offset":16,"phase":3,"quadratic_rows":[261,0,257,0,0,0,0,0,5]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":526,"rank":1,"right":{"linear_Z4":[2,0,3,0,0,0,0,0,2],"matrix_rows":[260,5,2,256,264,16,32,64,128],"offset":19,"phase":3,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,19,3,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":527,"rank":2,"right":{"linear_Z4":[2,0,0,2,0,0,0,0,0],"matrix_rows":[1,42,32,40,12,16,64,128,256],"offset":4,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":821,"old":527,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,2,36,40,16,64,128,256],"offset":26,"phase":1,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":898,"old":527,"rank":1,"right":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[1,11,8,12,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[11,1,0,1,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":527,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[10,1,8,12,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":35,"old":528,"rank":1,"right":{"linear_Z4":[3,0,3,0,2,0,0,0,0],"matrix_rows":[21,17,2,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,17,33,64,132,1,262,2,4],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":576,"old":528,"rank":3,"right":{"linear_Z4":[2,1,1,0,3,2,1,0,1],"matrix_rows":[34,448,400,5,38,32,8,464,256],"offset":443,"phase":3,"quadratic_rows":[4,6,7,0,80,0,336,256,448]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,18,33,2,64,3,132,260,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":580,"old":528,"rank":3,"right":{"linear_Z4":[2,0,1,2,2,1,1,1,2],"matrix_rows":[12,34,320,5,8,40,144,448,256],"offset":493,"phase":3,"quadratic_rows":[4,40,37,34,128,46,192,208,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":35,"old":529,"rank":1,"right":{"linear_Z4":[1,0,1,0,0,0,3,3,0],"matrix_rows":[213,273,2,276,8,256,32,320,384],"offset":43,"phase":0,"quadratic_rows":[453,0,453,0,448,0,469,469,213]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[15,16,39,64,131,256,5,1,7],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":648,"old":529,"rank":3,"right":{"linear_Z4":[1,0,1,0,2,0,2,1,3],"matrix_rows":[213,21,325,257,210,260,8,256,32],"offset":1,"phase":1,"quadratic_rows":[133,208,133,0,258,0,258,135,336]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[11,18,35,66,132,2,257,1,5],"offset":0,"phase":0,"quadratic_rows":[4,0,5,0,0,0,0,0,0]},"new":652,"old":529,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,2,1,2,1],"matrix_rows":[325,39,16,161,32,164,40,256,192],"offset":134,"phase":1,"quadratic_rows":[450,5,450,0,256,0,453,69,341]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":64,"old":530,"rank":1,"right":{"linear_Z4":[3,0,3,0,3,0,2,0,0],"matrix_rows":[21,321,2,324,8,336,32,256,384],"offset":1,"phase":1,"quadratic_rows":[341,0,341,0,341,0,21,0,21]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,17,35,1,64,2,132,260,4],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":572,"old":530,"rank":3,"right":{"linear_Z4":[2,1,0,3,0,3,0,0,2],"matrix_rows":[42,4,320,13,6,32,16,256,384],"offset":59,"phase":1,"quadratic_rows":[12,46,43,47,0,46,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,18,35,1,68,2,128,260,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":581,"old":530,"rank":3,"right":{"linear_Z4":[2,1,0,1,0,1,0,0,2],"matrix_rows":[44,42,272,13,46,32,256,64,384],"offset":59,"phase":1,"quadratic_rows":[12,6,43,45,0,44,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":64,"old":531,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,2,2,0],"matrix_rows":[144,65,2,68,8,208,32,128,256],"offset":0,"phase":0,"quadratic_rows":[64,0,64,0,80,0,21,0,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[8,1,16,32,66,128,4,6,256],"offset":0,"phase":0,"quadratic_rows":[0,6,6,0,0,0,0,0,0]},"new":650,"old":531,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,0,0,1,0],"matrix_rows":[2,16,192,1,4,8,128,32,256],"offset":67,"phase":1,"quadratic_rows":[0,0,0,0,128,0,128,208,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,16,37,65,130,4,258,2,5],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":656,"old":531,"rank":3,"right":{"linear_Z4":[2,2,0,1,1,0,1,2,2],"matrix_rows":[300,144,36,13,66,256,288,208,128],"offset":475,"phase":3,"quadratic_rows":[12,64,1,9,80,0,82,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":93,"old":532,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,2,0,0],"matrix_rows":[69,65,2,68,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,18,33,3,68,2,128,260,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":573,"old":532,"rank":3,"right":{"linear_Z4":[2,0,1,1,1,2,2,3,2],"matrix_rows":[36,10,400,5,32,40,272,192,256],"offset":425,"phase":1,"quadratic_rows":[4,40,13,46,144,10,128,208,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,17,33,1,70,128,2,260,4],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":577,"old":532,"rank":3,"right":{"linear_Z4":[2,1,1,2,2,0,3,0,3],"matrix_rows":[10,272,464,5,14,8,336,32,256],"offset":57,"phase":0,"quadratic_rows":[4,6,7,0,384,0,192,80,272]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":93,"old":533,"rank":1,"right":{"linear_Z4":[3,0,3,3,0,0,0,0,0],"matrix_rows":[5,33,10,44,32,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[37,8,45,14,0,5,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,20,33,65,130,1,256,4,6],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":654,"old":533,"rank":3,"right":{"linear_Z4":[3,1,3,2,0,0,0,2,3],"matrix_rows":[5,16,402,41,18,36,32,256,64],"offset":151,"phase":1,"quadratic_rows":[45,386,37,1,128,5,0,274,386]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,16,37,65,130,4,5,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":658,"old":533,"rank":3,"right":{"linear_Z4":[2,2,0,1,1,0,2,3,2],"matrix_rows":[108,400,36,13,130,64,96,272,256],"offset":345,"phase":1,"quadratic_rows":[12,128,1,9,144,0,0,146,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":122,"old":534,"rank":1,"right":{"linear_Z4":[0,0,1,3,3,0,0,1,2],"matrix_rows":[396,1,18,260,280,256,288,320,384],"offset":240,"phase":2,"quadratic_rows":[0,16,140,156,26,0,0,140,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":593,"old":534,"rank":1,"right":{"linear_Z4":[0,3,3,3,3,0,0,3,0],"matrix_rows":[30,129,258,260,264,400,32,64,256],"offset":1,"phase":1,"quadratic_rows":[128,286,286,286,414,0,0,145,30]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[18,34,68,8,129,257,1,3,14],"offset":0,"phase":0,"quadratic_rows":[3,15,14,14,0,0,0,0,0]},"new":779,"old":534,"rank":4,"right":{"linear_Z4":[1,1,0,0,0,0,0,1,2],"matrix_rows":[208,403,68,264,209,194,320,64,96],"offset":68,"phase":0,"quadratic_rows":[323,339,256,256,450,0,403,464,223]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":122,"old":535,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":595,"old":535,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,2,3,2],"matrix_rows":[388,1,2,260,8,16,32,192,256],"offset":384,"phase":2,"quadratic_rows":[0,0,132,0,0,0,128,196,0]}},{"left":{"linear_Z4":[3,3,2,2,0,0,0,0,0],"matrix_rows":[16,33,74,132,5,4,2,264,8],"offset":0,"phase":0,"quadratic_rows":[5,10,1,2,0,0,0,0,0]},"new":781,"old":535,"rank":4,"right":{"linear_Z4":[2,1,2,0,1,2,3,0,3],"matrix_rows":[34,260,24,452,3,48,324,32,256],"offset":49,"phase":3,"quadratic_rows":[2,19,384,48,58,24,192,68,260]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":122,"old":536,"rank":1,"right":{"linear_Z4":[0,0,0,1,3,0,2,0,0],"matrix_rows":[8,1,18,4,88,64,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,16,0,88,26,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":636,"old":536,"rank":1,"right":{"linear_Z4":[0,0,1,2,0,0,0,0,0],"matrix_rows":[4,1,2,12,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,12,4,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,3,0,0,0,0,0],"matrix_rows":[16,35,68,132,257,2,1,8,12],"offset":0,"phase":0,"quadratic_rows":[2,3,8,12,0,0,0,0,0]},"new":800,"old":536,"rank":4,"right":{"linear_Z4":[2,0,0,3,3,3,1,2,3],"matrix_rows":[114,66,396,384,19,96,256,392,64],"offset":119,"phase":0,"quadratic_rows":[18,65,136,12,49,48,66,260,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":122,"old":537,"rank":1,"right":{"linear_Z4":[1,1,1,1,0,0,2,1,2],"matrix_rows":[399,321,322,260,328,16,32,256,384],"offset":0,"phase":0,"quadratic_rows":[207,207,143,207,0,0,11,143,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":638,"old":537,"rank":1,"right":{"linear_Z4":[2,2,1,2,0,0,1,1,2],"matrix_rows":[452,1,2,268,256,272,288,320,384],"offset":102,"phase":0,"quadratic_rows":[0,0,204,4,0,0,196,196,0]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[19,35,65,130,258,2,4,8,15],"offset":0,"phase":0,"quadratic_rows":[15,15,15,15,0,0,0,0,0]},"new":799,"old":537,"rank":4,"right":{"linear_Z4":[2,2,0,0,0,0,0,0,1],"matrix_rows":[39,299,320,384,261,262,288,32,48],"offset":0,"phase":0,"quadratic_rows":[8,8,256,259,0,0,256,256,460]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":151,"old":538,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":585,"old":538,"rank":1,"right":{"linear_Z4":[3,3,3,3,0,0,2,0,0],"matrix_rows":[79,65,66,68,72,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[15,15,15,15,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,3,0,0,0,0,0],"matrix_rows":[16,35,75,12,133,6,4,261,5],"offset":0,"phase":0,"quadratic_rows":[12,12,15,15,0,0,0,0,0]},"new":775,"old":538,"rank":4,"right":{"linear_Z4":[2,2,3,1,0,0,0,0,0],"matrix_rows":[334,126,376,372,19,288,380,256,384],"offset":220,"phase":1,"quadratic_rows":[18,1,316,316,13,12,0,0,12]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":151,"old":539,"rank":1,"right":{"linear_Z4":[3,0,3,0,3,0,2,0,0],"matrix_rows":[21,321,2,324,8,336,32,256,384],"offset":1,"phase":1,"quadratic_rows":[341,0,341,0,341,0,21,0,21]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":587,"old":539,"rank":1,"right":{"linear_Z4":[3,3,0,0,3,0,0,0,0],"matrix_rows":[3,33,50,4,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[35,51,0,16,26,3,0,0,0]}},{"left":{"linear_Z4":[2,2,2,2,0,0,0,0,0],"matrix_rows":[17,33,68,3,130,2,8,268,12],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":777,"old":539,"rank":4,"right":{"linear_Z4":[3,3,0,1,0,0,0,0,2],"matrix_rows":[27,24,260,64,41,58,256,32,384],"offset":71,"phase":2,"quadratic_rows":[51,35,0,24,9,3,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":151,"old":540,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,2,2,0],"matrix_rows":[132,65,2,196,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[64,0,68,0,64,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":644,"old":540,"rank":1,"right":{"linear_Z4":[0,0,1,2,0,0,0,0,0],"matrix_rows":[4,1,2,12,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,12,4,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,3,0,0,0,0,0],"matrix_rows":[16,35,68,132,257,2,8,12,1],"offset":0,"phase":0,"quadratic_rows":[2,3,8,12,0,0,0,0,0]},"new":804,"old":540,"rank":4,"right":{"linear_Z4":[2,0,0,3,3,3,2,3,1],"matrix_rows":[306,258,204,192,19,288,128,200,256],"offset":119,"phase":0,"quadratic_rows":[18,257,72,12,49,48,132,192,258]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":151,"old":541,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,2,0,2],"matrix_rows":[260,65,2,324,8,80,32,256,128],"offset":0,"phase":0,"quadratic_rows":[64,0,68,0,64,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":646,"old":541,"rank":1,"right":{"linear_Z4":[0,0,1,2,0,0,0,0,0],"matrix_rows":[4,1,2,12,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,12,4,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,3,0,0,0,0,0],"matrix_rows":[16,35,68,132,257,2,8,1,12],"offset":0,"phase":0,"quadratic_rows":[2,3,8,12,0,0,0,0,0]},"new":803,"old":541,"rank":4,"right":{"linear_Z4":[2,0,0,3,3,3,2,1,3],"matrix_rows":[178,130,332,320,19,160,256,328,128],"offset":119,"phase":0,"quadratic_rows":[18,129,72,12,49,48,260,130,320]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":180,"old":542,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,2,0,0],"matrix_rows":[74,1,66,4,72,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":609,"old":542,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,2,3,2],"matrix_rows":[385,257,2,4,8,16,32,192,256],"offset":384,"phase":2,"quadratic_rows":[129,0,0,0,0,0,128,193,0]}},{"left":{"linear_Z4":[3,3,2,2,0,0,0,0,0],"matrix_rows":[25,32,70,2,132,4,1,264,8],"offset":0,"phase":0,"quadratic_rows":[9,6,2,1,0,0,0,0,0]},"new":787,"old":542,"rank":4,"right":{"linear_Z4":[2,2,0,3,0,1,3,0,3],"matrix_rows":[257,44,36,449,321,14,32,48,256],"offset":102,"phase":0,"quadratic_rows":[384,12,34,42,0,44,192,65,257]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":180,"old":543,"rank":1,"right":{"linear_Z4":[3,0,1,1,0,0,0,3,0],"matrix_rows":[173,257,2,292,296,16,256,64,384],"offset":89,"phase":0,"quadratic_rows":[429,0,397,397,0,385,0,429,173]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":611,"old":543,"rank":1,"right":{"linear_Z4":[3,0,3,3,0,3,0,3,0],"matrix_rows":[45,257,130,260,392,16,288,64,256],"offset":1,"phase":1,"quadratic_rows":[301,128,301,429,0,301,0,138,45]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,36,68,130,258,8,2,6,13],"offset":0,"phase":0,"quadratic_rows":[13,6,15,13,0,0,0,0,0]},"new":789,"old":543,"rank":4,"right":{"linear_Z4":[0,1,1,0,0,0,0,1,2],"matrix_rows":[65,200,398,288,320,202,196,64,80],"offset":17,"phase":0,"quadratic_rows":[256,326,334,452,0,256,398,456,239]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":180,"old":544,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,2,0,0,0],"matrix_rows":[44,1,2,36,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":620,"old":544,"rank":1,"right":{"linear_Z4":[0,2,2,1,0,0,2,0,0],"matrix_rows":[72,1,2,12,64,80,32,128,256],"offset":61,"phase":1,"quadratic_rows":[0,0,8,12,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,2,3,0,0,0,0,0],"matrix_rows":[17,34,66,130,2,4,256,8,9],"offset":0,"phase":0,"quadratic_rows":[9,2,0,9,0,0,0,0,0]},"new":792,"old":544,"rank":4,"right":{"linear_Z4":[0,3,2,3,0,2,0,0,1],"matrix_rows":[1,10,32,384,256,22,16,24,64],"offset":23,"phase":2,"quadratic_rows":[256,30,2,26,10,0,0,256,385]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":180,"old":545,"rank":1,"right":{"linear_Z4":[3,1,0,1,0,0,0,3,0],"matrix_rows":[203,257,322,4,328,16,32,256,384],"offset":149,"phase":0,"quadratic_rows":[459,395,0,395,0,0,385,459,203]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":622,"old":545,"rank":1,"right":{"linear_Z4":[3,2,2,1,0,0,3,3,2],"matrix_rows":[457,257,2,12,256,272,288,320,384],"offset":125,"phase":0,"quadratic_rows":[201,0,8,205,0,0,201,201,0]}},{"left":{"linear_Z4":[3,2,3,3,0,0,0,0,0],"matrix_rows":[21,32,71,130,261,5,9,1,10],"offset":0,"phase":0,"quadratic_rows":[11,13,6,11,0,0,0,0,0]},"new":791,"old":545,"rank":4,"right":{"linear_Z4":[0,2,2,1,0,3,2,1,3],"matrix_rows":[257,300,449,320,229,14,288,256,48],"offset":486,"phase":2,"quadratic_rows":[36,12,227,42,0,237,36,420,384]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":209,"old":546,"rank":1,"right":{"linear_Z4":[3,3,0,3,0,0,2,0,0],"matrix_rows":[11,321,322,4,328,16,32,256,384],"offset":1,"phase":1,"quadratic_rows":[331,331,0,331,0,0,11,0,11]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":601,"old":546,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,2,0,0,0],"matrix_rows":[44,1,2,36,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,2,0,0,0,0,0],"matrix_rows":[17,34,66,132,4,6,8,265,9],"offset":0,"phase":0,"quadratic_rows":[0,4,2,0,0,0,0,0,0]},"new":783,"old":546,"rank":4,"right":{"linear_Z4":[0,3,3,0,0,1,0,0,2],"matrix_rows":[257,46,40,64,256,50,60,16,384],"offset":23,"phase":2,"quadratic_rows":[0,30,22,34,6,40,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":209,"old":547,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":603,"old":547,"rank":1,"right":{"linear_Z4":[3,3,3,0,0,3,2,0,0],"matrix_rows":[103,65,66,68,8,16,96,128,256],"offset":1,"phase":1,"quadratic_rows":[39,39,39,0,0,39,0,0,0]}},{"left":{"linear_Z4":[3,2,2,3,0,0,0,0,0],"matrix_rows":[30,32,70,131,5,9,1,259,3],"offset":0,"phase":0,"quadratic_rows":[15,9,9,15,0,0,0,0,0]},"new":785,"old":547,"rank":4,"right":{"linear_Z4":[3,2,2,0,0,1,0,0,0],"matrix_rows":[376,357,125,345,377,14,272,256,384],"offset":185,"phase":1,"quadratic_rows":[313,12,2,35,33,313,0,0,33]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":209,"old":548,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,2,2,0],"matrix_rows":[129,193,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[65,64,0,64,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":628,"old":548,"rank":1,"right":{"linear_Z4":[0,2,2,1,0,0,0,0,2],"matrix_rows":[264,1,2,12,256,272,32,64,128],"offset":61,"phase":1,"quadratic_rows":[0,0,8,12,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,2,3,0,0,0,0,0],"matrix_rows":[17,34,66,130,2,4,8,9,256],"offset":0,"phase":0,"quadratic_rows":[9,2,0,9,0,0,0,0,0]},"new":796,"old":548,"rank":4,"right":{"linear_Z4":[0,3,2,3,0,2,0,1,0],"matrix_rows":[1,10,32,192,128,22,16,24,256],"offset":23,"phase":2,"quadratic_rows":[128,30,2,26,10,0,128,193,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":209,"old":549,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,2,0,2],"matrix_rows":[257,321,66,4,72,16,32,256,128],"offset":0,"phase":0,"quadratic_rows":[65,64,0,64,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":630,"old":549,"rank":1,"right":{"linear_Z4":[0,2,2,1,0,0,0,2,0],"matrix_rows":[136,1,2,12,128,144,32,64,256],"offset":61,"phase":1,"quadratic_rows":[0,0,8,12,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,2,3,0,0,0,0,0],"matrix_rows":[17,34,66,130,2,4,8,256,9],"offset":0,"phase":0,"quadratic_rows":[9,2,0,9,0,0,0,0,0]},"new":795,"old":549,"rank":4,"right":{"linear_Z4":[0,3,2,3,0,2,0,0,1],"matrix_rows":[1,10,32,320,256,22,16,24,128],"offset":23,"phase":2,"quadratic_rows":[256,30,2,26,10,0,256,0,321]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":238,"old":550,"rank":1,"right":{"linear_Z4":[0,1,1,3,0,3,0,3,2],"matrix_rows":[422,9,258,268,256,272,288,64,384],"offset":61,"phase":1,"quadratic_rows":[8,166,174,13,0,166,0,166,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":625,"old":550,"rank":1,"right":{"linear_Z4":[3,0,3,3,0,3,0,3,0],"matrix_rows":[45,257,130,388,264,16,288,64,256],"offset":1,"phase":1,"quadratic_rows":[301,128,429,301,0,301,0,134,45]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,36,70,132,262,8,6,2,13],"offset":0,"phase":0,"quadratic_rows":[13,6,15,13,0,0,0,0,0]},"new":795,"old":550,"rank":4,"right":{"linear_Z4":[0,1,3,1,0,0,1,0,2],"matrix_rows":[65,196,330,288,320,198,64,200,80],"offset":17,"phase":0,"quadratic_rows":[256,398,70,394,0,256,196,74,43]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":238,"old":551,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,2,0,0],"matrix_rows":[70,1,66,68,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":627,"old":551,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,1,2,3,2],"matrix_rows":[416,1,2,4,8,16,288,192,256],"offset":384,"phase":2,"quadratic_rows":[0,0,0,0,0,160,128,224,0]}},{"left":{"linear_Z4":[2,3,3,2,0,0,0,0,0],"matrix_rows":[17,32,66,3,1,140,4,264,8],"offset":0,"phase":0,"quadratic_rows":[2,3,12,4,0,0,0,0,0]},"new":797,"old":551,"rank":4,"right":{"linear_Z4":[0,2,1,1,2,2,3,0,3],"matrix_rows":[9,20,288,480,16,6,24,352,256],"offset":98,"phase":3,"quadratic_rows":[24,4,14,29,9,384,192,96,288]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":238,"old":552,"rank":1,"right":{"linear_Z4":[0,3,3,3,0,0,0,0,0],"matrix_rows":[6,9,18,28,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[8,22,30,13,6,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":604,"old":552,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,3,0,1,2],"matrix_rows":[416,33,2,4,8,16,256,64,384],"offset":66,"phase":2,"quadratic_rows":[32,0,0,0,0,161,0,160,0]}},{"left":{"linear_Z4":[3,2,2,2,0,0,0,0,0],"matrix_rows":[24,32,70,130,4,264,6,1,9],"offset":0,"phase":0,"quadratic_rows":[9,0,0,1,0,0,0,0,0]},"new":784,"old":552,"rank":4,"right":{"linear_Z4":[3,2,0,1,0,0,2,2,3],"matrix_rows":[384,92,20,417,385,14,64,80,256],"offset":426,"phase":3,"quadratic_rows":[33,12,2,10,0,129,0,288,384]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":238,"old":553,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,3,0,3,0],"matrix_rows":[230,1,322,324,8,16,288,256,384],"offset":141,"phase":0,"quadratic_rows":[0,422,422,0,0,486,416,486,230]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":606,"old":553,"rank":1,"right":{"linear_Z4":[2,3,3,0,0,1,3,3,0],"matrix_rows":[230,33,258,260,8,16,256,320,384],"offset":67,"phase":3,"quadratic_rows":[32,486,486,0,0,487,486,486,230]}},{"left":{"linear_Z4":[2,3,3,3,0,0,0,0,0],"matrix_rows":[17,35,67,129,1,258,4,8,14],"offset":0,"phase":0,"quadratic_rows":[0,14,14,14,0,0,0,0,0]},"new":783,"old":553,"rank":4,"right":{"linear_Z4":[2,0,0,0,2,0,0,0,0],"matrix_rows":[23,38,320,384,16,306,308,24,256],"offset":1,"phase":1,"quadratic_rows":[6,257,257,0,0,256,256,256,230]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":267,"old":554,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":617,"old":554,"rank":1,"right":{"linear_Z4":[3,3,0,3,0,3,2,0,0],"matrix_rows":[107,65,66,4,72,16,96,128,256],"offset":1,"phase":1,"quadratic_rows":[43,43,0,43,0,43,0,0,0]}},{"left":{"linear_Z4":[3,2,3,3,0,0,0,0,0],"matrix_rows":[26,32,71,130,5,9,1,263,7],"offset":0,"phase":0,"quadratic_rows":[11,13,6,11,0,0,0,0,0]},"new":791,"old":554,"rank":4,"right":{"linear_Z4":[2,2,0,1,0,0,3,0,1],"matrix_rows":[372,361,276,341,373,14,256,272,384],"offset":121,"phase":1,"quadratic_rows":[328,12,330,127,328,328,125,0,309]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":267,"old":555,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,3,2,0,0],"matrix_rows":[38,1,322,324,8,16,352,256,384],"offset":1,"phase":1,"quadratic_rows":[0,358,358,0,0,358,38,0,38]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":619,"old":555,"rank":1,"right":{"linear_Z4":[0,3,3,3,0,0,0,0,0],"matrix_rows":[6,9,18,28,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[8,22,30,13,6,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,2,0,0,0,0,0],"matrix_rows":[18,32,67,1,2,132,8,268,12],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":793,"old":555,"rank":4,"right":{"linear_Z4":[1,2,0,1,1,0,0,0,2],"matrix_rows":[28,25,288,64,29,14,16,256,384],"offset":247,"phase":1,"quadratic_rows":[5,12,27,30,28,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":267,"old":556,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,1,2,2,0],"matrix_rows":[160,1,66,68,8,16,224,128,256],"offset":0,"phase":0,"quadratic_rows":[0,64,64,0,0,96,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":612,"old":556,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,3,1,2,0],"matrix_rows":[224,33,2,4,8,16,128,192,256],"offset":66,"phase":2,"quadratic_rows":[32,0,0,0,0,97,96,0,0]}},{"left":{"linear_Z4":[3,2,2,2,0,0,0,0,0],"matrix_rows":[24,32,70,130,4,264,1,9,6],"offset":0,"phase":0,"quadratic_rows":[9,0,0,1,0,0,0,0,0]},"new":788,"old":556,"rank":4,"right":{"linear_Z4":[3,2,0,1,0,0,2,3,2],"matrix_rows":[192,284,20,225,193,14,256,272,128],"offset":426,"phase":3,"quadratic_rows":[33,12,2,10,0,65,160,192,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":267,"old":557,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,1,2,0,2],"matrix_rows":[288,1,66,68,8,16,352,256,128],"offset":0,"phase":0,"quadratic_rows":[0,64,64,0,0,96,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":614,"old":557,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,3,1,0,2],"matrix_rows":[352,33,2,4,8,16,256,320,128],"offset":66,"phase":2,"quadratic_rows":[32,0,0,0,0,97,96,0,0]}},{"left":{"linear_Z4":[3,2,2,2,0,0,0,0,0],"matrix_rows":[24,32,70,130,4,264,1,6,9],"offset":0,"phase":0,"quadratic_rows":[9,0,0,1,0,0,0,0,0]},"new":787,"old":557,"rank":4,"right":{"linear_Z4":[3,2,0,1,0,0,2,2,3],"matrix_rows":[320,156,20,353,321,14,128,144,256],"offset":426,"phase":3,"quadratic_rows":[33,12,2,10,0,65,288,0,320]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":296,"old":558,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,2,0,0],"matrix_rows":[67,65,66,4,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":641,"old":558,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,2,3,2],"matrix_rows":[392,1,2,4,264,16,32,192,256],"offset":384,"phase":2,"quadratic_rows":[0,0,0,136,0,0,128,200,0]}},{"left":{"linear_Z4":[3,2,3,2,0,0,0,0,0],"matrix_rows":[16,33,66,140,3,2,4,264,8],"offset":0,"phase":0,"quadratic_rows":[3,1,12,4,0,0,0,0,0]},"new":803,"old":558,"rank":4,"right":{"linear_Z4":[2,1,0,2,1,2,3,0,3],"matrix_rows":[34,20,264,456,3,48,32,328,256],"offset":49,"phase":3,"quadratic_rows":[2,19,48,384,54,20,192,72,264]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":296,"old":559,"rank":1,"right":{"linear_Z4":[1,1,0,3,3,0,0,3,2],"matrix_rows":[395,257,274,20,264,256,288,64,384],"offset":103,"phase":1,"quadratic_rows":[139,155,16,139,22,0,0,139,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":643,"old":559,"rank":1,"right":{"linear_Z4":[0,3,3,3,3,0,0,3,0],"matrix_rows":[30,129,386,260,264,272,32,64,256],"offset":1,"phase":1,"quadratic_rows":[128,414,286,286,286,0,0,131,30]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[18,35,68,8,130,259,3,1,14],"offset":0,"phase":0,"quadratic_rows":[3,15,14,14,0,0,0,0,0]},"new":805,"old":559,"rank":4,"right":{"linear_Z4":[1,3,0,0,1,0,1,0,2],"matrix_rows":[194,337,68,264,195,64,320,208,96],"offset":68,"phase":0,"quadratic_rows":[403,67,256,256,401,0,194,81,29]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":296,"old":560,"rank":1,"right":{"linear_Z4":[3,3,0,0,3,0,0,0,0],"matrix_rows":[3,33,50,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[35,51,16,0,22,3,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":588,"old":560,"rank":1,"right":{"linear_Z4":[3,3,0,0,2,0,0,0,0],"matrix_rows":[3,33,50,4,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[35,51,0,0,2,3,0,0,0]}},{"left":{"linear_Z4":[3,2,3,3,0,0,0,0,0],"matrix_rows":[17,33,2,68,129,1,256,8,12],"offset":0,"phase":0,"quadratic_rows":[1,0,12,12,0,0,0,0,0]},"new":776,"old":560,"rank":4,"right":{"linear_Z4":[3,3,2,0,2,0,0,0,1],"matrix_rows":[3,4,8,384,49,34,256,32,64],"offset":71,"phase":2,"quadratic_rows":[51,35,0,256,1,3,0,256,392]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":296,"old":561,"rank":1,"right":{"linear_Z4":[1,1,0,3,0,0,0,3,0],"matrix_rows":[203,321,322,4,264,16,32,256,384],"offset":135,"phase":0,"quadratic_rows":[395,395,0,459,0,0,392,459,203]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":590,"old":561,"rank":1,"right":{"linear_Z4":[3,3,2,0,0,2,0,0,0],"matrix_rows":[39,33,34,32,8,48,64,128,256],"offset":1,"phase":1,"quadratic_rows":[7,7,3,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,3,3,0,0,0,0,0],"matrix_rows":[16,33,64,134,1,256,10,2,15],"offset":0,"phase":0,"quadratic_rows":[14,3,13,13,0,0,0,0,0]},"new":775,"old":561,"rank":4,"right":{"linear_Z4":[2,3,2,2,3,0,2,1,2],"matrix_rows":[258,216,24,320,3,16,204,272,32],"offset":244,"phase":1,"quadratic_rows":[2,275,200,276,474,0,276,148,90]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":325,"old":562,"rank":1,"right":{"linear_Z4":[3,3,0,3,0,0,2,0,0],"matrix_rows":[11,321,322,4,328,16,32,256,384],"offset":1,"phase":1,"quadratic_rows":[331,331,0,331,0,0,11,0,11]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":633,"old":562,"rank":1,"right":{"linear_Z4":[3,3,0,0,3,0,0,0,0],"matrix_rows":[3,33,50,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[35,51,16,0,22,3,0,0,0]}},{"left":{"linear_Z4":[2,2,2,2,0,0,0,0,0],"matrix_rows":[17,33,3,68,130,2,8,268,12],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":799,"old":562,"rank":4,"right":{"linear_Z4":[3,3,1,0,0,0,0,0,2],"matrix_rows":[23,20,264,64,37,54,256,32,384],"offset":71,"phase":2,"quadratic_rows":[51,35,20,0,5,3,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":325,"old":563,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":635,"old":563,"rank":1,"right":{"linear_Z4":[3,0,3,3,3,0,2,0,0],"matrix_rows":[93,65,2,68,72,80,32,128,256],"offset":1,"phase":1,"quadratic_rows":[29,0,29,29,29,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,2,0,0,0,0,0],"matrix_rows":[30,46,7,11,65,1,3,128,256],"offset":0,"phase":0,"quadratic_rows":[14,13,3,3,0,0,0,0,0]},"new":801,"old":563,"rank":4,"right":{"linear_Z4":[3,3,0,0,2,0,1,0,0],"matrix_rows":[92,95,23,27,125,110,32,128,256],"offset":12,"phase":2,"quadratic_rows":[47,63,3,3,66,3,80,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":325,"old":564,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,2,2,0],"matrix_rows":[136,65,66,4,200,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[64,64,0,72,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":596,"old":564,"rank":1,"right":{"linear_Z4":[3,3,0,0,2,0,0,0,0],"matrix_rows":[3,33,50,4,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[35,51,0,0,2,3,0,0,0]}},{"left":{"linear_Z4":[3,2,3,3,0,0,0,0,0],"matrix_rows":[17,33,2,68,129,1,8,12,256],"offset":0,"phase":0,"quadratic_rows":[1,0,12,12,0,0,0,0,0]},"new":780,"old":564,"rank":4,"right":{"linear_Z4":[3,3,2,0,2,0,0,1,0],"matrix_rows":[3,4,8,192,49,34,128,32,256],"offset":71,"phase":2,"quadratic_rows":[51,35,0,128,1,3,128,200,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":325,"old":565,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,2,0,2],"matrix_rows":[264,65,66,4,328,16,32,256,128],"offset":0,"phase":0,"quadratic_rows":[64,64,0,72,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":598,"old":565,"rank":1,"right":{"linear_Z4":[3,3,0,0,2,0,0,0,0],"matrix_rows":[3,33,50,4,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[35,51,0,0,2,3,0,0,0]}},{"left":{"linear_Z4":[3,2,3,3,0,0,0,0,0],"matrix_rows":[17,33,2,68,129,1,8,256,12],"offset":0,"phase":0,"quadratic_rows":[1,0,12,12,0,0,0,0,0]},"new":779,"old":565,"rank":4,"right":{"linear_Z4":[3,3,2,0,2,0,0,0,1],"matrix_rows":[3,4,8,320,49,34,256,32,128],"offset":71,"phase":2,"quadratic_rows":[51,35,0,256,1,3,256,0,328]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":354,"old":566,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[10,19,34,65,4,129,3,257,1],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":574,"old":566,"rank":3,"right":{"linear_Z4":[1,0,1,2,2,0,2,0,2],"matrix_rows":[10,15,16,329,66,324,256,288,384],"offset":5,"phase":2,"quadratic_rows":[327,69,335,68,0,0,15,0,5]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[11,20,35,67,6,131,2,259,3],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":653,"old":566,"rank":3,"right":{"linear_Z4":[2,1,2,0,1,0,2,0,2],"matrix_rows":[5,85,74,265,90,260,256,288,384],"offset":234,"phase":1,"quadratic_rows":[344,18,336,17,31,0,5,0,5]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":354,"old":567,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,2,0],"matrix_rows":[130,65,194,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[64,66,0,64,0,0,11,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,18,37,65,128,4,258,2,1],"offset":0,"phase":0,"quadratic_rows":[4,0,5,0,0,0,0,0,0]},"new":578,"old":567,"rank":3,"right":{"linear_Z4":[2,1,0,3,2,3,1,2,1],"matrix_rows":[300,130,260,13,194,288,256,80,128],"offset":447,"phase":0,"quadratic_rows":[12,66,257,41,64,40,82,0,260]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[8,17,32,64,2,128,4,5,256],"offset":0,"phase":0,"quadratic_rows":[5,0,5,0,0,0,0,0,0]},"new":657,"old":567,"rank":3,"right":{"linear_Z4":[0,0,0,0,2,0,0,1,0],"matrix_rows":[2,16,192,1,128,4,8,32,256],"offset":19,"phase":1,"quadratic_rows":[0,128,0,0,0,0,128,194,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":383,"old":568,"rank":1,"right":{"linear_Z4":[0,3,1,1,0,0,0,3,0],"matrix_rows":[158,1,258,276,280,256,32,64,384],"offset":57,"phase":0,"quadratic_rows":[0,414,398,398,386,0,0,414,158]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[12,23,36,67,134,259,3,2,7],"offset":0,"phase":0,"quadratic_rows":[2,5,2,0,0,0,0,0,0]},"new":575,"old":568,"rank":3,"right":{"linear_Z4":[3,1,3,3,3,0,0,0,1],"matrix_rows":[210,258,455,329,410,324,64,320,96],"offset":362,"phase":1,"quadratic_rows":[143,399,135,155,24,0,0,15,258]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[10,19,34,65,132,257,1,3,6],"offset":0,"phase":0,"quadratic_rows":[0,4,6,0,0,0,0,0,0]},"new":649,"old":568,"rank":3,"right":{"linear_Z4":[1,2,1,0,0,0,0,2,3],"matrix_rows":[74,271,80,201,130,196,64,320,96],"offset":0,"phase":0,"quadratic_rows":[455,453,463,452,256,0,271,15,351]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":383,"old":569,"rank":1,"right":{"linear_Z4":[0,0,3,3,2,0,0,0,0],"matrix_rows":[28,1,2,20,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,20,35,65,128,2,1,260,4],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":582,"old":569,"rank":3,"right":{"linear_Z4":[2,1,0,3,2,3,1,3,2],"matrix_rows":[108,68,386,13,258,96,64,144,256],"offset":427,"phase":2,"quadratic_rows":[12,130,65,41,128,40,68,146,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,22,33,65,2,1,128,260,4],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":659,"old":569,"rank":3,"right":{"linear_Z4":[3,2,2,3,3,0,0,0,3],"matrix_rows":[9,258,402,37,274,32,40,64,256],"offset":1,"phase":1,"quadratic_rows":[45,384,1,41,144,9,0,18,258]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":412,"old":570,"rank":1,"right":{"linear_Z4":[0,1,0,0,2,0,0,2,0],"matrix_rows":[130,1,146,20,24,128,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,18,16,16,14,0,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[8,17,32,64,2,128,4,3,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":579,"old":570,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,2,1,0],"matrix_rows":[2,144,64,1,128,4,8,32,256],"offset":21,"phase":1,"quadratic_rows":[0,128,0,0,128,0,0,146,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,18,37,1,66,132,2,256,4],"offset":0,"phase":0,"quadratic_rows":[5,0,1,0,0,0,0,0,0]},"new":651,"old":570,"rank":3,"right":{"linear_Z4":[2,3,0,3,3,0,2,0,1],"matrix_rows":[268,82,260,13,66,256,80,288,128],"offset":47,"phase":1,"quadratic_rows":[12,18,257,265,18,0,0,0,268]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":412,"old":571,"rank":1,"right":{"linear_Z4":[0,3,3,3,2,0,0,0,0],"matrix_rows":[14,1,274,276,280,256,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,286,286,286,14,0,0,0,14]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,34,66,4,128,2,261,5],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":583,"old":571,"rank":3,"right":{"linear_Z4":[0,0,3,3,0,0,2,0,2],"matrix_rows":[258,76,16,1,256,68,72,32,384],"offset":19,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[8,16,35,1,64,2,4,128,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":655,"old":571,"rank":3,"right":{"linear_Z4":[2,0,0,3,0,3,2,0,0],"matrix_rows":[44,4,64,13,2,32,16,128,256],"offset":47,"phase":1,"quadratic_rows":[12,0,1,41,0,40,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":772,"old":572,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[272,1,2,4,8,256,32,64,384],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":774,"old":572,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[34,1,32,36,8,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":483,"old":573,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,1,0,2],"matrix_rows":[336,1,2,4,8,256,32,320,128],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,64,0,80,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":773,"old":573,"rank":1,"right":{"linear_Z4":[0,0,0,0,2,0,3,0,2],"matrix_rows":[320,1,2,4,8,80,32,256,384],"offset":289,"phase":3,"quadratic_rows":[0,0,0,0,64,0,80,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":772,"old":574,"rank":1,"right":{"linear_Z4":[2,2,0,0,0,0,2,0,0],"matrix_rows":[68,5,6,64,8,16,96,128,256],"offset":15,"phase":0,"quadratic_rows":[4,4,3,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":808,"old":574,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,0,0],"matrix_rows":[7,65,64,68,8,16,32,128,256],"offset":5,"phase":0,"quadratic_rows":[71,69,71,0,0,0,7,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":456,"old":575,"rank":1,"right":{"linear_Z4":[2,2,2,0,0,0,0,0,2],"matrix_rows":[260,5,6,256,8,16,288,64,128],"offset":14,"phase":3,"quadratic_rows":[4,4,3,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":807,"old":575,"rank":1,"right":{"linear_Z4":[3,2,3,0,0,0,0,2,0],"matrix_rows":[7,129,128,132,136,144,160,192,256],"offset":94,"phase":3,"quadratic_rows":[135,133,135,0,0,0,0,7,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":527,"old":576,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[144,1,2,4,8,128,32,192,256],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":773,"old":576,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[10,1,8,12,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":500,"old":577,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[34,1,32,36,8,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":772,"old":577,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[272,1,2,4,8,256,32,320,128],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":773,"old":578,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,2,0,0],"matrix_rows":[82,1,64,4,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,16,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":809,"old":578,"rank":1,"right":{"linear_Z4":[0,2,0,0,3,0,0,2,0],"matrix_rows":[144,1,18,4,8,128,32,192,256],"offset":164,"phase":1,"quadratic_rows":[0,16,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":460,"old":579,"rank":1,"right":{"linear_Z4":[2,0,1,2,0,0,0,0,2],"matrix_rows":[260,5,2,256,8,16,288,64,128],"offset":91,"phase":1,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":807,"old":579,"rank":1,"right":{"linear_Z4":[2,0,2,1,0,0,0,0,2],"matrix_rows":[264,9,2,4,256,16,288,64,128],"offset":91,"phase":1,"quadratic_rows":[8,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":500,"old":580,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,2,2,0],"matrix_rows":[144,1,2,4,8,208,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,80,0,16,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":774,"old":580,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,0,2,0],"matrix_rows":[208,1,2,4,8,144,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,80,0,16,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":483,"old":581,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[10,1,8,12,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":527,"old":581,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[320,1,2,4,8,16,32,256,384],"offset":129,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":774,"old":582,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,0,0,2],"matrix_rows":[274,1,256,4,8,272,32,64,128],"offset":0,"phase":0,"quadratic_rows":[0,16,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":809,"old":582,"rank":1,"right":{"linear_Z4":[0,2,0,0,3,0,0,0,2],"matrix_rows":[272,1,18,4,8,256,32,64,384],"offset":261,"phase":3,"quadratic_rows":[0,16,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":461,"old":583,"rank":1,"right":{"linear_Z4":[2,0,1,2,0,0,2,0,0],"matrix_rows":[68,5,2,64,8,16,96,128,256],"offset":91,"phase":1,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":808,"old":583,"rank":1,"right":{"linear_Z4":[2,0,2,1,0,0,2,0,0],"matrix_rows":[72,9,2,4,64,16,96,128,256],"offset":91,"phase":1,"quadratic_rows":[8,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":775,"old":584,"rank":1,"right":{"linear_Z4":[2,1,2,0,0,0,0,0,2],"matrix_rows":[258,3,256,4,8,16,288,64,128],"offset":74,"phase":3,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":780,"old":584,"rank":1,"right":{"linear_Z4":[2,2,2,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,264,272,288,320,384],"offset":110,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":660,"old":585,"rank":1,"right":{"linear_Z4":[3,3,0,0,2,0,0,0,2],"matrix_rows":[3,257,274,20,24,256,288,64,384],"offset":102,"phase":0,"quadratic_rows":[259,275,16,16,14,0,0,0,3]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[15,23,34,4,65,129,6,257,1],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":776,"old":585,"rank":3,"right":{"linear_Z4":[1,1,0,0,2,0,1,0,2],"matrix_rows":[3,23,91,337,322,64,256,288,384],"offset":34,"phase":0,"quadratic_rows":[287,271,83,83,13,0,76,0,3]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":777,"old":586,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[132,1,2,128,8,16,32,192,256],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":782,"old":586,"rank":1,"right":{"linear_Z4":[2,3,0,0,2,0,0,0,0],"matrix_rows":[18,3,16,4,24,32,64,128,256],"offset":22,"phase":1,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":661,"old":587,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,8,16,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,32,66,3,2,132,260,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":778,"old":587,"rank":3,"right":{"linear_Z4":[2,1,0,0,1,2,0,0,2],"matrix_rows":[34,24,320,3,48,4,32,256,384],"offset":25,"phase":3,"quadratic_rows":[2,19,0,48,58,24,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":764,"old":588,"rank":1,"right":{"linear_Z4":[0,0,2,3,0,0,0,1,2],"matrix_rows":[392,1,2,12,256,16,32,64,384],"offset":24,"phase":2,"quadratic_rows":[0,0,8,140,0,0,0,136,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,17,36,68,129,256,1,2,6],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":778,"old":588,"rank":3,"right":{"linear_Z4":[2,3,3,0,0,0,2,2,3],"matrix_rows":[66,384,396,3,64,388,256,80,32],"offset":205,"phase":3,"quadratic_rows":[2,3,12,132,0,0,0,264,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":776,"old":589,"rank":1,"right":{"linear_Z4":[2,2,0,0,1,0,2,0,0],"matrix_rows":[80,17,2,4,8,64,96,128,256],"offset":103,"phase":1,"quadratic_rows":[16,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":802,"old":589,"rank":1,"right":{"linear_Z4":[2,1,0,0,2,0,2,0,0],"matrix_rows":[66,3,64,4,8,16,96,128,256],"offset":103,"phase":1,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":765,"old":590,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,3,3,0],"matrix_rows":[203,257,258,4,256,16,32,320,384],"offset":17,"phase":0,"quadratic_rows":[459,459,0,451,0,0,459,459,203]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[9,17,32,65,128,256,2,4,7],"offset":0,"phase":0,"quadratic_rows":[7,7,7,0,0,0,0,0,0]},"new":777,"old":590,"rank":3,"right":{"linear_Z4":[1,1,0,0,0,0,0,0,0],"matrix_rows":[11,320,384,265,266,4,256,16,32],"offset":0,"phase":0,"quadratic_rows":[259,259,0,256,0,0,256,256,203]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":775,"old":591,"rank":1,"right":{"linear_Z4":[2,3,1,0,2,0,0,0,0],"matrix_rows":[22,3,16,20,8,32,64,128,256],"offset":6,"phase":2,"quadratic_rows":[2,7,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":801,"old":591,"rank":1,"right":{"linear_Z4":[2,2,2,0,0,0,0,0,2],"matrix_rows":[260,5,6,256,264,272,288,320,384],"offset":14,"phase":3,"quadratic_rows":[4,4,3,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":776,"old":592,"rank":1,"right":{"linear_Z4":[1,1,0,0,0,0,0,0,0],"matrix_rows":[67,193,194,4,8,16,32,128,256],"offset":135,"phase":0,"quadratic_rows":[131,131,0,0,0,0,128,67,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":779,"old":592,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[67,129,130,4,8,16,32,128,256],"offset":129,"phase":0,"quadratic_rows":[195,195,0,0,0,0,131,67,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":660,"old":593,"rank":1,"right":{"linear_Z4":[3,3,0,0,2,0,0,2,0],"matrix_rows":[3,129,146,20,24,128,160,192,256],"offset":102,"phase":0,"quadratic_rows":[131,147,16,16,14,0,0,3,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[15,23,34,4,65,129,257,1,6],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":780,"old":593,"rank":3,"right":{"linear_Z4":[1,1,0,0,2,0,0,2,1],"matrix_rows":[3,23,283,401,386,256,128,160,192],"offset":34,"phase":0,"quadratic_rows":[159,143,275,275,13,0,0,3,268]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":778,"old":594,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,2,0],"matrix_rows":[196,1,2,132,8,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,68,0,0,0,4,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":781,"old":594,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,2,2,0],"matrix_rows":[132,1,2,196,8,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,68,0,0,0,4,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":661,"old":595,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,1,0,2],"matrix_rows":[324,1,2,256,8,16,32,320,128],"offset":0,"phase":0,"quadratic_rows":[0,0,64,0,0,0,68,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,32,68,5,4,130,258,2],"offset":0,"phase":0,"quadratic_rows":[5,0,1,0,0,0,0,0,0]},"new":782,"old":595,"rank":3,"right":{"linear_Z4":[2,1,2,0,1,2,3,0,2],"matrix_rows":[34,320,24,3,48,68,32,256,384],"offset":315,"phase":2,"quadratic_rows":[2,19,64,48,58,24,68,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":770,"old":596,"rank":1,"right":{"linear_Z4":[0,0,2,3,0,0,1,2,0],"matrix_rows":[200,1,2,12,128,16,32,192,256],"offset":24,"phase":2,"quadratic_rows":[0,0,8,76,0,0,72,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,17,36,68,129,256,2,6,1],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":782,"old":596,"rank":3,"right":{"linear_Z4":[2,3,3,0,0,0,2,3,2],"matrix_rows":[258,192,204,3,256,196,128,272,32],"offset":205,"phase":3,"quadratic_rows":[2,3,12,68,0,0,136,192,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":780,"old":597,"rank":1,"right":{"linear_Z4":[2,2,0,0,1,0,0,0,2],"matrix_rows":[272,17,2,4,8,256,288,64,128],"offset":103,"phase":1,"quadratic_rows":[16,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":806,"old":597,"rank":1,"right":{"linear_Z4":[2,1,0,0,2,0,0,0,2],"matrix_rows":[258,3,256,4,8,16,288,64,128],"offset":103,"phase":1,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":771,"old":598,"rank":1,"right":{"linear_Z4":[0,0,2,3,0,0,1,0,2],"matrix_rows":[328,1,2,12,256,16,32,320,128],"offset":24,"phase":2,"quadratic_rows":[0,0,8,76,0,0,72,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,17,36,68,129,256,2,1,6],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":781,"old":598,"rank":3,"right":{"linear_Z4":[2,3,3,0,0,0,2,2,3],"matrix_rows":[130,320,332,3,128,324,256,144,32],"offset":205,"phase":3,"quadratic_rows":[2,3,12,68,0,0,264,0,320]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":779,"old":599,"rank":1,"right":{"linear_Z4":[2,2,0,0,1,0,0,2,0],"matrix_rows":[144,17,2,4,8,128,160,64,256],"offset":103,"phase":1,"quadratic_rows":[16,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":805,"old":599,"rank":1,"right":{"linear_Z4":[2,1,0,0,2,0,0,2,0],"matrix_rows":[130,3,128,4,8,16,160,64,256],"offset":103,"phase":1,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":783,"old":600,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,2,4,8,16,32,192,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":788,"old":600,"rank":1,"right":{"linear_Z4":[0,2,3,0,0,2,0,0,0],"matrix_rows":[36,1,6,32,40,16,64,128,256],"offset":21,"phase":3,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":662,"old":601,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,8,16,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,16,35,1,66,2,132,260,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":784,"old":601,"rank":3,"right":{"linear_Z4":[0,2,0,3,0,1,0,0,2],"matrix_rows":[44,36,320,1,14,32,48,256,384],"offset":51,"phase":0,"quadratic_rows":[0,12,34,42,0,44,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":785,"old":602,"rank":1,"right":{"linear_Z4":[2,2,1,0,0,0,0,0,2],"matrix_rows":[260,1,6,256,8,272,32,64,128],"offset":38,"phase":3,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":790,"old":602,"rank":1,"right":{"linear_Z4":[2,2,2,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,264,272,288,320,384],"offset":62,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":663,"old":603,"rank":1,"right":{"linear_Z4":[3,1,3,2,0,3,2,0,0],"matrix_rows":[103,97,66,100,40,16,64,128,256],"offset":90,"phase":2,"quadratic_rows":[7,39,7,32,0,42,0,0,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[9,23,39,66,130,4,5,258,2],"offset":0,"phase":0,"quadratic_rows":[5,2,5,0,0,0,0,0,0]},"new":786,"old":603,"rank":3,"right":{"linear_Z4":[0,1,1,2,0,0,1,0,2],"matrix_rows":[15,6,110,64,330,324,256,272,384],"offset":9,"phase":0,"quadratic_rows":[78,303,295,35,0,78,97,0,6]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":766,"old":604,"rank":1,"right":{"linear_Z4":[0,3,3,2,0,0,0,0,0],"matrix_rows":[6,1,18,28,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,22,30,4,6,0,0,0,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[9,18,34,66,2,129,256,4,5],"offset":0,"phase":0,"quadratic_rows":[4,2,5,0,0,0,0,0,0]},"new":786,"old":604,"rank":3,"right":{"linear_Z4":[0,3,3,2,0,0,0,0,3],"matrix_rows":[257,6,384,256,26,20,16,288,64],"offset":11,"phase":1,"quadratic_rows":[0,30,22,2,6,0,0,256,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":784,"old":605,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[288,1,2,4,8,16,256,64,384],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":794,"old":605,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,8,16,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":767,"old":606,"rank":1,"right":{"linear_Z4":[0,2,2,0,0,0,3,3,2],"matrix_rows":[449,256,2,4,264,272,288,320,384],"offset":63,"phase":0,"quadratic_rows":[192,0,0,0,0,0,193,193,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[8,16,34,66,128,256,5,1,6],"offset":0,"phase":0,"quadratic_rows":[5,4,7,0,0,0,0,0,0]},"new":785,"old":606,"rank":3,"right":{"linear_Z4":[0,2,3,0,0,0,0,3,3],"matrix_rows":[192,260,320,193,6,256,264,16,32],"offset":48,"phase":2,"quadratic_rows":[192,4,6,0,0,0,257,129,320]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":783,"old":607,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,0,0],"matrix_rows":[7,32,34,36,8,16,64,128,256],"offset":3,"phase":0,"quadratic_rows":[38,39,39,0,0,7,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":793,"old":607,"rank":1,"right":{"linear_Z4":[2,2,0,0,0,2,0,0,0],"matrix_rows":[36,5,6,32,40,16,64,128,256],"offset":15,"phase":0,"quadratic_rows":[4,4,3,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":784,"old":608,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,0],"matrix_rows":[193,129,2,4,8,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[65,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":787,"old":608,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,2,2,0],"matrix_rows":[129,193,2,4,8,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[65,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":662,"old":609,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,1,0,2],"matrix_rows":[321,256,2,4,8,16,32,320,128],"offset":0,"phase":0,"quadratic_rows":[64,0,0,0,0,0,65,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,16,38,2,68,4,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":788,"old":609,"rank":3,"right":{"linear_Z4":[2,2,0,3,0,1,3,0,2],"matrix_rows":[320,44,36,65,14,32,48,256,384],"offset":319,"phase":3,"quadratic_rows":[64,12,34,42,0,44,65,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":786,"old":610,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,0,0,0,0],"matrix_rows":[70,1,194,196,8,16,32,128,256],"offset":141,"phase":0,"quadratic_rows":[0,134,134,0,0,0,128,70,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":789,"old":610,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,0,0],"matrix_rows":[70,1,130,132,8,16,32,128,256],"offset":129,"phase":0,"quadratic_rows":[0,198,198,0,0,0,134,70,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":663,"old":611,"rank":1,"right":{"linear_Z4":[3,1,3,2,0,3,0,0,2],"matrix_rows":[295,289,258,292,40,16,256,64,128],"offset":90,"phase":2,"quadratic_rows":[7,39,7,32,0,42,0,0,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[9,23,39,66,130,4,258,2,5],"offset":0,"phase":0,"quadratic_rows":[5,2,5,0,0,0,0,0,0]},"new":790,"old":611,"rank":3,"right":{"linear_Z4":[0,1,1,2,0,0,0,2,1],"matrix_rows":[15,6,302,256,394,388,128,144,192],"offset":9,"phase":0,"quadratic_rows":[270,175,167,35,0,270,0,6,289]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":768,"old":612,"rank":1,"right":{"linear_Z4":[0,3,3,2,0,0,0,0,0],"matrix_rows":[6,1,18,28,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,22,30,4,6,0,0,0,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[9,18,34,66,2,129,4,5,256],"offset":0,"phase":0,"quadratic_rows":[4,2,5,0,0,0,0,0,0]},"new":790,"old":612,"rank":3,"right":{"linear_Z4":[0,3,3,2,0,0,0,3,0],"matrix_rows":[129,6,192,128,26,20,16,160,256],"offset":11,"phase":1,"quadratic_rows":[0,30,22,2,6,0,128,192,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":788,"old":613,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[160,1,2,4,8,16,128,192,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":798,"old":613,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,2,4,8,16,32,192,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":769,"old":614,"rank":1,"right":{"linear_Z4":[0,3,3,2,0,0,0,0,0],"matrix_rows":[6,1,18,28,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,22,30,4,6,0,0,0,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[9,18,34,66,2,129,4,256,5],"offset":0,"phase":0,"quadratic_rows":[4,2,5,0,0,0,0,0,0]},"new":789,"old":614,"rank":3,"right":{"linear_Z4":[0,3,3,2,0,0,0,0,3],"matrix_rows":[257,6,320,256,26,20,16,288,128],"offset":11,"phase":1,"quadratic_rows":[0,30,22,2,6,0,256,0,320]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":787,"old":615,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[288,1,2,4,8,16,256,320,128],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":797,"old":615,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,8,16,32,320,128],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":791,"old":616,"rank":1,"right":{"linear_Z4":[2,2,0,1,0,0,0,0,2],"matrix_rows":[264,1,10,4,256,272,32,64,128],"offset":38,"phase":3,"quadratic_rows":[0,8,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":796,"old":616,"rank":1,"right":{"linear_Z4":[2,2,0,2,0,0,0,0,2],"matrix_rows":[257,256,2,260,8,272,288,320,384],"offset":62,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":664,"old":617,"rank":1,"right":{"linear_Z4":[3,1,2,3,0,3,2,0,0],"matrix_rows":[107,97,66,36,104,16,64,128,256],"offset":90,"phase":2,"quadratic_rows":[11,43,32,11,0,38,0,0,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[9,23,34,71,130,4,5,258,2],"offset":0,"phase":0,"quadratic_rows":[5,2,5,0,0,0,0,0,0]},"new":792,"old":617,"rank":3,"right":{"linear_Z4":[0,1,2,1,0,0,1,0,2],"matrix_rows":[15,10,110,64,326,256,328,272,384],"offset":9,"phase":0,"quadratic_rows":[78,303,35,299,0,78,97,0,10]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":793,"old":618,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[160,1,2,4,8,16,128,192,256],"offset":65,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":798,"old":618,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[9,8,2,12,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":665,"old":619,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[288,1,2,4,8,16,256,64,384],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,16,34,3,1,64,132,260,4],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":794,"old":619,"rank":3,"right":{"linear_Z4":[0,2,1,1,2,0,0,0,2],"matrix_rows":[9,20,320,16,6,24,32,256,384],"offset":50,"phase":3,"quadratic_rows":[24,4,14,29,9,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":766,"old":620,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,2,0,0,0],"matrix_rows":[1,33,2,4,8,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[33,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,16,34,66,128,257,2,4,5],"offset":0,"phase":0,"quadratic_rows":[4,0,5,0,0,0,0,0,0]},"new":794,"old":620,"rank":3,"right":{"linear_Z4":[0,2,3,0,0,3,2,2,3],"matrix_rows":[417,68,384,256,6,64,72,16,416],"offset":91,"phase":3,"quadratic_rows":[160,4,6,0,0,33,0,257,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":786,"old":621,"rank":1,"right":{"linear_Z4":[0,2,2,1,0,0,2,0,0],"matrix_rows":[72,1,10,4,64,80,32,128,256],"offset":61,"phase":1,"quadratic_rows":[0,8,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":792,"old":621,"rank":1,"right":{"linear_Z4":[0,2,1,2,0,0,2,0,0],"matrix_rows":[68,1,6,64,8,80,32,128,256],"offset":61,"phase":1,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":767,"old":622,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,3,3,0],"matrix_rows":[199,256,258,260,8,16,32,320,384],"offset":3,"phase":0,"quadratic_rows":[454,455,455,0,0,0,455,455,199]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[8,16,33,65,128,256,2,4,7],"offset":0,"phase":0,"quadratic_rows":[6,7,7,0,0,0,0,0,0]},"new":793,"old":622,"rank":3,"right":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[260,320,384,5,6,256,264,16,32],"offset":89,"phase":0,"quadratic_rows":[4,4,3,0,0,0,256,256,192]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":785,"old":623,"rank":1,"right":{"linear_Z4":[1,2,3,2,0,0,0,0,0],"matrix_rows":[13,9,6,8,16,32,64,128,256],"offset":12,"phase":2,"quadratic_rows":[5,4,7,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":791,"old":623,"rank":1,"right":{"linear_Z4":[1,2,1,2,0,0,0,0,0],"matrix_rows":[9,13,6,8,16,32,64,128,256],"offset":15,"phase":0,"quadratic_rows":[5,4,7,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":792,"old":624,"rank":1,"right":{"linear_Z4":[0,1,0,1,0,0,0,0,0],"matrix_rows":[74,1,194,4,200,16,32,128,256],"offset":149,"phase":0,"quadratic_rows":[0,138,0,138,0,0,128,74,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":795,"old":624,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,0,0,0],"matrix_rows":[74,1,130,4,136,16,32,128,256],"offset":129,"phase":0,"quadratic_rows":[0,202,0,202,0,0,138,74,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":664,"old":625,"rank":1,"right":{"linear_Z4":[3,1,2,3,0,3,0,0,2],"matrix_rows":[299,289,258,36,296,16,256,64,128],"offset":90,"phase":2,"quadratic_rows":[11,43,32,11,0,38,0,0,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[9,23,34,71,130,4,258,2,5],"offset":0,"phase":0,"quadratic_rows":[5,2,5,0,0,0,0,0,0]},"new":796,"old":625,"rank":3,"right":{"linear_Z4":[0,1,2,1,0,0,0,2,1],"matrix_rows":[15,10,302,256,390,128,392,144,192],"offset":9,"phase":0,"quadratic_rows":[270,175,35,171,0,270,0,10,289]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":794,"old":626,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,1,0,2,0],"matrix_rows":[224,1,2,4,8,16,160,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,96,32,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":797,"old":626,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,1,2,2,0],"matrix_rows":[160,1,2,4,8,16,224,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,96,32,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":665,"old":627,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,1,0,2],"matrix_rows":[352,1,2,4,8,16,256,320,128],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,64,96,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,16,34,3,1,64,132,260,4],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":798,"old":627,"rank":3,"right":{"linear_Z4":[0,2,1,1,2,2,3,0,2],"matrix_rows":[9,20,320,16,6,24,96,256,384],"offset":374,"phase":2,"quadratic_rows":[24,4,14,29,9,64,96,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":768,"old":628,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,2,0,0,0],"matrix_rows":[1,33,2,4,8,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[33,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,16,34,66,128,257,4,5,2],"offset":0,"phase":0,"quadratic_rows":[4,0,5,0,0,0,0,0,0]},"new":798,"old":628,"rank":3,"right":{"linear_Z4":[0,2,3,0,0,3,2,3,2],"matrix_rows":[225,260,192,128,6,256,264,16,224],"offset":91,"phase":3,"quadratic_rows":[96,4,6,0,0,33,129,192,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":790,"old":629,"rank":1,"right":{"linear_Z4":[0,2,2,1,0,0,0,0,2],"matrix_rows":[264,1,10,4,256,272,32,64,128],"offset":61,"phase":1,"quadratic_rows":[0,8,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":796,"old":629,"rank":1,"right":{"linear_Z4":[0,2,1,2,0,0,0,0,2],"matrix_rows":[260,1,6,256,8,272,32,64,128],"offset":61,"phase":1,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":769,"old":630,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,2,0,0,0],"matrix_rows":[1,33,2,4,8,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[33,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,16,34,66,128,257,4,2,5],"offset":0,"phase":0,"quadratic_rows":[4,0,5,0,0,0,0,0,0]},"new":797,"old":630,"rank":3,"right":{"linear_Z4":[0,2,3,0,0,3,2,2,3],"matrix_rows":[353,132,320,256,6,128,136,16,352],"offset":91,"phase":3,"quadratic_rows":[96,4,6,0,0,33,257,0,320]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":789,"old":631,"rank":1,"right":{"linear_Z4":[0,2,2,1,0,0,0,2,0],"matrix_rows":[136,1,10,4,128,144,32,64,256],"offset":61,"phase":1,"quadratic_rows":[0,8,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":795,"old":631,"rank":1,"right":{"linear_Z4":[0,2,1,2,0,0,0,2,0],"matrix_rows":[132,1,6,128,8,144,32,64,256],"offset":61,"phase":1,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":799,"old":632,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[136,1,2,4,128,16,32,192,256],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":804,"old":632,"rank":1,"right":{"linear_Z4":[2,3,0,0,2,0,0,0,0],"matrix_rows":[18,3,16,20,8,32,64,128,256],"offset":14,"phase":1,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":666,"old":633,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[264,1,2,4,256,16,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,34,64,3,2,132,260,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":800,"old":633,"rank":3,"right":{"linear_Z4":[2,1,0,0,1,2,0,0,2],"matrix_rows":[34,20,320,3,48,32,8,256,384],"offset":25,"phase":3,"quadratic_rows":[2,19,48,0,54,20,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":801,"old":634,"rank":1,"right":{"linear_Z4":[2,2,0,0,1,0,0,0,2],"matrix_rows":[272,17,2,4,8,256,288,64,128],"offset":103,"phase":1,"quadratic_rows":[16,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":806,"old":634,"rank":1,"right":{"linear_Z4":[2,1,0,0,2,0,0,0,2],"matrix_rows":[258,3,256,260,264,16,288,320,384],"offset":511,"phase":1,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":667,"old":635,"rank":1,"right":{"linear_Z4":[2,2,0,0,1,0,2,0,0],"matrix_rows":[80,1,18,20,24,64,96,128,256],"offset":103,"phase":1,"quadratic_rows":[0,16,16,16,30,0,0,0,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[15,17,34,4,71,129,6,257,1],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":802,"old":635,"rank":3,"right":{"linear_Z4":[1,2,0,0,1,0,1,0,2],"matrix_rows":[17,23,91,323,256,64,336,288,384],"offset":34,"phase":0,"quadratic_rows":[287,13,83,83,285,0,76,0,17]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":764,"old":636,"rank":1,"right":{"linear_Z4":[2,2,0,0,1,0,2,0,0],"matrix_rows":[80,1,18,4,8,64,96,128,256],"offset":103,"phase":1,"quadratic_rows":[0,16,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,17,34,66,129,1,256,4,6],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":802,"old":636,"rank":3,"right":{"linear_Z4":[3,2,0,0,3,0,0,0,3],"matrix_rows":[17,260,384,35,32,256,264,48,64],"offset":35,"phase":1,"quadratic_rows":[51,1,0,0,49,17,0,256,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":778,"old":637,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[264,1,2,4,256,16,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":800,"old":637,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,8,16,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":765,"old":638,"rank":1,"right":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[7,33,34,32,40,48,64,128,256],"offset":17,"phase":0,"quadratic_rows":[39,39,35,0,0,7,0,0,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[11,19,35,67,131,3,261,1,4],"offset":0,"phase":0,"quadratic_rows":[5,2,5,0,0,0,0,0,0]},"new":801,"old":638,"rank":3,"right":{"linear_Z4":[2,2,3,0,0,0,3,2,3],"matrix_rows":[455,7,64,229,230,32,40,48,256],"offset":295,"phase":1,"quadratic_rows":[292,292,487,0,0,7,196,324,391]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":777,"old":639,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[7,9,10,8,16,32,64,128,256],"offset":9,"phase":0,"quadratic_rows":[15,15,11,7,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":799,"old":639,"rank":1,"right":{"linear_Z4":[1,1,0,0,0,0,0,0,0],"matrix_rows":[7,13,14,8,16,32,64,128,256],"offset":15,"phase":0,"quadratic_rows":[11,11,8,7,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":800,"old":640,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,0,2,0],"matrix_rows":[200,1,2,4,136,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,72,0,0,8,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":803,"old":640,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,2,2,0],"matrix_rows":[136,1,2,4,200,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,72,0,0,8,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":666,"old":641,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,1,0,2],"matrix_rows":[328,1,2,4,256,16,32,320,128],"offset":0,"phase":0,"quadratic_rows":[0,0,0,64,0,0,72,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,34,64,3,2,132,260,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":804,"old":641,"rank":3,"right":{"linear_Z4":[2,1,0,2,1,2,3,0,2],"matrix_rows":[34,20,320,3,48,32,72,256,384],"offset":349,"phase":2,"quadratic_rows":[2,19,48,64,54,20,72,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":802,"old":642,"rank":1,"right":{"linear_Z4":[1,0,0,0,1,0,0,0,0],"matrix_rows":[81,193,2,4,8,208,32,128,256],"offset":163,"phase":0,"quadratic_rows":[145,0,0,0,145,0,128,81,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":805,"old":642,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,0,0],"matrix_rows":[81,129,2,4,8,144,32,128,256],"offset":129,"phase":0,"quadratic_rows":[209,0,0,0,209,0,145,81,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":667,"old":643,"rank":1,"right":{"linear_Z4":[2,2,0,0,1,0,0,0,2],"matrix_rows":[272,1,18,20,24,256,288,64,128],"offset":103,"phase":1,"quadratic_rows":[0,16,16,16,30,0,0,0,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[15,17,34,4,71,129,257,1,6],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":806,"old":643,"rank":3,"right":{"linear_Z4":[1,2,0,0,1,0,0,2,1],"matrix_rows":[17,23,283,387,128,256,400,160,192],"offset":34,"phase":0,"quadratic_rows":[159,13,275,275,157,0,0,17,268]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":770,"old":644,"rank":1,"right":{"linear_Z4":[2,2,0,0,1,0,0,0,2],"matrix_rows":[272,1,18,4,8,256,288,64,128],"offset":103,"phase":1,"quadratic_rows":[0,16,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,17,34,66,129,1,4,6,256],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":806,"old":644,"rank":3,"right":{"linear_Z4":[3,2,0,0,3,0,0,3,0],"matrix_rows":[17,132,192,35,32,128,136,48,256],"offset":35,"phase":1,"quadratic_rows":[51,1,0,0,49,17,128,192,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":782,"old":645,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[136,1,2,4,128,16,32,192,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":804,"old":645,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[132,1,2,128,8,16,32,192,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":771,"old":646,"rank":1,"right":{"linear_Z4":[2,2,0,0,1,0,0,2,0],"matrix_rows":[144,1,18,4,8,128,160,64,256],"offset":103,"phase":1,"quadratic_rows":[0,16,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,17,34,66,129,1,4,256,6],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":805,"old":646,"rank":3,"right":{"linear_Z4":[3,2,0,0,3,0,0,0,3],"matrix_rows":[17,260,320,35,32,256,264,48,128],"offset":35,"phase":1,"quadratic_rows":[51,1,0,0,49,17,256,0,320]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":781,"old":647,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[264,1,2,4,256,16,32,320,128],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":803,"old":647,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,8,16,32,320,128],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":521,"old":648,"rank":1,"right":{"linear_Z4":[2,2,1,0,0,0,0,0,2],"matrix_rows":[260,5,2,256,8,16,288,64,128],"offset":70,"phase":3,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":807,"old":648,"rank":1,"right":{"linear_Z4":[2,2,2,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,264,272,288,320,384],"offset":94,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":504,"old":649,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,0,0],"matrix_rows":[7,129,128,132,8,16,32,64,256],"offset":5,"phase":0,"quadratic_rows":[135,133,135,0,0,0,0,7,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":772,"old":649,"rank":1,"right":{"linear_Z4":[2,2,0,0,0,0,0,2,0],"matrix_rows":[132,5,6,128,8,16,160,64,256],"offset":15,"phase":0,"quadratic_rows":[4,4,3,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":526,"old":650,"rank":1,"right":{"linear_Z4":[3,0,3,2,0,0,0,0,0],"matrix_rows":[5,33,2,44,32,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[37,0,45,4,0,5,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":807,"old":650,"rank":1,"right":{"linear_Z4":[3,0,3,2,0,0,0,0,0],"matrix_rows":[5,41,2,36,32,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[45,0,37,1,0,5,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":484,"old":651,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[144,1,2,4,8,128,32,192,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":773,"old":651,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[130,1,128,4,8,16,32,192,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":504,"old":652,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,0,0],"matrix_rows":[69,129,2,132,8,16,32,128,256],"offset":129,"phase":0,"quadratic_rows":[197,0,197,0,0,0,133,69,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":808,"old":652,"rank":1,"right":{"linear_Z4":[1,0,1,0,0,0,0,0,0],"matrix_rows":[69,193,2,196,8,16,32,128,256],"offset":139,"phase":0,"quadratic_rows":[133,0,133,0,0,0,128,69,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":456,"old":653,"rank":1,"right":{"linear_Z4":[2,1,1,0,0,2,0,0,0],"matrix_rows":[34,5,38,32,8,16,64,128,256],"offset":15,"phase":0,"quadratic_rows":[4,6,7,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":521,"old":653,"rank":1,"right":{"linear_Z4":[2,1,3,0,0,2,0,0,0],"matrix_rows":[38,5,34,32,8,16,64,128,256],"offset":10,"phase":2,"quadratic_rows":[4,6,7,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":498,"old":654,"rank":1,"right":{"linear_Z4":[2,0,3,0,0,0,2,0,0],"matrix_rows":[68,5,2,64,8,16,96,128,256],"offset":67,"phase":3,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":808,"old":654,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,8,272,32,64,128],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":478,"old":655,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[272,1,2,4,8,256,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":774,"old":655,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,8,16,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":484,"old":656,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,0,0],"matrix_rows":[82,1,66,4,8,64,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,18,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":809,"old":656,"rank":1,"right":{"linear_Z4":[0,1,0,0,2,0,2,0,0],"matrix_rows":[66,1,82,4,8,64,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,18,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":460,"old":657,"rank":1,"right":{"linear_Z4":[3,0,2,3,0,0,0,0,0],"matrix_rows":[9,37,2,32,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[45,0,1,41,0,9,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":526,"old":657,"rank":1,"right":{"linear_Z4":[2,0,2,1,0,0,0,0,2],"matrix_rows":[264,1,2,12,256,16,288,64,128],"offset":91,"phase":1,"quadratic_rows":[0,0,8,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":478,"old":658,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[274,1,258,4,8,256,32,64,128],"offset":0,"phase":0,"quadratic_rows":[0,18,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":809,"old":658,"rank":1,"right":{"linear_Z4":[0,1,0,0,2,0,0,0,2],"matrix_rows":[258,1,274,4,8,256,32,64,128],"offset":0,"phase":0,"quadratic_rows":[0,18,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":461,"old":659,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,8,272,32,64,128],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":498,"old":659,"rank":1,"right":{"linear_Z4":[2,0,0,3,0,0,2,0,0],"matrix_rows":[72,9,2,4,64,16,96,128,256],"offset":67,"phase":3,"quadratic_rows":[8,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[6,10,17,2,35,67,131,259,3],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":866,"old":660,"rank":2,"right":{"linear_Z4":[3,3,2,2,0,0,0,0,1],"matrix_rows":[4,267,5,6,256,272,288,320,384],"offset":114,"phase":0,"quadratic_rows":[271,271,259,259,0,0,0,0,271]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":872,"old":660,"rank":1,"right":{"linear_Z4":[0,0,3,2,0,0,0,0,2],"matrix_rows":[260,1,2,268,256,272,288,320,384],"offset":1,"phase":1,"quadratic_rows":[0,0,12,4,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[8,17,34,4,71,6,135,263,7],"offset":0,"phase":0,"quadratic_rows":[0,6,6,0,0,0,0,0,0]},"new":1035,"old":660,"rank":3,"right":{"linear_Z4":[2,1,2,2,0,3,0,0,2],"matrix_rows":[290,4,40,3,288,32,272,320,384],"offset":108,"phase":2,"quadratic_rows":[2,3,32,32,0,44,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,16,33,1,64,130,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":867,"old":661,"rank":2,"right":{"linear_Z4":[2,3,0,1,2,0,0,0,2],"matrix_rows":[26,320,3,16,4,24,32,256,384],"offset":142,"phase":2,"quadratic_rows":[2,11,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":873,"old":661,"rank":1,"right":{"linear_Z4":[3,3,0,2,0,2,0,0,0],"matrix_rows":[43,33,34,4,32,48,64,128,256],"offset":1,"phase":1,"quadratic_rows":[11,11,0,3,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,32,66,3,2,132,260,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":1035,"old":661,"rank":3,"right":{"linear_Z4":[2,1,0,0,1,2,0,0,2],"matrix_rows":[34,24,320,3,48,4,32,256,384],"offset":157,"phase":3,"quadratic_rows":[2,19,0,48,58,24,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,17,32,65,1,130,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":870,"old":662,"rank":2,"right":{"linear_Z4":[0,2,1,2,0,2,0,0,2],"matrix_rows":[36,320,1,6,32,8,48,256,384],"offset":251,"phase":1,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":876,"old":662,"rank":1,"right":{"linear_Z4":[0,3,3,2,0,2,0,0,0],"matrix_rows":[38,1,34,44,32,48,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,14,4,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,16,35,1,66,2,132,260,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":1036,"old":662,"rank":3,"right":{"linear_Z4":[0,2,0,3,0,1,0,0,2],"matrix_rows":[44,36,320,1,14,32,48,256,384],"offset":183,"phase":0,"quadratic_rows":[0,12,34,42,0,44,0,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[6,8,19,34,65,1,130,258,2],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":871,"old":663,"rank":2,"right":{"linear_Z4":[3,2,2,1,0,3,0,0,1],"matrix_rows":[292,41,261,14,288,256,48,320,384],"offset":77,"phase":0,"quadratic_rows":[301,12,267,303,0,41,0,0,269]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":877,"old":663,"rank":1,"right":{"linear_Z4":[1,2,2,1,0,0,0,0,2],"matrix_rows":[265,257,2,12,256,272,288,320,384],"offset":127,"phase":3,"quadratic_rows":[9,0,8,13,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[9,16,38,66,4,5,130,258,2],"offset":0,"phase":0,"quadratic_rows":[5,4,3,0,0,0,0,0,0]},"new":1036,"old":663,"rank":3,"right":{"linear_Z4":[0,2,2,1,1,3,0,0,1],"matrix_rows":[17,284,292,48,14,272,256,320,384],"offset":61,"phase":3,"quadratic_rows":[32,12,290,26,56,309,0,0,292]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,9,18,33,66,3,130,258,2],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":870,"old":664,"rank":2,"right":{"linear_Z4":[0,1,2,1,0,1,0,0,0],"matrix_rows":[271,292,288,294,256,296,272,320,384],"offset":2,"phase":1,"quadratic_rows":[46,43,9,47,0,43,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":877,"old":664,"rank":1,"right":{"linear_Z4":[1,1,1,2,0,2,0,0,0],"matrix_rows":[7,33,34,44,32,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[39,39,47,4,0,7,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,16,38,66,4,5,134,262,6],"offset":0,"phase":0,"quadratic_rows":[5,0,5,0,0,0,0,0,0]},"new":1036,"old":664,"rank":3,"right":{"linear_Z4":[0,2,2,3,2,1,0,0,2],"matrix_rows":[17,284,52,48,14,256,272,320,384],"offset":89,"phase":2,"quadratic_rows":[32,12,34,10,0,37,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,1,32,64,130,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":871,"old":665,"rank":2,"right":{"linear_Z4":[1,2,1,2,0,0,0,0,2],"matrix_rows":[9,320,13,6,8,16,32,256,384],"offset":159,"phase":0,"quadratic_rows":[5,4,7,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":876,"old":665,"rank":1,"right":{"linear_Z4":[2,3,3,0,2,0,0,0,0],"matrix_rows":[23,16,18,20,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[6,7,7,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,16,34,3,1,64,132,260,4],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":1036,"old":665,"rank":3,"right":{"linear_Z4":[0,2,1,1,2,0,0,0,2],"matrix_rows":[9,20,320,16,6,24,32,256,384],"offset":182,"phase":3,"quadratic_rows":[24,4,14,29,9,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,17,32,65,1,130,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":866,"old":666,"rank":2,"right":{"linear_Z4":[2,2,2,0,0,2,0,0,2],"matrix_rows":[36,320,5,6,32,8,48,256,384],"offset":158,"phase":3,"quadratic_rows":[4,4,3,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":873,"old":666,"rank":1,"right":{"linear_Z4":[3,3,2,0,0,2,0,0,0],"matrix_rows":[39,33,34,32,8,48,64,128,256],"offset":1,"phase":1,"quadratic_rows":[7,7,3,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,34,64,3,2,132,260,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":1035,"old":666,"rank":3,"right":{"linear_Z4":[2,1,0,0,1,2,0,0,2],"matrix_rows":[34,20,320,3,48,32,8,256,384],"offset":157,"phase":3,"quadratic_rows":[2,19,48,0,54,20,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,18,33,67,2,129,257,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":867,"old":667,"rank":2,"right":{"linear_Z4":[2,3,2,1,0,1,0,0,1],"matrix_rows":[42,292,3,256,32,264,304,320,384],"offset":117,"phase":3,"quadratic_rows":[2,299,256,298,0,42,0,0,270]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":872,"old":667,"rank":1,"right":{"linear_Z4":[1,1,1,2,0,2,0,0,0],"matrix_rows":[7,33,34,44,32,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[39,39,47,4,0,7,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,34,4,71,6,129,257,1],"offset":0,"phase":0,"quadratic_rows":[6,1,1,0,0,0,0,0,0]},"new":1035,"old":667,"rank":3,"right":{"linear_Z4":[2,1,2,2,0,3,0,0,2],"matrix_rows":[290,292,264,3,256,32,304,320,384],"offset":108,"phase":2,"quadratic_rows":[2,35,256,256,0,290,0,0,44]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[9,16,33,66,130,258,2,4,5],"offset":0,"phase":0,"quadratic_rows":[4,2,5,0,0,0,0,0,0]},"new":1,"old":668,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,3],"matrix_rows":[257,8,384,256,2,260,64,80,96],"offset":73,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,256,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":878,"old":668,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,2],"matrix_rows":[257,385,2,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[129,0,0,0,0,0,0,1,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":884,"old":668,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[385,257,2,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[129,0,0,0,0,0,0,1,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,16,32,65,130,257,2,4,7],"offset":0,"phase":0,"quadratic_rows":[6,5,7,0,0,0,0,0,0]},"new":1,"old":669,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[264,272,384,1,2,4,320,64,352],"offset":195,"phase":0,"quadratic_rows":[0,0,0,64,320,0,24,256,144]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":879,"old":669,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,0,0,0,0],"matrix_rows":[152,1,2,4,392,400,32,64,256],"offset":305,"phase":0,"quadratic_rows":[0,0,0,280,280,0,0,256,152]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":885,"old":669,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,0,0,0,0],"matrix_rows":[152,1,2,4,264,272,32,64,256],"offset":257,"phase":0,"quadratic_rows":[0,0,0,408,408,0,0,280,152]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,16,33,66,132,258,4,2,5],"offset":0,"phase":0,"quadratic_rows":[4,0,1,0,0,0,0,0,0]},"new":1,"old":670,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,0,2,1],"matrix_rows":[257,136,272,320,2,324,128,64,160],"offset":231,"phase":0,"quadratic_rows":[64,0,0,0,320,0,17,0,272]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":882,"old":670,"rank":1,"right":{"linear_Z4":[2,0,0,0,3,0,0,0,2],"matrix_rows":[272,17,2,4,8,256,32,320,128],"offset":131,"phase":3,"quadratic_rows":[16,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":888,"old":670,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[136,1,2,4,128,16,160,64,256],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,16,33,66,132,258,4,5,2],"offset":0,"phase":0,"quadratic_rows":[4,0,1,0,0,0,0,0,0]},"new":1,"old":671,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,0,1,2],"matrix_rows":[129,264,144,192,2,196,256,64,288],"offset":231,"phase":0,"quadratic_rows":[64,0,0,0,192,0,17,144,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":883,"old":671,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[264,1,2,4,256,16,288,64,128],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":889,"old":671,"rank":1,"right":{"linear_Z4":[2,0,0,0,3,0,0,2,0],"matrix_rows":[144,17,2,4,8,128,32,192,256],"offset":131,"phase":3,"quadratic_rows":[16,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,16,33,66,129,258,1,4,6],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":1,"old":672,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,3],"matrix_rows":[1,264,384,64,2,68,256,80,288],"offset":74,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,256,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":882,"old":672,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,0,2,2],"matrix_rows":[264,1,2,4,392,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,136,0,0,0,8,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":889,"old":672,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,0,0,2],"matrix_rows":[392,1,2,4,264,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,136,0,0,0,8,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,16,33,64,130,256,2,4,7],"offset":0,"phase":0,"quadratic_rows":[6,5,7,0,0,0,0,0,0]},"new":1,"old":673,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,272,384,320,2,324,8,64,32],"offset":139,"phase":0,"quadratic_rows":[64,0,0,0,320,0,17,256,144]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":883,"old":673,"rank":1,"right":{"linear_Z4":[1,0,0,0,1,0,0,0,0],"matrix_rows":[145,385,2,4,8,400,32,64,256],"offset":291,"phase":0,"quadratic_rows":[273,0,0,0,273,0,0,256,145]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":888,"old":673,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,0,0],"matrix_rows":[145,257,2,4,8,272,32,64,256],"offset":257,"phase":0,"quadratic_rows":[401,0,0,0,401,0,0,273,145]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,16,33,66,132,258,4,1,6],"offset":0,"phase":0,"quadratic_rows":[0,4,2,0,0,0,0,0,0]},"new":1,"old":674,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,0,0,2,1],"matrix_rows":[129,264,272,128,2,132,320,64,352],"offset":399,"phase":0,"quadratic_rows":[0,0,0,64,320,0,24,0,272]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":878,"old":674,"rank":1,"right":{"linear_Z4":[0,0,0,2,3,0,0,0,2],"matrix_rows":[272,1,2,4,24,256,32,320,128],"offset":145,"phase":3,"quadratic_rows":[0,0,0,16,24,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":885,"old":674,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,2,132,8,16,32,64,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,16,33,66,132,258,4,6,1],"offset":0,"phase":0,"quadratic_rows":[0,4,2,0,0,0,0,0,0]},"new":1,"old":675,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,0,0,1,2],"matrix_rows":[257,136,144,256,2,260,192,64,224],"offset":399,"phase":0,"quadratic_rows":[0,0,0,64,192,0,24,144,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":879,"old":675,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,260,8,16,32,64,128],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":884,"old":675,"rank":1,"right":{"linear_Z4":[0,0,0,2,3,0,0,2,0],"matrix_rows":[144,1,2,4,24,128,32,192,256],"offset":145,"phase":3,"quadratic_rows":[0,0,0,16,24,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,18,35,4,70,134,7,262,6],"offset":0,"phase":0,"quadratic_rows":[4,4,7,0,0,0,0,0,0]},"new":1,"old":676,"rank":3,"right":{"linear_Z4":[2,2,0,0,0,0,3,0,0],"matrix_rows":[321,258,72,320,256,68,272,288,384],"offset":56,"phase":1,"quadratic_rows":[0,0,0,64,0,0,72,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":890,"old":676,"rank":1,"right":{"linear_Z4":[1,1,0,2,0,0,0,0,0],"matrix_rows":[3,265,258,4,256,272,288,320,384],"offset":151,"phase":1,"quadratic_rows":[267,259,0,1,0,0,0,0,3]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":896,"old":676,"rank":1,"right":{"linear_Z4":[3,3,0,2,0,0,0,0,0],"matrix_rows":[3,257,266,4,256,272,288,320,384],"offset":1,"phase":1,"quadratic_rows":[259,267,0,2,0,0,0,0,3]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,17,32,66,132,3,2,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":677,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,1,0,0,2],"matrix_rows":[33,40,272,96,98,4,64,256,384],"offset":215,"phase":0,"quadratic_rows":[64,0,0,96,0,40,9,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":891,"old":677,"rank":1,"right":{"linear_Z4":[2,0,0,3,0,0,2,0,0],"matrix_rows":[72,9,2,4,64,16,96,128,256],"offset":82,"phase":1,"quadratic_rows":[8,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":897,"old":677,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[272,1,2,4,8,256,32,64,384],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[9,18,35,68,132,6,7,260,4],"offset":0,"phase":0,"quadratic_rows":[4,2,5,0,0,0,0,0,0]},"new":1,"old":678,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,1,1,0,3],"matrix_rows":[353,2,104,96,288,324,256,272,384],"offset":79,"phase":1,"quadratic_rows":[256,288,0,352,0,106,104,0,267]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":894,"old":678,"rank":1,"right":{"linear_Z4":[3,2,0,2,0,0,0,0,2],"matrix_rows":[257,265,2,4,256,272,288,320,384],"offset":150,"phase":0,"quadratic_rows":[9,0,0,1,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":900,"old":678,"rank":1,"right":{"linear_Z4":[3,2,0,0,0,0,0,0,2],"matrix_rows":[265,257,2,4,256,272,288,320,384],"offset":85,"phase":2,"quadratic_rows":[9,0,0,1,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,33,2,68,131,3,260,4],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":679,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,2],"matrix_rows":[2,8,272,1,64,68,256,96,384],"offset":84,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":895,"old":679,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[72,1,2,4,64,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":901,"old":679,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[272,1,2,4,8,256,32,64,384],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,18,35,4,65,134,7,257,1],"offset":0,"phase":0,"quadratic_rows":[5,2,1,0,0,0,0,0,0]},"new":1,"old":680,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,0,0,3],"matrix_rows":[1,2,264,256,320,68,272,352,384],"offset":58,"phase":2,"quadratic_rows":[256,320,0,256,0,0,2,0,267]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":894,"old":680,"rank":1,"right":{"linear_Z4":[2,2,0,1,0,0,2,0,0],"matrix_rows":[72,9,2,4,64,16,96,128,256],"offset":70,"phase":3,"quadratic_rows":[8,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":901,"old":680,"rank":1,"right":{"linear_Z4":[0,2,0,3,0,0,0,0,2],"matrix_rows":[265,256,2,260,264,272,32,320,384],"offset":15,"phase":2,"quadratic_rows":[8,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,18,35,64,132,2,3,260,4],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":1,"old":681,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,2],"matrix_rows":[97,2,272,96,32,68,8,256,384],"offset":148,"phase":3,"quadratic_rows":[0,32,0,0,0,2,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":895,"old":681,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[65,64,2,68,8,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":900,"old":681,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[272,1,2,4,8,256,32,64,384],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,35,68,131,6,7,259,3],"offset":0,"phase":0,"quadratic_rows":[7,1,1,0,0,0,0,0,0]},"new":1,"old":682,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,1,0,0,0],"matrix_rows":[33,258,296,96,352,260,320,272,384],"offset":77,"phase":0,"quadratic_rows":[64,96,0,96,0,42,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":890,"old":682,"rank":1,"right":{"linear_Z4":[2,2,0,1,0,0,2,0,0],"matrix_rows":[72,9,2,4,64,16,96,128,256],"offset":70,"phase":3,"quadratic_rows":[8,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":897,"old":682,"rank":1,"right":{"linear_Z4":[2,1,0,2,0,0,0,0,2],"matrix_rows":[258,3,256,260,8,272,288,320,384],"offset":82,"phase":3,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,35,2,68,128,1,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":683,"rank":3,"right":{"linear_Z4":[2,2,0,3,0,0,3,0,2],"matrix_rows":[73,74,272,64,8,76,256,32,384],"offset":124,"phase":1,"quadratic_rows":[8,64,0,73,0,0,74,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":891,"old":683,"rank":1,"right":{"linear_Z4":[2,3,0,2,0,0,0,0,0],"matrix_rows":[10,3,8,12,16,32,64,128,256],"offset":14,"phase":1,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":896,"old":683,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[272,1,2,4,8,256,32,64,384],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,17,34,68,4,133,5,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,4,0,0,0,0,0,0]},"new":1,"old":684,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,2],"matrix_rows":[82,260,8,1,80,256,16,96,384],"offset":98,"phase":3,"quadratic_rows":[0,0,0,16,8,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":902,"old":684,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,8,16,32,64,384],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":908,"old":684,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[66,1,64,4,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[9,18,34,68,133,6,7,258,2],"offset":0,"phase":0,"quadratic_rows":[2,3,4,0,0,0,0,0,0]},"new":1,"old":685,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,1,1,0,3],"matrix_rows":[353,98,8,96,256,260,288,336,384],"offset":31,"phase":1,"quadratic_rows":[256,352,0,288,0,106,98,0,267]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":903,"old":685,"rank":1,"right":{"linear_Z4":[3,0,0,2,0,0,0,0,2],"matrix_rows":[259,257,256,260,8,16,288,320,384],"offset":85,"phase":2,"quadratic_rows":[3,1,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":909,"old":685,"rank":1,"right":{"linear_Z4":[3,2,0,2,0,0,0,0,2],"matrix_rows":[257,259,256,260,8,16,288,320,384],"offset":150,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,70,7,132,5,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":686,"rank":3,"right":{"linear_Z4":[0,2,2,0,3,0,0,0,1],"matrix_rows":[273,274,260,320,80,256,344,288,384],"offset":112,"phase":1,"quadratic_rows":[80,320,0,0,273,0,3,0,274]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":906,"old":686,"rank":1,"right":{"linear_Z4":[2,2,2,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,264,272,288,320,384],"offset":158,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":912,"old":686,"rank":1,"right":{"linear_Z4":[2,1,2,0,2,0,0,0,0],"matrix_rows":[18,3,16,4,24,32,64,128,256],"offset":26,"phase":3,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,65,128,3,2,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":687,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,1,0,0,2],"matrix_rows":[33,34,260,96,64,256,104,16,384],"offset":119,"phase":0,"quadratic_rows":[64,96,0,0,0,34,3,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":907,"old":687,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,8,16,32,64,384],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":913,"old":687,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,2,0,0],"matrix_rows":[66,3,64,4,8,16,96,128,256],"offset":70,"phase":1,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,66,3,128,1,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":688,"rank":3,"right":{"linear_Z4":[0,2,0,0,1,0,0,0,2],"matrix_rows":[17,18,260,64,80,256,88,32,384],"offset":111,"phase":0,"quadratic_rows":[80,64,0,0,17,0,3,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":906,"old":688,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,8,16,32,64,384],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":913,"old":688,"rank":1,"right":{"linear_Z4":[2,3,0,0,2,0,0,0,0],"matrix_rows":[18,3,16,4,24,32,64,128,256],"offset":19,"phase":3,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,69,132,7,6,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":689,"rank":3,"right":{"linear_Z4":[2,0,2,0,0,3,0,0,1],"matrix_rows":[289,290,260,96,320,256,360,272,384],"offset":104,"phase":1,"quadratic_rows":[320,96,0,0,0,290,3,0,289]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":907,"old":689,"rank":1,"right":{"linear_Z4":[2,2,2,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,264,272,288,320,384],"offset":158,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":912,"old":689,"rank":1,"right":{"linear_Z4":[2,1,2,0,0,0,2,0,0],"matrix_rows":[66,3,64,4,8,16,96,128,256],"offset":79,"phase":1,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,18,33,68,5,134,7,257,1],"offset":0,"phase":0,"quadratic_rows":[3,1,4,0,0,0,0,0,0]},"new":1,"old":690,"rank":3,"right":{"linear_Z4":[0,0,0,2,1,0,1,0,3],"matrix_rows":[81,338,8,256,80,260,272,352,384],"offset":31,"phase":1,"quadratic_rows":[336,256,0,272,89,0,81,0,267]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":902,"old":690,"rank":1,"right":{"linear_Z4":[0,3,0,2,0,0,0,0,2],"matrix_rows":[259,256,258,260,8,272,32,320,384],"offset":51,"phase":2,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":909,"old":690,"rank":1,"right":{"linear_Z4":[2,1,0,2,0,0,2,0,0],"matrix_rows":[66,3,64,4,8,16,96,128,256],"offset":82,"phase":3,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,16,34,68,133,4,5,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,4,0,0,0,0,0,0]},"new":1,"old":691,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,2],"matrix_rows":[97,260,8,96,2,256,32,80,384],"offset":98,"phase":3,"quadratic_rows":[0,0,0,32,0,8,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":903,"old":691,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,8,16,32,64,384],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":908,"old":691,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[65,64,2,4,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,64,129,258,4,2,5],"offset":0,"phase":0,"quadratic_rows":[4,0,1,0,0,0,0,0,0]},"new":1,"old":692,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,0,2,1],"matrix_rows":[257,130,260,320,128,64,8,336,160],"offset":183,"phase":0,"quadratic_rows":[64,0,320,0,0,0,5,0,260]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":914,"old":692,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[130,1,128,4,8,16,160,64,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":920,"old":692,"rank":1,"right":{"linear_Z4":[2,0,3,0,0,0,0,0,2],"matrix_rows":[260,5,2,256,8,16,32,320,128],"offset":131,"phase":3,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,64,129,258,4,5,2],"offset":0,"phase":0,"quadratic_rows":[4,0,1,0,0,0,0,0,0]},"new":1,"old":693,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,0,1,2],"matrix_rows":[129,258,132,192,256,64,8,208,288],"offset":183,"phase":0,"quadratic_rows":[64,0,192,0,0,0,5,132,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":915,"old":693,"rank":1,"right":{"linear_Z4":[2,0,3,0,0,0,0,2,0],"matrix_rows":[132,5,2,128,8,16,32,192,256],"offset":131,"phase":3,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":921,"old":693,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,8,16,288,64,128],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,17,34,64,128,257,2,4,7],"offset":0,"phase":0,"quadratic_rows":[6,5,7,0,0,0,0,0,0]},"new":1,"old":694,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,260,384,1,320,64,8,16,352],"offset":51,"phase":0,"quadratic_rows":[0,64,320,0,0,0,6,256,132]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":918,"old":694,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,0,0],"matrix_rows":[134,1,258,260,8,16,32,64,256],"offset":257,"phase":0,"quadratic_rows":[0,390,390,0,0,0,0,262,134]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":924,"old":694,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,0,0,0,0],"matrix_rows":[134,1,386,388,8,16,32,64,256],"offset":269,"phase":0,"quadratic_rows":[0,262,262,0,0,0,0,256,134]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[9,18,34,64,129,258,2,4,5],"offset":0,"phase":0,"quadratic_rows":[4,2,5,0,0,0,0,0,0]},"new":1,"old":695,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,3],"matrix_rows":[257,2,384,256,64,68,8,272,96],"offset":25,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,256,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":919,"old":695,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[385,257,2,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[129,0,0,0,0,0,0,1,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":925,"old":695,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,2],"matrix_rows":[257,385,2,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[129,0,0,0,0,0,0,1,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,64,129,258,4,1,6],"offset":0,"phase":0,"quadratic_rows":[0,4,2,0,0,0,0,0,0]},"new":1,"old":696,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,0,0,2,1],"matrix_rows":[129,258,260,128,320,64,8,144,352],"offset":303,"phase":0,"quadratic_rows":[0,64,320,0,0,0,6,0,260]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":918,"old":696,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,2,4,8,144,32,64,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":925,"old":696,"rank":1,"right":{"linear_Z4":[0,2,3,0,0,0,0,0,2],"matrix_rows":[260,1,6,256,8,16,32,320,128],"offset":133,"phase":3,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,64,129,258,4,6,1],"offset":0,"phase":0,"quadratic_rows":[0,4,2,0,0,0,0,0,0]},"new":1,"old":697,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,0,0,1,2],"matrix_rows":[257,130,132,256,192,64,8,272,224],"offset":303,"phase":0,"quadratic_rows":[0,64,192,0,0,0,6,132,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":919,"old":697,"rank":1,"right":{"linear_Z4":[0,2,3,0,0,0,0,2,0],"matrix_rows":[132,1,6,128,8,16,32,192,256],"offset":133,"phase":3,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":924,"old":697,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,8,272,32,64,128],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,16,34,64,129,256,2,4,7],"offset":0,"phase":0,"quadratic_rows":[6,5,7,0,0,0,0,0,0]},"new":1,"old":698,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,260,384,320,2,64,8,336,32],"offset":43,"phase":0,"quadratic_rows":[64,0,320,0,0,0,5,256,132]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":914,"old":698,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,0,0],"matrix_rows":[133,257,2,260,8,16,32,64,256],"offset":257,"phase":0,"quadratic_rows":[389,0,389,0,0,0,0,261,133]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":921,"old":698,"rank":1,"right":{"linear_Z4":[1,0,1,0,0,0,0,0,0],"matrix_rows":[133,385,2,388,8,16,32,64,256],"offset":267,"phase":0,"quadratic_rows":[261,0,261,0,0,0,0,256,133]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,18,33,64,129,258,1,4,6],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":1,"old":699,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,3],"matrix_rows":[1,258,384,64,256,68,8,80,288],"offset":26,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,256,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":915,"old":699,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[386,1,258,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,130,0,0,0,0,0,2,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":920,"old":699,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,2],"matrix_rows":[258,1,386,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,130,0,0,0,0,0,2,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,18,32,68,134,6,4,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,4,0,0,0,0,0,0]},"new":1,"old":700,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,2,0,0,2],"matrix_rows":[257,98,8,256,96,4,64,48,384],"offset":73,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":926,"old":700,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[34,1,32,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":932,"old":700,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,8,16,32,64,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,17,34,68,135,5,6,257,1],"offset":0,"phase":0,"quadratic_rows":[3,1,4,0,0,0,0,0,0]},"new":1,"old":701,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,1,1,0,0],"matrix_rows":[353,100,8,256,258,352,288,336,384],"offset":47,"phase":1,"quadratic_rows":[96,0,256,288,0,361,353,0,108]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":927,"old":701,"rank":1,"right":{"linear_Z4":[2,0,1,2,0,0,2,0,0],"matrix_rows":[68,5,2,64,8,80,32,128,256],"offset":59,"phase":1,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":933,"old":701,"rank":1,"right":{"linear_Z4":[0,0,3,2,0,0,0,0,2],"matrix_rows":[261,256,258,260,8,272,288,64,384],"offset":83,"phase":2,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,65,135,3,5,257,1],"offset":0,"phase":0,"quadratic_rows":[0,4,2,0,0,0,0,0,0]},"new":1,"old":702,"rank":3,"right":{"linear_Z4":[2,2,2,0,0,1,1,0,2],"matrix_rows":[257,98,100,256,288,320,264,368,384],"offset":142,"phase":0,"quadratic_rows":[0,320,288,0,0,100,98,0,6]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":930,"old":702,"rank":1,"right":{"linear_Z4":[2,2,1,0,0,0,2,0,0],"matrix_rows":[68,1,6,64,8,80,32,128,256],"offset":47,"phase":1,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":936,"old":702,"rank":1,"right":{"linear_Z4":[2,2,2,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,264,272,288,320,384],"offset":206,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,70,128,4,2,257,1],"offset":0,"phase":0,"quadratic_rows":[0,4,2,0,0,0,0,0,0]},"new":1,"old":703,"rank":3,"right":{"linear_Z4":[0,2,2,0,0,3,3,0,2],"matrix_rows":[257,98,100,256,64,32,104,16,384],"offset":121,"phase":1,"quadratic_rows":[0,32,64,0,0,98,100,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":931,"old":703,"rank":1,"right":{"linear_Z4":[0,2,3,0,0,2,0,0,0],"matrix_rows":[36,1,6,32,40,16,64,128,256],"offset":28,"phase":1,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":937,"old":703,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,8,16,32,64,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,71,129,5,3,257,1],"offset":0,"phase":0,"quadratic_rows":[0,4,2,0,0,0,0,0,0]},"new":1,"old":704,"rank":3,"right":{"linear_Z4":[2,2,2,0,0,1,1,0,2],"matrix_rows":[257,98,100,256,320,288,360,272,384],"offset":78,"phase":0,"quadratic_rows":[0,288,320,0,0,98,100,0,6]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":930,"old":704,"rank":1,"right":{"linear_Z4":[2,2,1,0,0,2,0,0,0],"matrix_rows":[36,1,6,32,40,16,64,128,256],"offset":31,"phase":1,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":937,"old":704,"rank":1,"right":{"linear_Z4":[2,2,2,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,264,272,288,320,384],"offset":206,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,64,134,2,4,257,1],"offset":0,"phase":0,"quadratic_rows":[0,4,2,0,0,0,0,0,0]},"new":1,"old":705,"rank":3,"right":{"linear_Z4":[0,2,2,0,0,3,3,0,2],"matrix_rows":[257,98,100,256,32,64,8,112,384],"offset":185,"phase":1,"quadratic_rows":[0,64,32,0,0,100,98,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":931,"old":705,"rank":1,"right":{"linear_Z4":[0,2,3,0,0,0,2,0,0],"matrix_rows":[68,1,6,64,8,80,32,128,256],"offset":44,"phase":1,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":936,"old":705,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,8,16,32,64,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,16,34,68,134,4,6,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,4,0,0,0,0,0,0]},"new":1,"old":706,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,2],"matrix_rows":[257,100,8,256,2,96,32,80,384],"offset":73,"phase":3,"quadratic_rows":[0,0,0,32,0,8,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":926,"old":706,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[68,1,2,64,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":933,"old":706,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,8,16,32,64,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,18,33,68,135,6,5,257,1],"offset":0,"phase":0,"quadratic_rows":[3,1,4,0,0,0,0,0,0]},"new":1,"old":707,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,1,1,0,0],"matrix_rows":[353,98,8,256,352,260,320,304,384],"offset":31,"phase":1,"quadratic_rows":[96,256,0,320,0,353,361,0,106]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":927,"old":707,"rank":1,"right":{"linear_Z4":[2,1,0,2,0,2,0,0,0],"matrix_rows":[34,3,32,4,8,48,64,128,256],"offset":55,"phase":1,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":932,"old":707,"rank":1,"right":{"linear_Z4":[0,3,0,2,0,0,0,0,2],"matrix_rows":[259,256,258,260,8,272,32,320,384],"offset":147,"phase":2,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,66,132,256,1,2,5],"offset":0,"phase":0,"quadratic_rows":[4,0,1,0,0,0,0,0,0]},"new":1,"old":708,"rank":3,"right":{"linear_Z4":[0,0,2,0,0,0,0,2,1],"matrix_rows":[257,130,260,64,128,320,136,336,32],"offset":159,"phase":0,"quadratic_rows":[320,0,64,0,0,0,5,0,257]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":938,"old":708,"rank":1,"right":{"linear_Z4":[2,0,3,0,0,0,0,0,2],"matrix_rows":[260,5,2,256,8,272,32,64,128],"offset":35,"phase":3,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":944,"old":708,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[130,1,128,4,136,16,32,64,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,66,132,256,1,5,2],"offset":0,"phase":0,"quadratic_rows":[4,0,1,0,0,0,0,0,0]},"new":1,"old":709,"rank":3,"right":{"linear_Z4":[0,0,2,0,0,0,0,1,2],"matrix_rows":[129,258,132,64,256,192,264,208,32],"offset":159,"phase":0,"quadratic_rows":[192,0,64,0,0,0,5,129,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":939,"old":709,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,264,16,32,64,128],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":945,"old":709,"rank":1,"right":{"linear_Z4":[2,0,3,0,0,0,0,2,0],"matrix_rows":[132,5,2,128,8,144,32,64,256],"offset":35,"phase":3,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,18,32,66,128,256,1,4,7],"offset":0,"phase":0,"quadratic_rows":[6,5,7,0,0,0,0,0,0]},"new":1,"old":710,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,258,384,64,320,4,328,16,32],"offset":27,"phase":0,"quadratic_rows":[320,64,0,0,0,0,3,256,129]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":942,"old":710,"rank":1,"right":{"linear_Z4":[1,1,0,0,0,0,0,0,0],"matrix_rows":[131,385,386,4,8,16,32,64,256],"offset":263,"phase":0,"quadratic_rows":[259,259,0,0,0,0,0,256,131]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":948,"old":710,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[131,257,258,4,8,16,32,64,256],"offset":257,"phase":0,"quadratic_rows":[387,387,0,0,0,0,0,259,131]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,17,34,65,130,256,1,4,6],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":1,"old":711,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,3],"matrix_rows":[1,260,384,64,66,256,72,272,32],"offset":42,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,256,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":943,"old":711,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,2,2],"matrix_rows":[260,1,2,388,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,0,132,0,0,0,0,4,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":949,"old":711,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,0,2],"matrix_rows":[388,1,2,260,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,0,132,0,0,0,0,4,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,66,132,256,1,3,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":712,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,0,0,1,2],"matrix_rows":[129,130,260,64,192,256,200,272,32],"offset":111,"phase":0,"quadratic_rows":[192,64,0,0,0,0,3,129,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":942,"old":712,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,8,272,32,64,128],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":949,"old":712,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,0,2,0],"matrix_rows":[130,3,128,4,136,16,32,64,256],"offset":19,"phase":3,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,66,132,256,1,4,3],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":713,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,0,0,2,1],"matrix_rows":[257,258,132,64,320,128,328,144,32],"offset":111,"phase":0,"quadratic_rows":[320,64,0,0,0,0,3,0,257]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":943,"old":713,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,0,0,2],"matrix_rows":[258,3,256,4,264,16,32,64,128],"offset":19,"phase":3,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":948,"old":713,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[132,1,2,128,8,144,32,64,256],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,18,33,66,129,256,1,4,6],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":1,"old":714,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,3],"matrix_rows":[1,258,384,64,256,68,264,80,32],"offset":26,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,256,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":938,"old":714,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,2],"matrix_rows":[258,1,386,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,130,0,0,0,0,0,2,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":945,"old":714,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[386,1,258,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,130,0,0,0,0,0,2,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,16,34,64,130,256,1,4,7],"offset":0,"phase":0,"quadratic_rows":[6,5,7,0,0,0,0,0,0]},"new":1,"old":715,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,260,384,64,2,320,8,336,32],"offset":43,"phase":0,"quadratic_rows":[320,0,64,0,0,0,5,256,129]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":939,"old":715,"rank":1,"right":{"linear_Z4":[1,0,1,0,0,0,0,0,0],"matrix_rows":[133,385,2,388,8,16,32,64,256],"offset":267,"phase":0,"quadratic_rows":[261,0,261,0,0,0,0,256,133]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":944,"old":715,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,0,0],"matrix_rows":[133,257,2,260,8,16,32,64,256],"offset":257,"phase":0,"quadratic_rows":[389,0,389,0,0,0,0,261,133]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,35,64,1,132,3,260,4],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":716,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,2],"matrix_rows":[1,82,288,16,80,68,8,256,384],"offset":140,"phase":3,"quadratic_rows":[16,0,0,0,1,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":950,"old":716,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[288,1,2,4,8,16,256,64,384],"offset":65,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":956,"old":716,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[66,1,64,68,8,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,18,35,4,69,130,7,258,2],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":1,"old":717,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,0,0,0,3],"matrix_rows":[1,2,264,320,256,68,336,288,384],"offset":57,"phase":2,"quadratic_rows":[320,256,0,256,0,0,1,0,267]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":951,"old":717,"rank":1,"right":{"linear_Z4":[2,0,0,3,0,0,0,0,2],"matrix_rows":[266,1,256,260,264,16,288,320,384],"offset":15,"phase":2,"quadratic_rows":[0,8,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":957,"old":717,"rank":1,"right":{"linear_Z4":[2,2,0,1,0,0,2,0,0],"matrix_rows":[72,1,10,4,64,80,32,128,256],"offset":38,"phase":3,"quadratic_rows":[0,8,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,18,35,68,5,131,7,259,3],"offset":0,"phase":0,"quadratic_rows":[2,7,2,0,0,0,0,0,0]},"new":1,"old":718,"rank":3,"right":{"linear_Z4":[0,0,0,0,1,0,0,0,0],"matrix_rows":[257,18,280,336,80,260,320,288,384],"offset":86,"phase":0,"quadratic_rows":[80,64,0,80,25,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":954,"old":718,"rank":1,"right":{"linear_Z4":[3,2,0,3,0,0,0,0,0],"matrix_rows":[9,259,256,260,264,16,288,320,384],"offset":1,"phase":1,"quadratic_rows":[267,1,0,265,0,0,0,0,9]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":960,"old":718,"rank":1,"right":{"linear_Z4":[2,2,0,1,0,0,2,0,0],"matrix_rows":[72,1,10,4,64,80,32,128,256],"offset":38,"phase":3,"quadratic_rows":[0,8,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,35,1,64,132,2,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":719,"rank":3,"right":{"linear_Z4":[2,2,0,3,0,0,3,0,2],"matrix_rows":[73,74,288,8,64,76,16,256,384],"offset":188,"phase":1,"quadratic_rows":[64,8,0,74,0,0,73,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":955,"old":719,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[288,1,2,4,8,16,256,64,384],"offset":65,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":961,"old":719,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,2,0,0],"matrix_rows":[66,3,64,68,8,16,32,128,256],"offset":14,"phase":1,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,17,32,66,3,132,2,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":720,"rank":3,"right":{"linear_Z4":[2,0,0,0,1,0,0,0,2],"matrix_rows":[17,24,288,80,82,4,64,256,384],"offset":215,"phase":0,"quadratic_rows":[64,0,0,80,24,0,9,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":954,"old":720,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[288,1,2,4,8,16,256,64,384],"offset":65,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":961,"old":720,"rank":1,"right":{"linear_Z4":[2,0,0,3,0,0,2,0,0],"matrix_rows":[72,9,2,4,64,80,32,128,256],"offset":50,"phase":1,"quadratic_rows":[8,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,18,35,4,69,133,7,261,5],"offset":0,"phase":0,"quadratic_rows":[4,4,7,0,0,0,0,0,0]},"new":1,"old":721,"rank":3,"right":{"linear_Z4":[2,2,0,0,0,0,3,0,0],"matrix_rows":[257,322,72,256,320,68,272,288,384],"offset":56,"phase":1,"quadratic_rows":[0,0,0,64,0,0,72,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":955,"old":721,"rank":1,"right":{"linear_Z4":[3,3,0,2,0,0,0,0,0],"matrix_rows":[3,265,258,4,256,272,288,320,384],"offset":1,"phase":1,"quadratic_rows":[267,259,0,1,0,0,0,0,3]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":960,"old":721,"rank":1,"right":{"linear_Z4":[1,1,0,2,0,0,0,0,0],"matrix_rows":[3,257,266,4,256,272,288,320,384],"offset":151,"phase":1,"quadratic_rows":[259,267,0,2,0,0,0,0,3]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,18,35,68,5,132,7,260,4],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":1,"old":722,"rank":3,"right":{"linear_Z4":[2,0,0,0,1,0,1,0,3],"matrix_rows":[1,338,88,272,80,324,256,288,384],"offset":87,"phase":1,"quadratic_rows":[272,256,0,336,89,0,88,0,267]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":950,"old":722,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,0,0,2],"matrix_rows":[266,1,258,4,256,272,288,320,384],"offset":51,"phase":2,"quadratic_rows":[0,10,0,2,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":957,"old":722,"rank":1,"right":{"linear_Z4":[2,3,0,2,0,0,0,0,2],"matrix_rows":[258,1,266,4,256,272,288,320,384],"offset":150,"phase":0,"quadratic_rows":[0,10,0,2,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[9,16,33,2,67,132,3,260,4],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":723,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,2],"matrix_rows":[1,8,288,64,2,68,80,256,384],"offset":140,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":951,"old":723,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[288,1,2,4,8,16,256,64,384],"offset":65,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":956,"old":723,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[72,1,2,4,64,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,33,66,130,260,4,1,6],"offset":0,"phase":0,"quadratic_rows":[0,4,2,0,0,0,0,0,0]},"new":1,"old":724,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,0,0,2,1],"matrix_rows":[130,264,288,1,128,132,320,336,64],"offset":407,"phase":0,"quadratic_rows":[0,0,0,64,0,320,40,0,288]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":962,"old":724,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[130,1,128,132,8,16,32,64,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":968,"old":724,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,3,0,0,2],"matrix_rows":[288,1,2,4,40,16,256,320,128],"offset":145,"phase":3,"quadratic_rows":[0,0,0,32,0,40,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,33,66,130,260,4,6,1],"offset":0,"phase":0,"quadratic_rows":[0,4,2,0,0,0,0,0,0]},"new":1,"old":725,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,0,0,1,2],"matrix_rows":[258,136,160,1,256,260,192,208,64],"offset":407,"phase":0,"quadratic_rows":[0,0,0,64,0,192,40,160,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":963,"old":725,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,3,0,2,0],"matrix_rows":[160,1,2,4,40,16,128,192,256],"offset":145,"phase":3,"quadratic_rows":[0,0,0,32,0,40,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":969,"old":725,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,260,8,16,32,64,128],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,17,33,64,128,258,2,4,7],"offset":0,"phase":0,"quadratic_rows":[6,5,7,0,0,0,0,0,0]},"new":1,"old":726,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,288,384,1,320,324,8,16,64],"offset":275,"phase":0,"quadratic_rows":[0,64,0,0,0,320,34,256,160]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":966,"old":726,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,3,0,0,0],"matrix_rows":[162,1,258,4,8,16,288,64,256],"offset":257,"phase":0,"quadratic_rows":[0,418,0,0,0,418,0,290,162]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":972,"old":726,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,1,0,0,0],"matrix_rows":[162,1,386,4,8,16,416,64,256],"offset":325,"phase":0,"quadratic_rows":[0,290,0,0,0,290,0,256,162]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[8,17,33,66,130,257,1,4,6],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":1,"old":727,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,3],"matrix_rows":[2,264,384,1,64,68,256,272,96],"offset":82,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,256,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":967,"old":727,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,0,0,2],"matrix_rows":[392,1,2,4,264,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,136,0,0,0,8,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":973,"old":727,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,0,2,2],"matrix_rows":[264,1,2,4,392,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,136,0,0,0,8,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,33,66,130,260,4,2,5],"offset":0,"phase":0,"quadratic_rows":[4,0,1,0,0,0,0,0,0]},"new":1,"old":728,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,0,0,2,1],"matrix_rows":[258,136,288,1,320,324,128,144,64],"offset":359,"phase":0,"quadratic_rows":[0,64,0,0,0,320,34,0,288]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":966,"old":728,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[136,1,2,4,128,144,32,64,256],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":973,"old":728,"rank":1,"right":{"linear_Z4":[0,2,0,0,0,3,0,0,2],"matrix_rows":[288,1,34,4,8,16,256,320,128],"offset":133,"phase":3,"quadratic_rows":[0,32,0,0,0,34,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,33,66,130,260,4,5,2],"offset":0,"phase":0,"quadratic_rows":[4,0,1,0,0,0,0,0,0]},"new":1,"old":729,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,0,0,1,2],"matrix_rows":[130,264,160,1,192,196,256,272,64],"offset":359,"phase":0,"quadratic_rows":[0,64,0,0,0,192,34,160,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":967,"old":729,"rank":1,"right":{"linear_Z4":[0,2,0,0,0,3,0,2,0],"matrix_rows":[160,1,34,4,8,16,128,192,256],"offset":133,"phase":3,"quadratic_rows":[0,32,0,0,0,34,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":972,"old":729,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[264,1,2,4,256,272,32,64,128],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,16,32,65,129,258,2,4,7],"offset":0,"phase":0,"quadratic_rows":[6,5,7,0,0,0,0,0,0]},"new":1,"old":730,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[264,288,384,1,2,4,320,336,64],"offset":323,"phase":0,"quadratic_rows":[0,0,0,64,0,320,40,256,160]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":962,"old":730,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,3,0,0,0],"matrix_rows":[168,1,2,4,264,16,288,64,256],"offset":257,"phase":0,"quadratic_rows":[0,0,0,424,0,424,0,296,168]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":969,"old":730,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,1,0,0,0],"matrix_rows":[168,1,2,4,392,16,416,64,256],"offset":337,"phase":0,"quadratic_rows":[0,0,0,296,0,296,0,256,168]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[8,17,33,66,130,258,2,4,5],"offset":0,"phase":0,"quadratic_rows":[4,2,5,0,0,0,0,0,0]},"new":1,"old":731,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,3],"matrix_rows":[258,8,384,1,256,260,64,80,96],"offset":81,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,256,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":963,"old":731,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[386,1,258,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,130,0,0,0,0,0,2,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":968,"old":731,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,2],"matrix_rows":[258,1,386,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,130,0,0,0,0,0,2,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,35,68,3,128,1,260,4],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":732,"rank":3,"right":{"linear_Z4":[2,0,0,0,2,0,0,0,2],"matrix_rows":[1,82,264,64,80,20,256,32,384],"offset":76,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":974,"old":732,"rank":1,"right":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[18,1,16,20,8,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":980,"old":732,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[264,1,2,4,256,16,32,64,384],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,35,66,132,7,6,258,2],"offset":0,"phase":0,"quadratic_rows":[4,0,1,0,0,0,0,0,0]},"new":1,"old":733,"rank":3,"right":{"linear_Z4":[2,2,0,0,0,3,0,0,1],"matrix_rows":[289,258,304,96,256,356,264,320,384],"offset":56,"phase":1,"quadratic_rows":[320,0,0,0,96,304,17,0,289]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":975,"old":733,"rank":1,"right":{"linear_Z4":[2,2,0,0,1,0,2,0,0],"matrix_rows":[80,17,2,4,8,64,96,128,256],"offset":103,"phase":1,"quadratic_rows":[16,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":981,"old":733,"rank":1,"right":{"linear_Z4":[2,2,0,0,2,0,0,0,2],"matrix_rows":[258,1,256,260,264,16,288,320,384],"offset":174,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,18,35,65,4,135,6,257,1],"offset":0,"phase":0,"quadratic_rows":[5,2,1,0,0,0,0,0,0]},"new":1,"old":734,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,0,0,3],"matrix_rows":[1,2,272,256,64,324,264,352,384],"offset":58,"phase":2,"quadratic_rows":[256,64,0,0,256,0,2,0,273]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":978,"old":734,"rank":1,"right":{"linear_Z4":[2,2,0,0,1,0,2,0,0],"matrix_rows":[80,17,2,4,8,64,96,128,256],"offset":103,"phase":1,"quadratic_rows":[16,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":984,"old":734,"rank":1,"right":{"linear_Z4":[0,2,0,0,3,0,0,0,2],"matrix_rows":[273,256,2,260,264,272,288,64,384],"offset":15,"phase":2,"quadratic_rows":[16,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,18,35,68,128,3,2,260,4],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":1,"old":735,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,2,0,0,2],"matrix_rows":[97,2,264,96,64,36,256,16,384],"offset":84,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":979,"old":735,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[33,32,2,36,8,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":985,"old":735,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[264,1,2,4,256,16,32,64,384],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[9,18,35,68,132,7,6,260,4],"offset":0,"phase":0,"quadratic_rows":[4,2,5,0,0,0,0,0,0]},"new":1,"old":736,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,1,1,0,3],"matrix_rows":[353,2,104,96,320,292,256,272,384],"offset":79,"phase":1,"quadratic_rows":[256,320,0,352,0,104,106,0,267]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":978,"old":736,"rank":1,"right":{"linear_Z4":[3,2,0,2,0,0,0,0,2],"matrix_rows":[257,265,2,4,256,272,288,320,384],"offset":86,"phase":0,"quadratic_rows":[9,0,0,1,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":985,"old":736,"rank":1,"right":{"linear_Z4":[3,2,0,0,0,0,0,0,2],"matrix_rows":[265,257,2,4,256,272,288,320,384],"offset":149,"phase":2,"quadratic_rows":[9,0,0,1,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,33,66,4,133,5,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":737,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,2],"matrix_rows":[2,264,16,1,64,68,256,96,384],"offset":82,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":979,"old":737,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[80,1,2,4,8,64,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":984,"old":737,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[264,1,2,4,256,16,32,64,384],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,16,33,66,132,5,4,258,2],"offset":0,"phase":0,"quadratic_rows":[4,0,1,0,0,0,0,0,0]},"new":1,"old":738,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,1,0,0,2],"matrix_rows":[33,264,48,96,2,100,256,64,384],"offset":231,"phase":0,"quadratic_rows":[64,0,0,0,96,48,17,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":974,"old":738,"rank":1,"right":{"linear_Z4":[2,0,0,0,3,0,2,0,0],"matrix_rows":[80,17,2,4,8,64,96,128,256],"offset":98,"phase":1,"quadratic_rows":[16,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":981,"old":738,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[264,1,2,4,256,16,32,64,384],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,18,35,68,7,132,5,260,4],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":1,"old":739,"rank":3,"right":{"linear_Z4":[2,0,0,0,1,0,1,0,3],"matrix_rows":[1,338,88,320,80,276,256,288,384],"offset":87,"phase":1,"quadratic_rows":[320,256,0,336,88,0,89,0,267]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":975,"old":739,"rank":1,"right":{"linear_Z4":[2,3,0,2,0,0,0,0,2],"matrix_rows":[258,1,266,4,256,272,288,320,384],"offset":54,"phase":0,"quadratic_rows":[0,10,0,2,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":980,"old":739,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,0,0,2],"matrix_rows":[266,1,258,4,256,272,288,320,384],"offset":147,"phase":2,"quadratic_rows":[0,10,0,2,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,17,32,66,132,260,2,1,6],"offset":0,"phase":0,"quadratic_rows":[0,4,2,0,0,0,0,0,0]},"new":1,"old":740,"rank":3,"right":{"linear_Z4":[0,0,0,0,2,0,0,2,1],"matrix_rows":[129,264,272,128,130,4,64,320,352],"offset":335,"phase":0,"quadratic_rows":[0,0,0,320,64,0,24,0,264]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":986,"old":740,"rank":1,"right":{"linear_Z4":[0,0,0,2,3,0,0,0,2],"matrix_rows":[272,1,2,4,24,256,288,64,128],"offset":81,"phase":3,"quadratic_rows":[0,0,0,16,24,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":992,"old":740,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,130,4,8,16,32,64,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,17,32,66,132,260,2,6,1],"offset":0,"phase":0,"quadratic_rows":[0,4,2,0,0,0,0,0,0]},"new":1,"old":741,"rank":3,"right":{"linear_Z4":[0,0,0,0,2,0,0,1,2],"matrix_rows":[257,136,144,256,258,4,64,192,224],"offset":335,"phase":0,"quadratic_rows":[0,0,0,192,64,0,24,136,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":987,"old":741,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,258,4,8,16,32,64,128],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":993,"old":741,"rank":1,"right":{"linear_Z4":[0,0,0,2,3,0,0,2,0],"matrix_rows":[144,1,2,4,24,128,160,64,256],"offset":81,"phase":3,"quadratic_rows":[0,0,0,16,24,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,17,32,66,128,256,2,4,7],"offset":0,"phase":0,"quadratic_rows":[6,5,7,0,0,0,0,0,0]},"new":1,"old":742,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,264,384,320,322,4,64,16,32],"offset":75,"phase":0,"quadratic_rows":[64,0,0,320,0,0,9,256,136]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":990,"old":742,"rank":1,"right":{"linear_Z4":[1,0,0,1,0,0,0,0,0],"matrix_rows":[137,385,2,4,392,16,32,64,256],"offset":275,"phase":0,"quadratic_rows":[265,0,0,265,0,0,0,256,137]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":996,"old":742,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,0,0],"matrix_rows":[137,257,2,4,264,16,32,64,256],"offset":257,"phase":0,"quadratic_rows":[393,0,0,393,0,0,0,265,137]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,17,32,65,130,258,1,4,6],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":1,"old":743,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,3],"matrix_rows":[1,272,384,64,66,4,72,256,288],"offset":138,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,256,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":991,"old":743,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,0,2,2],"matrix_rows":[272,1,2,4,8,400,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,144,0,0,16,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":997,"old":743,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,0,0,2],"matrix_rows":[400,1,2,4,8,272,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,144,0,0,16,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,17,32,66,132,260,2,3,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":744,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,0,1,2],"matrix_rows":[129,136,272,192,194,4,64,256,288],"offset":215,"phase":0,"quadratic_rows":[64,0,0,192,0,0,9,136,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":990,"old":744,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[272,1,2,4,8,256,288,64,128],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":997,"old":744,"rank":1,"right":{"linear_Z4":[2,0,0,3,0,0,0,2,0],"matrix_rows":[136,9,2,4,128,16,32,192,256],"offset":131,"phase":3,"quadratic_rows":[8,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,17,32,66,132,260,2,4,3],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":745,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,0,2,1],"matrix_rows":[257,264,144,320,322,4,64,128,160],"offset":215,"phase":0,"quadratic_rows":[64,0,0,320,0,0,9,0,264]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":991,"old":745,"rank":1,"right":{"linear_Z4":[2,0,0,3,0,0,0,0,2],"matrix_rows":[264,9,2,4,256,16,32,320,128],"offset":131,"phase":3,"quadratic_rows":[8,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":996,"old":745,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[144,1,2,4,8,128,160,64,256],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[9,17,32,66,130,258,2,4,5],"offset":0,"phase":0,"quadratic_rows":[4,2,5,0,0,0,0,0,0]},"new":1,"old":746,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,3],"matrix_rows":[257,8,384,256,258,4,64,80,96],"offset":73,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,256,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":986,"old":746,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,2],"matrix_rows":[257,385,2,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[129,0,0,0,0,0,0,1,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":993,"old":746,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[385,257,2,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[129,0,0,0,0,0,0,1,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,16,32,65,130,258,1,4,7],"offset":0,"phase":0,"quadratic_rows":[6,5,7,0,0,0,0,0,0]},"new":1,"old":747,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[264,272,384,1,2,4,64,320,352],"offset":195,"phase":0,"quadratic_rows":[0,0,0,320,64,0,24,256,136]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":987,"old":747,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,0,0,0,0],"matrix_rows":[152,1,2,4,392,400,32,64,256],"offset":305,"phase":0,"quadratic_rows":[0,0,0,280,280,0,0,256,152]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":992,"old":747,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,0,0,0,0],"matrix_rows":[152,1,2,4,264,272,32,64,256],"offset":257,"phase":0,"quadratic_rows":[0,0,0,408,408,0,0,280,152]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,17,34,65,128,258,1,4,6],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":1,"old":748,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,3],"matrix_rows":[1,260,384,64,66,256,72,16,288],"offset":42,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,256,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":998,"old":748,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,0,2],"matrix_rows":[388,1,2,260,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,0,132,0,0,0,0,4,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1004,"old":748,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,2,2],"matrix_rows":[260,1,2,388,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,0,132,0,0,0,0,4,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,18,32,65,128,256,2,4,7],"offset":0,"phase":0,"quadratic_rows":[6,5,7,0,0,0,0,0,0]},"new":1,"old":749,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,258,384,320,64,4,328,16,32],"offset":27,"phase":0,"quadratic_rows":[64,320,0,0,0,0,3,256,130]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":999,"old":749,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[131,257,258,4,8,16,32,64,256],"offset":257,"phase":0,"quadratic_rows":[387,387,0,0,0,0,0,259,131]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1005,"old":749,"rank":1,"right":{"linear_Z4":[1,1,0,0,0,0,0,0,0],"matrix_rows":[131,385,386,4,8,16,32,64,256],"offset":263,"phase":0,"quadratic_rows":[259,259,0,0,0,0,0,256,131]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,65,128,260,2,1,6],"offset":0,"phase":0,"quadratic_rows":[0,4,2,0,0,0,0,0,0]},"new":1,"old":750,"rank":3,"right":{"linear_Z4":[0,0,2,0,0,0,0,2,1],"matrix_rows":[129,258,260,128,64,320,136,16,352],"offset":287,"phase":0,"quadratic_rows":[0,320,64,0,0,0,6,0,258]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1002,"old":750,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,2,4,136,16,32,64,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1008,"old":750,"rank":1,"right":{"linear_Z4":[0,2,3,0,0,0,0,0,2],"matrix_rows":[260,1,6,256,8,16,288,64,128],"offset":69,"phase":3,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,65,128,260,2,6,1],"offset":0,"phase":0,"quadratic_rows":[0,4,2,0,0,0,0,0,0]},"new":1,"old":751,"rank":3,"right":{"linear_Z4":[0,0,2,0,0,0,0,1,2],"matrix_rows":[257,130,132,256,64,192,264,16,224],"offset":287,"phase":0,"quadratic_rows":[0,192,64,0,0,0,6,130,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1003,"old":751,"rank":1,"right":{"linear_Z4":[0,2,3,0,0,0,0,2,0],"matrix_rows":[132,1,6,128,8,16,160,64,256],"offset":69,"phase":3,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1009,"old":751,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,264,16,32,64,128],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,17,34,64,128,258,1,4,7],"offset":0,"phase":0,"quadratic_rows":[6,5,7,0,0,0,0,0,0]},"new":1,"old":752,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,260,384,1,64,320,8,16,352],"offset":51,"phase":0,"quadratic_rows":[0,320,64,0,0,0,6,256,130]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1002,"old":752,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,0,0],"matrix_rows":[134,1,258,260,8,16,32,64,256],"offset":257,"phase":0,"quadratic_rows":[0,390,390,0,0,0,0,262,134]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1009,"old":752,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,0,0,0,0],"matrix_rows":[134,1,386,388,8,16,32,64,256],"offset":269,"phase":0,"quadratic_rows":[0,262,262,0,0,0,0,256,134]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[9,18,34,65,128,258,2,4,5],"offset":0,"phase":0,"quadratic_rows":[4,2,5,0,0,0,0,0,0]},"new":1,"old":753,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,3],"matrix_rows":[257,2,384,256,64,68,264,16,96],"offset":25,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,256,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1003,"old":753,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[385,257,2,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[129,0,0,0,0,0,0,1,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1008,"old":753,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,2],"matrix_rows":[257,385,2,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[129,0,0,0,0,0,0,1,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,65,128,260,2,3,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":754,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,0,1,2],"matrix_rows":[129,130,260,192,64,256,200,16,288],"offset":119,"phase":0,"quadratic_rows":[64,192,0,0,0,0,3,130,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":998,"old":754,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,0,2,0],"matrix_rows":[130,3,128,4,8,16,32,192,256],"offset":131,"phase":3,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1005,"old":754,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,8,16,288,64,128],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,65,128,260,2,4,3],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":755,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,0,2,1],"matrix_rows":[257,258,132,320,64,128,328,16,160],"offset":119,"phase":0,"quadratic_rows":[64,320,0,0,0,0,3,0,258]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":999,"old":755,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[132,1,2,128,8,16,160,64,256],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1004,"old":755,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,0,0,2],"matrix_rows":[258,3,256,4,8,16,32,320,128],"offset":131,"phase":3,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,17,34,68,5,135,6,257,1],"offset":0,"phase":0,"quadratic_rows":[3,1,4,0,0,0,0,0,0]},"new":1,"old":756,"rank":3,"right":{"linear_Z4":[0,0,0,2,1,0,1,0,0],"matrix_rows":[337,84,8,256,258,336,272,352,384],"offset":47,"phase":1,"quadratic_rows":[80,0,256,272,345,0,337,0,92]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1010,"old":756,"rank":1,"right":{"linear_Z4":[0,0,3,2,0,0,0,0,2],"matrix_rows":[261,256,258,260,8,272,288,64,384],"offset":51,"phase":2,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1016,"old":756,"rank":1,"right":{"linear_Z4":[2,0,1,2,0,0,2,0,0],"matrix_rows":[68,5,2,64,8,16,96,128,256],"offset":91,"phase":1,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,18,32,68,133,5,4,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,4,0,0,0,0,0,0]},"new":1,"old":757,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,2,0,0,2],"matrix_rows":[97,258,8,96,256,4,64,48,384],"offset":82,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1011,"old":757,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,8,16,32,64,384],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1017,"old":757,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[33,32,2,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,66,131,7,6,258,2],"offset":0,"phase":0,"quadratic_rows":[4,0,1,0,0,0,0,0,0]},"new":1,"old":758,"rank":3,"right":{"linear_Z4":[2,2,0,0,0,3,0,0,1],"matrix_rows":[289,258,292,96,256,320,264,368,384],"offset":152,"phase":1,"quadratic_rows":[320,0,96,0,0,292,5,0,289]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1014,"old":758,"rank":1,"right":{"linear_Z4":[2,2,2,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,264,272,288,320,384],"offset":174,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1020,"old":758,"rank":1,"right":{"linear_Z4":[2,2,1,0,0,0,2,0,0],"matrix_rows":[68,5,2,64,8,16,96,128,256],"offset":79,"phase":1,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,69,4,128,1,258,2],"offset":0,"phase":0,"quadratic_rows":[4,0,1,0,0,0,0,0,0]},"new":1,"old":759,"rank":3,"right":{"linear_Z4":[2,0,2,0,3,0,3,0,2],"matrix_rows":[81,258,84,64,256,16,88,32,384],"offset":122,"phase":1,"quadratic_rows":[16,0,64,0,81,0,84,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1015,"old":759,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,8,16,32,64,384],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1021,"old":759,"rank":1,"right":{"linear_Z4":[2,0,3,0,2,0,0,0,0],"matrix_rows":[20,5,2,16,24,32,64,128,256],"offset":26,"phase":1,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,64,129,5,4,258,2],"offset":0,"phase":0,"quadratic_rows":[4,0,1,0,0,0,0,0,0]},"new":1,"old":760,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,1,0,0,2],"matrix_rows":[33,258,36,96,256,64,8,112,384],"offset":183,"phase":0,"quadratic_rows":[64,0,96,0,0,36,5,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1014,"old":760,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,8,16,32,64,384],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1021,"old":760,"rank":1,"right":{"linear_Z4":[2,0,3,0,0,0,2,0,0],"matrix_rows":[68,5,2,64,8,16,96,128,256],"offset":74,"phase":1,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,71,6,130,3,258,2],"offset":0,"phase":0,"quadratic_rows":[4,0,1,0,0,0,0,0,0]},"new":1,"old":761,"rank":3,"right":{"linear_Z4":[2,2,2,0,1,0,1,0,2],"matrix_rows":[81,258,84,320,256,272,344,288,384],"offset":85,"phase":0,"quadratic_rows":[272,0,320,0,81,0,84,0,5]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1015,"old":761,"rank":1,"right":{"linear_Z4":[2,2,2,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,264,272,288,320,384],"offset":174,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1020,"old":761,"rank":1,"right":{"linear_Z4":[2,2,1,0,2,0,0,0,0],"matrix_rows":[20,5,2,16,24,32,64,128,256],"offset":31,"phase":1,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,17,34,68,4,134,6,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,4,0,0,0,0,0,0]},"new":1,"old":762,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,2],"matrix_rows":[258,84,8,1,256,80,16,96,384],"offset":81,"phase":3,"quadratic_rows":[0,0,0,16,8,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1010,"old":762,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,8,16,32,64,384],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1017,"old":762,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[68,1,2,64,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[9,18,34,68,133,7,6,258,2],"offset":0,"phase":0,"quadratic_rows":[2,3,4,0,0,0,0,0,0]},"new":1,"old":763,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,1,1,0,3],"matrix_rows":[353,98,8,96,256,260,320,304,384],"offset":31,"phase":1,"quadratic_rows":[256,352,0,320,0,98,106,0,267]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1011,"old":763,"rank":1,"right":{"linear_Z4":[3,0,0,2,0,0,0,0,2],"matrix_rows":[259,257,256,260,8,16,288,320,384],"offset":149,"phase":2,"quadratic_rows":[3,1,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1016,"old":763,"rank":1,"right":{"linear_Z4":[3,2,0,2,0,0,0,0,2],"matrix_rows":[257,259,256,260,8,16,288,320,384],"offset":86,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,3,0,0,0,0,0],"matrix_rows":[17,34,68,132,258,1,3,8,12],"offset":0,"phase":0,"quadratic_rows":[2,1,8,12,0,0,0,0,0]},"new":1,"old":764,"rank":4,"right":{"linear_Z4":[0,2,0,0,0,0,1,0,3],"matrix_rows":[65,66,260,384,32,96,256,264,112],"offset":343,"phase":0,"quadratic_rows":[96,32,0,0,0,3,65,256,384]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,18,32,65,128,1,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1022,"old":764,"rank":2,"right":{"linear_Z4":[2,3,1,0,0,0,2,2,2],"matrix_rows":[66,260,3,64,388,8,80,32,256],"offset":69,"phase":3,"quadratic_rows":[2,3,132,0,0,0,0,4,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1028,"old":764,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,0,2],"matrix_rows":[388,129,130,260,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[128,128,132,0,0,0,0,7,0]}},{"left":{"linear_Z4":[2,2,3,3,0,0,0,0,0],"matrix_rows":[17,34,64,128,258,1,4,8,15],"offset":0,"phase":0,"quadratic_rows":[14,13,15,15,0,0,0,0,0]},"new":1,"old":765,"rank":4,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,3],"matrix_rows":[257,258,320,384,32,288,4,8,304],"offset":51,"phase":0,"quadratic_rows":[288,32,0,0,0,3,256,256,449]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,32,64,128,258,1,3],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":1023,"old":765,"rank":2,"right":{"linear_Z4":[1,1,0,0,0,0,0,0,1],"matrix_rows":[387,64,129,130,4,8,16,32,256],"offset":258,"phase":0,"quadratic_rows":[259,259,0,0,0,0,256,256,451]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1029,"old":765,"rank":1,"right":{"linear_Z4":[1,1,0,0,0,0,1,2,2],"matrix_rows":[323,257,258,4,8,16,32,448,256],"offset":0,"phase":0,"quadratic_rows":[67,67,0,0,0,0,195,64,0]}},{"left":{"linear_Z4":[2,2,2,3,0,0,0,0,0],"matrix_rows":[17,34,68,132,2,257,6,8,9],"offset":0,"phase":0,"quadratic_rows":[8,4,2,9,0,0,0,0,0]},"new":1,"old":766,"rank":4,"right":{"linear_Z4":[0,0,2,0,0,0,1,0,3],"matrix_rows":[257,66,68,384,256,16,80,88,288],"offset":183,"phase":0,"quadratic_rows":[0,80,16,0,6,0,66,256,384]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,18,34,64,128,2,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1026,"old":766,"rank":2,"right":{"linear_Z4":[1,2,3,0,0,0,2,2,2],"matrix_rows":[257,68,385,6,64,72,16,32,256],"offset":42,"phase":3,"quadratic_rows":[129,4,6,0,0,0,0,1,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1032,"old":766,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[385,257,130,132,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[129,128,128,0,0,0,0,7,0]}},{"left":{"linear_Z4":[2,2,3,3,0,0,0,0,0],"matrix_rows":[16,33,66,130,1,256,4,8,15],"offset":0,"phase":0,"quadratic_rows":[14,13,15,15,0,0,0,0,0]},"new":1,"old":767,"rank":4,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,3],"matrix_rows":[258,260,320,384,1,16,272,280,32],"offset":99,"phase":0,"quadratic_rows":[0,272,16,0,6,0,256,256,450]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,32,64,128,258,1,3],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":1027,"old":767,"rank":2,"right":{"linear_Z4":[0,1,1,0,0,0,0,0,1],"matrix_rows":[390,64,1,130,132,8,16,32,256],"offset":258,"phase":0,"quadratic_rows":[0,262,262,0,0,0,256,256,454]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1033,"old":767,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,0,1,2,2],"matrix_rows":[326,1,258,260,8,16,32,448,256],"offset":0,"phase":0,"quadratic_rows":[0,70,70,0,0,0,198,64,0]}},{"left":{"linear_Z4":[2,2,2,3,0,0,0,0,0],"matrix_rows":[17,34,68,132,2,257,8,9,6],"offset":0,"phase":0,"quadratic_rows":[8,4,2,9,0,0,0,0,0]},"new":1,"old":768,"rank":4,"right":{"linear_Z4":[0,0,2,0,0,0,0,3,1],"matrix_rows":[129,258,260,192,128,16,272,280,160],"offset":183,"phase":0,"quadratic_rows":[0,272,16,0,6,0,128,192,258]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[6,8,17,33,64,128,258,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1026,"old":768,"rank":2,"right":{"linear_Z4":[1,2,3,0,0,0,0,2,2],"matrix_rows":[260,193,129,6,256,264,16,32,128],"offset":41,"phase":3,"quadratic_rows":[65,4,6,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1033,"old":768,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,1,2,0],"matrix_rows":[65,128,2,4,8,16,160,192,256],"offset":64,"phase":3,"quadratic_rows":[192,0,0,0,0,0,193,65,0]}},{"left":{"linear_Z4":[2,2,2,3,0,0,0,0,0],"matrix_rows":[17,34,68,132,2,257,8,6,9],"offset":0,"phase":0,"quadratic_rows":[8,4,2,9,0,0,0,0,0]},"new":1,"old":769,"rank":4,"right":{"linear_Z4":[0,0,2,0,0,0,0,1,3],"matrix_rows":[257,130,132,320,256,16,144,152,288],"offset":183,"phase":0,"quadratic_rows":[0,144,16,0,6,0,256,130,320]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,8,16,32,64,129,2,256,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":1027,"old":769,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,3],"matrix_rows":[257,320,256,2,4,8,16,288,128],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,256,0,320]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1032,"old":769,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[321,257,66,68,8,16,32,256,128],"offset":0,"phase":0,"quadratic_rows":[65,64,64,0,0,0,7,0,0]}},{"left":{"linear_Z4":[2,2,2,3,0,0,0,0,0],"matrix_rows":[17,34,68,132,258,1,8,12,3],"offset":0,"phase":0,"quadratic_rows":[2,1,8,12,0,0,0,0,0]},"new":1,"old":770,"rank":4,"right":{"linear_Z4":[0,2,0,0,0,0,0,3,1],"matrix_rows":[257,258,132,192,32,288,128,136,304],"offset":343,"phase":0,"quadratic_rows":[288,32,0,0,0,3,128,192,257]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,18,32,65,128,258,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1022,"old":770,"rank":2,"right":{"linear_Z4":[2,3,1,0,0,0,0,2,2],"matrix_rows":[258,196,3,256,132,8,272,32,128],"offset":69,"phase":3,"quadratic_rows":[2,3,68,0,0,0,4,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1029,"old":770,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,1,2,0],"matrix_rows":[68,1,2,128,136,16,32,192,256],"offset":16,"phase":3,"quadratic_rows":[0,0,192,0,0,0,196,68,0]}},{"left":{"linear_Z4":[2,2,2,3,0,0,0,0,0],"matrix_rows":[17,34,68,132,258,1,8,3,12],"offset":0,"phase":0,"quadratic_rows":[2,1,8,12,0,0,0,0,0]},"new":1,"old":771,"rank":4,"right":{"linear_Z4":[0,2,0,0,0,0,0,1,3],"matrix_rows":[129,130,260,320,32,160,256,264,176],"offset":343,"phase":0,"quadratic_rows":[160,32,0,0,0,3,256,129,320]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,8,17,33,64,128,2,256,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":1023,"old":771,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,3],"matrix_rows":[260,320,1,2,256,264,16,32,128],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,256,0,320]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1028,"old":771,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,0,2],"matrix_rows":[324,65,66,260,8,16,32,256,128],"offset":0,"phase":0,"quadratic_rows":[64,64,68,0,0,0,7,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":811,"old":772,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,2,36,40,16,64,128,256],"offset":16,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":868,"old":772,"rank":1,"right":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[1,35,32,36,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[35,1,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":772,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[34,1,32,36,8,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":815,"old":773,"rank":1,"right":{"linear_Z4":[1,0,0,0,2,0,0,0,0],"matrix_rows":[1,145,2,4,8,128,32,192,256],"offset":35,"phase":3,"quadratic_rows":[145,0,0,0,1,0,0,1,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":880,"old":773,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,2,36,40,16,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":773,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[144,1,2,4,8,128,32,192,256],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":819,"old":774,"rank":1,"right":{"linear_Z4":[1,0,0,0,2,0,0,0,0],"matrix_rows":[1,273,2,4,8,256,32,64,384],"offset":35,"phase":3,"quadratic_rows":[273,0,0,0,1,0,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":892,"old":774,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,2,36,40,16,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":774,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[272,1,2,4,8,256,32,64,384],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,18,34,67,3,130,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":775,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[1,260,288,290,256,264,48,320,384],"offset":26,"phase":3,"quadratic_rows":[288,0,0,0,0,1,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":824,"old":775,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,34,4,8,48,64,128,256],"offset":4,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":911,"old":775,"rank":1,"right":{"linear_Z4":[1,0,2,0,0,0,0,0,0],"matrix_rows":[1,261,2,256,264,272,288,320,384],"offset":107,"phase":1,"quadratic_rows":[261,0,1,0,0,0,0,0,1]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1035,"old":775,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,264,272,288,320,384],"offset":105,"phase":2,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,32,65,2,3,128,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":776,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,0,1,0,0],"matrix_rows":[65,66,96,32,4,8,112,128,256],"offset":75,"phase":0,"quadratic_rows":[32,96,0,0,0,3,66,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":822,"old":776,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,0,0],"matrix_rows":[3,64,66,4,8,80,32,128,256],"offset":32,"phase":3,"quadratic_rows":[66,67,0,0,0,0,3,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":905,"old":776,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,2,0,0],"matrix_rows":[3,65,64,4,8,16,96,128,256],"offset":64,"phase":3,"quadratic_rows":[67,65,0,0,0,0,3,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1035,"old":776,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,2,0,0],"matrix_rows":[66,3,64,4,8,16,96,128,256],"offset":67,"phase":3,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":823,"old":777,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,2,0,0,0],"matrix_rows":[3,32,34,4,40,16,64,128,256],"offset":22,"phase":1,"quadratic_rows":[34,35,0,0,0,3,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":904,"old":777,"rank":1,"right":{"linear_Z4":[3,2,0,0,2,0,0,0,0],"matrix_rows":[3,17,16,4,24,32,64,128,256],"offset":22,"phase":1,"quadratic_rows":[19,17,0,0,3,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1035,"old":777,"rank":1,"right":{"linear_Z4":[2,3,0,0,2,0,0,0,0],"matrix_rows":[18,3,16,4,24,32,64,128,256],"offset":22,"phase":1,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":825,"old":778,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,34,4,8,48,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":910,"old":778,"rank":1,"right":{"linear_Z4":[1,0,2,0,0,0,0,0,0],"matrix_rows":[1,261,2,256,8,16,32,64,384],"offset":11,"phase":3,"quadratic_rows":[261,0,1,0,0,0,0,0,1]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1035,"old":778,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,8,16,32,64,384],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,32,65,2,128,3,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":779,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,0,0,1,0],"matrix_rows":[129,130,160,32,4,8,176,64,256],"offset":75,"phase":0,"quadratic_rows":[32,160,0,0,0,3,0,130,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":828,"old":779,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,0],"matrix_rows":[3,128,130,4,8,144,32,64,256],"offset":32,"phase":3,"quadratic_rows":[130,131,0,0,0,0,0,3,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":923,"old":779,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,0],"matrix_rows":[3,129,128,4,8,16,160,64,256],"offset":64,"phase":3,"quadratic_rows":[131,129,0,0,0,0,0,3,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,32,65,2,128,256,3],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":780,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,0,0,0,1],"matrix_rows":[257,258,288,32,4,8,304,64,128],"offset":75,"phase":0,"quadratic_rows":[32,288,0,0,0,3,0,0,258]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":826,"old":780,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[3,257,256,4,8,16,288,64,128],"offset":64,"phase":3,"quadratic_rows":[259,257,0,0,0,0,0,0,3]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":917,"old":780,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[3,256,258,4,8,272,32,64,128],"offset":32,"phase":3,"quadratic_rows":[258,259,0,0,0,0,0,0,3]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1035,"old":780,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,0,0,2],"matrix_rows":[258,3,256,4,8,16,288,64,128],"offset":67,"phase":3,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,18,32,65,1,130,256,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":781,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,2],"matrix_rows":[1,260,32,34,256,8,48,320,128],"offset":22,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":827,"old":781,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,34,4,8,48,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":916,"old":781,"rank":1,"right":{"linear_Z4":[1,0,2,0,0,0,0,0,0],"matrix_rows":[1,261,2,256,8,16,32,320,128],"offset":11,"phase":3,"quadratic_rows":[261,0,1,0,0,0,0,0,1]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1035,"old":781,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,8,16,32,320,128],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":829,"old":782,"rank":1,"right":{"linear_Z4":[1,0,2,0,0,0,0,0,0],"matrix_rows":[1,133,2,128,8,16,32,192,256],"offset":11,"phase":3,"quadratic_rows":[133,0,1,0,0,0,0,1,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":922,"old":782,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,34,4,8,48,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1035,"old":782,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[132,1,2,128,8,16,32,192,256],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,18,34,1,3,64,128,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":783,"rank":2,"right":{"linear_Z4":[0,0,2,0,0,1,0,0,0],"matrix_rows":[34,36,1,16,48,56,64,128,256],"offset":43,"phase":0,"quadratic_rows":[0,48,16,0,6,34,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":832,"old":783,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,2,0,0,0],"matrix_rows":[6,1,34,32,40,16,64,128,256],"offset":16,"phase":3,"quadratic_rows":[0,38,34,0,0,6,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":935,"old":783,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,2,0,0,0],"matrix_rows":[6,1,32,36,8,48,64,128,256],"offset":32,"phase":3,"quadratic_rows":[0,36,38,0,0,6,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1036,"old":783,"rank":1,"right":{"linear_Z4":[0,2,3,0,0,2,0,0,0],"matrix_rows":[36,1,6,32,40,16,64,128,256],"offset":21,"phase":3,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,18,34,2,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":1,"old":784,"rank":2,"right":{"linear_Z4":[0,2,0,0,2,0,0,0,2],"matrix_rows":[257,2,256,16,20,24,32,64,384],"offset":13,"phase":3,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":830,"old":784,"rank":1,"right":{"linear_Z4":[0,2,0,0,2,0,0,0,0],"matrix_rows":[2,1,16,20,24,32,64,128,256],"offset":4,"phase":3,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":929,"old":784,"rank":1,"right":{"linear_Z4":[2,3,0,0,2,0,0,0,0],"matrix_rows":[2,3,16,20,24,32,64,128,256],"offset":6,"phase":2,"quadratic_rows":[2,19,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1036,"old":784,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,8,16,32,64,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":831,"old":785,"rank":1,"right":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[2,1,16,20,24,32,64,128,256],"offset":8,"phase":3,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":928,"old":785,"rank":1,"right":{"linear_Z4":[2,1,0,0,2,0,0,0,0],"matrix_rows":[2,3,16,20,24,32,64,128,256],"offset":10,"phase":2,"quadratic_rows":[2,19,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1036,"old":785,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,264,272,288,320,384],"offset":51,"phase":2,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,18,33,2,64,3,128,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":786,"rank":2,"right":{"linear_Z4":[0,2,0,0,0,0,1,0,0],"matrix_rows":[66,68,1,80,16,88,32,128,256],"offset":51,"phase":0,"quadratic_rows":[0,16,80,0,6,0,68,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":833,"old":786,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,0,0],"matrix_rows":[6,1,66,64,8,80,32,128,256],"offset":32,"phase":3,"quadratic_rows":[0,70,66,0,0,0,6,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":934,"old":786,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,2,0,0],"matrix_rows":[6,1,64,68,72,16,32,128,256],"offset":16,"phase":3,"quadratic_rows":[0,68,70,0,0,0,6,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1036,"old":786,"rank":1,"right":{"linear_Z4":[0,2,3,0,0,0,2,0,0],"matrix_rows":[68,1,6,64,8,80,32,128,256],"offset":37,"phase":3,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,18,34,2,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":1,"old":787,"rank":2,"right":{"linear_Z4":[0,2,0,0,2,0,0,0,2],"matrix_rows":[257,2,256,16,20,24,32,320,128],"offset":13,"phase":3,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":836,"old":787,"rank":1,"right":{"linear_Z4":[0,2,0,0,2,0,0,0,0],"matrix_rows":[2,1,16,20,24,32,64,128,256],"offset":4,"phase":3,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":947,"old":787,"rank":1,"right":{"linear_Z4":[2,3,0,0,2,0,0,0,0],"matrix_rows":[2,3,16,20,24,32,64,128,256],"offset":6,"phase":2,"quadratic_rows":[2,19,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,18,34,2,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":1,"old":788,"rank":2,"right":{"linear_Z4":[0,2,0,0,2,0,0,2,0],"matrix_rows":[129,2,128,16,20,24,32,192,256],"offset":13,"phase":3,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":834,"old":788,"rank":1,"right":{"linear_Z4":[2,3,0,0,2,0,0,0,0],"matrix_rows":[2,3,16,20,24,32,64,128,256],"offset":6,"phase":2,"quadratic_rows":[2,19,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":941,"old":788,"rank":1,"right":{"linear_Z4":[0,2,0,0,2,0,0,0,0],"matrix_rows":[2,1,16,20,24,32,64,128,256],"offset":4,"phase":3,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1036,"old":788,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,2,4,8,16,32,192,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,18,33,2,64,128,3,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":789,"rank":2,"right":{"linear_Z4":[0,2,0,0,0,0,0,1,0],"matrix_rows":[130,132,1,144,16,152,32,64,256],"offset":51,"phase":0,"quadratic_rows":[0,16,144,0,6,0,0,132,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":835,"old":789,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,0],"matrix_rows":[6,1,130,128,8,144,32,64,256],"offset":32,"phase":3,"quadratic_rows":[0,134,130,0,0,0,0,6,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":940,"old":789,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,2,0],"matrix_rows":[6,1,128,132,136,16,32,64,256],"offset":16,"phase":3,"quadratic_rows":[0,132,134,0,0,0,0,6,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1036,"old":789,"rank":1,"right":{"linear_Z4":[0,2,3,0,0,0,0,2,0],"matrix_rows":[132,1,6,128,8,144,32,64,256],"offset":37,"phase":3,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,18,33,2,64,128,256,3],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":790,"rank":2,"right":{"linear_Z4":[0,2,0,0,0,0,0,0,1],"matrix_rows":[258,260,1,272,16,280,32,64,128],"offset":51,"phase":0,"quadratic_rows":[0,16,272,0,6,0,0,0,260]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":837,"old":790,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,0,2],"matrix_rows":[6,1,256,260,264,16,32,64,128],"offset":16,"phase":3,"quadratic_rows":[0,260,262,0,0,0,0,0,6]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":946,"old":790,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[6,1,258,256,8,272,32,64,128],"offset":32,"phase":3,"quadratic_rows":[0,262,258,0,0,0,0,0,6]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1036,"old":790,"rank":1,"right":{"linear_Z4":[0,2,3,0,0,0,0,0,2],"matrix_rows":[260,1,6,256,8,272,32,64,128],"offset":37,"phase":3,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,19,34,3,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":1,"old":791,"rank":2,"right":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[257,2,256,272,20,280,288,320,384],"offset":37,"phase":3,"quadratic_rows":[0,272,0,0,2,0,0,0,2]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":840,"old":791,"rank":1,"right":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[2,1,16,20,24,32,64,128,256],"offset":16,"phase":3,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":959,"old":791,"rank":1,"right":{"linear_Z4":[2,1,0,0,2,0,0,0,0],"matrix_rows":[2,3,16,20,24,32,64,128,256],"offset":18,"phase":2,"quadratic_rows":[2,19,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1036,"old":791,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,260,8,272,288,320,384],"offset":43,"phase":2,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,34,2,64,3,128,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":792,"rank":2,"right":{"linear_Z4":[0,2,0,0,0,0,1,0,0],"matrix_rows":[66,72,1,80,84,16,32,128,256],"offset":51,"phase":0,"quadratic_rows":[0,16,0,80,10,0,72,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":838,"old":792,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,0,0],"matrix_rows":[10,1,66,4,64,80,32,128,256],"offset":32,"phase":3,"quadratic_rows":[0,74,0,66,0,0,10,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":953,"old":792,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,2,0,0],"matrix_rows":[10,1,64,68,72,16,32,128,256],"offset":8,"phase":3,"quadratic_rows":[0,72,0,74,0,0,10,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1036,"old":792,"rank":1,"right":{"linear_Z4":[0,2,0,3,0,0,2,0,0],"matrix_rows":[72,1,10,4,64,80,32,128,256],"offset":37,"phase":3,"quadratic_rows":[0,8,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":839,"old":793,"rank":1,"right":{"linear_Z4":[2,3,0,0,2,0,0,0,0],"matrix_rows":[2,3,16,20,24,32,64,128,256],"offset":30,"phase":0,"quadratic_rows":[2,19,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":952,"old":793,"rank":1,"right":{"linear_Z4":[0,2,0,0,2,0,0,0,0],"matrix_rows":[2,1,16,20,24,32,64,128,256],"offset":28,"phase":1,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1036,"old":793,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[9,8,2,12,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,33,1,66,128,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":794,"rank":2,"right":{"linear_Z4":[0,2,0,0,2,0,0,0,2],"matrix_rows":[2,288,1,16,20,24,256,64,384],"offset":74,"phase":3,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":841,"old":794,"rank":1,"right":{"linear_Z4":[0,2,0,0,2,0,0,0,0],"matrix_rows":[2,1,16,20,24,32,64,128,256],"offset":4,"phase":3,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":958,"old":794,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,2,0,0,0],"matrix_rows":[2,1,290,4,8,16,256,64,384],"offset":69,"phase":3,"quadratic_rows":[0,290,0,0,0,2,0,0,2]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1036,"old":794,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[288,1,2,4,8,16,256,64,384],"offset":65,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,34,2,64,128,3,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":795,"rank":2,"right":{"linear_Z4":[0,2,0,0,0,0,0,1,0],"matrix_rows":[130,136,1,144,148,16,32,64,256],"offset":51,"phase":0,"quadratic_rows":[0,16,0,144,10,0,0,136,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":844,"old":795,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,0],"matrix_rows":[10,1,130,4,128,144,32,64,256],"offset":32,"phase":3,"quadratic_rows":[0,138,0,130,0,0,0,10,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":971,"old":795,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,0,2,0],"matrix_rows":[10,1,128,132,136,16,32,64,256],"offset":8,"phase":3,"quadratic_rows":[0,136,0,138,0,0,0,10,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,34,2,64,128,256,3],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":796,"rank":2,"right":{"linear_Z4":[0,2,0,0,0,0,0,0,1],"matrix_rows":[258,264,1,272,276,16,32,64,128],"offset":51,"phase":0,"quadratic_rows":[0,16,0,272,10,0,0,0,264]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":842,"old":796,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,0,0,2],"matrix_rows":[10,1,256,260,264,16,32,64,128],"offset":8,"phase":3,"quadratic_rows":[0,264,0,266,0,0,0,0,10]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":965,"old":796,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[10,1,258,4,256,272,32,64,128],"offset":32,"phase":3,"quadratic_rows":[0,266,0,258,0,0,0,0,10]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1036,"old":796,"rank":1,"right":{"linear_Z4":[0,2,0,3,0,0,0,0,2],"matrix_rows":[264,1,10,4,256,272,32,64,128],"offset":37,"phase":3,"quadratic_rows":[0,8,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,33,1,66,130,256,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":797,"rank":2,"right":{"linear_Z4":[0,2,0,0,2,0,0,0,2],"matrix_rows":[2,288,1,16,20,24,256,320,128],"offset":74,"phase":3,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":843,"old":797,"rank":1,"right":{"linear_Z4":[0,2,0,0,2,0,0,0,0],"matrix_rows":[2,1,16,20,24,32,64,128,256],"offset":4,"phase":3,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":964,"old":797,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,2,0,0,0],"matrix_rows":[2,1,290,4,8,16,256,320,128],"offset":69,"phase":3,"quadratic_rows":[0,290,0,0,0,2,0,0,2]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1036,"old":797,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[288,1,2,4,8,16,256,320,128],"offset":65,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,33,1,66,130,2,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":798,"rank":2,"right":{"linear_Z4":[0,2,0,0,2,0,0,2,0],"matrix_rows":[2,160,1,16,20,24,128,192,256],"offset":74,"phase":3,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":845,"old":798,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,2,0,0,0],"matrix_rows":[2,1,162,4,8,16,128,192,256],"offset":69,"phase":3,"quadratic_rows":[0,162,0,0,0,2,0,2,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":970,"old":798,"rank":1,"right":{"linear_Z4":[0,2,0,0,2,0,0,0,0],"matrix_rows":[2,1,16,20,24,32,64,128,256],"offset":4,"phase":3,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1036,"old":798,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[160,1,2,4,8,16,128,192,256],"offset":65,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,19,32,2,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":799,"rank":2,"right":{"linear_Z4":[2,2,0,0,3,3,0,0,0],"matrix_rows":[49,50,32,16,52,8,64,128,256],"offset":28,"phase":1,"quadratic_rows":[16,32,0,0,49,50,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":848,"old":799,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,2,0,0,0],"matrix_rows":[3,32,34,36,8,16,64,128,256],"offset":14,"phase":1,"quadratic_rows":[34,35,0,0,0,3,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":983,"old":799,"rank":1,"right":{"linear_Z4":[3,2,0,0,2,0,0,0,0],"matrix_rows":[3,17,16,20,8,32,64,128,256],"offset":14,"phase":1,"quadratic_rows":[19,17,0,0,3,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1035,"old":799,"rank":1,"right":{"linear_Z4":[2,3,0,0,2,0,0,0,0],"matrix_rows":[18,3,16,20,8,32,64,128,256],"offset":14,"phase":1,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,34,65,1,128,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":800,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,2],"matrix_rows":[1,264,32,34,4,256,48,64,384],"offset":38,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":846,"old":800,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,34,4,8,48,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":977,"old":800,"rank":1,"right":{"linear_Z4":[1,0,0,2,0,0,0,0,0],"matrix_rows":[1,265,2,4,256,16,32,64,384],"offset":19,"phase":3,"quadratic_rows":[265,0,0,1,0,0,0,0,1]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1035,"old":800,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[264,1,2,4,256,16,32,64,384],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":847,"old":801,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[3,257,256,260,264,16,288,320,384],"offset":64,"phase":3,"quadratic_rows":[259,257,0,0,0,0,0,0,3]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":976,"old":801,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[3,256,258,260,264,272,32,320,384],"offset":32,"phase":3,"quadratic_rows":[258,259,0,0,0,0,0,0,3]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1035,"old":801,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,0,0,2],"matrix_rows":[258,3,256,260,264,16,288,320,384],"offset":67,"phase":3,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":849,"old":802,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,2,0,0],"matrix_rows":[17,65,2,4,8,64,96,128,256],"offset":64,"phase":3,"quadratic_rows":[81,0,0,0,65,0,17,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":982,"old":802,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,2,0,0],"matrix_rows":[17,64,66,4,8,80,32,128,256],"offset":4,"phase":3,"quadratic_rows":[80,0,0,0,81,0,17,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1035,"old":802,"rank":1,"right":{"linear_Z4":[2,0,0,0,3,0,2,0,0],"matrix_rows":[80,17,2,4,8,64,96,128,256],"offset":67,"phase":3,"quadratic_rows":[16,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,34,65,1,130,256,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":803,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,2],"matrix_rows":[1,264,32,34,4,256,48,320,128],"offset":38,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":852,"old":803,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,34,4,8,48,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":995,"old":803,"rank":1,"right":{"linear_Z4":[1,0,0,2,0,0,0,0,0],"matrix_rows":[1,265,2,4,256,16,32,320,128],"offset":19,"phase":3,"quadratic_rows":[265,0,0,1,0,0,0,0,1]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,34,65,1,130,2,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":804,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,2,0,2,0],"matrix_rows":[1,136,32,34,4,128,48,192,256],"offset":38,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":850,"old":804,"rank":1,"right":{"linear_Z4":[1,0,0,2,0,0,0,0,0],"matrix_rows":[1,137,2,4,128,16,32,192,256],"offset":19,"phase":3,"quadratic_rows":[137,0,0,1,0,0,0,1,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":989,"old":804,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,34,4,8,48,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1035,"old":804,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[136,1,2,4,128,16,32,192,256],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,32,66,2,128,3,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":805,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,0,0,1,0],"matrix_rows":[129,144,160,162,4,8,32,64,256],"offset":75,"phase":0,"quadratic_rows":[32,0,0,0,160,17,0,144,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":851,"old":805,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,0],"matrix_rows":[17,129,2,4,8,128,160,64,256],"offset":64,"phase":3,"quadratic_rows":[145,0,0,0,129,0,0,17,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":988,"old":805,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,0,2,0],"matrix_rows":[17,128,130,4,8,144,32,64,256],"offset":4,"phase":3,"quadratic_rows":[144,0,0,0,145,0,0,17,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1035,"old":805,"rank":1,"right":{"linear_Z4":[2,0,0,0,3,0,0,2,0],"matrix_rows":[144,17,2,4,8,128,160,64,256],"offset":67,"phase":3,"quadratic_rows":[16,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":853,"old":806,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,0,0,2],"matrix_rows":[17,256,258,4,8,272,32,64,128],"offset":4,"phase":3,"quadratic_rows":[272,0,0,0,273,0,0,0,17]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":994,"old":806,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[17,257,2,4,8,256,288,64,128],"offset":64,"phase":3,"quadratic_rows":[273,0,0,0,257,0,0,0,17]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1035,"old":806,"rank":1,"right":{"linear_Z4":[2,0,0,0,3,0,0,0,2],"matrix_rows":[272,17,2,4,8,256,288,64,128],"offset":67,"phase":3,"quadratic_rows":[16,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":855,"old":807,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,0,2],"matrix_rows":[5,256,2,260,264,16,32,64,128],"offset":16,"phase":3,"quadratic_rows":[260,0,261,0,0,0,0,0,5]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1000,"old":807,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[5,257,2,256,8,16,288,64,128],"offset":64,"phase":3,"quadratic_rows":[261,0,257,0,0,0,0,0,5]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":807,"rank":1,"right":{"linear_Z4":[2,0,3,0,0,0,0,0,2],"matrix_rows":[260,5,2,256,8,16,288,64,128],"offset":67,"phase":3,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":859,"old":808,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,2,0,0],"matrix_rows":[5,64,2,68,72,16,32,128,256],"offset":16,"phase":3,"quadratic_rows":[68,0,69,0,0,0,5,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1012,"old":808,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,2,0,0],"matrix_rows":[5,65,2,64,8,16,96,128,256],"offset":64,"phase":3,"quadratic_rows":[69,0,65,0,0,0,5,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":808,"rank":1,"right":{"linear_Z4":[2,0,3,0,0,0,2,0,0],"matrix_rows":[68,5,2,64,8,16,96,128,256],"offset":67,"phase":3,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":863,"old":809,"rank":1,"right":{"linear_Z4":[1,2,0,0,0,0,0,0,0],"matrix_rows":[1,131,128,4,8,144,32,64,256],"offset":7,"phase":3,"quadratic_rows":[131,1,0,0,0,0,0,1,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1024,"old":809,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,2,36,40,16,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":809,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[130,1,128,4,8,144,32,64,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":810,"rank":1,"right":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[17,16,2,20,8,32,64,128,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":811,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[34,1,32,36,8,16,64,128,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":812,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,260,264,272,32,320,384],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":813,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,260,264,16,288,320,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":814,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,2,132,8,16,32,64,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":815,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,2,132,136,144,160,192,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":816,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,260,8,16,32,64,128],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":817,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,260,264,272,288,320,128],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":818,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,260,8,272,288,320,384],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":819,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,260,264,272,288,64,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":820,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[65,64,2,68,8,16,32,128,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":821,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[10,1,8,12,16,32,64,128,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":822,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[66,1,64,4,8,16,96,128,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":823,"rank":1,"right":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[18,1,16,4,24,32,64,128,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":824,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,264,272,288,320,384],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":825,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,8,16,32,64,384],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":826,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,8,272,32,64,128],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":827,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,8,16,32,320,128],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":828,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[130,1,128,4,8,16,160,64,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":829,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,130,132,8,144,160,192,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":830,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,8,16,32,64,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":831,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,264,272,288,320,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":832,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[34,1,32,4,8,48,64,128,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":833,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[66,1,64,4,72,16,32,128,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":834,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,130,132,136,144,32,192,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":835,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[130,1,128,4,136,16,32,64,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":836,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,8,16,32,320,128],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":837,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,8,272,32,64,128],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":838,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[66,1,64,68,8,16,32,128,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":839,"rank":1,"right":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[17,16,18,4,8,32,64,128,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":840,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,260,8,272,288,320,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":841,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[288,1,2,4,8,16,256,64,384],"offset":65,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":842,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[264,1,2,4,256,272,32,64,128],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":843,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[288,1,2,4,8,16,256,320,128],"offset":65,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":844,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[130,1,128,132,8,16,32,64,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":845,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[130,1,128,132,136,144,160,192,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":846,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[264,1,2,4,256,16,32,64,384],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":847,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,260,264,272,32,320,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":848,"rank":1,"right":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[18,1,16,20,8,32,64,128,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":849,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[65,64,66,4,8,16,32,128,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":850,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,130,4,136,144,160,192,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":851,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,130,4,8,16,32,64,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":852,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[264,1,2,4,256,16,32,320,128],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":853,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[272,1,2,4,8,256,288,64,128],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":854,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,258,260,264,16,288,320,128],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":855,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,8,16,288,64,128],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":856,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,130,132,136,16,160,192,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":857,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[132,1,2,128,8,16,160,64,256],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":858,"rank":1,"right":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[20,1,2,16,24,32,64,128,256],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":859,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[68,1,2,64,8,16,96,128,256],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":860,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,258,260,264,16,288,64,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":861,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,258,260,8,272,32,320,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":862,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[132,1,2,128,136,16,32,64,256],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":863,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,130,132,136,144,160,64,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":864,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,258,260,264,272,288,64,128],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":865,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,264,16,32,64,128],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":810,"old":866,"rank":1,"right":{"linear_Z4":[3,2,0,0,0,2,0,0,0],"matrix_rows":[3,33,32,36,8,16,64,128,256],"offset":14,"phase":1,"quadratic_rows":[35,33,0,0,0,3,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":811,"old":866,"rank":1,"right":{"linear_Z4":[2,3,0,0,2,0,0,0,0],"matrix_rows":[3,16,18,20,8,32,64,128,256],"offset":14,"phase":1,"quadratic_rows":[18,19,0,0,3,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":868,"old":867,"rank":1,"right":{"linear_Z4":[3,0,0,2,0,0,0,0,0],"matrix_rows":[1,41,2,4,32,48,64,128,256],"offset":1,"phase":1,"quadratic_rows":[41,0,0,1,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":869,"old":867,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,34,4,8,48,64,128,256],"offset":4,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":868,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[9,8,10,4,16,32,64,128,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":869,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[40,1,2,4,32,48,64,128,256],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":811,"old":870,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,2,0,0,0],"matrix_rows":[10,1,34,4,32,48,64,128,256],"offset":32,"phase":3,"quadratic_rows":[0,42,0,34,0,10,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":869,"old":870,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,2,0,0,0],"matrix_rows":[10,1,32,36,40,16,64,128,256],"offset":8,"phase":3,"quadratic_rows":[0,40,0,42,0,10,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":810,"old":871,"rank":1,"right":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[2,1,16,20,24,32,64,128,256],"offset":16,"phase":3,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":868,"old":871,"rank":1,"right":{"linear_Z4":[2,1,0,0,2,0,0,0,0],"matrix_rows":[2,3,16,20,24,32,64,128,256],"offset":18,"phase":2,"quadratic_rows":[2,19,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,9,18,2,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":812,"old":872,"rank":2,"right":{"linear_Z4":[0,3,2,0,0,0,0,0,2],"matrix_rows":[7,4,256,262,8,16,288,320,384],"offset":90,"phase":2,"quadratic_rows":[262,259,265,4,0,0,0,0,7]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[6,10,17,1,34,64,130,258,2],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":813,"old":872,"rank":2,"right":{"linear_Z4":[3,0,2,0,0,0,0,0,2],"matrix_rows":[4,7,261,256,8,272,32,320,384],"offset":53,"phase":2,"quadratic_rows":[259,261,266,4,0,0,0,0,7]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,32,2,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":874,"old":873,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,32,16,4,8,64,128,256],"offset":15,"phase":0,"quadratic_rows":[32,16,0,0,2,1,0,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,11,16,32,3,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":875,"old":873,"rank":2,"right":{"linear_Z4":[1,3,0,0,0,0,0,0,2],"matrix_rows":[1,2,323,16,4,8,32,256,384],"offset":138,"phase":3,"quadratic_rows":[323,339,0,0,2,0,3,0,3]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":874,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[320,1,2,4,8,16,32,256,384],"offset":129,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":875,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,258,4,8,272,288,320,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[4,9,19,3,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":812,"old":876,"rank":2,"right":{"linear_Z4":[0,1,3,0,0,0,0,0,2],"matrix_rows":[2,4,1,326,8,16,32,256,384],"offset":146,"phase":3,"quadratic_rows":[0,326,334,4,0,0,6,0,6]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[4,9,18,2,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":874,"old":876,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,1,16,8,32,64,128,256],"offset":27,"phase":0,"quadratic_rows":[0,16,8,4,2,0,0,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[7,10,17,33,2,64,131,259,3],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":813,"old":877,"rank":2,"right":{"linear_Z4":[0,2,1,0,0,0,0,0,2],"matrix_rows":[1,7,261,16,272,280,32,320,384],"offset":44,"phase":1,"quadratic_rows":[258,21,22,0,6,0,0,0,1]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[7,9,18,34,1,64,131,259,3],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":875,"old":877,"rank":2,"right":{"linear_Z4":[0,3,0,0,0,0,0,0,2],"matrix_rows":[1,7,259,16,272,280,32,320,384],"offset":44,"phase":1,"quadratic_rows":[260,278,275,0,6,0,0,0,7]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":814,"old":878,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":16,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":815,"old":878,"rank":1,"right":{"linear_Z4":[2,0,0,3,0,0,2,0,0],"matrix_rows":[8,9,2,4,64,80,96,128,256],"offset":18,"phase":2,"quadratic_rows":[8,0,0,73,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":880,"old":879,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,0,2,0],"matrix_rows":[24,1,2,4,128,144,160,64,256],"offset":64,"phase":3,"quadratic_rows":[0,0,0,144,152,0,0,24,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":881,"old":879,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,0,2,0],"matrix_rows":[24,1,2,4,136,128,32,192,256],"offset":128,"phase":3,"quadratic_rows":[0,0,0,152,136,0,0,24,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":880,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[144,1,2,4,8,128,32,192,256],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":881,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[136,1,2,4,128,16,160,64,256],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":815,"old":882,"rank":1,"right":{"linear_Z4":[1,0,0,2,0,0,0,0,0],"matrix_rows":[1,137,2,4,128,16,160,64,256],"offset":19,"phase":3,"quadratic_rows":[137,0,0,1,0,0,0,1,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":881,"old":882,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,2,68,8,80,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":814,"old":883,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,0],"matrix_rows":[17,129,2,4,8,128,32,192,256],"offset":128,"phase":3,"quadratic_rows":[145,0,0,0,129,0,0,17,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":880,"old":883,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,0,2,0],"matrix_rows":[17,128,2,132,8,144,32,64,256],"offset":8,"phase":3,"quadratic_rows":[144,0,0,0,145,0,0,17,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":816,"old":884,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":16,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":817,"old":884,"rank":1,"right":{"linear_Z4":[2,0,0,3,0,0,2,0,0],"matrix_rows":[8,9,2,4,64,80,96,128,256],"offset":18,"phase":2,"quadratic_rows":[8,0,0,73,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":886,"old":885,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,0,0,2],"matrix_rows":[24,1,2,4,256,272,288,64,128],"offset":64,"phase":3,"quadratic_rows":[0,0,0,272,280,0,0,0,24]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":887,"old":885,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,0,0,2],"matrix_rows":[24,1,2,4,264,256,32,320,128],"offset":128,"phase":3,"quadratic_rows":[0,0,0,280,264,0,0,0,24]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":886,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[272,1,2,4,8,256,32,320,128],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":887,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[264,1,2,4,256,16,288,64,128],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":816,"old":888,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[17,257,2,4,8,256,32,320,128],"offset":128,"phase":3,"quadratic_rows":[273,0,0,0,257,0,0,0,17]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":886,"old":888,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,0,0,2],"matrix_rows":[17,256,2,260,8,272,32,64,128],"offset":8,"phase":3,"quadratic_rows":[272,0,0,0,273,0,0,0,17]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":817,"old":889,"rank":1,"right":{"linear_Z4":[1,0,0,2,0,0,0,0,0],"matrix_rows":[1,265,2,4,256,16,288,64,128],"offset":19,"phase":3,"quadratic_rows":[265,0,0,1,0,0,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":887,"old":889,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,2,68,8,80,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":818,"old":890,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[3,256,258,260,264,272,288,64,384],"offset":16,"phase":3,"quadratic_rows":[258,259,0,0,0,0,0,0,3]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":819,"old":890,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[3,257,256,260,8,272,288,320,384],"offset":128,"phase":3,"quadratic_rows":[259,257,0,0,0,0,0,0,3]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":892,"old":891,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,66,4,72,16,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":893,"old":891,"rank":1,"right":{"linear_Z4":[1,0,0,0,2,0,0,0,0],"matrix_rows":[1,273,2,4,8,256,32,64,384],"offset":35,"phase":3,"quadratic_rows":[273,0,0,0,1,0,0,0,1]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":892,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[272,1,2,4,8,256,32,64,384],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":893,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,258,4,264,272,32,320,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":819,"old":894,"rank":1,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,0],"matrix_rows":[2,1,64,68,8,16,96,128,256],"offset":76,"phase":1,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":893,"old":894,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,2,0,0],"matrix_rows":[2,3,64,68,8,16,96,128,256],"offset":78,"phase":0,"quadratic_rows":[2,67,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":818,"old":895,"rank":1,"right":{"linear_Z4":[0,1,0,0,2,0,0,0,0],"matrix_rows":[2,1,274,4,8,256,32,64,384],"offset":37,"phase":3,"quadratic_rows":[0,274,0,0,2,0,0,0,2]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":892,"old":895,"rank":1,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,0],"matrix_rows":[2,1,64,68,8,16,96,128,256],"offset":4,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":820,"old":896,"rank":1,"right":{"linear_Z4":[3,2,0,2,0,0,0,0,0],"matrix_rows":[3,9,8,12,16,32,64,128,256],"offset":14,"phase":1,"quadratic_rows":[11,9,0,3,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":821,"old":896,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,2,0,0],"matrix_rows":[3,64,66,68,8,16,32,128,256],"offset":14,"phase":1,"quadratic_rows":[66,67,0,0,0,0,3,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":898,"old":897,"rank":1,"right":{"linear_Z4":[3,0,0,2,0,0,2,0,0],"matrix_rows":[9,65,2,4,64,16,96,128,256],"offset":82,"phase":1,"quadratic_rows":[73,0,0,65,0,0,9,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":899,"old":897,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,2,0,0,0],"matrix_rows":[9,32,34,4,40,16,64,128,256],"offset":4,"phase":3,"quadratic_rows":[40,0,0,41,0,9,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":898,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[33,32,34,4,8,16,64,128,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":899,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[72,1,2,4,64,16,96,128,256],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":820,"old":900,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[2,1,64,68,8,16,96,128,256],"offset":64,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":898,"old":900,"rank":1,"right":{"linear_Z4":[2,1,0,0,0,0,2,0,0],"matrix_rows":[2,3,64,68,8,16,96,128,256],"offset":66,"phase":2,"quadratic_rows":[2,67,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":821,"old":901,"rank":1,"right":{"linear_Z4":[0,3,0,2,0,0,0,0,0],"matrix_rows":[2,1,74,4,64,16,96,128,256],"offset":1,"phase":1,"quadratic_rows":[0,74,0,2,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":899,"old":901,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[2,1,64,68,8,16,96,128,256],"offset":8,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":822,"old":902,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":32,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":823,"old":902,"rank":1,"right":{"linear_Z4":[0,2,0,1,0,0,2,0,0],"matrix_rows":[8,1,10,4,64,80,96,128,256],"offset":36,"phase":2,"quadratic_rows":[0,8,0,74,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":904,"old":903,"rank":1,"right":{"linear_Z4":[2,0,0,1,0,0,2,0,0],"matrix_rows":[8,9,2,4,64,80,96,128,256],"offset":66,"phase":2,"quadratic_rows":[8,0,0,73,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":905,"old":903,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":64,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":904,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[33,32,2,4,40,16,64,128,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":905,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[65,64,2,4,8,80,32,128,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":823,"old":906,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,2,0,0],"matrix_rows":[3,64,66,4,8,80,32,128,256],"offset":38,"phase":1,"quadratic_rows":[66,67,0,0,0,0,3,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":905,"old":906,"rank":1,"right":{"linear_Z4":[1,0,0,0,2,0,0,0,0],"matrix_rows":[3,17,16,4,24,32,64,128,256],"offset":16,"phase":3,"quadratic_rows":[19,17,0,0,3,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":822,"old":907,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,2,0,0,0],"matrix_rows":[3,32,34,4,40,16,64,128,256],"offset":16,"phase":3,"quadratic_rows":[34,35,0,0,0,3,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":904,"old":907,"rank":1,"right":{"linear_Z4":[3,2,0,0,0,0,2,0,0],"matrix_rows":[3,65,64,4,8,16,96,128,256],"offset":70,"phase":1,"quadratic_rows":[67,65,0,0,0,0,3,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":824,"old":908,"rank":1,"right":{"linear_Z4":[0,0,2,3,0,0,2,0,0],"matrix_rows":[8,1,2,12,64,80,96,128,256],"offset":24,"phase":2,"quadratic_rows":[0,0,8,76,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":825,"old":908,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":16,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":910,"old":909,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":112,"phase":1,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":911,"old":909,"rank":1,"right":{"linear_Z4":[2,0,0,3,0,0,2,0,0],"matrix_rows":[8,9,2,4,64,80,96,128,256],"offset":114,"phase":0,"quadratic_rows":[8,0,0,73,0,0,8,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":910,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,258,260,8,272,288,64,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":911,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,258,260,264,16,32,320,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":824,"old":912,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,66,4,72,16,32,128,256],"offset":4,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":910,"old":912,"rank":1,"right":{"linear_Z4":[1,0,2,0,0,0,0,0,0],"matrix_rows":[1,261,2,256,264,272,288,320,384],"offset":155,"phase":1,"quadratic_rows":[261,0,1,0,0,0,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":825,"old":913,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,66,4,72,16,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":911,"old":913,"rank":1,"right":{"linear_Z4":[1,0,2,0,0,0,0,0,0],"matrix_rows":[1,261,2,256,8,16,32,64,384],"offset":11,"phase":3,"quadratic_rows":[261,0,1,0,0,0,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":826,"old":914,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[5,257,2,256,8,16,32,320,128],"offset":128,"phase":3,"quadratic_rows":[261,0,257,0,0,0,0,0,5]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":827,"old":914,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,0,2],"matrix_rows":[5,256,2,260,8,272,32,64,128],"offset":32,"phase":3,"quadratic_rows":[260,0,261,0,0,0,0,0,5]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":916,"old":915,"rank":1,"right":{"linear_Z4":[1,2,0,0,0,0,0,0,0],"matrix_rows":[1,259,256,4,8,16,288,64,128],"offset":7,"phase":3,"quadratic_rows":[259,1,0,0,0,0,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":917,"old":915,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,2,68,8,80,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":916,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,258,260,8,272,288,320,128],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":917,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,8,16,288,64,128],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":827,"old":918,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,0,2],"matrix_rows":[6,1,256,260,8,16,288,64,128],"offset":64,"phase":3,"quadratic_rows":[0,260,262,0,0,0,0,0,6]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":917,"old":918,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[6,1,258,256,8,16,32,320,128],"offset":128,"phase":3,"quadratic_rows":[0,262,258,0,0,0,0,0,6]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":826,"old":919,"rank":1,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,0],"matrix_rows":[2,1,64,68,8,16,96,128,256],"offset":4,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":916,"old":919,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,2,0,0],"matrix_rows":[2,3,64,68,8,16,96,128,256],"offset":6,"phase":2,"quadratic_rows":[2,67,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":828,"old":920,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,2,68,8,80,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":829,"old":920,"rank":1,"right":{"linear_Z4":[1,2,0,0,0,0,0,0,0],"matrix_rows":[1,131,128,4,8,16,160,64,256],"offset":7,"phase":3,"quadratic_rows":[131,1,0,0,0,0,0,1,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":922,"old":921,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,2,0],"matrix_rows":[5,128,2,132,8,144,32,64,256],"offset":32,"phase":3,"quadratic_rows":[132,0,133,0,0,0,0,5,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":923,"old":921,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,0],"matrix_rows":[5,129,2,128,8,16,32,192,256],"offset":128,"phase":3,"quadratic_rows":[133,0,129,0,0,0,0,5,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":922,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[132,1,2,128,8,16,32,192,256],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":923,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,2,4,8,144,32,64,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":828,"old":924,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,0],"matrix_rows":[6,1,130,128,8,16,32,192,256],"offset":128,"phase":3,"quadratic_rows":[0,134,130,0,0,0,0,6,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":922,"old":924,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,2,0],"matrix_rows":[6,1,128,132,8,16,160,64,256],"offset":64,"phase":3,"quadratic_rows":[0,132,134,0,0,0,0,6,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":829,"old":925,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,2,0,0],"matrix_rows":[2,3,64,68,8,16,96,128,256],"offset":6,"phase":2,"quadratic_rows":[2,67,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":923,"old":925,"rank":1,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,0],"matrix_rows":[2,1,64,68,8,16,96,128,256],"offset":4,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":830,"old":926,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":16,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":831,"old":926,"rank":1,"right":{"linear_Z4":[2,0,0,3,0,0,2,0,0],"matrix_rows":[8,9,2,4,64,80,96,128,256],"offset":18,"phase":2,"quadratic_rows":[8,0,0,73,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":928,"old":927,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":32,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":929,"old":927,"rank":1,"right":{"linear_Z4":[2,0,0,1,0,0,2,0,0],"matrix_rows":[8,9,2,4,64,80,96,128,256],"offset":34,"phase":2,"quadratic_rows":[8,0,0,73,0,0,8,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":928,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,258,260,8,16,288,320,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":929,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,258,260,264,272,32,64,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":831,"old":930,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[2,1,64,68,8,16,96,128,256],"offset":8,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":929,"old":930,"rank":1,"right":{"linear_Z4":[2,1,0,0,0,0,2,0,0],"matrix_rows":[2,3,64,68,8,16,96,128,256],"offset":10,"phase":2,"quadratic_rows":[2,67,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":830,"old":931,"rank":1,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,0],"matrix_rows":[2,1,64,68,8,16,96,128,256],"offset":4,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":928,"old":931,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,2,0,0],"matrix_rows":[2,3,64,68,8,16,96,128,256],"offset":6,"phase":2,"quadratic_rows":[2,67,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":832,"old":932,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":112,"phase":1,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":833,"old":932,"rank":1,"right":{"linear_Z4":[0,2,0,3,0,0,2,0,0],"matrix_rows":[8,1,10,4,64,80,96,128,256],"offset":116,"phase":0,"quadratic_rows":[0,8,0,74,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":934,"old":933,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":64,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":935,"old":933,"rank":1,"right":{"linear_Z4":[0,0,2,1,0,0,2,0,0],"matrix_rows":[8,1,2,12,64,80,96,128,256],"offset":72,"phase":2,"quadratic_rows":[0,0,8,76,0,0,8,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":934,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[68,1,2,64,8,80,32,128,256],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":935,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[36,1,2,32,40,16,64,128,256],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":832,"old":936,"rank":1,"right":{"linear_Z4":[0,3,2,0,0,0,2,0,0],"matrix_rows":[6,1,66,64,8,80,32,128,256],"offset":44,"phase":1,"quadratic_rows":[0,70,66,0,0,0,6,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":934,"old":936,"rank":1,"right":{"linear_Z4":[0,2,3,0,0,2,0,0,0],"matrix_rows":[6,1,32,36,8,48,64,128,256],"offset":44,"phase":1,"quadratic_rows":[0,36,38,0,0,6,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":833,"old":937,"rank":1,"right":{"linear_Z4":[0,3,2,0,0,2,0,0,0],"matrix_rows":[6,1,34,32,40,16,64,128,256],"offset":28,"phase":1,"quadratic_rows":[0,38,34,0,0,6,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":935,"old":937,"rank":1,"right":{"linear_Z4":[0,2,3,0,0,0,2,0,0],"matrix_rows":[6,1,64,68,72,16,32,128,256],"offset":28,"phase":1,"quadratic_rows":[0,68,70,0,0,0,6,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":834,"old":938,"rank":1,"right":{"linear_Z4":[1,2,0,0,0,0,0,0,0],"matrix_rows":[1,131,128,4,136,16,32,64,256],"offset":7,"phase":3,"quadratic_rows":[131,1,0,0,0,0,0,1,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":835,"old":938,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,2,68,8,80,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":940,"old":939,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,2,0],"matrix_rows":[5,128,2,132,8,16,32,192,256],"offset":128,"phase":3,"quadratic_rows":[132,0,133,0,0,0,0,5,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":941,"old":939,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,0],"matrix_rows":[5,129,2,128,8,144,32,64,256],"offset":32,"phase":3,"quadratic_rows":[133,0,129,0,0,0,0,5,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":940,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[132,1,2,128,8,144,32,64,256],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":941,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,2,4,8,16,32,192,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":835,"old":942,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,0],"matrix_rows":[3,128,130,4,8,16,32,192,256],"offset":128,"phase":3,"quadratic_rows":[130,131,0,0,0,0,0,3,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":941,"old":942,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,0],"matrix_rows":[3,129,128,4,136,16,32,64,256],"offset":16,"phase":3,"quadratic_rows":[131,129,0,0,0,0,0,3,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":834,"old":943,"rank":1,"right":{"linear_Z4":[1,0,2,0,0,0,0,0,0],"matrix_rows":[1,133,2,128,8,144,32,64,256],"offset":11,"phase":3,"quadratic_rows":[133,0,1,0,0,0,0,1,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":940,"old":943,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,66,4,72,16,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":836,"old":944,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[5,257,2,256,8,272,32,64,128],"offset":32,"phase":3,"quadratic_rows":[261,0,257,0,0,0,0,0,5]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":837,"old":944,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,0,2],"matrix_rows":[5,256,2,260,8,16,32,320,128],"offset":128,"phase":3,"quadratic_rows":[260,0,261,0,0,0,0,0,5]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":946,"old":945,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,2,68,8,80,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":947,"old":945,"rank":1,"right":{"linear_Z4":[1,2,0,0,0,0,0,0,0],"matrix_rows":[1,259,256,4,264,16,32,64,128],"offset":7,"phase":3,"quadratic_rows":[259,1,0,0,0,0,0,0,1]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":946,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,264,16,32,64,128],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":947,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,258,260,264,272,32,320,128],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":836,"old":948,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[3,257,256,4,264,16,32,64,128],"offset":16,"phase":3,"quadratic_rows":[259,257,0,0,0,0,0,0,3]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":946,"old":948,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[3,256,258,4,8,16,32,320,128],"offset":128,"phase":3,"quadratic_rows":[258,259,0,0,0,0,0,0,3]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":837,"old":949,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,66,4,72,16,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":947,"old":949,"rank":1,"right":{"linear_Z4":[1,0,2,0,0,0,0,0,0],"matrix_rows":[1,261,2,256,8,272,32,64,128],"offset":11,"phase":3,"quadratic_rows":[261,0,1,0,0,0,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":838,"old":950,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,2,68,8,80,32,128,256],"offset":32,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":839,"old":950,"rank":1,"right":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[1,67,64,68,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[67,1,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":952,"old":951,"rank":1,"right":{"linear_Z4":[3,0,0,2,0,0,0,0,0],"matrix_rows":[1,73,2,4,64,80,32,128,256],"offset":1,"phase":1,"quadratic_rows":[73,0,0,1,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":953,"old":951,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,2,68,8,80,32,128,256],"offset":8,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":952,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[9,8,2,12,16,32,64,128,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":953,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[72,1,2,4,64,80,32,128,256],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":839,"old":954,"rank":1,"right":{"linear_Z4":[3,0,0,2,0,0,2,0,0],"matrix_rows":[9,65,2,4,64,80,32,128,256],"offset":50,"phase":1,"quadratic_rows":[73,0,0,65,0,0,9,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":953,"old":954,"rank":1,"right":{"linear_Z4":[0,0,0,1,2,0,0,0,0],"matrix_rows":[9,16,18,4,24,32,64,128,256],"offset":4,"phase":3,"quadratic_rows":[24,0,0,25,9,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":838,"old":955,"rank":1,"right":{"linear_Z4":[2,3,0,2,0,0,0,0,0],"matrix_rows":[3,8,10,12,16,32,64,128,256],"offset":14,"phase":1,"quadratic_rows":[10,11,0,3,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":952,"old":955,"rank":1,"right":{"linear_Z4":[3,2,0,0,0,0,2,0,0],"matrix_rows":[3,65,64,68,8,16,32,128,256],"offset":14,"phase":1,"quadratic_rows":[67,65,0,0,0,0,3,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":840,"old":956,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,2,0,0,0],"matrix_rows":[1,289,2,4,8,16,256,64,384],"offset":67,"phase":3,"quadratic_rows":[289,0,0,0,0,1,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":841,"old":956,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,2,68,8,80,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":958,"old":957,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,2,68,8,80,32,128,256],"offset":42,"phase":1,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":959,"old":957,"rank":1,"right":{"linear_Z4":[1,2,0,0,0,0,0,0,0],"matrix_rows":[1,259,256,260,264,272,288,64,384],"offset":47,"phase":1,"quadratic_rows":[259,1,0,0,0,0,0,0,1]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":958,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,260,264,272,288,64,384],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":959,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,258,4,264,16,288,320,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":840,"old":960,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[3,257,256,260,264,272,288,64,384],"offset":16,"phase":3,"quadratic_rows":[259,257,0,0,0,0,0,0,3]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":958,"old":960,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[3,256,258,260,8,272,288,320,384],"offset":128,"phase":3,"quadratic_rows":[258,259,0,0,0,0,0,0,3]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":841,"old":961,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,66,4,72,16,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":959,"old":961,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,2,0,0,0],"matrix_rows":[1,289,2,4,8,16,256,64,384],"offset":67,"phase":3,"quadratic_rows":[289,0,0,0,0,1,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":842,"old":962,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,0,0,2],"matrix_rows":[40,1,2,4,264,16,256,320,128],"offset":128,"phase":3,"quadratic_rows":[0,0,0,296,0,264,0,0,40]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":843,"old":962,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,1,0,0,2],"matrix_rows":[40,1,2,4,256,272,288,64,128],"offset":32,"phase":3,"quadratic_rows":[0,0,0,288,0,296,0,0,40]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":964,"old":963,"rank":1,"right":{"linear_Z4":[0,2,0,3,0,0,2,0,0],"matrix_rows":[8,1,10,4,64,80,96,128,256],"offset":20,"phase":2,"quadratic_rows":[0,8,0,74,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":965,"old":963,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":16,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":964,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,260,264,272,288,320,128],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":965,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,260,8,16,32,64,128],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":843,"old":966,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,1,0,0,2],"matrix_rows":[34,1,256,260,8,16,288,64,128],"offset":8,"phase":3,"quadratic_rows":[0,288,0,0,0,290,0,0,34]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":965,"old":966,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[34,1,258,4,8,16,256,320,128],"offset":128,"phase":3,"quadratic_rows":[0,290,0,0,0,258,0,0,34]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":842,"old":967,"rank":1,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,0],"matrix_rows":[2,1,64,68,8,16,96,128,256],"offset":4,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":964,"old":967,"rank":1,"right":{"linear_Z4":[0,1,0,2,0,0,0,0,0],"matrix_rows":[2,1,266,4,256,272,32,64,128],"offset":21,"phase":3,"quadratic_rows":[0,266,0,2,0,0,0,0,2]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":844,"old":968,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":16,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":845,"old":968,"rank":1,"right":{"linear_Z4":[0,2,0,3,0,0,2,0,0],"matrix_rows":[8,1,10,4,64,80,96,128,256],"offset":20,"phase":2,"quadratic_rows":[0,8,0,74,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":970,"old":969,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,1,0,2,0],"matrix_rows":[40,1,2,4,128,144,160,64,256],"offset":32,"phase":3,"quadratic_rows":[0,0,0,160,0,168,0,40,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":971,"old":969,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,0,2,0],"matrix_rows":[40,1,2,4,136,16,128,192,256],"offset":128,"phase":3,"quadratic_rows":[0,0,0,168,0,136,0,40,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":970,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[160,1,2,4,8,16,128,192,256],"offset":65,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":971,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[136,1,2,4,128,144,32,64,256],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":844,"old":972,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,0],"matrix_rows":[34,1,130,4,8,16,128,192,256],"offset":128,"phase":3,"quadratic_rows":[0,162,0,0,0,130,0,34,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":970,"old":972,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,1,0,2,0],"matrix_rows":[34,1,128,132,8,16,160,64,256],"offset":8,"phase":3,"quadratic_rows":[0,160,0,0,0,162,0,34,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":845,"old":973,"rank":1,"right":{"linear_Z4":[0,1,0,2,0,0,0,0,0],"matrix_rows":[2,1,138,4,128,144,32,64,256],"offset":21,"phase":3,"quadratic_rows":[0,138,0,2,0,0,0,2,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":971,"old":973,"rank":1,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,0],"matrix_rows":[2,1,64,68,8,16,96,128,256],"offset":4,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":846,"old":974,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,2,68,8,80,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":847,"old":974,"rank":1,"right":{"linear_Z4":[1,0,0,2,0,0,0,0,0],"matrix_rows":[1,265,2,4,256,16,32,64,384],"offset":19,"phase":3,"quadratic_rows":[265,0,0,1,0,0,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":976,"old":975,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,2,68,8,80,32,128,256],"offset":32,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":977,"old":975,"rank":1,"right":{"linear_Z4":[1,2,0,0,0,0,0,0,0],"matrix_rows":[1,259,256,260,264,16,288,320,384],"offset":143,"phase":1,"quadratic_rows":[259,1,0,0,0,0,0,0,1]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":976,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,260,264,16,288,320,384],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":977,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,258,4,264,272,288,64,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":847,"old":978,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[2,1,64,68,8,16,96,128,256],"offset":64,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":977,"old":978,"rank":1,"right":{"linear_Z4":[2,1,0,0,0,0,2,0,0],"matrix_rows":[2,3,64,68,8,16,96,128,256],"offset":66,"phase":2,"quadratic_rows":[2,67,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":846,"old":979,"rank":1,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,0],"matrix_rows":[2,1,64,68,8,16,96,128,256],"offset":4,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":976,"old":979,"rank":1,"right":{"linear_Z4":[0,1,0,2,0,0,0,0,0],"matrix_rows":[2,1,266,4,256,16,32,64,384],"offset":21,"phase":3,"quadratic_rows":[0,266,0,2,0,0,0,0,2]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":848,"old":980,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,2,68,8,80,32,128,256],"offset":42,"phase":1,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":849,"old":980,"rank":1,"right":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[1,19,16,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[19,1,0,0,1,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":982,"old":981,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,2,0,0,0],"matrix_rows":[17,32,2,36,8,48,64,128,256],"offset":8,"phase":3,"quadratic_rows":[48,0,0,0,49,17,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":983,"old":981,"rank":1,"right":{"linear_Z4":[3,0,0,0,2,0,2,0,0],"matrix_rows":[17,65,2,4,8,64,96,128,256],"offset":98,"phase":1,"quadratic_rows":[81,0,0,0,65,0,17,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":982,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[80,1,2,4,8,64,96,128,256],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":983,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[33,32,2,36,8,16,64,128,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":848,"old":984,"rank":1,"right":{"linear_Z4":[0,3,0,0,2,0,0,0,0],"matrix_rows":[2,1,82,4,8,64,96,128,256],"offset":1,"phase":1,"quadratic_rows":[0,82,0,0,2,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":982,"old":984,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[2,1,64,68,8,16,96,128,256],"offset":8,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":849,"old":985,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,2,0,0],"matrix_rows":[2,3,64,68,8,16,96,128,256],"offset":78,"phase":0,"quadratic_rows":[2,67,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":983,"old":985,"rank":1,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,0],"matrix_rows":[2,1,64,68,8,16,96,128,256],"offset":76,"phase":1,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":850,"old":986,"rank":1,"right":{"linear_Z4":[2,0,0,3,0,0,2,0,0],"matrix_rows":[8,9,2,4,64,80,96,128,256],"offset":18,"phase":2,"quadratic_rows":[8,0,0,73,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":851,"old":986,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":16,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":988,"old":987,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,0,2,0],"matrix_rows":[24,1,2,4,128,144,32,192,256],"offset":128,"phase":3,"quadratic_rows":[0,0,0,144,152,0,0,24,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":989,"old":987,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,0,2,0],"matrix_rows":[24,1,2,4,136,128,160,64,256],"offset":64,"phase":3,"quadratic_rows":[0,0,0,152,136,0,0,24,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":988,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[144,1,2,4,8,128,160,64,256],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":989,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[136,1,2,4,128,16,32,192,256],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":851,"old":990,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,0],"matrix_rows":[9,129,2,4,128,16,32,192,256],"offset":128,"phase":3,"quadratic_rows":[137,0,0,129,0,0,0,9,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":989,"old":990,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,0,2,0],"matrix_rows":[9,128,130,4,136,16,32,64,256],"offset":4,"phase":3,"quadratic_rows":[136,0,0,137,0,0,0,9,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":850,"old":991,"rank":1,"right":{"linear_Z4":[1,0,0,0,2,0,0,0,0],"matrix_rows":[1,145,2,4,8,128,160,64,256],"offset":35,"phase":3,"quadratic_rows":[145,0,0,0,1,0,0,1,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":988,"old":991,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,66,4,72,16,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":852,"old":992,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,0,0,2],"matrix_rows":[24,1,2,4,264,256,288,64,128],"offset":64,"phase":3,"quadratic_rows":[0,0,0,280,264,0,0,0,24]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":853,"old":992,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,0,0,2],"matrix_rows":[24,1,2,4,256,272,32,320,128],"offset":128,"phase":3,"quadratic_rows":[0,0,0,272,280,0,0,0,24]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":994,"old":993,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":16,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":995,"old":993,"rank":1,"right":{"linear_Z4":[2,0,0,3,0,0,2,0,0],"matrix_rows":[8,9,2,4,64,80,96,128,256],"offset":18,"phase":2,"quadratic_rows":[8,0,0,73,0,0,8,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":994,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,258,4,8,16,32,64,128],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":995,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,258,4,264,272,288,320,128],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":852,"old":996,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,0,0,2],"matrix_rows":[9,256,258,4,264,16,32,64,128],"offset":4,"phase":3,"quadratic_rows":[264,0,0,265,0,0,0,0,9]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":994,"old":996,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[9,257,2,4,256,16,32,320,128],"offset":128,"phase":3,"quadratic_rows":[265,0,0,257,0,0,0,0,9]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":853,"old":997,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,66,4,72,16,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":995,"old":997,"rank":1,"right":{"linear_Z4":[1,0,0,0,2,0,0,0,0],"matrix_rows":[1,273,2,4,8,256,288,64,128],"offset":35,"phase":3,"quadratic_rows":[273,0,0,0,1,0,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":854,"old":998,"rank":1,"right":{"linear_Z4":[1,0,2,0,0,0,0,0,0],"matrix_rows":[1,261,2,256,8,16,288,64,128],"offset":11,"phase":3,"quadratic_rows":[261,0,1,0,0,0,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":855,"old":998,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,66,4,72,16,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1000,"old":999,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[3,257,256,4,8,16,32,320,128],"offset":128,"phase":3,"quadratic_rows":[259,257,0,0,0,0,0,0,3]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1001,"old":999,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[3,256,258,4,264,16,32,64,128],"offset":16,"phase":3,"quadratic_rows":[258,259,0,0,0,0,0,0,3]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":1000,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,264,16,32,64,128],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":1001,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,8,16,32,320,128],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":855,"old":1002,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,0,2],"matrix_rows":[6,1,256,260,8,16,32,320,128],"offset":128,"phase":3,"quadratic_rows":[0,260,262,0,0,0,0,0,6]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1001,"old":1002,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[6,1,258,256,8,16,288,64,128],"offset":64,"phase":3,"quadratic_rows":[0,262,258,0,0,0,0,0,6]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":854,"old":1003,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,2,0,0],"matrix_rows":[2,3,64,68,8,16,96,128,256],"offset":6,"phase":2,"quadratic_rows":[2,67,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1000,"old":1003,"rank":1,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,0],"matrix_rows":[2,1,64,68,8,16,96,128,256],"offset":4,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":856,"old":1004,"rank":1,"right":{"linear_Z4":[1,0,2,0,0,0,0,0,0],"matrix_rows":[1,133,2,128,8,16,160,64,256],"offset":11,"phase":3,"quadratic_rows":[133,0,1,0,0,0,0,1,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":857,"old":1004,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,66,4,72,16,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1006,"old":1005,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,0],"matrix_rows":[3,129,128,4,8,16,32,192,256],"offset":128,"phase":3,"quadratic_rows":[131,129,0,0,0,0,0,3,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1007,"old":1005,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,0],"matrix_rows":[3,128,130,4,136,16,32,64,256],"offset":16,"phase":3,"quadratic_rows":[130,131,0,0,0,0,0,3,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":1006,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,2,4,136,16,32,64,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":1007,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[130,1,128,4,8,16,32,192,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":856,"old":1008,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,2,0,0],"matrix_rows":[2,3,64,68,8,16,96,128,256],"offset":6,"phase":2,"quadratic_rows":[2,67,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1006,"old":1008,"rank":1,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,0],"matrix_rows":[2,1,64,68,8,16,96,128,256],"offset":4,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":857,"old":1009,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,2,0],"matrix_rows":[6,1,128,132,8,16,32,192,256],"offset":128,"phase":3,"quadratic_rows":[0,132,134,0,0,0,0,6,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1007,"old":1009,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,0],"matrix_rows":[6,1,130,128,8,16,160,64,256],"offset":64,"phase":3,"quadratic_rows":[0,134,130,0,0,0,0,6,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":858,"old":1010,"rank":1,"right":{"linear_Z4":[0,0,2,1,0,0,2,0,0],"matrix_rows":[8,1,2,12,64,80,96,128,256],"offset":40,"phase":2,"quadratic_rows":[0,0,8,76,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":859,"old":1010,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":32,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1012,"old":1011,"rank":1,"right":{"linear_Z4":[2,0,0,3,0,0,2,0,0],"matrix_rows":[8,9,2,4,64,80,96,128,256],"offset":114,"phase":0,"quadratic_rows":[8,0,0,73,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1013,"old":1011,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":112,"phase":1,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":1012,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[65,64,2,4,72,16,32,128,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":1013,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[33,32,2,4,8,48,64,128,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":859,"old":1014,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,2,0,0,0],"matrix_rows":[5,32,2,36,8,48,64,128,256],"offset":32,"phase":3,"quadratic_rows":[36,0,37,0,0,5,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1013,"old":1014,"rank":1,"right":{"linear_Z4":[3,0,2,0,0,0,2,0,0],"matrix_rows":[5,65,2,64,8,16,96,128,256],"offset":74,"phase":1,"quadratic_rows":[69,0,65,0,0,0,5,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":858,"old":1015,"rank":1,"right":{"linear_Z4":[2,0,3,0,0,0,2,0,0],"matrix_rows":[5,64,2,68,72,16,32,128,256],"offset":26,"phase":1,"quadratic_rows":[68,0,69,0,0,0,5,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1012,"old":1015,"rank":1,"right":{"linear_Z4":[3,0,2,0,2,0,0,0,0],"matrix_rows":[5,17,2,16,24,32,64,128,256],"offset":26,"phase":1,"quadratic_rows":[21,0,17,0,5,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":860,"old":1016,"rank":1,"right":{"linear_Z4":[2,0,0,1,0,0,2,0,0],"matrix_rows":[8,9,2,4,64,80,96,128,256],"offset":66,"phase":2,"quadratic_rows":[8,0,0,73,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":861,"old":1016,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":64,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1018,"old":1017,"rank":1,"right":{"linear_Z4":[0,2,0,3,0,0,2,0,0],"matrix_rows":[8,1,10,4,64,80,96,128,256],"offset":20,"phase":2,"quadratic_rows":[0,8,0,74,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1019,"old":1017,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":16,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":1018,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,264,272,288,320,384],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":1019,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,8,16,32,64,384],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":860,"old":1020,"rank":1,"right":{"linear_Z4":[1,2,0,0,0,0,0,0,0],"matrix_rows":[1,259,256,4,264,272,288,320,384],"offset":167,"phase":1,"quadratic_rows":[259,1,0,0,0,0,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1018,"old":1020,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,2,68,8,80,32,128,256],"offset":8,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":861,"old":1021,"rank":1,"right":{"linear_Z4":[1,2,0,0,0,0,0,0,0],"matrix_rows":[1,259,256,4,8,16,32,64,384],"offset":7,"phase":3,"quadratic_rows":[259,1,0,0,0,0,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1019,"old":1021,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,2,68,8,80,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":862,"old":1022,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,34,4,8,48,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":863,"old":1022,"rank":1,"right":{"linear_Z4":[1,0,2,0,0,0,0,0,0],"matrix_rows":[1,133,2,128,136,16,32,64,256],"offset":11,"phase":3,"quadratic_rows":[133,0,1,0,0,0,0,1,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1024,"old":1023,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,0],"matrix_rows":[3,128,130,4,8,16,160,64,256],"offset":64,"phase":3,"quadratic_rows":[130,131,0,0,0,0,0,3,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1025,"old":1023,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,0],"matrix_rows":[3,129,128,4,8,144,32,64,256],"offset":32,"phase":3,"quadratic_rows":[131,129,0,0,0,0,0,3,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":1024,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[130,1,128,4,8,144,32,64,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":1025,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,2,4,8,16,160,64,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":863,"old":1026,"rank":1,"right":{"linear_Z4":[2,3,0,0,2,0,0,0,0],"matrix_rows":[2,3,16,20,24,32,64,128,256],"offset":6,"phase":2,"quadratic_rows":[2,19,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1025,"old":1026,"rank":1,"right":{"linear_Z4":[0,2,0,0,2,0,0,0,0],"matrix_rows":[2,1,16,20,24,32,64,128,256],"offset":4,"phase":3,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":862,"old":1027,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,2,0],"matrix_rows":[6,1,128,132,8,144,32,64,256],"offset":32,"phase":3,"quadratic_rows":[0,132,134,0,0,0,0,6,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1024,"old":1027,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,0],"matrix_rows":[6,1,130,128,136,16,32,64,256],"offset":16,"phase":3,"quadratic_rows":[0,134,130,0,0,0,0,6,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[6,11,17,33,67,128,259,3,2],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":864,"old":1028,"rank":2,"right":{"linear_Z4":[3,3,0,0,0,0,0,2,2],"matrix_rows":[6,5,263,128,384,392,144,32,192],"offset":82,"phase":3,"quadratic_rows":[259,387,128,0,0,0,0,6,3]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,19,32,66,1,131,259,3],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":865,"old":1028,"rank":2,"right":{"linear_Z4":[0,2,2,0,0,0,0,0,0],"matrix_rows":[5,6,32,288,260,8,304,320,384],"offset":71,"phase":0,"quadratic_rows":[36,292,259,0,0,3,0,0,6]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,32,65,128,258,2,1],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":1030,"old":1029,"rank":2,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[3,64,257,256,4,8,272,32,128],"offset":322,"phase":3,"quadratic_rows":[259,257,0,0,0,0,128,64,3]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,32,64,129,258,2,1],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":1031,"old":1029,"rank":2,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[3,64,256,258,4,8,16,288,128],"offset":386,"phase":3,"quadratic_rows":[258,259,0,0,0,0,128,64,3]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":1030,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,8,16,288,64,128],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":1031,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,8,272,32,64,128],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[6,11,17,33,3,64,130,258,2],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":864,"old":1032,"rank":2,"right":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[6,5,263,16,272,280,32,320,384],"offset":43,"phase":0,"quadratic_rows":[259,275,16,0,6,0,0,0,3]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[7,9,18,34,1,64,131,259,3],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":1030,"old":1032,"rank":2,"right":{"linear_Z4":[2,0,2,0,0,0,0,0,0],"matrix_rows":[3,5,257,16,272,280,32,320,384],"offset":43,"phase":0,"quadratic_rows":[262,17,273,0,6,0,0,0,5]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,32,65,128,258,2,1],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":865,"old":1033,"rank":2,"right":{"linear_Z4":[0,0,1,0,0,0,0,0,2],"matrix_rows":[6,64,1,256,260,8,272,32,128],"offset":322,"phase":3,"quadratic_rows":[0,260,262,0,0,0,128,64,6]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,33,64,128,258,2,1],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":1031,"old":1033,"rank":2,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[6,64,1,258,256,264,16,32,128],"offset":290,"phase":3,"quadratic_rows":[0,262,258,0,0,0,128,64,6]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":1034,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,2,36,40,16,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":1035,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,34,4,8,48,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":1036,"rank":1,"right":{"linear_Z4":[0,2,0,0,2,0,0,0,0],"matrix_rows":[2,1,16,20,24,32,64,128,256],"offset":4,"phase":3,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}}],"endpoint_adapters":[{"frame":7,"left":{"linear_Z4":[1,1,0,0,0,0,0,0,0],"matrix_rows":[2,1,4,11,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"port":0,"rank":0,"right":null,"role":"source"},{"frame":868,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,4,9,16,32,64,128,256],"offset":11,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":0,"rank":0,"right":null,"role":"target"},{"frame":213,"left":{"linear_Z4":[1,1,0,0,0,0,0,0,0],"matrix_rows":[2,1,4,8,19,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"port":1,"rank":0,"right":null,"role":"source"},{"frame":839,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,4,8,17,32,64,128,256],"offset":19,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":1,"rank":0,"right":null,"role":"target"},{"frame":66,"left":{"linear_Z4":[1,1,0,0,0,0,0,0,0],"matrix_rows":[2,1,4,8,16,35,64,128,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"port":2,"rank":0,"right":null,"role":"source"},{"frame":898,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,4,8,16,33,64,128,256],"offset":35,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":2,"rank":0,"right":null,"role":"target"},{"frame":270,"left":{"linear_Z4":[1,1,0,0,0,0,0,0,0],"matrix_rows":[2,1,4,8,16,32,67,128,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"port":3,"rank":0,"right":null,"role":"source"},{"frame":849,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,4,8,16,32,65,128,256],"offset":67,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":3,"rank":0,"right":null,"role":"target"},{"frame":300,"left":{"linear_Z4":[1,1,0,0,0,0,0,0,0],"matrix_rows":[2,1,4,8,16,32,64,131,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"port":4,"rank":0,"right":null,"role":"source"},{"frame":851,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,4,8,16,32,64,129,256],"offset":131,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":4,"rank":0,"right":null,"role":"target"},{"frame":298,"left":{"linear_Z4":[1,1,0,0,0,0,0,0,0],"matrix_rows":[2,1,4,8,16,32,64,128,259],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"port":5,"rank":0,"right":null,"role":"source"},{"frame":994,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,4,8,16,32,64,128,257],"offset":259,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":5,"rank":0,"right":null,"role":"target"},{"frame":210,"left":{"linear_Z4":[1,0,1,0,0,0,0,0,0],"matrix_rows":[4,2,1,13,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[5,0,5,0,0,0,0,0,0]},"port":6,"rank":0,"right":null,"role":"source"},{"frame":952,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,5,9,16,32,64,128,256],"offset":13,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":6,"rank":0,"right":null,"role":"target"},{"frame":13,"left":{"linear_Z4":[1,0,1,0,0,0,0,0,0],"matrix_rows":[4,2,1,8,21,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[5,0,5,0,0,0,0,0,0]},"port":7,"rank":0,"right":null,"role":"source"},{"frame":810,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,5,8,17,32,64,128,256],"offset":21,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":7,"rank":0,"right":null,"role":"target"},{"frame":272,"left":{"linear_Z4":[1,0,1,0,0,0,0,0,0],"matrix_rows":[4,2,1,8,16,37,64,128,256],"offset":0,"phase":0,"quadratic_rows":[5,0,5,0,0,0,0,0,0]},"port":8,"rank":0,"right":null,"role":"source"},{"frame":983,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,5,8,16,33,64,128,256],"offset":37,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":8,"rank":0,"right":null,"role":"target"},{"frame":72,"left":{"linear_Z4":[1,0,1,0,0,0,0,0,0],"matrix_rows":[4,2,1,8,16,32,69,128,256],"offset":0,"phase":0,"quadratic_rows":[5,0,5,0,0,0,0,0,0]},"port":9,"rank":0,"right":null,"role":"source"},{"frame":820,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,5,8,16,32,65,128,256],"offset":69,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":9,"rank":0,"right":null,"role":"target"},{"frame":42,"left":{"linear_Z4":[1,0,1,0,0,0,0,0,0],"matrix_rows":[4,2,1,8,16,32,64,133,256],"offset":0,"phase":0,"quadratic_rows":[5,0,5,0,0,0,0,0,0]},"port":10,"rank":0,"right":null,"role":"source"},{"frame":814,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,5,8,16,32,64,129,256],"offset":133,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":10,"rank":0,"right":null,"role":"target"},{"frame":43,"left":{"linear_Z4":[1,0,1,0,0,0,0,0,0],"matrix_rows":[4,2,1,8,16,32,64,128,261],"offset":0,"phase":0,"quadratic_rows":[5,0,5,0,0,0,0,0,0]},"port":11,"rank":0,"right":null,"role":"source"},{"frame":816,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,5,8,16,32,64,128,257],"offset":261,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":11,"rank":0,"right":null,"role":"target"},{"frame":94,"left":{"linear_Z4":[1,0,0,1,0,0,0,0,0],"matrix_rows":[8,2,4,1,16,41,64,128,256],"offset":0,"phase":0,"quadratic_rows":[9,0,0,9,0,0,0,0,0]},"port":12,"rank":0,"right":null,"role":"source"},{"frame":904,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,9,16,33,64,128,256],"offset":41,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":12,"rank":0,"right":null,"role":"target"},{"frame":355,"left":{"linear_Z4":[1,0,0,1,0,0,0,0,0],"matrix_rows":[8,2,4,1,16,32,73,128,256],"offset":0,"phase":0,"quadratic_rows":[9,0,0,9,0,0,0,0,0]},"port":13,"rank":0,"right":null,"role":"source"},{"frame":1012,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,9,16,32,65,128,256],"offset":73,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":13,"rank":0,"right":null,"role":"target"},{"frame":327,"left":{"linear_Z4":[1,0,0,1,0,0,0,0,0],"matrix_rows":[8,2,4,1,16,32,64,137,256],"offset":0,"phase":0,"quadratic_rows":[9,0,0,9,0,0,0,0,0]},"port":14,"rank":0,"right":null,"role":"source"},{"frame":1006,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,9,16,32,64,129,256],"offset":137,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":14,"rank":0,"right":null,"role":"target"},{"frame":326,"left":{"linear_Z4":[1,0,0,1,0,0,0,0,0],"matrix_rows":[8,2,4,1,16,32,64,128,265],"offset":0,"phase":0,"quadratic_rows":[9,0,0,9,0,0,0,0,0]},"port":15,"rank":0,"right":null,"role":"source"},{"frame":1000,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,9,16,32,64,128,257],"offset":265,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":15,"rank":0,"right":null,"role":"target"},{"frame":360,"left":{"linear_Z4":[1,0,0,0,1,0,0,0,0],"matrix_rows":[16,2,4,8,1,49,64,128,256],"offset":0,"phase":0,"quadratic_rows":[17,0,0,0,17,0,0,0,0]},"port":16,"rank":0,"right":null,"role":"source"},{"frame":1013,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,17,33,64,128,256],"offset":49,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":16,"rank":0,"right":null,"role":"target"},{"frame":99,"left":{"linear_Z4":[1,0,0,0,1,0,0,0,0],"matrix_rows":[16,2,4,8,1,32,81,128,256],"offset":0,"phase":0,"quadratic_rows":[17,0,0,0,17,0,0,0,0]},"port":17,"rank":0,"right":null,"role":"source"},{"frame":905,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,17,32,65,128,256],"offset":81,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":17,"rank":0,"right":null,"role":"target"},{"frame":127,"left":{"linear_Z4":[1,0,0,0,1,0,0,0,0],"matrix_rows":[16,2,4,8,1,32,64,145,256],"offset":0,"phase":0,"quadratic_rows":[17,0,0,0,17,0,0,0,0]},"port":18,"rank":0,"right":null,"role":"source"},{"frame":923,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,17,32,64,129,256],"offset":145,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":18,"rank":0,"right":null,"role":"target"},{"frame":129,"left":{"linear_Z4":[1,0,0,0,1,0,0,0,0],"matrix_rows":[16,2,4,8,1,32,64,128,273],"offset":0,"phase":0,"quadratic_rows":[17,0,0,0,17,0,0,0,0]},"port":19,"rank":0,"right":null,"role":"source"},{"frame":826,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,17,32,64,128,257],"offset":273,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":19,"rank":0,"right":null,"role":"target"},{"frame":389,"left":{"linear_Z4":[1,0,0,0,0,1,0,0,0],"matrix_rows":[32,2,4,8,16,1,64,161,256],"offset":0,"phase":0,"quadratic_rows":[33,0,0,0,0,33,0,0,0]},"port":20,"rank":0,"right":null,"role":"source"},{"frame":1025,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,33,64,129,256],"offset":161,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":20,"rank":0,"right":null,"role":"target"},{"frame":385,"left":{"linear_Z4":[1,0,0,0,0,1,0,0,0],"matrix_rows":[32,2,4,8,16,1,64,128,289],"offset":0,"phase":0,"quadratic_rows":[33,0,0,0,0,33,0,0,0]},"port":21,"rank":0,"right":null,"role":"source"},{"frame":1030,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,33,64,128,257],"offset":289,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":21,"rank":0,"right":null,"role":"target"},{"frame":186,"left":{"linear_Z4":[1,0,0,0,0,0,1,0,0],"matrix_rows":[64,2,4,8,16,32,1,193,256],"offset":0,"phase":0,"quadratic_rows":[65,0,0,0,0,0,65,0,0]},"port":22,"rank":0,"right":null,"role":"source"},{"frame":941,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,65,129,256],"offset":193,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":22,"rank":0,"right":null,"role":"target"},{"frame":188,"left":{"linear_Z4":[1,0,0,0,0,0,1,0,0],"matrix_rows":[64,2,4,8,16,32,1,128,321],"offset":0,"phase":0,"quadratic_rows":[65,0,0,0,0,0,65,0,0]},"port":23,"rank":0,"right":null,"role":"source"},{"frame":836,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,65,128,257],"offset":321,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":23,"rank":0,"right":null,"role":"target"},{"frame":158,"left":{"linear_Z4":[1,0,0,0,0,0,0,1,0],"matrix_rows":[128,2,4,8,16,32,64,1,385],"offset":0,"phase":0,"quadratic_rows":[129,0,0,0,0,0,0,129,0]},"port":24,"rank":0,"right":null,"role":"source"},{"frame":830,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,129,257],"offset":385,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":24,"rank":0,"right":null,"role":"target"},{"frame":67,"left":{"linear_Z4":[0,1,1,0,0,0,0,0,0],"matrix_rows":[1,4,2,14,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,6,6,0,0,0,0,0,0]},"port":25,"rank":0,"right":null,"role":"source"},{"frame":821,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,6,10,16,32,64,128,256],"offset":14,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":25,"rank":0,"right":null,"role":"target"},{"frame":275,"left":{"linear_Z4":[0,1,1,0,0,0,0,0,0],"matrix_rows":[1,4,2,8,22,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,6,6,0,0,0,0,0,0]},"port":26,"rank":0,"right":null,"role":"source"},{"frame":848,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,6,8,18,32,64,128,256],"offset":22,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":26,"rank":0,"right":null,"role":"target"},{"frame":10,"left":{"linear_Z4":[0,1,1,0,0,0,0,0,0],"matrix_rows":[1,4,2,8,16,38,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,6,6,0,0,0,0,0,0]},"port":27,"rank":0,"right":null,"role":"source"},{"frame":811,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,6,8,16,34,64,128,256],"offset":38,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":27,"rank":0,"right":null,"role":"target"},{"frame":216,"left":{"linear_Z4":[0,1,1,0,0,0,0,0,0],"matrix_rows":[1,4,2,8,16,32,70,128,256],"offset":0,"phase":0,"quadratic_rows":[0,6,6,0,0,0,0,0,0]},"port":28,"rank":0,"right":null,"role":"source"},{"frame":838,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,6,8,16,32,66,128,256],"offset":70,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":28,"rank":0,"right":null,"role":"target"},{"frame":246,"left":{"linear_Z4":[0,1,1,0,0,0,0,0,0],"matrix_rows":[1,4,2,8,16,32,64,134,256],"offset":0,"phase":0,"quadratic_rows":[0,6,6,0,0,0,0,0,0]},"port":29,"rank":0,"right":null,"role":"source"},{"frame":844,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,6,8,16,32,64,130,256],"offset":134,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":29,"rank":0,"right":null,"role":"target"},{"frame":244,"left":{"linear_Z4":[0,1,1,0,0,0,0,0,0],"matrix_rows":[1,4,2,8,16,32,64,128,262],"offset":0,"phase":0,"quadratic_rows":[0,6,6,0,0,0,0,0,0]},"port":30,"rank":0,"right":null,"role":"source"},{"frame":965,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,6,8,16,32,64,128,258],"offset":262,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":30,"rank":0,"right":null,"role":"target"},{"frame":97,"left":{"linear_Z4":[0,1,0,1,0,0,0,0,0],"matrix_rows":[1,8,4,2,26,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,10,0,10,0,0,0,0,0]},"port":31,"rank":0,"right":null,"role":"source"},{"frame":823,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,10,18,32,64,128,256],"offset":26,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":31,"rank":0,"right":null,"role":"target"},{"frame":154,"left":{"linear_Z4":[0,1,0,1,0,0,0,0,0],"matrix_rows":[1,8,4,2,16,32,74,128,256],"offset":0,"phase":0,"quadratic_rows":[0,10,0,10,0,0,0,0,0]},"port":32,"rank":0,"right":null,"role":"source"},{"frame":833,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,10,16,32,66,128,256],"offset":74,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":32,"rank":0,"right":null,"role":"target"},{"frame":184,"left":{"linear_Z4":[0,1,0,1,0,0,0,0,0],"matrix_rows":[1,8,4,2,16,32,64,138,256],"offset":0,"phase":0,"quadratic_rows":[0,10,0,10,0,0,0,0,0]},"port":33,"rank":0,"right":null,"role":"source"},{"frame":835,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,10,16,32,64,130,256],"offset":138,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":33,"rank":0,"right":null,"role":"target"},{"frame":182,"left":{"linear_Z4":[0,1,0,1,0,0,0,0,0],"matrix_rows":[1,8,4,2,16,32,64,128,266],"offset":0,"phase":0,"quadratic_rows":[0,10,0,10,0,0,0,0,0]},"port":34,"rank":0,"right":null,"role":"source"},{"frame":946,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,10,16,32,64,128,258],"offset":266,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":34,"rank":0,"right":null,"role":"target"},{"frame":159,"left":{"linear_Z4":[0,1,0,0,1,0,0,0,0],"matrix_rows":[1,16,4,8,2,50,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,18,0,0,18,0,0,0,0]},"port":35,"rank":0,"right":null,"role":"source"},{"frame":832,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,18,34,64,128,256],"offset":50,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":35,"rank":0,"right":null,"role":"target"},{"frame":384,"left":{"linear_Z4":[0,1,0,0,1,0,0,0,0],"matrix_rows":[1,16,4,8,2,32,64,146,256],"offset":0,"phase":0,"quadratic_rows":[0,18,0,0,18,0,0,0,0]},"port":36,"rank":0,"right":null,"role":"source"},{"frame":1024,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,18,32,64,130,256],"offset":146,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":36,"rank":0,"right":null,"role":"target"},{"frame":388,"left":{"linear_Z4":[0,1,0,0,1,0,0,0,0],"matrix_rows":[1,16,4,8,2,32,64,128,274],"offset":0,"phase":0,"quadratic_rows":[0,18,0,0,18,0,0,0,0]},"port":37,"rank":0,"right":null,"role":"source"},{"frame":1031,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,18,32,64,128,258],"offset":274,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":37,"rank":0,"right":null,"role":"target"},{"frame":100,"left":{"linear_Z4":[0,1,0,0,0,1,0,0,0],"matrix_rows":[1,32,4,8,16,2,98,128,256],"offset":0,"phase":0,"quadratic_rows":[0,34,0,0,0,34,0,0,0]},"port":38,"rank":0,"right":null,"role":"source"},{"frame":822,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,34,66,128,256],"offset":98,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":38,"rank":0,"right":null,"role":"target"},{"frame":130,"left":{"linear_Z4":[0,1,0,0,0,1,0,0,0],"matrix_rows":[1,32,4,8,16,2,64,162,256],"offset":0,"phase":0,"quadratic_rows":[0,34,0,0,0,34,0,0,0]},"port":39,"rank":0,"right":null,"role":"source"},{"frame":828,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,34,64,130,256],"offset":162,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":39,"rank":0,"right":null,"role":"target"},{"frame":128,"left":{"linear_Z4":[0,1,0,0,0,1,0,0,0],"matrix_rows":[1,32,4,8,16,2,64,128,290],"offset":0,"phase":0,"quadratic_rows":[0,34,0,0,0,34,0,0,0]},"port":40,"rank":0,"right":null,"role":"source"},{"frame":917,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,34,64,128,258],"offset":290,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":40,"rank":0,"right":null,"role":"target"},{"frame":330,"left":{"linear_Z4":[0,1,0,0,0,0,1,0,0],"matrix_rows":[1,64,4,8,16,32,2,194,256],"offset":0,"phase":0,"quadratic_rows":[0,66,0,0,0,0,66,0,0]},"port":41,"rank":0,"right":null,"role":"source"},{"frame":1007,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,66,130,256],"offset":194,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":41,"rank":0,"right":null,"role":"target"},{"frame":331,"left":{"linear_Z4":[0,1,0,0,0,0,1,0,0],"matrix_rows":[1,64,4,8,16,32,2,128,322],"offset":0,"phase":0,"quadratic_rows":[0,66,0,0,0,0,66,0,0]},"port":42,"rank":0,"right":null,"role":"source"},{"frame":1001,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,66,128,258],"offset":322,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":42,"rank":0,"right":null,"role":"target"},{"frame":359,"left":{"linear_Z4":[0,1,0,0,0,0,0,1,0],"matrix_rows":[1,128,4,8,16,32,64,2,386],"offset":0,"phase":0,"quadratic_rows":[0,130,0,0,0,0,0,130,0]},"port":43,"rank":0,"right":null,"role":"source"},{"frame":1019,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,130,258],"offset":386,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":43,"rank":0,"right":null,"role":"target"},{"frame":361,"left":{"linear_Z4":[0,0,1,1,0,0,0,0,0],"matrix_rows":[1,2,8,4,28,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,12,12,0,0,0,0,0]},"port":44,"rank":0,"right":null,"role":"source"},{"frame":858,"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,12,20,32,64,128,256],"offset":28,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":44,"rank":0,"right":null,"role":"target"},{"frame":156,"left":{"linear_Z4":[0,0,1,1,0,0,0,0,0],"matrix_rows":[1,2,8,4,16,44,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,12,12,0,0,0,0,0]},"port":45,"rank":0,"right":null,"role":"source"},{"frame":935,"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,12,16,36,64,128,256],"offset":44,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":45,"rank":0,"right":null,"role":"target"},{"frame":390,"left":{"linear_Z4":[0,0,1,1,0,0,0,0,0],"matrix_rows":[1,2,8,4,16,32,64,140,256],"offset":0,"phase":0,"quadratic_rows":[0,0,12,12,0,0,0,0,0]},"port":46,"rank":0,"right":null,"role":"source"},{"frame":862,"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,12,16,32,64,132,256],"offset":140,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":46,"rank":0,"right":null,"role":"target"},{"frame":386,"left":{"linear_Z4":[0,0,1,1,0,0,0,0,0],"matrix_rows":[1,2,8,4,16,32,64,128,268],"offset":0,"phase":0,"quadratic_rows":[0,0,12,12,0,0,0,0,0]},"port":47,"rank":0,"right":null,"role":"source"},{"frame":865,"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,12,16,32,64,128,260],"offset":268,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":47,"rank":0,"right":null,"role":"target"},{"frame":153,"left":{"linear_Z4":[0,0,1,0,1,0,0,0,0],"matrix_rows":[1,2,16,8,4,32,84,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,20,0,20,0,0,0,0]},"port":48,"rank":0,"right":null,"role":"source"},{"frame":934,"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,20,32,68,128,256],"offset":84,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":48,"rank":0,"right":null,"role":"target"},{"frame":181,"left":{"linear_Z4":[0,0,1,0,1,0,0,0,0],"matrix_rows":[1,2,16,8,4,32,64,148,256],"offset":0,"phase":0,"quadratic_rows":[0,0,20,0,20,0,0,0,0]},"port":49,"rank":0,"right":null,"role":"source"},{"frame":940,"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,20,32,64,132,256],"offset":148,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":49,"rank":0,"right":null,"role":"target"},{"frame":183,"left":{"linear_Z4":[0,0,1,0,1,0,0,0,0],"matrix_rows":[1,2,16,8,4,32,64,128,276],"offset":0,"phase":0,"quadratic_rows":[0,0,20,0,20,0,0,0,0]},"port":50,"rank":0,"right":null,"role":"source"},{"frame":837,"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,20,32,64,128,260],"offset":276,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":50,"rank":0,"right":null,"role":"target"},{"frame":358,"left":{"linear_Z4":[0,0,1,0,0,1,0,0,0],"matrix_rows":[1,2,32,8,16,4,100,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,36,0,0,36,0,0,0]},"port":51,"rank":0,"right":null,"role":"source"},{"frame":859,"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,36,68,128,256],"offset":100,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":51,"rank":0,"right":null,"role":"target"},{"frame":328,"left":{"linear_Z4":[0,0,1,0,0,1,0,0,0],"matrix_rows":[1,2,32,8,16,4,64,164,256],"offset":0,"phase":0,"quadratic_rows":[0,0,36,0,0,36,0,0,0]},"port":52,"rank":0,"right":null,"role":"source"},{"frame":857,"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,36,64,132,256],"offset":164,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":52,"rank":0,"right":null,"role":"target"},{"frame":329,"left":{"linear_Z4":[0,0,1,0,0,1,0,0,0],"matrix_rows":[1,2,32,8,16,4,64,128,292],"offset":0,"phase":0,"quadratic_rows":[0,0,36,0,0,36,0,0,0]},"port":53,"rank":0,"right":null,"role":"source"},{"frame":855,"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,36,64,128,260],"offset":292,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":53,"rank":0,"right":null,"role":"target"},{"frame":124,"left":{"linear_Z4":[0,0,1,0,0,0,1,0,0],"matrix_rows":[1,2,64,8,16,32,4,196,256],"offset":0,"phase":0,"quadratic_rows":[0,0,68,0,0,0,68,0,0]},"port":54,"rank":0,"right":null,"role":"source"},{"frame":922,"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,68,132,256],"offset":196,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":54,"rank":0,"right":null,"role":"target"},{"frame":126,"left":{"linear_Z4":[0,0,1,0,0,0,1,0,0],"matrix_rows":[1,2,64,8,16,32,4,128,324],"offset":0,"phase":0,"quadratic_rows":[0,0,68,0,0,0,68,0,0]},"port":55,"rank":0,"right":null,"role":"source"},{"frame":827,"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,68,128,260],"offset":324,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":55,"rank":0,"right":null,"role":"target"},{"frame":96,"left":{"linear_Z4":[0,0,1,0,0,0,0,1,0],"matrix_rows":[1,2,128,8,16,32,64,4,388],"offset":0,"phase":0,"quadratic_rows":[0,0,132,0,0,0,0,132,0]},"port":56,"rank":0,"right":null,"role":"source"},{"frame":825,"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,132,260],"offset":388,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":56,"rank":0,"right":null,"role":"target"},{"frame":12,"left":{"linear_Z4":[0,0,0,1,1,0,0,0,0],"matrix_rows":[1,2,4,16,8,56,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,24,24,0,0,0,0]},"port":57,"rank":0,"right":null,"role":"source"},{"frame":869,"left":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[1,2,4,8,24,40,64,128,256],"offset":56,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":57,"rank":0,"right":null,"role":"target"},{"frame":215,"left":{"linear_Z4":[0,0,0,1,1,0,0,0,0],"matrix_rows":[1,2,4,16,8,32,88,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,24,24,0,0,0,0]},"port":58,"rank":0,"right":null,"role":"source"},{"frame":953,"left":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[1,2,4,8,24,32,72,128,256],"offset":88,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":58,"rank":0,"right":null,"role":"target"},{"frame":243,"left":{"linear_Z4":[0,0,0,1,1,0,0,0,0],"matrix_rows":[1,2,4,16,8,32,64,152,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,24,24,0,0,0,0]},"port":59,"rank":0,"right":null,"role":"source"},{"frame":971,"left":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[1,2,4,8,24,32,64,136,256],"offset":152,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":59,"rank":0,"right":null,"role":"target"},{"frame":245,"left":{"linear_Z4":[0,0,0,1,1,0,0,0,0],"matrix_rows":[1,2,4,16,8,32,64,128,280],"offset":0,"phase":0,"quadratic_rows":[0,0,0,24,24,0,0,0,0]},"port":60,"rank":0,"right":null,"role":"source"},{"frame":842,"left":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[1,2,4,8,24,32,64,128,264],"offset":280,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":60,"rank":0,"right":null,"role":"target"},{"frame":69,"left":{"linear_Z4":[0,0,0,1,0,1,0,0,0],"matrix_rows":[1,2,4,32,16,8,104,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,40,0,40,0,0,0]},"port":61,"rank":0,"right":null,"role":"source"},{"frame":899,"left":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,40,72,128,256],"offset":104,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":61,"rank":0,"right":null,"role":"target"},{"frame":41,"left":{"linear_Z4":[0,0,0,1,0,1,0,0,0],"matrix_rows":[1,2,4,32,16,8,64,168,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,40,0,40,0,0,0]},"port":62,"rank":0,"right":null,"role":"source"},{"frame":881,"left":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,40,64,136,256],"offset":168,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":62,"rank":0,"right":null,"role":"target"},{"frame":40,"left":{"linear_Z4":[0,0,0,1,0,1,0,0,0],"matrix_rows":[1,2,4,32,16,8,64,128,296],"offset":0,"phase":0,"quadratic_rows":[0,0,0,40,0,40,0,0,0]},"port":63,"rank":0,"right":null,"role":"source"},{"frame":887,"left":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,40,64,128,264],"offset":296,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":63,"rank":0,"right":null,"role":"target"},{"frame":302,"left":{"linear_Z4":[0,0,0,1,0,0,1,0,0],"matrix_rows":[1,2,4,64,16,32,8,200,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,72,0,0,72,0,0]},"port":64,"rank":0,"right":null,"role":"source"},{"frame":989,"left":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,72,136,256],"offset":200,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":64,"rank":0,"right":null,"role":"target"},{"frame":304,"left":{"linear_Z4":[0,0,0,1,0,0,1,0,0],"matrix_rows":[1,2,4,64,16,32,8,128,328],"offset":0,"phase":0,"quadratic_rows":[0,0,0,72,0,0,72,0,0]},"port":65,"rank":0,"right":null,"role":"source"},{"frame":852,"left":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,72,128,264],"offset":328,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":65,"rank":0,"right":null,"role":"target"},{"frame":274,"left":{"linear_Z4":[0,0,0,1,0,0,0,1,0],"matrix_rows":[1,2,4,128,16,32,64,8,392],"offset":0,"phase":0,"quadratic_rows":[0,0,0,136,0,0,0,136,0]},"port":66,"rank":0,"right":null,"role":"source"},{"frame":846,"left":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,136,264],"offset":392,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":66,"rank":0,"right":null,"role":"target"},{"frame":269,"left":{"linear_Z4":[0,0,0,0,1,1,0,0,0],"matrix_rows":[1,2,4,8,32,16,112,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,48,48,0,0,0]},"port":67,"rank":0,"right":null,"role":"source"},{"frame":982,"left":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[1,2,4,8,16,48,80,128,256],"offset":112,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":67,"rank":0,"right":null,"role":"target"},{"frame":297,"left":{"linear_Z4":[0,0,0,0,1,1,0,0,0],"matrix_rows":[1,2,4,8,32,16,64,176,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,48,48,0,0,0]},"port":68,"rank":0,"right":null,"role":"source"},{"frame":988,"left":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[1,2,4,8,16,48,64,144,256],"offset":176,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":68,"rank":0,"right":null,"role":"target"},{"frame":299,"left":{"linear_Z4":[0,0,0,0,1,1,0,0,0],"matrix_rows":[1,2,4,8,32,16,64,128,304],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,48,48,0,0,0]},"port":69,"rank":0,"right":null,"role":"source"},{"frame":853,"left":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[1,2,4,8,16,48,64,128,272],"offset":304,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":69,"rank":0,"right":null,"role":"target"},{"frame":36,"left":{"linear_Z4":[0,0,0,0,1,0,1,0,0],"matrix_rows":[1,2,4,8,64,32,16,208,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,80,0,80,0,0]},"port":70,"rank":0,"right":null,"role":"source"},{"frame":880,"left":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,80,144,256],"offset":208,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":70,"rank":0,"right":null,"role":"target"},{"frame":37,"left":{"linear_Z4":[0,0,0,0,1,0,1,0,0],"matrix_rows":[1,2,4,8,64,32,16,128,336],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,80,0,80,0,0]},"port":71,"rank":0,"right":null,"role":"source"},{"frame":886,"left":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,80,128,272],"offset":336,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":71,"rank":0,"right":null,"role":"target"},{"frame":65,"left":{"linear_Z4":[0,0,0,0,1,0,0,1,0],"matrix_rows":[1,2,4,8,128,32,64,16,400],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,144,0,0,144,0]},"port":72,"rank":0,"right":null,"role":"source"},{"frame":892,"left":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,144,272],"offset":400,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":72,"rank":0,"right":null,"role":"target"},{"frame":240,"left":{"linear_Z4":[0,0,0,0,0,1,1,0,0],"matrix_rows":[1,2,4,8,16,64,32,224,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,96,96,0,0]},"port":73,"rank":0,"right":null,"role":"source"},{"frame":970,"left":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[1,2,4,8,16,32,96,160,256],"offset":224,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":73,"rank":0,"right":null,"role":"target"},{"frame":242,"left":{"linear_Z4":[0,0,0,0,0,1,1,0,0],"matrix_rows":[1,2,4,8,16,64,32,128,352],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,96,96,0,0]},"port":74,"rank":0,"right":null,"role":"source"},{"frame":843,"left":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[1,2,4,8,16,32,96,128,288],"offset":352,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":74,"rank":0,"right":null,"role":"target"},{"frame":212,"left":{"linear_Z4":[0,0,0,0,0,1,0,1,0],"matrix_rows":[1,2,4,8,16,128,64,32,416],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,160,0,160,0]},"port":75,"rank":0,"right":null,"role":"source"},{"frame":841,"left":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,160,288],"offset":416,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":75,"rank":0,"right":null,"role":"target"},{"frame":8,"left":{"linear_Z4":[0,0,0,0,0,0,1,1,0],"matrix_rows":[1,2,4,8,16,32,128,64,448],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,192,192,0]},"port":76,"rank":0,"right":null,"role":"source"},{"frame":874,"left":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[1,2,4,8,16,32,64,192,320],"offset":448,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":76,"rank":0,"right":null,"role":"target"},{"frame":101,"left":{"linear_Z4":[0,0,1,1,1,1,1,1,0],"matrix_rows":[1,2,248,244,236,220,188,124,508],"offset":0,"phase":0,"quadratic_rows":[0,0,252,252,252,252,252,252,0]},"port":77,"rank":0,"right":null,"role":"source"},{"frame":824,"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,12,20,36,68,132,260],"offset":508,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":77,"rank":0,"right":null,"role":"target"},{"frame":356,"left":{"linear_Z4":[0,1,0,1,1,1,1,1,0],"matrix_rows":[1,248,4,242,234,218,186,122,506],"offset":0,"phase":0,"quadratic_rows":[0,250,0,250,250,250,250,250,0]},"port":78,"rank":0,"right":null,"role":"source"},{"frame":1018,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,10,18,34,66,130,258],"offset":506,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":78,"rank":0,"right":null,"role":"target"},{"frame":71,"left":{"linear_Z4":[0,1,1,0,1,1,1,1,0],"matrix_rows":[1,244,242,8,230,214,182,118,502],"offset":0,"phase":0,"quadratic_rows":[0,246,246,0,246,246,246,246,0]},"port":79,"rank":0,"right":null,"role":"source"},{"frame":818,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,6,8,18,34,66,130,258],"offset":502,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":79,"rank":0,"right":null,"role":"target"},{"frame":268,"left":{"linear_Z4":[0,1,1,1,0,1,1,1,0],"matrix_rows":[1,236,234,230,16,206,174,110,494],"offset":0,"phase":0,"quadratic_rows":[0,238,238,238,0,238,238,238,0]},"port":80,"rank":0,"right":null,"role":"source"},{"frame":976,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,6,10,16,34,66,130,258],"offset":494,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":80,"rank":0,"right":null,"role":"target"},{"frame":14,"left":{"linear_Z4":[0,1,1,1,1,0,1,1,0],"matrix_rows":[1,220,218,214,206,32,158,94,478],"offset":0,"phase":0,"quadratic_rows":[0,222,222,222,222,0,222,222,0]},"port":81,"rank":0,"right":null,"role":"source"},{"frame":812,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,6,10,18,32,66,130,258],"offset":478,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":81,"rank":0,"right":null,"role":"target"},{"frame":211,"left":{"linear_Z4":[0,1,1,1,1,1,0,1,0],"matrix_rows":[1,188,186,182,174,158,64,62,446],"offset":0,"phase":0,"quadratic_rows":[0,190,190,190,190,190,0,190,0]},"port":82,"rank":0,"right":null,"role":"source"},{"frame":958,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,6,10,18,34,64,130,258],"offset":446,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":82,"rank":0,"right":null,"role":"target"},{"frame":239,"left":{"linear_Z4":[0,1,1,1,1,1,1,0,0],"matrix_rows":[1,124,122,118,110,94,62,128,382],"offset":0,"phase":0,"quadratic_rows":[0,126,126,126,126,126,126,0,0]},"port":83,"rank":0,"right":null,"role":"source"},{"frame":964,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,6,10,18,34,66,128,258],"offset":382,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":83,"rank":0,"right":null,"role":"target"},{"frame":241,"left":{"linear_Z4":[0,1,1,1,1,1,1,0,0],"matrix_rows":[1,124,122,118,110,94,62,254,256],"offset":0,"phase":0,"quadratic_rows":[0,126,126,126,126,126,126,0,0]},"port":84,"rank":0,"right":null,"role":"source"},{"frame":845,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,6,10,18,34,66,130,256],"offset":254,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":84,"rank":0,"right":null,"role":"target"},{"frame":155,"left":{"linear_Z4":[1,0,0,1,1,1,1,1,0],"matrix_rows":[248,2,4,241,233,217,185,121,505],"offset":0,"phase":0,"quadratic_rows":[249,0,0,249,249,249,249,249,0]},"port":85,"rank":0,"right":null,"role":"source"},{"frame":831,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,9,17,33,65,129,257],"offset":505,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":85,"rank":0,"right":null,"role":"target"},{"frame":217,"left":{"linear_Z4":[1,0,1,0,1,1,1,1,0],"matrix_rows":[244,2,241,8,229,213,181,117,501],"offset":0,"phase":0,"quadratic_rows":[245,0,245,0,245,245,245,245,0]},"port":86,"rank":0,"right":null,"role":"source"},{"frame":840,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,5,8,17,33,65,129,257],"offset":501,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":86,"rank":0,"right":null,"role":"target"},{"frame":9,"left":{"linear_Z4":[1,0,1,1,0,1,1,1,0],"matrix_rows":[236,2,233,229,16,205,173,109,493],"offset":0,"phase":0,"quadratic_rows":[237,0,237,237,0,237,237,237,0]},"port":87,"rank":0,"right":null,"role":"source"},{"frame":813,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,5,9,16,33,65,129,257],"offset":493,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":87,"rank":0,"right":null,"role":"target"},{"frame":271,"left":{"linear_Z4":[1,0,1,1,1,0,1,1,0],"matrix_rows":[220,2,217,213,205,32,157,93,477],"offset":0,"phase":0,"quadratic_rows":[221,0,221,221,221,0,221,221,0]},"port":88,"rank":0,"right":null,"role":"source"},{"frame":847,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,5,9,17,32,65,129,257],"offset":477,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":88,"rank":0,"right":null,"role":"target"},{"frame":68,"left":{"linear_Z4":[1,0,1,1,1,1,0,1,0],"matrix_rows":[188,2,185,181,173,157,64,61,445],"offset":0,"phase":0,"quadratic_rows":[189,0,189,189,189,189,0,189,0]},"port":89,"rank":0,"right":null,"role":"source"},{"frame":819,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,5,9,17,33,64,129,257],"offset":445,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":89,"rank":0,"right":null,"role":"target"},{"frame":38,"left":{"linear_Z4":[1,0,1,1,1,1,1,0,0],"matrix_rows":[124,2,121,117,109,93,61,128,381],"offset":0,"phase":0,"quadratic_rows":[125,0,125,125,125,125,125,0,0]},"port":90,"rank":0,"right":null,"role":"source"},{"frame":817,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,5,9,17,33,65,128,257],"offset":381,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":90,"rank":0,"right":null,"role":"target"},{"frame":39,"left":{"linear_Z4":[1,0,1,1,1,1,1,0,0],"matrix_rows":[124,2,121,117,109,93,61,253,256],"offset":0,"phase":0,"quadratic_rows":[125,0,125,125,125,125,125,0,0]},"port":91,"rank":0,"right":null,"role":"source"},{"frame":815,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,5,9,17,33,65,129,256],"offset":253,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":91,"rank":0,"right":null,"role":"target"},{"frame":11,"left":{"linear_Z4":[1,1,0,0,1,1,1,1,0],"matrix_rows":[242,241,4,8,227,211,179,115,499],"offset":0,"phase":0,"quadratic_rows":[243,243,0,0,243,243,243,243,0]},"port":92,"rank":0,"right":null,"role":"source"},{"frame":875,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,4,8,17,33,65,129,257],"offset":499,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":92,"rank":0,"right":null,"role":"target"},{"frame":214,"left":{"linear_Z4":[1,1,0,1,0,1,1,1,0],"matrix_rows":[234,233,4,227,16,203,171,107,491],"offset":0,"phase":0,"quadratic_rows":[235,235,0,235,0,235,235,235,0]},"port":93,"rank":0,"right":null,"role":"source"},{"frame":959,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,4,9,16,33,65,129,257],"offset":491,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":93,"rank":0,"right":null,"role":"target"},{"frame":70,"left":{"linear_Z4":[1,1,0,1,1,0,1,1,0],"matrix_rows":[218,217,4,211,203,32,155,91,475],"offset":0,"phase":0,"quadratic_rows":[219,219,0,219,219,0,219,219,0]},"port":94,"rank":0,"right":null,"role":"source"},{"frame":893,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,4,9,17,32,65,129,257],"offset":475,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":94,"rank":0,"right":null,"role":"target"},{"frame":273,"left":{"linear_Z4":[1,1,0,1,1,1,0,1,0],"matrix_rows":[186,185,4,179,171,155,64,59,443],"offset":0,"phase":0,"quadratic_rows":[187,187,0,187,187,187,0,187,0]},"port":95,"rank":0,"right":null,"role":"source"},{"frame":977,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,4,9,17,33,64,129,257],"offset":443,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":95,"rank":0,"right":null,"role":"target"},{"frame":301,"left":{"linear_Z4":[1,1,0,1,1,1,1,0,0],"matrix_rows":[122,121,4,115,107,91,59,128,379],"offset":0,"phase":0,"quadratic_rows":[123,123,0,123,123,123,123,0,0]},"port":96,"rank":0,"right":null,"role":"source"},{"frame":995,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,4,9,17,33,65,128,257],"offset":379,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":96,"rank":0,"right":null,"role":"target"},{"frame":303,"left":{"linear_Z4":[1,1,0,1,1,1,1,0,0],"matrix_rows":[122,121,4,115,107,91,59,251,256],"offset":0,"phase":0,"quadratic_rows":[123,123,0,123,123,123,123,0,0]},"port":97,"rank":0,"right":null,"role":"source"},{"frame":850,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,4,9,17,33,65,129,256],"offset":251,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":97,"rank":0,"right":null,"role":"target"},{"frame":152,"left":{"linear_Z4":[1,1,1,0,0,1,1,1,0],"matrix_rows":[230,229,227,8,16,199,167,103,487],"offset":0,"phase":0,"quadratic_rows":[231,231,231,0,0,231,231,231,0]},"port":98,"rank":0,"right":null,"role":"source"},{"frame":928,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,8,16,33,65,129,257],"offset":487,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":98,"rank":0,"right":null,"role":"target"},{"frame":357,"left":{"linear_Z4":[1,1,1,0,1,0,1,1,0],"matrix_rows":[214,213,211,8,199,32,151,87,471],"offset":0,"phase":0,"quadratic_rows":[215,215,215,0,215,0,215,215,0]},"port":99,"rank":0,"right":null,"role":"source"},{"frame":861,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,8,17,32,65,129,257],"offset":471,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":99,"rank":0,"right":null,"role":"target"},{"frame":95,"left":{"linear_Z4":[1,1,1,0,1,1,0,1,0],"matrix_rows":[182,181,179,8,167,151,64,55,439],"offset":0,"phase":0,"quadratic_rows":[183,183,183,0,183,183,0,183,0]},"port":100,"rank":0,"right":null,"role":"source"},{"frame":910,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,8,17,33,64,129,257],"offset":439,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":100,"rank":0,"right":null,"role":"target"},{"frame":123,"left":{"linear_Z4":[1,1,1,0,1,1,1,0,0],"matrix_rows":[118,117,115,8,103,87,55,128,375],"offset":0,"phase":0,"quadratic_rows":[119,119,119,0,119,119,119,0,0]},"port":101,"rank":0,"right":null,"role":"source"},{"frame":916,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,8,17,33,65,128,257],"offset":375,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":101,"rank":0,"right":null,"role":"target"},{"frame":125,"left":{"linear_Z4":[1,1,1,0,1,1,1,0,0],"matrix_rows":[118,117,115,8,103,87,55,247,256],"offset":0,"phase":0,"quadratic_rows":[119,119,119,0,119,119,119,0,0]},"port":102,"rank":0,"right":null,"role":"source"},{"frame":829,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,8,17,33,65,129,256],"offset":247,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":102,"rank":0,"right":null,"role":"target"},{"frame":98,"left":{"linear_Z4":[1,1,1,1,0,0,1,1,0],"matrix_rows":[206,205,203,199,16,32,143,79,463],"offset":0,"phase":0,"quadratic_rows":[207,207,207,207,0,0,207,207,0]},"port":103,"rank":0,"right":null,"role":"source"},{"frame":911,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,9,16,32,65,129,257],"offset":463,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":103,"rank":0,"right":null,"role":"target"},{"frame":362,"left":{"linear_Z4":[1,1,1,1,0,1,0,1,0],"matrix_rows":[174,173,171,167,16,143,64,47,431],"offset":0,"phase":0,"quadratic_rows":[175,175,175,175,0,175,0,175,0]},"port":104,"rank":0,"right":null,"role":"source"},{"frame":860,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,9,16,33,64,129,257],"offset":431,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":104,"rank":0,"right":null,"role":"target"},{"frame":332,"left":{"linear_Z4":[1,1,1,1,0,1,1,0,0],"matrix_rows":[110,109,107,103,16,79,47,128,367],"offset":0,"phase":0,"quadratic_rows":[111,111,111,111,0,111,111,0,0]},"port":105,"rank":0,"right":null,"role":"source"},{"frame":854,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,9,16,33,65,128,257],"offset":367,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":105,"rank":0,"right":null,"role":"target"},{"frame":333,"left":{"linear_Z4":[1,1,1,1,0,1,1,0,0],"matrix_rows":[110,109,107,103,16,79,47,239,256],"offset":0,"phase":0,"quadratic_rows":[111,111,111,111,0,111,111,0,0]},"port":106,"rank":0,"right":null,"role":"source"},{"frame":856,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,9,16,33,65,129,256],"offset":239,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":106,"rank":0,"right":null,"role":"target"},{"frame":157,"left":{"linear_Z4":[1,1,1,1,1,0,0,1,0],"matrix_rows":[158,157,155,151,143,32,64,31,415],"offset":0,"phase":0,"quadratic_rows":[159,159,159,159,159,0,0,159,0]},"port":107,"rank":0,"right":null,"role":"source"},{"frame":929,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,9,17,32,64,129,257],"offset":415,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":107,"rank":0,"right":null,"role":"target"},{"frame":185,"left":{"linear_Z4":[1,1,1,1,1,0,1,0,0],"matrix_rows":[94,93,91,87,79,32,31,128,351],"offset":0,"phase":0,"quadratic_rows":[95,95,95,95,95,0,95,0,0]},"port":108,"rank":0,"right":null,"role":"source"},{"frame":947,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,9,17,32,65,128,257],"offset":351,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":108,"rank":0,"right":null,"role":"target"},{"frame":187,"left":{"linear_Z4":[1,1,1,1,1,0,1,0,0],"matrix_rows":[94,93,91,87,79,32,31,223,256],"offset":0,"phase":0,"quadratic_rows":[95,95,95,95,95,0,95,0,0]},"port":109,"rank":0,"right":null,"role":"source"},{"frame":834,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,9,17,32,65,129,256],"offset":223,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":109,"rank":0,"right":null,"role":"target"},{"frame":391,"left":{"linear_Z4":[1,1,1,1,1,1,0,0,0],"matrix_rows":[62,61,59,55,47,31,64,128,319],"offset":0,"phase":0,"quadratic_rows":[63,63,63,63,63,63,0,0,0]},"port":110,"rank":0,"right":null,"role":"source"},{"frame":864,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,9,17,33,64,128,257],"offset":319,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":110,"rank":0,"right":null,"role":"target"},{"frame":387,"left":{"linear_Z4":[1,1,1,1,1,1,0,0,0],"matrix_rows":[62,61,59,55,47,31,64,191,256],"offset":0,"phase":0,"quadratic_rows":[63,63,63,63,63,63,0,0,0]},"port":111,"rank":0,"right":null,"role":"source"},{"frame":863,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,9,17,33,64,129,256],"offset":191,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":111,"rank":0,"right":null,"role":"target"}]} \ No newline at end of file diff --git a/research/gauge44-leaver8/evidence/local/CLIFFORD-REVIEW.json b/research/gauge44-leaver8/evidence/local/CLIFFORD-REVIEW.json new file mode 100644 index 0000000000..6b12ae0e4b --- /dev/null +++ b/research/gauge44-leaver8/evidence/local/CLIFFORD-REVIEW.json @@ -0,0 +1,19 @@ +{ + "status": "PASS_NEW_WORD_EXACT_LOCAL_PHASE_RECIPES", + "canonical_word_sha256": "92941c2b718b533f1d3addb710d261a6e2b9ec5d19f0051d79775b08cb2571ed", + "frames": 1037, + "directed_edges": 3019, + "ranks": { + "1": 2029, + "2": 394, + "3": 412, + "8": 16, + "4": 154, + "5": 14 + }, + "endpoint_adapters": 224, + "all_child_equalities_include_global_phase": true, + "recipe_sha256": "0a60293f43d88dbb1b321f02e61204afe1b6272b1346968ef35705caea1e4771", + "seconds": 198.28347681800005, + "scope": "Every local frame and center transition. Expanded scalar-interface integration and global emitted program are separate obligations." +} diff --git a/research/gauge44-leaver8/evidence/local/FULL-WORD.json.gz b/research/gauge44-leaver8/evidence/local/FULL-WORD.json.gz new file mode 100644 index 0000000000..447d45d08b Binary files /dev/null and b/research/gauge44-leaver8/evidence/local/FULL-WORD.json.gz differ diff --git a/research/gauge44-leaver8/evidence/local/INDEPENDENT-LOCAL-REPLAY.json b/research/gauge44-leaver8/evidence/local/INDEPENDENT-LOCAL-REPLAY.json new file mode 100644 index 0000000000..aa15edfba5 --- /dev/null +++ b/research/gauge44-leaver8/evidence/local/INDEPENDENT-LOCAL-REPLAY.json @@ -0,0 +1,71 @@ +{ + "status": "PASS_INDEPENDENT_LOCAL_SCALAR_FRAME_AND_WRAPPER_REPLAY", + "canonical_word_sha256": "92941c2b718b533f1d3addb710d261a6e2b9ec5d19f0051d79775b08cb2571ed", + "local_programs_sha256": "172dc3d23e437909ddc01d07b12ede735afbb5bb6145f1ddf5c2e03097dfebe2", + "v": 112, + "helpers": 492, + "local": { + "forward": { + "all_exact_columns": 716, + "prefix_l1_upper": "2323449462751823289130723296176889733365478515961323543/64", + "prefix_bits_upper": 175, + "charged_payload_bits": 192, + "private_work_erased": true + }, + "backward": { + "all_exact_columns": 716, + "prefix_l1_upper": "600338326363508935771850050281004728884643/32", + "prefix_bits_upper": 134, + "charged_payload_bits": 192, + "private_work_erased": true + } + }, + "paid_profiles": { + "forward": { + "1": 2514, + "4": 160, + "8": 8, + "3": 448, + "2": 404, + "5": 56 + }, + "backward": { + "1": 2514, + "4": 160, + "8": 8, + "3": 448, + "2": 404, + "5": 56 + } + }, + "entering_helpers": 204, + "cold_hyperplane_ended_helpers": 44, + "negative_controls_rejected": [ + "wrong_scale", + "missing_center", + "wrong_common_frame", + "wrong_child_rank", + "missing_pre_wrapper", + "missing_post_wrapper", + "wrapper_with_wrong_frame", + "wrapper_in_wrong_phase", + "wrapper_on_a_data_register", + "wrapper_on_a_target_register", + "wrapper_on_a_centre_register", + "hpe_pre_wrapper_resolved_to_full_recipe", + "hpe_post_wrapper_without_terminal_frame", + "hpe_post_wrapper_wrong_terminal_frame", + "hpe_tail_gate_at_full_frame", + "hpe_tail_climb_dropped", + "hpe_helper_exit_adapter_to_full", + "hpe_tail_gate_moved_into_full_cleanup", + "cold_hpe_pre_wrapper_replaced_by_identity_entry_adapter", + "cold_hpe_pre_wrapper_dropped", + "cold_hpe_post_wrapper_replaced_by_exit_adapter", + "cold_hpe_pre_wrapper_resolved_to_cold_full_convention", + "cold_hpe_wrapper_with_nonzero_entrance", + "cold_hpe_post_wrapper_wrong_terminal_frame", + "cold_hpe_premix_gate_before_pre_wrapper" + ], + "scope": "Literal forward and inverse-transpose replay on every arbitrary data/helper column, physical frame incidence, ordered paid wrappers, cleared private work and prefix coefficients. Global hosting and outer exponent are separate." +} diff --git a/research/gauge44-leaver8/evidence/local/LOCAL-CHECKS.json b/research/gauge44-leaver8/evidence/local/LOCAL-CHECKS.json new file mode 100644 index 0000000000..3872f0e596 --- /dev/null +++ b/research/gauge44-leaver8/evidence/local/LOCAL-CHECKS.json @@ -0,0 +1,36 @@ +{ + "forward": { + "sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "scalar_macros": 41570, + "real_component_primitive_bound": 420052, + "paid_profile": { + "1": 2514, + "2": 404, + "3": 448, + "4": 160, + "5": 56, + "8": 8 + }, + "all_columns": 716, + "private_centers_cleared": true, + "private_coefficient_stream_cleared_after_each_macro": true + }, + "backward": { + "sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "scalar_macros": 41570, + "real_component_primitive_bound": 420100, + "paid_profile": { + "1": 2514, + "2": 404, + "3": 448, + "4": 160, + "5": 56, + "8": 8 + }, + "all_columns": 716, + "private_centers_cleared": true, + "private_coefficient_stream_cleared_after_each_macro": true + } +} diff --git a/research/gauge44-leaver8/evidence/local/LOCAL-PROGRAMS.json.gz b/research/gauge44-leaver8/evidence/local/LOCAL-PROGRAMS.json.gz new file mode 100644 index 0000000000..d511f2afa4 Binary files /dev/null and b/research/gauge44-leaver8/evidence/local/LOCAL-PROGRAMS.json.gz differ diff --git a/research/gauge44-leaver8/evidence/local/RESIDUAL-ADAPTERS.json b/research/gauge44-leaver8/evidence/local/RESIDUAL-ADAPTERS.json new file mode 100644 index 0000000000..9c66f92ffb --- /dev/null +++ b/research/gauge44-leaver8/evidence/local/RESIDUAL-ADAPTERS.json @@ -0,0 +1 @@ +{"recipes":{"0:122":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[2,2,2,3,0,0,0,0,0],"matrix_rows":[18,33,68,136,10,9,11,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,8,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[1,1,3,1,1,1,2,3,2],"matrix_rows":[50,49,388,8,97,82,260,120,384],"offset":4,"phase":1,"quadratic_rows":[81,98,132,120,57,58,11,132,0]},"terminal":122,"terminal_rank":4,"terminal_vectors":[388,75,41,26],"vectors":[]},"0:151":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[3,3,3,2,0,0,0,0,0],"matrix_rows":[30,35,69,128,270,3,5,9,1],"offset":0,"phase":0,"quadratic_rows":[9,2,4,1,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[1,2,2,0,1,2,2,3,0],"matrix_rows":[390,19,21,145,481,34,68,8,496],"offset":8,"phase":1,"quadratic_rows":[375,437,467,0,375,19,21,390,151]},"terminal":151,"terminal_rank":4,"terminal_vectors":[273,145,85,51],"vectors":[]},"0:180":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[2,2,2,3,0,0,0,0,0],"matrix_rows":[17,36,66,136,14,12,10,257,1],"offset":0,"phase":0,"quadratic_rows":[0,4,2,8,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[3,1,1,1,2,1,1,3,2],"matrix_rows":[385,100,98,8,257,82,52,120,384],"offset":1,"phase":1,"quadratic_rows":[129,50,84,120,14,106,108,129,0]},"terminal":180,"terminal_rank":4,"terminal_vectors":[385,74,44,30],"vectors":[]},"0:209":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[3,3,3,2,0,0,0,0,0],"matrix_rows":[19,45,70,141,6,256,3,10,2],"offset":0,"phase":0,"quadratic_rows":[1,10,4,2,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[2,1,2,1,2,0,2,3,0],"matrix_rows":[11,389,14,138,65,466,20,472,32],"offset":8,"phase":1,"quadratic_rows":[462,351,411,351,14,0,11,389,143]},"terminal":209,"terminal_rank":4,"terminal_vectors":[266,138,75,30],"vectors":[]},"0:238":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[3,3,2,2,0,0,0,0,0],"matrix_rows":[22,33,71,5,3,136,2,264,8],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[2,3,1,2,2,3,2,3,2],"matrix_rows":[6,5,93,416,25,82,76,288,384],"offset":15,"phase":0,"quadratic_rows":[64,86,22,0,6,160,3,160,0]},"terminal":238,"terminal_rank":4,"terminal_vectors":[416,70,19,13],"vectors":[]},"0:267":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[3,3,3,2,0,0,0,0,0],"matrix_rows":[16,46,78,131,3,261,5,9,1],"offset":0,"phase":0,"quadratic_rows":[9,2,4,1,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[0,1,1,2,2,2,2,3,0],"matrix_rows":[424,14,38,134,1,466,468,24,96],"offset":8,"phase":1,"quadratic_rows":[0,382,382,438,14,462,38,424,174]},"terminal":267,"terminal_rank":4,"terminal_vectors":[262,134,102,30],"vectors":[]},"0:296":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[3,3,2,2,0,0,0,0,0],"matrix_rows":[18,41,75,132,10,1,3,260,4],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[3,2,1,3,2,2,2,3,2],"matrix_rows":[6,5,392,118,97,82,52,264,384],"offset":15,"phase":0,"quadratic_rows":[101,32,69,136,0,3,5,136,0]},"terminal":296,"terminal_rank":4,"terminal_vectors":[392,67,37,22],"vectors":[]},"0:325":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[3,3,3,2,0,0,0,0,0],"matrix_rows":[30,46,64,131,261,5,3,9,1],"offset":0,"phase":0,"quadratic_rows":[9,2,4,1,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[1,1,0,2,2,2,2,3,0],"matrix_rows":[408,11,19,131,481,482,4,72,48],"offset":8,"phase":1,"quadratic_rows":[379,379,0,467,427,19,11,408,155]},"terminal":325,"terminal_rank":4,"terminal_vectors":[259,131,75,51],"vectors":[]},"0:35":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[3,3,2,2,0,0,0,0,0],"matrix_rows":[22,37,67,7,1,2,136,264,8],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[2,2,2,2,2,2,3,3,2],"matrix_rows":[6,5,59,448,25,42,52,320,384],"offset":15,"phase":0,"quadratic_rows":[38,21,51,0,6,5,192,192,0]},"terminal":35,"terminal_rank":4,"terminal_vectors":[448,38,21,11],"vectors":[]},"0:354":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[3,3,3,2,0,0,0,0,0],"matrix_rows":[30,35,69,142,256,5,3,9,1],"offset":0,"phase":0,"quadratic_rows":[9,2,4,1,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[1,2,2,1,0,2,2,3,0],"matrix_rows":[390,11,13,137,481,66,36,488,16],"offset":8,"phase":1,"quadratic_rows":[367,461,427,367,0,13,11,390,143]},"terminal":354,"terminal_rank":4,"terminal_vectors":[265,137,75,45],"vectors":[]},"0:383":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[2,2,2,3,0,0,0,0,0],"matrix_rows":[20,34,65,136,12,13,9,258,2],"offset":0,"phase":0,"quadratic_rows":[4,0,1,8,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[1,3,1,1,1,2,1,3,2],"matrix_rows":[84,386,81,8,97,258,52,120,384],"offset":2,"phase":1,"quadratic_rows":[49,130,100,120,89,13,92,130,0]},"terminal":383,"terminal_rank":4,"terminal_vectors":[386,73,45,28],"vectors":[]},"0:412":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[3,3,3,2,0,0,0,0,0],"matrix_rows":[21,38,75,139,6,5,256,12,4],"offset":0,"phase":0,"quadratic_rows":[1,2,12,4,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[2,2,1,1,2,2,0,3,0],"matrix_rows":[13,14,387,140,33,18,436,440,64],"offset":8,"phase":1,"quadratic_rows":[430,413,319,319,14,13,0,387,143]},"terminal":412,"terminal_rank":4,"terminal_vectors":[268,140,45,30],"vectors":[]},"0:64":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[3,3,3,2,0,0,0,0,0],"matrix_rows":[30,32,78,131,261,3,5,9,1],"offset":0,"phase":0,"quadratic_rows":[9,2,4,1,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[1,0,1,2,2,2,2,3,0],"matrix_rows":[408,13,21,133,481,2,484,40,80],"offset":8,"phase":1,"quadratic_rows":[381,0,381,437,461,13,21,408,157]},"terminal":64,"terminal_rank":4,"terminal_vectors":[261,133,85,45],"vectors":[]},"0:93":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[3,3,2,2,0,0,0,0,0],"matrix_rows":[18,37,71,6,136,3,1,264,8],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[3,2,1,2,3,2,2,3,2],"matrix_rows":[6,5,110,400,97,42,76,272,384],"offset":15,"phase":0,"quadratic_rows":[101,64,37,0,144,5,3,144,0]},"terminal":93,"terminal_rank":4,"terminal_vectors":[400,69,35,14],"vectors":[]},"2":{"entrance_rank":1,"frame":2,"left":{"linear_Z4":[3,3,2,3,2,2,3,3,0],"matrix_rows":[257,2,4,8,16,32,64,128,203],"offset":0,"phase":0,"quadratic_rows":[203,203,0,203,0,0,203,203,0]},"rank":8,"right":{"linear_Z4":[0,0,2,0,2,2,0,0,0],"matrix_rows":[1,258,4,264,16,32,320,384,256],"offset":309,"phase":3,"quadratic_rows":[256,256,0,256,0,0,256,256,203]},"vectors":[459]},"3":{"entrance_rank":1,"frame":3,"left":{"linear_Z4":[3,3,2,3,2,2,2,2,0],"matrix_rows":[257,2,4,8,16,32,11,64,128],"offset":0,"phase":0,"quadratic_rows":[11,11,0,11,0,0,0,0,0]},"rank":8,"right":{"linear_Z4":[0,0,2,0,2,2,0,2,2],"matrix_rows":[1,66,4,72,16,32,128,256,64],"offset":244,"phase":1,"quadratic_rows":[64,64,0,64,0,0,11,0,0]},"vectors":[75]},"4":{"entrance_rank":1,"frame":4,"left":{"linear_Z4":[2,3,3,2,2,3,2,2,0],"matrix_rows":[1,258,4,8,16,32,38,64,128],"offset":0,"phase":0,"quadratic_rows":[0,38,38,0,0,38,0,0,0]},"rank":8,"right":{"linear_Z4":[2,0,0,2,2,0,0,2,2],"matrix_rows":[1,2,68,8,16,96,128,256,64],"offset":217,"phase":1,"quadratic_rows":[0,64,64,0,0,64,38,0,0]},"vectors":[102]},"421":{"entrance_rank":1,"frame":421,"left":{"linear_Z4":[3,2,3,3,2,2,2,2,0],"matrix_rows":[257,2,4,8,16,13,32,64,128],"offset":0,"phase":0,"quadratic_rows":[13,0,13,13,0,0,0,0,0]},"rank":8,"right":{"linear_Z4":[0,2,0,0,2,0,2,2,2],"matrix_rows":[1,2,36,40,16,64,128,256,32],"offset":242,"phase":1,"quadratic_rows":[32,0,32,32,0,13,0,0,0]},"vectors":[45]},"421:1034":{"entrance_rank":1,"frame":421,"left":{"linear_Z4":[3,2,3,2,2,2,2,0,0],"matrix_rows":[128,2,261,1,8,4,16,32,64],"offset":0,"phase":0,"quadratic_rows":[5,0,5,0,0,0,0,0,0]},"rank":7,"right":{"linear_Z4":[2,2,0,3,2,3,2,2,2],"matrix_rows":[44,2,4,16,64,128,256,13,32],"offset":511,"phase":1,"quadratic_rows":[12,0,1,41,0,40,0,0,0]},"terminal":1034,"terminal_rank":8,"terminal_vectors":[256,128,64,33,16,9,5,2],"vectors":[45]},"422":{"entrance_rank":1,"frame":422,"left":{"linear_Z4":[3,3,2,2,3,2,2,2,0],"matrix_rows":[257,2,4,8,16,19,32,64,128],"offset":0,"phase":0,"quadratic_rows":[19,19,0,0,19,0,0,0,0]},"rank":8,"right":{"linear_Z4":[0,0,2,2,0,0,2,2,2],"matrix_rows":[1,34,4,8,48,64,128,256,32],"offset":236,"phase":1,"quadratic_rows":[32,32,0,0,32,19,0,0,0]},"vectors":[51]},"422:1035":{"entrance_rank":1,"frame":422,"left":{"linear_Z4":[3,3,2,2,2,2,2,0,0],"matrix_rows":[128,259,4,8,1,2,16,32,64],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"rank":7,"right":{"linear_Z4":[2,0,2,2,3,3,2,2,2],"matrix_rows":[50,2,4,8,64,128,256,19,32],"offset":511,"phase":1,"quadratic_rows":[18,1,0,0,49,48,0,0,0]},"terminal":1035,"terminal_rank":8,"terminal_vectors":[256,128,64,33,17,8,4,3],"vectors":[51]},"423":{"entrance_rank":1,"frame":423,"left":{"linear_Z4":[2,3,3,3,2,2,2,2,0],"matrix_rows":[1,258,4,8,14,16,32,64,128],"offset":0,"phase":0,"quadratic_rows":[0,14,14,14,0,0,0,0,0]},"rank":8,"right":{"linear_Z4":[2,0,0,0,0,2,2,2,2],"matrix_rows":[1,2,20,24,32,64,128,256,16],"offset":241,"phase":1,"quadratic_rows":[0,16,16,16,14,0,0,0,0]},"vectors":[30]},"423:1036":{"entrance_rank":1,"frame":423,"left":{"linear_Z4":[2,3,3,2,2,2,2,0,0],"matrix_rows":[1,128,262,2,4,8,16,32,64],"offset":0,"phase":0,"quadratic_rows":[0,6,6,0,0,0,0,0,0]},"rank":7,"right":{"linear_Z4":[2,2,0,3,3,2,2,2,2],"matrix_rows":[1,28,4,32,64,128,256,14,16],"offset":511,"phase":1,"quadratic_rows":[0,12,2,26,24,0,0,0,0]},"terminal":1036,"terminal_rank":8,"terminal_vectors":[256,128,64,32,18,10,6,1],"vectors":[30]},"424":{"entrance_rank":4,"frame":424,"left":{"linear_Z4":[2,3,2,2,3,0,0,0,0],"matrix_rows":[33,65,2,132,264,8,4,16,31],"offset":0,"phase":0,"quadratic_rows":[30,31,27,23,31,0,0,0,0]},"rank":5,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,260,264,272,384,352,354,64,32],"offset":429,"phase":0,"quadratic_rows":[96,0,256,320,288,17,9,256,156]},"vectors":[413,72,48,3]},"425":{"entrance_rank":4,"frame":425,"left":{"linear_Z4":[2,2,2,3,3,0,0,0,0],"matrix_rows":[33,66,132,257,8,4,2,16,31],"offset":0,"phase":0,"quadratic_rows":[30,29,27,31,31,0,0,0,0]},"rank":5,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,258,260,272,384,352,64,32,360],"offset":231,"phase":0,"quadratic_rows":[96,320,288,0,256,5,3,256,150]},"vectors":[407,66,36,9]},"426":{"entrance_rank":4,"frame":426,"left":{"linear_Z4":[2,2,2,3,3,0,0,0,0],"matrix_rows":[33,66,132,260,2,1,8,16,31],"offset":0,"phase":0,"quadratic_rows":[30,29,27,31,31,0,0,0,0]},"rank":5,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,258,260,320,384,32,16,304,312],"offset":231,"phase":0,"quadratic_rows":[288,272,48,0,6,5,256,256,195]},"vectors":[455,33,18,12]},"427":{"entrance_rank":4,"frame":427,"left":{"linear_Z4":[2,2,2,3,3,0,0,0,0],"matrix_rows":[33,66,4,136,16,13,21,258,2],"offset":0,"phase":0,"quadratic_rows":[24,0,24,13,21,0,0,0,0]},"rank":5,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[33,258,100,72,80,64,256,96,384],"offset":66,"phase":0,"quadratic_rows":[96,0,96,32,64,13,21,0,0]},"vectors":[258,130,85,45]},"428":{"entrance_rank":4,"frame":428,"left":{"linear_Z4":[2,3,3,2,2,0,0,0,0],"matrix_rows":[33,66,4,136,16,19,21,264,8],"offset":0,"phase":0,"quadratic_rows":[6,19,21,0,6,0,0,0,0]},"rank":5,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[33,66,68,264,112,64,96,256,384],"offset":136,"phase":0,"quadratic_rows":[96,32,64,0,96,19,21,0,0]},"vectors":[264,136,85,51]},"429":{"entrance_rank":4,"frame":429,"left":{"linear_Z4":[3,2,2,2,3,0,0,0,0],"matrix_rows":[33,66,2,132,4,264,8,16,31],"offset":0,"phase":0,"quadratic_rows":[31,29,27,23,31,0,0,0,0]},"rank":5,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[85,258,264,288,384,340,4,16,64],"offset":462,"phase":0,"quadratic_rows":[256,260,258,272,264,320,288,256,255]},"vectors":[427,96,24,6]},"430":{"entrance_rank":4,"frame":430,"left":{"linear_Z4":[2,2,2,3,3,0,0,0,0],"matrix_rows":[33,66,132,258,4,8,1,16,31],"offset":0,"phase":0,"quadratic_rows":[30,29,27,31,31,0,0,0,0]},"rank":5,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,258,260,288,384,64,336,16,344],"offset":231,"phase":0,"quadratic_rows":[320,80,272,0,6,256,3,256,165]},"vectors":[423,65,20,10]},"431":{"entrance_rank":4,"frame":431,"left":{"linear_Z4":[2,2,2,3,3,0,0,0,0],"matrix_rows":[33,66,4,136,14,16,22,257,1],"offset":0,"phase":0,"quadratic_rows":[0,24,24,14,22,0,0,0,0]},"rank":5,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,18,84,72,96,256,64,80,384],"offset":33,"phase":0,"quadratic_rows":[0,80,80,16,14,64,38,0,0]},"vectors":[257,129,102,30]},"432":{"entrance_rank":4,"frame":432,"left":{"linear_Z4":[2,2,2,3,3,0,0,0,0],"matrix_rows":[33,66,132,264,1,2,4,16,31],"offset":0,"phase":0,"quadratic_rows":[30,29,27,31,31,0,0,0,0]},"rank":5,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[257,258,260,120,384,16,32,64,368],"offset":231,"phase":0,"quadratic_rows":[272,288,320,256,257,258,260,256,255]},"vectors":[399,68,34,17]},"433":{"entrance_rank":4,"frame":433,"left":{"linear_Z4":[2,3,2,2,3,0,0,0,0],"matrix_rows":[33,66,1,132,264,4,8,16,31],"offset":0,"phase":0,"quadratic_rows":[30,31,27,23,31,0,0,0,0]},"rank":5,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[257,102,264,272,384,4,356,32,64],"offset":429,"phase":0,"quadratic_rows":[260,256,257,288,320,264,272,256,255]},"vectors":[411,80,40,5]},"434":{"entrance_rank":4,"frame":434,"left":{"linear_Z4":[2,3,3,2,2,0,0,0,0],"matrix_rows":[33,66,4,8,144,13,11,272,16],"offset":0,"phase":0,"quadratic_rows":[6,11,13,6,0,0,0,0,0]},"rank":5,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[65,34,36,104,272,32,96,256,384],"offset":144,"phase":0,"quadratic_rows":[96,64,32,96,0,13,11,0,0]},"vectors":[272,144,75,45]},"435":{"entrance_rank":4,"frame":435,"left":{"linear_Z4":[3,3,2,2,2,0,0,0,0],"matrix_rows":[33,66,4,8,14,13,144,272,16],"offset":0,"phase":0,"quadratic_rows":[13,14,3,3,0,0,0,0,0]},"rank":5,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[1,2,52,56,320,32,16,256,384],"offset":144,"phase":0,"quadratic_rows":[32,16,48,48,14,13,0,0,0]},"vectors":[320,192,45,30]},"436":{"entrance_rank":5,"frame":436,"left":{"linear_Z4":[3,2,2,2,0,0,0,0,0],"matrix_rows":[17,34,67,4,5,136,7,264,8],"offset":0,"phase":0,"quadratic_rows":[1,4,2,0,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[0,2,0,0,3,0,3,0,2],"matrix_rows":[1,82,88,288,16,80,68,256,384],"offset":249,"phase":2,"quadratic_rows":[16,0,0,80,89,0,88,0,0]},"vectors":[288,160,75,25,7]},"437":{"entrance_rank":5,"frame":437,"left":{"linear_Z4":[2,2,2,3,0,0,0,0,0],"matrix_rows":[17,34,68,136,9,10,11,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,8,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[0,0,0,2,1,1,0,0,2],"matrix_rows":[49,50,260,8,96,80,256,112,384],"offset":127,"phase":1,"quadratic_rows":[80,96,0,112,57,58,11,0,0]},"vectors":[260,132,75,42,25]},"5":{"entrance_rank":1,"frame":5,"left":{"linear_Z4":[2,2,2,3,3,3,2,2,0],"matrix_rows":[1,2,4,264,16,32,56,64,128],"offset":0,"phase":0,"quadratic_rows":[0,0,0,56,56,56,0,0,0]},"rank":8,"right":{"linear_Z4":[2,2,2,0,0,0,0,2,2],"matrix_rows":[1,2,4,8,80,96,128,256,64],"offset":199,"phase":1,"quadratic_rows":[0,0,0,64,64,64,56,0,0]},"vectors":[120]},"6":{"entrance_rank":1,"frame":6,"left":{"linear_Z4":[3,2,3,2,3,2,2,2,0],"matrix_rows":[257,2,4,8,16,32,21,64,128],"offset":0,"phase":0,"quadratic_rows":[21,0,21,0,21,0,0,0,0]},"rank":8,"right":{"linear_Z4":[0,2,0,2,0,2,0,2,2],"matrix_rows":[1,2,68,8,80,32,128,256,64],"offset":234,"phase":1,"quadratic_rows":[64,0,64,0,64,0,21,0,0]},"vectors":[85]}},"status":"RESIDUAL_ADAPTER_RECIPES"} diff --git a/research/gauge44-leaver8/evidence/local/SCALAR-FRAME-AUDIT.json b/research/gauge44-leaver8/evidence/local/SCALAR-FRAME-AUDIT.json new file mode 100644 index 0000000000..23bf3d263e --- /dev/null +++ b/research/gauge44-leaver8/evidence/local/SCALAR-FRAME-AUDIT.json @@ -0,0 +1,654 @@ +{ + "status": "PASS_CHANGED_WORD_ALL_COLUMNS_AND_NATIVE_FRAMES", + "input_content_sha256": "78c7aadacb6eec2eeecc124ca236e5bcfdba6a52b30c2971aaa596d1d119b290", + "routing_content_sha256": "7c84ac65c8b37173aa4293934f041915895e8ec30595844cc1534e2a19ae0d25", + "canonical_content_sha256": "e6daee410e04d5e023faf21144081534ad222d334ce786e6b5f52407e6b3c41f", + "live_columns_each_orientation": 716, + "helpers": 492, + "compensation_additions": 7348, + "scalar_operations": 41546, + "center_rank_sum": 64, + "local_profile": { + "1": 2514, + "2": 404, + "3": 448, + "4": 160, + "5": 56, + "8": 8 + }, + "local_rank_mass": 5650, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 9, + 8, + 9, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ], + "frames": 1037, + "directed_edges": 3019, + "tau": 43, + "target_port_order_matches_baseline": true, + "seconds": 4.39260065399958, + "scope": "Fresh exact forward and inverse-transpose scalar replay on every arbitrary input; all native frame chains and dyadic primitives. Phase lowering, wrappers, global owners and global assembly are separate.", + "hyperplane_ended_helpers": [ + 225, + 227, + 241, + 243, + 257, + 259, + 273, + 275, + 277, + 282, + 289, + 291, + 293, + 298, + 305, + 307, + 309, + 314, + 321, + 323, + 325, + 330, + 337, + 339, + 341, + 346, + 353, + 355, + 357, + 362, + 369, + 371, + 373, + 378, + 385, + 387, + 389, + 394, + 401, + 403, + 417, + 419, + 433, + 435, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 467, + 468, + 477, + 490, + 491, + 514, + 515, + 538, + 539, + 562, + 563, + 574, + 583, + 584, + 593, + 594, + 595, + 596, + 598, + 600, + 601, + 602, + 603 + ], + "early_cleanup_gates": 94, + "cold_hyperplane_ended_helpers": [ + 225, + 227, + 241, + 243, + 257, + 259, + 273, + 275, + 277, + 282, + 289, + 291, + 293, + 298, + 305, + 307, + 309, + 314, + 321, + 323, + 325, + 330, + 337, + 339, + 341, + 346, + 353, + 355, + 357, + 362, + 369, + 371, + 373, + 378, + 385, + 387, + 389, + 394, + 401, + 403, + 417, + 419, + 433, + 435 + ], + "refactored_cleanup_gates": 28150, + "refactored_cleanup": { + "exact_non_target_isolation_checked": true, + "high_inverse": "dyadic_sparse_Gauss_Jordan", + "kind": "source_branch_gauge_and_retired_completion_cold44", + "new_cold_ends": 44 + } +} diff --git a/research/gauge44-leaver8/evidence/local/WRAPPER-CHECKS.json b/research/gauge44-leaver8/evidence/local/WRAPPER-CHECKS.json new file mode 100644 index 0000000000..a18afd4fad --- /dev/null +++ b/research/gauge44-leaver8/evidence/local/WRAPPER-CHECKS.json @@ -0,0 +1,413 @@ +{ + "status": "PASS_RESIDUAL_WRAPPERS_ARE_EXACT", + "frames": 22, + "hyperplane_end_pairs": [ + { + "frame": 0, + "terminal": 35, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 0, + "terminal": 64, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 0, + "terminal": 93, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 0, + "terminal": 122, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 0, + "terminal": 151, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 0, + "terminal": 180, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 0, + "terminal": 209, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 0, + "terminal": 238, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 0, + "terminal": 267, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 0, + "terminal": 296, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 0, + "terminal": 325, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 0, + "terminal": 354, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 0, + "terminal": 383, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 0, + "terminal": 412, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 421, + "terminal": 1034, + "entrance_rank": 1, + "terminal_rank": 8, + "residual_width": 7 + }, + { + "frame": 422, + "terminal": 1035, + "entrance_rank": 1, + "terminal_rank": 8, + "residual_width": 7 + }, + { + "frame": 423, + "terminal": 1036, + "entrance_rank": 1, + "terminal_rank": 8, + "residual_width": 7 + } + ], + "cold_hyperplane_end_pairs": 14, + "wrappers_reject": [ + "wrong global phase", + "wrong translation", + "wrong quadratic form", + "sides swapped", + "wrong width", + "hpe: U-wrapper decoded against a FULL ending", + "hpe: width misreported as 9 - dim E", + "hpe: wrong terminal hyperplane", + "hpe: pre wrapper resolved to the FULL recipe R_{E,FULL}", + "hpe: wrong global phase", + "cold hpe: identity pre wrapper instead of R_{0,U}", + "cold hpe: identity post wrapper instead of L_{0,U}", + "cold hpe: no wrappers (cold FULL convention L = R = I)", + "cold hpe: U-wrapper decoded against a FULL ending", + "cold hpe: width misreported as 9", + "cold hpe: wrong terminal hyperplane", + "cold hpe: wrong global phase" + ], + "all_even_weight": false, + "all_totally_isotropic": false, + "detail": [ + { + "frame": 2, + "entrance_rank": 1, + "residual_width": 8, + "vectors": [ + 459 + ], + "all_even_weight": true, + "totally_isotropic": true + }, + { + "frame": 3, + "entrance_rank": 1, + "residual_width": 8, + "vectors": [ + 75 + ], + "all_even_weight": true, + "totally_isotropic": true + }, + { + "frame": 4, + "entrance_rank": 1, + "residual_width": 8, + "vectors": [ + 102 + ], + "all_even_weight": true, + "totally_isotropic": true + }, + { + "frame": 5, + "entrance_rank": 1, + "residual_width": 8, + "vectors": [ + 120 + ], + "all_even_weight": true, + "totally_isotropic": true + }, + { + "frame": 6, + "entrance_rank": 1, + "residual_width": 8, + "vectors": [ + 85 + ], + "all_even_weight": true, + "totally_isotropic": true + }, + { + "frame": 421, + "entrance_rank": 1, + "residual_width": 8, + "vectors": [ + 45 + ], + "all_even_weight": true, + "totally_isotropic": true + }, + { + "frame": 422, + "entrance_rank": 1, + "residual_width": 8, + "vectors": [ + 51 + ], + "all_even_weight": true, + "totally_isotropic": true + }, + { + "frame": 423, + "entrance_rank": 1, + "residual_width": 8, + "vectors": [ + 30 + ], + "all_even_weight": true, + "totally_isotropic": true + }, + { + "frame": 424, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 413, + 72, + 48, + 3 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 425, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 407, + 66, + 36, + 9 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 426, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 455, + 33, + 18, + 12 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 427, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 258, + 130, + 85, + 45 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 428, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 264, + 136, + 85, + 51 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 429, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 427, + 96, + 24, + 6 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 430, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 423, + 65, + 20, + 10 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 431, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 257, + 129, + 102, + 30 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 432, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 399, + 68, + 34, + 17 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 433, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 411, + 80, + 40, + 5 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 434, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 272, + 144, + 75, + 45 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 435, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 320, + 192, + 45, + 30 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 436, + "entrance_rank": 5, + "residual_width": 4, + "vectors": [ + 288, + 160, + 75, + 25, + 7 + ], + "all_even_weight": false, + "totally_isotropic": false + }, + { + "frame": 437, + "entrance_rank": 5, + "residual_width": 4, + "vectors": [ + 260, + 132, + 75, + 42, + 25 + ], + "all_even_weight": false, + "totally_isotropic": false + } + ] +} diff --git a/research/gauge44-leaver8/hosting/PROOF.md b/research/gauge44-leaver8/hosting/PROOF.md new file mode 100644 index 0000000000..b551b6d3e5 --- /dev/null +++ b/research/gauge44-leaver8/hosting/PROOF.md @@ -0,0 +1,237 @@ +# Exact owner reuse and concave-cost matching + +## 1. Objects and interface assumptions + +The parent controller has 72 ordered calls, 112 source ports, 112 target ports, +and 492 helper roles per call. The ambient dimension is 73. A pending-child +group is a triple + +$$ +g=(\text{owner replica},\text{child},\text{port}). +$$ + +The parent window catalogue gives group capacity $C_g$, together with the call +times at which its physical stream is idle. The map from a group to its +physical family is + +$$ +F(g)=896\,\text{owner replica} + +112(2\,\text{pair(child)}+\text{side(child)})+\text{port}. +$$ + +At every call in this particular parent geometry, at most one pending child of +a physical family is eligible. Both the matcher and the independent frozen +audit check this condition. They also exclude both active data families of the +call. Consequently, injective assignment to eligible groups is equivalent to +assignment to distinct idle physical families at that call. + +Helper $h$ requests an integer width $w_h$, read afresh from the new local +word as the final-frame dimension minus the start-frame dimension. Native +program profiles are also recomputed from their paid edges. The finite local +compiler supplies the normalized helper chart and verifies its warm-start +semantics. A hosted width is a reservation in the pending child's address +coordinates on an existing physical stream; it is not a new physical stream. + +This proof concerns the discrete assignment and its moment contribution. It +uses the parent windows as input. Independent global admission must verify +those windows against the actual controller and construct the actual +73-column charts for the fresh native local word. + +## 2. Feasible shrinking on the original families + +For one call, sort the old slot widths and the new helper widths increasingly, +breaking ties by the old or new helper number. Suppose the new width in each +position is no larger than its matched old width. Assign that helper to the +matched old slot. + +This operation preserves the call time, stage, replica, pending child, port, +owner replica, and physical family. It preserves the set of 492 distinct +helper-owner families at the call, so the old window and active-data +exclusions still hold. In each pending-child group, the sum of new widths is +no larger than the old sum, hence remains within capacity. + +Now order the assignments in each group consistently and replace their +offsets by consecutive prefix sums. The occupied sets become pairwise +disjoint intervals whose union is exactly a prefix of length +$U_g=\sum w_h\le C_g$. The idle child retains rank $C_g-U_g$, with pending +offset $U_g$. Thus the shrinking operation has a direct capacity proof; it +requires neither an owner solver nor any change to the controller. + +The seed constructor applies this termwise argument to the 71 former `jp8` +calls. It keeps the remaining `ck` call provisionally unchanged. Two optional +fixed-family assignment passes redistribute the available capacity before +freezing the seed. Their result is audited using the same integer constraints. + +## 3. One call with all other calls fixed + +Fix one call $t$. Remove its existing assignments while keeping every other +call fixed. For each eligible group, define the available capacity + +$$ +c_g=C_g-\sum_{\substack{\text{assignments in }g\\\text{from calls other than }t}}w. +$$ + +The call must assign each of its 492 widths to a distinct eligible group with +$w\le c_g$. Unused groups can be viewed as receiving a dummy width zero. +After the assignment, group $g$'s idle rank is $c_g-w_g$. For any function +$\phi$, the portion of the idle objective affected by the call is exactly + +$$ +\sum_{g\text{ eligible at }t}\phi(c_g-w_g). +$$ + +All other idle contributions, and all local paid-edge contributions, are +constant in this single-call problem. + +### Greedy rule + +Sort eligible capacities increasingly. At each capacity, assign the largest +remaining helper width that fits; assign zero if none fits. Continue through +the remaining capacities. + +This rule has no floating parameter. Equal-capacity tie choices are used only +to limit changes to physical owners and make the artifact deterministic. + +### Exchange lemma + +Take two capacities $c_1\le c_2$ and two widths $w_1\le w_2\le c_1$. The +assignment of $w_1$ to $c_1$ and $w_2$ to $c_2$ has residual pair + +$$ +(c_1-w_1,\ c_2-w_2). +$$ + +Exchange the widths. Feasibility is preserved, and the new pair is + +$$ +(c_1-w_2,\ c_2-w_1). +$$ + +The total is unchanged. The first new component is no larger than either old +component, and the second is no smaller than either old component. Therefore +the new pair majorizes the old pair. Every concave $\phi$ has weakly smaller +sum on the new pair. + +### Consequence: feasibility and optimality + +Start from any feasible complete assignment. At the smallest remaining +capacity, its assigned width is no larger than the largest remaining width +that fits. The greedy width occurs at some later capacity. If the two differ, +the exchange lemma moves that width to the current capacity while preserving +feasibility and weakly decreasing every concave objective. Fix this first +position and repeat on the suffix. Dummy zero widths cover unused groups. + +Thus the greedy procedure succeeds whenever a feasible assignment exists, and +its remainder vector majorizes that of every feasible assignment. It +simultaneously minimizes every concave remainder objective for this call. +This proof depends on the absence of any eligibility restriction beyond the +capacity and the already fixed call window; that property is explicitly +checked for the present geometry. + +## 4. Exact majorization receipts + +Let $a_r$ and $b_r$ be the old and new remainder histograms for one update, +including zero remainders. When the helper-width multiset is unchanged, their +total numbers of groups and total ranks agree. Every remainder lies between +0 and 48. The implementation checks, with integers, that for each +$k=0,1,\ldots,48$, + +$$ +\sum_r b_r\max(r-k,0) +\;\ge\; +\sum_r a_r\max(r-k,0). +$$ + +These are the stored stop-loss margins. Between integer breakpoints the +difference is linear, so checking all integer breakpoints checks every real +threshold. With equal sums and equal lengths, the inequalities are the +standard majorization criterion: the new vector majorizes the old one. + +The transcript contains 288 such equal-width updates: four passes through 72 +calls. A single preceding update replaces the seed's last `ck` width multiset. +That bootstrap has different total width, so it is checked for exact +feasibility and is not represented as an equal-sum majorization step. + +`reproduce.py` reruns every update and compares the full transcript's semantic +hash. Independently, `audit_frozen.py` removes each final call in turn, computes +all available capacities directly from the frozen owner map, runs a separate +histogram-only greedy calculation, and verifies that it returns exactly the +existing remainder histogram. This checks all 72 final coordinate optima +without relying on the transcript or the discovery seed. + +## 5. Relation to the global moment + +For ambient dimension $M=73$, define + +$$ +\phi_b(r)=r\bigl((73/r)^b-1\bigr) + =73^b r^{1-b}-r,\qquad \phi_b(0)=0. +$$ + +For $0 used[g]) + paid = Counter({r: 72*n for r, n in sig['profile'].items()}) + paid.update(idle) + + # Independent cost-level fixed-point check. No helper-ID or family-ID + # tie-breaking is needed: equal capacities give the same histogram. + for t in range(72): + old = {g: w for g, w in bycall[t].values()} + assert len(old) == R + before = Counter(caps[g]-used[g] for g in eligible[t]) + available = sorted(caps[g]-used[g]+old.get(g, 0) for g in eligible[t]) + want = Counter(sig['widths']) + after = Counter() + for cap in available: + width = next((w for w in sorted(want, reverse=True) if want[w] and w <= cap), 0) + if width: + want[width] -= 1 + after[cap-width] += 1 + assert not any(want.values()), 'Greedy assignment unexpectedly infeasible' + assert after == before, ('Frozen map is not callwise optimal', t) + mass = sum(r*n for r, n in paid.items()) + assert 73*7168-mass == 2560 and max(paid) == 48 + return { + 'roles': len(owners), 'calls': 72, 'fixed_point_calls_checked': 72, + 'remainder_profile': dict(sorted(idle.items())), + 'global_profile': dict(sorted(paid.items())), + 'rank_mass': mass, 'deficit': 2560, 'maxchild': 48, + 'all_footprints_disjoint_compacted_prefixes': True, + 'all_helper_families_idle_and_outside_active_data': True, + 'one_helper_per_physical_family_per_call': True, + 'every_call_optimal_for_every_concave_remainder_cost': True, + 'global_optimality_claimed': False, + } + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + add_inputs(parser) + parser.add_argument('--owners', type=Path, default=HERE/'frozen/OWNERS.json.gz') + parser.add_argument('--majorization', type=Path, default=HERE/'frozen/MAJORIZATION.json.gz') + parser.add_argument('--out', type=Path, required=True) + args = parser.parse_args() + manifest = read(HERE/'frozen/MANIFEST.json') + plan, sig, provider_path = bound_inputs(args, manifest) + assert semantic_sha(args.owners) == manifest['artifacts']['OWNERS.json.gz']['semantic_sha256'] + assert semantic_sha(args.majorization) == manifest['artifacts']['MAJORIZATION.json.gz']['semantic_sha256'] + result = audit(plan, sig, read(args.owners)) + for key in ('remainder_profile', 'global_profile'): + assert result[key] == {int(r): n for r, n in manifest[key].items()} + moves = read(args.majorization) + checked = 0 + for move in moves: + if move['equal_width_multiset']: + margins = move['integer_stoploss_margins'] + assert len(margins) == 49 and all(type(x) is int and x >= 0 for x in margins) + assert margins[0] == margins[-1] == 0 + assert move['strict_majorization'] == bool(any(margins)) + checked += 1 + else: + assert move['bootstrap'] and move['integer_stoploss_margins'] is None + assert checked == 288 and len(moves) == 289 + result.update({ + 'status': 'PASS_FROZEN_HOSTING_AND_ALL_72_CALLWISE_FIXED_POINTS', + 'parent_plan_sha256': sha(args.parent_plan), + 'parent_owners_sha256': sha(args.parent_owners), + 'owners_semantic_sha256': semantic_sha(args.owners), + 'majorization_semantic_sha256': semantic_sha(args.majorization), + 'stored_integer_majorization_steps': checked, + 'majorization_replay': 'reproduce.py re-executes every step; this audit separately checks the final fixed point.', + 'remaining_scope': 'The package global verifier checks fresh local algebra, phases, windows, invoice, moment, and outer assembly.', + }) + args.out.parent.mkdir(parents=True, exist_ok=True) + args.out.write_text(json.dumps(result, indent=2)+'\n') + print(json.dumps(result, indent=2)) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-leaver8/hosting/expand_owners.py b/research/gauge44-leaver8/hosting/expand_owners.py new file mode 100644 index 0000000000..ee6c4c24e6 --- /dev/null +++ b/research/gauge44-leaver8/hosting/expand_owners.py @@ -0,0 +1,186 @@ +"""Exact callwise concave-cost owner matching over every legal idle family. + +This is a finite integer nomination algorithm, not a MILP. Each greedy +matching is optimal for every concave remainder cost. Its majorization +receipt is checked with integers, independently of floating root screens. +""" +from collections import Counter, defaultdict, deque +from pathlib import Path +import argparse +import gzip +import hashlib +import json +import time + +from reuse_owners import read, packed, sha, signature, audit_roles, rate + + +def stoploss(hist,k):return sum(n*max(r-k,0) for r,n in hist.items()) + + +def main(): + ap=argparse.ArgumentParser(description=__doc__) + ap.add_argument('--plan',type=Path,required=True) + ap.add_argument('--owners',type=Path,required=True) + ap.add_argument('--signature',action='append',required=True,help='Existing PID=verified native directory or raw/signature JSON') + ap.add_argument('--max-passes',type=int,default=8) + ap.add_argument('--out',type=Path,required=True) + a=ap.parse_args();assert 1<=a.max_passes<=12 + a.out.mkdir(parents=True,exist_ok=False);beg=time.monotonic() + plan,oldroles=read(a.plan),read(a.owners);V,M=112,73 + assert (plan['K'],plan['T'],plan['M'],plan['L'])==(4,8,73,9) + sig={pid:{'widths':desc['widths'],'profile':{int(r):n for r,n in desc['actual_paid_profile'].items()},'source':'input PLAN'} for pid,desc in plan['provider_registry'].items()} + for spec in a.signature: + pid,path=spec.split('=',1);assert pid in sig;sig[pid]=signature(path) + R=len(next(iter(sig.values()))['widths']) + for s in sig.values(): + assert len(s['widths'])==R and all(type(w) is int and 0used[g]) + + def total_profile(): + p=Counter() + for c in plan['provider_calls']:p.update(sig[c['provider']]['profile']) + p.update(idle_profile());assert M*plan['live']-sum(r*n for r,n in p.items())==2560 + return p + + def update(call,bootstrap=False): + t=calls[call]['time'];gs=eligible[t] + old=current[call] + old_by_group={g:(h,w) for h,(g,w) in old.items()} + assert len(old_by_group)==R and set(old_by_group)<=set(gs) + oldhist=Counter(caps[g]-used[g] for g in gs) + for g,(h,w) in old_by_group.items():used[g]-=w + want=defaultdict(set) + for h,w in enumerate(widths[call]):want[w].add(h) + # Equal-capacity opportunities have identical costs. Preserve old + # matching widths first, then old owners, and finally family order. + buckets=defaultdict(lambda:defaultdict(deque)) + for g in sorted(gs,key=lambda g:(families[g],g[1])): + available=caps[g]-used[g];oldw=old_by_group.get(g,(None,0))[1] + buckets[available][oldw].append(g) + result={};unassigned=R + for c in sorted(buckets): + bucket=buckets[c] + while unassigned and any(bucket.values()): + w=next((w for w in sorted(want,reverse=True) if w<=c and want[w]),None) + if w is None:break + if bucket.get(w):q=w + else:q=next(q for q in sorted(bucket,reverse=True) if bucket[q]) + g=bucket[q].popleft() + h0=old_by_group.get(g,(None,0))[0] + h=h0 if h0 in want[w] else min(want[w]) + want[w].remove(h);result[h]=(g,w);used[g]+=w;unassigned-=1 + assert used[g]<=caps[g] + assert unassigned==0,('no legal family matching',call,{w:len(h) for w,h in want.items() if h}) + assert set(result)==set(range(R)) and len({families[g] for g,w in result.values()})==R + newhist=Counter(caps[g]-used[g] for g in gs) + equal_widths=Counter(w for g,w in old.values())==Counter(widths[call]) + strict=False + if equal_widths: + assert sum(oldhist.values())==sum(newhist.values()) + assert stoploss(oldhist,0)==stoploss(newhist,0) + margins=[stoploss(newhist,k)-stoploss(oldhist,k) for k in range(49)] + assert min(margins)>=0,('greedy did not majorize old assignment',call,margins) + strict=any(margins) + else: + assert bootstrap + margins=None + changed=sum(result[h]!=old[h] for h in result) + current[call]=result + moves.append({'stage':call[0],'replica':call[1],'time':t,'bootstrap':bootstrap, + 'equal_width_multiset':equal_widths,'integer_stoploss_margins':margins, + 'strict_majorization':strict,'changed_helper_owners':changed}) + return strict,changed + + changed_calls=[c for c in order if any(current[c][h][1]!=widths[c][h] for h in range(R))] + for c in changed_calls:update(c,bootstrap=True) + p=total_profile();baseline_b=rate(p,2560,M) + rounds=[{'pass':'bootstrap','changed_provider_calls':[list(c) for c in changed_calls], + 'floating_b':baseline_b,'remainder_profile':dict(sorted(idle_profile().items()))}] + print(json.dumps({'checkpoint':'all_goal_signatures_feasible','bootstrap_calls':len(changed_calls),'floating_b':baseline_b}),flush=True) + quiet=0 + for passno in range(a.max_passes): + strict=changed=0 + for c in (order if passno%2==0 else list(reversed(order))): + s,z=update(c);strict+=bool(s);changed+=z + p=total_profile();r={'pass':passno+1,'strictly_improved_calls':strict,'changed_helper_owners':changed, + 'floating_b':rate(p,2560,M),'remainder_profile':dict(sorted(idle_profile().items()))} + rounds.append(r);print(json.dumps({k:r[k] for k in ('pass','strictly_improved_calls','changed_helper_owners','floating_b')}),flush=True) + quiet=quiet+1 if not strict else 0 + if quiet>=2 or (not strict and not changed):break + + groups=defaultdict(list);roles=[] + for call in order: + s,rep=call;t=calls[call]['time'] + for h,(g,w) in current[call].items(): + orp,ch,port=g + z={'child':ch,'copy':orp*V+port,'family':families[g],'helper':h,'offset':0, + 'owner_replica':orp,'port':port,'replica':rep,'stage':s,'time':t,'width':w} + roles.append(z);groups[g].append(z) + for g,zs in groups.items(): + off=0 + for z in sorted(zs,key=lambda z:(z['time'],z['helper'])):z['offset']=off;off+=z['width'] + assert off==used[g]<=caps[g] + roles.sort(key=lambda z:(z['time'],z['helper'])) + cells,_=audit_roles(roles,plan,widths,V,R) + for z in roles: + active=max(0,(z['stage']-1)//2) + assert not (z['owner_replica']==z['replica'] and plan['pairs'][str(z['child'])]==active) + for g in caps:assert len(cells[g])==used[g] + remainder=[] + for g in caps: + left=caps[g]-used[g] + if left: + rep,ch,port=g + remainder.append({'child':ch,'port':port,'replica':rep,'replicas':1,'family':families[g], + 'rank':left,'hosted':used[g],'pending_offset':used[g]}) + profile=dict(sorted(total_profile().items()));assert M*M>2*max(profile)**2 + raw=packed(roles);compressed=bytearray(gzip.compress(raw,mtime=0));compressed[9]=255 + (a.out/'OWNERS.json.gz').write_bytes(bytes(compressed)) + (a.out/'MAJORIZATION.json.gz').write_bytes(gzip.compress(packed(moves),mtime=0)) + (a.out/'REMAINDERS.json').write_text(json.dumps(remainder,indent=2)+'\n') + (a.out/'PROFILE.json').write_text(json.dumps(profile,indent=2)+'\n') + fields={'profile':profile,'per_call_widths':[{'stage':s,'replica':r,'widths':widths[s,r]} for s,r in order], + 'assignment_sha256':hashlib.sha256(raw).hexdigest(),'assignment_sha256_semantics':'SHA256 sorted-key compact uncompressed OWNERS array', + 'source_owners_sha256':sha(a.owners),'provider_signatures':sig} + (a.out/'PLAN-OWNER-FIELDS.json').write_text(json.dumps(fields,indent=2)+'\n') + receipt={'status':'PASS_EXPANDED_OWNER_MATCHING_EXACT_COMBINATORICS_PENDING_GLOBAL_ADMISSION', + 'source_plan':str(a.plan),'source_plan_sha256':sha(a.plan),'source_owners':str(a.owners),'source_owners_sha256':sha(a.owners), + 'owners_sha256':sha(a.out/'OWNERS.json.gz'),'source_signatures':sig, + 'roles':len(roles),'calls':len(order),'unchanged_call_order_and_windows':True, + 'all_families_idle_and_outside_active_data':True,'one_helper_per_family_per_call':True, + 'all_footprints_disjoint_compacted_prefixes':True,'integer_majorization_steps':sum(z['equal_width_multiset'] for z in moves), + 'majorization_sha256':sha(a.out/'MAJORIZATION.json.gz'),'matching_rounds':rounds, + 'global_profile':profile,'rank_mass':sum(r*n for r,n in profile.items()),'deficit':2560, + 'remainder_profile':dict(sorted(idle_profile().items())),'maxchild':max(profile), + 'candidate_floating_screen_b':rate(profile,2560,M),'seconds':time.monotonic()-beg, + 'remaining_admission':'Fresh native-provider bindings, actual 73-column owner charts, independent full controller audit, finite invoice, exact moment and outer assembly.'} + (a.out/'EXPANDED-OWNER-REUSE.json').write_text(json.dumps(receipt,indent=2)+'\n') + print(json.dumps({k:receipt[k] for k in ('status','roles','remainder_profile','rank_mass','candidate_floating_screen_b','seconds')},indent=2),flush=True) + + +if __name__=='__main__':main() diff --git a/research/gauge44-leaver8/hosting/frozen/FROZEN-AUDIT.json b/research/gauge44-leaver8/hosting/frozen/FROZEN-AUDIT.json new file mode 100644 index 0000000000..5f95552366 --- /dev/null +++ b/research/gauge44-leaver8/hosting/frozen/FROZEN-AUDIT.json @@ -0,0 +1,57 @@ +{ + "roles": 35424, + "calls": 72, + "fixed_point_calls_checked": 72, + "remainder_profile": { + "1": 85, + "2": 76, + "3": 173, + "7": 7, + "8": 6, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + }, + "global_profile": { + "1": 181093, + "2": 29164, + "3": 32429, + "4": 11520, + "5": 4032, + "7": 7, + "8": 582, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + }, + "rank_mass": 520704, + "deficit": 2560, + "maxchild": 48, + "all_footprints_disjoint_compacted_prefixes": true, + "all_helper_families_idle_and_outside_active_data": true, + "one_helper_per_physical_family_per_call": true, + "every_call_optimal_for_every_concave_remainder_cost": true, + "global_optimality_claimed": false, + "status": "PASS_FROZEN_HOSTING_AND_ALL_72_CALLWISE_FIXED_POINTS", + "parent_plan_sha256": "258a8b9baa245fa4096828671e2f1d1462b5af08d56890629622ef6125eaddda", + "parent_owners_sha256": "935ff1a6823c6625daba3349b28d74acf9a3d70a5947ae155aa66c7821804add", + "owners_semantic_sha256": "c09faf298565c1388c02370fdd4e61dd542579fe1898e842d5096cc97b68191d", + "majorization_semantic_sha256": "9ed3fdb41fb8dbc6542de7701c78bb8f3bb728604057daf82a537bde182ab9fc", + "stored_integer_majorization_steps": 288, + "majorization_replay": "reproduce.py re-executes every step; this audit separately checks the final fixed point.", + "remaining_scope": "The package global verifier checks fresh local algebra, phases, windows, invoice, moment, and outer assembly." +} diff --git a/research/gauge44-leaver8/hosting/frozen/MAJORIZATION.json.gz b/research/gauge44-leaver8/hosting/frozen/MAJORIZATION.json.gz new file mode 100644 index 0000000000..047b1cfb67 Binary files /dev/null and b/research/gauge44-leaver8/hosting/frozen/MAJORIZATION.json.gz differ diff --git a/research/gauge44-leaver8/hosting/frozen/MANIFEST.json b/research/gauge44-leaver8/hosting/frozen/MANIFEST.json new file mode 100644 index 0000000000..291005722c --- /dev/null +++ b/research/gauge44-leaver8/hosting/frozen/MANIFEST.json @@ -0,0 +1,114 @@ +{ + "schema": "gauge44-hosting-frozen-v1", + "parent_pr": 635, + "parent_paths": { + "plan": "research/complex-571-cold14-st2/data/PLAN.json", + "owners": "research/complex-571-cold14-st2/data/OWNERS.json.gz" + }, + "parent_plan_sha256": "258a8b9baa245fa4096828671e2f1d1462b5af08d56890629622ef6125eaddda", + "parent_owners_sha256": "935ff1a6823c6625daba3349b28d74acf9a3d70a5947ae155aa66c7821804add", + "artifacts": { + "OWNERS.json.gz": { + "sha256": "90ff7657a23dcfb67532b49c0800c5fc259b27c89005081e24bf184869e1bd57", + "semantic_sha256": "c09faf298565c1388c02370fdd4e61dd542579fe1898e842d5096cc97b68191d" + }, + "SEED-OWNERS.json.gz": { + "sha256": "eb3be5eebbb84349d7e7f1bde2fc77772a12ad5bccc6dab7c4efd8d903e2a048", + "semantic_sha256": "beea695aa2e1ab973ad53f475b3e3e9cf6d0f8a9bca2033a445b64f3b3484e34" + }, + "MAJORIZATION.json.gz": { + "sha256": "ec5f94b13d190d72bc0608dc9fe2498cc43ba9deb05028159a812ec1e4dcacdf", + "semantic_sha256": "9ed3fdb41fb8dbc6542de7701c78bb8f3bb728604057daf82a537bde182ab9fc" + } + }, + "new_provider": { + "R": 492, + "h": 9, + "v": 112, + "width_histogram": { + "4": 52, + "5": 48, + "7": 34, + "8": 114, + "9": 244 + }, + "width_sum": 3794, + "profile": { + "1": 2514, + "2": 404, + "3": 448, + "4": 160, + "5": 56, + "8": 8 + }, + "rank_mass": 5650, + "raw_word_sha256": "3ef4e74e81e2f4621fc95272918ac7b8bb8858df0baa16cc6d91424d55aead9e", + "canonical_word_sha256": "92941c2b718b533f1d3addb710d261a6e2b9ec5d19f0051d79775b08cb2571ed", + "local_programs_sha256": "172dc3d23e437909ddc01d07b12ede735afbb5bb6145f1ddf5c2e03097dfebe2", + "width_vector_sha256": "b7fbefdb3af3942194ac9314c767c7812bd68adb734d4e00b70b2916bdb55de8" + }, + "seed_discovery": { + "provider_replaced": "jp8", + "unchanged_provider": "ck", + "passes": 2, + "price_b": 0.001638923, + "python": "3.12.14", + "numpy": "2.3.5", + "scipy": "1.17.0", + "note": "Only seed discovery uses floating-point Hungarian costs. Frozen seed and the expanded exact replay require the Python standard library." + }, + "expanded_replay": { + "providers_replaced": [ + "jp8", + "ck" + ], + "max_passes": 8, + "actual_passes": 4, + "integer_majorization_steps": 288, + "changed_width_bootstrap_calls": 1 + }, + "global_profile": { + "1": 181093, + "2": 29164, + "3": 32429, + "4": 11520, + "5": 4032, + "7": 7, + "8": 582, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + }, + "remainder_profile": { + "1": 85, + "2": 76, + "3": 173, + "7": 7, + "8": 6, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + }, + "live": 7168, + "roles": 35424, + "calls": 72, + "rank_mass": 520704, + "deficit": 2560, + "maxchild": 48, + "candidate_floating_screen_b": 0.0016522089943684115, + "screening_only": "The floating rate here is not a certified exponent. Exact supplier and outer admission belong to the package verifier." +} diff --git a/research/gauge44-leaver8/hosting/frozen/MATCHING-RECEIPT.json b/research/gauge44-leaver8/hosting/frozen/MATCHING-RECEIPT.json new file mode 100644 index 0000000000..993331090c --- /dev/null +++ b/research/gauge44-leaver8/hosting/frozen/MATCHING-RECEIPT.json @@ -0,0 +1,1205 @@ +{ + "status": "PASS_EXPANDED_OWNER_MATCHING_EXACT_COMBINATORICS_PENDING_GLOBAL_ADMISSION", + "source_plan": "explicit parent PLAN, with a temporary signature-only seed view for expanded replay", + "source_plan_sha256": "0d2b6a12d3450cfb78e556e80d34cabb8cd1a7f8aa85c1a712a5177236672a37", + "source_owners": "frozen/SEED-OWNERS.json.gz", + "source_owners_sha256": "eb3be5eebbb84349d7e7f1bde2fc77772a12ad5bccc6dab7c4efd8d903e2a048", + "owners_sha256": "90ff7657a23dcfb67532b49c0800c5fc259b27c89005081e24bf184869e1bd57", + "source_signatures": { + "ck": { + "widths": [ + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 9, + 8, + 9, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ], + "profile": { + "1": 2514, + "4": 160, + "8": 8, + "3": 448, + "2": 404, + "5": 56 + }, + "source": "supplied new provider (raw or independently checked native)", + "canonical_sha256": "92941c2b718b533f1d3addb710d261a6e2b9ec5d19f0051d79775b08cb2571ed", + "program_sha256": "172dc3d23e437909ddc01d07b12ede735afbb5bb6145f1ddf5c2e03097dfebe2" + }, + "jp8": { + "widths": [ + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 9, + 8, + 9, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ], + "profile": { + "1": 2514, + "4": 160, + "8": 8, + "3": 448, + "2": 404, + "5": 56 + }, + "source": "supplied new provider (raw or independently checked native)", + "canonical_sha256": "92941c2b718b533f1d3addb710d261a6e2b9ec5d19f0051d79775b08cb2571ed", + "program_sha256": "172dc3d23e437909ddc01d07b12ede735afbb5bb6145f1ddf5c2e03097dfebe2" + } + }, + "roles": 35424, + "calls": 72, + "unchanged_call_order_and_windows": true, + "all_families_idle_and_outside_active_data": true, + "one_helper_per_family_per_call": true, + "all_footprints_disjoint_compacted_prefixes": true, + "integer_majorization_steps": 288, + "majorization_sha256": "ec5f94b13d190d72bc0608dc9fe2498cc43ba9deb05028159a812ec1e4dcacdf", + "matching_rounds": [ + { + "pass": "bootstrap", + "changed_provider_calls": [ + [ + 2, + 0 + ] + ], + "floating_b": 0.0016448741407332063, + "remainder_profile": { + "1": 87, + "2": 111, + "3": 191, + "4": 160, + "5": 1, + "6": 2, + "7": 50, + "8": 127, + "10": 3, + "11": 23, + "12": 25, + "13": 1, + "14": 5, + "15": 9, + "16": 107, + "18": 1, + "19": 10, + "20": 15, + "23": 2, + "24": 52, + "32": 1, + "44": 1, + "48": 2221 + } + }, + { + "pass": 1, + "strictly_improved_calls": 70, + "changed_helper_owners": 1245, + "floating_b": 0.0016518485664379205, + "remainder_profile": { + "1": 83, + "2": 92, + "3": 167, + "4": 10, + "6": 3, + "7": 9, + "8": 13, + "11": 4, + "12": 11, + "15": 1, + "16": 35, + "24": 1, + "28": 7, + "32": 57, + "44": 11, + "48": 2284 + } + }, + { + "pass": 2, + "strictly_improved_calls": 41, + "changed_helper_owners": 169, + "floating_b": 0.0016521846143978994, + "remainder_profile": { + "1": 83, + "2": 80, + "3": 171, + "7": 7, + "8": 6, + "12": 14, + "16": 33, + "19": 1, + "20": 2, + "24": 2, + "28": 3, + "32": 61, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + } + }, + { + "pass": 3, + "strictly_improved_calls": 8, + "changed_helper_owners": 13, + "floating_b": 0.0016522089943684115, + "remainder_profile": { + "1": 85, + "2": 76, + "3": 173, + "7": 7, + "8": 6, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + } + }, + { + "pass": 4, + "strictly_improved_calls": 0, + "changed_helper_owners": 0, + "floating_b": 0.0016522089943684115, + "remainder_profile": { + "1": 85, + "2": 76, + "3": 173, + "7": 7, + "8": 6, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + } + } + ], + "global_profile": { + "1": 181093, + "2": 29164, + "3": 32429, + "4": 11520, + "5": 4032, + "7": 7, + "8": 582, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + }, + "rank_mass": 520704, + "deficit": 2560, + "remainder_profile": { + "1": 85, + "2": 76, + "3": 173, + "7": 7, + "8": 6, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + }, + "maxchild": 48, + "candidate_floating_screen_b": 0.0016522089943684115, + "remaining_admission": "Fresh native-provider bindings, actual 73-column owner charts, independent full controller audit, finite invoice, exact moment and outer assembly.", + "provenance_note": "Absolute discovery paths and wall time removed; original artifact hashes and all exact combinatorial fields preserved." +} diff --git a/research/gauge44-leaver8/hosting/frozen/OWNERS.json.gz b/research/gauge44-leaver8/hosting/frozen/OWNERS.json.gz new file mode 100644 index 0000000000..e9c7cfc72d Binary files /dev/null and b/research/gauge44-leaver8/hosting/frozen/OWNERS.json.gz differ diff --git a/research/gauge44-leaver8/hosting/frozen/REPRODUCTION.json b/research/gauge44-leaver8/hosting/frozen/REPRODUCTION.json new file mode 100644 index 0000000000..8ad59712b2 --- /dev/null +++ b/research/gauge44-leaver8/hosting/frozen/REPRODUCTION.json @@ -0,0 +1,29 @@ +{ + "status": "PASS_FROZEN_OWNER_AND_INTEGER_MAJORIZATION_REPLAY", + "seed_mode": "included_frozen_seed", + "parent_plan_sha256": "258a8b9baa245fa4096828671e2f1d1462b5af08d56890629622ef6125eaddda", + "parent_owners_sha256": "935ff1a6823c6625daba3349b28d74acf9a3d70a5947ae155aa66c7821804add", + "owners_semantic_sha256": "c09faf298565c1388c02370fdd4e61dd542579fe1898e842d5096cc97b68191d", + "owners_gzip_sha256": "90ff7657a23dcfb67532b49c0800c5fc259b27c89005081e24bf184869e1bd57", + "majorization_semantic_sha256": "9ed3fdb41fb8dbc6542de7701c78bb8f3bb728604057daf82a537bde182ab9fc", + "global_profile": { + "1": 181093, + "2": 29164, + "3": 32429, + "4": 11520, + "5": 4032, + "7": 7, + "8": 582, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + }, + "scope": "Exact hosting nomination and callwise fixed-point replay; full supplier admission is separate." +} diff --git a/research/gauge44-leaver8/hosting/frozen/SEED-OWNERS.json.gz b/research/gauge44-leaver8/hosting/frozen/SEED-OWNERS.json.gz new file mode 100644 index 0000000000..d61916a156 Binary files /dev/null and b/research/gauge44-leaver8/hosting/frozen/SEED-OWNERS.json.gz differ diff --git a/research/gauge44-leaver8/hosting/frozen/SEED-RECEIPT.json b/research/gauge44-leaver8/hosting/frozen/SEED-RECEIPT.json new file mode 100644 index 0000000000..82911f647b --- /dev/null +++ b/research/gauge44-leaver8/hosting/frozen/SEED-RECEIPT.json @@ -0,0 +1,1537 @@ +{ + "status": "PASS_OWNER_REUSE_NOMINATION_COMBINATORICS_NOT_FULL_SUPPLIER_ADMISSION", + "source_plan": "explicit parent PLAN", + "source_plan_sha256": "258a8b9baa245fa4096828671e2f1d1462b5af08d56890629622ef6125eaddda", + "source_owners_sha256": "935ff1a6823c6625daba3349b28d74acf9a3d70a5947ae155aa66c7821804add", + "owners_sha256": "eb3be5eebbb84349d7e7f1bde2fc77772a12ad5bccc6dab7c4efd8d903e2a048", + "unchanged_owner_family_sets": true, + "unchanged_call_order_and_windows": true, + "all_footprints_are_disjoint_compacted_prefixes": true, + "local_signatures": { + "ck": { + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 9, + 9, + 9, + 9, + 9, + 4, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 9, + 9, + 9, + 9, + 9, + 4, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 9, + 9, + 9, + 9, + 9, + 4, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ], + "profile": { + "1": 2600, + "2": 552, + "3": 304, + "4": 164, + "5": 70, + "6": 4, + "8": 8 + }, + "source": "inherited parent PLAN signature" + }, + "jp8": { + "widths": [ + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 9, + 8, + 9, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ], + "profile": { + "1": 2514, + "2": 404, + "3": 448, + "4": 160, + "5": 56, + "8": 8 + }, + "source": "supplied new provider (raw or independently checked native)", + "source_sha256": "3ef4e74e81e2f4621fc95272918ac7b8bb8858df0baa16cc6d91424d55aead9e" + } + }, + "sorted_initial_dominance": { + "(0, 0)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(0, 1)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(1, 0)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(0, 2)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(1, 1)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(2, 0)": { + "old_total": 3854, + "new_total": 3854, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(0, 3)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(1, 2)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(2, 1)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(3, 0)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(0, 4)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(1, 3)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(2, 2)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(3, 1)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(4, 0)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(0, 5)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(1, 4)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(2, 3)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(3, 2)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(4, 1)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(5, 0)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(0, 6)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(1, 5)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(2, 4)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(3, 3)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(4, 2)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(5, 1)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(0, 7)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(6, 0)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(1, 6)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(2, 5)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(3, 4)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(4, 3)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(5, 2)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(6, 1)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(1, 7)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(7, 0)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(2, 6)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(3, 5)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(4, 4)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(5, 3)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(6, 2)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(7, 1)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(2, 7)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(8, 0)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(3, 6)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(4, 5)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(5, 4)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(6, 3)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(7, 2)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(8, 1)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(3, 7)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(4, 6)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(5, 5)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(6, 4)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(7, 3)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(8, 2)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(4, 7)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(5, 6)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(6, 5)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(7, 4)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(8, 3)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(5, 7)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(6, 6)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(7, 5)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(8, 4)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(6, 7)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(7, 6)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(8, 5)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(7, 7)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(8, 6)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(8, 7)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + } + }, + "matching_passes": [ + { + "pass": "sorted", + "touched_group_idle_pressure": 44.06409529228022, + "calls_awaiting_capacity_matching": 0 + }, + { + "pass": 1, + "accepted_calls": 71, + "touched_group_idle_pressure": 24.92521223381306, + "decrease": 19.13888305846716 + }, + { + "pass": 2, + "accepted_calls": 58, + "touched_group_idle_pressure": 23.047886627886065, + "decrease": 1.8773256059269947 + } + ], + "roles": 35424, + "calls": 72, + "remainder_children": 3197, + "remainder_profile": { + "1": 83, + "2": 99, + "3": 197, + "4": 168, + "5": 6, + "6": 13, + "7": 16, + "8": 145, + "10": 4, + "11": 24, + "12": 19, + "13": 1, + "14": 3, + "15": 9, + "16": 107, + "18": 1, + "19": 10, + "20": 15, + "23": 2, + "24": 52, + "32": 1, + "44": 1, + "48": 2221 + }, + "global_profile": { + "1": 181177, + "2": 29335, + "3": 32309, + "4": 11692, + "5": 4052, + "6": 17, + "7": 16, + "8": 721, + "10": 4, + "11": 24, + "12": 19, + "13": 1, + "14": 3, + "15": 9, + "16": 107, + "18": 1, + "19": 10, + "20": 15, + "23": 2, + "24": 52, + "32": 1, + "44": 1, + "48": 2221 + }, + "rank_mass": 520704, + "deficit": 2560, + "maxchild": 48, + "source_floating_screen_b": 0.001638923175694355, + "candidate_floating_screen_b": 0.0016446065186552388, + "remaining_admission": "Bind freshly verified provider artifacts and their hashes; regenerate the global template, actual 73-column sigmas and remainder axes with the existing emitter; run independent owner/frame audit, finite invoice, and exact moment/outer assembly.", + "provenance_note": "Absolute discovery paths and wall time removed; original artifact hashes and all exact combinatorial fields preserved." +} diff --git a/research/gauge44-leaver8/hosting/frozen/SEED-REPRODUCTION.json b/research/gauge44-leaver8/hosting/frozen/SEED-REPRODUCTION.json new file mode 100644 index 0000000000..91ee98cf70 --- /dev/null +++ b/research/gauge44-leaver8/hosting/frozen/SEED-REPRODUCTION.json @@ -0,0 +1,29 @@ +{ + "status": "PASS_FROZEN_OWNER_AND_INTEGER_MAJORIZATION_REPLAY", + "seed_mode": "two_pass_hungarian_discovery_rebuilt", + "parent_plan_sha256": "258a8b9baa245fa4096828671e2f1d1462b5af08d56890629622ef6125eaddda", + "parent_owners_sha256": "935ff1a6823c6625daba3349b28d74acf9a3d70a5947ae155aa66c7821804add", + "owners_semantic_sha256": "c09faf298565c1388c02370fdd4e61dd542579fe1898e842d5096cc97b68191d", + "owners_gzip_sha256": "90ff7657a23dcfb67532b49c0800c5fc259b27c89005081e24bf184869e1bd57", + "majorization_semantic_sha256": "9ed3fdb41fb8dbc6542de7701c78bb8f3bb728604057daf82a537bde182ab9fc", + "global_profile": { + "1": 181093, + "2": 29164, + "3": 32429, + "4": 11520, + "5": 4032, + "7": 7, + "8": 582, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + }, + "scope": "Exact hosting nomination and callwise fixed-point replay; full supplier admission is separate." +} diff --git a/research/gauge44-leaver8/hosting/reproduce.py b/research/gauge44-leaver8/hosting/reproduce.py new file mode 100644 index 0000000000..2f29a5ff13 --- /dev/null +++ b/research/gauge44-leaver8/hosting/reproduce.py @@ -0,0 +1,100 @@ +"""Reproduce the frozen all-cold44 owner nomination from explicit inputs. + +By default, replay the exact integer optimizer from the included frozen seed. +--rebuild-seed additionally repeats the original two floating-cost Hungarian +discovery passes; that optional route requires NumPy and SciPy. +""" +from pathlib import Path +from collections import Counter +import argparse +import copy +import json +import shutil +import subprocess +import sys + +from audit_frozen import HERE, add_inputs, bound_inputs, semantic_sha +from reuse_owners import audit_roles, read, sha + + +def run(name, *args): + subprocess.run([sys.executable, str(HERE/name), *map(str, args)], check=True) + + +def seed_plan(parent, seed_owners, new_signature): + """Build a signature-only resizer input; never an admitted provider PLAN.""" + plan = copy.deepcopy(parent) + plan['provider_registry']['jp8']['widths'] = new_signature['widths'] + plan['provider_registry']['jp8']['actual_paid_profile'] = new_signature['profile'] + call_widths = { + (c['stage'], c['replica']): plan['provider_registry'][c['provider']]['widths'] + for c in plan['provider_calls'] + } + used, families = audit_roles(seed_owners, plan, call_widths, 112, 492) + profile = Counter() + for c in plan['provider_calls']: + profile.update({int(r): n for r, n in plan['provider_registry'][c['provider']]['actual_paid_profile'].items()}) + for key, (cap, times) in plan['windows'].items(): + rep, child = map(int, key.split(',')) + for port in range(112): + left = cap-len(used[rep, child, port]) + if left: + profile[left] += 1 + assert 73*7168-sum(r*n for r, n in profile.items()) == 2560 + plan['profile'] = dict(sorted(profile.items())) + plan['per_call_widths'] = [ + {'stage': s, 'replica': r, 'widths': call_widths[s, r]} + for s, r in plan['order'] + ] + plan['status'] = 'INTERMEDIATE_SIGNATURE_ONLY_OWNER_SEED_NOT_PROVIDER_ADMISSION' + return plan + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + add_inputs(parser) + parser.add_argument('--rebuild-seed', action='store_true') + parser.add_argument('--out', type=Path, required=True, help='New output directory') + args = parser.parse_args() + manifest = read(HERE/'frozen/MANIFEST.json') + parent, sig, provider = bound_inputs(args, manifest) + args.out.mkdir(parents=True, exist_ok=False) + seed_dir = args.out/'seed' + if args.rebuild_seed: + run('reuse_owners.py', '--plan', args.parent_plan, '--owners', args.parent_owners, + '--signature', f'jp8={provider}', '--passes', '2', '--price-b', '0.001638923', '--out', seed_dir) + else: + seed_dir.mkdir() + shutil.copyfile(HERE/'frozen/SEED-OWNERS.json.gz', seed_dir/'OWNERS.json.gz') + assert semantic_sha(seed_dir/'OWNERS.json.gz') == manifest['artifacts']['SEED-OWNERS.json.gz']['semantic_sha256'], ( + 'Seed differs; use the default frozen-seed replay, or the recorded NumPy/SciPy versions for discovery replay.' + ) + plan = seed_plan(parent, read(seed_dir/'OWNERS.json.gz'), sig) + plan_path = seed_dir/'PLAN-FOR-RESIZER.json' + plan_path.write_text(json.dumps(plan, indent=2)+'\n') + final_dir = args.out/'all72' + run('expand_owners.py', '--plan', plan_path, '--owners', seed_dir/'OWNERS.json.gz', + '--signature', f'jp8={provider}', '--signature', f'ck={provider}', + '--max-passes', '8', '--out', final_dir) + for name in ('OWNERS.json.gz', 'MAJORIZATION.json.gz'): + assert semantic_sha(final_dir/name) == manifest['artifacts'][name]['semantic_sha256'], (name, 'Frozen semantic digest mismatch') + kwargs = ('--local44', args.local44) if args.local44 is not None else ('--raw-word', args.raw_word) + run('audit_frozen.py', '--parent-plan', args.parent_plan, '--parent-owners', args.parent_owners, + *kwargs, '--owners', final_dir/'OWNERS.json.gz', '--majorization', final_dir/'MAJORIZATION.json.gz', + '--out', args.out/'FROZEN-AUDIT.json') + receipt = { + 'status': 'PASS_FROZEN_OWNER_AND_INTEGER_MAJORIZATION_REPLAY', + 'seed_mode': 'two_pass_hungarian_discovery_rebuilt' if args.rebuild_seed else 'included_frozen_seed', + 'parent_plan_sha256': sha(args.parent_plan), 'parent_owners_sha256': sha(args.parent_owners), + 'owners_semantic_sha256': semantic_sha(final_dir/'OWNERS.json.gz'), + 'owners_gzip_sha256': sha(final_dir/'OWNERS.json.gz'), + 'majorization_semantic_sha256': semantic_sha(final_dir/'MAJORIZATION.json.gz'), + 'global_profile': read(final_dir/'PROFILE.json'), + 'scope': 'Exact hosting nomination and callwise fixed-point replay; full supplier admission is separate.', + } + (args.out/'REPRODUCTION.json').write_text(json.dumps(receipt, indent=2)+'\n') + print(json.dumps(receipt, indent=2)) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-leaver8/hosting/reuse_owners.py b/research/gauge44-leaver8/hosting/reuse_owners.py new file mode 100644 index 0000000000..234b831790 --- /dev/null +++ b/research/gauge44-leaver8/hosting/reuse_owners.py @@ -0,0 +1,230 @@ +"""Deterministic existing-family owner reuse and optional callwise matching. + +The output is a nomination, requiring the ordinary independent owner, phase, +finite-invoice, and exact-moment admission. No MILP or new owner family is used. +""" +from collections import Counter, defaultdict +from pathlib import Path +import argparse +import copy +import gzip +import hashlib +import json +import math +import time + + +def read(path): + raw=Path(path).read_bytes() + return json.loads(gzip.decompress(raw) if str(path).endswith('.gz') else raw) + + +def packed(obj):return json.dumps(obj,sort_keys=True,separators=(',',':')).encode() +def sha(path):return hashlib.sha256(Path(path).read_bytes()).hexdigest() + + +def signature(path): + path=Path(path) + if path.is_dir(): + w=read(path/'CANONICAL-WORD.json.gz');V,R=w['v'],w['R'] + widths=[len(w['frames'][w['final'][2*V+h]])-len(w['frames'][w['start'][2*V+h]]) for h in range(R)] + programs=read(path/'LOCAL-PROGRAMS.json.gz') + profiles=[Counter(e[-1] for e in programs[o] if e[0] in ('climb','center')) for o in ('forward','backward')] + assert profiles[0]==profiles[1] + assert profiles[0]=={int(r):n for r,n in w['local_profile'].items()} + return {'widths':widths,'profile':dict(profiles[0]),'source':str(path), + 'canonical_sha256':sha(path/'CANONICAL-WORD.json.gz'), + 'program_sha256':sha(path/'LOCAL-PROGRAMS.json.gz')} + w=read(path) + if 'report' in w: + V,R=w['report']['v'],w['report']['R'] + widths=[len(w.get('helper_final',{}).get(str(2*V+h),range(9)))-len(w.get('start_extra',{}).get(str(2*V+h),[])) for h in range(R)] + profile={int(r):n for r,n in w['report']['local_profile'].items()} + else: + widths=w['widths'];profile={int(r):n for r,n in w['profile'].items()} + return {'widths':widths,'profile':profile,'source':str(path),'source_sha256':sha(path)} + + +def phi(rank,b,M):return rank*math.expm1(b*math.log(M/rank)) if rank else 0. + + +def rate(profile,deficit,M): + lo,hi=0.,.02 + for _ in range(58): + mid=(lo+hi)/2 + if sum(n*phi(r,mid,M) for r,n in profile.items())oldroles[i]['width']] + if failures: + # Keep this call's old widths provisionally; shrunk calls leave + # slack on their original owner families. A subsequent exact + # bipartite matching may use that slack for this call. + pending.append(call) + for i in ids:assigned_h[i]=oldroles[i]['helper'];assigned_w[i]=oldroles[i]['width'] + else: + for h,i in zip(helpers,slots):assigned_h[i]=h;assigned_w[i]=newwidths[call][h] + dominance[str(call)]={'old_total':sum(oldwidths[call]),'new_total':sum(newwidths[call]),'sorted_termwise_dominance':not failures,'failed_positions':failures} + used={g:sum(assigned_w[i] for i in ids) for g,ids in groups.items()} + assert all(used[g]<=cap[g] for g in groups) + cost_cache=[phi(r,a.price_b,M) for r in range(49)] + def current_cost():return sum(cost_cache[cap[g]-used[g]] for g in groups) + passes=[{'pass':'sorted','touched_group_idle_pressure':current_cost(),'calls_awaiting_capacity_matching':len(pending)}] + + if a.passes or pending: + import numpy as np + from scipy.optimize import linear_sum_assignment + def match_call(call,force=False): + ids=sorted(bycall[call],key=lambda i:oldroles[i]['helper']) + gs=[group_of[i] for i in ids] + assert len(set(gs))==R, 'one owner family per complete call is essential' + available=np.array([cap[g]-used[g]+assigned_w[i] for i,g in zip(ids,gs)],dtype=np.int64) + ws=np.array(newwidths[call],dtype=np.int64) + left=available[None,:]-ws[:,None] + matrix=np.full((R,R),np.inf) + valid=left>=0 + matrix[valid]=np.asarray(cost_cache)[left[valid]] + ri,ci=linear_sum_assignment(matrix) + assert len(ri)==R and np.all(np.isfinite(matrix[ri,ci])) + oldcost=sum(cost_cache[cap[g]-used[g]] for g in gs) + newcost=float(matrix[ri,ci].sum()) + if not force: + assert newcost<=oldcost+1e-10 + if oldcost-newcost<=1e-10:return False + for h,col in zip(ri,ci): + i=ids[int(col)];g=group_of[i];h=int(h);ww=int(ws[h]) + used[g]+=ww-assigned_w[i];assigned_w[i]=ww;assigned_h[i]=h + assert used[g]<=cap[g] + return True + for call in pending: + match_call(call,force=True) + dominance[str(call)]['capacity_matching_feasible']=True + if pending:passes.append({'pass':'capacity_bootstrap','touched_group_idle_pressure':current_cost(),'resolved_calls':[list(c) for c in pending]}) + for p in range(a.passes): + accepted=0;startcost=current_cost() + order=[tuple(k) for k in plan['order']] + if p%2:order.reverse() + for call in order: + accepted+=match_call(call) + finalcost=current_cost();assert finalcost<=startcost+1e-9 + passes.append({'pass':p+1,'accepted_calls':accepted,'touched_group_idle_pressure':finalcost,'decrease':startcost-finalcost}) + + # The inherited compiler requires each used coordinate set to be a + # prefix. Stable left compaction preserves every immutable owner field. + roles=copy.deepcopy(oldroles);matching=[] + for g,ids in groups.items(): + off=0 + for i in sorted(ids,key=lambda i:(oldroles[i]['offset'],oldroles[i]['time'],oldroles[i]['helper'])): + z=roles[i];z['helper']=assigned_h[i];z['width']=assigned_w[i];z['offset']=off;off+=z['width'] + matching.append({'stage':z['stage'],'replica':z['replica'],'old_helper':oldroles[i]['helper'], + 'new_helper':z['helper'],'old_width':oldroles[i]['width'],'new_width':z['width'], + 'family':z['family'],'child':z['child'],'old_offset':oldroles[i]['offset'],'new_offset':z['offset']}) + assert off==used[g]<=cap[g] + roles.sort(key=lambda z:(z['time'],z['helper'])) + newused,newfamilies=audit_roles(roles,plan,newwidths,V,R) + assert newfamilies==oldfamilies + paid=Counter();remainders=[] + for c in plan['provider_calls']:paid.update(signatures[c['provider']]['profile']) + idle=Counter() + for key,(capacity,window) in plan['windows'].items(): + rep,ch=map(int,key.split(',')) + for port in range(V): + occupied=len(newused[rep,ch,port]);left=capacity-occupied + if left: + family=rep*(8*V)+(2*plan['pairs'][str(ch)]+plan['sides'][str(ch)])*V+port + remainders.append({'child':ch,'port':port,'replica':rep,'replicas':1,'family':family, + 'rank':left,'hosted':occupied,'pending_offset':occupied}) + idle[left]+=1 + paid.update(idle);mass=sum(r*n for r,n in paid.items()) + assert M*plan['live']-mass==plan['deficit']==2560 + assert M*M>2*max(paid)**2 + oldprofile={int(r):n for r,n in plan['profile'].items()} + ownerraw=packed(roles);gz=bytearray(gzip.compress(ownerraw,mtime=0));gz[9]=255 + (a.out/'OWNERS.json.gz').write_bytes(bytes(gz)) + (a.out/'MATCHING.json.gz').write_bytes(gzip.compress(packed(matching),mtime=0)) + (a.out/'REMAINDERS.json').write_text(json.dumps(remainders,indent=2)+'\n') + profile=dict(sorted(paid.items())) + (a.out/'PROFILE.json').write_text(json.dumps(profile,indent=2)+'\n') + owner_fields={'profile':profile, + 'per_call_widths':[{'stage':s,'replica':r,'widths':newwidths[s,r]} for s,r in plan['order']], + 'assignment_sha256':hashlib.sha256(ownerraw).hexdigest(), + 'assignment_sha256_semantics':'SHA256 of sorted-key compact uncompressed OWNERS array', + 'source_owners_sha256':sha(a.owners), + 'provider_signatures':signatures} + (a.out/'PLAN-OWNER-FIELDS.json').write_text(json.dumps(owner_fields,indent=2)+'\n') + rec={'status':'PASS_OWNER_REUSE_NOMINATION_COMBINATORICS_NOT_FULL_SUPPLIER_ADMISSION', + 'source_plan':str(a.plan),'source_plan_sha256':sha(a.plan),'source_owners_sha256':sha(a.owners), + 'owners_sha256':sha(a.out/'OWNERS.json.gz'),'unchanged_owner_family_sets':True, + 'unchanged_call_order_and_windows':True,'all_footprints_are_disjoint_compacted_prefixes':True, + 'local_signatures':signatures,'sorted_initial_dominance':dominance,'matching_passes':passes, + 'roles':len(roles),'calls':len(calls),'remainder_children':len(remainders),'remainder_profile':dict(sorted(idle.items())), + 'global_profile':profile,'rank_mass':mass,'deficit':2560,'maxchild':max(paid), + 'source_floating_screen_b':rate(oldprofile,2560,M), + 'candidate_floating_screen_b':rate(profile,2560,M), + 'seconds':time.monotonic()-beg, + 'remaining_admission':'Bind freshly verified provider artifacts and their hashes; regenerate the global template, actual 73-column sigmas and remainder axes with the existing emitter; run independent owner/frame audit, finite invoice, and exact moment/outer assembly.'} + (a.out/'OWNER-REUSE.json').write_text(json.dumps(rec,indent=2)+'\n') + print(json.dumps({k:rec[k] for k in ('status','roles','matching_passes','remainder_profile','rank_mass','source_floating_screen_b','candidate_floating_screen_b','seconds')},indent=2),flush=True) + + +if __name__=='__main__':main() diff --git a/research/gauge44-leaver8/independent/CENTRE-GUARD-REVIEW.md b/research/gauge44-leaver8/independent/CENTRE-GUARD-REVIEW.md new file mode 100644 index 0000000000..6c62bd070e --- /dev/null +++ b/research/gauge44-leaver8/independent/CENTRE-GUARD-REVIEW.md @@ -0,0 +1,79 @@ +# Independent review of the centre and admission interfaces + +**Finding:** the replacement of old local centre-carrier IDs by equality of the +eight ordered centre-frame bases preserves the inherited global contract. It +must be used together with the complete local scalar, frame, phase and wrapper +admission. No mathematical admission guard was found to have been removed. + +## Why source carriers may supply centres + +The transported gauge44 centre carriers are +`[92, 57, 81, 224, 11, 240, 9, 256]`. Five are source registers and three are +helper registers. All 112 transported port labels and all eight ordered +rank-eight centre-frame bases agree exactly with the retained parent. The +optional `--main` check in `audit_local.py` independently verifies that boundary +against a byte-pinned parent canonical word. + +The actual forward local program copies the current row of `L_r` into private +`C_k` at their common frame `F_k`. It then descends `C_k` from `F_k` to frame +zero, scatters to the targets, and clears `C_k`. The backward program performs +the corresponding reversed ascent and scatter. This construction depends on +the copied row, its frame and the exact local program, rather than on a +requirement that `r` be in the helper-ID interval. The source itself is not +cleared or treated as private work. + +The independently checked local contract retains every required obligation: +all 716 input columns in both orientations; the forward and backward shear +identities; arbitrary initial helper dirt; scalar/COPY common-frame legality; +centre lifetimes and nested steps; exact native phase identities; endpoint +and row/column cone conditions; and residual wrappers before and after every +relevant touch. Its finite invoice recounts the actual operations. + +The global controller addresses private centres by `k`, while the source or +helper `L_r` is mapped through the complete invocation's ordinary owner array. +The owner audit retains pairwise distinct owners for all active source, target +and helper roles. A helper therefore cannot borrow the family of an active +source centre. The private-centre namespace is disjoint from those owners and +the local program clears it. Each whole invocation finishes before another +begins, so no new interleaving or family lifetime assumption is introduced. + +## Admission guards and single-provider controls + +An AST comparison with PR635 found all **91 assertions in `code/assemble.py` +identical, in the same traversal order**, including constants. This includes +the unchanged PR543 bit input, deficit and surcharge, every finite-invoice +guard, both conservative and native complex moment checks, and the strict +outer assembly and its controls. The following files retain the reviewed PR635 code (the packaged +`bind_providers_portable.py` only trims trailing whitespace): `invoice_allcold.py` (67 assertions), +`bind_providers_portable.py` (22), `generated_identity.py` (4), and `witness.py` +(3). `review_guards.py` reproduces the assertion comparison and records the +file hashes. + +The controller still checks the complete serialized provider registry, +per-call program and dispatch, native phase and wrapper bindings, helper +widths, owner uniqueness, actual busy-family windows, spectator orthogonality, +and literal idle remainders. The single-provider branch replaces partner +substitutions by direct invalid-ID, program, width and hash mutations. Only +four assembly mutation scenarios requiring a second registered provider are +inapplicable. Their removal does not remove any admission predicate. Direct +forged program/phase tests, width-order and width-inventory tests, and +selected-call/order tests remain. + +## Price and bit headroom + +The frozen all72 profile gives the native complex root bracket +`(0.001652208994368411824947, 0.001652208994368411824948)` and +`kappa = 0.001649483702558979`. Both independent rational engines certify the +two signs. The seven-step outer driver passes all 47 strict constraints and +rejects its four standard mutations. The conservative complex price passes +separately at `kappa = 0.001649483699681650`. + +The achieved complex rate is below PR543's retained bit rate +`0.001653826988146798944268`. Using eumemic's independently reviewed PR555 bit +rate `0.001733052823330162099157` gives exactly the same attained kappa. PR543 +therefore remains the cited supplier for this delta; no bit improvement is +claimed here and no PR555 implementation is bundled. + +These receipts supplement the package's complete native, owner, phase and +finite-invoice replay. The inherited all-size realization and analytic +transfer assumptions remain conditional. diff --git a/research/gauge44-leaver8/independent/GAUGE-COLD44-INDEPENDENT-AUDIT.json b/research/gauge44-leaver8/independent/GAUGE-COLD44-INDEPENDENT-AUDIT.json new file mode 100644 index 0000000000..771faa86a7 --- /dev/null +++ b/research/gauge44-leaver8/independent/GAUGE-COLD44-INDEPENDENT-AUDIT.json @@ -0,0 +1,137 @@ +{ + "status": "PASS_INDEPENDENT_EXACT_FORWARD_AND_DUAL_ENDPOINT_FRAMES_ENTRANCES_CONES", + "input_file": "FULL-WORD.json.gz", + "content_sha256": "78c7aadacb6eec2eeecc124ca236e5bcfdba6a52b30c2971aaa596d1d119b290", + "compressed_sha256": "3ef4e74e81e2f4621fc95272918ac7b8bb8858df0baa16cc6d91424d55aead9e", + "parent_center_interface": { + "parent_path": "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/CANONICAL-WORD.json.gz", + "parent_file_sha256": "66d3c3c70983224650643a0a05a21ac6c6959f84d0f4528650601016f5a76844", + "transport_tau": 43, + "ordered_frame_bases_match": true, + "all_ports_match": true, + "transported_centers": [ + 92, + 57, + 81, + 224, + 11, + 240, + 9, + 256 + ], + "source_centers": [ + 92, + 57, + 81, + 11, + 9 + ], + "ordered_frame_bases": [ + [ + 256, + 128, + 64, + 34, + 16, + 10, + 4, + 1 + ], + [ + 256, + 128, + 64, + 32, + 16, + 8, + 5, + 3 + ], + [ + 256, + 128, + 64, + 32, + 17, + 9, + 4, + 2 + ], + [ + 256, + 128, + 64, + 36, + 20, + 8, + 2, + 1 + ], + [ + 256, + 128, + 66, + 32, + 18, + 8, + 4, + 1 + ], + [ + 256, + 128, + 65, + 33, + 17, + 9, + 5, + 3 + ], + [ + 256, + 128, + 65, + 33, + 16, + 8, + 4, + 2 + ], + [ + 256, + 128, + 68, + 32, + 16, + 12, + 2, + 1 + ] + ] + }, + "v": 112, + "h": 9, + "R": 492, + "entering": 204, + "lowends": 78, + "coldends": 44, + "compensation_gates": 7348, + "local_profile": { + "1": 2514, + "2": 404, + "3": 448, + "4": 160, + "5": 56, + "8": 8 + }, + "width_inventory": { + "4": 52, + "5": 48, + "7": 34, + "8": 114, + "9": 244 + }, + "checked_columns": 716, + "elapsed_seconds": 3.147683588000291, + "scope": "Exact rational full scalar map in both orientations; all literal native frame chains, center levels, dyadic units, entrance-zero response, wrapper exclusion and final helper row/column cones. No global owner admission or exponent repricing." +} diff --git a/research/gauge44-leaver8/independent/GAUGE44-GLOBAL-GUARD-REVIEW.json b/research/gauge44-leaver8/independent/GAUGE44-GLOBAL-GUARD-REVIEW.json new file mode 100644 index 0000000000..e2df1dcca8 --- /dev/null +++ b/research/gauge44-leaver8/independent/GAUGE44-GLOBAL-GUARD-REVIEW.json @@ -0,0 +1,47 @@ +{ + "status": "PASS_PR635_ADMISSION_ASSERTION_PRESERVATION", + "files": [ + { + "file": "code/assemble.py", + "baseline_sha256": "1b1a9024ac910dc9b9d9e30150684e1fa9cb228a4c1c275b75ab04b57fdef1dd", + "new_sha256": "7ac28118d69416e4fb67b61216285fb0823310b7635ce1b9025aa3f10119ef6a", + "byte_identical": false, + "assert_count": 91, + "all_assertions_identical_in_order": true + }, + { + "file": "code/invoice_allcold.py", + "baseline_sha256": "141bd2fd58bbfb5b8d0fc8f56f61c45586d5608a5af3487c6b883dd987f998ec", + "new_sha256": "141bd2fd58bbfb5b8d0fc8f56f61c45586d5608a5af3487c6b883dd987f998ec", + "byte_identical": true, + "assert_count": 67, + "all_assertions_identical_in_order": true + }, + { + "file": "code/bind_providers_portable.py", + "baseline_sha256": "2eb5c262bf481b3bec9ceaec654fa46ff6fc3a89b13d4906a29a55a89e35feea", + "new_sha256": "2eb5c262bf481b3bec9ceaec654fa46ff6fc3a89b13d4906a29a55a89e35feea", + "byte_identical": true, + "assert_count": 22, + "all_assertions_identical_in_order": true + }, + { + "file": "code/generated_identity.py", + "baseline_sha256": "c8af22719c0f3097a991a3f6ccac8f090afd2faba554745733d9ea88f2c25708", + "new_sha256": "c8af22719c0f3097a991a3f6ccac8f090afd2faba554745733d9ea88f2c25708", + "byte_identical": true, + "assert_count": 4, + "all_assertions_identical_in_order": true + }, + { + "file": "code/witness.py", + "baseline_sha256": "00789c911a8f32cfe9d52207c7aa78305dc3fce4a8b6305ba402b7e74117103d", + "new_sha256": "00789c911a8f32cfe9d52207c7aa78305dc3fce4a8b6305ba402b7e74117103d", + "byte_identical": true, + "assert_count": 3, + "all_assertions_identical_in_order": true + } + ], + "centre_interface_review": "CENTRE-GUARD-REVIEW.md", + "scope": "Exact syntax preservation for all admission assertions in these five files. The changed emitter/controller centre boundary and single-provider controls require the separate semantic review; assertion counts alone do not prove them." +} diff --git a/research/gauge44-leaver8/independent/GAUGE44-INDEPENDENT-PRICE.json b/research/gauge44-leaver8/independent/GAUGE44-INDEPENDENT-PRICE.json new file mode 100644 index 0000000000..7aa86180dd --- /dev/null +++ b/research/gauge44-leaver8/independent/GAUGE44-INDEPENDENT-PRICE.json @@ -0,0 +1,156 @@ +{ + "status": "PASS_FROZEN_PROFILE_TWO_EXACT_ENGINE_AND_OUTER47_CROSSCHECK", + "profile_input_file": "PLAN.json", + "profile_input_sha256": "7b3122026e82b9d9e964d2a50c7bffdc976ae3dfea64bb98b2fdad5cfbdbaa20", + "global_profile": { + "1": 174763, + "2": 30105, + "3": 30275, + "4": 12240, + "5": 4896, + "7": 54, + "8": 576, + "16": 23, + "48": 2419 + }, + "live": 7168, + "m": 73, + "rank_mass": 520704, + "deficit": 2560, + "prices": { + "native": { + "root": { + "lower": "0.001674185476674086429846", + "upper": "0.001674185476674086429847", + "lower_endpoint_residual_upper": "-9.258737006004892346173061244464039982798397391664878463422077941068021E-25", + "upper_endpoint_residual_lower": "2.005290772036567694936493754533147163786510359586083088453102073919377E-24", + "strict_rational_signs": true + }, + "exact_moments": [ + { + "endpoint": "837092738337043214923/500000000000000000000000", + "accept": true, + "mercator_residual": [ + "-24961505588706589063536270371864708160498115/26959946667150639794667015087019630673637144422540572481103610249216", + "-24961505588706589063536270371864708160498113/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "base_two_residual": [ + "-462937/500000000000000000000000000000", + "-925873/1000000000000000000000000000000" + ] + }, + { + "endpoint": "1674185476674086429847/1000000000000000000000000", + "accept": false, + "mercator_residual": [ + "54062532266235196619370246291034158858524675/26959946667150639794667015087019630673637144422540572481103610249216", + "54062532266235196619370246291034158858524677/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "base_two_residual": [ + "200529/100000000000000000000000000000", + "2005291/1000000000000000000000000000000" + ] + } + ], + "outer_with_bit": { + "complex_b": "837092738337043214923/500000000000000000000000", + "bit_c": "1733427039589844234749/1000000000000000000000000", + "kappa": "835693632195073/500000000000000000", + "kappa_decimal": "0.001671387264390146", + "binding": "complex", + "strict_constraints_passed": 47, + "controls_rejected": [ + "next_grid", + "zero_eta", + "zero_beta", + "unit_beta" + ] + } + }, + "conservative": { + "root": { + "lower": "0.001674185473814575474867", + "upper": "0.001674185473814575474868", + "lower_endpoint_residual_upper": "-4.932703074050864500363221905991238131757959051186123070698964701314504E-25", + "upper_endpoint_residual_lower": "2.437894165237372647986425295760776771093048289170590753978317997095726E-24", + "strict_rational_signs": true + }, + "exact_moments": [ + { + "endpoint": "1674185473814575474867/1000000000000000000000000", + "accept": true, + "mercator_residual": [ + "-6649270590065065997663222052892326679295837/13479973333575319897333507543509815336818572211270286240551805124608", + "-1662317647516266499415805513223081669823959/3369993333393829974333376885877453834204643052817571560137951281152" + ], + "base_two_residual": [ + "-246635539906040992121/500000000000000000000000000000000000000000000", + "-2466350399060409921139/5000000000000000000000000000000000000000000000" + ] + }, + { + "endpoint": "418546368453643868717/250000000000000000000000", + "accept": false, + "mercator_residual": [ + "65725496674957295861389862879254608557678601/26959946667150639794667015087019630673637144422540572481103610249216", + "65725496674957295861389862879254608557678603/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "base_two_residual": [ + "12189469601119396732213/5000000000000000000000000000000000000000000000", + "24378949202238793464567/10000000000000000000000000000000000000000000000" + ] + } + ], + "outer_with_bit": { + "complex_b": "1674185473814575474867/1000000000000000000000000", + "bit_c": "1733427039589844234749/1000000000000000000000000", + "kappa": "835693630770093/500000000000000000", + "kappa_decimal": "0.001671387261540186", + "binding": "complex", + "strict_constraints_passed": 47, + "controls_rejected": [ + "next_grid", + "zero_eta", + "zero_beta", + "unit_beta" + ] + } + } + }, + "bit_supplier_pr": 589, + "bit_deficit": 10272, + "bit_moments_with_surcharge": [ + { + "endpoint": "1733427039589844234749/1000000000000000000000000", + "accept": true, + "mercator_residual": [ + "-43100600330766044577088869872467188970742291/26959946667150639794667015087019630673637144422540572481103610249216", + "-43100600330766044577088869872467188970742289/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "base_two_residual": [ + "-799345163337715793503/500000000000000000000000000000000000000000000", + "-3197378653350863173989/2000000000000000000000000000000000000000000000" + ] + }, + { + "endpoint": "6933708158359376939/4000000000000000000000", + "accept": false, + "mercator_residual": [ + "22502934905675809315035333485365686073718547/13479973333575319897333507543509815336818572211270286240551805124608", + "5625733726418952328758833371341421518429637/3369993333393829974333376885877453834204643052817571560137951281152" + ], + "base_two_residual": [ + "8346798366759439729359/5000000000000000000000000000000000000000000000", + "16693606733518879458833/10000000000000000000000000000000000000000000000" + ] + } + ], + "gain_over_pr635_percent": "2.14795693544613460937516788041147829054201996498013663108098185775358537919", + "input_sha256": { + "research/complex-k492-owner-repair/vendor/multicold/engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "research/complex-k492-owner-repair/vendor/multicold/engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "research/complex-k492-owner-repair/vendor/multicold/engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "package:inputs/PR589-EXPECTED.json": "b9f0e5ca038abe837b0007c8fe006f366a6f02009244ac57705a8a200e2301f4" + }, + "scope": "Independent arithmetic for the exact nominated all72 profile. Complete local, controller and finite invoice admission are separately replayed by the package driver; this receipt does not replace them. The cited PR589 bit supplier is unchanged and its exceptional-residue surcharge is retained. Any alternative c is only a headroom comparison." +} diff --git a/research/gauge44-leaver8/independent/README.md b/research/gauge44-leaver8/independent/README.md new file mode 100644 index 0000000000..f97dcf81b1 --- /dev/null +++ b/research/gauge44-leaver8/independent/README.md @@ -0,0 +1,43 @@ +# Independent checks + +Prepared for icekylinx with OpenAI GPT-6 Astra assistance. Apache-2.0, under the +package license. The scalar/frame audit imports no generator or supplier +checker. Pricing uses the pinned inherited rational engines and the retained +PR635 outer formula, with their original notices preserved in the main +dependency tree. + +From the delta package directory, using the pinned checkouts and a rebuilt +word: + +```sh +python independent/audit_local.py \ + --word /path/to/rebuild/cold44/FULL-WORD.json.gz \ + --main /path/to/main \ + --output /path/to/output/LOCAL-AUDIT.json + +python independent/price_profile.py \ + --main /path/to/main \ + --output /path/to/output/PRICE.json + +python independent/review_guards.py \ + --pr635 /path/to/pr635 \ + --output /path/to/output/GUARD-REVIEW.json +``` + +`audit_local.py` can run without `--main`; including it also verifies the +transported centre-frame and port boundary against the pinned parent. Its +receipt authenticates the supplied word by its content SHA256, independent +of its location. `price_profile.py` defaults to the package's `data/PLAN.json`; +`--profile` accepts another explicit profile for arithmetic only. The bit side is the cited merged PR589 supplier +(`inputs/PR589-EXPECTED.json`, git blob `e293ddc5…`); its rank-mass deficit +`T(2Kv - L*cst) = 32*(8*111 - 9*63) = 10272` is re-derived independently of +`code/assemble.py`, and the outer receipt key is `outer_with_bit`. The retained +`GAUGE44-INDEPENDENT-PRICE.json` is #645/PR543 historical evidence unless regenerated. The optional +`--headroom-c 0.001733052823330162099157` reproduces the unchanged-kappa +comparison with the reviewed PR555 rate without importing a second supplier. + +The retained receipts are `GAUGE-COLD44-INDEPENDENT-AUDIT.json`, +`GAUGE44-INDEPENDENT-PRICE.json`, and `GAUGE44-GLOBAL-GUARD-REVIEW.json`. +[CENTRE-GUARD-REVIEW.md](CENTRE-GUARD-REVIEW.md) gives the semantic argument +behind the changed centre boundary and the single-provider control branch. +The main package driver performs the separate complete global admission. diff --git a/research/gauge44-leaver8/independent/audit_local.py b/research/gauge44-leaver8/independent/audit_local.py new file mode 100644 index 0000000000..4744d8783c --- /dev/null +++ b/research/gauge44-leaver8/independent/audit_local.py @@ -0,0 +1,171 @@ +"""Independent exact scalar/frame audit of the changed forward supplier. + +This does not import a generator, builder, stored compensation, or price. +All claimed endpoint matrices are derived from the input word's gates. +Optional --main checks the transported boundary against the pinned parent. +Prepared for icekylinx with OpenAI GPT-6 Astra assistance. Apache-2.0. +""" +import argparse,gzip,json,hashlib,time +from pathlib import Path +from fractions import Fraction as F +from collections import Counter + +def require(x,label): + if not x:raise RuntimeError(label) + +def basis(vs): + piv={} + for a in vs: + while a: + bit=a.bit_length()-1 + if bit in piv:a^=piv[bit] + else: + piv[bit]=a;break + for k in sorted(piv): + for j in piv: + if j>k and piv[j]>>k&1:piv[j]^=piv[k] + return tuple(piv[k] for k in sorted(piv,reverse=True)) + +def contained(a,b):return basis(a+b)==b + +def registers(e):return e[1:3] if e[0]=='add' else e[1:2] + +def apply(e,rows,dual=False): + if e[0]=='add': + t,s=e[1:3];q=F(e[3],e[4]);require(t!=s,'self add') + if dual:t,s,q=s,t,-q + dst=rows[t] + for k,x in list(rows[s].items()): + a=dst.get(k,F(0))+q*x + if a:dst[k]=a + else:dst.pop(k,None) + elif e[0]=='scale': + t=e[1];q=F(e[2],e[3]);require(q!=0,'zero scale') + if dual:q=1/q + rows[t]={k:q*x for k,x in rows[t].items()} + else:raise RuntimeError('unknown scalar primitive') + +def invert(e): + r=list(e) + if r[0]=='add':r[3]=-r[3] + else:r[2],r[3]=r[3],r[2] + return r + +def check_parent_interface(word,main): + # Read only the retained boundary data. No builder or local checker is imported. + relative="research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/CANONICAL-WORD.json.gz" + path=main/relative;raw=path.read_bytes() + require(hashlib.sha256(raw).hexdigest()=="66d3c3c70983224650643a0a05a21ac6c6959f84d0f4528650601016f5a76844",'parent canonical input pin') + parent=json.loads(gzip.decompress(raw)) + tau=lambda x:x^(43 if (x&43).bit_count()%2 else 0) + ports=parent['ports'];v=word['report']['v'] + require(len(ports)==len(set(ports))==v,'parent port count') + require(set(map(tau,word['ports']))==set(ports),'transported source/target ports') + moved={i:ports.index(tau(p)) for i,p in enumerate(word['ports'])} + centers=[moved.get(r,r) for r in word['centers']] + actual=[list(basis([tau(x) for x in frame])) for frame in word['center_frames']] + expected=[parent['frames'][f] for f in parent['center_frames']] + require(len(centers)==len(set(centers))==len(actual)==8,'eight distinct centre carriers') + require(actual==expected and all(len(f)==8 for f in actual),'ordered centre frame interface') + return dict(parent_path=relative,parent_file_sha256=hashlib.sha256(raw).hexdigest(), + transport_tau=43,ordered_frame_bases_match=True,all_ports_match=True, + transported_centers=centers,source_centers=[r for r in centers if r=2*v} + for e in w['precondition']:apply(e,dirt) + compensation=[['add',y,k,-a.numerator,a.denominator,[]] for y in range(v,2*v) for k,a in sorted(dirt[y].items())] + entering=set(map(int,w.get('start_extra',{})));lowends=set(map(int,w.get('helper_final',{}))) + coldends=lowends-entering + require(not any(e[2] in entering for e in compensation),'nonzero entrance response') + require(not any(r in entering|coldends for e in w['precondition']+compensation for r in registers(e)), 'pre-wrapper touch of residual helper') + require(all(e[-1]==[] for e in w['precondition']+compensation),'nonzero frame precondition') + early=w.get('early_cleanup',[]);earlyids={i for i,U in early} + require(len(earlyids)==len(early),'duplicate early cleanup gate') + tail=[w['cleanup'][i][:-1]+[U] for i,U in early] + cleanup=[e for i,e in enumerate(w['cleanup']) if i not in earlyids] + prefix=w['precondition']+compensation+main + program=prefix+tail+cleanup + for dual in (False,True): + actual=ident() + for e in program:apply(e,actual,dual) + expected=ident() + for t in range(v):expected[t if dual else v+t][v+t if dual else t]=F(-1 if dual else 1) + bad=[i for i in range(n) if actual[i]!=expected[i]] + require(not bad,'all-column endpoint failure '+str((dual,bad[:8]))) + print('endpoint', 'dual' if dual else 'forward','PASS',flush=True) + full=basis([1< 2*max(H)**2, 'halving guard') + rows = [] + for z, accept in [(lower, True), (lower+Q(1, 10**24), False)]: + l, u = M.moment(H, m, W, z, bad) + ll, uu = B.moment(m, W, list(H.items()), z) + if bad: + fl, fu = B.moment(m, W, [(1, 32*m*m*sum(H.values()))], z) + ll, uu = ll+fl/10**16, uu+fu/10**16 + require((u < 1 and uu < 1) if accept else (l > 1 and ll > 1), 'two exact moment signs') + rows.append(dict(endpoint=str(z), accept=accept, + mercator_residual=[str(l-1), str(u-1)], + base_two_residual=[str(ll-1), str(uu-1)])) + return rows + + +def outer47(c, b, engine): + eta = beta = Q(1, 10**24) + s = min(c, (1-beta)*b)-Q(1, 10**27) + require(0 < s < c and s < (1-beta)*b, 'strict common saving') + a = Q(384599, 10**10) + for _ in range(7): + old = a + a = (1-s)*s+s*old + gap = min(s-a, 1-a-s, 1-a-s*(1-old), 1-s) + require(old < a < s < 1-a and gap > 0, 'bootstrap gap') + ceil = lambda x: -(-x.numerator//x.denominator) + cut = max(ceil(36/gap**2), ceil(2*(4+512)/gap)) + require(cut*gap**2 >= 36 and cut*gap >= 2*(4+512), 'finite bootstrap cutoff') + q = a*(1-2*eta) + margin = (1-eta)*q/(1+q) + ticks = margin*10**18 + k = Q((ticks.numerator-1)//ticks.denominator, 10**18) + bridge = {'semantic': {'C0': {'base': 2, 'exponent': 210000}, 'strict_literal_gap': 1}, + 'rows': {'degree_gap': Q(10**6)-Q(51*20161, 25)}} + result = engine.assembly(a, b, bridge, k, eta=eta, beta=beta) + require(len(result['strict_constraints']) == 47, '47 outer constraints') + require(all(x > 0 for x in result['strict_constraints'].values()), 'strict outer constraints') + rejected = [] + for name, kk, ee, be in [('next_grid', k+Q(1, 10**18), eta, beta), + ('zero_eta', k, Q(0), beta), ('zero_beta', k, eta, Q(0)), + ('unit_beta', k, eta, Q(1))]: + try: + engine.assembly(a, b, bridge, kk, eta=ee, beta=be) + except AssertionError: + rejected.append(name) + else: + raise RuntimeError('accepted negative control: '+name) + return dict(complex_b=str(b), bit_c=str(c), kappa=str(k), kappa_decimal=decimal(k), + binding='bit' if c < (1-beta)*b else 'complex', + strict_constraints_passed=47, controls_rejected=rejected) + + +def main(): + require(__debug__, 'Do not use python -O: the retained outer engine requires assertions') + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--main', type=Path, required=True, help='Pinned main checkout') + parser.add_argument('--profile', type=Path, default=HERE.parent/'data/PLAN.json', + help='Raw profile or a JSON object containing profile/global_profile') + parser.add_argument('--output', type=Path, required=True) + parser.add_argument('--headroom-c', help='Optional alternative bit saving, for comparison only') + args = parser.parse_args() + inputs = json.loads((HERE.parent/'data/UPSTREAM-PINS.json').read_text()) + selected = [SOURCE/'engines'/(n+'.py') for n in ('moment', 'base_two_moment', 'outer')] + for relative in selected: + require(sha(args.main/relative) == inputs[relative.as_posix()], 'pinned input '+str(relative)) + M, B, A = [load(args.main/SOURCE/'engines', n) for n in ('moment', 'base_two_moment', 'outer')] + supplied = json.loads(args.profile.read_text()) + H = {int(r): n for r, n in supplied.get('profile', supplied.get('global_profile', supplied)).items()} + bit_data = BIT_PATH.read_bytes() + require(hashlib.sha1(b'blob '+str(len(bit_data)).encode()+b'\0'+bit_data).hexdigest() == BIT_BLOB, 'PR589 blob pin') + record = json.loads(bit_data) + bit = record['nine'] + require('nine-stage' in bit['pipeline'] and '32 replicas' in bit['pipeline'], 'nine-stage bit record') + bit_deficit = pr589_deficit(record['word'], bit['bit']['live']) + require(sum(int(r)*n for r, n in bit['profile'].items()) == bit['bit']['rank_mass'], 'bit rank mass') + c = Q(bit['bit_lower']) + bit_checks = moment_checks(M, B, {int(r): n for r, n in bit['profile'].items()}, + 64, bit['bit']['live'], c, bit_deficit, True) + prices = {} + for mode, bad in [('native', False), ('conservative', True)]: + root = M.certify(H, 73, 7168, bad) + root = {key: root[key] for key in ('lower', 'upper', 'lower_endpoint_residual_upper', + 'upper_endpoint_residual_lower', 'strict_rational_signs')} + b = Q(root['lower']) + row = dict(root=root, exact_moments=moment_checks(M, B, H, 73, 7168, b, 2560, bad), + outer_with_bit=outer47(c, b, A)) + if args.headroom_c: + alternate = outer47(Q(args.headroom_c), b, A) + require(alternate['kappa'] == row['outer_with_bit']['kappa'], 'headroom comparison changed kappa') + row.update(outer_with_alternative_bit_rate=alternate, same_kappa_with_either_bit_rate=True) + prices[mode] = row + native_k = Q(prices['native']['outer_with_bit']['kappa']) + result = dict(status='PASS_FROZEN_PROFILE_TWO_EXACT_ENGINE_AND_OUTER47_CROSSCHECK', + profile_input_file=args.profile.name, profile_input_sha256=sha(args.profile), + global_profile=H, live=7168, m=73, rank_mass=sum(r*n for r, n in H.items()), deficit=2560, + prices=prices, bit_supplier_pr=589, bit_deficit=bit_deficit, bit_moments_with_surcharge=bit_checks, + gain_over_pr635_percent=decimal(100*(native_k/Q('0.001636241501576388')-1)), + input_sha256={**{relative.as_posix(): sha(args.main/relative) for relative in selected}, 'package:inputs/PR589-EXPECTED.json': sha(BIT_PATH)}, + scope='Independent arithmetic for the exact nominated all72 profile. Complete local, controller and finite invoice admission are separately replayed by the package driver; this receipt does not replace them. The cited PR589 bit supplier is unchanged and its exceptional-residue surcharge is retained. Any alternative c is only a headroom comparison.') + args.output.write_text(json.dumps(result, indent=2)+'\n') + print(result['status'], prices['native']['outer_with_bit']['kappa_decimal'], result['gain_over_pr635_percent']) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-leaver8/independent/review_guards.py b/research/gauge44-leaver8/independent/review_guards.py new file mode 100644 index 0000000000..086dcf3d11 --- /dev/null +++ b/research/gauge44-leaver8/independent/review_guards.py @@ -0,0 +1,46 @@ +"""Reproduce the assertion-preservation part of the independent guard review. + +This compares complete assertion ASTs in their traversal order. It supplements +the semantic centre-interface argument in CENTRE-GUARD-REVIEW.md. +Prepared for icekylinx with OpenAI GPT-6 Astra assistance. Apache-2.0. +""" +import argparse +import ast +import hashlib +import json +from pathlib import Path + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--pr635', type=Path, required=True, help='Pinned PR635 checkout or supplier directory') + parser.add_argument('--delta', type=Path, default=Path(__file__).resolve().parents[1]) + parser.add_argument('--output', type=Path, required=True) + args = parser.parse_args() + old = args.pr635 + if not (old/'code/assemble.py').exists(): + old = old/'research/complex-571-cold14-st2' + names = ['assemble.py', 'invoice_allcold.py', 'bind_providers_portable.py', + 'generated_identity.py', 'witness.py'] + records = [] + for name in names: + a, b = (old/'code'/name).read_bytes(), (args.delta/'code'/name).read_bytes() + assertions = lambda data: [ast.dump(n, include_attributes=False) for n in ast.walk(ast.parse(data)) + if isinstance(n, ast.Assert)] + aa, bb = assertions(a), assertions(b) + if aa != bb: + raise RuntimeError('Assertion sequence changed: '+name) + records.append(dict(file='code/'+name, baseline_sha256=hashlib.sha256(a).hexdigest(), + new_sha256=hashlib.sha256(b).hexdigest(), byte_identical=a == b, + assert_count=len(aa), all_assertions_identical_in_order=True)) + if records[0]['assert_count'] != 91: + raise RuntimeError('The expected PR635 assembly has 91 assertions') + result = dict(status='PASS_PR635_ADMISSION_ASSERTION_PRESERVATION', files=records, + centre_interface_review='CENTRE-GUARD-REVIEW.md', + scope='Exact syntax preservation for all admission assertions in these five files. The changed emitter/controller centre boundary and single-provider controls require the separate semantic review; assertion counts alone do not prove them.') + args.output.write_text(json.dumps(result, indent=2)+'\n') + print(result['status'], [r['assert_count'] for r in records]) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-leaver8/inputs/PR589-EXPECTED.json b/research/gauge44-leaver8/inputs/PR589-EXPECTED.json new file mode 100644 index 0000000000..e293ddc557 --- /dev/null +++ b/research/gauge44-leaver8/inputs/PR589-EXPECTED.json @@ -0,0 +1,222 @@ +{ + "word": { + "file": "tune/bitE8mut-p111-tuned.json.gz", + "file_sha256": "e3e301e62bc2b41dbf1ceac0acf3d35824ebeab1848c5a2142d4577b109da52f", + "content_sha256": "5642fd0e35a1acc11acff8d0c08350c1617e95f310d4d35ad63a651f9eeeba0b", + "v": 111, + "R": 439, + "punctured": [ + 10, + 15, + 51, + 53, + 56, + 66, + 72, + 89, + 111 + ], + "retained_totals": 9, + "copy_ranks": [ + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7 + ], + "decoder_constant": 63, + "gates": { + "D": 111, + "A": 2075, + "B": 712, + "C": 2574 + }, + "local_histogram": { + "1": 1323, + "2": 1342, + "3": 79, + "4": 44, + "5": 102, + "6": 11, + "7": 19 + }, + "legality": { + "records": 27234, + "common_frame_ADDs": 24305, + "rank_mass": 5129 + }, + "five_stage_columns": 883, + "five_stage_payload_bits": 93, + "nine_stage_columns": 1327, + "nine_stage_payload_bits": 93, + "eleven_stage_columns": 1549, + "eleven_stage_payload_bits": 93, + "base_content_sha256": "d0df3c89ae84989f4045ba1681a5e2e9fcdfa38ed0301c8abf5185537155cbe3" + }, + "interface": { + "hypotheses": { + "H1_no_target_feeds_z": true, + "H2_D_frame0_targets_from_helpers": true, + "H3_A_z_only_scatter_targets_B_split": true, + "H4_C_literal_reverse_at_full": true, + "H5_V_identity": true + }, + "conclusion": { + "U_block_form": true, + "J_identity": true, + "K_equals_D": true, + "C_is_U_inverse": true + }, + "interleaving": { + "z_gates_A": 2075, + "source_writes_A": 0, + "z_gates_B": 499, + "source_writes_B": 483, + "helper_writes_B": 16, + "sources_rewritten_B": 108, + "B_z_write_frame_dims": { + "4": 388, + "6": 111 + }, + "B_z_operand_kinds": { + "helper<-helper": 3, + "helper<-source": 13, + "source<-helper": 108, + "source<-source": 375 + }, + "B_z_operand_kinds_by_dim": { + "dim4:helper<-source": 13, + "dim4:source<-source": 375, + "dim6:helper<-helper": 3, + "dim6:source<-helper": 108 + }, + "B_z_writes_after_a_target_read_of_the_same_register": 454, + "B_target_reads_of_registers_rewritten_earlier_in_B": 111, + "target_reads_of_targets": 0, + "cleanup_gates": 2574 + } + }, + "nine": { + "pipeline": "PR #510 (PR #463 nine-stage template, 32 replicas, PR #442 hosting, PR #493 outer assembly), parameterised for v <= 120 by code/adapt9p.py", + "bit_lower": "1733427039589844234749/1000000000000000000000000", + "bit_lower_decimal": "0.001733427039589844234749", + "profile": { + "1": 381024, + "2": 400416, + "3": 22752, + "4": 26880, + "5": 29376, + "6": 17376, + "7": 26784, + "42": 288 + }, + "bit": { + "live": 28416, + "physical": 28425, + "maxchild": 42, + "rank_mass": 1808352, + "hosted_residuals": 126432, + "bank_assignments": 0, + "prefix_bits": 177, + "charged_prefix_bits": 192, + "coefficient_bits": 177, + "two_level_coefficient_bits": 393, + "charged_two_level_coefficient_bits": 512, + "row_coefficient": 18355, + "halving_depth": 2 + }, + "kappa": { + "pr548": { + "kappa": "49718254847979/31250000000000000", + "kappa_decimal": "0.001590984155135328", + "complex_lower": "796759709641153381751/500000000000000000000000", + "binding_component": "complex" + }, + "pr544": { + "kappa": "397677800014309/250000000000000000", + "kappa_decimal": "0.001590711200057236", + "complex_lower": "31864911873350496687/20000000000000000000000", + "binding_component": "complex" + }, + "pr535": { + "kappa": "793733736881443/500000000000000000", + "kappa_decimal": "0.001587467473762886", + "complex_lower": "1589991533606044174031/1000000000000000000000000", + "binding_component": "complex" + }, + "pr531": { + "kappa": "1517760977820331/1000000000000000000", + "kappa_decimal": "0.001517760977820331", + "complex_lower": "304013615566499291631/200000000000000000000000", + "binding_component": "complex" + } + } + }, + "eleven": { + "pipeline": "PR #493 (PR #445 geometry, PR #472 emitter, audit and invoice, PR #442 hosting), parameterised by PR #545's code/adapt.py", + "bit_lower": "855475950388791987811/500000000000000000000000", + "bit_lower_decimal": "0.001710951900777583975622", + "profile": { + "1": 116424, + "2": 121648, + "3": 6952, + "4": 7424, + "5": 8976, + "6": 4520, + "7": 8776, + "56": 2600 + }, + "bit": { + "live": 8880, + "physical": 8889, + "maxchild": 56, + "rank_mass": 689304, + "hosted_residuals": 38632, + "prefix_bits": 4304, + "charged_prefix_bits": 4352, + "coefficient_bits": 4304, + "three_level_coefficient_bits": 12966, + "charged_three_level_coefficient_bits": 12992, + "row_coefficient": 19431, + "halving_depth": 3 + }, + "emitted_program_sha256": "793b6f40c9aa4b8db57fec0ac0973e16884dae28707e482ee8f7a2349a5d5a4b", + "kappa": { + "pr548": { + "kappa": "49718254847979/31250000000000000", + "kappa_decimal": "0.001590984155135328", + "complex_lower": "796759709641153381751/500000000000000000000000", + "binding_component": "complex" + }, + "pr544": { + "kappa": "397677800014309/250000000000000000", + "kappa_decimal": "0.001590711200057236", + "complex_lower": "31864911873350496687/20000000000000000000000", + "binding_component": "complex" + }, + "pr535": { + "kappa": "793733736881443/500000000000000000", + "kappa_decimal": "0.001587467473762886", + "complex_lower": "1589991533606044174031/1000000000000000000000000", + "binding_component": "complex" + }, + "pr531": { + "kappa": "1517760977820331/1000000000000000000", + "kappa_decimal": "0.001517760977820331", + "complex_lower": "304013615566499291631/200000000000000000000000", + "binding_component": "complex" + } + } + }, + "base": { + "nine_bit_lower": "1733052823330162099157/1000000000000000000000000", + "nine_bit_lower_decimal": "0.001733052823330162099157", + "eleven_bit_lower": "427652201524503168379/250000000000000000000000", + "eleven_bit_lower_decimal": "0.001710608806098012673516", + "note": "PR #555's EXPECTED.json (untuned word); the tune/ pipeline is the same, with the same frozen hosting selections" + } +} diff --git a/research/gauge44-leaver8/verify_global.py b/research/gauge44-leaver8/verify_global.py new file mode 100644 index 0000000000..7ab79e3062 --- /dev/null +++ b/research/gauge44-leaver8/verify_global.py @@ -0,0 +1,112 @@ +"""Replay the changed global admission against pinned upstream dependencies. + +The local directory must contain the fresh canonical/native/phase/wrapper +artifacts produced by construction/reproduce.py. Frozen evidence may be used +for a short admission-only replay. No optimizer runs during this verifier. +""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import subprocess +import sys +import time + +assert __debug__, 'Assertions required' +PACKAGE = Path(__file__).resolve().parent + + +def sha(path): + return hashlib.sha256(Path(path).read_bytes()).hexdigest() + + +def dump(path, value): + Path(path).write_text(json.dumps(value, indent=2) + '\n') + + +ap = argparse.ArgumentParser(description=__doc__) +ap.add_argument('--main', type=Path, required=True, help='Pinned CrocSwap main checkout') +ap.add_argument('--local', type=Path, required=True, help='Rebuilt or frozen native gauge44 directory') +ap.add_argument('--work', type=Path, required=True, help='New output directory') +ap.add_argument('--discover', action='store_true', help=argparse.SUPPRESS) +args = ap.parse_args() +main, local, work = args.main.resolve(), args.local.resolve(), args.work.resolve() +assert not work.exists(), 'Output directory must be new' +source = main/'research/complex-k492-owner-repair/vendor/multicold' +baseline = main/'research/community-k492-audit/pr622/replay/baseline558' +vendor = source/'vendor/pr558/vendor/pr552/complex-global/vendor531' +pins = PACKAGE/'data/UPSTREAM-PINS.json' +if pins.exists(): + for rel, expected in json.loads(pins.read_text()).items(): + assert sha(main/rel) == expected, 'Upstream dependency changed: ' + rel +else: + assert args.discover, 'Missing upstream pins' + paths = list((baseline/'complex-global/base').rglob('*')) + paths += [source/'code/run_portable.py', source/'inputs/PR543-EXPECTED.json', + vendor/'evidence/audit/PREFIX-AND-INVOICE.json'] + paths += [source/'vendor/pr558/vendor/pr552/complex-global/vendor535/inputs/ROUND20-PARENT-TEMPLATE.json.gz', + baseline/'complex-global/controller-input/split-centres/CANONICAL-WORD.json.gz', + vendor/'code/prepare_supplier_base.py'] + paths += [source/'engines'/name for name in ('moment.py', 'base_two_moment.py', 'outer.py')] + dump(pins, {p.relative_to(main).as_posix(): sha(p) for p in sorted(paths) if p.is_file()}) +work.mkdir(parents=True) +env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONUTF8='1', + PYTHONINTMAXSTRDIGITS='0', MULTICOLD_SOURCE=str(source), + GAIN_PR564_SOURCE=str(source), WITNESS_SPEC=str(PACKAGE/'data/SPEC.json')) +env.pop('PYTHONOPTIMIZE', None) +env.pop('WITNESS_DISCOVER', None) +env.pop('WITNESS_RECORD', None) +if args.discover: + env.update(WITNESS_DISCOVER='1', WITNESS_RECORD=str(work/'WITNESS-RECORD.jsonl')) +stages = [] + + +def run(name, script, *arguments): + started = time.monotonic() + log = work/(name + '.log') + with log.open('w') as stream: + result = subprocess.run([sys.executable, '-B', str(source/'code/run_portable.py'), + str(script), *map(str, arguments)], env=env, + stdout=stream, stderr=subprocess.STDOUT) + stages.append(dict(name=name, seconds=round(time.monotonic()-started, 3), + exit_code=result.returncode, log_sha256=sha(log))) + dump(work/'STAGES.json', stages) + if result.returncode: + raise RuntimeError(name + ' failed:\n' + log.read_text()[-7000:]) + print('PASS', name, stages[-1]['seconds'], flush=True) + + +code = PACKAGE/'code' +global_dir = work/'global' +run('restore-parent', code/'restore_parent.py', '--source', source, + '--baseline', baseline, '--out', work/'parent558') +run('bind', code/'bind_providers_portable.py', '--baseline', work/'parent558', + '--provider', 'gauge44='+str(local), '--plan', PACKAGE/'data/PLAN.json', '--out', global_dir) +run('emit', code/'emit_allcold.py', '--base', global_dir/'base', + '--owners', PACKAGE/'data/OWNERS.json.gz', '--plan', global_dir/'PLAN.json', '--out', global_dir/'hosted') +run('audit', code/'audit_allcold.py', global_dir/'base', global_dir/'hosted', + global_dir/'audit/ASYNC-AUDIT.json', '--mutation-controls') +run('invoice', code/'invoice_allcold.py', '--base', global_dir/'base', + '--hosted', global_dir/'hosted', '--audit', global_dir/'audit', '--out', global_dir/'audit', + '--retained-invoice', vendor/'evidence/audit/PREFIX-AND-INVOICE.json') +run('assembly', code/'assemble.py', source, global_dir, work/'ASSEMBLY.json') +if not args.discover: + run('admission-controls', code/'assembly_controls.py', '--source-package', source, + '--owner', global_dir/'audit/OWNERS-AND-PROFILE.json', + '--invoice', global_dir/'audit/PREFIX-AND-INVOICE.json', '--out', work/'ADMISSION-CONTROLS.json') + run('bit-supplier-controls', code/'bit_supplier_controls.py', '--source-package', source, + '--owner', global_dir/'audit/OWNERS-AND-PROFILE.json', + '--invoice', global_dir/'audit/PREFIX-AND-INVOICE.json', '--out', work/'BIT-SUPPLIER-CONTROLS.json') + bit_controls = json.loads((work/'BIT-SUPPLIER-CONTROLS.json').read_text()) + assert bit_controls['status'] == 'PASS_PR589_BIT_SUPPLIER_DERIVED_DEFICIT_NEGATIVE_CONTROLS' + assert len(bit_controls['rejected_controls']) == 12 and bit_controls['derived_deficit'] == 10272 +result = json.loads((work/'ASSEMBLY.json').read_text()) +dump(work/'REPLAY.json', dict(status='PASS_GAUGE44_DISCOVERY' if args.discover else 'PASS_GAUGE44_STRICT_GLOBAL_REPLAY', + kappa=result['kappa'], kappa_decimal=result['kappa_decimal'], + complex_lower=result['complex_lower'], bit_lower=result['bit_lower'], + bit_supplier=result['bit_supplier'], + gain_over_pr635_percent=result['gain_over_pr635_percent'], + spec_sha256=sha(PACKAGE/'data/SPEC.json'), stages=stages, + scope=result['scope'])) +print(result['status'], result['kappa_decimal'], result['gain_over_pr635_percent'], flush=True) diff --git a/research/gauge44-leaver8/verify_manifest.py b/research/gauge44-leaver8/verify_manifest.py new file mode 100644 index 0000000000..8c2441d392 --- /dev/null +++ b/research/gauge44-leaver8/verify_manifest.py @@ -0,0 +1,19 @@ +"""Verify the submitted package's exact file inventory and SHA256 bindings.""" +from hashlib import sha256 +import json +from pathlib import Path + +root = Path(__file__).resolve().parent +expected = json.loads((root / 'MANIFEST.json').read_text()) +actual = { + p.relative_to(root).as_posix(): sha256(p.read_bytes()).hexdigest() + for p in root.rglob('*') + if p.is_file() and '__pycache__' not in p.parts + and p != root / 'MANIFEST.json' +} +if actual != expected: + missing = sorted(expected.keys() - actual.keys()) + extra = sorted(actual.keys() - expected.keys()) + changed = sorted(k for k in expected.keys() & actual.keys() if expected[k] != actual[k]) + raise SystemExit(f'Manifest mismatch: missing={missing}, extra={extra}, changed={changed}') +print(f'PASS package manifest: {len(actual)} files') diff --git a/research/gauge44-slots-t16/CONSTRUCTION.md b/research/gauge44-slots-t16/CONSTRUCTION.md new file mode 100644 index 0000000000..fa15676366 --- /dev/null +++ b/research/gauge44-slots-t16/CONSTRUCTION.md @@ -0,0 +1,210 @@ +# Gauge44: a changed factory forward map with 44 rank-four cold ends + +Prepared for icekylinx with OpenAI GPT-6 Astra assistance. Apache-2.0. This note describes the new complex local construction. The package's global evidence supplies the resulting global bound and retains the upstream conditional assumptions. + +## 1. Exact result and comparison + +The final word has 112 source ports, 112 target ports and 492 helper registers. It implements the same arbitrary-dirt scalar endpoint as the upstream word, + +$$ +(X,Y,H)\longmapsto(X,Y+X,H), +$$ + +and its inverse-transpose orientation is checked separately. All 204 nonzero entrance frames remain valid. The new ending set consists of **44 cold helpers at rank-four frames**, together with the 34 entering-helper ends inherited from the JP8 HPE stage. + +The precise comparison is with the JP8 provider reconstructed from PR635, commit `a6895a69f8ad98ab45777b03e9e6f48888c39f6f`: + +| Local quantity | PR635 JP8 | Gauge44 | +|---|---:|---:| +| Helpers | 492 | 492 | +| Nonzero entrance frames | 204 | 204 | +| Rank-four cold ends | 22 | 44 | +| Rank-seven cold ends | 2 | 0 | +| Rank-eight cold ends | 4 | 0 | +| Entering helpers ending below FULL | 36 | 34 | +| Total residual helper width | 3894 | **3794** | +| Local paid rank mass | 5750 | **5650** | + +Thus the new word saves **100 units of residual width per invocation** against the complete PR635 provider. It replaces that provider's cold-end construction; the old six higher-rank cold ends and two additional entering ends are not added to the new count. + +The exact paid-child profiles are: + +| Child rank | PR635 count | Gauge44 count | +|---:|---:|---:| +| 1 | 2518 | 2514 | +| 2 | 402 | 404 | +| 3 | 448 | 448 | +| 4 | 164 | 160 | +| 5 | 68 | 56 | +| 6 | 4 | 0 | +| 8 | 8 | 8 | + +The final residual-width inventory is `{4:52, 5:48, 7:34, 8:114, 9:244}`. Both the profile and the inventory are recomputed from the literal native frame chains. They are not inferred from the nominal number of ended helpers. + +## 2. What changes in the forward factory + +The inherited K-triangle schedule and its 492-helper allocation remain the starting construction. Within each of the fourteen eight-source packet factories, three changes alter the arbitrary-dirt forward map while retaining the required clean packet values. + +### A. Exchange a source with an equal clean copy + +After the sixteen initial copy gates, local source position `j` and its two helper copies have clean values `(x_j,x_j,x_j)`. For positions `j = 4,5,6,7`, exchange the original source register with its second helper copy. The exact register pair in the constructor is `mp[j]` and `mp[2*j+9]`. + +For arbitrary helper dirt the triple is instead + +$$ +(x_j,\;x_j+h_{j,1},\;x_j+h_{j,2}). +$$ + +The exchange changes where the second dirty direction enters the subsequent factory. It does not change any clean operand. Both exchanged registers already have the same rank-one frame, so the exchange adds no frame climb. Each exchange is emitted as three additions and one sign change; these scalar operations remain part of the finite implementation invoice. + +This is a change of the forward map, not an output relabeling. In particular, the inverse recovery functional for the original source changes from the original branch to a different combination of the three equal-clean branches. That changes which cold input directions can have their entire final support inside a low frame. + +### B. Change the complement to the four coordinate totals + +Eight retired factory rows already span the eight source coordinates. The first four rows of their replacement basis are the four required coordinate totals. The remaining four rows are chosen by exact row-rank extension, first using the ordered clean linear forms recorded in `construction/COMPLETION-PRIORITY.json`, then using coordinate rows if an extension is still needed. + +These candidate forms are the future low-frame leaver forms used during discovery. The frozen priority data are the complete input to the final constructor: no discovery search is run in reproduction. Every accepted row must increase the rational rank; the resulting eight-by-eight basis is explicitly applied by elementary operations. + +All eight retired registers are already at the block's rank-four frame. Consequently this basis replacement also adds no frame climb. It gives the low final rows more independent linear combinations that annihilate the original source data. + +### C. Place coordinate totals on the available source carriers + +The retired registers are ordered with source registers first. Three available source carriers and one helper carry the four coordinate totals, leaving the four complementary rows on physical helper registers. This lets the new cold directions end on helper wires under the unchanged native endpoint interface. + +A carrier permutation alone does not increase the available cold space. Its role here is to realize the independent directions created jointly by the source-copy exchange and the new complementary basis. + +## 3. Exact cold-space calculation + +Let `P` be the non-target forward matrix after parts A and B and the 34 inherited HPE tail gates. It has 604 rows and columns: 112 original sources and 492 helpers. Let `J` be the 316 protected initial columns consisting of the 112 original sources and all 204 entering helpers. + +For a block frame `F`, let `I` be every non-target output register whose current frame is contained in `F`. Source output rows are included in this set. Define + +$$ +L=\operatorname{leftker} P[I,J],\qquad +K=\ker P^{-1}[J,I]. +$$ + +Rows of `L` are low output linear forms with no protected initial dependence. Columns of `K` are low-supported output directions whose inverse images have no protected component. The rank of the pairing `LK` counts the simultaneously usable cold directions in this fixed forward word. + +The changed forward map has the following exact block data: + +| Block indices | Number of blocks | Low registers `|I|` | `dim L` | `dim K` | `rank(LK)` | +|---|---:|---:|---:|---:|---:| +| 0, 1, 2, 11, 12, 13 | 6 | 6 | 2 | 4 | **2** | +| 3 through 10 | 8 | 8 | 4 | 4 | **4** | + +The count is therefore `6*2 + 8*4 = 44`. The fixed upstream rank-four cold construction supplied one and two directions respectively, for `6*1 + 8*2 = 22`. + +The complement change by itself improves the available low annihilating rows but leaves the inverse-support obstruction. The source-copy exchanges remove that obstruction: `K` has dimension four in every block and pairs with all the available rows of `L`. + +## 4. Realizing the directions with legal dyadic operations + +`construction/build_gauge_cold44.py` recomputes these spaces over exact rational numbers. It selects columns of `K` and normalizes them to a matrix `U` satisfying + +$$ +LU=I_r, +\qquad q=P^{-1}[:,I]U. +$$ + +The constructor checks that `q` is supported entirely on that block's sixteen initially cold factory helpers, denoted `H_b`. Put + +$$ +R_b=LP[I,H_b]. +$$ + +Then `R_b q[H_b,:] = I_r`. A sixteen-by-sixteen input basis `Q_b` places the columns `q[H_b,:]` at the designated ended-helper positions and fills the other columns with a basis of `ker R_b`. The resulting input basis is explicitly invertible. + +For the low-frame output transformation, the ended-helper rows are replaced by the rows of `L`; each remaining low row `i` becomes + +$$ +e_i-U_iL. +$$ + +The actual chosen helper positions give an invertible tail matrix. Its nonsingularity and dyadic implementation are checked by exact elimination, rather than assumed from a dimension count. The construction receipt records every `Q_b`, tail matrix and selected endpoint. + +Every `Q_b` is emitted at frame zero, at the head of A **after** the entry normalization wrappers. Every low tail is emitted at its block frame. The remaining cleanup is rebuilt as an exact dyadic Gauss-Jordan inverse on the non-ended registers at FULL. It is not obtained by blindly reversing a changed partial schedule. + +Before forming the FULL inverse, the constructor verifies both the row and the column identity of each of the 78 ended helpers. Thus no protected data or other helper dirt remains in an ended helper, and its initial dirt remains nowhere else. The FULL inverse skips these isolated rows and columns entirely. + +The realized word has: + +| Construction component | Scalar gates | +|---|---:| +| Frame-zero helper premix | 1489 | +| New rank-four tail | 60 | +| Inherited HPE tail | 34 | +| Refactored FULL inverse | 28056 | +| Additional target compensation after wrappers | **0** | + +All selected new cold directions have zero target response. The independent scalar auditor nevertheless recomputes the complete existing dirty-response compensation, obtaining 7348 additions, and checks both orientations on all 716 input columns. + +Relative to the HPE-stage word before any cold-end construction, the aggregate chain delta is `N_1 += 44, N_6 -= 44`, reducing rank mass and residual width by 220. PR635 had already saved 120 units through its complete cold/extra-HPE construction. The net new saving is therefore 100. There is no omitted cost for lifting the low tails: their rank-one increments are included explicitly. + +## 5. Native interface and validation + +The transport preserves the exact ordered list of 112 ports and the exact ordered eight center frames. The center carriers change because some totals now reside on sources. In native coordinates they are + +``` +[92, 57, 81, 224, 11, 240, 9, 256] +``` + +A global interface check must compare the ordered center frames and port geometry, and use the provider's actual center carriers. Equality of carrier numbers with an old provider is not a mathematical requirement. The local event ledgers explicitly clear all private center channels in both orientations. + +Completed checks for the frozen word include exact forward and inverse-transpose scalar replay on all 716 columns; every literal native frame chain; the 204 zero-response entrance conditions; the 44 cold and 34 entering endpoint cones; wrapper placement and normalized wrapper identities; both emitted local ledgers; and exact phase lowering for 3019 directed edges and 224 endpoint adapters. The independent audit does not import the new constructor. + +This local result does not by itself certify a global exponent. Physical whole-family owners, actual residual/spectator routing, idle remainders, global scalar assembly and the complete finite invoice are the separate global checks reported elsewhere in the package. + +## 6. Compact reproduction + +Only Python's standard library is needed for this construction and the retained local pipeline. Do not use `python -O`. The reproduction driver checks byte hashes of every named upstream input and the changed code, then checks the content hash after each construction step. Its two source checkouts are: + +| Argument | Repository commit | +|---|---| +| `--main` | `17ce0c79b7b51c2634b439ea5a2b754f09909693` | +| `--pr635` | `a6895a69f8ad98ab45777b03e9e6f48888c39f6f` | + +Starting from a clone of `https://github.com/CrocSwap/integer-mult-bounds` containing those commits, prepare detached worktrees: + +```bash +git -C integer-mult-bounds fetch origin main refs/pull/635/head +git -C integer-mult-bounds worktree add --detach ../integer-main 17ce0c79b7b51c2634b439ea5a2b754f09909693 +git -C integer-mult-bounds worktree add --detach ../integer-pr635 a6895a69f8ad98ab45777b03e9e6f48888c39f6f +``` + +From the directory containing those worktrees and this delta package, run: + +```bash +python -B research/gauge44-global/construction/reproduce.py \ + --main integer-main \ + --pr635 integer-pr635 \ + --out gauge44-reproduction +``` + +The default stops after regenerating the exact final scalar word and comparing the newly derived cold recipe with the frozen recipe. It rebuilds only the two short shadow steps needed by the four port transfers. It does not rerun the ancestor admission stack, search for a basis, optimize owners, or replay global assembly. + +Use `--frozen-cold` to splice the included recipe instead of re-deriving its small exact linear systems. Use `--until local` to add native transport, emitted ledgers, independent local replay and wrappers. Use `--until phases` to add the complete phase lowering. Every invocation needs a fresh output directory; these are alternatives, not resumable increments. On the research machine, exact cold derivation took about 2.6 seconds, native transport/ledgers/replay/wrappers about 41 seconds, and complete phase lowering about 198 seconds. + +The exact dependency chain is: + +1. Construct the changed raw R492 factory from the pinned Hamming inputs, frozen priority and pinned K-triangle schedule. +2. Apply the four inherited port stages. +3. Apply the inherited B-frame regroup and 34-HPE construction. +4. Derive the exact block premixes, cold44 tails and FULL inverse. +5. Optionally emit and check the native ledgers, wrappers and complete phase lowering. + +`construction/INPUTS.json` gives the input hashes and every intermediate content hash. The key decompressed content identities are: + +| Word | SHA-256 | +|---|---| +| Changed raw factory | `0ac47f92fc2e3f5aa457d78f7b8a5c785bf140c546932b9dfcd9e610ad319180` | +| Changed HPE forward | `42fb8b3aa314593fe976820cf65824f5fce0ee4f95281796992d4809709864cc` | +| Final cold44 word | `78c7aadacb6eec2eeecc124ca236e5bcfdba6a52b30c2971aaa596d1d119b290` | +| Native canonical word | `e6daee410e04d5e023faf21144081534ad222d334ce786e6b5f52407e6b3c41f` | + +## 7. Attribution + +The original 504-helper factory and borrowed-register construction are icekylinx's PR531 lineage, prepared with OpenAI Codex/GPT assistance and retaining the earlier PR425/PR514 credits. The inherited K-triangle atom and frozen read schedule are credited in PR635 to AtomScout, a Claude Code research agent. The porting routine is credited there to Port480. This package does not claim those as new work. + +The reused JP8 ancestry includes the PR558/PR552 supplier, the earlier-cut and multicold kernels, and the joint prefix adapted from Dominik Scholz's PR571 work. Native HPE and cold-end transport, frame and wrapper machinery come from the credited PR635 lineage, including DreamingOfClouds, jeremykothe2, chafreaky and their disclosed assistants. The retained `construction/UPSTREAM-NOTICE.md` and `construction/LICENSE` preserve the upstream notice and Apache-2.0 license. + +The new contribution here is the combination of source-copy exchange, changed retired-row completion, source-carried coordinate totals, and the explicit exact cold44 realization. Those changes were developed for icekylinx with OpenAI GPT-6 Astra assistance. The upstream notices, proof scope and conditional assumptions continue to apply. diff --git a/research/gauge44-slots-t16/LICENSE b/research/gauge44-slots-t16/LICENSE new file mode 100644 index 0000000000..261eeb9e9f --- /dev/null +++ b/research/gauge44-slots-t16/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/research/gauge44-slots-t16/LOCAL-VALIDATION.json b/research/gauge44-slots-t16/LOCAL-VALIDATION.json new file mode 100644 index 0000000000..5973645e1a --- /dev/null +++ b/research/gauge44-slots-t16/LOCAL-VALIDATION.json @@ -0,0 +1,356 @@ +{ + "status": "PASS_LOCAL_INCREMENTAL_GAUGE44", + "python": "3.14.8", + "upstream_main": "17ce0c79b7b51c2634b439ea5a2b754f09909693", + "pr635": "a6895a69f8ad98ab45777b03e9e6f48888c39f6f", + "construction_steps": [ + { + "step": "shadow-early", + "exit_code": 0, + "seconds": 0.322 + }, + { + "step": "shadow-prefix", + "exit_code": 0, + "seconds": 0.429 + }, + { + "step": "gauge-forward", + "exit_code": 0, + "seconds": 0.474 + }, + { + "step": "port0", + "exit_code": 0, + "seconds": 0.388 + }, + { + "step": "port1", + "exit_code": 0, + "seconds": 0.407 + }, + { + "step": "port2", + "exit_code": 0, + "seconds": 0.403 + }, + { + "step": "port3", + "exit_code": 0, + "seconds": 0.389 + }, + { + "step": "cold44-exact", + "exit_code": 0, + "seconds": 2.544 + }, + { + "step": "native", + "exit_code": 0, + "seconds": 3.63 + }, + { + "step": "ledgers", + "exit_code": 0, + "seconds": 2.759 + }, + { + "step": "local-replay", + "exit_code": 0, + "seconds": 15.924 + }, + { + "step": "wrappers", + "exit_code": 0, + "seconds": 2.706 + }, + { + "step": "phases", + "exit_code": 0, + "seconds": 186.772 + } + ], + "five_mathematical_local_artifacts_match_frozen_evidence": true, + "phase_edges": 3019, + "endpoint_adapters": 224, + "independent_scalar_audit": { + "status": "PASS_INDEPENDENT_EXACT_FORWARD_AND_DUAL_ENDPOINT_FRAMES_ENTRANCES_CONES", + "input_file": "FULL-WORD.json.gz", + "content_sha256": "78c7aadacb6eec2eeecc124ca236e5bcfdba6a52b30c2971aaa596d1d119b290", + "compressed_sha256": "0ad202612f010df4ab66432a628247b37ad8b497dd6b27595b1685cbd7eb119e", + "parent_center_interface": { + "parent_path": "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/CANONICAL-WORD.json.gz", + "parent_file_sha256": "66d3c3c70983224650643a0a05a21ac6c6959f84d0f4528650601016f5a76844", + "transport_tau": 43, + "ordered_frame_bases_match": true, + "all_ports_match": true, + "transported_centers": [ + 92, + 57, + 81, + 224, + 11, + 240, + 9, + 256 + ], + "source_centers": [ + 92, + 57, + 81, + 11, + 9 + ], + "ordered_frame_bases": [ + [ + 256, + 128, + 64, + 34, + 16, + 10, + 4, + 1 + ], + [ + 256, + 128, + 64, + 32, + 16, + 8, + 5, + 3 + ], + [ + 256, + 128, + 64, + 32, + 17, + 9, + 4, + 2 + ], + [ + 256, + 128, + 64, + 36, + 20, + 8, + 2, + 1 + ], + [ + 256, + 128, + 66, + 32, + 18, + 8, + 4, + 1 + ], + [ + 256, + 128, + 65, + 33, + 17, + 9, + 5, + 3 + ], + [ + 256, + 128, + 65, + 33, + 16, + 8, + 4, + 2 + ], + [ + 256, + 128, + 68, + 32, + 16, + 12, + 2, + 1 + ] + ] + }, + "v": 112, + "h": 9, + "R": 492, + "entering": 204, + "lowends": 78, + "coldends": 44, + "compensation_gates": 7348, + "local_profile": { + "1": 2514, + "2": 404, + "3": 448, + "4": 160, + "5": 56, + "8": 8 + }, + "width_inventory": { + "4": 52, + "5": 48, + "7": 34, + "8": 114, + "9": 244 + }, + "checked_columns": 716, + "elapsed_seconds": 2.443164045999765, + "scope": "Exact rational full scalar map in both orientations; all literal native frame chains, center levels, dyadic units, entrance-zero response, wrapper exclusion and final helper row/column cones. No global owner admission or exponent repricing." + }, + "independent_guard_review": { + "status": "PASS_PR635_ADMISSION_ASSERTION_PRESERVATION", + "files": [ + { + "file": "code/assemble.py", + "baseline_sha256": "1b1a9024ac910dc9b9d9e30150684e1fa9cb228a4c1c275b75ab04b57fdef1dd", + "new_sha256": "7ac28118d69416e4fb67b61216285fb0823310b7635ce1b9025aa3f10119ef6a", + "byte_identical": false, + "assert_count": 91, + "all_assertions_identical_in_order": true + }, + { + "file": "code/invoice_allcold.py", + "baseline_sha256": "141bd2fd58bbfb5b8d0fc8f56f61c45586d5608a5af3487c6b883dd987f998ec", + "new_sha256": "141bd2fd58bbfb5b8d0fc8f56f61c45586d5608a5af3487c6b883dd987f998ec", + "byte_identical": true, + "assert_count": 67, + "all_assertions_identical_in_order": true + }, + { + "file": "code/bind_providers_portable.py", + "baseline_sha256": "2eb5c262bf481b3bec9ceaec654fa46ff6fc3a89b13d4906a29a55a89e35feea", + "new_sha256": "7c9aba6c7f138d270852d859d902f905a15598b6263567700b5b08a153823cb6", + "byte_identical": false, + "assert_count": 22, + "all_assertions_identical_in_order": true + }, + { + "file": "code/generated_identity.py", + "baseline_sha256": "c8af22719c0f3097a991a3f6ccac8f090afd2faba554745733d9ea88f2c25708", + "new_sha256": "c8af22719c0f3097a991a3f6ccac8f090afd2faba554745733d9ea88f2c25708", + "byte_identical": true, + "assert_count": 4, + "all_assertions_identical_in_order": true + }, + { + "file": "code/witness.py", + "baseline_sha256": "00789c911a8f32cfe9d52207c7aa78305dc3fce4a8b6305ba402b7e74117103d", + "new_sha256": "00789c911a8f32cfe9d52207c7aa78305dc3fce4a8b6305ba402b7e74117103d", + "byte_identical": true, + "assert_count": 3, + "all_assertions_identical_in_order": true + } + ], + "centre_interface_review": "CENTRE-GUARD-REVIEW.md", + "scope": "Exact syntax preservation for all admission assertions in these five files. The changed emitter/controller centre boundary and single-provider controls require the separate semantic review; assertion counts alone do not prove them." + }, + "owner_replay": { + "status": "PASS_FROZEN_OWNER_AND_INTEGER_MAJORIZATION_REPLAY", + "seed_mode": "included_frozen_seed", + "parent_plan_sha256": "258a8b9baa245fa4096828671e2f1d1462b5af08d56890629622ef6125eaddda", + "parent_owners_sha256": "935ff1a6823c6625daba3349b28d74acf9a3d70a5947ae155aa66c7821804add", + "owners_semantic_sha256": "c09faf298565c1388c02370fdd4e61dd542579fe1898e842d5096cc97b68191d", + "owners_gzip_sha256": "90ff7657a23dcfb67532b49c0800c5fc259b27c89005081e24bf184869e1bd57", + "majorization_semantic_sha256": "9ed3fdb41fb8dbc6542de7701c78bb8f3bb728604057daf82a537bde182ab9fc", + "global_profile": { + "1": 181093, + "2": 29164, + "3": 32429, + "4": 11520, + "5": 4032, + "7": 7, + "8": 582, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + }, + "scope": "Exact hosting nomination and callwise fixed-point replay; full supplier admission is separate." + }, + "global_replay": { + "status": "PASS_GAUGE44_STRICT_GLOBAL_REPLAY", + "kappa": "1649483702558979/1000000000000000000", + "kappa_decimal": "0.001649483702558979", + "complex_lower": "1652208994368411824947/1000000000000000000000000", + "bit_lower": "413456747036699736067/250000000000000000000000", + "gain_over_pr635_percent": "0.8093060205252829126484020359439672024956960385078942889840023844750830", + "spec_sha256": "fee57674a7f36b30b1e7eb96a8f567a90a522217bc644c1a6a1f8bff85196fbf", + "stages": [ + { + "name": "restore-parent", + "seconds": 2.089, + "exit_code": 0, + "log_sha256": "fc3a01967636bd3173ee7e5049fae45b890e1fad4564b6acdd6aaca30a4e4ea5" + }, + { + "name": "bind", + "seconds": 0.962, + "exit_code": 0, + "log_sha256": "71f679ce5a123fb58397fd6852ba64ce3832fd20e81a096bfda9a1cf3237237a" + }, + { + "name": "emit", + "seconds": 4.817, + "exit_code": 0, + "log_sha256": "90ce07d06a8eaffdb66201e8346021183e5a803395fb9f6d8ceb0e5ff068ef2c" + }, + { + "name": "audit", + "seconds": 19.625, + "exit_code": 0, + "log_sha256": "66b4abb2a88a4eaba8a8baa3585ef4aa819be5f8acb7947bae734b3478280456" + }, + { + "name": "invoice", + "seconds": 1.804, + "exit_code": 0, + "log_sha256": "5d10712d494304287749dd7a6c3369f9b707bba30e9f567b68230669dcf5418a" + }, + { + "name": "assembly", + "seconds": 0.808, + "exit_code": 0, + "log_sha256": "768d3215f1918117dc6c33b4cfeaf0b5f5da9ba5c77178db4bb1d08d000e226f" + }, + { + "name": "admission-controls", + "seconds": 0.885, + "exit_code": 0, + "log_sha256": "051d242318154827c1672ffbb63ad2bdc8ecc4033be650b791dd69cd57d716b3" + } + ], + "scope": "Conditional native exact-complex witness after complete conservative admission, moment and outer checks; PR559 exact-cover recurrence correction only, bit bad-residue surcharge and H1-H5 retained. The new source-branch gauge and retired-basis completion, 44 cold dimension-four ends, and explicit all72 whole-owner dispatch are composed with the same cited unchanged PR543 bit supplier as PR635. All-size compiler, common-label/mutable-source realization, whole-call hosting, precision/tape and analytic transfer remain assumptions. No unconditional theorem or full Lean certification." + }, + "admission_mutations_rejected": 69, + "controller_mutations_rejected": 15, + "frozen_template_content_sha256": "0c2aab7dc120f5882a0171496cbbe819cac81373dcb425802a15f45e36898a46", + "fresh_template_content_sha256": "a1692259fb5a06bbebdc1049a7f757c6d2fc79ff8c31ed0c25b38fe9f98ed051", + "template_comparison": { + "sole_changed_field": "async_schedule.source_plan_sha256", + "frozen_plan_sha256": "609adb126d7d3de2abdd9275f9015589c0b137d0d19821c2c3e7c1a8541c18d2", + "fresh_plan_sha256": "b2e4b1f063250c40e0087f77e896882c60f36ed8764e86ba1610dec9bdff7394", + "explanation": "Fresh phase review differs only in its measured seconds. Runtime provider binding consequently changes the plan byte hash. All remaining serialized template fields match exactly; each runtime hash is checked against its own file." + }, + "assembly_matches_frozen_rates_and_profile": true, + "post_replay_packaging": "Four files received trailing-whitespace cleanup only; complete parsed ASTs were checked unchanged. Constructor input pin refreshed. Admission assertion comparison rerun.", + "scope": "Changed construction and exact recipe, fresh native ledgers/wrappers/phases, independent scalar and guard audits, integer owner reproduction, strict global admission and independent pricing. No predecessor full replay, seed-discovery optimizer or PDF generation. Local Python 3.14; Python 3.11 is covered by CI." +} diff --git a/research/gauge44-slots-t16/MANIFEST.json b/research/gauge44-slots-t16/MANIFEST.json new file mode 100644 index 0000000000..438842145b --- /dev/null +++ b/research/gauge44-slots-t16/MANIFEST.json @@ -0,0 +1,181 @@ +{ + "code/assemble.py": "15f6986a476bac76bcdc0bfcf51da115389b46f1950d2766b6822f757888b13a", + "code/assembly_controls.py": "da7e981ae1b9f099d4e1524cb4f3ba1116011936ebe378692889b5dbfa99029d", + "code/audit_allcold.py": "1467a2acb654e62552c69fb9a7c4c85f70a02120881d222313865058ab71a6cc", + "code/bind_providers_portable.py": "1d39bcc7b63ac158e021454beaae897d123e174360573762aecade3cd43193f6", + "code/bit_supplier_controls.py": "e6d33fb61a570c3f50669412acc467a3fd06ef0b806da6a75bc296c6ba2142a5", + "code/emit_allcold.py": "354367e1fd6185a67b04f4268bcae4d502e47b18cb2131e247f5bcab5b3a769e", + "code/freeze_spec.py": "5971eecac6d6fbcb53244b80f1b9d7232012dc32876fab511214a5addebbe6c2", + "code/generated_identity.py": "c8af22719c0f3097a991a3f6ccac8f090afd2faba554745733d9ea88f2c25708", + "code/invoice_allcold.py": "71eb57514e28ced97251e0507105f654f59885ec4d40486a780bf166098858a8", + "code/prepare_global.py": "8c0dae301a8f34b77a5a462f840952d08ed120576212adf5051bc09bcad874dc", + "code/restore_parent.py": "69b7b25ff85e9b8160e233c1d415cc6a0272019e5c486dcec14cb6c349e7024d", + "code/witness.py": "779c5172894b992131e85be1e592ed2a1aec8c287b872ff42007d36a7291e444", + "construction/barch/build_tri.py": "0fba65b31c2fd71864c291358bb0ad8d5f7e1be07e21df23f0ae73d7b966002e", + "construction/barch/LOCAL-PINS-barch-U8.json": "2d16f99e1f71fd66378f5f767cf4cfa2a58264919a95074c7b31029f39a3c9f5", + "construction/barch/RECIPE-U8.json": "292f0e9f82824c4111728cf4de929bf6e43320fbbdc77658aae9681906b0d652", + "construction/barch/reproduce_barch.py": "19bc970aa6af25ab0e7fa96fb65c64dd0c5243976d8f2cb733cba839155482c1", + "construction/barch/run_controls.py": "42639bf62bf57795e3ea615c1944c67efed00f28591333daeb3139bf63d04476", + "construction/build_gauge_cold44.py": "ec730a4d3ff12fb058780718b1d5a7afe61243c532679ef347a5a48e2af0a3bb", + "construction/COLD44-RECIPE.json.gz": "22d0e01e990c0f1c588607a095271f7844851a437ba07174505e98e9528aed4c", + "construction/COMPLETION-PRIORITY.json": "0274ffca1725e7460aaf7b672bc1248aa6dfdec11e5f0fec91af18b829f8ba47", + "construction/construct_gauge_xcentre.py": "d8d295566ef2399af2da0707a4adc83e07aa26d2344c01a66bd0ca7684cf9217", + "construction/frames/build_frames.py": "200847a7e8b3125cbeea0765dad67650e0bf83d32b66d72ba4977e99b8ee8eeb", + "construction/frames/FRAME-RECIPE-sw4.json": "a2c7ca4d44671386d05974e2627645b42bbb7da7a35cefff6e9fa158b6ac8473", + "construction/frames/frame_controls.py": "477de854ec9184a2c73d6ac3857a9d0cbd6bc04b71d10a105e7344434b492a77", + "construction/frames/LOCAL-PINS-frames-sw4.json": "bc416b8f6443d59c715fb358c4d70fa27eae2d306388ffe0e2a303f60d929f7f", + "construction/frames/reproduce_frames.py": "dc39ada9a2eb387310be181f3cea5dbd4b538632a888cd7372ece5e38a771832", + "construction/INPUTS.json": "edd32ad9a55d3c508ca2ad90c74b5c87c7f7ca509d96b856a2176fa452780f99", + "construction/jx/build_jx.py": "3cc7550b0c24bb54e245c6f7f16de489fd7844721fbb64aac628f38f43887916", + "construction/jx/LOCAL-PINS-jx-X4.json": "95c5114c8e937c2737a1b9f9da97303f2e5e129d39e6dfcc4010e99bfdb9c974", + "construction/jx/RECIPE-X4.json": "9d42c6b38e8124f5ffe15da56c260a7fba7260626bf3c5f8cbd93aa4a71ceadd", + "construction/jx/reproduce_jx.py": "5c7afebb4eb7fcdeb7e971cfbc457cf071850e2da21c3c71295efdd453c2399c", + "construction/layers/build_pivot_swap.py": "8e8bced88be2e592ded40929499bac385ca92fcc1fa59183c22229dbf34093b8", + "construction/layers/layer_end_controls.py": "7829187bfc8f909948d5250e0ec00f02c89f5fe98306a3ed88daee36cb3c92ef", + "construction/layers/reproduce_layers.py": "435699f6f79c6c7fb8d6cc5a8382576d6ac88747583a975ff671e45440b93c4e", + "construction/layers_np/COLD-LAYERS-RECIPE-NP.json.gz": "3164cfb71baaeba4ac43427bc14075a225fc3a32ecd9341e58aa52c03a4ee2c0", + "construction/layers_np/HPE-RECIPE-NP.json": "43900139f618bdc06b8319098fb8dccaf4fc315b43ef7c067ca2cd778cdba2c1", + "construction/layers_np/PIVOT-SWAP-NP.json": "d49b8d316da1cbdaf995dd0e8314d3c67cc9cd4d5902e9d85ccb907be645bef5", + "construction/layers_np/reproduce_np.py": "1a304144a250d00d14154692ba522365b036777cf2b6fac466095e8ba733c16c", + "construction/layers_p6n/COLD-LAYERS-RECIPE-P6N.json.gz": "17e218a17e47c58fe2cde775ab2314d3d84030a61327b7f13da61cae3b374ad4", + "construction/layers_p6n/layer_end_controls.py": "fc58c5699ba6191c1163a3041241f6f0b619626c4462cd99bcf88210bac9e81e", + "construction/layers_p6n/P6N-SPEC.json": "132a59635077d6afe80f99964a6935fce1dc2ece6587d74209c6f9c60025c8f1", + "construction/layers_p6n/reproduce_p6n.py": "aa7d6bcbed05aa1c689437c07a26e5c95be3c700c0c1fb7bcf91c432a88436ca", + "construction/leaver/build_frames_lv.py": "2eb80d612aa59a7bd8b04a122045e3bd2b83a21954e3164943cd20cf6050a21b", + "construction/leaver/cells-k8/CORE-01+.json": "3d2afc4986f1f3aceacd1e0572daebfb79134ba6af7677150083d0912676427c", + "construction/leaver/cells-k8/CORE-01-.json": "8f8620f47ce5ba5abf6179d1a5a986c25903ba71b6711a7035815968b5888927", + "construction/leaver/cells-k8/CORE-23+.json": "53b65cbaeb24bb2a4625f107a39c0ba3797f37aa4980096f22dff7cdbd76440d", + "construction/leaver/cells-k8/CORE-23-.json": "e34431338f5527838c6e0d0caff885bde82624b0791f2a072c5b4e49faa6b98d", + "construction/leaver/cells-k8/CORE-45+.json": "ba8f3aa26032dc36e2db4073e2cac9fc61d7a475d534a749bdfcbecf3aa103a9", + "construction/leaver/cells-k8/CORE-45-.json": "302024488efff30c820b5bbf6b422c6106bb5a9ee851bef8fccc16512ca789e7", + "construction/leaver/cells-k8/CORE-67+.json": "0a7aa4ee46e7f05c9cf0c1a36791d49e439c0c9c473e76cf954b0655463dae05", + "construction/leaver/cells-k8/CORE-67-.json": "0a7aa4ee46e7f05c9cf0c1a36791d49e439c0c9c473e76cf954b0655463dae05", + "construction/leaver/cgx_leaver.py": "3af491c63dd96204a7c36006c7e419c2e5ce77e5bc453ccd2495c1e41f83f87c", + "construction/leaver/CHAIN-PINS-k8.json": "9dfcecf963d8fa6d1cf5ba212336437a51f03c1444a1c6d33e54d2bf762970a9", + "construction/leaver/CODED-CELLS-k8.json": "7347f814850a838bd617bc7a55c307cec2b72becde2f12ea3e2e1af344b43563", + "construction/leaver/COLD-LAYERS-RECIPE-NP-k8.json.gz": "6416043008fca68463c0026fb7be500bafbf6b592b1caf42701101531814df33", + "construction/leaver/COLD-LAYERS-RECIPE-P6N-k8.json.gz": "24a304493f28d7b419d3023598ff728deb63e1582cd65011e438951ae22c0beb", + "construction/leaver/FRAME-RECIPE-LV-k8.json": "b53b97ecbefb60cddceec08172438f1902178d9438bcd98ecc736c43773c3065", + "construction/leaver/HPE-RECIPE-k8.json": "907db3b20e2e54e230567259575ac89e7eac2b60ce0daac11b6b98849ce45ee9", + "construction/leaver/layer_end_controls_leaver.py": "4ba676f1ea326b739a64c3477f64eeb295f8151514f78fa7e62b71e4373a6206", + "construction/leaver/LEAVER-PINS-k8.json": "ab6ce39246d102f55d63c819c4cded2450c515b0e99afe5023f726054afc73f6", + "construction/leaver/LEC-REASON-PINS-k8.json": "b07279e41ec9d8f89e8509081e1e7f2c8e8b062fd951b22608a03ac461982914", + "construction/leaver/LEC-REASON-PINS-STACK-k8.json": "d87ed7b5869bed4a3d266f0ce5fc784cbe88340a625d22ab9f580fa00872df19", + "construction/leaver/PIVOT-SWAP-k8.json": "3ef7acf0cf67442a532f25b53d5fbeda76d3a84524118df8e003ca69b5cac0bb", + "construction/leaver/PROMO-RECIPE-k8.json": "bc017d6d5126f5f975e7fdae84642963c86ff74f7056ec4764192b5f4497dc83", + "construction/leaver/RECIPE-U8-k8.json": "51e5e37bfcd1dd1f4e2ce1bb60d23f645e5881e36f3aa556f1533543a40e548e", + "construction/leaver/RECIPE-X4-k8.json": "4199b9b6bb28f3f79fa01744a0520a60fdf783eddca459f86830535f759b67c1", + "construction/leaver/REGROUP-LEAVER-k8.json": "b846ea56bc8c58d2513b257f9bea7de5136484b7d66c5bf3d8e3211fc48e4b8e", + "construction/leaver/reproduce_leaver.py": "831bfdf2247b5d864b74c3b2b6a475718053d48570851d48bd1c5471d410ee30", + "construction/leaver/reproduce_leaver_chain.py": "2bc3fc3f32e0f957a0731b79254c553ca48fc6d4d47c4f99d6cd31e1901d85b5", + "construction/leaver/TRI-LEAVER-k8.json": "b22e6ecf76104de66844bd617c4ca80f5546ba0966a50e5e9aa0ffea4976cb30", + "construction/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "construction/NOTICE.md": "defe7e44af610e25a6c50c1c3b2efd0972d0690574995c0c872fc50eebf4c816", + "construction/notri/cgx.py": "3da039d4184097c14802f9dbf972520d5b807671196f5e47a2247bc9f29bb418", + "construction/notri/cold44x.py": "f0bc3500efb2c839a0f8cb03dbb9ea0a54f1dfc71ef81e5373b3d638ac5b8296", + "construction/notri/port_stage_x.py": "38310744d054e393ea35e996047cddeb2d212141aaaaa4b07f7a4663b11db8e7", + "construction/notri/PRIO6.json": "de0412511b0dd1af13e9717bc791126ac0e91c569b5391fd6c70268083045d15", + "construction/notri/reproduce_notri.py": "90148c2a0422b4f92164298a283de73d413ab3d4cb7151a0e6b643a37ea025a8", + "construction/promo/build_promotion.py": "9c9e2001b8d68bbe934d136026276fe97bd9bf6f94d4d78441fc28e14aca4daf", + "construction/promo/LOCAL-PINS-p6n-k4.json": "a92bb02266596956bd53e9c86e8bbcc6639c92b4a4a248a1521f8eb79228271f", + "construction/promo/make_recipe.py": "ba9e4fdc0c1be7f6a150a5a50909911257a1a8c7cc5d03d61f541178fc07c122", + "construction/promo/PROMO-RECIPE-p6n-k4.json": "fa6065d142646f7ab1f268912ce0cf5a1a6cd33c3994ff96bd6e204cf16b3e90", + "construction/promo/promo_controls.py": "786c51f84b53698c2c833083506c4432c30eb0ed3b71e7dbe458a70c7413c372", + "construction/promo/reproduce_promo.py": "f979be666c3f5cf57e342a8427863c0b35b67ca4d3be495ac386f6870deb2026", + "construction/REBUILD-CHECKS.json": "1f9d754c89cfed632a6eee919a42d00c6677a8fb4fe1d40615c903242addbc91", + "construction/reproduce.py": "047bb9b3536b0b16bb08a21cd9fd80404ca9d022345f1aeab34b21dffc281c92", + "construction/slots/RECIPE-SLOTS-k8.json": "0bfffa6a90a3a9635d168f7f55e2003c773c422ded75822b6947cf499f59a55b", + "construction/slots/SLOT-PINS-k8.json": "55dd229684febecb80638eff9c6b3986623e8539c6c956753b350209c3e0efe2", + "construction/slots/verify_slots.py": "bc1c0e3e3d7c81dc1649f5be82cdd2399e543d46c24879cb975877bf9b7957be", + "construction/sw4/build_sw4.py": "9a295f3d534594a6b1326d8a6647e947670d1c6fbc92f37f5169661fde4c8f66", + "construction/sw4/LOCAL-PINS-sw4-P6k4.json": "3c06bf68b28ff125a6a2372bb70cefd76fb9fe1333438cd34dfb5b617cd70327", + "construction/sw4/NOTES.md": "3a3ddb0c77b188e67fc453ccb3efe9323f87028092a6ce4d259b7dc99d702446", + "construction/sw4/reproduce_sw4.py": "3d082e0cc576fb1b4fb9e5dd11d63bab697c8a8626e2837813cd00d100b1aeac", + "construction/sw4/SW4-RECIPE-P6k4.json": "fa58d0ffc95d10b7453daefe4b34404a52895f94126ef973e92e92106cd615fa", + "construction/UPSTREAM-NOTICE.md": "a75967ebc34e3bf2ff2c25c08e6c7f1a61b0c0d171cfd1b62196ae2caaf2c610", + "CONSTRUCTION.md": "7d96eb958a6b4274ea4c4c539b585f8ae2e89363b76aef930f90d2d513e164ea", + "data/FRONTIER.json": "56bed9070d5f0b7585d7b7fd62984696dbc5158e5187663030920a57e1cbfab2", + "data/OWNERS.json.gz": "d7e11f5fe170fccffa087c4ee6c9b97ed16e1646ef7dfead21fae8b43b0f4cdf", + "data/PLAN.json": "fb98d70b738b42a401dfd99303726a1a08f779fb9b1e016c0584a974571a8637", + "data/PREPARATION.json": "1d576298bfafc509992113fdd58b5482655a88e321cbfafe9386588eb6fbb6e9", + "data/SPEC-T8.json": "8e95ae8087124189cbd366d0e9d1c5ebededff536ff3501927b4b2a2e8dac70e", + "data/SPEC.json": "2a8728207fc2d1f65bcc0229a61c52a4fbd02f9d4acebe1b479d3fb0fe0690f6", + "data/T8/OWNERS.json.gz": "32ca30cd1c652ef6ad43657273a08a157e1df3545e759ab36306a0d0b516fb4a", + "data/T8/PLAN.json": "1dec4ca3af6d45d82286005cae4c5e56e7253adefb117d797da55c55c891af08", + "data/UPSTREAM-PINS.json": "ccc37ab7fbf78947fe02c7f57ea672d2e4eae8454cb1158ed964c75bf423869b", + "evidence/ADMISSION-CONTROLS.json": "5ebcc945c53f8279ac3bb6249e1d46422b7c7ddeb41c580ab5cbb3ca886dcf28", + "evidence/ASSEMBLY.json": "847f339db218f62ffabacb4655ba4dc6e8a15f67014ca01b1146083f393b009f", + "evidence/audit/ASYNC-AUDIT.json": "df19a41a599bf24fd1efaeb2394af63208f95b9e3ca4f83c6f23e9641fb3d662", + "evidence/audit/GLOBAL-PREFIX.json": "5a6fd0d91a650ad5aa830771fb4333b015f06bc4ded02807d65aee260ce9e671", + "evidence/audit/IDLE-REMAINDER-FRAMES.json": "95f5165a10dd187000dba9e55afbc1b7dce5a315cfedfa72e4f8344471149048", + "evidence/audit/OWNERS-AND-PROFILE.json": "a32ecc0d5387d65648e1ff284209122860ee37aaba43ce2dd12024c4bc394313", + "evidence/audit/PREFIX-AND-INVOICE.json": "14b0f41c88209e800236ce4ebbf91d83537e22e18807153d90013f7eee57a582", + "evidence/BINDING.json": "f80ad585c9cf94989d459971189fbb176084aedbe27edf5b5cccc5c2a44de43b", + "evidence/CENTER-COMPATIBILITY.json": "c66c7da1099ac8618381e2a7cb48b09b43ccf8d125ff124e129aba8ddb922cf3", + "evidence/global/ACTUAL-SIGMAS.json.gz": "bf3b7814b54b30c726cae1dfabd3c09211c8f34cc943534565b131a0006b483f", + "evidence/global/GLOBAL-TEMPLATE.json.gz": "f713f8e66aaeaebb8202fe72bf36c7d23497152497342c27892e0fda3092f95b", + "evidence/global/HOSTED.json": "60866eb6ced5b9eb259bfc1d59ea7b80fb439164b629e868586ad5bef845a88e", + "evidence/global/IDLE-REMAINDER-FRAMES.json.gz": "734fd9bbe0afa2cc1e492bb7effef1aa8f0d8926ab1d9420d64c30045b30e784", + "evidence/layers/LOCAL-AUDIT-LAYERED.json": "a596d7262374a023ae079e0da41d20189bd3ca4594101e5e6f402ce5799df9ff", + "evidence/leaver/CELL-MUTANTS-LV.json": "308975b8288cb9c853ee6b69e68b25e6f3727d259dccfb7509042f103bb03220", + "evidence/leaver/FRAME-CONTROLS-LV-k8.json": "9629e499a7f01f2db1e41873344a1476708f41698a0b145888ee569e580a31dd", + "evidence/local/CANONICAL-WORD.json.gz": "92941c2b718b533f1d3addb710d261a6e2b9ec5d19f0051d79775b08cb2571ed", + "evidence/local/CLIFFORD-RECIPES.json": "0a60293f43d88dbb1b321f02e61204afe1b6272b1346968ef35705caea1e4771", + "evidence/local/CLIFFORD-REVIEW.json": "4e3cdd616d105a49bbf1948bb53e49938d515c42f1c026781d1b5e9cb636db12", + "evidence/local/FULL-WORD.json.gz": "0ad202612f010df4ab66432a628247b37ad8b497dd6b27595b1685cbd7eb119e", + "evidence/local/INDEPENDENT-LOCAL-REPLAY.json": "18d68326ce0aca76911d561e79a817bce90cb8adfe053e19621c7ae0298b842e", + "evidence/local/LOCAL-CHECKS.json": "2b8a6a6854b8df8ecd84d8ff2b92f720c81454636988e6a0dfdc1f6c29d1c82c", + "evidence/local/LOCAL-PROGRAMS.json.gz": "172dc3d23e437909ddc01d07b12ede735afbb5bb6145f1ddf5c2e03097dfebe2", + "evidence/local/RESIDUAL-ADAPTERS.json": "bb6c23ba1b8dd5d2016724c3348b4e91a6b91daaa3f56bbd5216cb7a96bf5c94", + "evidence/local/SCALAR-FRAME-AUDIT.json": "cfc73040079b43ea82a42f3cf4c910edda1362deb09ec21c816c329347313bcb", + "evidence/local/WRAPPER-CHECKS.json": "84c727930f85f1c91900d6d12c523735c8b5d6907cd3eb1bd1030fe1fd4161d7", + "evidence/LOCAL-STAGES.json": "64165b81b7119a2b23e99d3f3dfe8aa1702f373efe90d82d136c17786ffb6591", + "evidence/REPLAY.json": "45a6065c41df0c2b04e185b4727c7ad8eac5ebeb637dbb7bebffc184415b49a2", + "evidence/STAGES.json": "09d7c6daf1e93c58863267141dedc3873264d3baede0cddefda0d56ecb560458", + "hosting/audit_frozen.py": "a8d9c7c894cb44453aea93b33141559824f6c3ff81a85a6d066f4a10a2757659", + "hosting/expand_owners.py": "0f826377881d0c9405f90d9f5feac857c7c7cf8aef5bcf22d326bc274f038a70", + "hosting/frozen/FROZEN-AUDIT.json": "df6c7181a097900ee9d37db17bd25436a570f21caaa0cc2108712907ab02904b", + "hosting/frozen/MAJORIZATION.json.gz": "ec5f94b13d190d72bc0608dc9fe2498cc43ba9deb05028159a812ec1e4dcacdf", + "hosting/frozen/MANIFEST.json": "9df028adfa5120c60d2c78bfab06822cf4e6ed55502816b7d6dec19c1a2e4967", + "hosting/frozen/MATCHING-RECEIPT.json": "e1af2ac2c6e2457646d52dd693fb961f6279e10fe50eae9873f2ed149b6735b2", + "hosting/frozen/OWNERS.json.gz": "90ff7657a23dcfb67532b49c0800c5fc259b27c89005081e24bf184869e1bd57", + "hosting/frozen/REPRODUCTION.json": "8354f63148621c5fcf09cd16b496dedd677d813f83974e1f341ce38a1fffec81", + "hosting/frozen/SEED-OWNERS.json.gz": "eb3be5eebbb84349d7e7f1bde2fc77772a12ad5bccc6dab7c4efd8d903e2a048", + "hosting/frozen/SEED-RECEIPT.json": "aecfef753379106f5289f31251584c642e2cf7e4fa2d0886bb4ef9e922f8d9ba", + "hosting/frozen/SEED-REPRODUCTION.json": "4f6d49a85f43c98c816877d783470ca717be2349caceb991bf756eedece1b194", + "hosting/PROOF.md": "45bb3de8a10298a4cf5a278c3343be22a7d2e735be93a4e9454f24df7275faf0", + "hosting/README.md": "004bcdf6c78bd0316f0606d9e636511f94e1e80cbd79cce1a7e3bc55076d9bf1", + "hosting/reproduce.py": "7551004d8d15cebcecc6793ebd17385830390935ccd1a8957f1c5472bce6ec82", + "hosting/reuse_owners.py": "2106fe79bd89071e62a3a25c1e444531e14fb89f88b4bdeb72d7b40c91266402", + "independent/audit_local.py": "03afcfc9da428b3f6edac81c1fee7f277ab81b64998efae78380b63498dec6cd", + "independent/CENTRE-GUARD-REVIEW.md": "7b82518d7ddf042d6e71174bc286311fa72127e0dc6dc9e500025fcf7abbf897", + "independent/GAUGE-COLD44-INDEPENDENT-AUDIT.json": "9fb5265c4d2ddf3d615e46600954c79cd1a42481500a0973a5695fcb9f2558c9", + "independent/GAUGE44-GLOBAL-GUARD-REVIEW.json": "631107a9a9acb02441ce80298f815e0c624f811b0d58c6fd78f8dc58d564bb5b", + "independent/GAUGE44-INDEPENDENT-PRICE.json": "6e222b252f3453446d0e41b08f00a9bf9449ce3588b6ddc00c9accc1c00e7683", + "independent/price_profile.py": "d2f548ad6b99f64a8ca5fbaf822a89560bb99359957ce3420b497f6a46fc0acf", + "independent/README.md": "25668a62d8c91f6860f8412cf2fc750ba41bf1085dad3709ad5067c7956eac89", + "independent/review_guards.py": "b83164d6c0122a055b3281f3381b305683a875760a2d727dd0188bb2aa59d67d", + "inputs/PR589-EXPECTED.json": "b9f0e5ca038abe837b0007c8fe006f366a6f02009244ac57705a8a200e2301f4", + "LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "LOCAL-VALIDATION.json": "f81fbd98eb608b8119f03f89a5692bcd610845fc97022337931586d8582b706e", + "NOTICE.md": "7a8d17b04da1e6c9d0ec217fb5bda72faa09d9a21695128722dd1e2827870fcf", + "PROOF-NOTE-BARCH.md": "c24f211b09358b25d6cf47dd18e4bbd8bcf4ecf279e6f1c6c90613cfa230818d", + "PROOF-NOTE-BIT.md": "dd771adb12f6f0bef0e2931c28b21b243b04d5f512370cbad1207275c342aaf7", + "PROOF-NOTE-FRAMES-X4.md": "39c50420ebb6e8813706a49b2cf759f277c4afac9f6780fc0a7ac6a5fb86e036", + "PROOF-NOTE-LAYERS.md": "92bb85b056803770882afa916277c5b49a7027159c113a106e7b2b33e57c097f", + "PROOF-NOTE-LEAVER.md": "e4f9482ef551d6d4300d8ed8bb7c34dc9327fbcfa30a502bf3476b78468e60c3", + "PROOF-NOTE-NOTRI.md": "774d1ff7b77844990da7bc1feff7f9ffff8b1f4f9b03232a620f1f9a29935414", + "PROOF-NOTE-P6N.md": "cef8fad3d6644b4376ed15c4c5c46c68324009ab8f42d10bfa2da4b505b2c26d", + "PROOF-NOTE-PROMO.md": "c170e5196d3081f86ac377c6fe614ca17f6281972837580275ce5af41cbc64ae", + "PROOF-NOTE-SW4.md": "d7bb225f1a7f9fd363e819a67e92a5fe14c0942f6c3616d73609cc48042daf3d", + "README.md": "d0fbd05569504afbdde71899ca5c0c6da0f818d7aac50a22d241d106589af95c", + "RESULT.json": "7204341041ea90fe0394e8843f083fcc1b1c262214e6bc5d3118d35787c24101", + "SOURCES.json": "abb903d9b46388f99325a3939eb68171ac163c66b4b62b7961ea46daa20a88f0", + "t16/build_parent.py": "82e274d0c7a94f9bf0468dd37f0505d0c42017559ebb4ba8c079a1f4e403d91e", + "t16/indep16.py": "1beb512a1d072f81d3e8e492c8827636029686897093bd433e4d4c92d0c830c7", + "t16/lift16.py": "072fe6ac032543d5106631f9b4aa36103269b64ab72061d97ec604f648830689", + "t16/NOTICE.md": "902370e6bfcd39dbea2ece474f15fccbcce3b8e966b2b94066bd03e5174591b5", + "UPSTREAM-NOTICE.md": "a75967ebc34e3bf2ff2c25c08e6c7f1a61b0c0d171cfd1b62196ae2caaf2c610", + "verify_manifest.py": "723d726dbbe5b65a49caecae0f1aab664a1413fb639abfd3e826a5a538e14e5b", + "verify_t16.py": "050e2dfba59911b8f29fd94422833d421367a0ad01c5e4ae916a75a235ee5e46" +} diff --git a/research/gauge44-slots-t16/NOTICE.md b/research/gauge44-slots-t16/NOTICE.md new file mode 100644 index 0000000000..30d0c8cd3c --- /dev/null +++ b/research/gauge44-slots-t16/NOTICE.md @@ -0,0 +1,24 @@ +# Gauge44 attribution and scope + +New contributions by icekylinx, with OpenAI GPT-6 Astra assistance. +Local review and packaging used OpenAI Codex. Apache-2.0 applies; +the license is included. The full original PR635 notice is preserved as +UPSTREAM-NOTICE.md and construction/UPSTREAM-NOTICE.md. + +The new contribution is the changed source-branch gauge and retired-row +completion, source-carried coordinate totals, exact 44-cold-end realization, +and explicit all72 whole-family assignment using concave capacity matching +with integer majorization certificates. The center-carrier generalization +retains the exact ordered common frames and complete native local contract. +Independent local, price, interface and owner fixed-point checks are included. + +The construction retains the credited PR635 K-triangle and porting machinery, +earlier joint-prefix/HPE/frame ancestry and icekylinx's prior factory work. +#645 used the same cited PR543 bit supplier as PR635. This package (research/gauge44-leaver8) cites the merged PR589 bit supplier instead, with a derived rank-mass deficit (PROOF-NOTE-BIT.md); #645's retained PR543-based evidence is historical. It builds #645's word without K-triangles (PartialK) and stacks earlier community jp8 layers on it (G44Stack), adds the p6n ends (NoTriReopen), entrance promotions (BlockInvert) a read-set exchange (BRoute), chafreaky's #741 frames, JointXF's joint exchange, NewBArch's triangle-hybrid B rewrite and LeaverSAT's eight k8 leaver cells (with LeaverSAT2's frame re-optimisation); see README. All-size, realization, +hosting, precision/tape, analytic-transfer and bit H1-H5 assumptions remain +conditional. No upstream license, credit, source pin or AI disclosure is +replaced by this notice. + +PR641 and PR642 were checked as concurrent reported frontier comparisons. +Their endpoints and owner maps are not included here. See CONSTRUCTION.md, +hosting/PROOF.md, independent/ and README.md for the exact contribution scope. diff --git a/research/gauge44-slots-t16/PROOF-NOTE-BARCH.md b/research/gauge44-slots-t16/PROOF-NOTE-BARCH.md new file mode 100644 index 0000000000..8cea5a6846 --- /dev/null +++ b/research/gauge44-slots-t16/PROOF-NOTE-BARCH.md @@ -0,0 +1,43 @@ +# PROOF-NOTE-BARCH: width-neutral triangle-hybrid B-delivery rewrite (U8) + +Construction by NewBArch (`construction/barch/`, builder `build_tri.py`, controls `run_controls.py`, recipe +`RECIPE-U8.json`). Driver: `construction/barch/reproduce_barch.py`, chained after `construction/jx`. + +## The move +On research/gauge44-frames-x's X4 word (`1e1d99ba…`), eight disjoint slots are rewritten. In each slot X an entering +copy E donates into a halves-copy X: 231 (E 450), 230 (E 452), 232 (E 454), 236 (E 456), 226 (E 451), 228 (E 453), 62 (E 455), 238 (E 457). That way, so that one target +read takes X + H in a single gate. A holder pair (for example 496/484) carries the value. Each holder is restored by a +low-end tail at its frame (early cleanup) and a FULL-cleanup restore. Entrance pre-reads keep the entering helper's +start value away from every target. + +The recipe is explicit, with every index referring to the X4 word: +- 40 B deletions; +- 40 B insertions, each with its frame; +- 32 explicit re-chosen B frames; +- 8 early-cleanup tails; +- 8 FULL-cleanup restores. + +The A section and X4's tail frames are untouched. The width is unchanged at 3778. The profile goes +{1:2548, 2:338, 3:430, 4:194, 5:56, 8:8} → {1:2548, 2:338, 3:446, 4:162, 5:72, 8:8}, a delta of {3:+16, 4:−32, 5:+16}. +The eight slots are additive (8 × 3.925e-8 ideal = 3.140e-7). Output word `090fd574…`. U8 contains B0's four slots +(231, 230, 226, 228) plus 232, 236, 62 and 238. + +## Checks rerun on every rebuild +- `build_tri.py` (standard library only) checks the base sha (`1e1d99ba…`) and the result sha (`090fd574…`). +- `run_controls.py` produces 38 outcomes, all required. The control set is pinned in `LOCAL-PINS-barch-U8.json`. + - C0 identity reproduces the input. + - The recipe word PASSes #645's independent `audit_local.py`. + - Four mutants must each FAIL `audit_local` with a pinned message, both globally and for each of the eight slots + (NAME@X): + - drop_restore: the holder is not restored, giving "all-column endpoint failure"; + - restore_full: the low-end restore is moved into the FULL cleanup, giving "all-column endpoint failure"; + - drop_preread: the inserted entrance pre-reads are omitted, giving "nonzero entrance response"; + - donation_after: the donation is placed after the target read, giving "nonzero entrance response". +- The per-end layer-end controls (`../layers_p6n/layer_end_controls.py`) reject 95. +- PR635's native chain runs, with the canonical word, local programs and Clifford recipes pinned. + +## Strict +NewBArch's strict replay: the #741 map (`G44Pack/m741`, byte-identical OWNERS) is rebound to the U8 locals with +`rewidth.py` and admitted with this package's own code (NEWWORD `admit645.py` on research/gauge44-frames-x's tree). +The result is κ 0.001661948695165034, +3.1404e-7 over research/gauge44-frames-x. The four-slot subset B0 strict-passes +at 0.001661791659578416 and the single slot V1 at 0.001661673902364948. diff --git a/research/gauge44-slots-t16/PROOF-NOTE-BIT.md b/research/gauge44-slots-t16/PROOF-NOTE-BIT.md new file mode 100644 index 0000000000..da06360da0 --- /dev/null +++ b/research/gauge44-slots-t16/PROOF-NOTE-BIT.md @@ -0,0 +1,112 @@ +# PROOF-NOTE-BIT: citing the PR589 bit supplier with a derived rank-mass deficit (gauge44) + +This note is BitCap's `PROOF-NOTE-BIT.md` from `complex-571-cold14-k492-bit589`, adapted to the gauge44 package. It +covers the only verifier change relative to #645's package (`research/gauge44-global`): the bit supplier changes from +PR543 to PR589. The complex side is #645's construction, unchanged: supplier word, recipes and every complex check in +`code/assemble.py`. The only complex-side change is the repacked owner map (`data/PLAN.json`, `data/OWNERS.json.gz`), +with expected values re-derived in `data/SPEC.json`. + +## Changed sites + +The changes are in `code/assemble.py`, plus one new stage in `verify_global.py` and a new file +`code/bit_supplier_controls.py`. The independent (non-verifier) `independent/price_profile.py` is ported to PR589 as well. Every other `.py` file equals #645's. + +| # | site | before (#645) | after | +|---|---|---|---| +| S1 | bit input | `inputs/PR543-EXPECTED.json` from the multicold source, blob pin `b61d8598…` | `inputs/PR589-EXPECTED.json`, shipped in this package, blob pin `e293ddc5…`, through `load_bit` | +| S2 | bit deficit | literal `9984` | `bit_deficit(word, live)` = T(2Kv − L·cst), with L = 9, T = 32, K = (L−1)/2 = 4 | +| S3 | profile binding | (none) | Σ r·n of the bit profile = `bit.rank_mass`; moment width `BIT_M = 1 + 7L` asserted = 64 | +| S4 | pipeline binding | (none) | the record's `nine.pipeline` names the nine-stage template with 32 replicas | +| S5 | citation / receipt | input hash names the PR543 file | `bit_supplier` cites PR589 (head `a5afc8c6`, merged as `b3eb785a`, path `research/e8-bit-p111-tuned/tune/EXPECTED.json`) and records v = 111, cst = 63, COPY ranks [7×9] and the derived deficit 10272 | +| S6 | `verify_global.py` | (none) | stage `bit-supplier-controls` runs `code/bit_supplier_controls.py`; it requires status `PASS_PR589_BIT_SUPPLIER_DERIVED_DEFICIT_NEGATIVE_CONTROLS`, exactly 12 rejected controls and derived deficit 10272 | + +The shipped `inputs/PR589-EXPECTED.json` has git blob `e293ddc557742637f9f679f083a1a282d87b1b13`, which equals +`origin/main:research/e8-bit-p111-tuned/tune/EXPECTED.json`. + +## Why the derived deficit is correct + +**The identity.** The rank-mass identity of #545 and #555 is M·live − mass = T(2Kv − L·cst). Its source is +#555's README, "Rank-mass identity", and `code/adapt9p.py`, whose audit carries `DEFICIT=T*(2*K*V-L*CST)`. + +**The parameters.** The bit word has v live ports and decoder constant cst, the sum of the nine retained totals' COPY +ranks. The nine-stage chain is #463/#510 with 32 replicas, so L = 9, T = 32, K = 4 and M = 1 + 7L = 64. The live data +wires number 2KvT. + +**The constraints checked.** The verifier asserts all of: +1. cst = Σ copy_ranks, with exactly `retained_totals` = 9 entries, each in (0, 8]. +2. live = 2KvT. For #589: 2·4·111·32 = 28416. +3. Σ r·n over the priced profile = the record's `rank_mass` = 1808352. +4. M·live − Σ r·n = T(2Kv − L·cst). For #589: 64·28416 − 1808352 = 10272 = 32·(888 − 567). + +Check (4) is #645's `check_moment` guard, unchanged. So v, cst, the profile and live must all agree. + +**PR543 consistency.** The same formula reproduces #645's constant: PR543 has live = 30720, so v = 120; its nine +totals have COPY rank 8, so cst = 72; 32·(960 − 648) = 9984. + +**The deficit does not raise c.** `check_moment` uses the deficit only as an equality guard. The moment engines +compute from (profile, m = 64, live, z) and never read it. The bit value c is established only by the unchanged +acceptance tests at the same exact endpoints, with the bit bad-residue surcharge retained: accept at c and reject at +c + 10⁻²⁴, by both engines. + +## Effect on the outer chain (differs from the k492 package) + +In the k492 package the complex side bound under either supplier, so κ did not move. Here it does. With the +gm3 map the complex side certifies b = 0.001654663299688920102557, with research/gauge44-bit589's dz1 map +b = 0.00165526410310589140991, and with research/gauge44-bit589b's L1g4 map b = 0.001655496738330440231813. PR543's c = 0.001653826988146798944268 is +below b, so under PR543 the bit side would bind. BitCap's table gives the PR543 bit-side κ cap as +0.001651096360425895, which is exactly the κ of `research/gauge44-repack`. PR589's c = 0.001733427039589844234749 +exceeds b, so the complex side binds again (`binding = complex` in `ASSEMBLY.json`): κ = 0.001651929911890057 for gm3 +(conservative 0.001651929909011672) κ = 0.001652528731617094 for dz1 (conservative 0.001652528728737236), and +κ = 0.001652760598550299 for L1g4 (conservative 0.001652760595670246). +Bit589Reviewer recomputed both suppliers with the outer engine and confirmed this. The gain over gauge44-repack therefore depends on this change and on the +assumptions below. + +## Negative controls (all must be rejected; the verifier requires exactly these 12) + +Each control runs the real `assemble()` on the fresh owner/invoice receipts with one input mutated. The strict run's +`BIT-SUPPLIER-CONTROLS.json` lists all 12 as rejected. + +| control | site | rejected at | +|---|---|---| +| `revert_hardcoded_9984` | S2 | `check_moment` deficit guard (10272 ≠ 9984) | +| `ports_112` | S2 | `bit_deficit`: live ≠ 2KvT | +| `decoder_constant_64_copy_ranks_unchanged` | S2 | `bit_deficit`: cst ≠ Σ COPY ranks | +| `decoder_constant_64_with_one_copy_rank_8` (derives exactly 9984) | S2 | `check_moment` deficit guard | +| `eight_retained_totals` | S2 | `bit_deficit`: totals count ≠ 9 | +| `live_minus_one` | S2 | `bit_deficit`: live ≠ 2KvT | +| `profile_rank_mass_plus_one` | S2/S3 | `check_moment` deficit guard | +| `profile_rank_mass_receipt_mismatch` | S3 | profile mass ≠ `rank_mass` | +| `bit_lower_next_grid` | endpoint | `check_moment` reject-side moment test | +| `not_nine_stage_record` | S4 | pipeline binding | +| `tampered_bytes_next_grid` | S1 | blob pin | +| `pr543_file_under_pr589_pin` | S1 | blob pin | + +Bit589Reviewer re-traced all 12 rejection sites on the gauge44 word (b589gm3), and they match the table: `code/assemble.py` L191 (`revert_hardcoded_9984`, `decoder_constant_64_with_one_copy_rank_8`, `profile_rank_mass_plus_one`), L48 (`ports_112`, `live_minus_one`), L47 (`decoder_constant_64_copy_ranks_unchanged`, `eight_retained_totals`), L201 (`profile_rank_mass_receipt_mismatch`), L197 (`bit_lower_next_grid`), L179 (`not_nine_stage_record`) and L39 (both blob controls). dz1 and L1g4 run the same code. + +The ported `independent/price_profile.py` re-derives the deficit separately (`pr589_deficit`) and checks the same blob pin. Its regenerated receipt on this package's PLAN gives the same κ. + +## Inherited assumptions + +**PR merge status (`gh pr view`, 2026-10-13):** #589 MERGED 2026-10-12T17:00:38Z. #555 was merged 2026-10-12. #645 +is OPEN. Main's review replayed #589 freshly as "supplier-only headroom", and main's *selected* composition still +cites #543. + +**Unmerged assumptions:** +1. **#645 itself (open):** the gauge44 factory, its construction steps and all of its retained interfaces and notes. + These are unchanged here. +2. **This verifier change (S1–S6):** under review (Bit589Reviewer). The PR589 record replaces PR543 as an *input of + the gauge44 assembly*, a composition main has not selected. + +**Assumptions carried by #555/#589 (merged, stated there as review points, not theorems):** +3. #545's punctured unit: a 111-port unit with decoder constant 63 is an admissible bit supplier on the same hypotheses + as v = 120. +4. #510's nine-stage chain as re-parameterised for v ≤ 120 by #555's `code/adapt9p.py`, including the rank-mass + identity used in S2. +5. #543's interleaved scalar-interface lemma (H1–H5) for phase-B source rewrites. This is not new: #645 already + inherits it through PR543. +6. #589's two A-section transports. +7. The same bit bad-residue surcharge model as PR543 (`surcharge_model = {'complex': False, 'bit': True}`). + +## Result + +The bit-supplier change is the same as in research/gauge44-bit589 and gauge44-bit589b: the code is byte-identical and was signed by Bit589Reviewer. For this package (k8 leaver word db2c7cfb, K8c8 map), the complex side certifies b = 0.001674185476674086429846 and binds under PR589. Under PR543 the bit side would cap κ at 0.001651096360425895. κ is given in the README and `RESULT.json`. diff --git a/research/gauge44-slots-t16/PROOF-NOTE-FRAMES-X4.md b/research/gauge44-slots-t16/PROOF-NOTE-FRAMES-X4.md new file mode 100644 index 0000000000..a456a8127b --- /dev/null +++ b/research/gauge44-slots-t16/PROOF-NOTE-FRAMES-X4.md @@ -0,0 +1,58 @@ +# PROOF-NOTE-FRAMES-X4: chafreaky's #741 frames and JointXF's joint exchange (X4) + +Two construction steps on top of research/gauge44-promo-p6k4sw's SW4 word P6k4sw4 (`d232183f…`). + +## 1. #741's eight B frames (`construction/frames/`) +The eight B-gate frame raises are by **chafreaky**, [#741](https://github.com/CrocSwap/integer-mult-bounds/pull/741) +(`research/complex-sw4-frame8`, commit e516b146). `FRAME-RECIPE-sw4.json` is byte-identical to #741's +`data/FRAME-RECIPE.json` (a2c7ca4d…). CompetitorMine ported #741's builder and controls; only package paths are adapted. +The step applies the frames with BlockInvert's `build_promotion.apply` and checks: +- the scalar program of A, cut, B, precondition and cleanup is unchanged; +- start and end frames are unchanged; +- the profile, the widths and the output word `e7804702…` are pinned; +- 3 pin controls are rejected; +- #741's 10 focused native controls are rejected (8 frames emptied, a changed read coefficient, paid-profile tampering); +- the per-end layer-end controls reject 95; +- the native chain matches its pins. + +The rebuilt locals equal G44Pack's F741 locals except the `seconds` field in CLIFFORD-REVIEW. +This step reproduces #741's word. The final word is built by step 2, which contains these frames. + +## 2. Joint exchange X4 (`construction/jx/`, JointXF) +There are four disjoint instances of BRoute's sw4 read-set exchange rule. Each one exchanges *two* copy pairs that +share targets: (448, 472), (458, 592), (470, 604) and (482, 614), with face registers 235, 267, 58, 427, 26, 443, 18 +and 50. #741's eight frames sit on top. The 16 moved reads keep their original stored dim-6 frames: they are +monotone-repaired rather than refitted to the plain join. The recipe `RECIPE-X4.json` is explicit: +- 32 replaced gates, 16 deleted gates and 16 inserted gates, each with its old gate asserted; +- #741's 8 frames, listed with their source; +- 16 explicit frames at the moved reads, each asserted equal to the recomputed frame. + +The builder `build_jx.py` uses only the standard library. It checks: +- target frames lie inside u_t^⊥; +- tails and ends; +- exactness of the whole B segment's rational linear map against the input (a Fraction replay); +- the recomputed paid profile and the output sha `1e1d99ba…`. + +Effect against #741's word: the profile goes {1:2556, 2:334, 3:430, 4:194, 5:56, 8:8} → {1:2548, 2:338, 3:430, +4:194, 5:56, 8:8}. The width inventory is unchanged, and each instance gives +1.0798e-7 at ideal, exactly additive. + +**Controls**, each pinned in the recipe and rerun by `reproduce_jx.py`: + +| control | outcome | +|---|---| +| C0 identity | returns the input `d232183f` | +| C1 #741 only | `e7804702`, #741's word (ties step 1 to step 2) | +| M1 one pair (448) with frames retained | `5fb6fb2e`, neutral (profile = #741) | +| N1 pre-read dropped | rejected: exactness rows [132, 135] | +| N2 pre-read with wrong sign | rejected: exactness rows [132, 135] | +| N3 plain-join refit of the moved reads | `7241cd59`, strictly worse | +| N4 a raise made dim-7 at B855 | rejected: cap at (1302, 174) | + +N3 and M1 are pinned-outcome controls (a specific different word), not rejections. They show the gain needs both the +target-sharing pair and the retained frames. + +**Other checks (JointXF):** +- `audit_local` PASS; +- native chain PASS; +- FrameCoal's global frame optimiser reaches the same profile on this move set, so X4 is frame-optimal for these moves; +- SW4Extend found the same word independently. diff --git a/research/gauge44-slots-t16/PROOF-NOTE-LAYERS.md b/research/gauge44-slots-t16/PROOF-NOTE-LAYERS.md new file mode 100644 index 0000000000..c4b4e85b6a --- /dev/null +++ b/research/gauge44-slots-t16/PROOF-NOTE-LAYERS.md @@ -0,0 +1,129 @@ +# PROOF-NOTE-LAYERS: earlier jp8 layers, here stacked on the no-triangle gauge44 word + +> In this package the layers sit on the no-triangle word (R = 504), not on #645's 492-helper word. The mapping, the +> NP chain (regroup `864ff4a1` → swap `beb3579f` → layered `a9de804f`), the per-layer status on this base and the +> checks are in `PROOF-NOTE-NOTRI.md` ("Layers on this word"). The text below is research/gauge44-layered's note. It +> describes the same layers and controls on the 492-helper word; its word shas, helper numbers, counts and result +> table refer to that word. + + +This note covers the second change of research/gauge44-layered relative to research/gauge44-bit589. The first change, +the PR589 bit supplier, is covered unchanged by `PROOF-NOTE-BIT.md`. Here the community jp8 layers that were reviewed +on the k492 words (#629/#637/#641 lineage) are re-applied to #645's gauge44 provider word. The layers, their +construction code and their recipes were all reviewed earlier, on k492 words. This note says what carries over +unchanged, what is re-checked on the gauge44 word, and what is new. Sources: G44Stack's report (porting and checks on +gauge44); PivotReviewer's report (sections 1-4, Addenda 3-5); H4aReviewer's report (Addenda 7-8); JP8Ends' report. + +## What the layered word is + +`construction/layers/reproduce_layers.py` builds the layered word from a fresh `construction/reproduce.py --until word` +output. Each step is checked exactly: + +1. **Pivot swaps** (`build_pivot_swap.py`, PR641's constructor, LF sha256 `8e8bced8…`, the file PivotReviewer signed for + st2s4). It reads `PIVOT-SWAP-S6.json` and runs on #645's `regroup/FULL-WORD`. There are six pivot-role swaps: 488→560, + 489→561, 500→572, 501→573 (s4) and 513→537, 525→549 (s6). The `swaps` list is identical, gate for gate, to S6Ship's + s6/s6j3 recipe (`k492-jp8-pivot_swap.json`); only `input_content_sha256` differs, because the base word is #645's + regroup word. The constructor replays the zero response exactly, keeps the profile and width multiset unchanged, and + rejects its 30 negative controls. +2. **HPE.** PR635's `build_hpe.apply` applies the inherited jp8 hyperplane-end changes (`HYPERPLANE-END-S6.json`). Its + LF sha256 `23c9d7ce…` equals the k492 jp8 hyperplane_end recipe committed in s6j3 and earlier. +3. **cold44, exactly.** #645's `build_gauge_cold44.py` runs on the swapped HPE word. Its 44 rank-four cold ends, premix + and low tails must equal the unswapped (pinned) cold44 construction; only the FULL inverse differs. Consequently the + swaps touch no factory block. +4. **Layers.** PR635's unchanged `build_cold_end.apply(HPE, COLD-LAYERS-RECIPE)` applies the cold44 recipe plus: + - 8 entering ends: 560/561/572/573 at U24 (s4) and 597/599/537/549 at U30 (x30: #629's E1 pair, which #645 dropped, + plus s6's two ends); + - 10 factored dim-8 cold ends: p123 (310/506, 311/504, 516/327) and q4 (579, 592, 589, 518). + The output word's sha256 is pinned (`0be48b1d…`), as are its local profile `{1:2542, 2:414, 3:434, 4:154, 5:56, + 8:8}` and width inventory `{4:52, 5:48, 7:42, 8:116, 9:234}`. The recipe's `refactored_cleanup` meta lists the 8 + entering ends in `entering_low_frame_ended_helpers` (LayerReviewer's fix). That meta is copied into the word, which + is why the pinned word sha moved from `b25f0ed9…` to `0be48b1d…`; gates, frames and report are unchanged. +5. **Layer-end controls** (`layer_end_controls.py`, LayerReviewer's adaptation of PR635's `cold_end_controls.py` + d966e29a). These are raw-word negative controls on the layered word, judged by PR635's unchanged + `hpe_audit_and_transport.py`. Each mutant must be rejected at its pinned reason. The adaptation has three parts: the + lower→FULL mutant is pinned at "cleanup on non-FULL end", where gauge44 rejects it; entering ends come from the + recipe meta; and the premix-gate controls are skipped for entering ends that have no premix gate. `reproduce_layers.py` + requires exactly 59 rejections. +6. **Native locals.** PR635's native audit and transport, ledgers, local replay (the 192-bit payload bound), wrappers and + phases all pass. The result is the `--local` that `verify_global.py` consumes. + +G44Stack's run of this driver (`rlayers2`, all steps exit 0, 59 controls rejected) reproduces `locs/pq/local`, the +local G44Pack's strict runs used. Every SPEC-pinned artifact is byte-identical: CANONICAL-WORD, LOCAL-PROGRAMS, +LOCAL-CHECKS, INDEPENDENT-LOCAL-REPLAY, CLIFFORD-RECIPES, RESIDUAL-ADAPTERS and WRAPPER-CHECKS. CLIFFORD-REVIEW differs +only in a seconds field; its semantic hash is what SPEC pins. The two unpinned files that embed the word, +FULL-WORD and SCALAR-FRAME-AUDIT, differ because of the meta. + +## Per-layer status on gauge44 (G44Stack, ideal Δκ at ×72) + +| layer | prior review (k492 words) | on gauge44 | per-call Δ profile | ideal Δκ | +|---|---|---|---|---| +| pivot swaps (6) | PivotReviewer §1-2 (s4), Addenda 4-5 (s6): exact; omitting any rewritten gate is rejected; cost-neutral | all 6 recipe `before` gates match the regroup word; 30 controls rejected; cold44 rebuilds the same 44 ends | neutral | 0 | +| s4 ends 560/561/572/573 @U24 | PivotReviewer §3: (N) exact for ([24], U24) and its canonical pair; climbs paid | positive | {1:+8, 2:−4, 3:+4, 4:−4}, w −4 | +7.0e-8 | +| x30: E1 597/599 + 537/549 @U30 | #629 (E1); PivotReviewer Addenda 4-5 (537/549 end monotonically at the E1 hyperplane, whose (N) is exact) | positive | {1:+10, 2:−6, 3:+2, 4:−2}, w −4 | +2.0e-7 | +| p123 | H4aReviewer Addendum 7: 0 bad rows, dyadic, exact in all 3 orientations; (N) for (0,1039)-(0,1041); Δ recomputed | positive | {1:+6, 2:+12, 3:−12}, w −6 | +2.0e-8 | +| q4 (after p123) | H4aReviewer Addendum 8 (n_q4): exact; (N) for the 310/311/327 frames and 518's (0,1042); independent of u4 | positive | {1:+4, 2:+8, 3:−8}, w −4 | +1.4e-8 | +| **stack T_pq** | — | built and audited | {1:+28, 2:+10, 3:−14, 4:−6}, w 3794→3776 | **+3.08e-7** | + +These layers were left out because they are negative or dead on gauge44: u4 (−1.2e-6), the 249 end (−3.2e-7), a joint +p123+q4 (−2.6e-7, worse than sequential), and #627's dim-7 ends 581/590 (no dyadic basis). j3 is dead: its st2 partner +403 is one of #645's 44 ends, and cold44's block premix uses up the row space. + +**Payload.** H4aReviewer's Addendum 8 correction found that the k492 word n_q4 broke the 192-bit local payload bound +(backward prefix 280 bits). On gauge44 the layered word passes PR635's `hpe_audit_local.py` local-replay stage +(`prefix < 2**192`), both in G44Stack's `localchain.py` and as step 5 of `reproduce_layers.py`. So the q4 layer here +does not repeat that failure. + +## Verifier changes (spot widths) + +A swapped-out pivot p becomes an ordinary cold helper, and its width goes from 8 to 9. #645's global code checks the +spot helpers' widths as all 8, so the five global files gain the spot-width rule PivotReviewer signed as SOUND for +S4Ship (Addendum 3), ported to gauge44: + +- `code/witness.py`: `spot_widths(v)` gives 9 at a spot helper h with 2v+h among the swapped-out pivots and 8 + elsewhere. The swapped-out pivots are read from the recipe that SPEC key `pivot_swap` names (path and sha256; the + sha256 is asserted). Without `pivot_swap` the tuple is all 8, the same as #645. +- `code/bind_providers_portable.py`, `code/audit_allcold.py`, `code/assemble.py`: the `all(... == 8)` spot checks become + tuple equality with `spot_widths()`, which pins every spot width exactly. +- `code/assembly_controls.py`: the `cold_swap` control picks a swap partner whose width differs, so the mutant can + never be the identity. + +Here the spot helpers 264 and 276 (pivots 488 and 500) expect width 9 and the other spot helpers expect 8. The k492 +spot-width review (PivotReviewer Addendum 3) covered the same rule on k492 code. Its gauge44 port is part of this +package's review (LayerReviewer). + +## Controls and what is not re-run + +- The pivot-swap constructor's 30 controls run inside `reproduce_layers.py` (step 1). +- `verify_global.py`'s strict controls are unchanged, including the 12 bit-supplier controls and #645's admission + controls. They run on the layered locals. +- Layer-end controls: 59 raw-word mutants, all rejected at pinned reasons, run as step 5 of `reproduce_layers.py` + (see above). They cover the cold low-frame ends, the refactored cleanup, every entering end (its lower-frame gate, + profile pin and hyperplane, plus its premix gate where it has one) and each distinct dim-8 frame. LayerReviewer ran + them on the layered word (59 rejected). The k492 version (d966e29a) rejected 103-112 on the p123/q4 words; the + k492-only primitives (absorptions, factored accumulators, target writes) are absent from this word. +- #645's independent audit `independent/audit_local.py` on the layered word: PASS, with 204 entering helpers, 96 low ends, + 54 cold ends and 716 columns. Its receipt is `evidence/layers/LOCAL-AUDIT-LAYERED.json` (word `0be48b1d…`, run with + `--main`). The README's clean-clone command reruns it; only `elapsed_seconds` varies. The other `independent/` + receipts are #645's own. +- The prior (N), exactness and pricing checks for each layer were done on k492 words. On gauge44 they are covered by + the native chain (native audit, local replay, wrappers, phases) on the layered word, together with the pinned + profile and width inventory. + +## Inherited assumptions + +These are the same as `PROOF-NOTE-BIT.md` (#645 open; PR589 citation; #545/#555/#589 review points; H1-H5). In +addition: + +1. **(N) for the entering-end pairs outside #599's three Lean-covered pairs** (U24, U30, the dim-8 frames). As on + k492, these are covered by the tool check (clifford_exact / `nchk.py`) and by the native wrappers, not by a Lean + proof (PivotReviewer §3). +2. **The reviews of PR641's pivot-swap constructor and PR635's `build_cold_end.apply` / `build_hpe.apply`**, which this + package uses unchanged. + +## Result + +| | gauge44-bit589b (L1g4 map) | this package (layered, LN5c map) | +|---|---|---| +| κ | 0.001652760598550299 | 0.00165395497190225 | +| per-call width | 3794 | 3776 | +| local profile | #645's {1:2514, 2:404, 3:448, 4:160, 5:56, 8:8} | {1:2542, 2:414, 3:434, 4:154, 5:56, 8:8} | diff --git a/research/gauge44-slots-t16/PROOF-NOTE-LEAVER.md b/research/gauge44-slots-t16/PROOF-NOTE-LEAVER.md new file mode 100644 index 0000000000..b34a289c48 --- /dev/null +++ b/research/gauge44-slots-t16/PROOF-NOTE-LEAVER.md @@ -0,0 +1,82 @@ +# PROOF-NOTE-LEAVER: no-helper mutable-leaver all-K cells, re-stacked layers, hybrids and a frame re-optimisation (k8) + +Construction: LeaverSAT (cells, layer re-indexing, frozen recipes) and LeaverSAT2 (frame re-optimisation). +Drivers: `construction/leaver/reproduce_leaver.py` (cell word) and `construction/leaver/reproduce_leaver_chain.py` +(everything after it). Reviews: PromoReviewer (leaver chain, k8 cells and frames, k8 clean rebuild), SW4Reviewer (hybrid structure), Q6Reviewer +(`layer_end_controls_leaver.py` v2, `LEC-REASON-PINS-k8.json`), LecReviewer (`LEC-REASON-PINS-STACK-k8.json`). + +## 1. The cell (set model, LeaverSAT) +In #781's all-K cell, a pair p with sign e replaces three face events and three packet copies. Direct delivery uses +15 reads y_i += c x_j. LeaverSAT's 21-gate circuit uses the six leaver sources x_j (face-event operands with no later +reads, restored at FULL by the inherited cleanup) as mutable intermediates. It has 3 leaver gates x_k += c x_m, +3 target gates y_a += c y_b (inverted at frame zero in the precondition and scatter, #781's recipe) and 15 reads. +Coefficients are rescaled exactly per cell, C_ij = r_i c_j. The driver re-derives the scaled gates from the unit +circuit and checks the clean map Y_i = Σ_j C_ij X_j in exact rationals. + +Native legality needs one relabelling: the plain circuit fails the native audit, because a y += y source carries +port-stage entering-helper dirt. Each cell is therefore relabelled by S6 so that y–y sources avoid targets carrying +entering dirt at that time. + +**Set k8:** all eight cells (01±, 23±, 45±, 67±), R = 480. The cores are in `construction/leaver/cells-k8/` (documentary; +the driver re-derives every scaled gate from `CODED-CELLS-k8.json`). The regroup word is `00aeefe0…` and the cell word is +cold44 `58e14a02…`. Its pairing ranks are pinned to [0,0,0,4,4,4,4,4,4,4,4,0,0,0] in `cold44x.py` and checked again in +the driver. + +## 2. Re-stacked layers (LeaverSAT; signed builders unchanged, recipes re-indexed) +| step | recipe (data) | word | +|---|---|---| +| pivot swaps (6), mapped through the leaver helper map | `PIVOT-SWAP-k8.json` | `377ab10c…` | +| HPE, greedy (22) | `HPE-RECIPE-k8.json` | `598543fa…` | +| cold44, exact (same ends, premix and tails as the unswapped cell word) | — | — | +| NP layers (s4, x30, b6, q4) | `COLD-LAYERS-RECIPE-NP-k8` | `2c1740f6…` | +| p6n ends | `COLD-LAYERS-RECIPE-P6N-k8` | `25c40614…` | +| promotions (16, minimal) | `PROMO-RECIPE-k8.json` | `84d4da2e…` | +| joint exchange (re-indexed X4) | `RECIPE-X4-k8.json` | `84d4da2e…` (identity) | +| U8-style hybrids ×6 (NewBArch's builder; instances 62, 226, 228, 230, 231, 232) | `RECIPE-U8-k8.json` | `c836d892…` | +| frame re-optimisation (exact global frame optimum, gopt2; 137 B and 2 T frames) | `FRAME-RECIPE-LV-k8.json` | **`db2c7cfb…`** | + +Three steps don't apply to k8. The sw4 exchanges use copy helpers 461, 581, 591 and 603, which the cells drop. Of +#741's eight frames, none survives. All four X4 exchange groups use dropped helpers, so the joint exchange is the +identity (0 raises, 0 frames); it is still run, with its three remaining controls (C0, C1, N3) at their pins. + +The two cold-layer recipes are LeaverSAT's frozen k8 recipes (`fea82fb8…`, `76aedf23…` as .gz) with one key added, +`input_content_sha256` = the swapped HPE word `598543fa…`, as in the k5 package. Removing the key gives the frozen +recipe content exactly. + +## 3. Controls rerun on every rebuild +- **Cell stage:** the exact clean-map check; native audit, ledgers, local replay, wrappers and phases on the cell word. +- **Pivot swaps:** the swap constructor's 30 controls. +- **Promotions:** BlockInvert's `promo_controls.py`, 11 mutants rejected at pinned sites. +- **Joint exchange:** the 3 `RECIPE-X4-k8` controls reproduce their pinned outcomes. +- **Hybrids:** `run_controls.py` gives 30 outcomes, all required. These are C0, the recipe word passing audit_local, + and 4 mutants, each run both globally and per instance. +- **Frames:** `build_frames_lv.py`'s 3 pin controls. LeaverSAT2's 6 frame-recipe mutants are rejected by the builder; + that receipt was reviewed by PromoReviewer and is not rerun. +- **Layer-end controls:** `layer_end_controls_leaver.py` v2 (`4ba676f1…`), Q6Reviewer-signed. It is the signed + per-end controls with per-word reason re-pins and **declared not-applicable sites**. A vacuous mutant site is never + skipped silently: the pins file must declare it, the declared set must equal the detected set, an identity is proven by + sha equality of the mutated and honest words, and a same-class substitute mutant is built and must be rejected at the + class's pinned reason. The count stays 95 on every word. The controls run on all five words: + - p6n, promoted, jx and hybrid words, with `LEC-REASON-PINS-STACK-k8.json`: `extra_end` only. h0 273's first + premixed partner 282 is already cold-ended at h0's frame, so the mutant is the identity (sha-proven per word); the + substitute is partner 281, cold-ended at h0's frame. + - the re-framed final word, with `LEC-REASON-PINS-k8.json`: `extra_end` as above, and `other_hp:554`. The frame + re-optimisation lowers entering end 554's tail frame to dimension 5, and no helper_final frame has dimension 5, so + the 'end at another hyperplane' mutant cannot be built; the substitute moves 554's end to another dim-8 frame and + must be rejected at the cone pre-check. This replaces the interim skip of research/gauge44-leaver. + No reason re-pins are needed on the k8 words. The receipts (`COLD-END-CONTROLS.json`) carry the not-applicable list; + the counts, the not-applicable sites with their reasons and the sha256 of each pins file (`LEC-REASON-PINS-STACK-k8.json` + d87ed7b5…, signed by LecReviewer; `LEC-REASON-PINS-k8.json` b07279e4…, signed by Q6Reviewer) are pinned in + `CHAIN-PINS-k8.json`. +- **Native chain on the final word:** the canonical word, local programs and Clifford recipes are pinned in + `CHAIN-PINS-k8.json`, which also pins every count above. + +## 4. Cell mutants (evidence, not rerun) +LeaverSAT2's `CELL-MUTANTS-LV.json` (in `evidence/leaver/`) records PromoReviewer's cell mutants M1–M6, generalised +to every cell sign. All 42 are rejected by both audit_local and the native audit, on single-cell builds. + +## 5. Strict +The owner map is G44Pack3's K8c8: its pattern-flow LNS on the R = 480 k8 word. Admitted on this package's own code, +with SPEC `width_spot_helpers` [258,270,282,294] and `pivot_swap` → `construction/leaver/PIVOT-SWAP-k8.json` (NEWWORD +discovery, freeze, strict), it gives κ 0.001671387264390146. That is +7.154e-6 over research/gauge44-leaver (k5, +0.001664233607446043). diff --git a/research/gauge44-slots-t16/PROOF-NOTE-NOTRI.md b/research/gauge44-slots-t16/PROOF-NOTE-NOTRI.md new file mode 100644 index 0000000000..54bd84e01d --- /dev/null +++ b/research/gauge44-slots-t16/PROOF-NOTE-NOTRI.md @@ -0,0 +1,53 @@ +# PROOF-NOTE-NOTRI: #645's gauge44 word without K-triangles (R = 504) + +Construction by PartialK; review by NotriReviewer (scratch/NotriReviewer/FINAL-REPORT.md). Drivers: +`construction/notri/reproduce_notri.py` (this word) and `construction/layers_np/reproduce_np.py` (layers on it). + +## Why the triangles were the blocker +- In #645's gauge44, a K-block has I = 6 low registers with rank C = 4, so L = 2. Only the 2-row priority completion + fits there. The (p,−) triangle reads climb copies loc17/19/21 and source loc2. +- Without the triangles, I = 8. With the 2-row completion, rank C stays 6 (L = 2), which is why the plain removal sweep + restored nothing. With the 6-row completion (`PRIO6.json`, the list blocks 3–10 already use), rank C = 4, so L = 4, + the cap. All 14 blocks then pair at rank 4: 56 rank-four cold ends, R = 504, width 3818, profile + {1:2506, 2:336, 3:472, 4:184, 5:56, 8:8}, rank mass 5674. + +## Constructor changes (NotriReviewer §1) +- **`cgx.py`** is #645's `construct_gauge_xcentre.py`, parameterised by XPARAM. On this path the only change that takes + effect is the K-block priority: `PRIO[c]` is placed in front of the inherited rows. The prepended rows equal the + shared 6-row list of blocks 3–10 (all 8 lists identical). Every completion assert is kept (`qr_rank(M)==4`, + `len(M)==8`, the exact block-total rows). An empty TRI schedule is an input #645 already supports (`NH = 504 − 3·0`). + `HELPER-MAP` is the identity on 728. The `exch`, `COPYL` and `hyb` branches are inert here (defaults, empty, not + reached). +- **`port_stage_x.py`** is PR635's `build_port_stage.py`. The helper map only has to be injective rather than onto; + with no triangles it is onto again. +- **`cold44x.py`** is #645's `build_gauge_cold44.py`. Its per-block pin `r == len(L) == (2 if K-block else 4)` is + replaced by `r == len(L)` together with the explicit per-block pin `PAIRING_RANKS` (set by the driver to [4]*14, + and to #645's pattern in `--control-g44`). Helpers outside the 224+16b ranges join their blocks (EXTRAH, empty here). + Every other assert is kept (U, nonlocal premix, `rank(Qmat) == NB`). +- **Control.** `reproduce_notri.py --control-g44` runs the same scripts with #645's four triangles and no XPARAM. It + reproduces #645's gauge44 word `78c7aada…` exactly, with ranks [2,2,2,4,4,4,4,4,4,4,4,2,2,2]. + +## Exactness and locals (NotriReviewer §2) +- Replay: 0 bad rows over 27,932 gates, all dyadic; forward, inverse and adjoint are exact. None of the 6,448 + compensation additions reads an ended helper, and the precondition never touches one. +- 0 FULL-remainder gates touch an ended helper; E⊂U holds for every entering end. The delta against gauge44 + ({1:−8, 2:−68, 3:+24, 4:+24}, width +24) matches the reported profiles. +- (N): all 17 pairs pass (14 cold dim-4 pairs with 4 helpers each, plus 3 dim-8 entering pairs). +- `audit_local.py --main`: PASS. Payload: prefix bits 66 forward and 72 backward, against 192. +- Native locals: 25 controls rejected, Lemma A on 22 frames, 17 wrapper mutants rejected. The rebuilt locals equal + the strict locals (`PartialK/runs/none_p6/local`): byte-identical except CLIFFORD-REVIEW and SCALAR-FRAME-AUDIT, + which differ only in their `seconds` field. + +## Layers on this word (G44Stack) +The layers are research/gauge44-layered's (see `PROOF-NOTE-LAYERS.md`), mapped to the 504 numbering: +- the 6 pivot swaps 494→566, 495→567, 506→578, 507→579, 519→543, 531→555, which are neutral (same 46 HPE helpers, + same 56 cold ends); +- s4 566/567/578/579 at U24; +- x30 608/610/543/555 at U30; +- BlockCombine's b6; +- q4. + +p123 is negative on this base and dropped; j3 is dead (L = 0 at U24 and U30). The chain is regroup `864ff4a1` → swap +`beb3579f` → layered `a9de804f`, with profile {1:2534, 2:346, 3:458, 4:178, 5:56, 8:8} and width 3800. On that word +the signed `layer_end_controls.py` rejects 59/59 and `audit_local.py` passes with 216 entering helpers, 120 low ends, +66 cold ends and 728 columns. NotriReviewer independently reproduced a9de804f from the packaged recipes. diff --git a/research/gauge44-slots-t16/PROOF-NOTE-P6N.md b/research/gauge44-slots-t16/PROOF-NOTE-P6N.md new file mode 100644 index 0000000000..bef9ad2de0 --- /dev/null +++ b/research/gauge44-slots-t16/PROOF-NOTE-P6N.md @@ -0,0 +1,34 @@ +# PROOF-NOTE-P6N: six b-type dim-8 cold ends on the layered no-triangle word (p6n) + +Construction by NoTriReopen. Driver: `construction/layers_p6n/reproduce_p6n.py`. Review: Q6Reviewer. + +## What p6n adds +On research/gauge44-notri-layered's word NP (`a9de804f…`), p123's lane is rebuilt as three factored dim-8 pairs +(`P6N-SPEC.json`): +- [512, 513] at U = (256,128,66,34,16,8,6,1). The old pair [310,512] split a rank-3 end; [512,513] replaces it; +- [311, 510] at U = (256,128,72,40,24,4,2,1); +- [522, 327] at U = (256,128,66,34,18,10,6,1). + +They are built with the same premix-only factored construction as p123/q4/b6 (JP8Ends' stackJ/stackE, CarrierBypass +pattern; PR635's unchanged `build_cold_end.apply`). The cold-layer recipe `COLD-LAYERS-RECIPE-P6N.json.gz` is NP's +recipe plus these six ends; its meta lists 72 cold ends and the 8 entering ends. Applied to NP's swapped HPE word, it +gives p6n `34b683fa…`: +- profile {1:2540, 2:358, 3:446, 4:178, 5:56, 8:8}; +- widths {4:64, 5:48, 7:54, 8:122, 9:216}; +- width 3794 (NP 3800); +- Δ per call {1:+6, 2:+12, 3:−12}, w −6, every end b-type. + +## Checks +- **NoTriReopen:** native chain including phases PASS; audit_local PASS; 95/95 layer-end controls rejected. +- **Q6Reviewer:** + - exact; + - (N) passes on all 21 pairs; + - payload 55/72 bits, against 192; + - the per-end control variant `layer_end_controls.py` (fc58c569…, which Q6Reviewer signed for research/gauge44-pq6) rejects 95/95; + - 165 further mutants on the six ends are all rejected. + The LayerReviewer-signed `../layers/layer_end_controls.py` controls one end per dim-8 frame family, so it would not + control each new end. This package therefore uses the per-end variant for p6n and for the promoted word built on it. +- **Rebuild:** `reproduce_p6n.py` pins the input NP word, the output sha, profile and widths, and 95 controls. + +## Remaining capacity (NoTriReopen) +After p6n, the only residual cold capacity on the word is 2 a-type units, and every end there prices about −9e-7. diff --git a/research/gauge44-slots-t16/PROOF-NOTE-PROMO.md b/research/gauge44-slots-t16/PROOF-NOTE-PROMO.md new file mode 100644 index 0000000000..8233bbd6b8 --- /dev/null +++ b/research/gauge44-slots-t16/PROOF-NOTE-PROMO.md @@ -0,0 +1,46 @@ +# PROOF-NOTE-PROMO: entrance promotions E4 → E5 on the p6n word + +Construction by BlockInvert (`construction/promo/`); driver `construction/promo/reproduce_promo.py`. + +## What a promotion is +An entering helper h starts at an entrance frame E (its `start_extra`) and climbs to its final frame. Promotion +enlarges E to E′ ⊃ E (here dim 4 → dim 5). That removes one paid climb from h's chain (width −1 per helper) at the +cost of re-choosing the frames of the gates on h's early chain. It is the time-reverse dual of end deepening. Two +conditions make it legal: +1. **Zero target response for h's dirt.** This condition does not depend on E, so it is inherited unchanged from the + input word. +2. **Monotone frames.** Every gate's frame must contain its registers' current frames. +Only frame annotations and start frames change. The scalar program (every gate's registers and coefficients) is +untouched, so the endpoint, every cone and the compensation are those of the input word. + +## The recipe (`PROMO-RECIPE-p6n-k4.json`, data only, minimal) +- Input: the p6n word `34b683fa…` (`PROOF-NOTE-P6N.md`), pinned. +- `entrances`: the 16 entering helpers 627, 629–631, 635, 637–639, 651, 653–655, 659 and 661–663 (four E4 kernel groups) go E4 → E5. +- `gate_frames`: 48 frame re-choices, the promotion's own entry-gate raises (12 per group); each records the old frame, + which must equal the input's exactly. This is BlockInvert's **minimal** recipe: the deterministic rule + E′ = E + ⟨smallest x⟩ on each group's entry gates (PromoReviewer). Unlike research/gauge44-promo's k3 recipe, it + carries none of the 72 price-neutral CP-SAT re-choices. +- `expected`: output `0390ec65…`, profile {1:2572, 2:326, 3:430, 4:194, 5:56, 8:8}, widths + {4:80, 5:32, 7:54, 8:122, 9:216} (width 3778). Against p6n the delta is {1:+32, 2:−32, 3:−16, 4:+16}, width −16. + +## Checks rerun on every rebuild (`reproduce_promo.py`) +- `build_promotion.py`: input pin; each old frame matches; each new entrance strictly contains the old one; the + profile and widths are recomputed from the chains, including target end climbs; output pins. +- `promo_controls.py`: the honest word passes #645's independent `audit_local.py` (exact forward and dual endpoint + frames, entrances, cones). For p6n-k4, 11 mutants are rejected at pinned sites (the count is pinned in `LOCAL-PINS-p6n-k4.json`): + - entrance outside the first gate frame; + - raised gate missing, once per promoted group; + - entrance reverted, so the profile does not match; + - ungrouped promotion; + - a recipe gate whose old frame is wrong; + - a recipe entry that is not a promotion; + - a tampered input word (the constructor's own `__main__` must refuse it at the input pin); + - a scalar tamper on a raised gate. +- The per-end layer-end controls (`../layers_p6n/layer_end_controls.py`, Q6Reviewer-signed): 95 rejected. +- PR635's native chain: transport audit (all columns, native frames), ledgers, local replay (192-bit payload), + wrappers and phases, with the canonical word, local programs and Clifford recipes pinned (`LOCAL-PINS-p6n-k4.json`). + +## Search (not run by the rebuild) +`make_recipe.py` writes the recipe from BlockInvert's CP-SAT solution (`prom.py` with `exactframe2.py`, using MinCutSel's +chain model). These promotions were priced negative before (MinCutSel #3, under a fixed-window arc-flow packer). Under +near-ideal packing (G44Pack's dissolve/gapmerge) they price positive; the strict replay confirms the gain. diff --git a/research/gauge44-slots-t16/PROOF-NOTE-SW4.md b/research/gauge44-slots-t16/PROOF-NOTE-SW4.md new file mode 100644 index 0000000000..a064cc54cc --- /dev/null +++ b/research/gauge44-slots-t16/PROOF-NOTE-SW4.md @@ -0,0 +1,44 @@ +# PROOF-NOTE-SW4: read-set exchange on four entering-copy pairs + +Construction by BRoute (`construction/sw4/`, with the author's notes in `construction/sw4/NOTES.md`). Driver: +`construction/sw4/reproduce_sw4.py`. + +## The move +In P6k4 (`0390ec65…`; research/gauge44-promo-p6sw applied the same exchange to P6k3 `a38bb414…`), each of four entering packet copies h is written first as h = E_h + r: copy gate add(h, r, 1) +from a non-target face register r, with E_h being h's entering content. The pairs are (h, r) = +(461, 25), (581, 89), (591, 415), (603, 431). For each pair the read sets of h and r are exchanged in phase B: +- every post-copy target read add(t, h, c) becomes add(t, r, c), and t's entrance pre-read add(t, h, −c) (taken + while h = E_h) is deleted; +- every target read add(t, r, c) becomes add(t, h, c), with a pre-read add(t, h, −c) inserted after h's last existing + pre-read and before h's copy gate. + +Since h − r = E_h after the copy, each target's value is unchanged at the end of B. The builder checks this for every +register mod p (p = 2147483629). Moved and inserted gates take the plain join of their operands' current frames. +Every other B gate and every early-cleanup tail keeps span(old frame + current operand frames). Targets must stay +inside u_t^⊥, and tails and ends must contain the current frame. start_extra, helper_final, cleanup and the helper +numbering are unchanged. + +## Effect +Output `d232183f…`. Width 3778 is unchanged. The profile goes from {1:2572, 2:326, 3:430, 4:194, 5:56, 8:8} to +{1:2548, 2:342, 3:438, 4:186, 5:56, 8:8}, a delta of {1:−24, 2:+16, 3:+8, 4:−8}, the same as on P6k3. The four +exchanges are additive. The fourth promotion group (659, 661–663; gates B420–431) commutes exactly with the exchange: +there is no index or register overlap, and SW4Reviewer checked that applying the k3→k4 frame and start differences +to f35a852b gives d232183f. Ideal κ +3.271e-7 over P6k4. + +## Checks rerun on every rebuild +- `build_sw4.py` (standard library only): the input sha pin; the 16 explicit moves of `SW4-RECIPE-P6k4.json`; B-end + state exactness mod p; frame caps, tails and ends; the output sha, profile and W. It also runs 4 controls, all of + which must hold, each at the exact site pinned in the recipe's `rejection_expected` (all three keys N1, N2 and N3 are required): + - C0: the identity recipe reproduces the input B and early_cleanup byte for byte; + - N1: h2r without deleting the pre-read is rejected by exactness, with changed B-end rows exactly {168, 171}; + - N2: a partial exchange (one read only) is rejected by the frame cap, first at ('cap', B1192, register 169), 10 violations; + - N3: an inserted pre-read with the wrong sign is rejected by exactness, with changed rows exactly {129, 130, 169, 170}. +- The per-end layer-end controls (`../layers_p6n/layer_end_controls.py`, Q6Reviewer-signed): 95 rejected. +- PR635's native chain, with the canonical word, local programs and Clifford recipes pinned (`LOCAL-PINS-sw4-P6k4.json`). + The native transport audit re-checks every column and native frame of the exchanged word. + +## Scope of the search (BRoute) +The search was exhaustive within the single-pair family only. NP has 107 copy pairs, and 54 of them have movable +reads. Over those, every nonempty subset of one pair's movable reads gives 602 candidates: 564 are frame-illegal, and +the 38 legal ones are all full single-pair exchanges, of which exactly these 4 are positive. Cross-pair combinations +of partial moves were not enumerated. diff --git a/research/gauge44-slots-t16/README.md b/research/gauge44-slots-t16/README.md new file mode 100644 index 0000000000..a584e0a8ad --- /dev/null +++ b/research/gauge44-slots-t16/README.md @@ -0,0 +1,305 @@ +# Sixteen replicas on the seven-slot k8 word (#1018): conditional κ = 0.001672654541898561 + +This package runs the two-bank T16 whole-owner controller on [research/gauge44-slots](../gauge44-slots) (#1018). +The local word (`c2b29430…`), its 480 helper widths and the PR589 bit supplier are unchanged. The only new +object is a 16-replica owner map. + +- **κ = 0.001672654541898561** (conservative 0.001672654539046638). That is +9.89×10⁻⁷ over #1018's T8 + κ 0.00167166528321877. The complex side binds. +- **Change:** T16 on #1018. `data/OWNERS.json.gz` (`d7e11f5f…`, 69,120 whole-helper roles, 144 calls) is an exact + pattern-flow LNS repack (integer pattern counts + König edge colouring) on the actual T16 window geometry. It is + frozen data. The verifier runs no constructor and no optimizer: `t16/lift16.py` checks every role inside its + owner's actual bridge-aware window, the controller audit re-derives the profile, and `t16/indep16.py` independently + rechecks windows, whole widths, charts, prefix and row. Idle profile `{1:2280, 3:378, 7:6, 48:4866}`. + Prefix 397 < 512; physical row coefficient 16469 < 20161. +- **Code:** `code/` is byte-identical to the signed research/gauge44-barch-t16 code (the #870 T16 adaptation of + #858's source edits). `t16/` holds #858's `build_parent.py` and the generic-R `lift16.py`/`indep16.py` (R taken from the + word; the parent namespace stays at 504). The T8 package's `data/` moves to `data/T8/` and `data/SPEC-T8.json`; + the `bind8` stage replays #1018's T8 admission. +- **Controls:** 69 admission, 12 bit-supplier, 15 controller mutations and 6 independent T16 controls. +- **Credit:** the T16 two-bank controller, parent lift, actual-window reconstruction and independent checker are + Hao Yan's (@FanPUYen) [#858](https://github.com/CrocSwap/integer-mult-bounds/pull/858). The T16 code adaptation is + from #870. The word and T8 package are #1018's (rohanarun's #987 slots on the #1005 leaver word). + +## Verification + +```sh +# 1. #1018's own replay (research/gauge44-slots README): it writes the new word's locals to /tmp/slots/local +python -B research/gauge44-slots/construction/slots/verify_slots.py \ + --main . --pr635 /tmp/gauge44-pr635 --baseline /tmp/lvc --work /tmp/slots +# 2. this package (about 2 minutes) +python -B research/gauge44-slots-t16/verify_manifest.py +python -B research/gauge44-slots-t16/verify_t16.py --main . --local /tmp/slots/local --work /tmp/slots-t16 +# PASS_GAUGE44_T16_STRICT_GLOBAL_REPLAY 0.001672654541898561 +``` + +Step 1 must use research/gauge44-slots itself: this package's inherited `verify_global.py` is removed, and the T8 +admission runs inside `verify_t16.py` as `bind8`. Everything below is #1018's README, unchanged. + +--- + +# Seven triangle-hybrid slots on the k8 leaver word: conditional κ = 0.00167166528321877 + +This package adds one construction layer to [research/gauge44-leaver8](../gauge44-leaver8) (#1005): seven +additional triangle-hybrid B-delivery slots on #1005's final word `db2c7cfb…`. **Credit:** the slot search and +the first two slots (X = 444, 446) are **rohanarun's #987**; the other five (X = 236, 238, 434, 436, 439) were found by +running #987's search on the k8 word. The mechanism is NewBArch's #869 triangle-hybrid delivery. + +- **κ = 0.00167166528321877**. That is +2.78×10⁻⁷ over #1005 (0.001671387264390146). The complex side binds; the bit + supplier is PR589's, unchanged. +- **Construction:** #1005's reviewed `construction/barch/build_tri.py` and `run_controls.py`, both **unchanged**, + with the new recipe `construction/slots/RECIPE-SLOTS-k8.json`. The output word is `c2b29430…`, profile + `{1:2412, 2:418, 3:432, 4:142, 5:82, 8:8}`, and widths are unchanged. +- **Controls:** 34. These are C0 identity, the recipe, and the four mutants (`drop_restore`, `restore_full`, `drop_preread`, + `donation_after`) applied globally and to each of the seven slots. Every mutant is rejected and pinned in + `construction/slots/SLOT-PINS-k8.json`. +- **Frames:** the exact global frame optimiser (gopt2) finds no gain on the slot word, so there is no frame step. +- **Owners:** #1005's K8c8 owner map is rebound to the new word (widths and idle counts are unchanged). The admitted + data in `data/` passes the strict replay. + +## Verification (explicit reuse of a completed #1005 replay, as research/complex-t37-owners does for #799) + +```sh +# Completed #1005 chain (the README commands of research/gauge44-leaver8), or any completed run of it: +python -B research/gauge44-leaver8/construction/leaver/reproduce_leaver_chain.py \ + --main . --pr635 /tmp/gauge44-pr635 --leaver-dir /tmp/lv --hamming /tmp/notri-base/hamming --id k8 --out /tmp/lvc +# This package (about 3 minutes): +python -B research/gauge44-slots/verify_manifest.py +python -B research/gauge44-slots/construction/slots/verify_slots.py \ + --main . --pr635 /tmp/gauge44-pr635 --baseline /tmp/lvc --work /tmp/slots +# PASS_SLOTS_ON_CHECKED_K8_BASELINE 0.00167166528321877 +``` + +`verify_slots.py` rechecks the baseline: its complete step receipt (every chain step exited 0), the final word against +#1005's frame-recipe pin, its canonical, program and Clifford locals against `CHAIN-PINS-k8`, and all five +layer-end control counts. It then rebuilds only the slot layer and its controls, the native locals of the new word, the +independent `audit_local`, and the strict global replay of this package's data. Everything below is #1005's README, +unchanged; this package differs from it only in `construction/slots/`, `data/`, this section, `RESULT.json` and `MANIFEST.json`. + +--- + +# Gauge44 without K-triangles, with earlier jp8 layers, the p6n ends, entrance promotions, a read-set exchange, #741's frames, a joint exchange, a triangle-hybrid B rewrite, no-helper mutable-leaver cells and PR589's bit supplier: conditional κ = 0.001671387264390146 + +Under the retained all-size compiler, common-label/mutable-source realization, whole-call hosting, precision/tape, exact-recovery, analytic-transfer and bit H1–H5 interfaces (as in #645), and the PR589 bit supplier, + +$$ +T(n)=O\!\left(n(\log n)^{1-\kappa}\right),\qquad +\kappa=\frac{1671387264390146}{10^{18}}=0.001671387264390146. +$$ + +**The construction is icekylinx's [#645](https://github.com/CrocSwap/integer-mult-bounds/pull/645) (`research/gauge44-global`).** This package builds the research/gauge44-barch construction (items 1–8) and then rebuilds its word around **no-helper mutable-leaver cells** (item 9): +1. **No-triangle word (PartialK).** #645's gauge44 chain is run with **none** of the four (p,−1) K-triangles, so there are R = 504 helpers. In the six K-blocks {0,1,2,11,12,13}, the completion priority is extended by the 6-row list `construction/notri/PRIO6.json`. Every block then pairs at rank 4, giving **56** rank-four cold ends instead of 44. `construction/notri/reproduce_notri.py` rebuilds this word from a #645 `reproduce.py --until word` output. It uses PartialK's generalisations of #645's and PR635's constructors (`cgx.py`, `port_stage_x.py`, `cold44x.py`; each differs from its original only in the documented parameters). It pins: + - the pairing ranks [4]*14, inside `cold44x.py` and again in the driver; + - the word (`3e99ba77…`); + - the canonical word, the local programs and the Clifford recipes. + `--control-g44` instead rebuilds #645's own gauge44 word (`78c7aada…`) with the same scripts. +2. **Layers on the no-triangle word (G44Stack).** `construction/layers_np/reproduce_np.py` applies to the no-triangle regroup word (`864ff4a1…`): + - research/gauge44-layered's six pivot swaps, mapped to the 504-helper numbering (`PIVOT-SWAP-NP.json`, swap word `beb3579f…`); + - the greedy HPE (46, `HPE-RECIPE-NP.json`); + - the exact cold44 (same 56 ends); + - the entering ends s4 (566/567/578/579 at U24) and x30 (608/610/543/555 at U30), plus BlockCombine's b6 and q4 dim-8 cold ends (`COLD-LAYERS-RECIPE-NP.json.gz`). p123 is negative on this base and dropped; j3 is dead. + The layered word is pinned (`a9de804f…`): profile `{1:2534, 2:346, 3:458, 4:178, 5:56, 8:8}`, width 3800. The signed research/gauge44-layered files `construction/layers/build_pivot_swap.py` and `construction/layers/layer_end_controls.py` are used unchanged, and the latter must reject exactly 59 controls. The global code is research/gauge44-layered's (spot-width rule): SPEC `width_spot_helpers` [270,282,294,306] and `pivot_swap` → `construction/layers_np/PIVOT-SWAP-NP.json`, giving spot widths [9,9,8,8]. +3. **p6n ends (NoTriReopen).** `construction/layers_p6n/reproduce_p6n.py` applies `COLD-LAYERS-RECIPE-P6N.json.gz` to the NP swapped HPE word with PR635's unchanged `build_cold_end.apply`. That is NP's cold-layer recipe plus six b-type dim-8 cold ends: [512,513], [311,510] and [522,327], which rebuild p123's lane as clean pairs. The result is the p6n word (`34b683fa…`): profile `{1:2540, 2:358, 3:446, 4:178, 5:56, 8:8}`, width 3794. The per-end layer-end controls (`construction/layers_p6n/layer_end_controls.py`, the variant Q6Reviewer signed for research/gauge44-pq6) must reject exactly 95 mutants. See `PROOF-NOTE-P6N.md`. +4. **Entrance promotions (BlockInvert).** `construction/promo/reproduce_promo.py --base p6n --k p6n-k4` applies the minimal recipe `PROMO-RECIPE-p6n-k4.json` to the p6n word with BlockInvert's deterministic constructor `build_promotion.py`. The recipe promotes the 16 entering helpers 627, 629–631, 635, 637–639, 651, 653–655, 659 and 661–663 (four E4 kernel groups) from E4 to E5, the time-reverse dual of end deepening. It re-chooses the frames of the gates affected. Only frame annotations and start frames move; the scalar program is unchanged. The promoted word is pinned (`0390ec65…`): profile `{1:2572, 2:326, 3:430, 4:194, 5:56, 8:8}`, widths `{4:80, 5:32, 7:54, 8:122, 9:216}`, width 3778. BlockInvert's `promo_controls.py` runs #645's independent `audit_local.py` on the honest word and must reject 11 recipe- and word-level mutants at pinned sites. The per-end layer-end controls (95) and the native chain then run with pins. The recipe is minimal: 48 entry-gate frame raises and no other frame re-choices. See `PROOF-NOTE-PROMO.md`. +5. **Read-set exchange (BRoute).** `construction/sw4/reproduce_sw4.py` runs BRoute's standard-library builder `build_sw4.py` with `SW4-RECIPE-P6k4.json`, 16 explicit moves, on the promoted word (`0390ec65…`). For the entering-copy pairs (h, r) = (461,25), (581,89), (591,415) and (603,431), the phase-B target read sets of h and its face register r are exchanged. The entrance pre-reads are deleted or inserted so that every register's value at the end of B is unchanged; the builder checks this mod p. Frames are repaired monotonically, and the width is unchanged. The SW4 word is pinned (`d232183f…`): profile `{1:2548, 2:342, 3:438, 4:186, 5:56, 8:8}`, width 3778. Four controls (C0 identity, N1 kept pre-read, N2 partial exchange, N3 wrong sign) must all hold, each at its exact rejection site pinned in the recipe. The per-end layer-end controls (95) and the native chain then run with pins. See `PROOF-NOTE-SW4.md` and `construction/sw4/NOTES.md`. +6. **#741's eight B frames (chafreaky).** `construction/frames/reproduce_frames.py` applies chafreaky's [#741](https://github.com/CrocSwap/integer-mult-bounds/pull/741) frame recipe, `FRAME-RECIPE-sw4.json`, byte-identical to #741's. Ported by CompetitorMine, it raises eight B-gate frames with the scalar program unchanged, giving #741's word `e7804702…`. It runs 3 pin controls, #741's 10 focused native controls, 95 layer-end controls and the native chain with pins. +7. **Joint exchange X4 (JointXF).** `construction/jx/reproduce_jx.py` runs JointXF's standard-library builder `build_jx.py` with `RECIPE-X4.json` on #741's word (step 6's output). It makes four disjoint instances of the read-set exchange, each over two target-sharing copy pairs: (448,472), (458,592), (470,604) and (482,614). The moved reads keep their stored frames, and #741's frames are included. All edits are explicit, and B-segment exactness is checked by Fraction replay. The final word is pinned (`1e1d99ba…`): profile `{1:2548, 2:338, 3:430, 4:194, 5:56, 8:8}`, width 3778. All seven pinned controls are rerun; C1 reproduces #741's word. See `PROOF-NOTE-FRAMES-X4.md`. +8. **Triangle-hybrid B rewrite (NewBArch).** `construction/barch/reproduce_barch.py` runs NewBArch's standard-library builder `build_tri.py` with `RECIPE-U8.json` on the X4 word (step 7's output). Eight disjoint slots receive a width-neutral B-delivery rewrite: an entering copy donates into a halves-copy so that one target read gets X+H, with holder restores and entrance pre-reads. The U8 word is pinned (`090fd574…`): profile `{1:2548, 2:338, 3:446, 4:162, 5:72, 8:8}`, width 3778. All 38 pinned controls are rerun (identity, the recipe word passing audit_local, and four audit_local-rejected mutants, globally and per slot). See `PROOF-NOTE-BARCH.md`. +9. **Leaver cells, re-stacked (LeaverSAT, LeaverSAT2).** `construction/leaver/reproduce_leaver.py --id k8` replaces the no-triangle word's construction with all eight all-K cells (01±, 23±, 45±, 67±). Each cell is LeaverSAT's 21-gate circuit, which uses the face-event leaver sources as mutable intermediates (R = 480, cell word `58e14a02…`). `construction/leaver/reproduce_leaver_chain.py --id k8` then re-applies items 2–8 with the signed builders unchanged and LeaverSAT's re-indexed recipes: swap, HPE, cold44, NP, p6n, 16 promotions, the re-indexed X4 exchange (the identity on this word) and 6 U8-style hybrids (`c836d892…`). It adds LeaverSAT2's exact global frame re-optimisation (`FRAME-RECIPE-LV-k8.json`), which gives the final word **`db2c7cfb…`**. Every intermediate word, control count and native pin is pinned (`LEAVER-PINS-k8.json`, `CHAIN-PINS-k8.json`). The per-word layer-end controls are the Q6Reviewer-signed `layer_end_controls_leaver.py` v2 (95 each), on the p6n, promoted, jx and hybrid words (`LEC-REASON-PINS-STACK-k8.json`) and on the re-framed final word (`LEC-REASON-PINS-k8.json`); its declared not-applicable sites are sha-proven identities or unbuildable mutants, each replaced by a same-class substitute that must be rejected. Items 5 and 6 don't apply on this word: the sw4 copies are dropped, and none of #741's frames survive. Items 1–8 remain in the package as the construction record of research/gauge44-barch. See `PROOF-NOTE-LEAVER.md`. +10. **Owner map (chafreaky's [#685](https://github.com/CrocSwap/integer-mult-bounds/pull/685), adapted by G44Pack).** The map is G44Pack3's K8c8, from its pattern-flow LNS (`pflns`) on the R = 480 k8 word. Its lineage is the #685/#741 map (chafreaky) via G44Pack's relabel and rewidth, followed by G44Pack3's LNS. It was admitted with this package's own code (NEWWORD discovery, `freeze_spec.py`, strict) at κ 0.001671387264390146. Only PLAN and OWNERS change. These are search inputs only; no verifier reads them. +11. **Expected values.** `data/SPEC.json` is re-derived by #645's discovery → `code/freeze_spec.py` → strict chain. + +- **κ = 0.001671387264390146** (conservative 0.001671387261540186). That is +0.4298% over research/gauge44-leaver (k5 cells, κ 0.001664233607446043; same chain on five cells, FO_c1 map) and +0.5672% over [#942](https://github.com/CrocSwap/integer-mult-bounds/pull/942) (κ 0.001661960547713947) and +1.3279% over #645, +0.9174% over research/gauge44-notri-layered (0.001656193765416678) and +0.7701% over research/gauge44-promo (0.00165861362787227) and +0.7273% over research/gauge44-promo-p6 (0.001659319032684569) and +0.7075% over research/gauge44-promo-p6sw (0.001659645685315104) and +0.5869% over research/gauge44-frames-x (0.001661634653669567) and +0.5679% over research/gauge44-barch (0.001661948695165034) and +0.6131% over [#741](https://github.com/CrocSwap/integer-mult-bounds/pull/741) (chafreaky, κ 0.001661202643272239) and +0.6654% over [#685](https://github.com/CrocSwap/integer-mult-bounds/pull/685) (chafreaky, κ 0.001660339298410333). The complex side certifies 0.001674185476674086429846 and PR589's bit supplier gives 0.001733427039589844234749, so **the complex side binds**. Under PR543 the bit side would cap κ at 0.001651096360425895 (`PROOF-NOTE-BIT.md`). +- **Evidence.** This package's own code admitted G44Pack3's K8c8 map (NEWWORD discovery → `freeze_spec.py` → strict): `verify_global.py` passes (`PASS_GAUGE44_STRICT_GLOBAL_REPLAY`, κ 0.001671387264390146) against G44Pack3's k8 locals, with SPEC `width_spot_helpers` [258,270,282,294] and `pivot_swap` → `construction/leaver/PIVOT-SWAP-k8.json`. It equals G44Pack3's own strict κ for K8c8. `RESULT.json` is that replay's `REPLAY.json`, converted to LF. The locals rebuilt by `reproduce_leaver_chain.py --id k8` match G44Pack3's strict locals byte for byte in every file except CLIFFORD-REVIEW and SCALAR-FRAME-AUDIT. Those two differ only in their `seconds` field, and the comparison normalises only that field (canonical `d1bf3c6f…`, programs `683f8323…`/`2d184e4d…`, Clifford `e3bfdfa2…`, pinned in `CHAIN-PINS-k8.json`). For this package, `data/SPEC.json` and a fresh `verify_global.py` replay on locals rebuilt by the two drivers are the binding record. +- **Independent price.** `independent/GAUGE44-INDEPENDENT-PRICE.json` is regenerated on this package's `data/PLAN.json` with the ported `independent/price_profile.py`: `PASS_FROZEN_PROFILE_TWO_EXACT_ENGINE_AND_OUTER47_CROSSCHECK`, κ equal to the strict replay. +- **Independent local audit.** `evidence/layers/LOCAL-AUDIT-LAYERED.json` is #645's `independent/audit_local.py`, run with `--main` on the final leaver word (content `db2c7cfb…`): `PASS_INDEPENDENT_EXACT_FORWARD_AND_DUAL_ENDPOINT_FRAMES_ENTRANCES_CONES`, 192 entering helpers, 78 low ends, 48 cold ends, 704 checked columns. Rerunning it reproduces the receipt except `elapsed_seconds` and, across zlib versions, `compressed_sha256`. +- **Historical #645 files (PR543-based, 492 helpers).** These are #645's files, retained unchanged and **not** updated for this package: `LOCAL-VALIDATION.json`, `CONSTRUCTION.md`, `hosting/`, `evidence/` (except `evidence/layers/`), the rest of `independent/`, `construction/reproduce.py` and its inputs, and `code/prepare_global.py`. They describe #645's word, owner map, PR543 supplier and κ 0.001649483702558979. `code/prepare_global.py` is #645's one-shot owner-map preparer, hard-wired to #645's parent plan and R = 492. No verifier imports it. This package's PLAN/OWNERS are frozen search output, and the strict replay checks them. `construction/reproduce.py` is still used for its `--until word` shadow and hamming inputs; its 492-word output is then superseded by `construction/notri/`. `construction/layers/reproduce_layers.py` is research/gauge44-layered's driver for the 492-helper layered word, shipped unchanged as signed; it is not used here. +- **Construction and code files** by committed LF SHA-256: + - `construction/notri/reproduce_notri.py` 90148c2a0422b4f92164298a283de73d413ab3d4cb7151a0e6b643a37ea025a8 (no-triangle driver) + - `construction/notri/cgx.py` 3da039d4184097c14802f9dbf972520d5b807671196f5e47a2247bc9f29bb418 (PartialK's generalised construct_gauge_xcentre.py) + - `construction/notri/port_stage_x.py` 38310744d054e393ea35e996047cddeb2d212141aaaaa4b07f7a4663b11db8e7 (PartialK's generalised build_port_stage.py) + - `construction/notri/cold44x.py` f0bc3500efb2c839a0f8cb03dbb9ea0a54f1dfc71ef81e5373b3d638ac5b8296 (PartialK's generalised build_gauge_cold44.py plus the PAIRING_RANKS pin) + - `construction/notri/PRIO6.json` de0412511b0dd1af13e9717bc791126ac0e91c569b5391fd6c70268083045d15 (completion priority) + - `construction/layers_np/reproduce_np.py` 1a304144a250d00d14154692ba522365b036777cf2b6fac466095e8ba733c16c (NP layer driver) + - `construction/layers_np/PIVOT-SWAP-NP.json` d49b8d316da1cbdaf995dd0e8314d3c67cc9cd4d5902e9d85ccb907be645bef5 (layer input) + - `construction/layers_np/HPE-RECIPE-NP.json` 43900139f618bdc06b8319098fb8dccaf4fc315b43ef7c067ca2cd778cdba2c1 (layer input) + - `construction/layers_np/COLD-LAYERS-RECIPE-NP.json.gz` 3164cfb71baaeba4ac43427bc14075a225fc3a32ecd9341e58aa52c03a4ee2c0 (layer input) + - `construction/layers/build_pivot_swap.py` 8e8bced88be2e592ded40929499bac385ca92fcc1fa59183c22229dbf34093b8 (signed, unchanged) + - `construction/layers/layer_end_controls.py` 7829187bfc8f909948d5250e0ec00f02c89f5fe98306a3ed88daee36cb3c92ef (signed, unchanged) + - `construction/layers/reproduce_layers.py` 435699f6f79c6c7fb8d6cc5a8382576d6ac88747583a975ff671e45440b93c4e (signed, unchanged, unused here) + - `construction/promo/reproduce_promo.py` f979be666c3f5cf57e342a8427863c0b35b67ca4d3be495ac386f6870deb2026 (promotion driver) + - `construction/promo/build_promotion.py` 9c9e2001b8d68bbe934d136026276fe97bd9bf6f94d4d78441fc28e14aca4daf (BlockInvert's constructor) + - `construction/promo/promo_controls.py` 786c51f84b53698c2c833083506c4432c30eb0ed3b71e7dbe458a70c7413c372 (BlockInvert's controls) + - `construction/promo/make_recipe.py` ba9e4fdc0c1be7f6a150a5a50909911257a1a8c7cc5d03d61f541178fc07c122 (discovery-side recipe writer (search, not run)) + - `construction/promo/PROMO-RECIPE-p6n-k4.json` fa6065d142646f7ab1f268912ce0cf5a1a6cd33c3994ff96bd6e204cf16b3e90 (minimal recipe) + - `construction/promo/LOCAL-PINS-p6n-k4.json` a92bb02266596956bd53e9c86e8bbcc6639c92b4a4a248a1521f8eb79228271f (native pins) + - `construction/layers_p6n/reproduce_p6n.py` aa7d6bcbed05aa1c689437c07a26e5c95be3c700c0c1fb7bcf91c432a88436ca (p6n driver) + - `construction/layers_p6n/layer_end_controls.py` fc58c5699ba6191c1163a3041241f6f0b619626c4462cd99bcf88210bac9e81e (per-end controls (Q6Reviewer-signed variant)) + - `construction/layers_p6n/COLD-LAYERS-RECIPE-P6N.json.gz` 17e218a17e47c58fe2cde775ab2314d3d84030a61327b7f13da61cae3b374ad4 (p6n recipe) + - `construction/layers_p6n/P6N-SPEC.json` 132a59635077d6afe80f99964a6935fce1dc2ece6587d74209c6f9c60025c8f1 (p6n end spec) + - `construction/sw4/reproduce_sw4.py` 3d082e0cc576fb1b4fb9e5dd11d63bab697c8a8626e2837813cd00d100b1aeac (SW4 driver) + - `construction/sw4/build_sw4.py` 9a295f3d534594a6b1326d8a6647e947670d1c6fbc92f37f5169661fde4c8f66 (BRoute's builder (stdlib)) + - `construction/sw4/SW4-RECIPE-P6k4.json` fa58d0ffc95d10b7453daefe4b34404a52895f94126ef973e92e92106cd615fa (16-move recipe with pinned rejection sites) + - `construction/sw4/LOCAL-PINS-sw4-P6k4.json` 3c06bf68b28ff125a6a2372bb70cefd76fb9fe1333438cd34dfb5b617cd70327 (native pins) + - `construction/frames/reproduce_frames.py` dc39ada9a2eb387310be181f3cea5dbd4b538632a888cd7372ece5e38a771832 (#741 frames driver) + - `construction/frames/build_frames.py` 200847a7e8b3125cbeea0765dad67650e0bf83d32b66d72ba4977e99b8ee8eeb (#741's builder (chafreaky; ported)) + - `construction/frames/frame_controls.py` 477de854ec9184a2c73d6ac3857a9d0cbd6bc04b71d10a105e7344434b492a77 (#741's controls (chafreaky; ported)) + - `construction/frames/FRAME-RECIPE-sw4.json` a2c7ca4d44671386d05974e2627645b42bbb7da7a35cefff6e9fa158b6ac8473 (#741's recipe, byte-identical) + - `construction/frames/LOCAL-PINS-frames-sw4.json` bc416b8f6443d59c715fb358c4d70fa27eae2d306388ffe0e2a303f60d929f7f (native pins) + - `construction/jx/reproduce_jx.py` 5c7afebb4eb7fcdeb7e971cfbc457cf071850e2da21c3c71295efdd453c2399c (X4 driver) + - `construction/jx/build_jx.py` 3cc7550b0c24bb54e245c6f7f16de489fd7844721fbb64aac628f38f43887916 (JointXF's builder (stdlib)) + - `construction/jx/RECIPE-X4.json` 9d42c6b38e8124f5ffe15da56c260a7fba7260626bf3c5f8cbd93aa4a71ceadd (explicit recipe with pinned controls) + - `construction/jx/LOCAL-PINS-jx-X4.json` 95c5114c8e937c2737a1b9f9da97303f2e5e129d39e6dfcc4010e99bfdb9c974 (native pins) + - `construction/barch/reproduce_barch.py` 19bc970aa6af25ab0e7fa96fb65c64dd0c5243976d8f2cb733cba839155482c1 (U8 driver) + - `construction/barch/build_tri.py` 0fba65b31c2fd71864c291358bb0ad8d5f7e1be07e21df23f0ae73d7b966002e (NewBArch's builder (stdlib)) + - `construction/barch/run_controls.py` 42639bf62bf57795e3ea615c1944c67efed00f28591333daeb3139bf63d04476 (NewBArch's controls (38 outcomes)) + - `construction/barch/RECIPE-U8.json` 292f0e9f82824c4111728cf4de929bf6e43320fbbdc77658aae9681906b0d652 (explicit recipe) + - `construction/barch/LOCAL-PINS-barch-U8.json` 2d16f99e1f71fd66378f5f767cf4cfa2a58264919a95074c7b31029f39a3c9f5 (control set and native pins) + - `construction/leaver/reproduce_leaver.py` 831bfdf2247b5d864b74c3b2b6a475718053d48570851d48bd1c5471d410ee30 (cell driver) + - `construction/leaver/cgx_leaver.py` 3af491c63dd96204a7c36006c7e419c2e5ce77e5bc453ccd2495c1e41f83f87c (cell constructor) + - `construction/leaver/reproduce_leaver_chain.py` 2bc3fc3f32e0f957a0731b79254c553ca48fc6d4d47c4f99d6cd31e1901d85b5 (chain driver) + - `construction/leaver/layer_end_controls_leaver.py` 4ba676f1ea326b739a64c3477f64eeb295f8151514f78fa7e62b71e4373a6206 (per-word reason re-pins and declared not-applicable sites, v2 (Q6Reviewer-signed)) + - `construction/leaver/build_frames_lv.py` 2eb80d612aa59a7bd8b04a122045e3bd2b83a21954e3164943cd20cf6050a21b (LeaverSAT2's frame builder) + The global code is research/gauge44-layered's, unchanged: assemble 4c270a99, assembly_controls e4c0f782, audit_allcold a87d7f48, bind 1d39bcc7, witness 779c5172. The bit-supplier code is research/gauge44-bit589's, unchanged: verify_global 16bd5e54, bit_supplier_controls e6d33fb6, price_profile d2f548ad. +- **Line endings.** These files had CRLF in the admitted trees and are committed as LF only (`crlf.replace(b'\r\n', b'\n') == lf`, no lone `\r`): + - `construction/jx/build_jx.py`: CRLF 775c2ae60eec9abc…, committed (LF) 3cc7550b0c24bb54… + - `construction/jx/RECIPE-X4.json`: CRLF 228079b304358500…, committed (LF) 9d42c6b38e8124f5… + - `construction/barch/build_tri.py`: CRLF 2432372f148a4d34…, committed (LF) 0fba65b31c2fd718… + - `construction/barch/run_controls.py`: CRLF 18e1f5953403784f…, committed (LF) 42639bf62bf57795… + - `construction/barch/RECIPE-U8.json`: CRLF 3e97088ad641eb6e…, committed (LF) 292f0e9f82824c41… + - `data/SPEC.json`: CRLF b2515d29d54e5027…, committed (LF) 1208c7c3ae84c158… + - `RESULT.json`: CRLF 454c25d5b0cd7df7…, committed (LF) 72bf797ce995ff61… + - `independent/GAUGE44-INDEPENDENT-PRICE.json`: CRLF 0b8482888e64327f…, committed (LF) 6e222b252f345344… + - `evidence/layers/LOCAL-AUDIT-LAYERED.json`: CRLF 6b63fc2bbea96cb5…, committed (LF) a596d7262374a023… + + +Clean-clone verification, from the repository root (Python 3.11+, assertions on; prepare the pinned #635 supplier as in the #645 section below): + +```sh +python -B research/gauge44-leaver8/verify_manifest.py +python -B research/gauge44-leaver8/construction/reproduce.py \ + --main . --pr635 /tmp/gauge44-pr635 --out /tmp/notri-base --until word +python -B research/gauge44-leaver8/construction/notri/reproduce_notri.py \ + --main . --pr635 /tmp/gauge44-pr635 --word-dir /tmp/notri-base --out /tmp/notri-word --word-only +python -B research/gauge44-leaver8/construction/layers_np/reproduce_np.py \ + --main . --pr635 /tmp/gauge44-pr635 --notri-dir /tmp/notri-word --hamming /tmp/notri-base/hamming --out /tmp/notri-np +python -B research/gauge44-leaver8/construction/layers_p6n/reproduce_p6n.py \ + --main . --pr635 /tmp/gauge44-pr635 --np-dir /tmp/notri-np --out /tmp/p6n +python -B research/gauge44-leaver8/construction/promo/reproduce_promo.py \ + --main . --pr635 /tmp/gauge44-pr635 --base p6n --base-dir /tmp/p6n --k p6n-k4 --out /tmp/promo +python -B research/gauge44-leaver8/construction/sw4/reproduce_sw4.py \ + --main . --pr635 /tmp/gauge44-pr635 --promo-dir /tmp/promo --recipe P6k4 --out /tmp/sw4 +python -B research/gauge44-leaver8/construction/frames/reproduce_frames.py \ + --main . --pr635 /tmp/gauge44-pr635 --sw4-dir /tmp/sw4 --out /tmp/frames +python -B research/gauge44-leaver8/construction/jx/reproduce_jx.py \ + --main . --pr635 /tmp/gauge44-pr635 --frames-dir /tmp/frames --out /tmp/x4 +python -B research/gauge44-leaver8/construction/leaver/reproduce_leaver.py \ + --main . --pr635 /tmp/gauge44-pr635 --word-dir /tmp/notri-base --id k8 --out /tmp/lv --word-only +python -B research/gauge44-leaver8/construction/leaver/reproduce_leaver_chain.py \ + --main . --pr635 /tmp/gauge44-pr635 --leaver-dir /tmp/lv --hamming /tmp/notri-base/hamming --id k8 --out /tmp/lvc +python -B research/gauge44-leaver8/independent/audit_local.py \ + --word /tmp/lvc/frames/FULL-WORD.json.gz --main . --output /tmp/lvc-audit.json +python -B research/gauge44-leaver8/verify_global.py \ + --main . --local /tmp/lvc/local --work /tmp/lvc-global +# kappa 0.001671387264390146 +``` + +Optional control: `reproduce_notri.py ... --control-g44 --out /tmp/notri-ctl` rebuilds #645's gauge44 word `78c7aada…`. + +## Predecessor: #645's README (unchanged below; paths read `research/gauge44-global`) + +### Gauge44: conditional κ = 0.001649483702558979 + +New contributions by **icekylinx**, with **OpenAI GPT-6 Astra** assistance. +Local review and packaging used OpenAI Codex. Original notices and Apache-2.0 licenses are retained. + +Under the retained all-size compiler, common-label/mutable-source realization, +whole-call hosting, precision/tape, exact-recovery, analytic-transfer and bit +H1–H5 interfaces, + +$$ +T(n)=O\!\left(n(\log n)^{1-\kappa_{645}}\right),\qquad +\kappa_{645}=\frac{1649483702558979}{10^{18}}=0.001649483702558979 +$$ + +(This is #645's own κ. **This package's κ is the one at the top of this README.**) + +The certified complex saving is `0.001652208994368411824947`. The unchanged +[#543](https://github.com/CrocSwap/integer-mult-bounds/pull/543) bit supplier gives +`0.001653826988146798944268`, so the complex side binds. The conservative complex +model separately certifies κ `0.001649483699681650`. + +### Construction + +This replaces the local supplier and all 72 owner assignments of pinned +[#635](https://github.com/CrocSwap/integer-mult-bounds/pull/635). Source/copy exchanges +at equal rank-one frames alter the factory's arbitrary-helper-input propagation. +An invertible completion of the retired rows and source-carried coordinate totals +then expose 44 rank-four cold endpoints. Exact input premixes, low-frame tails +and a recomputed full inverse realize them. + +| Per-invocation quantity | Complete #635 JP8 | Gauge44 | +| --- | ---: | ---: | +| Source / target ports | 112 / 112 | 112 / 112 | +| Helpers | 492 | 492 | +| Rank-four cold endpoints | 22 | 44 | +| Helper residual width | 3,894 | 3,794 | +| Paid local rank mass | 5,750 | 5,650 | + +The new paid local profile is `{1:2514, 2:404, 3:448, 4:160, 5:56, 8:8}`. +The explicit whole-family assignment covers 35,424 helper roles on 7,168 live +and 7,670 physical families. It retains the rank deficit 2,560 and charges every +idle remainder. Exact integer majorization certificates justify the owner +updates; the resulting map is a coordinate fixed point, with no claim of joint +optimality. + +The assembled κ is 0.809306% above #635. `data/FRONTIER.json` records Pro's dated +comparison snapshot; it is not a live ranking of community results. + +### Proof and evidence + +- `CONSTRUCTION.md`: exact cold-space calculation, dyadic realization and attribution. +- `hosting/PROOF.md`: capacity, exchange and majorization arguments. +- `independent/CENTRE-GUARD-REVIEW.md`: ordered center-frame interface and source carriers. +- `data/SPEC.json`, `evidence/ASSEMBLY.json`: strict component moments and outer parameters. +- `evidence/audit/`: actual controller, physical charts and finite invoice. +- `construction/INPUTS.json`, `data/UPSTREAM-PINS.json`: inherited input hashes. +- `MANIFEST.json`, `SOURCES.json`, `LOCAL-VALIDATION.json`: submitted bytes, provenance and local checks. + +Original Pro run receipts are retained as evidence; their raw logs remain in +the original archive outside the submission. Fresh replay writes new logs to +the selected output directory. + +### Incremental reproduction + +Use Python 3.11 or newer with assertions enabled. The required replay uses only +the standard library. The optional historical seed-discovery optimizer is not +part of admission. + +Prepare the pinned #635 supplier in a separate directory (the main dependencies +are already present in this repository): + +```sh +git fetch https://github.com/CrocSwap/integer-mult-bounds.git a6895a69f8ad98ab45777b03e9e6f48888c39f6f +mkdir -p /tmp/gauge44-pr635 +git archive FETCH_HEAD research/complex-571-cold14-st2 | tar -x -C /tmp/gauge44-pr635 +``` + +From the repository root, with fresh output directories: + +```sh +python -B research/gauge44-global/verify_manifest.py +python -B research/gauge44-global/construction/reproduce.py \ + --main . --pr635 /tmp/gauge44-pr635 \ + --out /tmp/gauge44-local --until phases +python -B research/gauge44-global/verify_global.py \ + --main . --local /tmp/gauge44-local/local --work /tmp/gauge44-global +``` + +The dedicated workflow also runs the independent literal-word audit, exact owner +reproduction, preserved-assertion comparison and independent pricing on Python +3.11 and 3.14. `hosting/README.md` and `independent/README.md` give those commands. +No ancestral full replay, optimizer search or PDF generation is required. + +The result remains a finite conditional witness. It does not establish an +unconditional multiplication theorem or a complete Lean formalization. diff --git a/research/gauge44-slots-t16/RESULT.json b/research/gauge44-slots-t16/RESULT.json new file mode 100644 index 0000000000..b6d957f694 --- /dev/null +++ b/research/gauge44-slots-t16/RESULT.json @@ -0,0 +1,108 @@ +{ + "status": "PASS_GAUGE44_T16_STRICT_GLOBAL_REPLAY", + "kappa": "1672654541898561/1000000000000000000", + "kappa_decimal": "0.001672654541898561", + "conservative_kappa_decimal": "0.001672654539046638", + "complex_lower": "837728501331911376831/500000000000000000000000", + "bit_lower": "1733427039589844234749/1000000000000000000000000", + "complex_profile": { + "1": 349608, + "2": 60192, + "3": 62586, + "4": 20448, + "5": 11808, + "7": 6, + "8": 1152, + "48": 4866 + }, + "idle_remainder_profile": { + "1": 2280, + "3": 378, + "7": 6, + "48": 4866 + }, + "complete_invocations": 144, + "roles": 69120, + "prefix_bits": 397, + "charged_prefix_bits": 512, + "physical_row_coefficient": 16469, + "retained_row_coefficient": 20161, + "actual_73_axis_charts": 9997, + "controls": { + "admission": 69, + "bit_supplier": 12, + "independent_t16": 6, + "controller_mutations": 15 + }, + "t8_kappa": "167166528321877/100000000000000000", + "spec_sha256": "2a8728207fc2d1f65bcc0229a61c52a4fbd02f9d4acebe1b479d3fb0fe0690f6", + "stages": [ + { + "name": "restore-parent", + "seconds": 2.828, + "exit_code": 0, + "log_sha256": "3aea2a4b68e7aaeadd9ffef649be0d25e2dff1535d9a61bffeaf6d92e55ba6a8" + }, + { + "name": "bind8", + "seconds": 1.172, + "exit_code": 0, + "log_sha256": "78a081673d6b4fde10a86e6f767d53648b868d1f0cac2441d12951434ad7341b" + }, + { + "name": "lift16", + "seconds": 4.984, + "exit_code": 0, + "log_sha256": "eb855e248709c72d340c20e7e901dca27b8c639cf8f38fac151c25a48e9c03bf" + }, + { + "name": "bind", + "seconds": 1.468, + "exit_code": 0, + "log_sha256": "78a081673d6b4fde10a86e6f767d53648b868d1f0cac2441d12951434ad7341b" + }, + { + "name": "emit", + "seconds": 8.593, + "exit_code": 0, + "log_sha256": "3dcd31605a40e540a61847b02894d9fdab7a8b7804626f601ed1ff80990f1e0b" + }, + { + "name": "audit", + "seconds": 37.016, + "exit_code": 0, + "log_sha256": "45dd8137ec65a3918029a2763ae0dcd3e1882be891d008aa9da4ff842da0132b" + }, + { + "name": "invoice", + "seconds": 3.609, + "exit_code": 0, + "log_sha256": "caa1229b78eca961462d35e8ee458be536111111a985294a153e4dd74b9171a8" + }, + { + "name": "assembly", + "seconds": 0.922, + "exit_code": 0, + "log_sha256": "4e4deb2b4e3d935d740f462aadc14940ad4f9bfac2e2a18636721cd29ea63f71" + }, + { + "name": "admission-controls", + "seconds": 1.218, + "exit_code": 0, + "log_sha256": "34527ddfe1e53bec71dc5759eb9a26417be6d4e93e76cbf80575d9bafebd876b" + }, + { + "name": "bit-supplier-controls", + "seconds": 1.484, + "exit_code": 0, + "log_sha256": "c648542cd6dddbb154af7d02a41aaed1025603d9a4ab54f7c249d2b683e22249" + }, + { + "name": "independent-t16", + "seconds": 2.5, + "exit_code": 0, + "log_sha256": "d2c13b333d463a5c2de42078e9c47a89209075e1d1beac24cf3fc1f573f18c05" + } + ], + "scope": "Conditional native exact-complex witness after complete conservative admission, moment and outer checks; PR559 exact-cover recurrence correction only, bit bad-residue surcharge and H1-H5 retained. The new source-branch gauge and retired-basis completion, the gauge44-barch U8 local word and all 72 cold helper ends, and explicit all144 whole-owner dispatch with a two-copy remainder trade are composed with the cited unchanged merged PR589 bit supplier (PR555 punctured R439 word; derived bit deficit T(2Kv-L*cst)), replacing the PR543 supplier of PR635; This is a new T16 composition of the accepted PR799 and PR589 suppliers. All-size compiler, common-label/mutable-source realization, whole-call hosting, precision/tape and analytic transfer remain assumptions. No unconditional theorem or full Lean certification." +} diff --git a/research/gauge44-slots-t16/SOURCES.json b/research/gauge44-slots-t16/SOURCES.json new file mode 100644 index 0000000000..0d69845db9 --- /dev/null +++ b/research/gauge44-slots-t16/SOURCES.json @@ -0,0 +1,36 @@ +{ + "contributor": "icekylinx", + "research_assistance": "OpenAI GPT-6 Astra", + "local_review_and_packaging": "OpenAI Codex", + "original_archive": { + "filename": "integer_mult_round23_gauge44_delta.zip", + "sha256": "40a20a120f51cbed3c9ae4017603be74a9e9332ad4068bd914bf3e81bf8be6b4", + "manifest_sha256": "ffa23eb668ad558ebb5601470fc1997a9fb8cea0e188aa3c5d61318be9000603" + }, + "upstream_main": "17ce0c79b7b51c2634b439ea5a2b754f09909693", + "construction_parent": { + "pr": 635, + "commit": "a6895a69f8ad98ab45777b03e9e6f48888c39f6f" + }, + "bit_supplier_pr": 589, + "packaging_changes": [ + "Omit original run logs; retain their original receipts as historical evidence.", + "Use repository paths and dollar-delimited Markdown mathematics.", + "Add manifest verification, incremental CI and local validation record.", + "Trim trailing whitespace in four Python files; complete ASTs are unchanged. Refresh the corresponding constructor input hash.", + "research/gauge44-bit589: PR589 bit supplier (G44Stack port, Bit589Reviewer SOUND-WITH-FIXES), G44Pack dz1 owner map, re-derived SPEC, LF line endings, regenerated MANIFEST.", + "research/gauge44-leaver: research/gauge44-barch tree plus construction/leaver (k5 cells, chain, frames); G44Pack3 FO_c1 owner map, re-derived SPEC, regenerated independent price receipt, RESULT.json = strict REPLAY, LF, regenerated MANIFEST.", + "research/gauge44-leaver8: research/gauge44-leaver tree with the k8 cell set (all eight cells, R = 480) and its chain recipes (LeaverSAT/LeaverSAT2 pkg_k8), layer_end_controls_leaver v2 with declared not-applicable sites on all five stack words (replacing the final-word interim skip), CHAIN-PINS-k8; G44Pack3 K8c8 owner map, re-derived SPEC, regenerated independent price receipt and local audit, RESULT.json = strict REPLAY, LF, regenerated MANIFEST." + ], + "attribution": "Original notices and licenses retained. See NOTICE.md, UPSTREAM-NOTICE.md and CONSTRUCTION.md.", + "whitespace_only_python_files": [ + "code/audit_allcold.py", + "code/bind_providers_portable.py", + "construction/construct_gauge_xcentre.py", + "independent/audit_local.py" + ], + "historical_bit_supplier_pr": 543, + "bit_supplier_note": "This package cites PR589 (inputs/PR589-EXPECTED.json, git blob e293ddc5…). PR543 is the supplier of #645's retained historical evidence (LOCAL-VALIDATION.json, independent/ audit files, hosting/, evidence/). RESULT.json is this package's strict replay.", + "owner_map": "G44Pack/G44Pack3: The map is G44Pack3's K8c8, from its pattern-flow LNS (`pflns`) on the R = 480 k8 word. Its lineage is the #685/#741 map (chafreaky) via G44Pack's relabel and rewidth, followed by G44Pack3's LNS. It was admitted with this package's own code (NEWWORD discovery, `freeze_spec.py`, strict) at κ 0.001671387264390146.", + "construction_changes": "PartialK: no-triangle gauge44 word (R=504, PRIO6, ranks [4]*14); G44Stack: layers on it (pivot swaps, s4, x30, b6, q4); LeaverSAT: no-helper mutable-leaver cells and re-stacked recipes, LeaverSAT2: frame re-optimisation (construction/leaver); NewBArch: triangle-hybrid B rewrite U8 (construction/barch); chafreaky #741: eight B frames (construction/frames, ported by CompetitorMine) and the owner map; JointXF: joint exchange X4 (construction/jx); BRoute: read-set exchange SW4 (construction/sw4); NoTriReopen: p6n ends (construction/layers_p6n); BlockInvert: entrance promotions E4->E5 (construction/promo, minimal recipe p6n-k4); drivers construction/notri/reproduce_notri.py, construction/layers_np/reproduce_np.py, construction/promo/reproduce_promo.py" +} diff --git a/research/gauge44-slots-t16/UPSTREAM-NOTICE.md b/research/gauge44-slots-t16/UPSTREAM-NOTICE.md new file mode 100644 index 0000000000..ebc24a0168 --- /dev/null +++ b/research/gauge44-slots-t16/UPSTREAM-NOTICE.md @@ -0,0 +1,34 @@ +# Attribution and scope + +Four verified provider types are offered to every call: PR571's prefix word with twelve multi-cut cold kernels (PR568's unchanged constructor), the same word with forty width-five entrance promotions (PR569's unchanged frame constructor) before those kernels, PR575's plain joint-prefix provider, and PR568's eight-cold provider. A window MILP with an exact per-pattern model chooses the dispatch and a literal owner map. PR583's six source-bound kernel frame coalescences (its unchanged constructor and negative controls) are applied to every PR571-prefix provider word (ck and atm3), followed by two further coalescences that each first move one addition past two commuting additions (package code/build_gate_moves.py, extending PR583's constructor); a final hyperplane_end step (package code/build_hpe.py) then runs 46 single-gate cleanups h -= p right after part B at the dim-8 join U of their registers, so 46 width-8 entering helpers per call end at U with width 7; each such gate commutes with every earlier cleanup gate on its registers (for 8 of them the partner's one earlier gate x -= p only reads p), and the reordered program is replayed exactly. A window MILP (exact windows, RINS around an LP vertex) gives the dispatch ck 45 / atm3 21 / jp8 6 and the literal owner map. + +Pinned external sources (unchanged; `verify.py` checks their manifests and every file it uses): +- PR568 (`research/complex-multicold`, commit `71c99ac935a33bb7b59a1b4a7af8725a939b0b90`). +- PR571 (`research/structural-gain`, commit `b7bdc5a8de18fcf418cfb9c7d83a2b1097a5e4a3`). +- PR569 (`research/larger-gain`, commit `897213a855b7fb8a1b8b0e552a2f5c42e6c1b326`). +- PR575 (`research/complex-joint-prefix`, commit `eac6f7e378ab622dac50a2fd4b7ef6eab014de44`). +- PR583 (`research/kernel-frame-coalescing`, commit `89be768f0157f5a3d8e4db69cf1748768605eac9`). + +Provider construction is described as typed steps in `data/SPEC.json` (`build`); `verify.py` runs only allowlisted step types with their paired omission audits and checks every input and output content hash. `code/` holds the spec-driven global admission scripts adapted from PR571's `frontier-composition/global-code/` (OpenAI Codex assisted, Apache-2.0): every expected value is read from `data/SPEC.json` and compared only after independent recomputation. `code/generated_identity.py` and `code/generated_identity_controls.py`, and the decompressed-content artifact identities in the bind, audit, invoice, assembly and phase-timing scripts, are taken unchanged from PR586 by chafreaky (`research/promoted-kernel-coalescing`, commit `4846fee5b06af770e9b3a10c36200f673d656725`, OpenAI Codex assisted, Apache-2.0), including its proof-content and reference/metadata mutation controls; the normalization of descriptive width metadata after frame changes follows the same PR. + +In PR601, the owner map was nominated by a HiGHS window MILP (adapted from PR569's `global/nominate_width7.py`) with lazy cross-time Hall cuts; this package's re-solved map is described below. Neither is an admission dependency. + +DreamingOfClouds with Claude Opus 5.5 (Anthropic), via Claude Code. (The PR601 package this one starts from states: "Prepared by Claude Code (Anthropic) research agents.") Apache-2.0 applies; LICENSE is included. All notices, licenses, source pins and AI disclosures of the pinned sources and their ancestry are retained in those packages and are not replaced by this notice. All inherited conditional assumptions remain conditional. + +**This package (complex-571-cold14, DreamingOfClouds).** It starts from PR601 (jeremykothe2, `research/complex-571-hpem46`, commit `529ab7dcb59d5ea7a5798e9e06cf5b3aee8a1550`). Everything above is kept unchanged except the following: +- every provider chain (ck, atm3, jp8) gains the typed step `cold_end` (`code/build_cold_end.py`, `code/cold_end_controls.py`; recipes `data/recipes/*-cold_end.json.gz`); +- the generalised native chain and the global admission scripts accept cold helpers that end below FULL (with `0:U` wrappers), a refactored exact cleanup, and check the wrapper order; +- `data/PLAN.json` / `data/OWNERS.json.gz` (dispatch and literal owner map) come from a relocate/swap/ejection-chain/provider-flip annealing search started from PR601's map, refined by an exact pattern-restricted owner model (CP-SAT) with a literal edge-colouring expansion (not an admission dependency); +- `data/SPEC.json` holds the expected values, recorded by a discovery run and then checked by a strict run. + +The cold-end construction (a row-plus-column cone condition for low-frame ends, a rank-0 dirt-spread premix and multi-gate lower-frame cleanup) builds on PR591 / PR592 / PR593 / PR601 (jeremykothe2) and our PR599 (Lean: multi-gate and cold hyperplane-end tails). DreamingOfClouds with Claude Opus 5.5 (Anthropic), via Claude Code. Build on this at your own risk. + +**This package (complex-571-cold14-b3, jeremykothe2).** It is PR604's `complex-571-cold14` (DreamingOfClouds) with ColdBeyond's second cold end per block (two new `cold_end` A-gate primitives, `PROOF-NOTE.md`), ColdSupply's E1 entering pair and reviewed controls, a free dispatch (jp8 ×60, atm3 ×12) and a literal owner map from an exact per-time-Hall window MIP. All other construction, code, controls and proofs are PR604's and earlier contributors', unchanged. + +**This package (complex-571-cold14-k492).** It is complex-571-cold14-b3 with these changes: +- **K-triangle base words.** The leaver-read K-triangle skeleton atom and its read schedule (`data/TRI-SCHEDULE.json`) are by AtomScout, a Claude Code research agent. `code/construct_k_triangle.py` is PR531's `code/construct_504.py` (icekylinx, OpenAI Codex / GPT assisted, Apache-2.0; pinned source `direct_delivery`) extended with that atom. +- **Ported chains.** The PR604/B3 chains are ported stage by stage onto the K-triangle words by `code/build_port_stage.py` (Port480, a Claude Code research agent). `code/build_frame_regroup.py` extends PR583's `build_frames.py` (chafreaky). +- **Helper count R.** The generalisation of the global scripts to the provider helper count R is by GlobalR (a Claude Code research agent), with AtomReviewer's fixes (PROOF-NOTE-R.md). +- **Owner map.** The owner map, the cold_end recipes on the K-triangle words and the package assembly are by Stack492, Port480 and ColdBeyond (Claude Code research agents). + +Build on this at your own risk. diff --git a/research/gauge44-slots-t16/code/assemble.py b/research/gauge44-slots-t16/code/assemble.py new file mode 100644 index 0000000000..581dd9cb29 --- /dev/null +++ b/research/gauge44-slots-t16/code/assemble.py @@ -0,0 +1,241 @@ +"""Gauge44 complete global admission with the retained native exact-complex moment. + +Prepared with OpenAI Codex assistance. The rational engines and outer +constraints are retained from PR547/PR548 and their preserved ancestry. +The bit operator is the cited unchanged PR589 supplier (PR555's punctured +R439 word, v = 111, decoder constant 63, two A-section transports), shipped +as inputs/PR589-EXPECTED.json and pinned by git blob id. Its rank-mass +deficit is derived from the word's parameters, T(2Kv - L*cst) at nine +stages (PR545/PR555 rank-mass identity), not hard-coded. The complex owner +and invoice inputs must be freshly emitted by the packaged physical replay. +All conservative admission guards and conservative moment/outer witnesses run +before the PR559 native-complex correction. The bit surcharge is retained. +""" +from pathlib import Path +from fractions import Fraction as Q +from decimal import Decimal, localcontext +import argparse,json,hashlib,importlib.util,os,sys +from collections import Counter +assert __debug__, 'Assertions required' +P=Path(sys.argv[1] if __name__=='__main__' else os.environ['GAIN_PR564_SOURCE']).resolve() +read=lambda p:json.loads(p.read_text()) +sha=lambda p:hashlib.sha256(p.read_bytes()).hexdigest() +hash_ok=lambda x:isinstance(x,str) and len(x)==64 and all(t in '0123456789abcdef'for t in x) +digest=lambda x:hashlib.sha256(json.dumps(x,separators=(',',':')).encode()).hexdigest() +def load(n): + s=importlib.util.spec_from_file_location(n,P/'engines'/(n+'.py'));m=importlib.util.module_from_spec(s);s.loader.exec_module(m);return m +M,B,A=[load(n)for n in ('moment','base_two_moment','outer')] +def dec(x): + with localcontext()as ctx:ctx.prec=70;return str(Decimal(x.numerator)/Decimal(x.denominator)) +from witness import DISPATCH,CALL_ORDER,COUNTS,PIDS,X,DISCOVER,pin,SPOT,spot_widths +# Cited bit supplier: PR589's tune/EXPECTED.json (merged on main as research/e8-bit-p111-tuned/tune/EXPECTED.json). +BIT_PATH=Path(__file__).resolve().parents[1]/'inputs/PR589-EXPECTED.json' +BIT_BLOB='e293ddc557742637f9f679f083a1a282d87b1b13' +# Nine-stage bit template (PR463/PR510 chain, 32 replicas): L stages, T replicas, K=(L-1)//2 pairs, moment width M=1+7L. +BIT_L,BIT_T=9,32;BIT_K=(BIT_L-1)//2;BIT_M=1+7*BIT_L +def git_blob(data):return hashlib.sha1(b'blob '+str(len(data)).encode()+b'\0'+data).hexdigest() +def load_bit(data): + """The pinned supplier record: its full record (word parameters) and its nine-stage price.""" + assert git_blob(data)==BIT_BLOB,'bit supplier blob pin' + return json.loads(data) +def bit_deficit(word,live): + """Rank-mass deficit M*live - mass = T(2Kv - L*cst) of a v-port bit word with decoder constant cst (PR545/PR555). + cst is the sum of the retained totals' COPY ranks and live = 2KvT data wires; both are cross-checked here, and the + caller checks the result against the priced profile, so neither v nor cst is free.""" + v,cst,ranks=word['v'],word['decoder_constant'],word['copy_ranks'] + assert type(v)is int and type(cst)is int and all(type(r)is int and 00;return d + + +def assemble(owner,invoice,owner_sha,invoice_sha): + # These are admission receipts, not optional collections of successful rows. + # Require both orientations and every finite check before pricing anything. + assert owner['status']=='PASS_INDEPENDENT_ASYNC_OWNERS_AND_PROFILE' + assert invoice['status']=='PASS_INDEPENDENT_MIXED_ASYNC_SCALAR_PREFIX_AND_FINITE_INVOICE' + assert all(hash_ok(x)for x in (owner_sha,invoice_sha,owner['template_sha256'],owner['controller_audit_sha256'],invoice['parent_template_sha256'])) + checks={'local_primitive_bound','logical','router','literal','mass','precision','tape','row','halving'} + assert set(invoice['strict_checks'])==checks + assert all(invoice['strict_checks'][name] is True for name in checks) + assert set(invoice['providers'])==set(PIDS) + assert invoice['provider_counts']==COUNTS + assert owner['all_live_owners_per_call_distinct'] is True + # R (helpers per provider word) is read from the invoice and must be shared by every provider; n=2v+R. + R=invoice['helpers'];assert type(R) is int and R>0 and all(p['helpers']==R for p in invoice['providers'].values()) + assert owner['owners_per_call']==2*112+R and owner['actual_helper_owner_charts']==owner['hosted_residuals']==144*R==pin('expected.hosted_residuals',owner['hosted_residuals']) + pin('expected.rank_mass',owner['rank_mass']) + pin('expected.actual_73column_sigmas',owner['actual_73column_sigmas']);pin('expected.cross_replica_helper_roles',owner['cross_replica_helper_roles']) + pin('expected.idle_remainders',owner['explicit_idle_remainder_children']) + assert invoice['complete_invocation_sweeps']==invoice['bridge_sweeps']==144 + assert invoice['live']==owner['live'] and invoice['physical']==owner['physical'] + assert invoice['centres']==8 + assert invoice['physical_stock_identity']==dict(data_and_owner_families=14336,local_helpers=R,private_centres=8,coefficient_work=2) + assert sum(invoice['physical_stock_identity'].values())==invoice['physical'] + assert invoice['controller_audit_sha256']==owner['controller_audit_sha256'] + for pid,p in invoice['providers'].items(): + assert set(p['local'])=={'forward','backward'} + assert p['helpers']==R and p['centres']==8 and p['n']==2*112+R and p['v']==112 and p['h']==9 + K='providers.'+pid+'.';pin(K+'entering',p['entering_helpers']);pin(K+'entrance',p['entrance_rank']) + pin(K+'inventory',p['width_inventory']) + assert all(type(w) is int and 0=0 for n in idle.values()) + idle=+idle;assert sum(idle.values())==owner['explicit_idle_remainder_children'] + pin('expected.idle_remainder_profile',{str(r):n for r,n in sorted(idle.items())}) + paid.update(idle) + assert dict(paid)=={int(r):n for r,n in owner['paid_profile'].items()} + assert invoice['compiler']==64*74**3 + assert invoice['local_adapters']==max(p['local_adapters']for p in invoice['providers'].values()) + assert invoice['local_primitive_bound']==max(p['local_primitive_bound']for p in invoice['providers'].values()) + # Recount the retained dedicated-bank envelope independently. Its geometry + # stays fixed, while every local primitive and wrapper comes from the actual + # selected provider/orientation sums above. + parent_live,parent_physical,parent_idle=23408,23922,32256 + parent_banks,rem=divmod(parent_live-2*112*4*16,9);assert rem==0 and parent_physical==parent_live+504+8+2 # two independent bank groups, each with R0=504 helpers; restored private workspace is shared + assert owner['source_idle_children_charged']==parent_idle + bridges,shifts=2*112*144,4*112*16;moves=2*shifts + nonlocal_items=(4*112*16*9+2*112*16*9+2*144*R+parent_idle+9*parent_banks+bridges+shifts+moves+parent_live+parent_physical+invoice['wrapper_elementary_factors_charged']) + outside=8*nonlocal_items+64*73 + pervertex=(invoice['selected_real_component_primitives']+bridges+shifts+moves+parent_live+(144*invoice['local_adapters']+outside)*invoice['compiler']+64*parent_physical) + rebased=pervertex+65*(invoice['physical']-parent_physical)+(invoice['live']-parent_live) + assert invoice['unhosted_pervertex']==pervertex and invoice['hosted_rebased_pervertex']==rebased + used=max(pervertex,rebased) + prior=invoice['retained_prior_overcharge'] + if prior is not None: + assert hash_ok(prior['sha256']) and type(prior['previous_pervertex_allowance']) is int and prior['previous_pervertex_allowance']>0 + assert prior['added_complete_new_pervertex']==pervertex + assert prior['policy']=='Retain old allowance and add entire fresh mixed recount.' + used=max(used,prior['previous_pervertex_allowance']+pervertex) + assert invoice['conservative_pervertex_used']==used + finite=invoice['finite'] + assert 02*48*48) + assert actual_checks==invoice['strict_checks'] and all(actual_checks.values()) + bit_record=load_bit(BIT_PATH.read_bytes()) + bit=bit_record['nine'] + assert 'nine-stage' in bit['pipeline'] and '32 replicas' in bit['pipeline'] + c=Q(bit['bit_lower']) + bit_D=bit_deficit(bit_record['word'],bit['bit']['live']) + H={int(r):n for r,n in owner['paid_profile'].items()};pin('expected.global_profile',owner['paid_profile']) + # Claimed lower endpoints come from the spec; discovery derives them with the same certified moment engine. + # Either way they are verified below (accepted at b, rejected at b+1e-24). + if DISCOVER:b=Q(M.certify(H,73,owner['live'],False)['lower']);conservative_b=Q(M.certify(H,73,owner['live'],True)['lower']) + else:b=Q(X['complex_lower']);conservative_b=Q(X['conservative_complex_lower']) + assert owner['template_sha256']==invoice['template_sha256'] and owner_sha==invoice['owner_audit_sha256'] + pin('expected.live',owner['live']);pin('expected.physical',owner['physical']);assert owner['deficit']==5120 + assert owner['banked_residuals']==0 + def check_moment(side,h,m,W,lower,deficit,bad): + assert m*W-sum(r*n for r,n in h.items())==deficit and m*m>2*max(h)**2 + rows=[] + for z,accept in [(lower,True),(lower+Q(1,10**24),False)]: + l,u=M.moment(h,m,W,z,bad);ll,uu=B.moment(m,W,list(h.items()),z) + if bad: + fl,fu=B.moment(m,W,[(1,32*m*m*sum(h.values()))],z);ll+=fl/10**16;uu+=fu/10**16 + assert (u<1 and uu<1)if accept else(l>1 and ll>1) + rows.append(dict(side=side,surcharge=bad,endpoint=str(z),accept=accept,mercator=[str(l-1),str(u-1)],base_two=[str(ll-1),str(uu-1)])) + return rows + bitH={int(r):n for r,n in bit['profile'].items()} + assert BIT_M==64 and sum(r*n for r,n in bitH.items())==bit['bit']['rank_mass'] + bit_moments=check_moment('bit',bitH,BIT_M,bit['bit']['live'],c,bit_D,True) + conservative_moments=check_moment('conservative_complex',H,73,owner['live'],conservative_b,5120,True) + assert bit['bit']['two_level_coefficient_bits']0 + ceil=lambda x:-(-x.numerator//x.denominator);cut=max(ceil(36/gap**2),ceil(2*(4+512)/gap));assert cut*gap**2>=36 and cut*gap>=2*(4+512) + cuts.append(dict(exponent=str(a),gap=str(gap),cutoff_log2=str(cut)));chain.append(a) + q=chain[-1]*(1-2*eta);margin=(1-eta)*q/(1+q);ticks=margin*10**18;k=Q((ticks.numerator-1)//ticks.denominator,10**18) + bridge={'semantic':{'C0':{'base':2,'exponent':210000},'strict_literal_gap':1},'rows':{'degree_gap':Q(10**6)-Q(51*20161,25)}} + outer=A.assembly(chain[-1],bb,bridge,k,eta=eta,beta=beta);assert len(outer['strict_constraints'])==47 and all(v>0 for v in outer['strict_constraints'].values()) + controls=[] + for name,kk,ee,be in [('next_grid',k+Q(1,10**18),eta,beta),('zero_eta',k,Q(0),beta),('zero_beta',k,eta,Q(0)),('unit_beta',k,eta,Q(1))]: + try:A.assembly(chain[-1],bb,bridge,kk,eta=ee,beta=be) + except AssertionError:controls.append(name) + else:raise AssertionError(name) + return k,cuts,outer,controls + conservative_k,conservative_cuts,conservative_outer,conservative_controls=outer_witness(conservative_b) + pin('expected.conservative_kappa_decimal',dec(conservative_k)) + # Only after every conservative supplier/admission/outer check succeeds is + # the reviewed native exact-complex recurrence selected. Bit charge stays. + native_moments=check_moment('complex',H,73,owner['live'],b,5120,False) + k,cuts,outer,controls=outer_witness(b) + pin('expected.kappa_decimal',dec(k)) + assert M.moment(H,73,owner['live'],b,True)[0]>1 + assert M.moment(bitH,64,bit['bit']['live'],c+Q(1,10**24),False)[1]<1 + model_controls=['native_complex_endpoint_rejected_with_old_surcharge','omitting_bit_surcharge_would_fail_next_endpoint_rejection'] + moments=bit_moments+native_moments + input_hashes={'owner_audit':owner_sha,'fresh_invoice':invoice_sha,'package:inputs/PR589-EXPECTED.json':sha(BIT_PATH)} + input_hashes.update({'engines/'+name+'.py':sha(P/'engines'/(name+'.py'))for name in ('moment','base_two_moment','outer')}) + return dict(status='PASS_GAUGE44_NATIVE_EXACT_GLOBAL_ASSEMBLY',kappa=str(k),kappa_decimal=dec(k),complex_lower=str(b),complex_decimal=dec(b),bit_lower=str(c),bit_decimal=dec(c),binding='complex',gain_over_pr635_percent=dec(100*(k/Q(X['gain_baseline_kappa'])-1)),complex_profile=H,provider_counts=invoice['provider_counts'],surcharge_model={'complex':False,'bit':True},conservative_complex_lower=str(conservative_b),conservative_complex_decimal=dec(conservative_b),conservative_kappa=str(conservative_k),conservative_kappa_decimal=dec(conservative_k),conservative_moments=conservative_moments,conservative_bootstrap=conservative_cuts,conservative_outer={n:str(v)for n,v in conservative_outer['strict_constraints'].items()},conservative_controls=conservative_controls,model_controls=model_controls,native_correction_gain=dec(k-conservative_k),template_sha256=owner['template_sha256'],input_sha256=input_hashes,bit_supplier=dict(pr=589,repository='CrocSwap/integer-mult-bounds',commit='a5afc8c6169ea61ba7c51dfd3cade02cc7b13b46',merged_as='b3eb785ac5b4b1ca2beea0f80db078a505626a90',path='research/e8-bit-p111-tuned/tune/EXPECTED.json',git_blob_sha1=BIT_BLOB,word=dict(v=bit_record['word']['v'],decoder_constant=bit_record['word']['decoder_constant'],copy_ranks=bit_record['word']['copy_ranks']),derived_deficit=bit_D,deficit_formula='T(2Kv-L*cst), L=%d T=%d K=%d M=%d'%(BIT_L,BIT_T,BIT_K,BIT_M),replay_scope='Cited unchanged supplier; this assembly reprices its full profile and does not rebuild its bit circuit.'),moments=moments,bootstrap=cuts,outer={n:str(v)for n,v in outer['strict_constraints'].items()},controls=controls,scope='Conditional native exact-complex witness after complete conservative admission, moment and outer checks; PR559 exact-cover recurrence correction only, bit bad-residue surcharge and H1-H5 retained. The new source-branch gauge and retired-basis completion, the gauge44-barch U8 local word and all 72 cold helper ends, and explicit all144 whole-owner dispatch with a two-copy remainder trade are composed with the cited unchanged merged PR589 bit supplier (PR555 punctured R439 word; derived bit deficit T(2Kv-L*cst)), replacing the PR543 supplier of PR635; This is a new T16 composition of the accepted PR799 and PR589 suppliers. All-size compiler, common-label/mutable-source realization, whole-call hosting, precision/tape and analytic transfer remain assumptions. No unconditional theorem or full Lean certification.') +if __name__=='__main__': + import sys + package,C,out=map(Path,sys.argv[1:4]);assert package.resolve()==P and not out.exists() + owner_path=C/'audit/OWNERS-AND-PROFILE.json';invoice_path=C/'audit/PREFIX-AND-INVOICE.json' + owner,invoice=read(owner_path),read(invoice_path) + assert owner['template_sha256']==read(C/'hosted/HOSTED.json')['template_sha256'] + r=assemble(owner,invoice,sha(owner_path),sha(invoice_path));out.write_text(json.dumps(r,indent=2)+'\n');print(r['status'],r['kappa_decimal']) diff --git a/research/gauge44-slots-t16/code/assembly_controls.py b/research/gauge44-slots-t16/code/assembly_controls.py new file mode 100644 index 0000000000..096ba9cdfe --- /dev/null +++ b/research/gauge44-slots-t16/code/assembly_controls.py @@ -0,0 +1,260 @@ +"""Independent admission controls for the N-provider native-complex assembly (per-provider controls). + +Prepared with OpenAI Codex assistance; Apache-2.0. Mutation receipts are +rebound to their new owner digest, so unrelated stale hashes cannot conceal +an incomplete width, provider, orientation, paid-profile or finite check. +The fresh physical replay remains a separate prerequisite. +""" +import argparse +import copy +import itertools +import math +import hashlib +import json +import os +from pathlib import Path +import sys as _s,pathlib as _p;_s.path.insert(0,str(_p.Path(__file__).resolve().parent)) +from witness import * + +assert __debug__, 'Assertions required' +P = Path(__file__).resolve().parent +sha = lambda p: hashlib.sha256(p.read_bytes()).hexdigest() +digest = lambda x: hashlib.sha256(json.dumps(x, sort_keys=True, separators=(',', ':')).encode()).hexdigest() + + +def verify(owner_path, invoice_path, source_package): + os.environ['GAIN_PR564_SOURCE'] = str(source_package.resolve()) + from assemble import assemble + owner = json.loads(owner_path.read_text()) + invoice = json.loads(invoice_path.read_text()) + baseline = assemble(owner, invoice, sha(owner_path), sha(invoice_path)) + + def empty_maps(o, i): + i['strict_checks'] = {} + i['providers'] = {} + + def understated_stock(o, i): + o['physical'] -= 1 + i['physical'] -= 1 + i['physical_stock_identity']['coefficient_work'] -= 1 + + def changed_profile(o, i): + o['paid_profile']['1'] += 2 + o['paid_profile']['2'] -= 1 + + def wrong_orientation(o, i): + c = next(c for c in i['selected_calls'] if c['stage'] == 0) + c['orientation'] = 'backward' + p = i['providers'][c['provider_id']] + z = p['local']['backward'] + c['program_sha256'] = p['program_hashes']['backward'] + for name in ('events', 'macros', 'real_component_primitives', + 'coefficient_work_primitive_count', 'pre_wrappers', 'post_wrappers'): + c[name] = z[name] + i['selected_real_component_primitives'] = sum(c['real_component_primitives'] for c in i['selected_calls']) + i['selected_coefficient_work_primitive_count'] = sum(c['coefficient_work_primitive_count'] for c in i['selected_calls']) + + def understated_prefix(o, i): + for p in i['providers'].values(): + for z in p['local'].values(): + z['prefix_bits'], z['prefix_l1'] = 1, '1' + i['global_prefix_bits'] = 1 + 37 + 144 + 144 + 4 + + def reordered_calls(o, i): + i['selected_calls'][0], i['selected_calls'][1] = i['selected_calls'][1], i['selected_calls'][0] + + def no_cold_wrappers(o, i): + for p in i['providers'].values(): + p['entering_helpers'] -= 4 + for z in p['local'].values():z['pre_wrappers'] = z['post_wrappers'] = p['entering_helpers'] + for c in i['selected_calls']: + c['entering_helpers'] = c['pre_wrappers'] = c['post_wrappers'] = i['providers'][c['provider_id']]['entering_helpers'] + i['wrapper_elementary_factors_charged'] = sum(2*c['pre_wrappers'] for c in i['selected_calls'])*i['factors_per_wrapper'] + + controls = [ + ('empty_certification_maps', empty_maps), + ('failed_invoice_status', lambda o, i: i.__setitem__('status', 'FAIL')), + ('nonboolean_precision_check', lambda o, i: i['strict_checks'].__setitem__('precision', 'true')), + ('wrong_owner_role_count', lambda o, i: o.__setitem__('actual_helper_owner_charts', o['actual_helper_owner_charts'] - 1)), + ('understated_physical_stock', understated_stock), + ('changed_profile_same_rank_mass', changed_profile), + ('insufficient_finite_C0', lambda o, i: i['finite'].__setitem__('required_C0_bits', 210001)), + ('missing_finite_check', lambda o, i: i['strict_checks'].pop('halving')), + ('wrong_reflected_orientation_selfconsistent_totals', wrong_orientation), + ('missing_selected_call', lambda o, i: i['selected_calls'].pop()), + ('wrong_selected_primitive_sum', lambda o, i: i.__setitem__('selected_real_component_primitives', i['selected_real_component_primitives'] - 1)), + ('wrong_selected_coefficient_work_sum', lambda o, i: i.__setitem__('selected_coefficient_work_primitive_count', i['selected_coefficient_work_primitive_count'] - 1)), + ('unpaid_wrapper_factors', lambda o, i: i.__setitem__('wrapper_elementary_factors_charged', i['wrapper_elementary_factors_charged'] - 144)), + ('wrong_global_compiler', lambda o, i: i.__setitem__('compiler', 1)), + ('wrong_global_adapter_maximum', lambda o, i: i.__setitem__('local_adapters', 1)), + ('understated_exact_prefix_and_global_sum', understated_prefix), + ('wrong_global_prefix_sum', lambda o, i: i.__setitem__('global_prefix_bits', 224)), + ('wrong_row_prefix_reserve', lambda o, i: i.__setitem__('row_prefix_extra', 0)), + ('wrong_parent_geometry_charge', lambda o, i: i.__setitem__('unhosted_pervertex', 1)), + ('wrong_rebased_geometry_charge', lambda o, i: i.__setitem__('hosted_rebased_pervertex', 1)), + ('wrong_complete_pervertex_envelope', lambda o, i: i.__setitem__('conservative_pervertex_used', 1)), + ('wrong_prior_added_complete_invoice', lambda o, i: i['retained_prior_overcharge'].__setitem__('added_complete_new_pervertex', 1)), + ('wrong_finite_router_bits', lambda o, i: i['finite'].__setitem__('router_bits', 1)), + ('wrong_finite_literal_bits', lambda o, i: i['finite'].__setitem__('literal_bits', 1)), + ('wrong_finite_physical_stock_bits', lambda o, i: i['finite'].__setitem__('physical_stock_bits', 1)), + ('wrong_finite_row_coefficient', lambda o, i: i['finite'].__setitem__('physical_row_coefficient', 1)), + ('reordered_complete_calls', reordered_calls), + ('understated_explicit_idle_remainders', lambda o, i: o.__setitem__('explicit_idle_remainder_children', o['explicit_idle_remainder_children']-1)), + ('understated_actual_chart_types', lambda o, i: o.__setitem__('actual_73column_sigmas', o['actual_73column_sigmas']-1)), + ('wrong_cross_replica_role_count', lambda o, i: o.__setitem__('cross_replica_helper_roles', o['cross_replica_helper_roles']-1)), + ('old_no_cold_wrapper_counts_selfconsistent', no_cold_wrappers), + ] + + def resync(i, c): + p = i['providers'][c['provider_id']] + c['program_sha256'] = p['program_hashes'][c['orientation']] + c['entering_helpers'], c['entrance_rank'] = p['entering_helpers'], p['entrance_rank'] + for name in ('events','macros','real_component_primitives','coefficient_work_primitive_count','pre_wrappers','post_wrappers'): + c[name] = p['local'][c['orientation']][name] + + # Every provider gets the full per-provider control set, substituting a partner provider where needed. + for P in PIDS: + Qp = partner(P) if len(PIDS)>1 else '__unregistered__' + widths = invoice['providers'][P]['widths'] + + def forged_program_hash(o, i, P=P): + i['providers'][P]['program_hashes']['forward'] = '0' * 64 + for c in i['selected_calls']: + if c['provider_id'] == P: + c['program_sha256'] = '0' * 64 + + def wrong_selected_call(o, i, P=P): + c = next(c for c in i['selected_calls'] if c['provider_id'] == P) + d = next(d for d in i['selected_calls'] if d is not c and (d['provider_id'] != P or len(PIDS)==1) and (d['stage'] - c['stage']) % 2 == 0) + c['stage'], d['stage'], c['replica'], d['replica'] = d['stage'], c['stage'], d['replica'], c['replica'] + + def stale_program(o, i, P=P, Qp=Qp): + p = i['providers'][P] + p['program_hashes'] = copy.deepcopy(i['providers'][Qp]['program_hashes']) + for c in i['selected_calls']: + if c['provider_id'] == P: + c['program_sha256'] = p['program_hashes'][c['orientation']] + + def stale_profile(o, i, P=P, Qp=Qp): + p = i['providers'][P] + p['paid_profile'] = copy.deepcopy(i['providers'][Qp]['paid_profile']) + p['children'] = sum(p['paid_profile'].values()) + + def moved(o, i, P=P): + a = next(c for c in i['selected_calls'] if c['provider_id'] == P) + b = next(c for c in i['selected_calls'] if c['provider_id'] != P and c['orientation'] == a['orientation']) + a['provider_id'], b['provider_id'] = b['provider_id'], a['provider_id'] + resync(i, a); resync(i, b) + + def compensating(o, i, P=P, Qp=Qp): + # Two dishonest profiles that cancel exactly in the dispatch-weighted aggregate. + g = math.gcd(COUNTS[P], COUNTS[Qp]); dp, dq = COUNTS[Qp] // g, COUNTS[P] // g + p, q = i['providers'][P], i['providers'][Qp] + p['paid_profile']['1'] += dp; q['paid_profile']['1'] -= dq + p['children'] += dp; q['children'] -= dq + + def forged_recipe(o, i, P=P): + name = 'CLIFFORD-RECIPES.json' + i['providers'][P]['artifacts'][name] = '0'*64 + o['source_artifacts']['providers/'+P+'/'+name] = '0'*64 + + def forged_phase(o, i, P=P): + i['providers'][P]['semantic_artifact_sha256']['CLIFFORD-REVIEW.json'] = '0'*64 + o['provider_phase_semantic_sha256'][P] = i['provider_phase_semantic_sha256'][P] = '0'*64 + + controls += [ + (P + ':missing_provider', lambda o, i, P=P: i['providers'].pop(P)), + (P + ':missing_backward_orientation', lambda o, i, P=P: i['providers'][P]['local'].pop('backward')), + (P + ':unpaid_scalar_primitive', lambda o, i, P=P: i['providers'][P]['local']['forward'].__setitem__('real_component_primitives', i['providers'][P]['local']['forward']['real_component_primitives'] - 1)), + (P + ':wrong_local_artifact_binding', lambda o, i, P=P: i['providers'][P]['artifacts'].__setitem__('LOCAL-PROGRAMS.json.gz', '0' * 64)), + (P + ':false_dirty_restoration', lambda o, i, P=P: i['providers'][P]['local']['backward'].__setitem__('all_dirty_helper_columns_restored', False)), + (P + ':wrong_declared_provider_count', lambda o, i, P=P: i['provider_counts'].__setitem__(P, i['provider_counts'][P] + 1)), + (P + ':wrong_local_compiler', lambda o, i, P=P: i['providers'][P].__setitem__('compiler', 1)), + (P + ':wrong_local_adapter_charge', lambda o, i, P=P: i['providers'][P].__setitem__('local_adapters', 1)), + (P + ':wrong_local_primitive_bound', lambda o, i, P=P: i['providers'][P].__setitem__('local_primitive_bound', 1)), + (P + ':forged_provider_and_call_program_hash', forged_program_hash), + (P + ':provider_at_wrong_call', wrong_selected_call), + (P + ':stale_partner_program_consistent_call_hashes', stale_program), + (P + ':stale_partner_profile_consistent_child_total', stale_profile), + (P + ':relocated_against_partner_same_counts', moved), + (P + ':compensating_false_profiles_with_' + Qp, compensating), + (P + ':synchronized_forged_source_recipe_hash', forged_recipe), + (P + ':synchronized_forged_phase_review_semantics', forged_phase), + ] + if len(PIDS)==1: + # Cross-provider substitutions require a second actual supplier. + # All single-provider program, phase, profile and dispatch bindings + # retain their direct mutations above and in the controller audit. + partner_only = {P+':stale_partner_program_consistent_call_hashes', + P+':stale_partner_profile_consistent_child_total', + P+':relocated_against_partner_same_counts', + P+':compensating_false_profiles_with_'+Qp} + controls = [(name, fn) for name, fn in controls if name not in partner_only] + # Width order and inventory: swap the first helper of every pair of distinct widths (same inventory), + # and shift one unit between them (same total). + first = {} + for h, w in enumerate(widths): + first.setdefault(w, h) + for wa, wb in itertools.combinations(sorted(first), 2): + def swap(o, i, P=P, a=first[wa], b=first[wb]): + w = i['providers'][P]['widths']; w[a], w[b] = w[b], w[a] + def shift(o, i, P=P, a=first[wa], b=first[wb]): + w = i['providers'][P]['widths']; w[a] += 1; w[b] -= 1 + controls.append((P + ':width_order_swap_%d_%d' % (wa, wb), swap)) + controls.append((P + ':width_inventory_shift_%d_%d' % (wa, wb), shift)) + for h in SPOT: + def cold_swap(o, i, P=P, h=h): + w = i['providers'][P]['widths']; j = w.index(9 if w[h] != 9 else 8); w[h], w[j] = w[j], w[h] # never the identity + controls.append((P + ':cold_helper_width_swap_%d' % h, cold_swap)) + rejected = [] + accepted = [] + for name, mutate in controls: + o, i = copy.deepcopy(owner), copy.deepcopy(invoice) + mutate(o, i) + oh = digest(o) + i['owner_audit_sha256'] = oh + try: + assemble(o, i, oh, digest(i)) + except (AssertionError, KeyError): + rejected.append(name) + else: + # Discovery has no pinned values to reject spec-only mutations; the strict run must reject every control. + if not DISCOVER: + raise AssertionError('Invalid admission receipt accepted: ' + name) + accepted.append(name) + try: + assemble(owner, invoice, '0' * 64, sha(invoice_path)) + except AssertionError: + rejected.append('wrong_owner_receipt_hash') + else: + raise AssertionError('Wrong owner digest accepted') + pin('expected.assembly_controls_rejected', len(rejected)) + assert baseline['controls'] == ['next_grid', 'zero_eta', 'zero_beta', 'unit_beta'] + assert baseline['conservative_controls'] == baseline['controls'] + assert baseline['surcharge_model'] == {'complex': False, 'bit': True} + assert len(baseline['model_controls']) == 2 + return dict( + status='PASS_EXACT_MIXED_048_ALLCOLD_NATIVE_ASSEMBLY_ADMISSION_NEGATIVE_CONTROLS', + valid_receipt_kappa=baseline['kappa'], + input_sha256=baseline['input_sha256'], + assembler_sha256=sha(Path(__file__).resolve().parent / 'assemble.py'), + rejected_controls=rejected, + discovery_accepted_controls=accepted, + exact_outer_controls=baseline['controls'], + conservative_outer_controls=baseline['conservative_controls'], + recurrence_model_controls=baseline['model_controls'], + scope='Complete receipt schema; ordered widths and both reflected providers; exact program, work and paid-profile binding; independently recounted compiler, conservative envelope and finite inequalities. Does not replace fresh physical replay.', + ) + + +if __name__ == '__main__': + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--source-package', type=Path, required=True) + ap.add_argument('--owner', type=Path, required=True) + ap.add_argument('--invoice', type=Path, required=True) + ap.add_argument('--out', type=Path, required=True) + a = ap.parse_args() + assert not a.out.exists() + result = verify(a.owner, a.invoice, a.source_package) + a.out.write_text(json.dumps(result, indent=2) + '\n') + print(result['status'], len(result['rejected_controls'])) diff --git a/research/gauge44-slots-t16/code/audit_allcold.py b/research/gauge44-slots-t16/code/audit_allcold.py new file mode 100644 index 0000000000..923bf7b675 --- /dev/null +++ b/research/gauge44-slots-t16/code/audit_allcold.py @@ -0,0 +1,254 @@ +"""OpenAI Codex independent serialized ASYNCHRONOUS controller/spectator audit. +Imports no emitter, optimizer, expander, edge-coloring, or source hosting code. +CLI: BASE HOSTED REPORT [--mutation-controls] +Each provider is independently read from BASE/providers, never from a baseline width histogram. +OpenAI Codex two-provider width-seven extension; retains all inherited independent controller checks. +The exact 63 width-seven and 9 plain calls are frozen below. +""" +import sys,json,gzip,hashlib,copy +assert __debug__, 'Assertions must remain enabled' +from pathlib import Path +from collections import Counter,defaultdict +import sys as _s,pathlib as _p;_s.path.insert(0,str(_p.Path(__file__).resolve().parent)) +from witness import * +from generated_identity import artifact_identities +BASE,OUT,REPORT=map(lambda p:Path(p).resolve(),sys.argv[1:4]);read=lambda p:json.loads(gzip.decompress(p.read_bytes())if p.suffix=='.gz'else p.read_bytes()) +parent=read(BASE/'split-centres/GLOBAL-TEMPLATE.json.gz') +ph=read(BASE/'work/complex-nine-native/DATA-PHASES.json') +ct=read(OUT/'GLOBAL-TEMPLATE.json.gz');summary=read(OUT/'HOSTED.json') +sha=lambda p:hashlib.sha256(p.read_bytes()).hexdigest() +provider_ids=PIDS +providers={};registry={};phase_semantic_hashes={};artifact_semantic_hashes={} +required_artifacts={'work/complex-nine-native/DATA-PHASES.json'} +provider_files=('CANONICAL-WORD.json.gz','LOCAL-PROGRAMS.json.gz','LOCAL-CHECKS.json', + 'INDEPENDENT-LOCAL-REPLAY.json','RESIDUAL-ADAPTERS.json','CLIFFORD-RECIPES.json','CLIFFORD-REVIEW.json') +for pid in provider_ids: + p=BASE/'providers'/pid + c=read(p/'CANONICAL-WORD.json.gz');checks=read(p/'LOCAL-CHECKS.json') + programs=read(p/'LOCAL-PROGRAMS.json.gz');replay=read(p/'INDEPENDENT-LOCAL-REPLAY.json') + phase=read(p/'CLIFFORD-REVIEW.json');adapters=read(p/'RESIDUAL-ADAPTERS.json')['recipes'] + widths=[len(c['frames'][c['final'][2*c['v']+h]])-len(c['frames'][c['start'][2*c['v']+h]])for h in range(c['R'])] # HPE: residual width |final|-|start| + assert tuple(widths[h]for h in SPOT)==spot_widths();pin('providers.%s.inventory'%pid,{str(k):v for k,v in sorted(Counter(widths).items())}) + canonical_sha=sha(p/'CANONICAL-WORD.json.gz');programs_sha=sha(p/'LOCAL-PROGRAMS.json.gz') + assert replay['status']=='PASS_INDEPENDENT_LOCAL_SCALAR_FRAME_AND_WRAPPER_REPLAY' + assert replay['canonical_word_sha256']==canonical_sha and replay['local_programs_sha256']==programs_sha + assert replay['v']==c['v'] and replay['helpers']==c['R'] + assert set(programs)==set(checks)==set(replay['local'])==set(replay['paid_profiles'])=={'forward','backward'} + for orientation,events in programs.items(): + ck=checks[orientation];rr=replay['local'][orientation] + assert hashlib.sha256(json.dumps(events,sort_keys=True,separators=(',',':')).encode()).hexdigest()==ck['sha256'] + assert ck['events']==len(events) and ck['all_columns']==2*c['v']+c['R'] + assert ck['private_centers_cleared'] and ck['private_coefficient_stream_cleared_after_each_macro'] + assert rr['all_exact_columns']==2*c['v']+c['R'] and rr['private_work_erased'] + literal=Counter(e[-1]for e in events if e[0]in('climb','center')) + assert dict(literal)=={int(r):n for r,n in ck['paid_profile'].items()}=={int(r):n for r,n in c['local_profile'].items()} + assert ck['paid_profile']==replay['paid_profiles'][orientation] + assert phase['canonical_word_sha256']==canonical_sha and phase['recipe_sha256']==sha(p/'CLIFFORD-RECIPES.json') + assert phase['all_child_equalities_include_global_phase'] + artifact_semantic_hashes[pid]=artifact_identities(p) + pin('providers.%s.artifact_semantic_sha256'%pid,artifact_semantic_hashes[pid]) + phase_semantic_hashes[pid]=artifact_semantic_hashes[pid]['CLIFFORD-REVIEW.json'] + for h,w in enumerate(widths): + assert 0>i)&1==0);a=q^(1<>i&1 else 0)for i in order]+[1<2*max(paid)**2 + return dict(profile=dict(sorted(paid.items())),mass=mass,hosted=HOSTED,entering=entering,cross_replica=cross,sigma_digest=digest.hexdigest(),sigmas=sigmas,idle_remainders=len(wanted),busy_family_checks=len(roles),invocations=144) + +r=audit(ct);raw=gzip.decompress((OUT/'GLOBAL-TEMPLATE.json.gz').read_bytes());assert hashlib.sha256(raw).hexdigest()==summary['template_sha256'];assert r['profile']=={int(k):v for k,v in summary['global_profile'].items()};assert r['sigmas']==read(OUT/'ACTUAL-SIGMAS.json.gz');assert r['sigma_digest']==summary['sigma_stream_sha256'] +assert all(hashlib.sha256((BASE/name).read_bytes()).hexdigest()==value for name,value in summary['source_artifacts'].items()) +controls=[] +def reject(name,mut): + if '--mutation-controls' not in sys.argv[4:]:return + q=copy.deepcopy(ct);mut(q) + try:audit(q) + except(AssertionError,KeyError,IndexError,ValueError,TypeError):controls.append(name) + else:raise AssertionError('ACCEPTED '+name) +enter=lambda q:next(o for c in q['calls']for o in c['owners'][(2*V):]if o[1][0]==4) +reject('alias two whole owners',lambda q:q['calls'][0]['owners'].__setitem__((2*V+1),q['calls'][0]['owners'][(2*V)])) +reject('helper on active data family',lambda q:q['calls'][0]['owners'][(2*V)].__setitem__(0,q['calls'][0]['owners'][0][0])) +reject('owner in private namespace',lambda q:q['calls'][0]['owners'][(2*V)].__setitem__(0,DATA)) +reject('wrong residual width',lambda q:enter(q)[1].__setitem__(3,enter(q)[1][3]-1)) +reject('wrong spectator coordinate',lambda q:enter(q)[1][4].__setitem__(0,72)) +reject('omit idle remainder',lambda q:q['idle_children'].pop()) +reject('understate physical reserve',lambda q:q.__setitem__('physical',PHYSICAL-1)) +# Single-provider dispatch still has all source/program/width binding controls. +if len(provider_ids)==1: + P=provider_ids[0] + at_p=lambda q:next(c for c in q['calls']if c['provider_id']==P) + narrow=next(h for h in range(R)if providers[P]['widths'][h]<9) + reject(P+': wrong provider at its invocation',lambda q:at_p(q).__setitem__('provider_id','__unregistered__')) + reject(P+': stale per-call local program hash',lambda q:at_p(q).__setitem__('local_program_sha256','0'*64)) + reject(P+': stale serialized provider program',lambda q:q['local_providers'][P]['local_programs']['forward'].pop()) + reject(P+': unbound residual adapter hash',lambda q:q['local_providers'][P].__setitem__('residual_adapter_sha256','0'*64)) + reject(P+': wrong provider width registry',lambda q:q['local_providers'][P]['widths'].__setitem__(narrow,providers[P]['widths'][narrow]-1)) + reject(P+': wrong per-call residual width',lambda q:at_p(q)['owners'][2*V+narrow][1].__setitem__(3,at_p(q)['owners'][2*V+narrow][1][3]-1)) + reject(P+': wrong sweep provider',lambda q:next(e for e in q['execution_schedule']if e['kind']=='local_cover_sweep').__setitem__('provider_id','__unregistered__')) + reject(P+': entering helper width silently restored to nine',lambda q:q['local_providers'][P]['widths'].__setitem__(narrow,9)) +else: + # Per-provider substitution controls: every provider is swapped against a partner provider. + for P in provider_ids: + Qp=partner(P) + at_p=lambda q,P=P:next(c for c in q['calls']if c['provider_id']==P) + diff=[h for h in range(R)if providers[P]['widths'][h]!=providers[Qp]['widths'][h]] + narrow=next(h for h in range(R)if providers[P]['widths'][h]<9) + reject(P+': wrong provider at its invocation',lambda q,P=P,Qp=Qp,at_p=at_p:at_p(q).__setitem__('provider_id',Qp)) + reject(P+': stale per-call local program hash',lambda q,Qp=Qp,at_p=at_p:at_p(q).__setitem__('local_program_sha256',registry[Qp]['local_program_checks'][at_p(q)['orientation']]['sha256'])) + reject(P+': stale serialized provider program',lambda q,P=P,Qp=Qp:q['local_providers'][P].__setitem__('local_programs',registry[Qp]['local_programs'])) + reject(P+': unbound residual adapter hash',lambda q,P=P:q['local_providers'][P].__setitem__('residual_adapter_sha256','0'*64)) + if diff:reject(P+': partner width in provider width registry',lambda q,P=P,Qp=Qp,h=diff[0]:q['local_providers'][P]['widths'].__setitem__(h,providers[Qp]['widths'][h])) + reject(P+': wrong per-call residual width',lambda q,at_p=at_p,h=narrow:at_p(q)['owners'][2*V+h][1].__setitem__(3,at_p(q)['owners'][2*V+h][1][3]-1)) + reject(P+': wrong sweep provider',lambda q,P=P,Qp=Qp:next(e for e in q['execution_schedule']if e['kind']=='local_cover_sweep'and DISPATCH[e['stage'],e['replica']]==P).__setitem__('provider_id',Qp)) + reject(P+': entering helper width silently restored to nine',lambda q,P=P,h=narrow:q['local_providers'][P]['widths'].__setitem__(h,9)) + +report=dict(status='PASS_INDEPENDENT_ASYNC_WHOLE_OWNER_CONTROLLER_PHASES_AND_SPECTATORS',template_sha256=summary['template_sha256'],complex_template_sha256=summary['template_sha256'],complex_live=DATA,complex_profile=r['profile'],complex_hosted_residuals=HOSTED,physical=PHYSICAL,rank_mass=r['mass'],deficit=5120,entering_helper_roles=r['entering'],cross_replica_helper_roles=r['cross_replica'],one_owner_per_complete_invocation=True,helper_busy_family_window_checks=r['busy_family_checks'],complete_invocations=r['invocations'],actual_orthogonal_73column_maps=len(r['sigmas']),actual_sigma_stream_sha256=r['sigma_digest'],all_actual_residual_and_spectator_charts=True,idle_remainders=r['idle_remainders'],mutations_rejected=controls,mutation_controls_run='--mutation-controls' in sys.argv[4:],provider_phase_semantic_sha256=phase_semantic_hashes,provider_artifact_semantic_sha256=artifact_semantic_hashes,widths_by_provider={pid:dict(sorted(Counter(providers[pid]['widths']).items()))for pid in provider_ids},provider_counts=dict(Counter(c['provider_id']for c in ct['calls'])),all_provider_program_phase_and_wrapper_bindings=True,scope='Independent exact asynchronous chronology, per-replica phase projection, owner/chart/paid-profile audit. Uses per-invocation local providers bound by exact scalar, phase and residual-wrapper receipts; all-size compilation and complete coefficient invoice are separate inherited obligations.') +REPORT.parent.mkdir(parents=True,exist_ok=True) +REPORT.write_text(json.dumps(report,indent=2)+'\n');print(json.dumps(report,indent=2)) + +owners=dict(status='PASS_INDEPENDENT_ASYNC_OWNERS_AND_PROFILE',template_sha256=summary['template_sha256'],paid_profile=r['profile'],live=DATA,physical=PHYSICAL,rank_mass=r['mass'],deficit=5120,hosted_residuals=HOSTED,banked_residuals=0,all_live_owners_per_call_distinct=True,owners_per_call=N,actual_helper_owner_charts=HOSTED,actual_73column_sigmas=len(r['sigmas']),cross_replica_helper_roles=r['cross_replica'],explicit_idle_remainder_children=r['idle_remainders'],source_idle_children_charged=sum(x['replicas']for x in parent['idle_children']),source_artifacts=summary['source_artifacts'],provider_phase_semantic_sha256=phase_semantic_hashes,provider_artifact_semantic_sha256=artifact_semantic_hashes,controller_audit_sha256=hashlib.sha256(REPORT.read_bytes()).hexdigest()) +(REPORT.parent/'OWNERS-AND-PROFILE.json').write_text(json.dumps(owners,indent=2)+'\n') + +# Literal residual frames are a compact export of the already checked offsets, +# not another global replay. Every row names its actual inherited axes. +frames=[] +for z in ct['idle_children']: + axes=list(map(int,ph['recipes'][z['port']]['idle_children'][z['child']]['orthogonal_axes'])) + tail=axes[z['pending_offset']:] + assert len(tail)==z['rank'] + frames.append(dict(z,orthogonal_axes=tail)) +frame_raw=json.dumps(frames,sort_keys=True,separators=(',',':')).encode() +portable=bytearray(gzip.compress(frame_raw,mtime=0));portable[9]=255 +(OUT/'IDLE-REMAINDER-FRAMES.json.gz').write_bytes(bytes(portable)) +frame_receipt=dict(status='PASS_LITERAL_IDLE_REMAINDER_FRAMES',template_sha256=summary['template_sha256'], + uncompressed_frames_sha256=hashlib.sha256(frame_raw).hexdigest(),children=len(frames), + rank_profile=dict(sorted(Counter(z['rank']for z in frames).items())), + source_data_phase_sha256=hashlib.sha256((BASE/'work/complex-nine-native/DATA-PHASES.json').read_bytes()).hexdigest(), + scope='Actual orthogonal axes after the independently checked whole-owner prefix in each inherited pending child.') +(REPORT.parent/'IDLE-REMAINDER-FRAMES.json').write_text(json.dumps(frame_receipt,indent=2)+'\n') diff --git a/research/gauge44-slots-t16/code/bind_providers_portable.py b/research/gauge44-slots-t16/code/bind_providers_portable.py new file mode 100644 index 0000000000..97e28da17e --- /dev/null +++ b/research/gauge44-slots-t16/code/bind_providers_portable.py @@ -0,0 +1,67 @@ +"""Bind freshly verified plain and width-seven four-cold providers to the frozen literal owner plan. +Prepared with OpenAI Codex assistance; Apache-2.0. All byte-stable native +files are pinned to the plan. Only validated phase-receipt timing/serialization +and directory fields are rebound; no dispatch, width or owner choice changes. +""" +import argparse,copy,gzip,hashlib,json,shutil +from collections import Counter +from pathlib import Path +import sys as _s,pathlib as _p;_s.path.insert(0,str(_p.Path(__file__).resolve().parent)) +from witness import * +from generated_identity import artifact_identities +assert __debug__, 'Assertions required' +ap=argparse.ArgumentParser(description=__doc__) +for name in ('baseline','plan','out'):ap.add_argument('--'+name,type=Path,required=True) +ap.add_argument('--provider',action='append',required=True,help='PID=DIR');a=ap.parse_args();assert not a.out.exists();a.out.mkdir(parents=True) +def read(p):return json.loads(gzip.decompress(p.read_bytes())if p.suffix=='.gz'else p.read_bytes()) +def sha(p):return hashlib.sha256(p.read_bytes()).hexdigest() +base=a.out/'base';shutil.copytree(a.baseline/'complex-global/base',base) +ap2=dict(x.split('=',1)for x in a.provider);dirs={k:Path(v)for k,v in ap2.items()};assert set(dirs)==set(PIDS) +for pid,src in dirs.items():shutil.copytree(src,base/'providers'/pid) +pin('data.plan_sha256',sha(a.plan)) +plan=read(a.plan);original=copy.deepcopy(plan);sources={};helpers=set() # R: helper count per provider word; all providers must agree +assert set(plan['provider_registry'])==set(dirs) +assert {(c['stage'],c['replica']):c['provider']for c in plan['provider_calls']}==DISPATCH,'PLAN dispatch differs from spec dispatch' +stable=('CANONICAL-WORD.json.gz','LOCAL-PROGRAMS.json.gz','LOCAL-CHECKS.json','INDEPENDENT-LOCAL-REPLAY.json','CLIFFORD-RECIPES.json','RESIDUAL-ADAPTERS.json') +for pid,desc in plan['provider_registry'].items(): + d=base/'providers'/pid + word,program,checks,native,phase=[read(d/name)for name in('CANONICAL-WORD.json.gz','LOCAL-PROGRAMS.json.gz','LOCAL-CHECKS.json','INDEPENDENT-LOCAL-REPLAY.json','CLIFFORD-REVIEW.json')] + assert (word['v'],word['h'],len(word['centers']))==(112,9,8) and type(word['R']) is int and word['R']>0;helpers.add(word['R']) + assert word['ports']==desc['ports'] and word['centers']==desc['centers'] + widths=[len(word['frames'][word['final'][r]])-len(word['frames'][word['start'][r]])for r in range(2*112,2*112+word['R'])] # HPE: residual width |final|-|start| + assert tuple(widths[h]for h in SPOT)==spot_widths() + assert widths==desc['widths'];pin('providers.%s.inventory'%pid,{str(k):v for k,v in sorted(Counter(widths).items())}) + assert native['status']=='PASS_INDEPENDENT_LOCAL_SCALAR_FRAME_AND_WRAPPER_REPLAY' + pin('providers.%s.native_negative_controls'%pid,len(native['negative_controls_rejected'])) + assert native['canonical_word_sha256']==sha(d/'CANONICAL-WORD.json.gz') and native['local_programs_sha256']==sha(d/'LOCAL-PROGRAMS.json.gz') + assert phase['status']=='PASS_NEW_WORD_EXACT_LOCAL_PHASE_RECIPES' + assert phase['canonical_word_sha256']==sha(d/'CANONICAL-WORD.json.gz') and phase['recipe_sha256']==sha(d/'CLIFFORD-RECIPES.json') + assert phase['all_child_equalities_include_global_phase'] is True and phase['endpoint_adapters']==224 + pin('providers.%s.phase_edges'%pid,phase['directed_edges']) + assert set(program)==set(checks)=={'forward','backward'} + expected={int(r):n for r,n in checks['forward']['paid_profile'].items()};pin('providers.%s.expected_profile'%pid,checks['forward']['paid_profile']) + for orientation,events in program.items(): + profile=Counter() + for e in events: + if e[0]=='climb':profile[e[5]]+=1 + elif e[0]=='center':profile[e[4]]+=1 + assert dict(profile)==expected=={int(r):n for r,n in checks[orientation]['paid_profile'].items()}=={int(r):n for r,n in native['paid_profiles'][orientation].items()} + assert hashlib.sha256(json.dumps(events,separators=(',',':')).encode()).hexdigest()==checks[orientation]['sha256'] + identities=artifact_identities(d) + pin('providers.%s.artifact_semantic_sha256'%pid,identities) + assert identities==desc['artifact_semantic_sha256'] + for name in ('LOCAL-CHECKS.json','CLIFFORD-RECIPES.json','RESIDUAL-ADAPTERS.json'): + assert sha(d/name)==desc['artifact_sha256'][name],(pid,name,'changed non-reference artifact') + for c in plan['provider_calls']: + if c['provider']==pid: + assert c['orientation']==('forward'if c['stage']%2==0 else'backward') + assert c['local_program_sha256']==checks[c['orientation']]['sha256'] + desc['directory']='providers/'+pid + desc['artifact_sha256']={name:sha(d/name)for name in desc['artifact_sha256']} + sources[pid]=dict(artifact_sha256=desc['artifact_sha256'],canonical_content_sha256=hashlib.sha256(json.dumps(word,sort_keys=True,separators=(',',':')).encode()).hexdigest(),all_phase_edges=phase['directed_edges']) +assert len(helpers)==1,'providers disagree on helper count R: %s'%sorted(helpers) +plan['runtime_source_plan_sha256']=sha(a.plan) +(a.out/'PLAN.json').write_text(json.dumps(plan,indent=2)+'\n') +receipt=dict(status='PASS_FROZEN_048_ALLCOLD_DISPATCH_FRESH_PROVIDER_BINDING',source_plan_sha256=sha(a.plan),runtime_plan_sha256=sha(a.out/'PLAN.json'),providers=sources,only_rebound_fields=['provider_registry.directory','provider_registry.artifact_sha256','runtime_source_plan_sha256']) +(a.out/'BINDING.json').write_text(json.dumps(receipt,indent=2)+'\n') +print(receipt['status']) diff --git a/research/gauge44-slots-t16/code/bit_supplier_controls.py b/research/gauge44-slots-t16/code/bit_supplier_controls.py new file mode 100644 index 0000000000..e86b8527b4 --- /dev/null +++ b/research/gauge44-slots-t16/code/bit_supplier_controls.py @@ -0,0 +1,111 @@ +"""Negative controls for the cited PR589 bit supplier and its derived rank-mass deficit. + +Apache-2.0. Each control mutates one input of the changed bit-supplier sites in assemble.py (the pinned record, the +deficit derivation from the word's parameters, the profile/live binding, the claimed endpoint) and runs the unchanged +assemble() on the fresh owner/invoice receipts. Every control must be rejected; the unmutated run must pass. +`revert_hardcoded_9984` restores the PR543 constant the parent package hard-coded: with PR589's word it must fail. +""" +import argparse +import copy +import hashlib +import json +import os +import tempfile +from fractions import Fraction as Q +from pathlib import Path +import sys as _s,pathlib as _p;_s.path.insert(0,str(_p.Path(__file__).resolve().parent)) + +assert __debug__, 'Assertions required' +sha = lambda p: hashlib.sha256(p.read_bytes()).hexdigest() + + +def verify(owner_path, invoice_path, source_package): + os.environ['GAIN_PR564_SOURCE'] = str(source_package.resolve()) + import assemble as A + owner = json.loads(owner_path.read_text()) + invoice = json.loads(invoice_path.read_text()) + args = (owner, invoice, sha(owner_path), sha(invoice_path)) + baseline = A.assemble(*args) + data = A.BIT_PATH.read_bytes() + record = A.load_bit(data) + word = record['word'] + assert A.bit_deficit(word, record['nine']['bit']['live']) == 10272 == 32 * (8 * 111 - 9 * 63) + + real_load, real_deficit = A.load_bit, A.bit_deficit + + def with_record(mutate): + def load(d): + r = copy.deepcopy(real_load(d)); mutate(r); return r + return load + + def shift_profile(r): # one rank-1 child becomes rank 2: rank mass +1, totals unchanged + p = r['nine']['profile']; p['1'] -= 1; p['2'] += 1; r['nine']['bit']['rank_mass'] += 1 + + bumped = data.replace(record['nine']['bit_lower'].encode(), + str(Q(record['nine']['bit_lower']) + Q(1, 10**24)).encode(), 1) + assert bumped != data + pr543 = (source_package / 'inputs/PR543-EXPECTED.json').read_bytes() + controls = [ + # deficit site: the parent's hard-coded constant, restored + ('revert_hardcoded_9984', dict(bit_deficit=lambda w, live: 9984)), + # deficit site: each word parameter perturbed alone + ('ports_112', dict(load_bit=with_record(lambda r: r['word'].__setitem__('v', 112)))), + ('decoder_constant_64_copy_ranks_unchanged', dict(load_bit=with_record(lambda r: r['word'].__setitem__('decoder_constant', 64)))), + # v=111, cst=64 derives 32*(888-576)=9984: consistent word, wrong for the priced profile + ('decoder_constant_64_with_one_copy_rank_8', dict(load_bit=with_record(lambda r: (r['word'].__setitem__('decoder_constant', 64), r['word']['copy_ranks'].__setitem__(0, 8))))), + ('eight_retained_totals', dict(load_bit=with_record(lambda r: (r['word'].__setitem__('copy_ranks', [7] * 8), r['word'].__setitem__('decoder_constant', 56))))), + ('live_minus_one', dict(load_bit=with_record(lambda r: r['nine']['bit'].__setitem__('live', r['nine']['bit']['live'] - 1)))), + # profile binding: same totals, rank mass +1 + ('profile_rank_mass_plus_one', dict(load_bit=with_record(shift_profile))), + ('profile_rank_mass_receipt_mismatch', dict(load_bit=with_record(lambda r: r['nine']['bit'].__setitem__('rank_mass', r['nine']['bit']['rank_mass'] + 1)))), + # endpoint: the next 1e-24 grid point + ('bit_lower_next_grid', dict(load_bit=with_record(lambda r: r['nine'].__setitem__('bit_lower', str(Q(r['nine']['bit_lower']) + Q(1, 10**24)))))), + ('not_nine_stage_record', dict(load_bit=with_record(lambda r: r['nine'].__setitem__('pipeline', r['nine']['pipeline'].replace('nine-stage', 'eleven-stage'))))), + # pinned-input site: tampered bytes and the parent's PR543 file under the PR589 pin + ('tampered_bytes_next_grid', dict(read=bumped)), + ('pr543_file_under_pr589_pin', dict(read=pr543)), + ] + rejected = [] + scratch = Path(tempfile.mkdtemp(prefix='bitctl-')) + for name, patch in controls: + saved_path = A.BIT_PATH + try: + if 'read' in patch: + tmp = scratch / (name + '.json'); tmp.write_bytes(patch['read']); A.BIT_PATH = tmp + A.load_bit = patch.get('load_bit', real_load) + A.bit_deficit = patch.get('bit_deficit', real_deficit) + try: + A.assemble(*args) + except (AssertionError, KeyError): + rejected.append(name) + else: + raise AssertionError('Invalid bit supplier accepted: ' + name) + finally: + A.load_bit, A.bit_deficit, A.BIT_PATH = real_load, real_deficit, saved_path + if 'read' in patch: + tmp.unlink() + scratch.rmdir() + assert rejected == [n for n, _ in controls] + again = A.assemble(*args) + assert again['kappa'] == baseline['kappa'] and again['bit_lower'] == baseline['bit_lower'] + return dict( + status='PASS_PR589_BIT_SUPPLIER_DERIVED_DEFICIT_NEGATIVE_CONTROLS', + kappa=baseline['kappa_decimal'], bit_lower=baseline['bit_lower'], bit_decimal=baseline['bit_decimal'], + binding=baseline['binding'], bit_supplier=baseline['bit_supplier'], + derived_deficit=baseline['bit_supplier']['derived_deficit'], + rejected_controls=rejected, + assembler_sha256=sha(Path(__file__).resolve().parent / 'assemble.py'), + ) + + +if __name__ == '__main__': + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--source-package', type=Path, required=True) + ap.add_argument('--owner', type=Path, required=True) + ap.add_argument('--invoice', type=Path, required=True) + ap.add_argument('--out', type=Path, required=True) + a = ap.parse_args() + assert not a.out.exists() + result = verify(a.owner, a.invoice, a.source_package) + a.out.write_text(json.dumps(result, indent=2) + '\n', newline='\n') + print(result['status'], len(result['rejected_controls'])) diff --git a/research/gauge44-slots-t16/code/emit_allcold.py b/research/gauge44-slots-t16/code/emit_allcold.py new file mode 100644 index 0000000000..28a08a79da --- /dev/null +++ b/research/gauge44-slots-t16/code/emit_allcold.py @@ -0,0 +1,150 @@ +"""Two-provider width-seven whole-owner derivative, adapted with OpenAI Codex assistance. +Based on PR514 and its credited PR484/507 lineage. +CLI: --base VERIFIED_VARIANT --owners ASYNC-OWNERS.json.gz --plan ASYNC-PLAN.json --out OUT +No optimizer or unpublished word builder runs. The frozen map explicitly names +one whole helper per family per complete invocation, plus borrowed spectators. +""" +import sys,json,gzip,hashlib,copy,argparse +from pathlib import Path +from collections import Counter,defaultdict +import sys as _s,pathlib as _p;_s.path.insert(0,str(_p.Path(__file__).resolve().parent)) +from witness import * +parser=argparse.ArgumentParser(description=__doc__) +parser.add_argument('--base',type=Path,required=True);parser.add_argument('--owners',type=Path,required=True);parser.add_argument('--plan',type=Path,required=True);parser.add_argument('--out',type=Path,required=True) +a=parser.parse_args();BASE,MAP,PLAN,OUT=(p.resolve()for p in(a.base,a.owners,a.plan,a.out));assert not OUT.exists();OUT.mkdir(parents=True) +class OH: + @staticmethod + def idle_basis(q): + z=next(i for i in range(9)if not(q>>i)&1);u=q^(1<>i&1 else 0)for i in order]+[1<0 and all(x['R']==R for x in registry.values()),'providers disagree on helper count R' + assert replay['status']=='PASS_INDEPENDENT_LOCAL_SCALAR_FRAME_AND_WRAPPER_REPLAY' + assert replay['canonical_word_sha256']==sha(directory/'CANONICAL-WORD.json.gz')and replay['local_programs_sha256']==sha(directory/'LOCAL-PROGRAMS.json.gz') + widths=[len(pc['frames'][pc['final'][2*V+h]])-len(pc['frames'][pc['start'][2*V+h]])for h in range(R)] # HPE: residual width |final|-|start| + assert widths==plan['provider_registry'][provider_id]['widths'] + for name in provider_files: + value=sha(directory/name);assert value==plan['provider_registry'][provider_id]['artifact_sha256'][name] + source_artifacts[f'providers/{provider_id}/{name}']=value + registry[provider_id]=dict(local_programs=programs,canonical_word_sha256=sha(directory/'CANONICAL-WORD.json.gz'),local_programs_sha256=sha(directory/'LOCAL-PROGRAMS.json.gz'),local_program_checks=checks,exact_local_clifford_recipe_sha256=sha(directory/'CLIFFORD-RECIPES.json'),residual_adapter_sha256=sha(directory/'RESIDUAL-ADAPTERS.json'),v=V,h=9,R=R,ports=pc['ports'],centers=pc['centers'],widths=widths) +assert len(roles)==144*R # one whole-owner role per (call, provider helper) +selected={(c['stage'],c['replica']):c for c in plan['provider_calls']} +assert len(selected)==144 and set(selected)==set(call_order) +assert Counter(c['provider']for c in selected.values())==COUNTS +per_call_widths={(c['stage'],c['replica']):c['widths']for c in plan['per_call_widths']} +for key,c in selected.items(): + assert c['time']==at[key] and c['provider']in registry + assert per_call_widths[key]==registry[c['provider']]['widths'] +for key in('local_programs','exact_local_clifford_recipe_sha256','residual_adapter_sha256'):t.pop(key) +t['local_providers']=registry +rank={z['child']:z['rank']for z in parent['idle_children']};side={};pairs={} +for e in parent['execution_schedule']: + if e['kind']=='idle_cover_sweep': + for sd,ch in enumerate(e['child_indices']):side[ch]=sd;pairs[ch]=e['pair'] +bycall=defaultdict(dict);used=defaultdict(set);sigmas={};digest=hashlib.sha256();entering=0 +for z in roles: + s,rep,h=z['stage'],z['replica'],z['helper'];i,cp,off,w,f=z['child'],z['copy'],z['offset'],z['width'],z['family'];orp,port=divmod(cp,V) + assert 0<=s<9 and 0<=rep=0 and off+w<=rank[i] + assert z['time']==at[s,rep] and z['time'] in plan['windows'][f'{orp},{i}'][1] + B=OH.idle_basis(canon['ports'][port]);pending=list(map(int,ph['recipes'][port]['idle_children'][i]['orthogonal_axes']));assert len(pending)==rank[i] + occ=[B.index(v)for v in pending[off:off+w]];sp=OH.spectators(canon['ports'][port],pending,off,w)if w<9 else[] + order=occ+sp+[j for j in range(M)if j not in occ and j not in sp];assert len(order)==len(set(order))==M + sigma=[B[j]for j in order];sigmahash=hashlib.sha256(json.dumps(sigma,separators=(',',':')).encode()).hexdigest();sigmas[sigmahash]=sigma + route=[4,i,off,w,sp]if w<9 else[3,i,off];bycall[s,rep][h]=[f,route];entering+=w<9 + cells=set(range(off,off+w));assert not used[i,orp,port]&cells;used[i,orp,port]|=cells + digest.update(json.dumps([s,rep,h,f,sigmahash],separators=(',',':')).encode()+b'\n') +for c in t['calls']: + k=(c['stage'],c['replica']);assert set(bycall[k])==set(range(R)) + c['owners']=c['owners'][:(2*V)]+[bycall[k][h]for h in range(R)];assert len({f for f,r in c['owners']})==2*V+R and all(f2*max(paid)**2 + +assert all(c['local_program_sha256']==registry[c['provider_id']]['local_program_checks'][c['orientation']]['sha256']for c in t['calls']) +t['provider_dispatch']='For each indivisible local_cover_sweep, execute local_providers[call.provider_id].local_programs[call.orientation] with that provider residual adapters and Clifford recipes. The sweep provider_id must equal its call provider_id.' +raw=json.dumps(t,sort_keys=True,separators=(',',':')).encode();(OUT/'GLOBAL-TEMPLATE.json.gz').write_bytes(gzip.compress(raw,mtime=0)) +res=dict(status='EMITTED_MIXED_PROVIDER_ASYNCHRONOUS_WHOLE_OWNER_COMPLEX_TEMPLATE', + template_sha256=hashlib.sha256(raw).hexdigest(), + parent_template_sha256=hashlib.sha256(gzip.decompress((BASE/'split-centres/GLOBAL-TEMPLATE.json.gz').read_bytes())).hexdigest(), + live=DATA,physical=physical,global_profile=dict(sorted(paid.items())), + rank_mass=sum(r*n for r,n in paid.items()),deficit=5120,maxchild=max(paid), + hosted_residuals=len(roles),banks_per_stage=[0]*9,entering_helper_roles=entering, + unique_actual_73column_sigmas=len(sigmas),sigma_stream_sha256=digest.hexdigest(), + cross_replica_helper_roles=sum(z['replica']!=z['owner_replica']for z in roles), + asynchronous_order_sha256=hashlib.sha256(json.dumps(call_order,separators=(',',':')).encode()).hexdigest(), + source_artifacts=source_artifacts,provider_counts=dict(Counter(c['provider_id']for c in t['calls'])), + scope='Two actual verified plain/width-seven providers dispatched per complete invocation; independent controller/spectator/normalization and complete finite invoice admission required.') +(OUT/'HOSTED.json').write_text(json.dumps(res,indent=2)+'\n');(OUT/'ACTUAL-SIGMAS.json.gz').write_bytes(gzip.compress(json.dumps(sigmas,separators=(',',':')).encode(),mtime=0));print(json.dumps(res,indent=2)) diff --git a/research/gauge44-slots-t16/code/freeze_spec.py b/research/gauge44-slots-t16/code/freeze_spec.py new file mode 100644 index 0000000000..4fe3b88915 --- /dev/null +++ b/research/gauge44-slots-t16/code/freeze_spec.py @@ -0,0 +1,29 @@ +"""Freeze independently recomputed discovery values before strict replay.""" +import argparse +import json +from pathlib import Path + +ap = argparse.ArgumentParser(description=__doc__) +ap.add_argument('--spec', type=Path, required=True) +ap.add_argument('--discovery', type=Path, required=True) +a = ap.parse_args() +spec = json.loads(a.spec.read_text()) +for line in (a.discovery/'WITNESS-RECORD.jsonl').read_text().splitlines(): + key, value = json.loads(line) + parts = key.split('.') + if len(parts)>3 and parts[0]=='providers' and parts[2]=='artifacts': + parts = parts[:3] + ['.'.join(parts[3:])] + target = spec + for part in parts[:-1]: + target = target.setdefault(part, {}) + if parts[-1] in target: + assert target[parts[-1]]==value, 'Conflicting independent recomputations: '+key + target[parts[-1]] = value +assembly = json.loads((a.discovery/'ASSEMBLY.json').read_text()) +for key in ('complex_lower','conservative_complex_lower','kappa','kappa_decimal','conservative_kappa_decimal'): + spec['expected'][key] = assembly[key] +spec['expected']['assembly_controls_rejected'] = 69 +spec['expected']['provider_counts'] = {'gauge44':144} +spec['expected']['mutations_rejected'] = 15 +a.spec.write_text(json.dumps(spec, indent=2)+'\n') +print('Frozen exact witness for strict replay:', assembly['kappa_decimal']) diff --git a/research/gauge44-slots-t16/code/generated_identity.py b/research/gauge44-slots-t16/code/generated_identity.py new file mode 100644 index 0000000000..74a9b60479 --- /dev/null +++ b/research/gauge44-slots-t16/code/generated_identity.py @@ -0,0 +1,62 @@ +"""Proof-relevant identities for generated artifacts, independent of gzip streams. + +Immutable source archives retain their exact byte hashes. For freshly emitted +artifacts, gzip identity is the exact decompressed payload and JSON identity +retains every field. Only CLIFFORD-REVIEW's root timing field is excluded. +Literal receipt references are checked against actual files before replacing +the three gzip references (and the phase recipe reference) with content hashes. +Prepared with OpenAI Codex assistance; Apache-2.0. +""" +from pathlib import Path +import copy +import gzip +import hashlib +import json +import math + +if not __debug__: + raise RuntimeError('Assertions must remain enabled') + +FILES=('CANONICAL-WORD.json.gz','LOCAL-PROGRAMS.json.gz','LOCAL-CHECKS.json', + 'INDEPENDENT-LOCAL-REPLAY.json','CLIFFORD-RECIPES.json', + 'CLIFFORD-REVIEW.json','RESIDUAL-ADAPTERS.json') + +def sha(path): + return hashlib.sha256(Path(path).read_bytes()).hexdigest() + +def json_identity(value): + return hashlib.sha256(json.dumps(value,sort_keys=True,separators=(',',':'),allow_nan=False).encode('utf-8')).hexdigest() + +def payload_identity(path): + return hashlib.sha256(gzip.decompress(Path(path).read_bytes())).hexdigest() + +def phase_value(directory,value=None): + directory=Path(directory) + value=copy.deepcopy(json.loads((directory/'CLIFFORD-REVIEW.json').read_bytes())if value is None else value) + assert value['canonical_word_sha256']==sha(directory/'CANONICAL-WORD.json.gz'),'stale phase canonical word reference' + assert value['recipe_sha256']==sha(directory/'CLIFFORD-RECIPES.json'),'stale phase recipe reference' + seconds=value.pop('seconds') + assert type(seconds)in(int,float) and math.isfinite(seconds) and seconds>=0,'invalid phase timing metadata' + value['canonical_word_sha256']=payload_identity(directory/'CANONICAL-WORD.json.gz') + value['recipe_sha256']=json_identity(json.loads((directory/'CLIFFORD-RECIPES.json').read_bytes())) + return value + +def native_value(directory,value=None): + directory=Path(directory) + value=copy.deepcopy(json.loads((directory/'INDEPENDENT-LOCAL-REPLAY.json').read_bytes())if value is None else value) + for field,name in [('canonical_word_sha256','CANONICAL-WORD.json.gz'),('local_programs_sha256','LOCAL-PROGRAMS.json.gz')]: + assert value[field]==sha(directory/name),'stale native artifact reference: '+field + value[field]=payload_identity(directory/name) + return value + +def artifact_identities(directory): + directory=Path(directory) + result={} + for name in FILES: + path=directory/name + if name.endswith('.gz'): + result[name]=payload_identity(path) + else: + value=phase_value(directory)if name=='CLIFFORD-REVIEW.json'else native_value(directory)if name=='INDEPENDENT-LOCAL-REPLAY.json'else json.loads(path.read_bytes()) + result[name]=json_identity(value) + return result diff --git a/research/gauge44-slots-t16/code/invoice_allcold.py b/research/gauge44-slots-t16/code/invoice_allcold.py new file mode 100644 index 0000000000..d1dd221291 --- /dev/null +++ b/research/gauge44-slots-t16/code/invoice_allcold.py @@ -0,0 +1,329 @@ +"""Fresh call-specific mixed-provider finite invoice. + +Prepared with OpenAI Codex assistance, Apache-2.0. The scalar/Horner recount +and finite inequalities are adapted from the retained PR558 -> PR552 -> +PR531 invoice_final.py, whose notices and sources are preserved in the package. +Every call selects a hash-bound provider. Shared compiler reserves use maxima; +primitive work, coefficient work, local children and wrappers are also summed +from actual selected provider/orientation records. +""" +import argparse, gzip, hashlib, json +import sys as _s,pathlib as _p;_s.path.insert(0,str(_p.Path(__file__).resolve().parent)) +from witness import * +from generated_identity import artifact_identities +from collections import Counter +from fractions import Fraction as Q +from pathlib import Path +assert __debug__, 'Assertions required' + +def read(path): + data=path.read_bytes() + return json.loads(gzip.decompress(data) if path.suffix=='.gz' else data) +def filehash(path): return hashlib.sha256(path.read_bytes()).hexdigest() +def contenthash(path): + data=path.read_bytes() + return hashlib.sha256(gzip.decompress(data) if path.suffix=='.gz' else data).hexdigest() +def programhash(events): + return hashlib.sha256(json.dumps(events,separators=(',',':')).encode()).hexdigest() + +def recount_provider(local_dir, registry): + cp=local_dir/'CANONICAL-WORD.json.gz'; pp=local_dir/'LOCAL-PROGRAMS.json.gz' + rp=local_dir/'INDEPENDENT-LOCAL-REPLAY.json' + w,programs,replay=read(cp),read(pp),read(rp) + checks=read(local_dir/'LOCAL-CHECKS.json') + assert set(programs)=={'forward','backward'} + assert replay['status']=='PASS_INDEPENDENT_LOCAL_SCALAR_FRAME_AND_WRAPPER_REPLAY' + assert replay['canonical_word_sha256']==filehash(cp)==registry['canonical_word_sha256'] + assert replay['local_programs_sha256']==filehash(pp)==registry['local_programs_sha256'] + assert programs==registry['local_programs'] + assert checks==registry['local_program_checks'] + assert filehash(local_dir/'CLIFFORD-RECIPES.json')==registry['exact_local_clifford_recipe_sha256'] + assert filehash(local_dir/'RESIDUAL-ADAPTERS.json')==registry['residual_adapter_sha256'] + v,helpers,h,m=w['v'],w['R'],w['h'],73 + assert (v,h)==(112,9) and type(helpers) is int and helpers>0 + assert registry['v']==v and registry['R']==helpers and registry['h']==h + assert registry['ports']==w['ports'] and registry['centers']==w['centers'] + assert replay['v']==v and replay['helpers']==helpers + n=2*v+helpers + widths = [len(w['frames'][w['final'][r]])-len(w['frames'][w['start'][r]]) for r in range(2*v, 2*v+helpers)] # HPE: |final|-|start| + terminal_codim = sum(h-len(w['frames'][w['final'][r]]) for r in range(2*v, 2*v+helpers)) # HPE: 0 for FULL-ended helpers + ends = {r: f for r, f in enumerate(w['final']) if r >= 2*v and f != 1} + assert len(widths) == helpers + entrances = {r: f for r, f in enumerate(w['start']) if r >= 2*v and f != 0} + entering = len(entrances) + wrapped = {**entrances, **{r: 0 for r in ends if r not in entrances}} # COLD-HPE: cold hyperplane-ended helpers carry wrappers too + cold_ends = len(wrapped) - len(entrances) + assert entering == replay['entering_helpers'] + local = {} + for orientation, events in programs.items(): + # Endpoint equality and native frames were already independently + # replayed on all n columns in the hash-bound receipt above. + env = {('L', r): Q(1) for r in range(n)} + peak = Q(1) + real = macros = workops = 0 + paid = Counter() + wrappers = {'pre': set(), 'post': set()} + for event in events: + tag = event[0] + if tag == 'climb': + paid[event[5]] += 1 + elif tag == 'center': + paid[event[4]] += 1 + elif tag == 'residual_adapter': + _, kind, register, frame, *end = event + assert kind in wrappers and wrapped.get(register) == frame + assert end == ([ends[register]] if register in ends else []) # HPE: R_{E,U}^-1 and L_{E,U}^-1 name U + assert register not in wrappers[kind] + wrappers[kind].add(register) + elif tag == 'scalar': + macros += 1 + scalar = event[1] + op, target = scalar[0], tuple(scalar[1]) + if op == 'clear': + env[target] = Q(0) + count = 1 + elif op == 'copy': + env[target] = env[tuple(scalar[2])] + count = 1 + elif op == 'scale': + q = Q(scalar[2], scalar[3]) + numerator, denominator = abs(q.numerator), q.denominator + assert numerator and numerator & (numerator-1) == 0 + assert denominator & (denominator-1) == 0 + env[target] *= abs(q) + count = abs(numerator.bit_length()-denominator.bit_length()) + int(q < 0) + elif op == 'add': + source = tuple(scalar[2]) + q = Q(scalar[3], scalar[4]) + numerator, denominator = abs(q.numerator), q.denominator + assert source != target and numerator > 0 + assert denominator & (denominator-1) == 0 + acc, count = 0, 1 # clear coefficient work + for i, bit in enumerate(bin(numerator)[2:]): + if i: + acc *= 2 + count += 1 + peak = max(peak, acc*env[source]) + if bit == '1': + acc += 1 + count += 1 + peak = max(peak, acc*env[source]) + value = Q(acc) + for _ in range(denominator.bit_length()-1): + value /= 2 + count += 1 + peak = max(peak, value*env[source]) + assert value == abs(q) + count += 2 # signed accumulation and work clear + env[target] = env.get(target, Q(0)) + abs(q)*env[source] + workops += count + else: + raise AssertionError(op) + real += 2*count + peak = max(peak, env[target]) + else: + assert tag in ('adapter', 'phase') + assert wrappers['pre'] == wrappers['post'] == set(wrapped) + assert all(value == 0 for register, value in env.items() if register[0] == 'C') + prior = replay['local'][orientation] + assert prior['all_exact_columns'] == n and prior['private_work_erased'] + assert peak == Q(prior['prefix_l1_upper']) and peak < 2**prior['charged_payload_bits'] + bits = peak.numerator.bit_length()-peak.denominator.bit_length()+1 + assert bits == prior['prefix_bits_upper'] + assert real == checks[orientation]['real_component_primitive_bound'] + assert macros == checks[orientation]['scalar_macros'] + assert dict(paid) == {int(r): count for r, count in checks[orientation]['paid_profile'].items()} + assert dict(paid) == {int(r): count for r, count in replay['paid_profiles'][orientation].items()} + local[orientation] = dict( + events=len(events), macros=macros, real_component_primitives=real, + prefix_l1=str(peak), prefix_bits=bits, + coefficient_work_primitive_count=workops, all_exact_columns=n, + dirty_helper_columns=helpers, all_dirty_helper_columns_restored=True, + private_centres_and_coefficient_work_cleared=True, + pre_wrappers=len(wrappers['pre']), post_wrappers=len(wrappers['post']), + endpoint_evidence='Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json') + + centres = len(w['centers']) + children = sum(checks['forward']['paid_profile'].values()) + assert checks['forward']['paid_profile'] == checks['backward']['paid_profile'] + macro_bound = max(row['macros'] for row in local.values()) + compiler = 64*(m+1)**3 + adapters = 16*(macro_bound+children+n+centres)+64*m + primitive_bound = max(row['real_component_primitives'] for row in local.values())+adapters*compiler + + assert widths==registry['widths'] + artifacts={f.name:filehash(f) for f in local_dir.iterdir() if f.is_file()} + phase_review=read(local_dir/'CLIFFORD-REVIEW.json') + return dict(local=local,helpers=helpers,centres=centres,v=v,h=h,n=n, + entering_helpers=entering,entrance_rank=sum(len(w['frames'][f]) for f in w['start'][2*v:]), + terminal_codimension=terminal_codim, hyperplane_ended_helpers=len(ends), # HPE: always reported (0 for FULL-ended words) + **({'cold_hyperplane_ended_helpers': cold_ends} if cold_ends else {}), # COLD-HPE: absent without cold ends + width_inventory=dict(sorted(Counter(widths).items())),widths=widths, + local_adapters=adapters,local_primitive_bound=primitive_bound, + compiler=compiler,children=children,artifacts=artifacts, + paid_profile=checks['forward']['paid_profile'], + program_hashes={o:programhash(events) for o,events in programs.items()},semantic_artifact_sha256=artifact_identities(local_dir)) + + +def run(base, hosted, audit, out, retained_invoice=None): + local_dir=base/'split-centres' + parent=read(local_dir/'GLOBAL-TEMPLATE.json.gz') + template_path=hosted/'GLOBAL-TEMPLATE.json.gz' + template=read(template_path); summary=read(hosted/'HOSTED.json') + owners=read(audit/'OWNERS-AND-PROFILE.json'); control=read(audit/'ASYNC-AUDIT.json') + template_hash=contenthash(template_path) + assert template_hash==control['complex_template_sha256']==owners['template_sha256']==summary['template_sha256'] + assert owners['status']=='PASS_INDEPENDENT_ASYNC_OWNERS_AND_PROFILE' + assert template['recipe']==parent['recipe'] + assert 'local_programs' not in template + assert set(template['local_providers'])==set(PIDS) + providers={pid:recount_provider(base/'providers'/pid,registry) + for pid,registry in template['local_providers'].items()} + for pid,p in providers.items(): + assert owners['provider_phase_semantic_sha256'][pid]==control['provider_phase_semantic_sha256'][pid]==p['semantic_artifact_sha256']['CLIFFORD-REVIEW.json'] + # The fresh controller admission must cite precisely these provider bytes. + for name in ('CANONICAL-WORD.json.gz','LOCAL-PROGRAMS.json.gz','LOCAL-CHECKS.json', + 'INDEPENDENT-LOCAL-REPLAY.json','CLIFFORD-RECIPES.json', + 'CLIFFORD-REVIEW.json','RESIDUAL-ADAPTERS.json'): + path='providers/'+pid+'/'+name + assert summary['source_artifacts'][path]==p['artifacts'][name] + assert owners['source_artifacts'][path]==p['artifacts'][name] + # R is read from the provider words (all must agree); the parent dedicated-bank + # envelope keeps its own helper count R0 from the parent split-centres word. + assert len({p['helpers'] for p in providers.values()})==1,'providers disagree on helper count R' + v,h,m,centres=112,9,73,8 + helpers=next(iter(providers.values()))['helpers']; n=2*v+helpers + assert all((p['v'],p['h'],p['centres'],p['n'])==(v,h,centres,n) for p in providers.values()) + parent_helpers=read(local_dir/'CANONICAL-WORD.json.gz')['R'] + stages,replicas,blocks_per_stream=9,16,4 + call_count=len(template['calls']) + assert call_count==stages*replicas==control['complete_invocations'] + assert control['one_owner_per_complete_invocation'] + assert len({(c['stage'],c['replica']) for c in template['calls']})==call_count + parent_calls={(c['stage'],c['replica']):c for c in parent['calls']} + sweeps=[e for e in template['execution_schedule'] if e['kind']=='local_cover_sweep'] + assert len(sweeps)==call_count + selected=[]; selected_paid=Counter(); provider_counts=Counter(); orientation_counts=Counter() + scalar=coefficient_work=macros=0; wrapper_factors=0 + factors_per_wrapper=2*(m-1) + for c in template['calls']: + pid,orientation=c['provider_id'],c['orientation']; p=providers[pid] + old=parent_calls[(c['stage'],c['replica'])] + assert orientation==old['orientation'] and c['owners'][:2*v]==old['owners'][:2*v] + assert c['local_program_sha256']==p['program_hashes'][orientation] + r=p['local'][orientation] + scalar+=r['real_component_primitives']; coefficient_work+=r['coefficient_work_primitive_count']; macros+=r['macros'] + wrapper_factors+=(r['pre_wrappers']+r['post_wrappers'])*factors_per_wrapper + provider_counts[pid]+=1; orientation_counts[(pid,orientation)]+=1 + selected_paid.update({int(k):v for k,v in p['paid_profile'].items()}) + selected.append(dict(stage=c['stage'],replica=c['replica'],provider_id=pid,orientation=orientation, + program_sha256=c['local_program_sha256'],events=r['events'],macros=r['macros'], + real_component_primitives=r['real_component_primitives'], + coefficient_work_primitive_count=r['coefficient_work_primitive_count'], + entering_helpers=p['entering_helpers'],entrance_rank=p['entrance_rank'], + pre_wrappers=r['pre_wrappers'],post_wrappers=r['post_wrappers'])) + assert provider_counts==COUNTS + # The sweep registry is executable: no hidden use of the historical supplier. + by_call={(c['stage'],c['replica']):c for c in template['calls']} + for e in sweeps: + c=by_call[(e['stage'],e['replica'])] + assert e['provider_id']==c['provider_id'] + assert set(p['compiler'] for p in providers.values())=={64*(m+1)**3} + compiler=64*(m+1)**3 + adapters=max(p['local_adapters'] for p in providers.values()) + primitive_bound=max(p['local_primitive_bound'] for p in providers.values()) + bridge_steps=sum(event['kind']=='bridge' for event in parent['recipe']) + bridge_sweeps=sum(event['kind']=='bridge' for event in template['execution_schedule']) + assert bridge_sweeps==replicas*bridge_steps + bridge_additions=2*v*bridge_sweeps + shifts=blocks_per_stream*v*replicas; moves=2*shifts + parent_live,parent_physical=parent['live'],parent['physical'] + data_stock=2*v*blocks_per_stream*replicas + assert (parent_live-data_stock)%stages==0 + parent_banks=(parent_live-data_stock)//stages + assert parent_banks>=0 and parent_physical==parent_live+parent_helpers+centres+2 + nonlocal_items=(4*v*replicas*stages+2*v*replicas*stages+2*call_count*helpers + +sum(child['replicas'] for child in parent['idle_children'])+stages*parent_banks + +bridge_additions+shifts+moves+parent_live+parent_physical+wrapper_factors) + outside=8*nonlocal_items+64*m + parent_pervertex=(scalar+bridge_additions+shifts+moves+parent_live + +(call_count*adapters+outside)*compiler+64*parent_physical) + live,physical=template['live'],template['physical'] + mass,profile=owners['rank_mass'],owners['paid_profile'] + assert m*live-mass==owners['deficit']==5120 + assert mass==sum(int(r)*count for r,count in profile.items()) + assert physical==live+helpers+centres+2 + assert live==owners['live'] and physical==owners['physical'] + assert live<=parent_live and physical<=parent_physical + assert not template['bank_padding']['families'] + assert owners['explicit_idle_remainder_children']<=owners['source_idle_children_charged'] + # The old dedicated-bank geometry is only a conservative reserve envelope. + # Its singular program is never used as evidence for a mixed invocation. + rebased=parent_pervertex+65*(physical-parent_physical)+(live-parent_live) + used=max(rebased,parent_pervertex); retained=None; payload=512 + if retained_invoice is not None: + previous=read(retained_invoice) + assert previous['compiler']==compiler and previous['charged_prefix_bits']==payload + previous_bound=previous['conservative_pervertex_used'] + used=max(used,previous_bound+parent_pervertex) + retained=dict(sha256=filehash(retained_invoice),previous_pervertex_allowance=previous_bound, + added_complete_new_pervertex=parent_pervertex,policy='Retain old allowance and add entire fresh mixed recount.') + half=m//2; group=2**(half*half) + for i in range(1,half+1): group*=2**(2*i)-1 + stock,streamed_mass=group*physical,group*mass + logical=group*used+64; router=compiler*(logical+1)*(stock+1)**2 + g_bound,e_bound,c0=2**30000,2**100000,2**210000 + total_mass=streamed_mass+e_bound + literal=2*g_bound*stock**2+8*streamed_mass+4*stock+4+32*m + row=2*stock.bit_length()+9909+252+2*payload + maxchild=max(map(int,profile)) + inequalities=dict(local_primitive_bound=primitive_bound<2**48, + logical=logical<2**6050,router=router2*maxchild*maxchild) + assert all(inequalities.values()) + localbits=max(r['prefix_bits'] for p in providers.values() for r in p['local'].values()) + input_l2_bits=(m+1)//2 + required_prefix=localbits+input_l2_bits+call_count+bridge_sweeps+4 + assert required_prefix R helper map +# (verify.py checks the spec value against the constructor's HELPER-MAP.json) +SPOT=tuple(SPEC.get('width_spot_helpers',(270,282,294,306))) +# A pivot swap moves a kernel family's pivot role p -> x; the old pivot p becomes an ordinary cold helper and its width +# goes 8 -> 9 (construction/layers, PR641 PROOF-NOTE-PIVOT). Expected spot widths are derived from the package's pinned +# pivot-swap recipe (path and sha256 in the spec), not from free data: 9 at a swapped-out pivot, 8 otherwise. +_PKG=Path(os.environ['WITNESS_SPEC']).resolve().parents[1] +def _old_pivots(): + ps=SPEC.get('pivot_swap') + if not ps:return frozenset() + raw=(_PKG/ps['recipe']).read_bytes();import hashlib + assert hashlib.sha256(raw).hexdigest()==ps['sha256'],'pivot-swap recipe pin' + return frozenset(s['pivot']for s in json.loads(raw)['swaps']) +OLD_PIVOTS=_old_pivots() +def spot_widths(v=112): + """Expected residual widths at the spot helpers (helper indices) of the gauge44 provider.""" + return tuple(9 if 2*v+h in OLD_PIVOTS else 8 for h in SPOT) +PIDS=tuple(sorted(set(DISPATCH.values()))) +COUNTS=dict(Counter(DISPATCH.values())) +assert DISCOVER or set(PROVIDERS)==set(PIDS),'spec providers differ from dispatch providers' +def lookup(key): + """Dotted spec path; a segment may itself contain dots when it names a file (split at most once per known file suffix).""" + v=SPEC;parts=key.split('.') + while parts: + for n in range(len(parts),0,-1): + k='.'.join(parts[:n]) + if isinstance(v,dict) and k in v:v=v[k];parts=parts[n:];break + else:raise KeyError('spec has no key %s'%key) + return v +def pin(key,got): + """Strict mode: got must equal the spec value at dotted key; the failure names the key.""" + if DISCOVER: + if os.environ.get('WITNESS_RECORD'): # discovery bookkeeping only: append (key, value) for the spec writer + with open(os.environ['WITNESS_RECORD'],'a')as f:f.write(json.dumps([key,got],default=str)+chr(10)) + return got + want=lookup(key) + assert got==want,'SPEC MISMATCH %s: expected %s got %s'%(key,json.dumps(want)[:400],json.dumps(got,default=str)[:400]) + return got +def partner(pid): + """A different provider for substitution controls (next in sorted order).""" + assert len(PIDS)>1 + return PIDS[(PIDS.index(pid)+1)%len(PIDS)] diff --git a/research/gauge44-slots-t16/construction/COLD44-RECIPE.json.gz b/research/gauge44-slots-t16/construction/COLD44-RECIPE.json.gz new file mode 100644 index 0000000000..6f59d88920 Binary files /dev/null and b/research/gauge44-slots-t16/construction/COLD44-RECIPE.json.gz differ diff --git a/research/gauge44-slots-t16/construction/COMPLETION-PRIORITY.json b/research/gauge44-slots-t16/construction/COMPLETION-PRIORITY.json new file mode 100644 index 0000000000..e0df30aeef --- /dev/null +++ b/research/gauge44-slots-t16/construction/COMPLETION-PRIORITY.json @@ -0,0 +1,746 @@ +{ + "0,1,2,3": { + "rows": [ + [ + "1", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0" + ] + ], + "registers": [ + 64, + 67 + ] + }, + "0,1,4,5": { + "rows": [ + [ + "1", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0" + ] + ], + "registers": [ + 32, + 35 + ] + }, + "0,1,6,7": { + "rows": [ + [ + "1", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0" + ] + ], + "registers": [ + 24, + 27 + ] + }, + "0,2,4,6": { + "rows": [ + [ + "1", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "1" + ], + [ + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2" + ] + ], + "registers": [ + 16, + 18, + 19, + 297, + 301, + 303 + ] + }, + "0,2,5,7": { + "rows": [ + [ + "1", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "1" + ], + [ + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2" + ] + ], + "registers": [ + 40, + 42, + 43, + 313, + 317, + 319 + ] + }, + "0,3,4,7": { + "rows": [ + [ + "1", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "1" + ], + [ + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2" + ] + ], + "registers": [ + 72, + 74, + 75, + 329, + 333, + 335 + ] + }, + "0,3,5,6": { + "rows": [ + [ + "1", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "1" + ], + [ + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2" + ] + ], + "registers": [ + 112, + 114, + 115, + 345, + 349, + 351 + ] + }, + "1,2,4,7": { + "rows": [ + [ + "1", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "1" + ], + [ + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2" + ] + ], + "registers": [ + 8, + 10, + 11, + 361, + 365, + 367 + ] + }, + "1,2,5,6": { + "rows": [ + [ + "1", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "1" + ], + [ + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2" + ] + ], + "registers": [ + 48, + 50, + 51, + 377, + 381, + 383 + ] + }, + "1,3,4,6": { + "rows": [ + [ + "1", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "1" + ], + [ + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2" + ] + ], + "registers": [ + 80, + 82, + 83, + 393, + 397, + 399 + ] + }, + "1,3,5,7": { + "rows": [ + [ + "1", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "1" + ], + [ + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2" + ] + ], + "registers": [ + 104, + 106, + 107, + 409, + 413, + 415 + ] + }, + "2,3,4,5": { + "rows": [ + [ + "1", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0" + ] + ], + "registers": [ + 96, + 99 + ] + }, + "2,3,6,7": { + "rows": [ + [ + "1", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0" + ] + ], + "registers": [ + 88, + 91 + ] + }, + "4,5,6,7": { + "rows": [ + [ + "1", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0" + ] + ], + "registers": [ + 56, + 59 + ] + } +} \ No newline at end of file diff --git a/research/gauge44-slots-t16/construction/INPUTS.json b/research/gauge44-slots-t16/construction/INPUTS.json new file mode 100644 index 0000000000..2b12294b58 --- /dev/null +++ b/research/gauge44-slots-t16/construction/INPUTS.json @@ -0,0 +1,65 @@ +{ + "schema": "gauge44-compact-construction-v1", + "repository": "https://github.com/CrocSwap/integer-mult-bounds", + "commits": { + "main": "17ce0c79b7b51c2634b439ea5a2b754f09909693", + "pr635": "a6895a69f8ad98ab45777b03e9e6f48888c39f6f" + }, + "files": { + "main": { + "research/complex-k492-owner-repair/vendor/direct_delivery/inputs/hamming/PACKET-PROGRAMS.json.gz": "d833ae0390d165d7da0c639a3c7aeb77156c2ddb52447087cb49b9d03b19e9b9", + "research/complex-k492-owner-repair/vendor/direct_delivery/inputs/hamming/PROTOTYPE.json": "327d2a868043e846381aa58a33053c24425e8cad522ff401b10ec8af1d649a3f", + "research/complex-k492-owner-repair/vendor/joint_prefix/code/build_joint_prefix.py": "d7804669e528b6fd8d80195a4a2e76efac9bc67440b82c73973f4bc9fe273783", + "research/complex-k492-owner-repair/vendor/joint_prefix/data/JOINT-PREFIX.json": "0fddbd3f482b72a5197eacd75abe192e1d92f83aa2cde33a76dbc7be1682bcf2", + "research/complex-k492-owner-repair/vendor/multicold/code/build_cold_kernel.py": "aa556a1988f7d4c52bd82fd2a648769f7094bd75ba79582c15ec441d710e213b", + "research/complex-k492-owner-repair/vendor/multicold/code/run_portable.py": "322d29d43dbee8130cde15d4bf05396698b5e3dfe3735813899db91cc0ba7955", + "research/complex-k492-owner-repair/vendor/multicold/data/EIGHT-COLD.json": "089617bdc33fd9f27b7fc8e9ae9e01c8e65a86a57c4b6f180f4f378f3f0e6160", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/code/phases_full.py": "a273c325ffd6793d5b63b79a289a9d2bbc9292e6940fb5a926924f3708627af4", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/vendor/clifford/clifford_exact.py": "2982ead07721e83358dc67c6f49c2b4c16a236a6bebdfd72f58221be1f5d0962", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/inputs/phase-baseline/CANONICAL-WORD.json.gz": "e070ae2c78b4a1b644b418774af62b40d8d16e6ba89602f0474afb557d507c37", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/gk/gk_common.py": "e68d190fd436b2f3955decb590adb53344d5d4ea0a19d62d86df1e4b55ecd198", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/gk/gk_word.py": "f027a9273bcf4e0971258c160b7d3b3c196366b32a529cff6e6a0e666b03826b", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/inputs/RAW504.json.gz": "1c6144791dbedf6427e3ee7b4c24fb05b5bf407f6346592f50f8dd8d9638108d", + "research/structural-gain/frontier-composition/global-replay/base/split-centres/FULL-WORD.json.gz": "375bd23001cd805707968005a9342827d5464e3f8e3a754197b31c46fc3f63c2", + "research/structural-gain/frontier-composition/multicold-eight-word/FULL-WORD.json.gz": "4d4a59db7f74d7505447fbb2aa87735771cca1d04a0afafa455d21bd8dbf1f77" + }, + "pr635": { + "research/complex-571-cold14-st2/code/build_cold_end.py": "864b4701dd73afd0c9d99761b7a749f3354c48985730f17054e18c052996a668", + "research/complex-571-cold14-st2/code/build_hpe.py": "ba2001695d8c7547a82260c3b016e01dac686e95a61757ca124eb9879078ea8e", + "research/complex-571-cold14-st2/code/build_port_stage.py": "beb0d30fde1b9a30db091880b38c4a8ec906da3f715c43de7db8bf7932526e72", + "research/complex-571-cold14-st2/code/hpe_adapters_local.py": "eb0b5c6c7161e18dc22168da3211448d321586edd15bcfb4b4741174d36993cf", + "research/complex-571-cold14-st2/code/hpe_audit_and_transport.py": "c9a05ff291016b870b4fc925b317abd9c3a604c73ffc8920dfdbbeb475e20aa3", + "research/complex-571-cold14-st2/code/hpe_audit_local.py": "6bd9a1e279c9c9e4f3767d9f82e537b559292906feb2ddab02f380fb6523a810", + "research/complex-571-cold14-st2/code/hpe_emit_local.py": "7e4a6fbc38c8228157b6311457d1496bf460291393043932d2c365f004f77805", + "research/complex-571-cold14-st2/data/TRI-SCHEDULE.json": "94da9d5575f5b237097a77ac7dd09aff594322dd9c35138bfd34ffc5e1a7a51e", + "research/complex-571-cold14-st2/data/recipes/k492-jp8-frame_regroup.json": "9bd347334de643f29865290be1ed37289f9cae6cd339547ac89b45fa7aaee65a", + "research/complex-571-cold14-st2/data/recipes/k492-jp8-hyperplane_end.json": "e4d4dfd83d0c64cb0a8ee8c8bbd95d0510ee68699859e568fe201cd6f8d250c1" + }, + "delta": { + "COLD44-RECIPE.json.gz": "22d0e01e990c0f1c588607a095271f7844851a437ba07174505e98e9528aed4c", + "COMPLETION-PRIORITY.json": "0274ffca1725e7460aaf7b672bc1248aa6dfdec11e5f0fec91af18b829f8ba47", + "build_gauge_cold44.py": "ec730a4d3ff12fb058780718b1d5a7afe61243c532679ef347a5a48e2af0a3bb", + "construct_gauge_xcentre.py": "d8d295566ef2399af2da0707a4adc83e07aa26d2344c01a66bd0ca7684cf9217", + "reproduce.py": "047bb9b3536b0b16bb08a21cd9fd80404ca9d022345f1aeab34b21dffc281c92" + } + }, + "word_content_sha256": { + "shadow-early": "edb55811a9d38802c311c74bdd2d4d1b2f3eaf37d06e4178eef0785c2fa4b57d", + "shadow-prefix": "6c361b33967bb62d878b3acef44a4ac2c70970e99f36a11906b03811495de533", + "raw": "0ac47f92fc2e3f5aa457d78f7b8a5c785bf140c546932b9dfcd9e610ad319180", + "port0": "7086d4309f145f0bf85b97f567e2cbeeaca9fc5011f62c86c805bfadeb0300fc", + "port1": "8f47545698a11072f8c6a0b50ae9c8acf8e4e2b0e35a0e8c672bbca216b04534", + "port2": "4e4919c140e07f6c820bea4aae83565b3b4967ffbfbb907611216ff6e2e6105d", + "port3": "9774dca3e4295e2eb9171a9cf34e1973bc72bad38eddec2cc0fc498bd9e041f3", + "regroup": "989082402d2292a18328e86927c0a12d34fcab18ef4ff724bd1ce691cf4e7531", + "hpe": "42fb8b3aa314593fe976820cf65824f5fce0ee4f95281796992d4809709864cc", + "cold44": "78c7aadacb6eec2eeecc124ca236e5bcfdba6a52b30c2971aaa596d1d119b290" + }, + "helper_map_sha256": "688d5115b221be68c96970822cc04ff698e2a84432fa7db9cb59057f6fe55def", + "canonical_content_sha256": "e6daee410e04d5e023faf21144081534ad222d334ce786e6b5f52407e6b3c41f", + "local_program_sha256": { + "forward": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "backward": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4" + }, + "clifford_recipes_sha256": "0a60293f43d88dbb1b321f02e61204afe1b6272b1346968ef35705caea1e4771" +} diff --git a/research/gauge44-slots-t16/construction/LICENSE b/research/gauge44-slots-t16/construction/LICENSE new file mode 100644 index 0000000000..261eeb9e9f --- /dev/null +++ b/research/gauge44-slots-t16/construction/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/research/gauge44-slots-t16/construction/NOTICE.md b/research/gauge44-slots-t16/construction/NOTICE.md new file mode 100644 index 0000000000..16b0507070 --- /dev/null +++ b/research/gauge44-slots-t16/construction/NOTICE.md @@ -0,0 +1,9 @@ +# Construction delta notice + +Prepared for icekylinx with OpenAI GPT-6 Astra assistance. Apache-2.0. + +`construct_gauge_xcentre.py` modifies PR635's credited `construct_k_triangle.py`, which in turn extends icekylinx's PR531/PR514/PR425 factory lineage. Its original source comments are retained. The K-triangle schedule and the upstream porting, JP8 frame, kernel and HPE procedures are reused from the pinned source checkouts and are not new contributions of this delta. + +The new source-copy exchanges, complementary factory basis, carrier assignment, exact cold44 constructor and compact reproduction driver are described in `../CONSTRUCTION.md`. + +`UPSTREAM-NOTICE.md` is the complete unmodified notice from the pinned PR635 package. `LICENSE` is that package's Apache-2.0 license. All further notices and source credits of the referenced upstream packages remain applicable and are retained in the source checkouts rather than vendored again here. diff --git a/research/gauge44-slots-t16/construction/REBUILD-CHECKS.json b/research/gauge44-slots-t16/construction/REBUILD-CHECKS.json new file mode 100644 index 0000000000..0801f35da7 --- /dev/null +++ b/research/gauge44-slots-t16/construction/REBUILD-CHECKS.json @@ -0,0 +1,51 @@ +{ + "status": "PASS_COMPACT_SCALAR_REPRODUCTION_AND_FROZEN_RECIPE_SPLICE", + "steps": [ + { + "step": "shadow-early", + "exit_code": 0, + "seconds": 0.355 + }, + { + "step": "shadow-prefix", + "exit_code": 0, + "seconds": 0.511 + }, + { + "step": "gauge-forward", + "exit_code": 0, + "seconds": 0.527 + }, + { + "step": "port0", + "exit_code": 0, + "seconds": 0.468 + }, + { + "step": "port1", + "exit_code": 0, + "seconds": 0.636 + }, + { + "step": "port2", + "exit_code": 0, + "seconds": 0.474 + }, + { + "step": "port3", + "exit_code": 0, + "seconds": 0.497 + }, + { + "step": "cold44-exact", + "exit_code": 0, + "seconds": 2.754 + } + ], + "constructor_seconds": 6.222, + "word_content_sha256": "78c7aadacb6eec2eeecc124ca236e5bcfdba6a52b30c2971aaa596d1d119b290", + "all_step_input_and_output_pins_checked": true, + "regenerated_recipe_equals_frozen_recipe": true, + "frozen_splice_matches_exact_constructor": true, + "scope": "One portable scalar reconstruction from pinned main and PR635 inputs; existing native and independent mathematical receipts accompany the package separately." +} diff --git a/research/gauge44-slots-t16/construction/UPSTREAM-NOTICE.md b/research/gauge44-slots-t16/construction/UPSTREAM-NOTICE.md new file mode 100644 index 0000000000..ebc24a0168 --- /dev/null +++ b/research/gauge44-slots-t16/construction/UPSTREAM-NOTICE.md @@ -0,0 +1,34 @@ +# Attribution and scope + +Four verified provider types are offered to every call: PR571's prefix word with twelve multi-cut cold kernels (PR568's unchanged constructor), the same word with forty width-five entrance promotions (PR569's unchanged frame constructor) before those kernels, PR575's plain joint-prefix provider, and PR568's eight-cold provider. A window MILP with an exact per-pattern model chooses the dispatch and a literal owner map. PR583's six source-bound kernel frame coalescences (its unchanged constructor and negative controls) are applied to every PR571-prefix provider word (ck and atm3), followed by two further coalescences that each first move one addition past two commuting additions (package code/build_gate_moves.py, extending PR583's constructor); a final hyperplane_end step (package code/build_hpe.py) then runs 46 single-gate cleanups h -= p right after part B at the dim-8 join U of their registers, so 46 width-8 entering helpers per call end at U with width 7; each such gate commutes with every earlier cleanup gate on its registers (for 8 of them the partner's one earlier gate x -= p only reads p), and the reordered program is replayed exactly. A window MILP (exact windows, RINS around an LP vertex) gives the dispatch ck 45 / atm3 21 / jp8 6 and the literal owner map. + +Pinned external sources (unchanged; `verify.py` checks their manifests and every file it uses): +- PR568 (`research/complex-multicold`, commit `71c99ac935a33bb7b59a1b4a7af8725a939b0b90`). +- PR571 (`research/structural-gain`, commit `b7bdc5a8de18fcf418cfb9c7d83a2b1097a5e4a3`). +- PR569 (`research/larger-gain`, commit `897213a855b7fb8a1b8b0e552a2f5c42e6c1b326`). +- PR575 (`research/complex-joint-prefix`, commit `eac6f7e378ab622dac50a2fd4b7ef6eab014de44`). +- PR583 (`research/kernel-frame-coalescing`, commit `89be768f0157f5a3d8e4db69cf1748768605eac9`). + +Provider construction is described as typed steps in `data/SPEC.json` (`build`); `verify.py` runs only allowlisted step types with their paired omission audits and checks every input and output content hash. `code/` holds the spec-driven global admission scripts adapted from PR571's `frontier-composition/global-code/` (OpenAI Codex assisted, Apache-2.0): every expected value is read from `data/SPEC.json` and compared only after independent recomputation. `code/generated_identity.py` and `code/generated_identity_controls.py`, and the decompressed-content artifact identities in the bind, audit, invoice, assembly and phase-timing scripts, are taken unchanged from PR586 by chafreaky (`research/promoted-kernel-coalescing`, commit `4846fee5b06af770e9b3a10c36200f673d656725`, OpenAI Codex assisted, Apache-2.0), including its proof-content and reference/metadata mutation controls; the normalization of descriptive width metadata after frame changes follows the same PR. + +In PR601, the owner map was nominated by a HiGHS window MILP (adapted from PR569's `global/nominate_width7.py`) with lazy cross-time Hall cuts; this package's re-solved map is described below. Neither is an admission dependency. + +DreamingOfClouds with Claude Opus 5.5 (Anthropic), via Claude Code. (The PR601 package this one starts from states: "Prepared by Claude Code (Anthropic) research agents.") Apache-2.0 applies; LICENSE is included. All notices, licenses, source pins and AI disclosures of the pinned sources and their ancestry are retained in those packages and are not replaced by this notice. All inherited conditional assumptions remain conditional. + +**This package (complex-571-cold14, DreamingOfClouds).** It starts from PR601 (jeremykothe2, `research/complex-571-hpem46`, commit `529ab7dcb59d5ea7a5798e9e06cf5b3aee8a1550`). Everything above is kept unchanged except the following: +- every provider chain (ck, atm3, jp8) gains the typed step `cold_end` (`code/build_cold_end.py`, `code/cold_end_controls.py`; recipes `data/recipes/*-cold_end.json.gz`); +- the generalised native chain and the global admission scripts accept cold helpers that end below FULL (with `0:U` wrappers), a refactored exact cleanup, and check the wrapper order; +- `data/PLAN.json` / `data/OWNERS.json.gz` (dispatch and literal owner map) come from a relocate/swap/ejection-chain/provider-flip annealing search started from PR601's map, refined by an exact pattern-restricted owner model (CP-SAT) with a literal edge-colouring expansion (not an admission dependency); +- `data/SPEC.json` holds the expected values, recorded by a discovery run and then checked by a strict run. + +The cold-end construction (a row-plus-column cone condition for low-frame ends, a rank-0 dirt-spread premix and multi-gate lower-frame cleanup) builds on PR591 / PR592 / PR593 / PR601 (jeremykothe2) and our PR599 (Lean: multi-gate and cold hyperplane-end tails). DreamingOfClouds with Claude Opus 5.5 (Anthropic), via Claude Code. Build on this at your own risk. + +**This package (complex-571-cold14-b3, jeremykothe2).** It is PR604's `complex-571-cold14` (DreamingOfClouds) with ColdBeyond's second cold end per block (two new `cold_end` A-gate primitives, `PROOF-NOTE.md`), ColdSupply's E1 entering pair and reviewed controls, a free dispatch (jp8 ×60, atm3 ×12) and a literal owner map from an exact per-time-Hall window MIP. All other construction, code, controls and proofs are PR604's and earlier contributors', unchanged. + +**This package (complex-571-cold14-k492).** It is complex-571-cold14-b3 with these changes: +- **K-triangle base words.** The leaver-read K-triangle skeleton atom and its read schedule (`data/TRI-SCHEDULE.json`) are by AtomScout, a Claude Code research agent. `code/construct_k_triangle.py` is PR531's `code/construct_504.py` (icekylinx, OpenAI Codex / GPT assisted, Apache-2.0; pinned source `direct_delivery`) extended with that atom. +- **Ported chains.** The PR604/B3 chains are ported stage by stage onto the K-triangle words by `code/build_port_stage.py` (Port480, a Claude Code research agent). `code/build_frame_regroup.py` extends PR583's `build_frames.py` (chafreaky). +- **Helper count R.** The generalisation of the global scripts to the provider helper count R is by GlobalR (a Claude Code research agent), with AtomReviewer's fixes (PROOF-NOTE-R.md). +- **Owner map.** The owner map, the cold_end recipes on the K-triangle words and the package assembly are by Stack492, Port480 and ColdBeyond (Claude Code research agents). + +Build on this at your own risk. diff --git a/research/gauge44-slots-t16/construction/barch/LOCAL-PINS-barch-U8.json b/research/gauge44-slots-t16/construction/barch/LOCAL-PINS-barch-U8.json new file mode 100644 index 0000000000..4028b95c0e --- /dev/null +++ b/research/gauge44-slots-t16/construction/barch/LOCAL-PINS-barch-U8.json @@ -0,0 +1,50 @@ +{ + "word": "U8", + "barch_controls": [ + "C0_identity", + "recipe", + "drop_restore", + "restore_full", + "drop_preread", + "donation_after", + "drop_restore@231", + "restore_full@231", + "drop_preread@231", + "donation_after@231", + "drop_restore@230", + "restore_full@230", + "drop_preread@230", + "donation_after@230", + "drop_restore@232", + "restore_full@232", + "drop_preread@232", + "donation_after@232", + "drop_restore@236", + "restore_full@236", + "drop_preread@236", + "donation_after@236", + "drop_restore@226", + "restore_full@226", + "drop_preread@226", + "donation_after@226", + "drop_restore@228", + "restore_full@228", + "drop_preread@228", + "donation_after@228", + "drop_restore@62", + "restore_full@62", + "drop_preread@62", + "donation_after@62", + "drop_restore@238", + "restore_full@238", + "drop_preread@238", + "donation_after@238" + ], + "layer_controls": 95, + "canonical_sha256": "24db880b7dab31e6af4eec8a1aba1bbbae29cd50d9a7b77cf0e9b571b3e5ae7c", + "program_sha256": { + "forward": "83d65a63f51bd1ce7f3dd4e4d3597311e065b4775796cd87aea3e3a62689047c", + "backward": "e4e483b764e9a85f84a04425e57d73ecdcc72eb2e4d97a64f17d9da58fa5ace0" + }, + "clifford_recipes_sha256": "4629507dcbdd516457c001ff8f9dbe750d1a0cbfa5cfa3c6be003d45804ba0c5" +} diff --git a/research/gauge44-slots-t16/construction/barch/RECIPE-U8.json b/research/gauge44-slots-t16/construction/barch/RECIPE-U8.json new file mode 100644 index 0000000000..ee215a805a --- /dev/null +++ b/research/gauge44-slots-t16/construction/barch/RECIPE-U8.json @@ -0,0 +1,1528 @@ +{ + "base_sha256": "1e1d99ba7aab877d6b573c41f7030ee73de9a52fee51d0a822ddaae71251999f", + "B_delete": [ + 5, + 7, + 9, + 11, + 13, + 15, + 17, + 19, + 878, + 880, + 886, + 888, + 894, + 896, + 902, + 904, + 910, + 912, + 918, + 920, + 926, + 928, + 934, + 936, + 1215, + 1217, + 1223, + 1225, + 1231, + 1233, + 1239, + 1241, + 1247, + 1249, + 1255, + 1257, + 1263, + 1265, + 1271, + 1273 + ], + "B_insert": [ + [ + 5, + [ + "add", + 125, + 450, + 1, + 2, + [ + 24 + ] + ] + ], + [ + 7, + [ + "add", + 121, + 451, + 1, + 2, + [ + 24 + ] + ] + ], + [ + 9, + [ + "add", + 181, + 452, + 1, + 2, + [ + 30 + ] + ] + ], + [ + 11, + [ + "add", + 177, + 453, + 1, + 2, + [ + 30 + ] + ] + ], + [ + 13, + [ + "add", + 117, + 454, + -1, + 1, + [ + 30 + ] + ] + ], + [ + 15, + [ + "add", + 113, + 455, + -1, + 1, + [ + 30 + ] + ] + ], + [ + 17, + [ + "add", + 189, + 456, + -1, + 1, + [ + 24 + ] + ] + ], + [ + 19, + [ + "add", + 185, + 457, + -1, + 1, + [ + 24 + ] + ] + ], + [ + 676, + [ + "add", + 484, + 231, + 1, + 1, + [ + 386, + 64, + 34, + 24, + 4, + 1 + ] + ] + ], + [ + 677, + [ + "add", + 485, + 226, + 1, + 1, + [ + 388, + 68, + 32, + 24, + 2, + 1 + ] + ] + ], + [ + 693, + [ + "add", + 496, + 450, + 1, + 1, + [ + 260, + 132, + 70, + 38, + 24, + 1 + ] + ] + ], + [ + 694, + [ + "add", + 497, + 451, + 1, + 1, + [ + 260, + 132, + 64, + 32, + 24, + 1 + ] + ] + ], + [ + 711, + [ + "add", + 508, + 230, + 1, + 1, + [ + 390, + 70, + 38, + 20, + 10, + 1 + ] + ] + ], + [ + 712, + [ + "add", + 509, + 228, + 1, + 1, + [ + 390, + 64, + 32, + 20, + 10, + 1 + ] + ] + ], + [ + 729, + [ + "add", + 520, + 452, + 1, + 1, + [ + 268, + 140, + 64, + 38, + 30, + 1 + ] + ] + ], + [ + 730, + [ + "add", + 521, + 453, + 1, + 1, + [ + 266, + 138, + 70, + 32, + 30, + 1 + ] + ] + ], + [ + 747, + [ + "add", + 532, + 232, + -2, + 1, + [ + 385, + 64, + 33, + 18, + 11, + 7 + ] + ] + ], + [ + 748, + [ + "add", + 533, + 62, + -2, + 1, + [ + 385, + 65, + 32, + 19, + 10, + 7 + ] + ] + ], + [ + 763, + [ + "add", + 544, + 454, + -2, + 1, + [ + 267, + 139, + 65, + 33, + 25, + 7 + ] + ] + ], + [ + 764, + [ + "add", + 545, + 455, + -2, + 1, + [ + 267, + 139, + 64, + 32, + 25, + 7 + ] + ] + ], + [ + 779, + [ + "add", + 556, + 236, + -2, + 1, + [ + 385, + 65, + 33, + 24, + 4, + 3 + ] + ] + ], + [ + 780, + [ + "add", + 557, + 238, + -2, + 1, + [ + 385, + 64, + 32, + 24, + 4, + 3 + ] + ] + ], + [ + 795, + [ + "add", + 568, + 456, + -2, + 1, + [ + 258, + 130, + 64, + 33, + 24, + 7 + ] + ] + ], + [ + 796, + [ + "add", + 569, + 457, + -2, + 1, + [ + 259, + 131, + 65, + 32, + 24, + 7 + ] + ] + ], + [ + 1215, + [ + "add", + 125, + 450, + -1, + 2, + [ + 256, + 128, + 66, + 34, + 24, + 4, + 1 + ] + ] + ], + [ + 1217, + [ + "add", + 121, + 451, + -1, + 2, + [ + 260, + 132, + 64, + 32, + 24, + 2, + 1 + ] + ] + ], + [ + 1223, + [ + "add", + 149, + 231, + -1, + 2, + [ + 258, + 128, + 64, + 34, + 24, + 4, + 1 + ] + ] + ], + [ + 1225, + [ + "add", + 145, + 226, + -1, + 2, + [ + 256, + 132, + 68, + 32, + 24, + 2, + 1 + ] + ] + ], + [ + 1231, + [ + "add", + 181, + 452, + -1, + 2, + [ + 262, + 134, + 64, + 38, + 20, + 10, + 1 + ] + ] + ], + [ + 1233, + [ + "add", + 177, + 453, + -1, + 2, + [ + 256, + 128, + 70, + 32, + 20, + 10, + 1 + ] + ] + ], + [ + 1239, + [ + "add", + 221, + 230, + -1, + 2, + [ + 256, + 134, + 70, + 38, + 20, + 10, + 1 + ] + ] + ], + [ + 1241, + [ + "add", + 217, + 228, + -1, + 2, + [ + 262, + 128, + 64, + 32, + 20, + 10, + 1 + ] + ] + ], + [ + 1247, + [ + "add", + 117, + 454, + 1, + 1, + [ + 256, + 128, + 65, + 33, + 18, + 11, + 7 + ] + ] + ], + [ + 1249, + [ + "add", + 113, + 455, + 1, + 1, + [ + 257, + 129, + 64, + 32, + 19, + 10, + 7 + ] + ] + ], + [ + 1255, + [ + "add", + 157, + 232, + 1, + 1, + [ + 257, + 128, + 64, + 33, + 18, + 11, + 7 + ] + ] + ], + [ + 1257, + [ + "add", + 153, + 62, + 1, + 1, + [ + 256, + 129, + 65, + 32, + 19, + 10, + 7 + ] + ] + ], + [ + 1263, + [ + "add", + 189, + 456, + 1, + 1, + [ + 257, + 129, + 64, + 33, + 24, + 4, + 3 + ] + ] + ], + [ + 1265, + [ + "add", + 185, + 457, + 1, + 1, + [ + 256, + 128, + 65, + 32, + 24, + 4, + 3 + ] + ] + ], + [ + 1271, + [ + "add", + 213, + 236, + 1, + 1, + [ + 256, + 129, + 65, + 33, + 24, + 4, + 3 + ] + ] + ], + [ + 1273, + [ + "add", + 209, + 238, + 1, + 1, + [ + 257, + 128, + 64, + 32, + 24, + 4, + 3 + ] + ] + ] + ], + "B_frames": { + "1340": [ + 256, + 128, + 66, + 34, + 24, + 4, + 1 + ], + "1343": [ + 256, + 128, + 64, + 32, + 24, + 4, + 1 + ], + "1346": [ + 260, + 132, + 68, + 36, + 24, + 2, + 1 + ], + "1349": [ + 260, + 132, + 64, + 32, + 24, + 2, + 1 + ], + "1352": [ + 258, + 128, + 64, + 34, + 24, + 4, + 1 + ], + "1355": [ + 260, + 128, + 68, + 32, + 24, + 2, + 1 + ], + "1358": [ + 256, + 130, + 64, + 34, + 24, + 4, + 1 + ], + "1361": [ + 256, + 132, + 68, + 32, + 24, + 2, + 1 + ], + "1364": [ + 262, + 134, + 64, + 38, + 20, + 10, + 1 + ], + "1367": [ + 262, + 134, + 70, + 32, + 18, + 12, + 1 + ], + "1370": [ + 256, + 128, + 64, + 38, + 18, + 12, + 1 + ], + "1373": [ + 256, + 128, + 70, + 32, + 20, + 10, + 1 + ], + "1376": [ + 256, + 134, + 70, + 38, + 20, + 10, + 1 + ], + "1379": [ + 256, + 134, + 64, + 32, + 20, + 10, + 1 + ], + "1382": [ + 262, + 128, + 70, + 38, + 20, + 10, + 1 + ], + "1385": [ + 262, + 128, + 64, + 32, + 20, + 10, + 1 + ], + "1388": [ + 256, + 128, + 65, + 33, + 18, + 11, + 7 + ], + "1391": [ + 256, + 128, + 64, + 32, + 18, + 11, + 7 + ], + "1394": [ + 257, + 129, + 65, + 33, + 19, + 10, + 7 + ], + "1397": [ + 257, + 129, + 64, + 32, + 19, + 10, + 7 + ], + "1400": [ + 257, + 128, + 64, + 33, + 18, + 11, + 7 + ], + "1403": [ + 257, + 128, + 65, + 32, + 19, + 10, + 7 + ], + "1406": [ + 256, + 129, + 64, + 33, + 18, + 11, + 7 + ], + "1409": [ + 256, + 129, + 65, + 32, + 19, + 10, + 7 + ], + "1412": [ + 257, + 129, + 64, + 33, + 24, + 4, + 3 + ], + "1415": [ + 257, + 129, + 65, + 32, + 24, + 5, + 2 + ], + "1418": [ + 256, + 128, + 64, + 33, + 24, + 5, + 2 + ], + "1421": [ + 256, + 128, + 65, + 32, + 24, + 4, + 3 + ], + "1424": [ + 256, + 129, + 65, + 33, + 24, + 4, + 3 + ], + "1427": [ + 256, + 129, + 64, + 32, + 24, + 4, + 3 + ], + "1430": [ + 257, + 128, + 65, + 33, + 24, + 4, + 3 + ], + "1433": [ + 257, + 128, + 64, + 32, + 24, + 4, + 3 + ] + }, + "tail_insert": [ + [ + 7, + [ + "add", + 496, + 450, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + ] + ], + [ + 6, + [ + "add", + 497, + 451, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + ] + ], + [ + 5, + [ + "add", + 520, + 452, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ] + ], + [ + 4, + [ + "add", + 521, + 453, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ] + ], + [ + 3, + [ + "add", + 544, + 454, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ] + ], + [ + 2, + [ + "add", + 545, + 455, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ] + ], + [ + 1, + [ + "add", + 568, + 456, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + ] + ], + [ + 0, + [ + "add", + 569, + 457, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + ] + ] + ], + "cleanup_prepend": [ + [ + "add", + 484, + 231, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 485, + 226, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 508, + 230, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 509, + 228, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 532, + 232, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 533, + 62, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 556, + 236, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 557, + 238, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ] + ], + "local_profile": { + "1": 2548, + "2": 338, + "3": 446, + "4": 162, + "5": 72, + "8": 8 + }, + "expect_sha256": "090fd574747fbf9628e70cb9beb792732914cfa52e1df147579fe4dbccc68c5a", + "priced": { + "dk_ideal": 3.140480230774418e-07, + "dP": { + "5": 16, + "4": -32, + "3": 16 + } + }, + "variants": [ + { + "X": 231, + "E": 450, + "dsides": [ + 878, + 886 + ], + "donors": [ + 450, + 231 + ], + "hold": [ + 496, + 484 + ], + "kept": { + "1215": 450, + "1223": 231 + }, + "when": "mid" + }, + { + "X": 230, + "E": 452, + "dsides": [ + 894, + 902 + ], + "donors": [ + 452, + 230 + ], + "hold": [ + 520, + 508 + ], + "kept": { + "1231": 452, + "1239": 230 + }, + "when": "mid" + }, + { + "X": 232, + "E": 454, + "dsides": [ + 910, + 918 + ], + "donors": [ + 454, + 232 + ], + "hold": [ + 544, + 532 + ], + "kept": { + "1247": 454, + "1255": 232 + }, + "when": "mid" + }, + { + "X": 236, + "E": 456, + "dsides": [ + 926, + 934 + ], + "donors": [ + 456, + 236 + ], + "hold": [ + 568, + 556 + ], + "kept": { + "1263": 456, + "1271": 236 + }, + "when": "mid" + }, + { + "X": 226, + "E": 451, + "dsides": [ + 880, + 888 + ], + "donors": [ + 451, + 226 + ], + "hold": [ + 497, + 485 + ], + "kept": { + "1217": 451, + "1225": 226 + }, + "when": "mid" + }, + { + "X": 228, + "E": 453, + "dsides": [ + 896, + 904 + ], + "donors": [ + 453, + 228 + ], + "hold": [ + 521, + 509 + ], + "kept": { + "1233": 453, + "1241": 228 + }, + "when": "mid" + }, + { + "X": 62, + "E": 455, + "dsides": [ + 912, + 920 + ], + "donors": [ + 455, + 62 + ], + "hold": [ + 545, + 533 + ], + "kept": { + "1249": 455, + "1257": 62 + }, + "when": "mid" + }, + { + "X": 238, + "E": 457, + "dsides": [ + 928, + 936 + ], + "donors": [ + 457, + 238 + ], + "hold": [ + 569, + 557 + ], + "kept": { + "1265": 457, + "1273": 238 + }, + "when": "mid" + } + ] +} \ No newline at end of file diff --git a/research/gauge44-slots-t16/construction/barch/build_tri.py b/research/gauge44-slots-t16/construction/barch/build_tri.py new file mode 100644 index 0000000000..11c4371114 --- /dev/null +++ b/research/gauge44-slots-t16/construction/barch/build_tri.py @@ -0,0 +1,87 @@ +#!/usr/bin/env python3 +"""build_tri.py BASE_WORD RECIPE OUT_WORD [--control NAME] + +Standard library only. Applies a NewBArch triangle-hybrid recipe to the X4 word (1e1d99ba) and writes a FULL-WORD.json.gz. +Recipe keys (all indices refer to the BASE word): + base_sha256 sha256 of the decompressed base JSON (checked) + B_delete list of B indices removed + B_insert list of [pos, gate]: gate (with frame) inserted before base B gate pos (list order kept) + B_frames {index: frame}: explicit re-chosen frame of a kept base B gate + tail_insert list of [early_index, gate]: gates appended to cleanup in list order, then registered as early cleanup at early_index (ascending) + cleanup_prepend list of gates prepended to the full cleanup (early indices are shifted) + local_profile report.local_profile of the result + expect_sha256 sha256 of the decompressed result (checked unless a control is requested) +Controls (each must be REJECTED by audit_local; see controls.json): + drop_restore omit cleanup_prepend (end value of the holder not restored) + restore_full move tail_insert gates into the full cleanup (FULL frame) instead of early cleanup + drop_preread omit the inserted entrance pre-reads (inserted target += E gates at pos < first donation) + donation_after insert each donation after its reading target's read instead of before it + NAME@X the same control restricted to the instance whose packet register is X (recipe 'variants') +""" +import sys, json, gzip, hashlib, copy + +FULL = [256, 128, 64, 32, 16, 8, 4, 2, 1] + +def load(p): + raw = gzip.decompress(open(p, 'rb').read()); return json.loads(raw), hashlib.sha256(raw).hexdigest() + +def apply(w, rc, control=None): + w = copy.deepcopy(w); B = w['B'] + S = None + if control and '@' in control: # per-instance control: name@X mutates only instance X's gates + control, x = control.split('@'); x = int(x) + vv = [s for s in rc['variants'] if s['X'] == x][0]; S = {vv['X'], vv['E'], *vv['hold']} + sel = lambda g: S is None or bool({g[1], g[2]} & S) + dele = set(rc['B_delete']); fr = {int(k): f for k, f in rc['B_frames'].items()} + ins = [list(x) for x in rc['B_insert']] + don = [x for x in ins if not (112 <= x[1][1] < 224)] # donations: destination is not a target + first_don = min(p for p, _ in don) if don else 0 + if control == 'drop_preread': + ins = [x for x in ins if not (x[0] < first_don and 112 <= x[1][1] < 224 and sel(x[1]))] + if control == 'donation_after': + new = [] + for p, g in ins: + if g in [d[1] for d in don] and sel(g): + rd = [i for i, e in enumerate(B) if i >= p and e[0] == 'add' and e[2] == g[1] and 112 <= e[1] < 224] + p = rd[0] + 1 + new.append([p, g]) + ins = new + at = {} + for p, g in ins: at.setdefault(p, []).append(list(g)) + out = [] + for i, e in enumerate(B): + out.extend(at.get(i, [])) + if i in dele: continue + e = list(e) + if i in fr: e = e[:-1] + [list(fr[i])] + out.append(e) + out.extend(at.get(len(B), [])) + w['B'] = out + pre = [list(g) for g in rc['cleanup_prepend'] if not (control == 'drop_restore' and sel(g))] + tails = [list(x) for x in rc['tail_insert']] + if control == 'restore_full': + pre = pre + [g[1][:-1] + [FULL] for g in tails if sel(g[1])]; tails = [g for g in tails if not sel(g[1])] + C = pre + w['cleanup']; sh = len(pre) + early = [[i + sh, U] for i, U in w['early_cleanup']] + idx = [] + for j, g in tails: C.append(list(g)); idx.append((j, len(C) - 1, list(g[-1]))) # appended in recipe order + for j, ci, U in sorted(idx): early.insert(j, [ci, U]) # then registered at their early index + w['cleanup'] = C; w['early_cleanup'] = early + w['report'] = dict(w['report']); w['report']['local_profile'] = rc['local_profile'] + return w + +def main(): + a = sys.argv[1:]; control = None + if '--control' in a: k = a.index('--control'); control = a[k + 1]; del a[k:k + 2] + base, out = a[0], a[2] + w, sha = load(base); rc = json.load(open(a[1])) + if sha != rc['base_sha256']: raise SystemExit('base sha mismatch ' + sha) + w2 = apply(w, rc, control) + raw = json.dumps(w2, separators=(',', ':')).encode() + open(out, 'wb').write(gzip.compress(raw, mtime=0)) + s = hashlib.sha256(raw).hexdigest() + if control is None and s != rc['expect_sha256']: raise SystemExit('result sha mismatch ' + s) + print(json.dumps(dict(control=control, sha256=s))) + +if __name__ == '__main__': + main() diff --git a/research/gauge44-slots-t16/construction/barch/reproduce_barch.py b/research/gauge44-slots-t16/construction/barch/reproduce_barch.py new file mode 100644 index 0000000000..22f15b491d --- /dev/null +++ b/research/gauge44-slots-t16/construction/barch/reproduce_barch.py @@ -0,0 +1,92 @@ +#!/usr/bin/env python3 +"""Rebuild the B0 word (NewBArch's width-neutral triangle-hybrid B-delivery rewrite on X4) and its native locals. + +Input: a fresh `construction/jx/reproduce_jx.py` output directory; its X4 word (1e1d99ba...) is pinned there and by +RECIPE-B0.json (base_sha256). Steps, each checked exactly: + 1. barch: build_tri.py (standard library only; NewBArch) applies the recipe's explicit B deletes and inserts (with frames), + re-chosen B frames, early-cleanup tails and FULL-cleanup restores; it checks the base and result shas (d9ba0942...). + 2. barch-controls: run_controls.py rebuilds C0 (identity, must reproduce the input), the recipe word (must PASS #645's + independent audit_local.py) and four mutants (drop_restore, restore_full, drop_preread, donation_after), globally + and for each recipe variant (NAME@X); each mutant must FAIL audit_local with its pinned message. Every outcome is + required and the control set is pinned (LOCAL-PINS). + 3. layer-end-controls: ../layers_p6n/layer_end_controls.py (per-end variant) on the B0 word; count pinned. + 4. native, ledgers, local-replay, wrappers, phases: PR635's native local programs; canonical word, local programs and + Clifford recipes pinned (LOCAL-PINS-barch-.json). +Apache-2.0. Driver by ColdWitness around NewBArch's builder and controls. +""" +import argparse, gzip, hashlib, json, os, subprocess, sys, time +from pathlib import Path + +HERE = Path(__file__).resolve().parent +PKG = HERE.parents[1] +P6 = HERE.parent / 'layers_p6n' +MUTANTS = ('drop_restore', 'restore_full', 'drop_preread', 'donation_after') + + +def read(p): + raw = Path(p).read_bytes() + return json.loads(gzip.decompress(raw) if str(p).endswith('.gz') else raw) + + +def main(): + assert __debug__, 'Assertions are required' + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--main', type=Path, required=True) + ap.add_argument('--pr635', type=Path, required=True) + ap.add_argument('--jx-dir', type=Path, required=True, help='construction/jx/reproduce_jx.py output') + ap.add_argument('--recipe', default='U8', help='RECIPE-.json and LOCAL-PINS-barch-.json') + ap.add_argument('--out', type=Path, required=True) + ap.add_argument('--skip-phases', action='store_true') + a = ap.parse_args() + out = a.out.resolve(); assert not out.exists(); out.mkdir(parents=True) + up = a.pr635.resolve() / 'research/complex-571-cold14-st2' + src = a.main.resolve() / 'research/complex-k492-owner-repair/vendor/multicold' + base = src / 'vendor/pr558'; parent = base / 'vendor/pr552' + rfile = HERE / ('RECIPE-%s.json' % a.recipe); rec = read(rfile); pins = read(HERE / ('LOCAL-PINS-barch-%s.json' % a.recipe)) + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONUTF8='1', PYTHONINTMAXSTRDIGITS='0', + MULTICOLD_SOURCE=str(src), GAIN_PR564_SOURCE=str(src)) + for k in ('PYTHONOPTIMIZE', 'XPARAM', 'EXTRAH', 'PAIRING_RANKS', 'DIAG', 'HYBBUDGET', 'PR635_CODE'): env.pop(k, None) + steps = [] + + def run(label, script, *args, portable=True): + t = time.monotonic() + cmd = [sys.executable, '-B'] + ([str(src / 'code/run_portable.py')] if portable else []) + [str(script), *map(str, args)] + with (out / (label + '.log')).open('w') as f: + rc = subprocess.call(cmd, env=env, stdout=f, stderr=subprocess.STDOUT) + steps.append(dict(step=label, exit_code=rc, seconds=round(time.monotonic() - t, 3))) + (out / 'STEPS.json').write_text(json.dumps(steps, indent=2) + '\n') + assert rc == 0, label + print('PASS', label, flush=True) + + inp = a.jx_dir.resolve() / 'jx/FULL-WORD.json.gz' + assert hashlib.sha256(gzip.decompress(inp.read_bytes())).hexdigest() == rec['base_sha256'], 'input must be the pinned X4 word' + (out / 'barch').mkdir(); word = out / 'barch/FULL-WORD.json.gz' + run('barch', HERE / 'build_tri.py', inp, rfile, word, portable=False) + assert hashlib.sha256(gzip.decompress(word.read_bytes())).hexdigest() == rec['expect_sha256'] + run('barch-controls', HERE / 'run_controls.py', inp, rfile, PKG / 'independent/audit_local.py', out / 'barch-controls', portable=False) + res = read(out / 'barch-controls/controls.json') + want = ['C0_identity', 'recipe', *MUTANTS] + [m + '@' + str(v['X']) for v in rec.get('variants', []) for m in MUTANTS] + assert sorted(res) == sorted(want) == sorted(pins['barch_controls']) and all(x['ok'] for x in res.values()), res + routing = parent / 'complex-local/inputs/phase-baseline/CANONICAL-WORD.json.gz' + env['PR635_CODE'] = str(up / 'code') + run('layer-end-controls', P6 / 'layer_end_controls.py', word, routing, out / 'controls') + env.pop('PR635_CODE') + ctl = read(out / 'controls/COLD-END-CONTROLS.json') + assert ctl['status'] == 'PASS_COLD_END_RAW_WORD_CONTROLS' and len(ctl['rejected']) == pins['layer_controls'], len(ctl['rejected']) + local = out / 'local' + run('native', up / 'code/hpe_audit_and_transport.py', '--raw', word, '--routing', routing, '--out', local) + assert hashlib.sha256(gzip.decompress((local / 'CANONICAL-WORD.json.gz').read_bytes())).hexdigest() == pins['canonical_sha256'], 'canonical word' + run('ledgers', up / 'code/hpe_emit_local.py', local) + run('local-replay', up / 'code/hpe_audit_local.py', local) + run('wrappers', up / 'code/hpe_adapters_local.py', local / 'CANONICAL-WORD.json.gz', + local / 'RESIDUAL-ADAPTERS.json', local / 'WRAPPER-CHECKS.json') + checks = read(local / 'LOCAL-CHECKS.json') + for o, s in pins['program_sha256'].items(): assert checks[o]['sha256'] == s, ('local program', o) + if not a.skip_phases: + run('phases', base / 'code/phases_full.py', local, parent / 'complex-global/vendor531/vendor/clifford') + assert hashlib.sha256((local / 'CLIFFORD-RECIPES.json').read_bytes()).hexdigest() == pins['clifford_recipes_sha256'], 'clifford recipes' + print('DONE', local, flush=True) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-slots-t16/construction/barch/run_controls.py b/research/gauge44-slots-t16/construction/barch/run_controls.py new file mode 100644 index 0000000000..f1ce999bfb --- /dev/null +++ b/research/gauge44-slots-t16/construction/barch/run_controls.py @@ -0,0 +1,33 @@ +#!/usr/bin/env python3 +"""run_controls.py BASE_WORD RECIPE AUDIT_LOCAL_PY OUTDIR : C0 identity, the recipe word (must PASS) and the four negative +controls (each must FAIL audit_local with its pinned message prefix). Standard library only; writes OUTDIR/controls.json.""" +import sys, json, subprocess, os, gzip, hashlib +base, recipe, audit, out = sys.argv[1:5] +here = os.path.dirname(os.path.abspath(__file__)); os.makedirs(out, exist_ok=True) +# pinned rejection sites (observed on RECIPE-V1 and RECIPE-B0; the failing rows are recorded in controls.json): the holder 485 is not restored; the low-end restore 497-=451 moved to the +# FULL cleanup runs after 451's own tail and leaves 497 wrong; without the pre-read (or with the donation after the read) +# the entering helper's start value reaches a target. +EXPECT = {None: 'PASS', 'drop_restore': 'all-column endpoint failure (False, ', + 'restore_full': 'all-column endpoint failure (False, ', + 'drop_preread': 'nonzero entrance response', 'donation_after': 'nonzero entrance response'} +res = {} +ident = os.path.join(out, 'C0.json') +json.dump(dict(json.load(open(recipe)), B_delete=[], B_insert=[], B_frames={}, tail_insert=[], cleanup_prepend=[], + local_profile=json.loads(gzip.decompress(open(base, 'rb').read()))['report']['local_profile'], + expect_sha256=hashlib.sha256(gzip.decompress(open(base, 'rb').read())).hexdigest()), open(ident, 'w')) +r = subprocess.run([sys.executable, '-B', os.path.join(here, 'build_tri.py'), base, ident, os.path.join(out, 'C0.json.gz')], capture_output=True, text=True) +res['C0_identity'] = dict(ok=r.returncode == 0, out=r.stdout.strip() or r.stderr.strip()[-200:]) +ctls = list(EXPECT) + [c + '@' + str(s['X']) for s in json.load(open(recipe)).get('variants', []) for c in EXPECT if c] +for ctl in ctls: + name = ctl or 'recipe'; wp = os.path.join(out, name + '.json.gz') + cmd = [sys.executable, '-B', os.path.join(here, 'build_tri.py'), base, recipe, wp] + (['--control', ctl] if ctl else []) + b = subprocess.run(cmd, capture_output=True, text=True) + if b.returncode: res[name] = dict(ok=False, build=b.stderr[-300:]); continue + a = subprocess.run([sys.executable, '-B', audit, '--word', wp, '--output', os.path.join(out, name + '.audit.json')], capture_output=True, text=True) + txt = a.stdout + a.stderr + if ctl is None: ok = a.returncode == 0 and 'PASS_INDEPENDENT' in txt + else: ok = a.returncode != 0 and EXPECT[ctl.split('@')[0]] in txt + res[name] = dict(ok=ok, build=json.loads(b.stdout), audit_tail=txt.strip().splitlines()[-1][:200]) +json.dump(res, open(os.path.join(out, 'controls.json'), 'w'), indent=1) +print(json.dumps({k: x['ok'] for k, x in res.items()})) +sys.exit(0 if all(x['ok'] for x in res.values()) else 1) diff --git a/research/gauge44-slots-t16/construction/build_gauge_cold44.py b/research/gauge44-slots-t16/construction/build_gauge_cold44.py new file mode 100644 index 0000000000..72d2945f6b --- /dev/null +++ b/research/gauge44-slots-t16/construction/build_gauge_cold44.py @@ -0,0 +1,210 @@ +"""Exact dyadic cold-end realization of the source-branch/factory-completion word. +Prepared for icekylinx with OpenAI Codex assistance; Apache-2.0. +This is a constructor: independent endpoint/frame audits remain required. +""" +from pathlib import Path +from fractions import Fraction as Q +from collections import Counter +import copy,gzip,json,hashlib,time,sys,argparse,importlib.util +D=Path(__file__).resolve().parent +ap=argparse.ArgumentParser(description=__doc__) +for name in ('input','out','hamming','upstream-package'):ap.add_argument('--'+name,type=Path,required=True) +args=ap.parse_args();WPATH=args.input;OUT=args.out +assert __debug__, 'Assertions are required' +OUT.mkdir(exist_ok=False,parents=True) +def rd(p):return json.loads(gzip.decompress(p.read_bytes()) if p.suffix=='.gz' else p.read_bytes()) +w=rd(WPATH);v=w['report']['v'];n=2*v+w['report']['R'];N=list(range(v))+list(range(2*v,n));ix={x:i for i,x in enumerate(N)} +F9=[256,128,64,32,16,8,4,2,1];t0=time.monotonic() +def basis(vs): + d={} + for a in vs: + for k in sorted(d,reverse=True): + if a>>k&1:a^=d[k] + if a: + k=a.bit_length()-1 + for j in d: + if d[j]>>k&1:d[j]^=a + d[k]=a + return tuple(d[k] for k in sorted(d,reverse=True)) +def inside(a,b):return basis(a+b)==b +def regs(e):return e[1:3] if e[0]=='add' else e[1:2] +def inverse(e): + e=copy.deepcopy(e) + if e[0]=='add':e[3]=-e[3] + else:e[2],e[3]=e[3],e[2] + return e +def apply(e,M,mapping=None): + t=mapping[e[1]] if mapping is not None else e[1] + if e[0]=='add': + s=mapping[e[2]] if mapping is not None else e[2];q=Q(e[3],e[4]) + for j,a in M[s].items(): + x=M[t].get(j,Q(0))+q*a + if x:M[t][j]=x + else:M[t].pop(j,None) + else: + q=Q(e[2],e[3]);M[t]={j:q*a for j,a in M[t].items()} +def rref(A): + a=[list(map(Q,row)) for row in A];nr=len(a);nc=len(a[0]) if nr else 0;row=0;piv=[] + for c in range(nc): + k=next((i for i in range(row,nr) if a[i][c]),None) + if k is None:continue + a[row],a[k]=a[k],a[row];q=a[row][c];a[row]=[x/q for x in a[row]] + for i in range(nr): + if i!=row and a[i][c]:q=a[i][c];a[i]=[x-q*y for x,y in zip(a[i],a[row])] + piv.append(c);row+=1 + if row==nr:break + return a,piv +def rank(A):return len(rref(A)[1]) +def null(A,nc=None): + if A:a,piv=rref(A);nc=len(a[0]) + else:a=[];piv=[];assert nc is not None + free=[j for j in range(nc) if j not in piv];out=[[Q(0) for j in free] for i in range(nc)] + for k,c in enumerate(free):out[c][k]=Q(1) + for i,c in enumerate(piv): + for k,j in enumerate(free):out[c][k]=-a[i][j] + return out +def mm(A,B): + if not A:return [] + if not B:return [[] for row in A] + bt=list(zip(*B));return [[sum((a*b for a,b in zip(row,col)),Q(0)) for col in bt] for row in A] +def tr(A):return list(map(list,zip(*A))) +def inv(A): + n0=len(A);a,p=rref([row+[Q(i==j) for j in range(n0)] for i,row in enumerate(A)]) + assert p[:n0]==list(range(n0)) + return [row[n0:] for row in a] +def unit(q): + if not q:return False + a=abs(q.numerator);b=q.denominator + return not a&(a-1) and not b&(b-1) +def dyadic(q):return not q.denominator&(q.denominator-1) +def opadd(t,s,q,F):return ['add',t,s,q.numerator,q.denominator,list(F)] +def opscale(t,q,F):return ['scale',t,q.numerator,q.denominator,list(F)] +def eliminate(M,ids,F,skip=()): + """Return legal dyadic row operations taking an invertible sparse matrix to I.""" + skip=set(skip);ops=[];dim=len(M) + def add(i,j,q): + if q: + assert dyadic(q);e=opadd(ids[i],ids[j],q,F);ops.append(e) + for c,x in M[j].items(): + z=M[i].get(c,Q(0))+q*x + if z:M[i][c]=z + else:M[i].pop(c,None) + def scale(i,q): + if q!=1: + assert unit(q);ops.append(opscale(ids[i],q,F));M[i]={c:q*x for c,x in M[i].items()} + def swap(i,j): + if i!=j: + add(i,j,Q(1));add(j,i,Q(-1));add(i,j,Q(1));scale(j,Q(-1)) + for c in range(dim): + if c in skip: + assert M[c]=={c:Q(1)} and all(not M[i].get(c) for i in range(dim) if i!=c) + continue + cand=[i for i in range(c,dim) if i not in skip and M[i].get(c)] + k=next((i for i in cand if unit(M[i][c])),None) + if k is None: + # Elementary Euclidean row additions reduce the pivot-column numerator gcd. + assert cand,('singular',c) + while k is None: + cand.sort(key=lambda i:abs(M[i][c]));a=cand[0] + b=next((i for i in cand[1:] if M[i][c]),None) + if b is None:raise ValueError(('non-dyadic determinant pivot',c,M[a][c])) + rat=M[b][c]/M[a][c];q=rat.numerator//rat.denominator + if q==0:q=1 if rat>0 else -1 + add(b,a,Q(-q));cand=[i for i in cand if M[i].get(c)] + k=next((i for i in cand if unit(M[i][c])),None) + swap(c,k);scale(c,1/M[c][c]) + for i in range(dim): + if i!=c and M[i].get(c): + assert i not in skip + add(i,c,-M[i][c]) + assert all(row=={i:Q(1)} for i,row in enumerate(M)) + return ops +def realize(A,ids,F): + M=[{j:Q(x) for j,x in enumerate(row) if x} for row in A] + return [inverse(e) for e in reversed(eliminate(M,ids,F))] +# Reconstruct the actual non-target map after the inherited HPE tail. +inherited_tail=[w['cleanup'][i][:-1]+[list(f)] for i,f in w.get('early_cleanup',[])] +mainN=[e for e in w['A']+w['B'] if not v<=e[1]<2*v] +M=[{i:Q(1)} for i in range(len(N))] +for e in mainN+inherited_tail:apply(e,M,ix) +MI=[{i:Q(1)} for i in range(len(N))] +for e in reversed(mainN+inherited_tail):apply(inverse(e),MI,ix) +cur={x:(w['ports'][x],) if xlen(ih):ih.append(j) + if len(ih)==r:break + assert len(ih)==r + endhs=[N[I[j]] for j in ih];endhidx=[hs.index(h) for h in endhs] + kerR=null(RR,16);Qmat=[[Q(0) for j in range(16)] for i in range(16)] + for j,hj in enumerate(endhidx): + for i in range(16):Qmat[i][hj]=qH[i][j] + other=[j for j in range(16) if j not in endhidx] + for k,j in enumerate(other): + for i in range(16):Qmat[i][j]=kerR[i][k] + assert rank(Qmat)==16 + pops=realize(Qmat,hs,());premix+=pops + T=[[Q(i==j)-sum((U[i][k]*L[k][j] for k in range(r)),Q(0)) for j in range(len(I))] for i in range(len(I))] + for k,i in enumerate(ih):T[i]=L[k] + tops=realize(T,[N[i] for i in I],F);tail+=tops + # Right-compose this initial helper premix; other blocks have disjoint H sets. + for row in Mafter: + vals=[row.get(h,Q(0)) for h in H] + if any(vals): + for hj in H:row.pop(hj,None) + for j,hj in enumerate(H): + z=sum((vals[i]*Qmat[i][j] for i in range(16)),Q(0)) + if z:row[hj]=z + for e in tops:apply(e,Mafter,ix) + ends.update({h:list(F) for h in endhs}) + plans.append(dict(block=b,frame=list(F),registers=[N[i] for i in I],ends=endhs,pairing_rank=r,premix_gates=len(pops),tail_gates=len(tops),Q=[[str(x) for x in row] for row in Qmat],T=[[str(x) for x in row] for row in T])) + print('BLOCK',b,'ends',endhs,'Qops',len(pops),'Tops',len(tops),flush=True) +# Check actual post-tail isolation before constructing the high-frame inverse. +allends=set(ends)|set(map(int,w.get('helper_final',{}))) +for h in allends: + j=ix[h];assert Mafter[j]=={j:Q(1)},('row not isolated',h,Mafter[j]);assert all(not row.get(j) for i,row in enumerate(Mafter) if i!=j),('column not isolated',h) +print('EXACT_ISOLATED',len(ends),'new;',len(allends),'total',round(time.monotonic()-t0,3),flush=True) +fullops=eliminate(copy.deepcopy(Mafter),N,F9,[ix[x] for x in allends]) +print('FULL_INVERSE',len(fullops),round(time.monotonic()-t0,3),flush=True) +# Cancel new cold-axis target responses inside A, after their wrappers. +Dirt=[({h:Q(1)} if h in ends else {}) for h in range(n)] +for e in premix+w['A']+w['cut']+w['B']:apply(e,Dirt) +for e in w['precondition']:apply(e,Dirt) +postcomp=[opadd(y,h,-a,()) for y in range(v,2*v) for h,a in sorted(Dirt[y].items()) if a] +assert all(h in ends for e in postcomp for h in [e[2]]) +new=copy.deepcopy(w);new['A']=postcomp+premix+w['A'];new['cleanup']=inherited_tail+tail+fullops +new['early_cleanup']=[[i,e[-1]] for i,e in enumerate(inherited_tail+tail)] +new['helper_final'].update({str(h):f for h,f in ends.items()}) +new['refactored_cleanup']={'kind':'source_branch_gauge_and_retired_completion_cold44','new_cold_ends':len(ends),'exact_non_target_isolation_checked':True,'high_inverse':'dyadic_sparse_Gauss_Jordan'} +# Derive paid profile by subtracting and adding literal frame-chain counts. +spec=importlib.util.spec_from_file_location('upstream_cold_end',args.upstream_package/'code/build_cold_end.py') +profile_module=importlib.util.module_from_spec(spec);spec.loader.exec_module(profile_module) +oldprof,_=profile_module.chain_profile(w);newprof,_=profile_module.chain_profile(new) +prof=Counter({int(k):z for k,z in w['report']['local_profile'].items()});prof.subtract(oldprof);prof.update(newprof) +widths=Counter(len(basis(new['helper_final'].get(str(h),F9)))-len(basis(new.get('start_extra',{}).get(str(h),[]))) for h in range(224,n)) +new['report'].update(local_profile={str(k):z for k,z in sorted(prof.items()) if z},local_rank_mass=sum(k*z for k,z in prof.items()),width_inventory={str(k):z for k,z in sorted(widths.items()) if z},status='EXACT_COLD44_CONSTRUCTED_PENDING_INDEPENDENT_AUDIT') +raw=json.dumps(new,sort_keys=True,separators=(',',':')).encode();sha=hashlib.sha256(raw).hexdigest();(OUT/'FULL-WORD.json.gz').write_bytes(gzip.compress(raw,mtime=0)) +recipe={'premix':postcomp+premix,'cleanup':new['cleanup'],'early_cleanup':new['early_cleanup'],'cold_ends':{str(h):f for h,f in ends.items()},'refactored_cleanup':new['refactored_cleanup'],'output_content_sha256':sha} +(OUT/'RECIPE.json.gz').write_bytes(gzip.compress(json.dumps(recipe,sort_keys=True,separators=(',',':')).encode(),mtime=0)) +receipt=dict(input_content_sha256=hashlib.sha256(gzip.decompress(WPATH.read_bytes())).hexdigest(),output_content_sha256=sha,blocks=plans,new_cold_ends=len(ends),all_low_ended_helpers=len(allends),premix_gates=len(premix),postwrapper_compensation_gates=len(postcomp),tail_gates=len(tail),inherited_tail_gates=len(inherited_tail),full_inverse_gates=len(fullops),profile=new['report']['local_profile'],width_inventory=new['report']['width_inventory'],rank_mass=new['report']['local_rank_mass'],seconds=time.monotonic()-t0) +(OUT/'CONSTRUCTION.json').write_text(json.dumps(receipt,indent=2)+'\n') +print(json.dumps({k:z for k,z in receipt.items() if k!='blocks'},indent=2),flush=True) diff --git a/research/gauge44-slots-t16/construction/construct_gauge_xcentre.py b/research/gauge44-slots-t16/construction/construct_gauge_xcentre.py new file mode 100644 index 0000000000..1010d86746 --- /dev/null +++ b/research/gauge44-slots-t16/construction/construct_gauge_xcentre.py @@ -0,0 +1,381 @@ +# Round20 early-coordinate-center / own-Y variant, prepared for icekylinx +# with OpenAI Codex assistance. Apache-2.0. Scalar elementary-operation +# helpers below are retained from the attributed PR514 construct_partial.py. +# Adapted by OpenAI Codex for isolated structural research. +# Modified from PR425 by icekylinx with Codex assistance. +"""Full discovery word for Hamming packets with borrowed X and Y registers. + +This changes the scalar architecture. It is not accepted by the old restricted +gx interface: source bases may change until full-frame cleanup, and targets use +an explicitly inverted output basis. No supplier admission is asserted. +""" +import copy,gzip,json,math,time +import itertools as it +from collections import Counter,defaultdict +from fractions import Fraction as Q +from pathlib import Path + +import sys +INPUT=Path(sys.argv[1]);OUT=Path(sys.argv[2]);OUT.mkdir(parents=True,exist_ok=False);D=json.loads((INPUT/'PROTOTYPE.json').read_text()) +P=D['binary_ports'];R=D['root_lines'];v=120;h=9 +modules=json.load(gzip.open(INPUT/'PACKET-PROGRAMS.json.gz')) +# AtomScout: leaver-read K-triangles (schedule from atom1.py / rog.py CP-SAT) +TRI=json.loads(Path(sys.argv[3]).read_text()) +FULLT={(tuple(tr['p']),tr['e']) for tr in TRI['triangles']} +TRI_COORDS={t+8 for tr in TRI['triangles'] for t,_,_ in tr['reads']} +COPYL=[] +NH=504-3*len(FULLT)+len(COPYL) + +def basis(vectors): + b={} + for x in vectors: + for p in sorted(b,reverse=True): + if x>>p&1:x^=b[p] + if x: + p=x.bit_length()-1 + for q in b: + if b[q]>>p&1:b[q]^=x + b[p]=x + return tuple(b[p] for p in sorted(b,reverse=True)) +def inside(a,b):return basis(a+b)==b +def hyper(p):return basis([x for x in range(1,512) if (x&p).bit_count()%2==0]) +FULL=basis([1<=v,r)) + for col,s in enumerate(ids): + k=next(i for i in range(col,len(regs)) if rows[regs[i]].get(s,Q(0))) + swap(regs[k],regs[col],F) + scale(regs[col],1/rows[regs[col]][s],F) + for i in range(len(regs)): + if i!=col and rows[regs[i]].get(s,Q(0)):add(regs[i],regs[col],-rows[regs[i]][s],F) + assert all(rows[regs[i]]=={s:Q(1)} for i,s in enumerate(ids)) + M=[[Q(R[s][i]) for s in ids] for i in c] + def qr_rank(rs): + bs={} + for r in rs: + r=r.copy() + for i,b in sorted(bs.items()): + if r[i]:q=r[i];r=[x-q*y for x,y in zip(r,b)] + i=next((i for i,x in enumerate(r) if x),None) + if i is not None:q=r[i];bs[i]=[x/q for x in r] + return len(bs) + assert qr_rank(M)==4 + for rr0 in PRIORITY[",".join(map(str,c))]["rows"]: + rr=list(map(Q,rr0)) + if qr_rank(M+[rr])>len(M):M.append(rr) + if len(M)==8:break + for i in range(8): + if len(M)==8:break + rr=[Q(i==j) for j in range(8)] + if qr_rank(M+[rr])>len(M):M.append(rr) + if len(M)==8:break + assert len(M)==8 + linear(regs,M,F) + for i,r in zip(c,regs): + assert rows[r]=={s:Q(R[s][i]) for s in ids} + block_totals[c,i]=r + +# All centers are complete while Y is still at zero. This is the crucial +# difference from an illegal early-own-Y prefix using the old center order. +centers=[] +for i in range(8): + regs=[block_totals[c,i] for c in sorted(blocks) if i in c] + F=hyper(P[frame[i]]);a=regs[0] + for b in regs[1:]:add(a,b,1,F) + centers.append(a) +centers += [frame[i] for i in range(8)] +center_frames=[cur[r] for r in centers] +assert list(map(len,center_frames))==[8]*8+[1]*8 +assert all(cur[v+t]==() for t in range(v)) + +phase=B +for t,(r,coef,F) in sorted(own_rows.items()): + if t in TRI_COORDS:continue + assert cur[r]==F + add(v+t,r,coef,F) +# requests are needed for TRI coefficients +requests=defaultdict(list) +for pid,pair in enumerate(pairs): + if not pair['selected']:continue + (t,u),(key1,key2),mat=pair['targets'],pair['keys'],pair['matrix'] + requests[key1].append((t,-Q(mat[0][0],2))) + requests[key2].append((u,-Q(mat[0][1],2))) +reqcoef={t:(key,coef) for key,reqs in requests.items() for t,coef in reqs} +def face_info(c,p,eps): + z=blocks[c];keys=[(pp,ee) for pp in it.combinations(c,2) for ee in (-1,1)] + r_local,alpha=z['outputs'][keys.index((p,eps))] + j=[j for j in range(40,len(z['events'])) if z['events'][j][0]==r_local];assert len(j)==1 + return j[0],Q(alpha) +tri_join_counts=Counter() +lcopy={} +for s8 in COPYL: + r=s8+8;c=alloc();add(c,r,1,cur[r]);lcopy[r]=c +for tr in TRI['triangles']: + p,eps=tuple(tr['p']),tr['e'] + for t8,blk,loc in tr['reads']: + t=t8+8;blk=tuple(blk);r=maps[blk][loc];r0=r;r=lcopy.get(r,r) + key,coef=reqcoef[t];assert key[1]==p and key[2]==eps,(key,p,eps) + if blk==key[0]: + rr,c0,F0=own_rows[t];assert rr==r0;q=c0 + else: + j,alpha=face_info(blk,p,eps);ev=blocks[blk]['events'][j];assert loc in ev[:2] + q=coef*alpha + F=basis(cur[v+t]+cur[r]);assert inside(F,hyper(P[t])),('TRI frame',t) + tri_join_counts[len(F)]+=1;add(v+t,r,q,F) + +packets={} +for c,z in sorted(blocks.items()): + mp=maps[c] + keys=[(p,eps) for p in it.combinations(c,2) for eps in (-1,1)] + skipev={face_info(c,p,eps)[0] for p,eps in keys if (p,eps) in FULLT} + for j,(e,F) in enumerate(list(zip(z['events'],z['event_frames']))[40:]): + if j not in early[c] and 40+j not in skipev: + t,s,a,b=e;add(mp[t],mp[s],Q(a,b),tuple(F)) + for key,(r,alpha) in zip(keys,z['outputs']): + if tuple(key) in FULLT:skip();continue + a=mp[r];b=alloc();add(b,a,1,cur[a]) + consumers=sorted(d for d in blocks if d!=c and set(key[0])<=set(d)) + assert len(consumers)==2 + for target,r in zip(consumers,(a,b)):packets[c,key[0],key[1],target]=(r,Q(alpha)) + +# Both tetrahedra use the same partition. A selected key has exactly two +# selected Y loads and no ordinary M consumer. Supply its two raw halves in +# opposite orders and never form that M. Other keys retain the old M path. +second=[];first_join_counts=Counter() +for key,reqs in sorted(requests.items()): + assert len(reqs)==2 + c,p,eps=key + if (p,eps) in FULLT:continue + ds=sorted(d for d in blocks if d!=c and set(p)<=set(d));a,b=ds + for j,(target,coef) in enumerate(sorted(reqs)): + first_source,second_source=(a,b) if j==0 else (b,a) + r,alpha=packets[first_source,p,eps,second_source] + F=basis(cur[v+target]+cur[r]);assert inside(F,hyper(P[target])) + first_join_counts[len(F)]+=1;add(v+target,r,coef*alpha,F) + r,alpha=packets[second_source,p,eps,c] + second.append((target,r,coef*alpha)) + +Ms={} +for c in sorted(blocks): + for p in it.combinations(c,2): + ds=sorted(d for d in blocks if d!=c and set(p)<=set(d)) + for eps in (-1,1): + if (c,p,eps) in requests:continue + (a,alpha),(b,beta)=[packets[d,p,eps,c] for d in ds] + F=basis(cur[a]+cur[b]);add(a,b,beta/alpha,F) + Ms[c,p,eps]=(a,alpha) + +consumers=defaultdict(list) +for pid,pair in enumerate(pairs): + for key in pair['keys']:consumers[key].append(pid) +slots={} +for key,uses in sorted(consumers.items()): + assert len(uses)==2 + if key in requests: + assert all(pairs[i]['selected'] for i in uses) + continue + assert all(not pairs[i]['selected'] for i in uses) + a,alpha=Ms[key] + for j,pid in enumerate(uses): + if j==0:r=a + else:r=alloc();add(r,a,1,cur[a]) + slots[pid,key]=(r,alpha) +assert len(cur)-240==NH,len(cur)-240 + +selected_join_counts=Counter() +for target,r,coef in second: + F=basis(cur[v+target]+cur[r]);assert inside(F,hyper(P[target])) + selected_join_counts[len(F)]+=1;add(v+target,r,coef,F) +output_basis=[] +for pair in pairs: + if not pair['selected']:continue + (t,u),mat=pair['targets'],pair['matrix'] + F=basis(cur[v+t]+cur[v+u]);assert inside(F,hyper(P[t])) and inside(F,hyper(P[u])) + add(v+t,v+u,1,F);add(v+u,v+t,-Q(1,2),F) + z=-Q(2*mat[1][0],mat[0][0]);scale(v+u,z,F);output_basis.append((t,u,z)) + +for pid,pair in enumerate(pairs): + if pair['selected']:continue + (t,u),(key1,key2),mat=pair['targets'],pair['keys'],pair['matrix'] + (a,alpha),(b,beta)=slots[pid,key1],slots[pid,key2] + F=basis(cur[a]+cur[b]);aa,ab=Q(mat[0][0])*alpha,Q(mat[0][1])*beta + ba,bb=Q(mat[1][0])*alpha,Q(mat[1][1])*beta + add(a,b,ab/aa,F);q=ba/(bb-ba*ab/aa);add(b,a,q,F) + add(v+t,a,-aa/2,hyper(P[t]));add(v+u,b,-(bb-ba*ab/aa)/2,hyper(P[u])) + +for t in range(v): + expected={s:-Q(G[t][s],2) for s in range(v) if s!=t and G[t][s] and s not in frame.values()} if t not in frame.values() else {} + assert rows[v+t]==expected,('side identity',t) + +scatter=[[Q(r[i],4) if t not in frame.values() else Q(0) for i in range(8)]+[Q(t==frame[i]) for i in range(8)] for t,r in enumerate(R)] +precondition=[] +for t,u,z in output_basis: + a,b=scatter[t].copy(),scatter[u].copy() + scatter[t]=[x/2-y/z for x,y in zip(a,b)] + scatter[u]=[x/2+y/z for x,y in zip(a,b)] + precondition.extend([['scale',v+u,(1/z).numerator,(1/z).denominator,[]], + ['add',v+u,v+t,1,2,[]],['add',v+t,v+u,-1,1,[]]]) +for r in range(len(cur)):climb(r,hyper(P[r-v]) if v<=r<2*v else FULL) +H[8]+=8;H[1]+=8 +assert sum(r*z for r,z in H.items())==9*NH+240*8+72,sum(r*z for r,z in H.items()) + +def apply(e,matrix): + if e[0]=='add': + _,t,s,a,b,*_=e;q=Q(a,b) + for j,x in list(matrix[s].items()): + z=matrix[t].get(j,Q(0))+q*x + if z:matrix[t][j]=z + else:matrix[t].pop(j,None) + else: + _,t,a,b,*_=e;q=Q(a,b);matrix[t]={j:q*x for j,x in matrix[t].items()} +def inverse(e): + e=copy.deepcopy(e) + if e[0]=='add':e[3]*=-1 + else:e[2],e[3]=e[3],e[2] + e[-1]=list(FULL);return e +cut=[['add',v+t,centers[i],q.numerator,q.denominator,None] for t,row in enumerate(scatter) for i,q in enumerate(row) if q] +cleanup=[inverse(e) for e in reversed(A+B) if not v<=e[1]<2*v] +matrix=[{r:Q(1)} if r.json. Steps, each checked exactly: + 1. frames: build_frames.py (standard library only) applies the eight 'B' gate_frames with BlockInvert's + build_promotion.apply. Scalar program, start and end frames unchanged; profile, widths and output sha pinned; + three pin controls must be rejected (count pinned). + 2. frame-controls: frame_controls.py, PR741's ten focused mutants judged by PR635's unchanged native audit. + 3. layer-end-controls: ../layers_p6n/layer_end_controls.py (per-end variant) on the SW4F8 word; count pinned. + 4. native, ledgers, local-replay, wrappers, phases: PR635's native local programs, with the canonical word, local + programs and Clifford recipes pinned (LOCAL-PINS-frames-.json). +Apache-2.0. +""" +import argparse, gzip, hashlib, json, os, subprocess, sys, time +from pathlib import Path + +HERE = Path(__file__).resolve().parent +P6 = HERE.parent / 'layers_p6n' + + +def read(p): + raw = Path(p).read_bytes() + return json.loads(gzip.decompress(raw) if str(p).endswith('.gz') else raw) + + +def main(): + assert __debug__, 'Assertions are required' + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--main', type=Path, required=True) + ap.add_argument('--pr635', type=Path, required=True) + ap.add_argument('--sw4-dir', type=Path, required=True, help='construction/sw4/reproduce_sw4.py output') + ap.add_argument('--out', type=Path, required=True) + ap.add_argument('--recipe', default='sw4', help='FRAME-RECIPE-.json and LOCAL-PINS-frames-.json') + ap.add_argument('--skip-phases', action='store_true') + a = ap.parse_args() + out = a.out.resolve(); assert not out.exists(); out.mkdir(parents=True) + up = a.pr635.resolve() / 'research/complex-571-cold14-st2' + src = a.main.resolve() / 'research/complex-k492-owner-repair/vendor/multicold' + base = src / 'vendor/pr558'; parent = base / 'vendor/pr552' + rfile = HERE / ('FRAME-RECIPE-%s.json' % a.recipe); rec = read(rfile); pins = read(HERE / ('LOCAL-PINS-frames-%s.json' % a.recipe)) + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONUTF8='1', PYTHONINTMAXSTRDIGITS='0', + MULTICOLD_SOURCE=str(src), GAIN_PR564_SOURCE=str(src)) + for k in ('PYTHONOPTIMIZE', 'XPARAM', 'EXTRAH', 'PAIRING_RANKS', 'DIAG', 'HYBBUDGET', 'PR635_CODE'): env.pop(k, None) + steps = [] + + def run(label, script, *args, portable=True): + t = time.monotonic() + cmd = [sys.executable, '-B'] + ([str(src / 'code/run_portable.py')] if portable else []) + [str(script), *map(str, args)] + with (out / (label + '.log')).open('w') as f: + rc = subprocess.call(cmd, env=env, stdout=f, stderr=subprocess.STDOUT) + steps.append(dict(step=label, exit_code=rc, seconds=round(time.monotonic() - t, 3))) + (out / 'STEPS.json').write_text(json.dumps(steps, indent=2) + '\n') + assert rc == 0, label + print('PASS', label, flush=True) + + inp = a.sw4_dir.resolve() / 'sw4/FULL-WORD.json.gz' + assert hashlib.sha256(gzip.decompress(inp.read_bytes())).hexdigest() == rec['input_content_sha256'], 'input must be the pinned SW4 word' + run('frames', HERE / 'build_frames.py', inp, out / 'frames', rfile, portable=False) + b = read(out / 'frames/BUILD.json') + assert b['status'] == 'PASS_EIGHT_FRAME_EXACT_CONSTRUCTION' and len(b['rejected_controls']) == pins['frame_build_controls'], b + word = out / 'frames/FULL-WORD.json.gz' + assert hashlib.sha256(gzip.decompress(word.read_bytes())).hexdigest() == rec['expected']['output_content_sha256'] + routing = parent / 'complex-local/inputs/phase-baseline/CANONICAL-WORD.json.gz' + env['PR635_CODE'] = str(up / 'code') + run('frame-controls', HERE / 'frame_controls.py', word, routing, out / 'FRAME-CONTROLS.json', rfile, portable=False) + fc = read(out / 'FRAME-CONTROLS.json') + assert fc['status'] == 'PASS_FOCUSED_EIGHT_FRAME_NATIVE_CONTROLS' and len(fc['rejected']) == pins['frame_controls'], len(fc['rejected']) + run('layer-end-controls', P6 / 'layer_end_controls.py', word, routing, out / 'controls') + env.pop('PR635_CODE') + ctl = read(out / 'controls/COLD-END-CONTROLS.json') + assert ctl['status'] == 'PASS_COLD_END_RAW_WORD_CONTROLS' and len(ctl['rejected']) == pins['layer_controls'], len(ctl['rejected']) + local = out / 'local' + run('native', up / 'code/hpe_audit_and_transport.py', '--raw', word, '--routing', routing, '--out', local) + assert hashlib.sha256(gzip.decompress((local / 'CANONICAL-WORD.json.gz').read_bytes())).hexdigest() == pins['canonical_sha256'], 'canonical word' + run('ledgers', up / 'code/hpe_emit_local.py', local) + run('local-replay', up / 'code/hpe_audit_local.py', local) + run('wrappers', up / 'code/hpe_adapters_local.py', local / 'CANONICAL-WORD.json.gz', + local / 'RESIDUAL-ADAPTERS.json', local / 'WRAPPER-CHECKS.json') + checks = read(local / 'LOCAL-CHECKS.json') + for o, s in pins['program_sha256'].items(): assert checks[o]['sha256'] == s, ('local program', o) + if not a.skip_phases: + run('phases', base / 'code/phases_full.py', local, parent / 'complex-global/vendor531/vendor/clifford') + assert hashlib.sha256((local / 'CLIFFORD-RECIPES.json').read_bytes()).hexdigest() == pins['clifford_recipes_sha256'], 'clifford recipes' + print('DONE', local, flush=True) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-slots-t16/construction/jx/LOCAL-PINS-jx-X4.json b/research/gauge44-slots-t16/construction/jx/LOCAL-PINS-jx-X4.json new file mode 100644 index 0000000000..417e4ba7a1 --- /dev/null +++ b/research/gauge44-slots-t16/construction/jx/LOCAL-PINS-jx-X4.json @@ -0,0 +1,11 @@ +{ + "word": "X4", + "jx_controls": 7, + "layer_controls": 95, + "canonical_sha256": "1c0e9da767d4418f70016af599e4a447a3f7777acabe930318459c0fbbd260aa", + "program_sha256": { + "forward": "076a2d428f97abb30473df05110998efbe5ac809885bae4ceb1b8bd81329a1e6", + "backward": "7915679ee305927463d19725360cc15132dd21ede18897d09a935dca1df0d55d" + }, + "clifford_recipes_sha256": "20dddfce0ded7e41dc507939df7297bd98aec1286e05d7dbf18000d57e69a0b7" +} diff --git a/research/gauge44-slots-t16/construction/jx/RECIPE-X4.json b/research/gauge44-slots-t16/construction/jx/RECIPE-X4.json new file mode 100644 index 0000000000..30f7fa5948 --- /dev/null +++ b/research/gauge44-slots-t16/construction/jx/RECIPE-X4.json @@ -0,0 +1,1412 @@ +{ + "input_content_sha256": "d232183f233899961bf55cac67a18545ed33548d9a7ca7078990d1a83d557c59", + "input_word": "P6k4sw4 (BRoute w/P6k4sw4, d232183f)", + "frames_741_source": { + "pr": 741, + "commit": "e516b146", + "recipe": "scratch/WasteAttack/FRAME-RECIPE-741.json", + "frames_only_output_sha": "e78047028c7dcd25fb1b6216c2b53eda76d2f91292b21d43f5d1903cc13a5c6c" + }, + "frames_741": [ + [ + 856, + [ + 272, + 144, + 64, + 8, + 6, + 1 + ] + ], + [ + 860, + [ + 256, + 128, + 65, + 16, + 9, + 6 + ] + ], + [ + 868, + [ + 256, + 144, + 81, + 33, + 9, + 6 + ] + ], + [ + 873, + [ + 320, + 192, + 32, + 16, + 6, + 1 + ] + ], + [ + 876, + [ + 273, + 144, + 64, + 33, + 9, + 6 + ] + ], + [ + 953, + [ + 265, + 137, + 73, + 32, + 25, + 6 + ] + ], + [ + 961, + [ + 265, + 128, + 64, + 41, + 16, + 6 + ] + ], + [ + 965, + [ + 257, + 128, + 73, + 40, + 17, + 6 + ] + ] + ], + "raises": [ + [ + 855, + [ + 280, + 128, + 64, + 40, + 6, + 1 + ] + ], + [ + 859, + [ + 256, + 129, + 65, + 40, + 25, + 6 + ] + ], + [ + 862, + [ + 280, + 144, + 80, + 56, + 6, + 1 + ] + ], + [ + 863, + [ + 272, + 136, + 80, + 56, + 6, + 1 + ] + ], + [ + 867, + [ + 256, + 136, + 64, + 41, + 16, + 6 + ] + ], + [ + 870, + [ + 256, + 200, + 40, + 16, + 6, + 1 + ] + ], + [ + 875, + [ + 272, + 144, + 80, + 49, + 8, + 6 + ] + ], + [ + 942, + [ + 256, + 136, + 72, + 33, + 25, + 6 + ] + ], + [ + 943, + [ + 320, + 193, + 33, + 16, + 9, + 6 + ] + ], + [ + 946, + [ + 256, + 129, + 64, + 41, + 16, + 6 + ] + ], + [ + 947, + [ + 273, + 128, + 81, + 33, + 9, + 6 + ] + ], + [ + 950, + [ + 257, + 193, + 33, + 16, + 9, + 6 + ] + ], + [ + 954, + [ + 272, + 129, + 80, + 49, + 8, + 6 + ] + ], + [ + 955, + [ + 256, + 128, + 64, + 33, + 17, + 6 + ] + ], + [ + 958, + [ + 257, + 128, + 81, + 33, + 9, + 6 + ] + ], + [ + 962, + [ + 273, + 128, + 64, + 33, + 8, + 6 + ] + ] + ], + "edits": { + "replace": [ + { + "h": 448, + "i": 862, + "old": [ + "add", + 140, + 448, + -1, + 2 + ], + "new": [ + "add", + 140, + 235, + -1, + 2 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 448, + "i": 1207, + "old": [ + "add", + 133, + 448, + -1, + 2 + ], + "new": [ + "add", + 133, + 235, + -1, + 2 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 448, + "i": 870, + "old": [ + "add", + 132, + 235, + -1, + 2 + ], + "new": [ + "add", + 132, + 448, + -1, + 2 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 448, + "i": 1199, + "old": [ + "add", + 141, + 235, + -1, + 2 + ], + "new": [ + "add", + 141, + 448, + -1, + 2 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 472, + "i": 855, + "old": [ + "add", + 173, + 472, + -1, + 2 + ], + "new": [ + "add", + 173, + 267, + -1, + 2 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 472, + "i": 1198, + "old": [ + "add", + 140, + 472, + -1, + 2 + ], + "new": [ + "add", + 140, + 267, + -1, + 2 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 472, + "i": 863, + "old": [ + "add", + 141, + 267, + -1, + 2 + ], + "new": [ + "add", + 141, + 472, + -1, + 2 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 472, + "i": 1190, + "old": [ + "add", + 172, + 267, + -1, + 2 + ], + "new": [ + "add", + 172, + 472, + -1, + 2 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 458, + "i": 942, + "old": [ + "add", + 204, + 458, + 1, + 1 + ], + "new": [ + "add", + 204, + 58, + 1, + 1 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 458, + "i": 1287, + "old": [ + "add", + 197, + 458, + 1, + 1 + ], + "new": [ + "add", + 197, + 58, + 1, + 1 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 458, + "i": 950, + "old": [ + "add", + 196, + 58, + 1, + 1 + ], + "new": [ + "add", + 196, + 458, + 1, + 1 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 458, + "i": 1279, + "old": [ + "add", + 205, + 58, + 1, + 1 + ], + "new": [ + "add", + 205, + 458, + 1, + 1 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 592, + "i": 859, + "old": [ + "add", + 174, + 592, + -1, + 2 + ], + "new": [ + "add", + 174, + 427, + -1, + 2 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 592, + "i": 1278, + "old": [ + "add", + 204, + 592, + -1, + 2 + ], + "new": [ + "add", + 204, + 427, + -1, + 2 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 592, + "i": 943, + "old": [ + "add", + 205, + 427, + -1, + 2 + ], + "new": [ + "add", + 205, + 592, + -1, + 2 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 592, + "i": 1194, + "old": [ + "add", + 170, + 427, + -1, + 2 + ], + "new": [ + "add", + 170, + 592, + -1, + 2 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 470, + "i": 946, + "old": [ + "add", + 202, + 470, + 1, + 1 + ], + "new": [ + "add", + 202, + 26, + 1, + 1 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 470, + "i": 1295, + "old": [ + "add", + 165, + 470, + 1, + 1 + ], + "new": [ + "add", + 165, + 26, + 1, + 1 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 470, + "i": 958, + "old": [ + "add", + 164, + 26, + 1, + 1 + ], + "new": [ + "add", + 164, + 470, + 1, + 1 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 470, + "i": 1283, + "old": [ + "add", + 206, + 26, + 1, + 1 + ], + "new": [ + "add", + 206, + 470, + 1, + 1 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 604, + "i": 867, + "old": [ + "add", + 142, + 604, + -1, + 2 + ], + "new": [ + "add", + 142, + 443, + -1, + 2 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 604, + "i": 1282, + "old": [ + "add", + 202, + 604, + -1, + 2 + ], + "new": [ + "add", + 202, + 443, + -1, + 2 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 604, + "i": 947, + "old": [ + "add", + 206, + 443, + -1, + 2 + ], + "new": [ + "add", + 206, + 604, + -1, + 2 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 604, + "i": 1202, + "old": [ + "add", + 138, + 443, + -1, + 2 + ], + "new": [ + "add", + 138, + 604, + -1, + 2 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 482, + "i": 954, + "old": [ + "add", + 194, + 482, + 1, + 1 + ], + "new": [ + "add", + 194, + 18, + 1, + 1 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 482, + "i": 1299, + "old": [ + "add", + 166, + 482, + 1, + 1 + ], + "new": [ + "add", + 166, + 18, + 1, + 1 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 482, + "i": 962, + "old": [ + "add", + 162, + 18, + 1, + 1 + ], + "new": [ + "add", + 162, + 482, + 1, + 1 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 482, + "i": 1291, + "old": [ + "add", + 198, + 18, + 1, + 1 + ], + "new": [ + "add", + 198, + 482, + 1, + 1 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 614, + "i": 875, + "old": [ + "add", + 134, + 614, + 1, + 1 + ], + "new": [ + "add", + 134, + 50, + 1, + 1 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 614, + "i": 1290, + "old": [ + "add", + 194, + 614, + 1, + 1 + ], + "new": [ + "add", + 194, + 50, + 1, + 1 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 614, + "i": 955, + "old": [ + "add", + 198, + 50, + 1, + 1 + ], + "new": [ + "add", + 198, + 614, + 1, + 1 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 614, + "i": 1210, + "old": [ + "add", + 130, + 50, + 1, + 1 + ], + "new": [ + "add", + 130, + 614, + 1, + 1 + ], + "why": "r2h: read of r -> read of h" + } + ], + "delete": [ + { + "h": 448, + "i": 1, + "old": [ + "add", + 140, + 448, + 1, + 2 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 448, + "i": 0, + "old": [ + "add", + 133, + 448, + 1, + 2 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 472, + "i": 33, + "old": [ + "add", + 173, + 472, + 1, + 2 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 472, + "i": 32, + "old": [ + "add", + 140, + 472, + 1, + 2 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 458, + "i": 21, + "old": [ + "add", + 204, + 458, + -1, + 1 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 458, + "i": 20, + "old": [ + "add", + 197, + 458, + -1, + 1 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 592, + "i": 64, + "old": [ + "add", + 174, + 592, + 1, + 2 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 592, + "i": 65, + "old": [ + "add", + 204, + 592, + 1, + 2 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 470, + "i": 29, + "old": [ + "add", + 202, + 470, + -1, + 1 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 470, + "i": 28, + "old": [ + "add", + 165, + 470, + -1, + 1 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 604, + "i": 72, + "old": [ + "add", + 142, + 604, + 1, + 2 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 604, + "i": 73, + "old": [ + "add", + 202, + 604, + 1, + 2 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 482, + "i": 37, + "old": [ + "add", + 194, + 482, + -1, + 1 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 482, + "i": 36, + "old": [ + "add", + 166, + 482, + -1, + 1 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 614, + "i": 95, + "old": [ + "add", + 134, + 614, + -1, + 1 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 614, + "i": 96, + "old": [ + "add", + 194, + 614, + -1, + 1 + ], + "why": "h2r: delete t pre-read of h" + } + ], + "insert": [ + { + "h": 448, + "before": 2, + "gate": [ + "add", + 132, + 448, + 1, + 2 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 448, + "before": 2, + "gate": [ + "add", + 141, + 448, + 1, + 2 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 472, + "before": 34, + "gate": [ + "add", + 141, + 472, + 1, + 2 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 472, + "before": 34, + "gate": [ + "add", + 172, + 472, + 1, + 2 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 458, + "before": 22, + "gate": [ + "add", + 196, + 458, + -1, + 1 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 458, + "before": 22, + "gate": [ + "add", + 205, + 458, + -1, + 1 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 592, + "before": 66, + "gate": [ + "add", + 205, + 592, + 1, + 2 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 592, + "before": 66, + "gate": [ + "add", + 170, + 592, + 1, + 2 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 470, + "before": 30, + "gate": [ + "add", + 164, + 470, + -1, + 1 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 470, + "before": 30, + "gate": [ + "add", + 206, + 470, + -1, + 1 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 604, + "before": 74, + "gate": [ + "add", + 206, + 604, + 1, + 2 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 604, + "before": 74, + "gate": [ + "add", + 138, + 604, + 1, + 2 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 482, + "before": 38, + "gate": [ + "add", + 162, + 482, + -1, + 1 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 482, + "before": 38, + "gate": [ + "add", + 198, + 482, + -1, + 1 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 614, + "before": 97, + "gate": [ + "add", + 198, + 614, + -1, + 1 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 614, + "before": 97, + "gate": [ + "add", + 130, + 614, + -1, + 1 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + } + ] + }, + "pairs": { + "448": 235, + "458": 58, + "470": 26, + "472": 267, + "482": 18, + "592": 427, + "604": 443, + "614": 50 + }, + "expected": { + "output_content_sha256": "1e1d99ba7aab877d6b573c41f7030ee73de9a52fee51d0a822ddaae71251999f", + "local_profile": { + "1": 2548, + "2": 338, + "3": 430, + "4": 194, + "5": 56, + "8": 8 + } + }, + "controls": { + "C0_identity": { + "mutation": { + "kind": "empty" + }, + "expected_sha": "d232183f233899961bf55cac67a18545ed33548d9a7ca7078990d1a83d557c59", + "local_profile": { + "1": 2548, + "2": 342, + "3": 438, + "4": 186, + "5": 56, + "8": 8 + } + }, + "C1_741_only": { + "mutation": { + "kind": "only_edits_of", + "h": [], + "raises": [] + }, + "expected_sha": "e78047028c7dcd25fb1b6216c2b53eda76d2f91292b21d43f5d1903cc13a5c6c", + "local_profile": { + "1": 2556, + "2": 334, + "3": 430, + "4": 194, + "5": 56, + "8": 8 + } + }, + "M1_one_pair_448": { + "mutation": { + "kind": "only_edits_of", + "h": [ + 448 + ], + "raises": [ + 862, + 870 + ] + }, + "expected_sha": "5fb6fb2e5e63d18b865535c1dbd3dbaddab530c39429a4b09f11ac96723257c9", + "local_profile": { + "1": 2556, + "2": 334, + "3": 430, + "4": 194, + "5": 56, + "8": 8 + } + }, + "N1_drop_preread": { + "mutation": { + "kind": "drop_insert", + "k": 0 + }, + "rejection_expected": [ + "exactness rows", + [ + 132, + 135 + ] + ] + }, + "N2_wrong_sign_preread": { + "mutation": { + "kind": "flip_insert_sign", + "k": 0 + }, + "rejection_expected": [ + "exactness rows", + [ + 132, + 135 + ] + ] + }, + "N3_plain_join_moved_reads": { + "mutation": { + "kind": "drop_raises" + }, + "expected_sha": "7241cd59dd0376e0b2e1b5ba8403c5423d247ddd7cbcc2f02bdc353752806f30", + "local_profile": { + "1": 2532, + "2": 378, + "3": 430, + "4": 178, + "5": 56, + "8": 8 + } + }, + "N4_raise_dim7_at_855": { + "mutation": { + "kind": "frame", + "i": 855, + "frame": [ + 280, + 128, + 64, + 40, + 4, + 2, + 1 + ] + }, + "rejection_expected": [ + "cap", + 1302, + 174 + ] + } + } +} \ No newline at end of file diff --git a/research/gauge44-slots-t16/construction/jx/build_jx.py b/research/gauge44-slots-t16/construction/jx/build_jx.py new file mode 100644 index 0000000000..f8d74a6324 --- /dev/null +++ b/research/gauge44-slots-t16/construction/jx/build_jx.py @@ -0,0 +1,167 @@ +#!/usr/bin/env python3 +"""build_jx.py --input WORD --recipe RECIPE.json --out OUT.json.gz [--control NAME] [--no-pin] + +Stdlib-only builder: joint read-set exchange (copy pairs, BRoute sw4 rule) + explicit B frame raises on P6k4sw4. +Steps: + 1. input content sha256 must equal recipe.input_content_sha256. + 2. explicit B edits: replace (old gate asserted), delete (old gate asserted), insert (before an original index). + 3. frames: replaced/inserted gates take the plain join of their operands' current frames; gates listed in + frames_741 / raises take base = the listed frame and the resulting frame must EQUAL it (explicit frames); + every other gate keeps span(stored frame + operand frames) (monotone repair). Early cleanup likewise. + 4. legality: target frames inside u_t^perp at every gate; tails inside helper_final; every end frame contains the + final frame; the explicit frame must contain the join (enforced by equality in 3). + 5. exactness: the rational linear map of the whole B segment is identical to the input's (Fraction replay). + 6. paid profile recomputed (A + centre levels + B + tails + ends) and written to report.local_profile. +Output: canonical json (sort_keys, compact) gzip mtime=0. Exit 0 and prints output sha; exit 2 with the first +rejection (site) on failure. --control applies a named mutation from recipe.controls (expected to be rejected +or to give a pinned sha).""" +import argparse, gzip, json, hashlib, sys, copy +from fractions import Fraction as Fr +from collections import Counter + +V, H = 112, 9 + +def basis(vs): + piv = {} + for a in vs: + while a: + b = a.bit_length() - 1 + if b in piv: a ^= piv[b] + else: piv[b] = a; break + for k in sorted(piv): + for j in sorted(piv): + if j > k and (piv[j] >> k) & 1: piv[j] ^= piv[k] + return tuple(piv[k] for k in sorted(piv, reverse=True)) + +def contained(a, b): return basis(list(a) + list(b)) == tuple(b) +def registers(e): return e[1:3] if e[0] == 'add' else e[1:2] +def hyper(p): return basis([x for x in range(1, 1 << H) if (x & p).bit_count() % 2 == 0]) +FULL = basis([1 << i for i in range(H)]) +def csha(w): return hashlib.sha256(json.dumps(w, sort_keys=True, separators=(',', ':')).encode()).hexdigest() + +class Reject(Exception): pass + +def symstate(gs): + rows = {} + for e in gs: + for q in registers(e): rows.setdefault(q, {q: Fr(1)}) + if e[0] == 'add': + t, s = e[1], e[2]; c = Fr(e[3], e[4]); d = rows[t] + for k, x in list(rows[s].items()): + a = d.get(k, 0) + c * x + if a: d[k] = a + else: d.pop(k, None) + else: + t = e[1]; c = Fr(e[2], e[3]); rows[t] = {k: c * x for k, x in rows[t].items()} + return rows + +def build(w, rc, control=None): + w = copy.deepcopy(w); B0 = w['B'] + edits = copy.deepcopy(rc['edits']); explicit = {int(i): f for i, f in rc['frames_741']} + for i, f in rc['raises']: + if int(i) in explicit: raise Reject(('duplicate frame', i)) + explicit[int(i)] = f + if control: + c = rc['controls'][control]['mutation'] + if c['kind'] == 'drop_insert': edits['insert'] = [x for k, x in enumerate(edits['insert']) if k != c['k']] + elif c['kind'] == 'flip_insert_sign': edits['insert'][c['k']]['gate'][3] *= -1 + elif c['kind'] == 'frame': explicit[c['i']] = c['frame'] + elif c['kind'] == 'drop_edits': edits = dict(replace=[], delete=[], insert=[]) + elif c['kind'] == 'drop_raises': explicit = {int(i): f for i, f in rc['frames_741']} + elif c['kind'] == 'only_edits_of': + hs = set(c['h']) + edits = {k: [x for x in v if x['h'] in hs] for k, v in edits.items()} + explicit = {i: f for i, f in explicit.items() if i in {int(j) for j, _ in rc['frames_741']} or i in set(c['raises'])} + elif c['kind'] == 'empty': edits = dict(replace=[], delete=[], insert=[]); explicit = {} + else: raise SystemExit('unknown control') + B = [list(e) for e in B0]; tag = set(); dele = set(); ins = {} + for x in edits['replace']: + i = x['i'] + if B[i][:-1] != x['old']: raise Reject(('replace old mismatch', i)) + B[i] = list(x['new']) + [B[i][-1]]; tag.add(i) + for x in edits['delete']: + i = x['i'] + if B[i][:-1] != x['old']: raise Reject(('delete old mismatch', i)) + dele.add(i) + for x in edits['insert']: ins.setdefault(x['before'], []).append(list(x['gate']) + [None]) + NB, nt, key = [], set(), [] + for i, e in enumerate(B): + for g in ins.get(i, []): nt.add(len(NB)); NB.append(g); key.append(None) + if i in dele: continue + if i in tag: nt.add(len(NB)) + NB.append(e); key.append(i) + # frames + paid + R = w['report']['R']; n = 2 * V + R + END = [FULL] * V + [hyper(p) for p in w['ports']] + [FULL] * R + for q, U in w['helper_final'].items(): END[int(q)] = basis(U) + cur = [(p,) for p in w['ports']] + [()] * (V + R) + for q, U in w['start_extra'].items(): cur[int(q)] = basis(U) + paid = Counter() + for e in w['A']: + for q in registers(e): + U = basis(e[-1]); d = len(U) - len(cur[q]) + if d: paid[d] += 1 + cur[q] = U + lev = {int(t): basis(U) for t, U in w.get('target_levels', {}).items()} + for q, U in zip(w['centers'], w['center_frames']): + U = basis(U); served = {lev.get(e[1] - V, ()) for e in w['cut'] if e[2] == q} + for T in sorted(served, key=lambda x: -len(x)): + if T != U: paid[len(U) - len(T)] += 1 + U = T + used = set() + for j, e in enumerate(NB): + rs = registers(e); k = key[j] + if k is not None and k in explicit: base = list(explicit[k]); used.add(k) + elif j in nt or e[-1] is None: base = [] + else: base = list(e[-1]) + F = basis(base + [x for q in rs for x in cur[q]]) + if k is not None and k in explicit and F != basis(explicit[k]): raise Reject(('explicit frame below join', k)) + for q in rs: + if V <= q < 2 * V and not contained(F, END[q]): raise Reject(('cap', j, q)) + d = len(F) - len(cur[q]) + if d: paid[d] += 1 + cur[q] = F + NB[j] = list(e[:-1]) + [list(F)] + if used != set(explicit): raise Reject(('unused explicit frame', sorted(set(explicit) - used))) + newearly = [] + for i, U in w['early_cleanup']: + rs = registers(w['cleanup'][i]); F = basis(list(U) + [x for q in rs for x in cur[q]]) + for q in rs: + if w['helper_final'].get(str(q)) is not None and not contained(F, END[q]): raise Reject(('tailend', i, q)) + d = len(F) - len(cur[q]) + if d: paid[d] += 1 + cur[q] = F + newearly.append([i, list(F)]) + for q in range(n): + if not contained(cur[q], END[q]): raise Reject(('end', q)) + d = len(END[q]) - len(cur[q]) + if d: paid[d] += 1 + # exactness of the B segment + a, b = symstate([e[:-1] for e in B0]), symstate([e[:-1] for e in NB]) + bad = sorted(q for q in set(a) | set(b) if a.get(q, {q: Fr(1)}) != b.get(q, {q: Fr(1)})) + if bad: raise Reject(('exactness rows', bad)) + w['B'] = NB; w['early_cleanup'] = newearly + w['report'] = dict(w['report']); w['report']['local_profile'] = {str(k): v for k, v in sorted(paid.items())} + return w + +def main(): + ap = argparse.ArgumentParser(); ap.add_argument('--input', required=True); ap.add_argument('--recipe', required=True) + ap.add_argument('--out'); ap.add_argument('--control'); ap.add_argument('--no-pin', action='store_true') + a = ap.parse_args() + w = json.loads(gzip.decompress(open(a.input, 'rb').read())); rc = json.load(open(a.recipe)) + if csha(w) != rc['input_content_sha256']: print('REJECT input pin'); sys.exit(2) + pin = rc['controls'][a.control].get('rejection_expected') if a.control else None + try: o = build(w, rc, a.control) + except Reject as r: + got = json.loads(json.dumps(r.args[0])); print('REJECT', json.dumps(got)) + if pin is not None: + print('CONTROL', 'PINNED' if got == pin else 'PIN MISMATCH %s' % json.dumps(pin)); sys.exit(0 if got == pin else 4) + sys.exit(2) + if pin is not None and not a.no_pin: print('CONTROL NOT REJECTED, pinned', json.dumps(pin)); sys.exit(4) + s = csha(o) + exp = rc['controls'][a.control].get('expected_sha') if a.control else rc['expected']['output_content_sha256'] + print('OK', s, o['report']['local_profile']) + if a.out: open(a.out, 'wb').write(gzip.compress(json.dumps(o, sort_keys=True, separators=(',', ':')).encode(), mtime=0)) + if not a.no_pin and exp and s != exp: print('REJECT output pin', exp); sys.exit(3) + +if __name__ == '__main__': main() diff --git a/research/gauge44-slots-t16/construction/jx/reproduce_jx.py b/research/gauge44-slots-t16/construction/jx/reproduce_jx.py new file mode 100644 index 0000000000..6829a1b25d --- /dev/null +++ b/research/gauge44-slots-t16/construction/jx/reproduce_jx.py @@ -0,0 +1,99 @@ +#!/usr/bin/env python3 +"""Rebuild the X4 word (JointXF: joint read-set exchange on four further copy-pair instances plus explicit B frame +raises, including chafreaky's PR741 eight frames) and its native locals. + +Input: a fresh `construction/sw4/reproduce_sw4.py --recipe P6k4` output directory; its SW4 word (d232183f...) is pinned +there and by RECIPE-X4.json. Steps, each checked exactly: + 1. jx: build_jx.py (standard library only; JointXF) applies the recipe's explicit B edits (replace / delete / insert, + each old gate asserted), the PR741 frames and the explicit raises, repairs all other frames monotonically, checks + target frames inside u_t^perp, tails and ends, and the exactness of the whole B segment (rational replay), and + pins the output sha. + 2. jx-controls: every control in the recipe is rebuilt and must reproduce its pinned outcome exactly: a pinned + rejection site (exit 0 with CONTROL PINNED) or a pinned output sha. C1_741_only must reproduce PR741's word + e78047028c... (the construction/frames step's output); C0_identity reproduces the input. + 3. layer-end-controls: ../layers_p6n/layer_end_controls.py (per-end variant) on the X4 word; count pinned. + 4. native, ledgers, local-replay, wrappers, phases: PR635's native local programs; canonical word, local programs + and Clifford recipes pinned (LOCAL-PINS-jx-X4.json). +Apache-2.0. Driver by ColdWitness around JointXF's builder. +""" +import argparse, gzip, hashlib, json, os, subprocess, sys, time +from pathlib import Path + +HERE = Path(__file__).resolve().parent +P6 = HERE.parent / 'layers_p6n' + + +def read(p): + raw = Path(p).read_bytes() + return json.loads(gzip.decompress(raw) if str(p).endswith('.gz') else raw) + + +def main(): + assert __debug__, 'Assertions are required' + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--main', type=Path, required=True) + ap.add_argument('--pr635', type=Path, required=True) + ap.add_argument('--sw4-dir', type=Path, required=True, help='construction/sw4/reproduce_sw4.py output') + ap.add_argument('--recipe', default='X4', help='RECIPE-.json and LOCAL-PINS-jx-.json') + ap.add_argument('--out', type=Path, required=True) + ap.add_argument('--skip-phases', action='store_true') + a = ap.parse_args() + out = a.out.resolve(); assert not out.exists(); out.mkdir(parents=True) + up = a.pr635.resolve() / 'research/complex-571-cold14-st2' + src = a.main.resolve() / 'research/complex-k492-owner-repair/vendor/multicold' + base = src / 'vendor/pr558'; parent = base / 'vendor/pr552' + rfile = HERE / ('RECIPE-%s.json' % a.recipe); rec = read(rfile); pins = read(HERE / ('LOCAL-PINS-jx-%s.json' % a.recipe)) + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONUTF8='1', PYTHONINTMAXSTRDIGITS='0', + MULTICOLD_SOURCE=str(src), GAIN_PR564_SOURCE=str(src)) + for k in ('PYTHONOPTIMIZE', 'XPARAM', 'EXTRAH', 'PAIRING_RANKS', 'DIAG', 'HYBBUDGET', 'PR635_CODE'): env.pop(k, None) + steps = [] + + def run(label, script, *args, portable=True, ok=(0,)): + t = time.monotonic() + cmd = [sys.executable, '-B'] + ([str(src / 'code/run_portable.py')] if portable else []) + [str(script), *map(str, args)] + with (out / (label + '.log')).open('w') as f: + rc = subprocess.call(cmd, env=env, stdout=f, stderr=subprocess.STDOUT) + steps.append(dict(step=label, exit_code=rc, seconds=round(time.monotonic() - t, 3))) + (out / 'STEPS.json').write_text(json.dumps(steps, indent=2) + '\n') + assert rc in ok, (label, rc) + print('PASS', label, flush=True) + return (out / (label + '.log')).read_text() + + inp = a.sw4_dir.resolve() / 'sw4/FULL-WORD.json.gz' + assert hashlib.sha256(gzip.decompress(inp.read_bytes())).hexdigest() == rec['input_content_sha256'], 'input must be the pinned SW4 word' + (out / 'jx').mkdir(); word = out / 'jx/FULL-WORD.json.gz' + run('jx', HERE / 'build_jx.py', '--input', inp, '--recipe', rfile, '--out', word, portable=False) + assert hashlib.sha256(gzip.decompress(word.read_bytes())).hexdigest() == rec['expected']['output_content_sha256'] + assert len(rec['controls']) == pins['jx_controls'], len(rec['controls']) + results = {} + for name, c in sorted(rec['controls'].items()): + log = run('jx-control-' + name, HERE / 'build_jx.py', '--input', inp, '--recipe', rfile, '--control', name, portable=False) + if 'rejection_expected' in c: + assert 'CONTROL PINNED' in log, (name, log[-300:]); results[name] = dict(rejected=c['rejection_expected']) + else: + assert ('OK ' + c['expected_sha']) in log, (name, log[-300:]); results[name] = dict(sha=c['expected_sha']) + assert rec['controls']['C1_741_only']['expected_sha'] == rec['frames_741_source']['frames_only_output_sha'] + (out / 'JX-CONTROLS.json').write_text(json.dumps(dict(status='PASS_JX_PINNED_CONTROLS', controls=results), indent=1) + '\n') + routing = parent / 'complex-local/inputs/phase-baseline/CANONICAL-WORD.json.gz' + env['PR635_CODE'] = str(up / 'code') + run('layer-end-controls', P6 / 'layer_end_controls.py', word, routing, out / 'controls') + env.pop('PR635_CODE') + ctl = read(out / 'controls/COLD-END-CONTROLS.json') + assert ctl['status'] == 'PASS_COLD_END_RAW_WORD_CONTROLS' and len(ctl['rejected']) == pins['layer_controls'], len(ctl['rejected']) + local = out / 'local' + run('native', up / 'code/hpe_audit_and_transport.py', '--raw', word, '--routing', routing, '--out', local) + assert hashlib.sha256(gzip.decompress((local / 'CANONICAL-WORD.json.gz').read_bytes())).hexdigest() == pins['canonical_sha256'], 'canonical word' + run('ledgers', up / 'code/hpe_emit_local.py', local) + run('local-replay', up / 'code/hpe_audit_local.py', local) + run('wrappers', up / 'code/hpe_adapters_local.py', local / 'CANONICAL-WORD.json.gz', + local / 'RESIDUAL-ADAPTERS.json', local / 'WRAPPER-CHECKS.json') + checks = read(local / 'LOCAL-CHECKS.json') + for o, s in pins['program_sha256'].items(): assert checks[o]['sha256'] == s, ('local program', o) + if not a.skip_phases: + run('phases', base / 'code/phases_full.py', local, parent / 'complex-global/vendor531/vendor/clifford') + assert hashlib.sha256((local / 'CLIFFORD-RECIPES.json').read_bytes()).hexdigest() == pins['clifford_recipes_sha256'], 'clifford recipes' + print('DONE', local, flush=True) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-slots-t16/construction/layers/build_pivot_swap.py b/research/gauge44-slots-t16/construction/layers/build_pivot_swap.py new file mode 100644 index 0000000000..b225601c01 --- /dev/null +++ b/research/gauge44-slots-t16/construction/layers/build_pivot_swap.py @@ -0,0 +1,160 @@ +"""Cost-neutral pivot-role swaps inside existing entrance-kernel families. Apache-2.0. Prepared with Claude Code +assistance. The pivot/donor role exchange follows PR266's "pivot role is moved" idea (bit side), applied here to the +complex supplier's multicut kernel families (PR568 build_multicut_kernels.py shape). + +A kernel family on the input word is an entering helper p (start_extra E) together with the gates that read p at frame +E before any other touch of p: d += c_d * p @E (d a helper or, in B, a target). They cancel p's complete dirty +response: col(p) + sum_d c_d * col_{g_d}(d) = 0, where col_{g}(d) is d's suffix response from gate g on. + +Swap to the new pivot x (a helper donor of the family with exactly one family gate g_x = x's FIRST touch, and no other +touch of x up to the family's last gate): + g_x : x += c_x p -> p += (1/c_x) x + g_d : d += c_d p -> d += (c_d/c_x) x (d != x, same position and frame E) + start_extra: p -> x (same E); cleanup regenerated by the inherited inverse rule. +Exactness (PROOF-NOTE-PIVOT.md): x holds only its initial dirt at every rewritten gate, and p holds only its initial dirt +until g_x, so x's new response is col(x) + col(p)/c_x + sum_d (c_d/c_x) col_{g_d}(d) = (c_x col(x) + col(p) + +sum_d c_d col_{g_d}(d)) / c_x = 0, because col(x) = col_{g_x}(x). This script checks it by exact rational replay anyway. +Cost: the frame chains of p and x are exchanged (p now climbs [] -> E at g_x where x did; x starts at E where p did), so +gk_word.profile and the width multiset are unchanged; both are asserted. + +Recipe: {input_content_sha256, output_content_sha256, swaps: [{pivot, new_pivot, entrance, gates: [{part, index, +before, after}]}]}. Every expected `after` gate is recomputed from the rule above and must equal the recipe. + +Negative controls (--controls): mutated recipes/words that must be rejected at pinned reasons: + * nonzero response: another family gate's rescaled coefficient has the wrong sign; + * wrong pivot coefficient: g_x's new coefficient doubled; + * wrong entrance: the recipe's entrance is not p's start_extra; + * non-family gate: a recipe gate whose `before` is not the word's gate; + * new pivot touched in the window: x replaced by a family donor that is not a fresh helper (a target donor, or the + first other helper donor when the family has no target donor). +""" +from pathlib import Path +from collections import Counter +from fractions import Fraction as Q +import argparse, copy, gzip, hashlib, json, sys +assert __debug__, 'Assertions required' +ap = argparse.ArgumentParser() +for k in ('--input', '--recipe', '--gk-dir', '--out'): ap.add_argument(k, type=Path, required=True) +a = ap.parse_args(); assert not a.out.exists() +sys.path.insert(0, str(a.gk_dir)); import gk_word as G, gk_common as C +G.V = C.V = 112; G.DATA = C.DATA = 7168 +V = 112 +raw = json.loads(gzip.decompress(a.input.read_bytes())); recipe = json.loads(a.recipe.read_text()) +enc = lambda x: json.dumps(x, sort_keys=True, separators=(',', ':')).encode(); sha = lambda x: hashlib.sha256(x).hexdigest() +regs = lambda e: [e[1]] + ([e[2]] if e[0] == 'add' else []) +inv_rule = lambda w: [G.inverse(e, G.FULL) for e in reversed(w['A'] + w['B']) if not V <= e[1] < 2 * V] +dy = lambda q: q != 0 and q.denominator & (q.denominator - 1) == 0 + + +def response(w, h): + rows = {} + def get(r): return rows.setdefault(r, {r: Q(1)}) + for e in w['A'] + w['cut'] + w['B']: + if e[0] == 'scale': + q = Q(e[2], e[3]); rows[e[1]] = {j: q * x for j, x in get(e[1]).items()} + else: + t, s = e[1], e[2]; q = Q(e[3], e[4]); src = get(s); tgt = get(t) + for j, x in list(src.items()): + z = tgt.get(j, Q(0)) + q * x + if z: tgt[j] = z + else: tgt.pop(j, None) + return {r: rows[r][h] for r in range(V, 2 * V) if r in rows and rows[r].get(h)} + + +def build(w0, rec): + w = copy.deepcopy(w0); n = 2 * V + w['report']['R'] + assert w['cleanup'] == inv_rule(w), 'input cleanup is not the inherited inverse rule' + P0 = G.profile(w); W0 = Counter(C.widths_of(w)) + AB = [('A', i) for i in range(len(w['A']))] + [('B', i) for i in range(len(w['B']))] + pos = {k: j for j, k in enumerate(AB)} + seen = set(); receipts = []; rules = [] + for s in rec['swaps']: + p, x, E = s['pivot'], s['new_pivot'], s['entrance'] + assert 2 * V <= p < n and w['start_extra'].get(str(p)) == E, 'pivot is not an entering helper at the entrance' + assert 2 * V <= x < n and x not in w['centers'], 'new pivot must be a helper' + assert str(x) not in w['start_extra'], 'new pivot already entering' + assert not {p, x} & seen, 'registers shared between swaps'; seen |= {p, x} + gs = s['gates']; ks = [pos[(g['part'], g['index'])] for g in gs] + assert ks == sorted(ks) and len(set(ks)) == len(ks) + for g in gs: + e = w[g['part']][g['index']] + assert e == g['before'], 'recipe gate is not the word gate' + assert e[0] == 'add' and e[2] == p and e[1] != p and list(e[-1]) == list(E), 'not a family gate (d += c p @E)' + touch = lambda r: [j for j, (part, i) in enumerate(AB) if r in regs(w[part][i])] + tp = touch(p); assert tp[:len(ks)] == ks, 'family gates must be all touches of the pivot up to its first other touch' + gx = [k for k, g in zip(ks, gs) if g['before'][1] == x]; assert len(gx) == 1, 'new pivot must have exactly one family gate' + tx = touch(x); assert tx[0] == gx[0], 'new pivot touched before its family gate' + assert len(tx) == 1 or tx[1] > ks[-1], 'new pivot touched inside the family window' + cx = Q(*[g['before'][3:5] for g in gs if g['before'][1] == x][0]) + for g in gs: + d, f = g['before'][1], g['after'] + assert f[0] == 'add' and list(f[-1]) == list(E) and (f[1:3] == [p, x] if d == x else f[1:3] == [d, x]), 'after-gate shape' + assert dy(Q(f[3], f[4])), 'non-dyadic swapped coefficient' + w[g['part']][g['index']] = f + q = 1 / cx if d == x else Q(g['before'][3], g['before'][4]) / cx + rules.append((f, ['add', p, x, q.numerator, q.denominator, list(E)] if d == x else ['add', d, x, q.numerator, q.denominator, list(E)])) + w['start_extra'][str(x)] = w['start_extra'].pop(str(p)) + receipts.append(dict(pivot=p, new_pivot=x, entrance=E, family_gates=len(gs))) + w['cleanup'] = inv_rule(w) + for s in rec['swaps']: + assert not response(w, s['new_pivot']), 'new pivot dirty response not zero' + assert all(f == e for f, e in rules), 'recipe after-gate is not the swap rule' + P1 = G.profile(w) + assert P1 == P0, 'paid profile not identical (swap is not cost-neutral)' + assert Counter(C.widths_of(w)) == W0, 'width multiset changed' + w['report']['local_profile'] = {str(k): v for k, v in sorted(P1.items())} + w['report']['local_rank_mass'] = sum(k * v for k, v in P1.items()) + return w, receipts + + +assert sha(enc(raw)) == recipe['input_content_sha256'], 'input content' +out, receipts = build(raw, recipe) +o = enc(out); assert sha(o) == recipe['output_content_sha256'], sha(o) + +# ---- negative controls ------------------------------------------------------------------------------------------- +WHY = dict(nonzero='new pivot dirty response not zero', coef='new pivot dirty response not zero', + entrance='paid profile not identical', nonfamily='recipe gate is not the word gate', + window='new pivot') +controls = [] + + +def reject(name, mut, why): + r = copy.deepcopy(recipe); w = copy.deepcopy(raw) + mut(r, w) + try: + build(w, r) + except AssertionError as ex: + msg = str(ex) + assert why in msg, ('control rejected for the wrong reason', name, msg) + controls.append(dict(control=name, reason=msg)); return + raise AssertionError('control accepted: ' + name) + + +for si, s in enumerate(recipe['swaps']): + x = s['new_pivot']; tag = '%d->%d' % (s['pivot'], x) + def m_other(r, w, si=si): + g = [g for g in r['swaps'][si]['gates'] if g['before'][1] != r['swaps'][si]['new_pivot']][0] + g['after'] = list(g['after']); g['after'][3] = -g['after'][3] + def m_coef(r, w, si=si): + g = [g for g in r['swaps'][si]['gates'] if g['before'][1] == r['swaps'][si]['new_pivot']][0] + g['after'] = list(g['after']); g['after'][3] *= 2 + def m_nonfamily(r, w, si=si): + g = r['swaps'][si]['gates'][0]; g['before'] = list(g['before']); g['before'][3] = -g['before'][3] + def m_window(r, w, si=si): + S = r['swaps'][si]; S['new_pivot'] = [g['before'][1] for g in S['gates'] if g['before'][1] != S['new_pivot']][0] + def m_entrance(r, w, si=si): + S = r['swaps'][si]; S['entrance'] = [1] + reject('swap %s: another family gate keeps a wrong (unrescaled-sign) coefficient: new pivot response nonzero' % tag, m_other, WHY['nonzero']) + reject('swap %s: wrong pivot coefficient (1/c doubled) on the new pivot gate' % tag, m_coef, WHY['coef']) + reject('swap %s: non-family gate in the recipe' % tag, m_nonfamily, WHY['nonfamily']) + reject('swap %s: new pivot replaced by another family donor (not a fresh cold helper)' % tag, m_window, WHY['window']) + reject('swap %s: wrong entrance frame for the moved entrance' % tag, m_entrance, 'pivot is not an entering helper at the entrance') +controls_receipt = list(controls) + +a.out.mkdir(parents=True); (a.out / 'FULL-WORD.json.gz').write_bytes(gzip.compress(o, mtime=0)) +rc = dict(status='PASS_COST_NEUTRAL_PIVOT_SWAPS', input_content_sha256=recipe['input_content_sha256'], + output_content_sha256=recipe['output_content_sha256'], swaps=receipts, local_profile=out['report']['local_profile'], + negative_controls_rejected=controls_receipt, + scope='Exact family rewrite, exact zero dirty response of every new pivot, identical paid profile and widths, ' + 'regenerated inverse-rule cleanup. Native all-column audit, HPE/cold steps and global checks remain separate.') +(a.out / 'PIVOT-SWAP.json').write_text(json.dumps(rc, indent=2, sort_keys=True) + '\n', newline='\n'); print(json.dumps(rc, indent=2)) diff --git a/research/gauge44-slots-t16/construction/layers/layer_end_controls.py b/research/gauge44-slots-t16/construction/layers/layer_end_controls.py new file mode 100644 index 0000000000..317da36d95 --- /dev/null +++ b/research/gauge44-slots-t16/construction/layers/layer_end_controls.py @@ -0,0 +1,201 @@ +"""layer_end_controls.py LAYERED-WORD.json.gz ROUTING OUTDIR (env PR635_CODE): adapted PR635 cold_end_controls.py (LayerReviewer): raw-word negative controls for the cold low-frame ends and the +refactored cleanup accepted by hpe_audit_and_transport.py. Every mutation MUST be rejected (AssertionError); the +unmutated word MUST pass. Apache-2.0. DreamingOfClouds with Claude Opus 5.5 (Anthropic), via Claude Code.""" +import copy, gzip, json, shutil, sys, tempfile +from pathlib import Path +import os +sys.path.insert(0, os.environ['PR635_CODE']) # PR635's unchanged hpe_audit_and_transport.py +import hpe_audit_and_transport as atc + +src, routing, outdir = Path(sys.argv[1]), Path(sys.argv[2]), Path(sys.argv[3]) +word = json.load(gzip.open(src)) +v, R = word['report']['v'], word['report']['R']; n = 2*v + R +regs = lambda e: [e[1]] + ([e[2]] if e[0] == 'add' else []) +meta = word['refactored_cleanup'] +cold = [int(h) for h in meta['cold_low_frame_ended_helpers']] +npre = meta['premix_gates']; nlow = meta['lower_frame_gates'] +early = word['early_cleanup']; eidx = {i for i, _ in early} +rest = [i for i in range(len(word['cleanup'])) if i not in eidx] + + +def trial(w): + """None if the transport audit accepts w, else the AssertionError message.""" + tmp = Path(tempfile.mkdtemp()) + p = tmp/'w.json.gz'; p.write_bytes(gzip.compress(json.dumps(w).encode(), mtime=0)) + try: + atc.run(p, routing, tmp/'out') + return None + except AssertionError as e: + return repr(e.args[0]) if e.args else 'AssertionError' + finally: + shutil.rmtree(tmp, ignore_errors=True) + + +# Pinned rejection reasons: each mutant must fail at this assertion of hpe_audit_and_transport.py (message substring). +ENDPOINT, COLDPRE, CONE = "'arbitrary-dirt endpoint'", 'touches a cold hyperplane-ended helper', 'hpe cone pre-check (row / column)' +WHY = dict(premix_to_precondition=COLDPRE, premix_dropped=COLDPRE, e_premix_dropped=ENDPOINT, lower_dropped=ENDPOINT, + remainder_dropped=ENDPOINT, coefficient=ENDPOINT, into_full='cleanup on non-FULL end', dyadic=ENDPOINT, frame_below="'nonmonotone'", + nonmonotone="'nonmonotone'", other_frame=CONE, cone=CONE, extra_end=COLDPRE, marker='cleanup is not the literal reversed inverse', + target='refactored cleanup touches a target', profile_pin='paid local profile differs from the reported local_profile', + entering_precondition='zero-frame precondition/compensation touches an entering helper') +assert trial(word) is None, 'unmutated cold-end word must pass' +results = [] + + +def reject(name, mut, why): + """the mutation must be rejected, and for the pinned reason (a substring of the audit's assertion message).""" + w = copy.deepcopy(word); mut(w) + msg = trial(w) + assert msg is not None, 'cold-end mutation accepted: ' + name + assert why in msg, 'cold-end mutation %r rejected for the wrong reason: %s' % (name, msg[:300]) + results.append(name); print('rejected', name, '|', why, flush=True) + + +h0 = cold[0] +i0, U0 = next((i, f) for i, f in early if h0 in regs(word['cleanup'][i])) +r0 = rest[len(rest)//2] + + +def premix_to_precondition(w): # premix before the wrappers; compensation then reads the cold ends + w['precondition'] = w['precondition'] + w['A'][:npre]; w['A'] = w['A'][npre:] + + +def lower_gate_into_full(w): # a lower-frame gate on a cold-ended helper executed in the FULL remainder instead + w['early_cleanup'] = [x for x in w['early_cleanup'] if x[0] != i0] + + +def drop_cleanup_gate(w, i): # remove the gate AND its early_cleanup entry: a structurally valid word missing one gate + w['cleanup'].pop(i) + w['early_cleanup'] = [[j - (j > i), f] for j, f in w['early_cleanup'] if j != i] + + +def other_frame(w): # a different frame of the same dimension as the cold end (another cold helper's) + f = next(w['helper_final'][str(h)] for h in cold if w['helper_final'][str(h)] != w['helper_final'][str(h0)]) + w['helper_final'][str(h0)] = f + + +def extra_cold_end(w): # declare a premixed partner of h0 cold-ended at h0's frame: fails the row/column cone + p = next(r for e in w['A'][:npre] for r in regs(e) if r != h0 and h0 in regs(e)) + w['helper_final'][str(p)] = w['helper_final'][str(h0)] + + +reject('premix placed in the zero-frame precondition (before the cold wrappers)', premix_to_precondition, WHY['premix_to_precondition']) +reject('one premix gate dropped (the compensation then reads a cold-ended helper)', lambda w: w['A'].pop(npre - 1), WHY['premix_dropped']) +reject('one lower-frame cleanup gate dropped (gate and its early_cleanup entry)', lambda w: drop_cleanup_gate(w, i0), WHY['lower_dropped']) +reject('one FULL-remainder gate dropped', lambda w: drop_cleanup_gate(w, r0), WHY['remainder_dropped']) +reject('lower-frame gate coefficient changed', lambda w: w['cleanup'][i0].__setitem__(3, w['cleanup'][i0][3] * 2), WHY['coefficient']) +reject('lower-frame gate moved into the FULL remainder (touches a cold-ended helper at FULL)', lower_gate_into_full, WHY['into_full']) +reject('lower-frame gate frame below its registers\' frames', lambda w: next(x for x in w['early_cleanup'] if x[0] == i0).__setitem__(1, U0[:-1]), WHY['frame_below']) +reject('cold end at another dim-4 frame', other_frame, WHY['other_frame']) +# PROFILE-PIN control: without its helper_final entry the cold-ended helper is a valid FULL-ended helper; the word is +# rejected because its reported paid profile (which counts the low end) no longer matches the frame chains. +reject('profile pin: cold end dropped (valid FULL end, but the reported profile counts the low end)', lambda w: w['helper_final'].pop(str(h0)), WHY['profile_pin']) +reject('extra cold end on a premixed partner (the compensation reads it before its wrapper)', extra_cold_end, WHY['extra_end']) +reject('refactored-cleanup marker removed (literal-inverse rule applies)', lambda w: w.pop('refactored_cleanup'), WHY['marker']) +reject('remainder gate retargeted to a target register', lambda w: w['cleanup'][r0].__setitem__(1, v + 3), WHY['target']) +reject('non-dyadic remainder coefficient', lambda w: w['cleanup'][r0].__setitem__(4 if w['cleanup'][r0][0] == 'add' else 3, 3 * w['cleanup'][r0][4 if w['cleanup'][r0][0] == 'add' else 3]), WHY['dyadic']) +reject('profile not updated (paid climbs misreported)', lambda w: w['report']['local_profile'].__setitem__('5', w['report']['local_profile']['5'] - 1), WHY['profile_pin']) +ent = [int(h) for h in sys.argv[4].split(',')] if len(sys.argv) > 4 else [int(h) for h in meta.get('entering_low_frame_ended_helpers', [])] +for e0 in ent: # ENTERING LOW-FRAME ENDS (ColdSupply extension; every entering end; absent for words without them) + j0 = next((i for i, e in enumerate(word['A'][:npre]) if e0 in regs(e)), None) + print('entering end', e0, 'premix gate', j0, flush=True) + k0, Ue = next((i, f) for i, f in early if e0 in regs(word['cleanup'][i])) + def to_pre(w, j0=j0): w['precondition'].append(w['A'][j0]); w['A'].pop(j0) + def other_hp(w, e0=e0, Ue=Ue): w['helper_final'][str(e0)] = next(f for h, f in w['helper_final'].items() if len(f) == len(Ue) and sorted(f) != sorted(Ue)) + if j0 is not None: reject('entering end %d: premix gate dropped' % e0, lambda w, j0=j0: w['A'].pop(j0), WHY['e_premix_dropped']) + if j0 is not None: reject('entering end %d: premix gate at frame [] instead of its entrance E' % e0, lambda w, j0=j0: w['A'][j0].__setitem__(-1, []), WHY['nonmonotone']) + if j0 is not None: reject('entering end %d: premix gate moved into the zero-frame precondition' % e0, to_pre, WHY['entering_precondition']) + reject('entering end %d: lower-frame gate dropped (gate and its early_cleanup entry)' % e0, lambda w, k0=k0: drop_cleanup_gate(w, k0), WHY['lower_dropped']) + reject('entering end %d: profile pin: end dropped (valid FULL end, but the reported profile counts the low end)' % e0, lambda w, e0=e0: w['helper_final'].pop(str(e0)), WHY['profile_pin']) + reject('entering end %d: end at another hyperplane' % e0, other_hp, WHY['cone']) +# Pinned rejection reasons of the COLD-BEYOND mutants (substrings of hpe_audit_and_transport.py assertion messages). +MYWHY = dict(tw_precondition=COLDPRE, tw_dropped=COLDPRE, tw_coefficient=COLDPRE, tw_other_block=COLDPRE, + tw_entering='zero-frame compensation reads an entering helper', + ab_dropped=ENDPOINT, ab_coefficient=ENDPOINT, ab_early=ENDPOINT, ab_live=ENDPOINT, ab_centre=ENDPOINT, + ab_lower="'nonmonotone'", ab_higher="'nonmonotone'", + sh_dropped=ENDPOINT, sh_coefficient=ENDPOINT, rel_dropped=ENDPOINT, rel_coefficient=ENDPOINT, rel_live=ENDPOINT, + h8_other=CONE, h8_lower=ENDPOINT) +# COLD-BEYOND primitives (present only when the word carries them): frame-[] target writes in the premix (explicit +# post-wrapper compensation of an ended helper's dirt) and forward absorptions into dead registers. +nw = meta.get('premix_target_writes', 0) +if nw: + wi = [i for i in range(npre) if v <= word['A'][i][1] < 2*v] + assert len(wi) == nw + + def writes_to_precondition(w): # the target writes run before the cold wrappers (inside the zero-frame precondition) + g = [w['A'][i] for i in wi]; w['precondition'] = w['precondition'] + g + w['A'] = [e for i, e in enumerate(w['A']) if i not in set(wi)] + reject('premix target writes placed in the zero-frame precondition (before the cold wrappers)', writes_to_precondition, MYWHY['tw_precondition']) + reject('one premix target write dropped (compensation must read an ended helper)', lambda w: w['A'].pop(wi[0]), MYWHY['tw_dropped']) + reject('premix target write coefficient changed', lambda w: w['A'][wi[0]].__setitem__(3, w['A'][wi[0]][3] * 2), MYWHY['tw_coefficient']) + # (reading another register that carries the SAME weight of the ended helper's dirt is a valid variant, so the mutant reads + # the same factory slot of the next block, which carries none of it) + entering_regs = sorted(int(r) for r in word.get('start_extra', {})) + reject('premix target write reads an entering helper', lambda w: w['A'][wi[0]].__setitem__(2, entering_regs[0]), MYWHY['tw_entering']) + reject('premix target write reads a cold helper of another block', lambda w: w['A'][wi[0]].__setitem__(2, 2*v + (w['A'][wi[0]][2] - 2*v + 16) % 224), MYWHY['tw_other_block']) +ab = meta.get('forward_absorption_A_indices', []) +if any(len(word['helper_final'][str(h)]) == 8 for h in cold): + # with dim-8 cold ends, the centre-retargeted absorption first leaks an ended helper's dirt into the cut's targets + MYWHY['ab_centre'] = COLDPRE +if ab: + # the ColdBeyond U_b absorption (q += -1/2 g); ColdThird's extra absorptions have their own controls below + a0 = next(a for a in ab if word['A'][a][3] * 2 == -word['A'][a][4]); g0 = word['A'][a0] + + def absorption_moved_early(w): # absorbed before the absorbed register's last kernel write + e = w['A'].pop(a0); j = max(i for i in range(npre, a0) if g0[2] == w['A'][i][1] and w['A'][i][-1] == g0[-1]) + w['A'].insert(j, e) + + def absorption_into_live(w): # q += a g moved right after g's previous frame-mate gate, while q is still live + e = w['A'].pop(a0); j = max(i for i in range(npre, a0) if g0[1] in regs(w['A'][i])) + w['A'].insert(j, e) + reject('forward absorption dropped', lambda w: w['A'].pop(a0), MYWHY['ab_dropped']) + reject('forward absorption into a centre (a live register read by the cut)', lambda w: w['A'][a0].__setitem__(1, next(c for c in word['centers'] if c not in g0[1:3] and c not in cold)), MYWHY['ab_centre']) + reject('forward absorption coefficient changed', lambda w: w['A'][a0].__setitem__(3, w['A'][a0][3] * 2), MYWHY['ab_coefficient']) + reject('forward absorption placed before the absorbed register\'s last kernel write', absorption_moved_early, MYWHY['ab_early']) + reject('forward absorption placed while the absorbing register is still live', absorption_into_live, MYWHY['ab_live']) + reject('forward absorption at a lower frame than its registers', lambda w: w['A'][a0].__setitem__(-1, w['A'][a0][-1][:-1]), MYWHY['ab_lower']) + reject('forward absorption at a higher frame (FULL) than its registers', lambda w: w['A'][a0].__setitem__(-1, [256, 128, 64, 32, 16, 8, 4, 2, 1]), MYWHY['ab_higher']) +# COLD-THIRD primitives (present only when the word carries them): several absorptions after one input gate, dirt-release +# absorptions (a dead port takes a live helper's value so that a hyperplane unit's column has no dirt on it), and cold ends at +# a dim-8 frame with lifted partners. +hyper = [h for h in cold if len(word['helper_final'][str(h)]) == 8] +if hyper and ab: + sh = next(a for a, b in zip(ab, ab[1:]) if b == a + 1) # two absorptions sharing one input anchor + rel = next(a for a in ab if a - 1 not in ab and a + 1 not in ab and word['A'][a][2] in hyper and word['A'][a][3] * 2 != -word['A'][a][4]) + hh = hyper[0]; ih = next(i for i, f in early if hh in regs(word['cleanup'][i])) + reject('second absorption sharing an input anchor dropped', lambda w: w['A'].pop(sh + 1), MYWHY['sh_dropped']) + reject('shared-anchor absorption coefficient changed', lambda w: w['A'][sh + 1].__setitem__(3, w['A'][sh + 1][3] * 2), MYWHY['sh_coefficient']) + reject('dirt-release absorption dropped', lambda w: w['A'].pop(rel), MYWHY['rel_dropped']) + reject('dirt-release absorption coefficient changed', lambda w: w['A'][rel].__setitem__(3, w['A'][rel][3] * 2), MYWHY['rel_coefficient']) + jr = max(i for i in range(npre, rel) if word['A'][i][0] == 'add' and word['A'][i][2] == word['A'][rel][1]) + + def release_while_read(w): # the release runs before a kernel gate that still READS the port (port live) + e = w['A'].pop(rel); w['A'].insert(jr, e) + reject('dirt-release absorption moved before a kernel gate that still reads the port', release_while_read, MYWHY['rel_live']) +if hyper: + # dim-8 cold-end controls once PER DISTINCT dim-8 terminal frame (each family of dim-8 cold ends keeps its own controls) + fams = [] + for h in hyper: + if sorted(word['helper_final'][str(h)]) not in [sorted(word['helper_final'][str(x)]) for x in fams]: fams.append(h) + for hh in fams: + ih = next(i for i, f in early if hh in regs(word['cleanup'][i])) + Uh = word['helper_final'][str(hh)] + reject('dim-8 cold end %d (frame %s) at another dim-8 frame' % (hh, Uh), lambda w, hh=hh: w['helper_final'].__setitem__(str(hh), next(f for h, f in w['helper_final'].items() if len(f) == 8 and sorted(f) != sorted(w['helper_final'][str(hh)]))), MYWHY['h8_other']) + reject('dim-8 cold end %d (frame %s): one lower-frame gate dropped (gate and its early_cleanup entry)' % (hh, Uh), lambda w, ih=ih: drop_cleanup_gate(w, ih), MYWHY['h8_lower']) + reject('dim-8 cold end %d (frame %s): profile pin (end dropped)' % (hh, Uh), lambda w, hh=hh: w['helper_final'].pop(str(hh)), WHY['profile_pin']) +# FACTORED ACCUMULATOR (CarrierBypass; present only when the word carries one): a lower-frame tail gate a += x*g on two +# non-ended registers whose accumulator a is afterwards read by a dim-8 cold end's tail gate (h += y*a at its U). +ended_all = {int(h) for h in word['helper_final']} +tailg = [(i, word['cleanup'][i]) for i, _ in early] +accs = [] # EVERY factored accumulator gate (one per accumulator register a), each controlled on its own +for k, (i, e) in enumerate(tailg): + if e[0] == 'add' and e[1] not in ended_all and e[2] not in ended_all and len(next(f for j, f in early if j == i)) < 8: + if e[1] not in [word['cleanup'][j][1] for j in accs] and any(t[0] == 'add' and t[2] == e[1] and t[1] in hyper for _, t in tailg[k + 1:]): + accs.append(i) +for acc in accs: + a = word['cleanup'][acc][1] + reject('factored accumulator %d (gate %d) zeroed' % (a, acc), lambda w, acc=acc: w['cleanup'][acc].__setitem__(3, 0), ENDPOINT) + reject('factored accumulator %d (gate %d) coefficient doubled' % (a, acc), lambda w, acc=acc: w['cleanup'][acc].__setitem__(3, w['cleanup'][acc][3] * 2), ENDPOINT) +outdir.mkdir(parents=True, exist_ok=True) +(outdir/'COLD-END-CONTROLS.json').write_text(json.dumps(dict(status='PASS_COLD_END_RAW_WORD_CONTROLS', word=str(src), rejected=results), indent=1) + '\n') +print('PASS', len(results), 'cold-end raw-word mutations rejected') diff --git a/research/gauge44-slots-t16/construction/layers/reproduce_layers.py b/research/gauge44-slots-t16/construction/layers/reproduce_layers.py new file mode 100644 index 0000000000..ed517ba1dd --- /dev/null +++ b/research/gauge44-slots-t16/construction/layers/reproduce_layers.py @@ -0,0 +1,105 @@ +#!/usr/bin/env python3 +"""Rebuild the layered gauge44 word (pivot swaps + entering ends + factored dim-8 cold ends) and its native locals. + +Input: a fresh `construction/reproduce.py --until word` output directory (its regroup/ and cold44/ words are pinned +by reproduce.py itself). Steps, each checked exactly: + 1. pivot-swap: construction/layers/build_pivot_swap.py on regroup/FULL-WORD (six cost-neutral pivot-role swaps, + exact zero-response replay, unchanged profile and width multiset, 30 negative controls); + 2. hpe: the inherited jp8 hyperplane-end changes (HYPERPLANE-END-S6.json) applied with PR635's build_hpe.apply; + 3. cold44-exact: #645's build_gauge_cold44.py on the swapped HPE word; its 44 rank-four cold ends, premix and tail + must equal the unswapped cold44 construction's (the swaps touch no factory block); + 4. layers: PR635's unchanged build_cold_end.apply(HPE, COLD-LAYERS-RECIPE) - the cold44 recipe plus 8 entering ends + (560/561/572/573 at U24, 597/599/537/549 at U30) and 10 factored dim-8 cold ends; output sha pinned; + 5. layer-end-controls: raw-word negative controls on the layered word (PR635 cold_end_controls adapted by + LayerReviewer: lower->FULL pinned at 'cleanup on non-FULL end', entering ends from the recipe); 59 rejected; + 6. native, ledgers, local-replay, wrappers, phases: PR635's native local programs (as in reproduce.py). +""" +import argparse, gzip, hashlib, importlib.util, json, os, subprocess, sys, time +from pathlib import Path + +HERE = Path(__file__).resolve().parent +LAYERED_SHA = '0be48b1d8a6105059addf3f0d5e420c27ae3398b3a1186b6b11e9c4aa9e3f3d4' +LAYER_CONTROLS = 59 + + +def read(p): + raw = Path(p).read_bytes() + return json.loads(gzip.decompress(raw) if str(p).endswith('.gz') else raw) + + +def enc(x): return json.dumps(x, sort_keys=True, separators=(',', ':')).encode() + + +def load(name, path): + s = importlib.util.spec_from_file_location(name, path); m = importlib.util.module_from_spec(s); s.loader.exec_module(m); return m + + +def main(): + assert __debug__, 'Assertions are required' + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--main', type=Path, required=True) + ap.add_argument('--pr635', type=Path, required=True) + ap.add_argument('--word-dir', type=Path, required=True, help='construction/reproduce.py --until word output') + ap.add_argument('--out', type=Path, required=True) + ap.add_argument('--skip-phases', action='store_true') + a = ap.parse_args() + out = a.out.resolve(); assert not out.exists(); out.mkdir(parents=True) + up = a.pr635.resolve() / 'research/complex-571-cold14-st2' + src = a.main.resolve() / 'research/complex-k492-owner-repair/vendor/multicold' + base = src / 'vendor/pr558'; parent = base / 'vendor/pr552'; gk = parent / 'complex-local/static44/gk' + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONUTF8='1', PYTHONINTMAXSTRDIGITS='0', + MULTICOLD_SOURCE=str(src), GAIN_PR564_SOURCE=str(src)) + env.pop('PYTHONOPTIMIZE', None) + steps = [] + + def run(label, script, *args): + t = time.monotonic() + with (out / (label + '.log')).open('w') as f: + rc = subprocess.call([sys.executable, '-B', str(src / 'code/run_portable.py'), str(script), *map(str, args)], + env=env, stdout=f, stderr=subprocess.STDOUT) + steps.append(dict(step=label, exit_code=rc, seconds=round(time.monotonic() - t, 3))) + (out / 'STEPS.json').write_text(json.dumps(steps, indent=2) + '\n') + assert rc == 0, label + print('PASS', label, flush=True) + + wd = a.word_dir.resolve() + run('pivot-swap', HERE / 'build_pivot_swap.py', '--input', wd / 'regroup/FULL-WORD.json.gz', + '--recipe', HERE / 'PIVOT-SWAP-S6.json', '--gk-dir', gk, '--out', out / 'swap') + hpe = load('upstream_hpe', up / 'code/build_hpe.py') + w = hpe.apply(read(out / 'swap/FULL-WORD.json.gz'), read(HERE / 'HYPERPLANE-END-S6.json')['changes']) + (out / 'hpe').mkdir(); (out / 'hpe/FULL-WORD.json.gz').write_bytes(gzip.compress(enc(w), mtime=0)) + run('cold44-exact', HERE.parent / 'build_gauge_cold44.py', '--input', out / 'hpe/FULL-WORD.json.gz', + '--out', out / 'cold44', '--hamming', wd / 'hamming', '--upstream-package', up) + new, old = read(out / 'cold44/RECIPE.json.gz'), read(wd / 'cold44/RECIPE.json.gz') + # The swaps touch no factory block: the 44 ends, their premix and their low tails are identical; only the FULL + # inverse (rebuilt from the whole word) differs. + for key in ('premix', 'early_cleanup', 'cold_ends'): + assert new[key] == old[key], ('swapped cold44 differs from the pinned cold44 construction', key) + tail = len(new['early_cleanup']); assert new['cleanup'][:tail] == old['cleanup'][:tail], 'low tails' + bce = load('upstream_cold', up / 'code/build_cold_end.py') + layered = bce.apply(w, read(HERE / 'COLD-LAYERS-RECIPE.json.gz')) + raw = enc(layered); assert hashlib.sha256(raw).hexdigest() == LAYERED_SHA, 'layered word' + rep = layered['report'] + assert rep['local_profile'] == {'1': 2542, '2': 414, '3': 434, '4': 154, '5': 56, '8': 8}, rep['local_profile'] + assert rep['width_inventory'] == {'4': 52, '5': 48, '7': 42, '8': 116, '9': 234}, rep['width_inventory'] + (out / 'layers').mkdir(); word = out / 'layers/FULL-WORD.json.gz'; word.write_bytes(gzip.compress(raw, mtime=0)) + print('PASS layered scalar word', word, flush=True) + routing = parent / 'complex-local/inputs/phase-baseline/CANONICAL-WORD.json.gz' + env['PR635_CODE'] = str(up / 'code') + run('layer-end-controls', HERE / 'layer_end_controls.py', word, routing, out / 'controls') + ctl = json.loads((out / 'controls/COLD-END-CONTROLS.json').read_text()) + assert ctl['status'] == 'PASS_COLD_END_RAW_WORD_CONTROLS' and len(ctl['rejected']) == LAYER_CONTROLS, len(ctl['rejected']) + local = out / 'local' + run('native', up / 'code/hpe_audit_and_transport.py', '--raw', word, + '--routing', routing, '--out', local) + run('ledgers', up / 'code/hpe_emit_local.py', local) + run('local-replay', up / 'code/hpe_audit_local.py', local) + run('wrappers', up / 'code/hpe_adapters_local.py', local / 'CANONICAL-WORD.json.gz', + local / 'RESIDUAL-ADAPTERS.json', local / 'WRAPPER-CHECKS.json') + if not a.skip_phases: + run('phases', base / 'code/phases_full.py', local, parent / 'complex-global/vendor531/vendor/clifford') + print('DONE', local, flush=True) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-slots-t16/construction/layers_np/COLD-LAYERS-RECIPE-NP.json.gz b/research/gauge44-slots-t16/construction/layers_np/COLD-LAYERS-RECIPE-NP.json.gz new file mode 100644 index 0000000000..f9155e3079 Binary files /dev/null and b/research/gauge44-slots-t16/construction/layers_np/COLD-LAYERS-RECIPE-NP.json.gz differ diff --git a/research/gauge44-slots-t16/construction/layers_np/HPE-RECIPE-NP.json b/research/gauge44-slots-t16/construction/layers_np/HPE-RECIPE-NP.json new file mode 100644 index 0000000000..2605d199ed --- /dev/null +++ b/research/gauge44-slots-t16/construction/layers_np/HPE-RECIPE-NP.json @@ -0,0 +1 @@ +{"changes": [{"helper": 448, "cleanup_index": 674, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 449, "cleanup_index": 673, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 450, "cleanup_index": 672, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 451, "cleanup_index": 671, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 452, "cleanup_index": 670, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 453, "cleanup_index": 669, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 454, "cleanup_index": 668, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 455, "cleanup_index": 667, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 456, "cleanup_index": 666, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 457, "cleanup_index": 665, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 458, "cleanup_index": 664, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 459, "cleanup_index": 663, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 460, "cleanup_index": 658, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 461, "cleanup_index": 657, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 470, "cleanup_index": 648, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 471, "cleanup_index": 647, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 472, "cleanup_index": 642, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 473, "cleanup_index": 641, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 482, "cleanup_index": 632, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 483, "cleanup_index": 631, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 496, "cleanup_index": 609, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 497, "cleanup_index": 608, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 520, "cleanup_index": 573, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 521, "cleanup_index": 572, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 544, "cleanup_index": 539, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 545, "cleanup_index": 538, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 568, "cleanup_index": 507, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 569, "cleanup_index": 506, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 580, "cleanup_index": 491, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 581, "cleanup_index": 490, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 590, "cleanup_index": 481, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 591, "cleanup_index": 480, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 592, "cleanup_index": 475, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 593, "cleanup_index": 474, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 602, "cleanup_index": 465, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 603, "cleanup_index": 464, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 604, "cleanup_index": 459, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 605, "cleanup_index": 458, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 606, "cleanup_index": 457, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 607, "cleanup_index": 456, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 609, "cleanup_index": 454, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 611, "cleanup_index": 452, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 612, "cleanup_index": 451, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 613, "cleanup_index": 450, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 614, "cleanup_index": 449, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 615, "cleanup_index": 448, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}]} \ No newline at end of file diff --git a/research/gauge44-slots-t16/construction/layers_np/PIVOT-SWAP-NP.json b/research/gauge44-slots-t16/construction/layers_np/PIVOT-SWAP-NP.json new file mode 100644 index 0000000000..4e0d846426 --- /dev/null +++ b/research/gauge44-slots-t16/construction/layers_np/PIVOT-SWAP-NP.json @@ -0,0 +1,588 @@ +{ + "input_content_sha256": "864ff4a19987bcb27016367801a98ca50dae69eafe01d3614f8bae69f5713d6d", + "output_content_sha256": "beb3579fce83cb3b70f4e85761cbb3b8c91d711d4b9cf473074269b8447fc4e4", + "swaps": [ + { + "pivot": 494, + "new_pivot": 566, + "entrance": [ + 24 + ], + "gates": [ + { + "part": "B", + "index": 379, + "before": [ + "add", + 566, + 494, + -1, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 494, + 566, + -1, + 1, + [ + 24 + ] + ] + }, + { + "part": "B", + "index": 380, + "before": [ + "add", + 640, + 494, + 2, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 640, + 566, + -2, + 1, + [ + 24 + ] + ] + }, + { + "part": "B", + "index": 381, + "before": [ + "add", + 642, + 494, + -2, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 642, + 566, + 2, + 1, + [ + 24 + ] + ] + }, + { + "part": "B", + "index": 382, + "before": [ + "add", + 688, + 494, + 1, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 688, + 566, + -1, + 1, + [ + 24 + ] + ] + }, + { + "part": "B", + "index": 383, + "before": [ + "add", + 690, + 494, + -1, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 690, + 566, + 1, + 1, + [ + 24 + ] + ] + } + ] + }, + { + "pivot": 495, + "new_pivot": 567, + "entrance": [ + 24 + ], + "gates": [ + { + "part": "B", + "index": 516, + "before": [ + "add", + 123, + 495, + 1, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 123, + 567, + -1, + 1, + [ + 24 + ] + ] + }, + { + "part": "B", + "index": 584, + "before": [ + "add", + 187, + 495, + -1, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 187, + 567, + 1, + 1, + [ + 24 + ] + ] + }, + { + "part": "B", + "index": 686, + "before": [ + "add", + 567, + 495, + -1, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 495, + 567, + -1, + 1, + [ + 24 + ] + ] + } + ] + }, + { + "pivot": 506, + "new_pivot": 578, + "entrance": [ + 24 + ], + "gates": [ + { + "part": "B", + "index": 176, + "before": [ + "add", + 652, + 506, + 2, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 652, + 578, + -2, + 1, + [ + 24 + ] + ] + }, + { + "part": "B", + "index": 178, + "before": [ + "add", + 652, + 506, + -2, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 652, + 578, + 2, + 1, + [ + 24 + ] + ] + }, + { + "part": "B", + "index": 278, + "before": [ + "add", + 700, + 506, + -2, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 700, + 578, + 2, + 1, + [ + 24 + ] + ] + }, + { + "part": "B", + "index": 280, + "before": [ + "add", + 700, + 506, + 2, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 700, + 578, + -2, + 1, + [ + 24 + ] + ] + }, + { + "part": "B", + "index": 702, + "before": [ + "add", + 578, + 506, + -1, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 506, + 578, + -1, + 1, + [ + 24 + ] + ] + } + ] + }, + { + "pivot": 507, + "new_pivot": 579, + "entrance": [ + 24 + ], + "gates": [ + { + "part": "B", + "index": 93, + "before": [ + "add", + 211, + 507, + -1, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 211, + 579, + 1, + 1, + [ + 24 + ] + ] + }, + { + "part": "B", + "index": 541, + "before": [ + "add", + 147, + 507, + 1, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 147, + 579, + -1, + 1, + [ + 24 + ] + ] + }, + { + "part": "B", + "index": 704, + "before": [ + "add", + 579, + 507, + -1, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 507, + 579, + -1, + 1, + [ + 24 + ] + ] + } + ] + }, + { + "pivot": 519, + "new_pivot": 543, + "entrance": [ + 30 + ], + "gates": [ + { + "part": "B", + "index": 507, + "before": [ + "add", + 115, + 519, + -1, + 1, + [ + 30 + ] + ], + "after": [ + "add", + 115, + 543, + 1, + 1, + [ + 30 + ] + ] + }, + { + "part": "B", + "index": 575, + "before": [ + "add", + 179, + 519, + 1, + 1, + [ + 30 + ] + ], + "after": [ + "add", + 179, + 543, + -1, + 1, + [ + 30 + ] + ] + }, + { + "part": "B", + "index": 722, + "before": [ + "add", + 543, + 519, + -1, + 1, + [ + 30 + ] + ], + "after": [ + "add", + 519, + 543, + -1, + 1, + [ + 30 + ] + ] + } + ] + }, + { + "pivot": 531, + "new_pivot": 555, + "entrance": [ + 30 + ], + "gates": [ + { + "part": "B", + "index": 550, + "before": [ + "add", + 155, + 531, + -1, + 1, + [ + 30 + ] + ], + "after": [ + "add", + 155, + 555, + 1, + 1, + [ + 30 + ] + ] + }, + { + "part": "B", + "index": 617, + "before": [ + "add", + 219, + 531, + 1, + 1, + [ + 30 + ] + ], + "after": [ + "add", + 219, + 555, + -1, + 1, + [ + 30 + ] + ] + }, + { + "part": "B", + "index": 740, + "before": [ + "add", + 555, + 531, + -1, + 1, + [ + 30 + ] + ], + "after": [ + "add", + 531, + 555, + -1, + 1, + [ + 30 + ] + ] + } + ] + } + ] +} diff --git a/research/gauge44-slots-t16/construction/layers_np/reproduce_np.py b/research/gauge44-slots-t16/construction/layers_np/reproduce_np.py new file mode 100644 index 0000000000..79cb6fa912 --- /dev/null +++ b/research/gauge44-slots-t16/construction/layers_np/reproduce_np.py @@ -0,0 +1,149 @@ +#!/usr/bin/env python3 +"""Rebuild the layered no-triangle word (NP) and its native locals. + +Input: a fresh `construction/notri/reproduce_notri.py --word-only` output directory. That driver pins the +no-triangle word (3e99ba77...) and writes its regroup/ and cold44/ words. Steps, each checked exactly: + 1. pivot-swap: ../layers/build_pivot_swap.py (PR641's constructor, signed, unchanged) on the no-triangle regroup word, with PIVOT-SWAP-NP.json: + the six pivot-role swaps of research/gauge44-layered, mapped through the 504-helper map (494->566, 495->567, + 506->578, 507->579, 519->543, 531->555). Exact zero-response replay, unchanged profile and width multiset, + 30 negative controls. + 2. hpe: PR635's build_hpe.candidates, greedy with disjoint registers. Must equal HPE-RECIPE-NP.json (46 changes, + the same helpers as the unswapped word); applied with build_hpe.apply. + 3. cold44-exact: notri/cold44x.py on the swapped HPE word, pairing ranks pinned [4]*14. Its 56 cold ends, premix + and low tails must equal the unswapped no-triangle construction's. + 4. layers: PR635's unchanged build_cold_end.apply(HPE, COLD-LAYERS-RECIPE-NP): cold44 plus the entering ends + 566/567/578/579 at U24 (s4) and 608/610/543/555 at U30 (x30), BlockCombine's b6 and the q4 dim-8 cold ends. + The output word sha and its profile and widths are pinned. + 5. layer-end-controls: ../layers/layer_end_controls.py (LayerReviewer's signed adaptation of PR635's + cold_end_controls.py, unchanged) on the layered word; exactly 59 rejections at pinned reasons. +../layers/reproduce_layers.py is research/gauge44-layered's driver for the 492-helper word, shipped unchanged as +signed; it is not used for this word. + 6. native, ledgers, local-replay, wrappers, phases: PR635's native local programs, with pins. +Apache-2.0. Driver by ColdWitness after G44Stack's NP chain (NP/chain.py, seq.py). +""" +import argparse, gzip, hashlib, importlib.util, json, os, subprocess, sys, time +from pathlib import Path + +HERE = Path(__file__).resolve().parent +NOTRI = HERE.parent / 'notri' +LAYERS = HERE.parent / 'layers' # the signed research/gauge44-layered files, unchanged +REGROUP_SHA = '864ff4a1' # prefix; full value checked against PIVOT-SWAP-NP.json's input_content_sha256 +SWAP_SHA = 'beb3579f' +NP_SHA = 'a9de804f194eeb39f52a4c6e54c14d93e881bec4b632694249733ed410b58113' +LAYER_CONTROLS = 59 +CANONICAL_SHA = '1ae812a336178760071efe347e876e0102b5b71f799d957db15c5f3004c19d7a' +PROGRAM_SHA = {'forward': 'a3882a428bdafab888072211d4ed8d34572746873d77c6ef900495853cc3fa11', + 'backward': 'f67a3dc20c27fb39295b8030e951e9779109ef1537f6f8de9d08510b9ad6792a'} +CLIFFORD_SHA = '890b60fc4ae183c773c51405e0f4ef6a945dc2aae55ba2480f134602e8296cda' + + +def read(p): + raw = Path(p).read_bytes() + return json.loads(gzip.decompress(raw) if str(p).endswith('.gz') else raw) + + +def enc(x): return json.dumps(x, sort_keys=True, separators=(',', ':')).encode() + + +def dump(p, v): + p.parent.mkdir(parents=True, exist_ok=True); p.write_bytes(gzip.compress(enc(v), mtime=0)) + + +def load(name, path): + s = importlib.util.spec_from_file_location(name, path); m = importlib.util.module_from_spec(s); s.loader.exec_module(m); return m + + +def main(): + assert __debug__, 'Assertions are required' + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--main', type=Path, required=True) + ap.add_argument('--pr635', type=Path, required=True) + ap.add_argument('--notri-dir', type=Path, required=True, help='construction/notri/reproduce_notri.py --word-only output') + ap.add_argument('--hamming', type=Path, required=True, help='hamming/ of the construction/reproduce.py --until word output') + ap.add_argument('--out', type=Path, required=True) + ap.add_argument('--skip-phases', action='store_true') + a = ap.parse_args() + out = a.out.resolve(); assert not out.exists(); out.mkdir(parents=True) + up = a.pr635.resolve() / 'research/complex-571-cold14-st2' + src = a.main.resolve() / 'research/complex-k492-owner-repair/vendor/multicold' + base = src / 'vendor/pr558'; parent = base / 'vendor/pr552'; gk = parent / 'complex-local/static44/gk' + nd = a.notri_dir.resolve() + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONUTF8='1', PYTHONINTMAXSTRDIGITS='0', + MULTICOLD_SOURCE=str(src), GAIN_PR564_SOURCE=str(src)) + for k in ('PYTHONOPTIMIZE', 'XPARAM', 'EXTRAH', 'PAIRING_RANKS', 'DIAG', 'HYBBUDGET'): env.pop(k, None) + steps = [] + + def run(label, script, *args): + t = time.monotonic() + with (out / (label + '.log')).open('w') as f: + rc = subprocess.call([sys.executable, '-B', str(src / 'code/run_portable.py'), str(script), *map(str, args)], + env=env, stdout=f, stderr=subprocess.STDOUT) + steps.append(dict(step=label, exit_code=rc, seconds=round(time.monotonic() - t, 3))) + (out / 'STEPS.json').write_text(json.dumps(steps, indent=2) + '\n') + assert rc == 0, label + print('PASS', label, flush=True) + + # the input must be the pinned no-triangle construction + nr = load('notri_driver', NOTRI / 'reproduce_notri.py') + assert hashlib.sha256(enc(read(nd / 'cold44/FULL-WORD.json.gz'))).hexdigest() == nr.NOTRI_SHA, 'notri word' + # 1. pivot swaps on the regroup word + rg = hashlib.sha256(enc(read(nd / 'regroup/FULL-WORD.json.gz'))).hexdigest() + assert rg.startswith(REGROUP_SHA) and rg == read(HERE / 'PIVOT-SWAP-NP.json')['input_content_sha256'], ('regroup word', rg) + run('pivot-swap', LAYERS / 'build_pivot_swap.py', '--input', nd / 'regroup/FULL-WORD.json.gz', + '--recipe', HERE / 'PIVOT-SWAP-NP.json', '--gk-dir', gk, '--out', out / 'swap') + w = read(out / 'swap/FULL-WORD.json.gz') + sw = hashlib.sha256(enc(w)).hexdigest(); assert sw.startswith(SWAP_SHA) and sw == read(HERE / 'PIVOT-SWAP-NP.json')['output_content_sha256'], ('swap word', sw) + # 2. HPE (greedy, must equal the pinned recipe) + h = load('upstream_hpe', up / 'code/build_hpe.py') + used, ch = set(), [] + for c in h.candidates(w): + rs = set(h.regs(w['cleanup'][c['cleanup_index']])) + if rs & used: continue + used |= rs; ch.append(c) + assert ch == read(HERE / 'HPE-RECIPE-NP.json')['changes'], 'HPE recipe' + w = h.apply(w, ch); dump(out / 'hpe/FULL-WORD.json.gz', w) + # 3. cold44 on the swapped word: same ends, premix and tails as the unswapped no-triangle construction + hm = set(read(nd / 'raw/HELPER-MAP.json')['map'].values()) + env['EXTRAH'] = json.dumps(sorted(set(range(224, 224 + w['report']['R'])) - hm)) + env['PAIRING_RANKS'] = json.dumps([4] * 14) + run('cold44-exact', NOTRI / 'cold44x.py', '--input', out / 'hpe/FULL-WORD.json.gz', '--out', out / 'cold44', + '--hamming', a.hamming.resolve(), '--upstream-package', up) + for k in ('EXTRAH', 'PAIRING_RANKS'): env.pop(k) + new, old = read(out / 'cold44/RECIPE.json.gz'), read(nd / 'cold44/RECIPE.json.gz') + for key in ('premix', 'early_cleanup', 'cold_ends'): + assert new[key] == old[key], ('swapped cold44 differs from the pinned no-triangle construction', key) + tail = len(new['early_cleanup']); assert new['cleanup'][:tail] == old['cleanup'][:tail], 'low tails' + # 4. layers + bce = load('upstream_cold', up / 'code/build_cold_end.py') + layered = bce.apply(w, read(HERE / 'COLD-LAYERS-RECIPE-NP.json.gz')) + raw = enc(layered); assert hashlib.sha256(raw).hexdigest() == NP_SHA, ('layered word', hashlib.sha256(raw).hexdigest()) + rep = layered['report'] + assert rep['local_profile'] == {'1': 2534, '2': 346, '3': 458, '4': 178, '5': 56, '8': 8}, rep['local_profile'] + assert rep['width_inventory'] == {'4': 64, '5': 48, '7': 54, '8': 116, '9': 222}, rep['width_inventory'] + (out / 'layers').mkdir(); word = out / 'layers/FULL-WORD.json.gz'; word.write_bytes(gzip.compress(raw, mtime=0)) + print('PASS layered no-triangle word', NP_SHA, flush=True) + # 5. layer-end controls + routing = parent / 'complex-local/inputs/phase-baseline/CANONICAL-WORD.json.gz' + env['PR635_CODE'] = str(up / 'code') + run('layer-end-controls', LAYERS / 'layer_end_controls.py', word, routing, out / 'controls') + env.pop('PR635_CODE') + ctl = json.loads((out / 'controls/COLD-END-CONTROLS.json').read_text()) + assert ctl['status'] == 'PASS_COLD_END_RAW_WORD_CONTROLS' and len(ctl['rejected']) == LAYER_CONTROLS, len(ctl['rejected']) + # 6. native locals + local = out / 'local' + run('native', up / 'code/hpe_audit_and_transport.py', '--raw', word, '--routing', routing, '--out', local) + assert hashlib.sha256(gzip.decompress((local / 'CANONICAL-WORD.json.gz').read_bytes())).hexdigest() == CANONICAL_SHA, 'canonical word' + run('ledgers', up / 'code/hpe_emit_local.py', local) + run('local-replay', up / 'code/hpe_audit_local.py', local) + run('wrappers', up / 'code/hpe_adapters_local.py', local / 'CANONICAL-WORD.json.gz', + local / 'RESIDUAL-ADAPTERS.json', local / 'WRAPPER-CHECKS.json') + checks = read(local / 'LOCAL-CHECKS.json') + for o, s in PROGRAM_SHA.items(): assert checks[o]['sha256'] == s, ('local program', o) + if not a.skip_phases: + run('phases', base / 'code/phases_full.py', local, parent / 'complex-global/vendor531/vendor/clifford') + assert hashlib.sha256((local / 'CLIFFORD-RECIPES.json').read_bytes()).hexdigest() == CLIFFORD_SHA, 'clifford recipes' + print('DONE', local, flush=True) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-slots-t16/construction/layers_p6n/COLD-LAYERS-RECIPE-P6N.json.gz b/research/gauge44-slots-t16/construction/layers_p6n/COLD-LAYERS-RECIPE-P6N.json.gz new file mode 100644 index 0000000000..a408c95816 Binary files /dev/null and b/research/gauge44-slots-t16/construction/layers_p6n/COLD-LAYERS-RECIPE-P6N.json.gz differ diff --git a/research/gauge44-slots-t16/construction/layers_p6n/P6N-SPEC.json b/research/gauge44-slots-t16/construction/layers_p6n/P6N-SPEC.json new file mode 100644 index 0000000000..43c3ec265c --- /dev/null +++ b/research/gauge44-slots-t16/construction/layers_p6n/P6N-SPEC.json @@ -0,0 +1 @@ +{"ends":[{"U":[256,128,66,34,16,8,6,1],"labels":[512,513]},{"U":[256,128,72,40,24,4,2,1],"labels":[311,510]},{"U":[256,128,66,34,18,10,6,1],"labels":[522,327]}]} diff --git a/research/gauge44-slots-t16/construction/layers_p6n/layer_end_controls.py b/research/gauge44-slots-t16/construction/layers_p6n/layer_end_controls.py new file mode 100644 index 0000000000..dd321fe255 --- /dev/null +++ b/research/gauge44-slots-t16/construction/layers_p6n/layer_end_controls.py @@ -0,0 +1,199 @@ +"""layer_end_controls.py LAYERED-WORD.json.gz ROUTING OUTDIR (env PR635_CODE): adapted PR635 cold_end_controls.py (LayerReviewer): raw-word negative controls for the cold low-frame ends and the +refactored cleanup accepted by hpe_audit_and_transport.py. Every mutation MUST be rejected (AssertionError); the +unmutated word MUST pass. Apache-2.0. DreamingOfClouds with Claude Opus 5.5 (Anthropic), via Claude Code.""" +import copy, gzip, json, shutil, sys, tempfile +from pathlib import Path +import os +sys.path.insert(0, os.environ['PR635_CODE']) # PR635's unchanged hpe_audit_and_transport.py +import hpe_audit_and_transport as atc + +src, routing, outdir = Path(sys.argv[1]), Path(sys.argv[2]), Path(sys.argv[3]) +word = json.load(gzip.open(src)) +v, R = word['report']['v'], word['report']['R']; n = 2*v + R +regs = lambda e: [e[1]] + ([e[2]] if e[0] == 'add' else []) +meta = word['refactored_cleanup'] +cold = [int(h) for h in meta['cold_low_frame_ended_helpers']] +npre = meta['premix_gates']; nlow = meta['lower_frame_gates'] +early = word['early_cleanup']; eidx = {i for i, _ in early} +rest = [i for i in range(len(word['cleanup'])) if i not in eidx] + + +def trial(w): + """None if the transport audit accepts w, else the AssertionError message.""" + tmp = Path(tempfile.mkdtemp()) + p = tmp/'w.json.gz'; p.write_bytes(gzip.compress(json.dumps(w).encode(), mtime=0)) + try: + atc.run(p, routing, tmp/'out') + return None + except AssertionError as e: + return repr(e.args[0]) if e.args else 'AssertionError' + finally: + shutil.rmtree(tmp, ignore_errors=True) + + +# Pinned rejection reasons: each mutant must fail at this assertion of hpe_audit_and_transport.py (message substring). +ENDPOINT, COLDPRE, CONE = "'arbitrary-dirt endpoint'", 'touches a cold hyperplane-ended helper', 'hpe cone pre-check (row / column)' +WHY = dict(premix_to_precondition=COLDPRE, premix_dropped=COLDPRE, e_premix_dropped=ENDPOINT, lower_dropped=ENDPOINT, + remainder_dropped=ENDPOINT, coefficient=ENDPOINT, into_full='cleanup on non-FULL end', dyadic=ENDPOINT, frame_below="'nonmonotone'", + nonmonotone="'nonmonotone'", other_frame=CONE, cone=CONE, extra_end=COLDPRE, marker='cleanup is not the literal reversed inverse', + target='refactored cleanup touches a target', profile_pin='paid local profile differs from the reported local_profile', + entering_precondition='zero-frame precondition/compensation touches an entering helper') +assert trial(word) is None, 'unmutated cold-end word must pass' +results = [] + + +def reject(name, mut, why): + """the mutation must be rejected, and for the pinned reason (a substring of the audit's assertion message).""" + w = copy.deepcopy(word); mut(w) + msg = trial(w) + assert msg is not None, 'cold-end mutation accepted: ' + name + assert why in msg, 'cold-end mutation %r rejected for the wrong reason: %s' % (name, msg[:300]) + results.append(name); print('rejected', name, '|', why, flush=True) + + +h0 = cold[0] +i0, U0 = next((i, f) for i, f in early if h0 in regs(word['cleanup'][i])) +r0 = rest[len(rest)//2] + + +def premix_to_precondition(w): # premix before the wrappers; compensation then reads the cold ends + w['precondition'] = w['precondition'] + w['A'][:npre]; w['A'] = w['A'][npre:] + + +def lower_gate_into_full(w): # a lower-frame gate on a cold-ended helper executed in the FULL remainder instead + w['early_cleanup'] = [x for x in w['early_cleanup'] if x[0] != i0] + + +def drop_cleanup_gate(w, i): # remove the gate AND its early_cleanup entry: a structurally valid word missing one gate + w['cleanup'].pop(i) + w['early_cleanup'] = [[j - (j > i), f] for j, f in w['early_cleanup'] if j != i] + + +def other_frame(w): # a different frame of the same dimension as the cold end (another cold helper's) + f = next(w['helper_final'][str(h)] for h in cold if w['helper_final'][str(h)] != w['helper_final'][str(h0)]) + w['helper_final'][str(h0)] = f + + +def extra_cold_end(w): # declare a premixed partner of h0 cold-ended at h0's frame: fails the row/column cone + p = next(r for e in w['A'][:npre] for r in regs(e) if r != h0 and h0 in regs(e)) + w['helper_final'][str(p)] = w['helper_final'][str(h0)] + + +reject('premix placed in the zero-frame precondition (before the cold wrappers)', premix_to_precondition, WHY['premix_to_precondition']) +reject('one premix gate dropped (the compensation then reads a cold-ended helper)', lambda w: w['A'].pop(npre - 1), WHY['premix_dropped']) +reject('one lower-frame cleanup gate dropped (gate and its early_cleanup entry)', lambda w: drop_cleanup_gate(w, i0), WHY['lower_dropped']) +reject('one FULL-remainder gate dropped', lambda w: drop_cleanup_gate(w, r0), WHY['remainder_dropped']) +reject('lower-frame gate coefficient changed', lambda w: w['cleanup'][i0].__setitem__(3, w['cleanup'][i0][3] * 2), WHY['coefficient']) +reject('lower-frame gate moved into the FULL remainder (touches a cold-ended helper at FULL)', lower_gate_into_full, WHY['into_full']) +reject('lower-frame gate frame below its registers\' frames', lambda w: next(x for x in w['early_cleanup'] if x[0] == i0).__setitem__(1, U0[:-1]), WHY['frame_below']) +reject('cold end at another dim-4 frame', other_frame, WHY['other_frame']) +# PROFILE-PIN control: without its helper_final entry the cold-ended helper is a valid FULL-ended helper; the word is +# rejected because its reported paid profile (which counts the low end) no longer matches the frame chains. +reject('profile pin: cold end dropped (valid FULL end, but the reported profile counts the low end)', lambda w: w['helper_final'].pop(str(h0)), WHY['profile_pin']) +reject('extra cold end on a premixed partner (the compensation reads it before its wrapper)', extra_cold_end, WHY['extra_end']) +reject('refactored-cleanup marker removed (literal-inverse rule applies)', lambda w: w.pop('refactored_cleanup'), WHY['marker']) +reject('remainder gate retargeted to a target register', lambda w: w['cleanup'][r0].__setitem__(1, v + 3), WHY['target']) +reject('non-dyadic remainder coefficient', lambda w: w['cleanup'][r0].__setitem__(4 if w['cleanup'][r0][0] == 'add' else 3, 3 * w['cleanup'][r0][4 if w['cleanup'][r0][0] == 'add' else 3]), WHY['dyadic']) +reject('profile not updated (paid climbs misreported)', lambda w: w['report']['local_profile'].__setitem__('5', w['report']['local_profile']['5'] - 1), WHY['profile_pin']) +ent = [int(h) for h in sys.argv[4].split(',')] if len(sys.argv) > 4 else [int(h) for h in meta.get('entering_low_frame_ended_helpers', [])] +for e0 in ent: # ENTERING LOW-FRAME ENDS (ColdSupply extension; every entering end; absent for words without them) + j0 = next((i for i, e in enumerate(word['A'][:npre]) if e0 in regs(e)), None) + print('entering end', e0, 'premix gate', j0, flush=True) + k0, Ue = next((i, f) for i, f in early if e0 in regs(word['cleanup'][i])) + def to_pre(w, j0=j0): w['precondition'].append(w['A'][j0]); w['A'].pop(j0) + def other_hp(w, e0=e0, Ue=Ue): w['helper_final'][str(e0)] = next(f for h, f in w['helper_final'].items() if len(f) == len(Ue) and sorted(f) != sorted(Ue)) + if j0 is not None: reject('entering end %d: premix gate dropped' % e0, lambda w, j0=j0: w['A'].pop(j0), WHY['e_premix_dropped']) + if j0 is not None: reject('entering end %d: premix gate at frame [] instead of its entrance E' % e0, lambda w, j0=j0: w['A'][j0].__setitem__(-1, []), WHY['nonmonotone']) + if j0 is not None: reject('entering end %d: premix gate moved into the zero-frame precondition' % e0, to_pre, WHY['entering_precondition']) + reject('entering end %d: lower-frame gate dropped (gate and its early_cleanup entry)' % e0, lambda w, k0=k0: drop_cleanup_gate(w, k0), WHY['lower_dropped']) + reject('entering end %d: profile pin: end dropped (valid FULL end, but the reported profile counts the low end)' % e0, lambda w, e0=e0: w['helper_final'].pop(str(e0)), WHY['profile_pin']) + reject('entering end %d: end at another hyperplane' % e0, other_hp, WHY['cone']) +# Pinned rejection reasons of the COLD-BEYOND mutants (substrings of hpe_audit_and_transport.py assertion messages). +MYWHY = dict(tw_precondition=COLDPRE, tw_dropped=COLDPRE, tw_coefficient=COLDPRE, tw_other_block=COLDPRE, + tw_entering='zero-frame compensation reads an entering helper', + ab_dropped=ENDPOINT, ab_coefficient=ENDPOINT, ab_early=ENDPOINT, ab_live=ENDPOINT, ab_centre=ENDPOINT, + ab_lower="'nonmonotone'", ab_higher="'nonmonotone'", + sh_dropped=ENDPOINT, sh_coefficient=ENDPOINT, rel_dropped=ENDPOINT, rel_coefficient=ENDPOINT, rel_live=ENDPOINT, + h8_other=CONE, h8_lower=ENDPOINT) +# COLD-BEYOND primitives (present only when the word carries them): frame-[] target writes in the premix (explicit +# post-wrapper compensation of an ended helper's dirt) and forward absorptions into dead registers. +nw = meta.get('premix_target_writes', 0) +if nw: + wi = [i for i in range(npre) if v <= word['A'][i][1] < 2*v] + assert len(wi) == nw + + def writes_to_precondition(w): # the target writes run before the cold wrappers (inside the zero-frame precondition) + g = [w['A'][i] for i in wi]; w['precondition'] = w['precondition'] + g + w['A'] = [e for i, e in enumerate(w['A']) if i not in set(wi)] + reject('premix target writes placed in the zero-frame precondition (before the cold wrappers)', writes_to_precondition, MYWHY['tw_precondition']) + reject('one premix target write dropped (compensation must read an ended helper)', lambda w: w['A'].pop(wi[0]), MYWHY['tw_dropped']) + reject('premix target write coefficient changed', lambda w: w['A'][wi[0]].__setitem__(3, w['A'][wi[0]][3] * 2), MYWHY['tw_coefficient']) + # (reading another register that carries the SAME weight of the ended helper's dirt is a valid variant, so the mutant reads + # the same factory slot of the next block, which carries none of it) + entering_regs = sorted(int(r) for r in word.get('start_extra', {})) + reject('premix target write reads an entering helper', lambda w: w['A'][wi[0]].__setitem__(2, entering_regs[0]), MYWHY['tw_entering']) + reject('premix target write reads a cold helper of another block', lambda w: w['A'][wi[0]].__setitem__(2, 2*v + (w['A'][wi[0]][2] - 2*v + 16) % 224), MYWHY['tw_other_block']) +ab = meta.get('forward_absorption_A_indices', []) +if any(len(word['helper_final'][str(h)]) == 8 for h in cold): + # with dim-8 cold ends, the centre-retargeted absorption first leaks an ended helper's dirt into the cut's targets + MYWHY['ab_centre'] = COLDPRE +if ab: + # the ColdBeyond U_b absorption (q += -1/2 g); ColdThird's extra absorptions have their own controls below + a0 = next(a for a in ab if word['A'][a][3] * 2 == -word['A'][a][4]); g0 = word['A'][a0] + + def absorption_moved_early(w): # absorbed before the absorbed register's last kernel write + e = w['A'].pop(a0); j = max(i for i in range(npre, a0) if g0[2] == w['A'][i][1] and w['A'][i][-1] == g0[-1]) + w['A'].insert(j, e) + + def absorption_into_live(w): # q += a g moved right after g's previous frame-mate gate, while q is still live + e = w['A'].pop(a0); j = max(i for i in range(npre, a0) if g0[1] in regs(w['A'][i])) + w['A'].insert(j, e) + reject('forward absorption dropped', lambda w: w['A'].pop(a0), MYWHY['ab_dropped']) + reject('forward absorption into a centre (a live register read by the cut)', lambda w: w['A'][a0].__setitem__(1, next(c for c in word['centers'] if c not in g0[1:3] and c not in cold)), MYWHY['ab_centre']) + reject('forward absorption coefficient changed', lambda w: w['A'][a0].__setitem__(3, w['A'][a0][3] * 2), MYWHY['ab_coefficient']) + reject('forward absorption placed before the absorbed register\'s last kernel write', absorption_moved_early, MYWHY['ab_early']) + reject('forward absorption placed while the absorbing register is still live', absorption_into_live, MYWHY['ab_live']) + reject('forward absorption at a lower frame than its registers', lambda w: w['A'][a0].__setitem__(-1, w['A'][a0][-1][:-1]), MYWHY['ab_lower']) + reject('forward absorption at a higher frame (FULL) than its registers', lambda w: w['A'][a0].__setitem__(-1, [256, 128, 64, 32, 16, 8, 4, 2, 1]), MYWHY['ab_higher']) +# COLD-THIRD primitives (present only when the word carries them): several absorptions after one input gate, dirt-release +# absorptions (a dead port takes a live helper's value so that a hyperplane unit's column has no dirt on it), and cold ends at +# a dim-8 frame with lifted partners. +hyper = [h for h in cold if len(word['helper_final'][str(h)]) == 8] +if hyper and ab: + sh = next(a for a, b in zip(ab, ab[1:]) if b == a + 1) # two absorptions sharing one input anchor + rel = next(a for a in ab if a - 1 not in ab and a + 1 not in ab and word['A'][a][2] in hyper and word['A'][a][3] * 2 != -word['A'][a][4]) + hh = hyper[0]; ih = next(i for i, f in early if hh in regs(word['cleanup'][i])) + reject('second absorption sharing an input anchor dropped', lambda w: w['A'].pop(sh + 1), MYWHY['sh_dropped']) + reject('shared-anchor absorption coefficient changed', lambda w: w['A'][sh + 1].__setitem__(3, w['A'][sh + 1][3] * 2), MYWHY['sh_coefficient']) + reject('dirt-release absorption dropped', lambda w: w['A'].pop(rel), MYWHY['rel_dropped']) + reject('dirt-release absorption coefficient changed', lambda w: w['A'][rel].__setitem__(3, w['A'][rel][3] * 2), MYWHY['rel_coefficient']) + jr = max(i for i in range(npre, rel) if word['A'][i][0] == 'add' and word['A'][i][2] == word['A'][rel][1]) + + def release_while_read(w): # the release runs before a kernel gate that still READS the port (port live) + e = w['A'].pop(rel); w['A'].insert(jr, e) + reject('dirt-release absorption moved before a kernel gate that still reads the port', release_while_read, MYWHY['rel_live']) +if hyper: + # dim-8 cold-end controls for EVERY dim-8 cold end of the word (read from the word's helper_final and the recipe meta's + # cold_low_frame_ended_helpers), not one representative per terminal frame + for hh in hyper: + ih = next(i for i, f in early if hh in regs(word['cleanup'][i])) + Uh = word['helper_final'][str(hh)] + reject('dim-8 cold end %d (frame %s) at another dim-8 frame' % (hh, Uh), lambda w, hh=hh: w['helper_final'].__setitem__(str(hh), next(f for h, f in w['helper_final'].items() if len(f) == 8 and sorted(f) != sorted(w['helper_final'][str(hh)]))), MYWHY['h8_other']) + reject('dim-8 cold end %d (frame %s): one lower-frame gate dropped (gate and its early_cleanup entry)' % (hh, Uh), lambda w, ih=ih: drop_cleanup_gate(w, ih), MYWHY['h8_lower']) + reject('dim-8 cold end %d (frame %s): profile pin (end dropped)' % (hh, Uh), lambda w, hh=hh: w['helper_final'].pop(str(hh)), WHY['profile_pin']) +# FACTORED ACCUMULATOR (CarrierBypass; present only when the word carries one): a lower-frame tail gate a += x*g on two +# non-ended registers whose accumulator a is afterwards read by a dim-8 cold end's tail gate (h += y*a at its U). +ended_all = {int(h) for h in word['helper_final']} +tailg = [(i, word['cleanup'][i]) for i, _ in early] +accs = [] # EVERY factored accumulator gate (one per accumulator register a), each controlled on its own +for k, (i, e) in enumerate(tailg): + if e[0] == 'add' and e[1] not in ended_all and e[2] not in ended_all and len(next(f for j, f in early if j == i)) < 8: + if e[1] not in [word['cleanup'][j][1] for j in accs] and any(t[0] == 'add' and t[2] == e[1] and t[1] in hyper for _, t in tailg[k + 1:]): + accs.append(i) +for acc in accs: + a = word['cleanup'][acc][1] + reject('factored accumulator %d (gate %d) zeroed' % (a, acc), lambda w, acc=acc: w['cleanup'][acc].__setitem__(3, 0), ENDPOINT) + reject('factored accumulator %d (gate %d) coefficient doubled' % (a, acc), lambda w, acc=acc: w['cleanup'][acc].__setitem__(3, w['cleanup'][acc][3] * 2), ENDPOINT) +outdir.mkdir(parents=True, exist_ok=True) +(outdir/'COLD-END-CONTROLS.json').write_text(json.dumps(dict(status='PASS_COLD_END_RAW_WORD_CONTROLS', word=str(src), rejected=results), indent=1) + '\n') +print('PASS', len(results), 'cold-end raw-word mutations rejected') diff --git a/research/gauge44-slots-t16/construction/layers_p6n/reproduce_p6n.py b/research/gauge44-slots-t16/construction/layers_p6n/reproduce_p6n.py new file mode 100644 index 0000000000..f9eb173bc1 --- /dev/null +++ b/research/gauge44-slots-t16/construction/layers_p6n/reproduce_p6n.py @@ -0,0 +1,78 @@ +#!/usr/bin/env python3 +"""Rebuild the p6n word (NoTriReopen): the layered no-triangle word with p123's lane rebuilt as three factored dim-8 pairs. + +Input: a fresh `construction/layers_np/reproduce_np.py` output directory. Its swapped HPE word (hpe/) and its +layered word a9de804f... are pinned there. Steps, each checked exactly: + 1. layers: PR635's unchanged build_cold_end.apply(swapped HPE word, COLD-LAYERS-RECIPE-P6N.json.gz). The recipe is + NP's cold-layer recipe (cold44, s4, x30, b6, q4) plus the six cold ends of P6N-SPEC.json, built by NoTriReopen + with JP8Ends' stackJ/stackE (the CarrierBypass premix-only factored construction): [512,513] at + U(256,128,66,34,16,8,6,1), [311,510] at U(256,128,72,40,24,4,2,1), [522,327] at U(256,128,66,34,18,10,6,1). + The output word sha (34b683fa...), profile and widths are pinned. + 2. layer-end-controls: layer_end_controls.py (Q6Reviewer-signed variant fc58c569..., which controls every dim-8 + cold end individually) on the p6n word; exactly 95 rejections at pinned reasons. +The promotion step (construction/promo/reproduce_promo.py --base p6n) builds the final word and its native locals. +Apache-2.0. Driver by ColdWitness after NoTriReopen's runspec.py. +""" +import argparse, gzip, hashlib, importlib.util, json, os, subprocess, sys, time +from pathlib import Path + +HERE = Path(__file__).resolve().parent +NP_SHA = 'a9de804f194eeb39f52a4c6e54c14d93e881bec4b632694249733ed410b58113' +P6N_SHA = '34b683fa08f0' # prefix; full value is the recipe's output_content_sha256 (asserted equal below) +LAYER_CONTROLS = 95 + + +def read(p): + raw = Path(p).read_bytes() + return json.loads(gzip.decompress(raw) if str(p).endswith('.gz') else raw) + + +def enc(x): return json.dumps(x, sort_keys=True, separators=(',', ':')).encode() + + +def load(name, path): + s = importlib.util.spec_from_file_location(name, path); m = importlib.util.module_from_spec(s); s.loader.exec_module(m); return m + + +def main(): + assert __debug__, 'Assertions are required' + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--main', type=Path, required=True) + ap.add_argument('--pr635', type=Path, required=True) + ap.add_argument('--np-dir', type=Path, required=True, help='construction/layers_np/reproduce_np.py output') + ap.add_argument('--out', type=Path, required=True) + a = ap.parse_args() + out = a.out.resolve(); assert not out.exists(); out.mkdir(parents=True) + up = a.pr635.resolve() / 'research/complex-571-cold14-st2' + src = a.main.resolve() / 'research/complex-k492-owner-repair/vendor/multicold' + parent = src / 'vendor/pr558/vendor/pr552' + npd = a.np_dir.resolve() + assert hashlib.sha256(enc(read(npd / 'layers/FULL-WORD.json.gz'))).hexdigest() == NP_SHA, 'np-dir must hold the pinned NP word' + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONUTF8='1', PYTHONINTMAXSTRDIGITS='0', + MULTICOLD_SOURCE=str(src), GAIN_PR564_SOURCE=str(src), PR635_CODE=str(up / 'code')) + for k in ('PYTHONOPTIMIZE', 'XPARAM', 'EXTRAH', 'PAIRING_RANKS', 'DIAG', 'HYBBUDGET'): env.pop(k, None) + bce = load('upstream_cold', up / 'code/build_cold_end.py') + rec = read(HERE / 'COLD-LAYERS-RECIPE-P6N.json.gz') + w = bce.apply(read(npd / 'hpe/FULL-WORD.json.gz'), rec) + raw = enc(w); got = hashlib.sha256(raw).hexdigest() + assert got == rec['output_content_sha256'] and got.startswith(P6N_SHA), ('p6n word', got) + rep = w['report'] + assert rep['local_profile'] == {'1': 2540, '2': 358, '3': 446, '4': 178, '5': 56, '8': 8}, rep['local_profile'] + assert rep['width_inventory'] == {'4': 64, '5': 48, '7': 54, '8': 122, '9': 216}, rep['width_inventory'] + (out / 'p6n').mkdir(); word = out / 'p6n/FULL-WORD.json.gz'; word.write_bytes(gzip.compress(raw, mtime=0)) + print('PASS p6n word', got, flush=True) + t = time.monotonic() + with (out / 'layer-end-controls.log').open('w') as f: + rc = subprocess.call([sys.executable, '-B', str(src / 'code/run_portable.py'), str(HERE / 'layer_end_controls.py'), str(word), + str(parent / 'complex-local/inputs/phase-baseline/CANONICAL-WORD.json.gz'), str(out / 'controls')], + env=env, stdout=f, stderr=subprocess.STDOUT) + (out / 'STEPS.json').write_text(json.dumps([dict(step='layer-end-controls', exit_code=rc, seconds=round(time.monotonic() - t, 3))], indent=2) + '\n') + assert rc == 0, 'layer-end-controls' + ctl = read(out / 'controls/COLD-END-CONTROLS.json') + assert ctl['status'] == 'PASS_COLD_END_RAW_WORD_CONTROLS' and len(ctl['rejected']) == LAYER_CONTROLS, len(ctl['rejected']) + print('PASS layer-end-controls', LAYER_CONTROLS, flush=True) + print('DONE', word, flush=True) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-slots-t16/construction/leaver/CHAIN-PINS-k8.json b/research/gauge44-slots-t16/construction/leaver/CHAIN-PINS-k8.json new file mode 100644 index 0000000000..afd0467911 --- /dev/null +++ b/research/gauge44-slots-t16/construction/leaver/CHAIN-PINS-k8.json @@ -0,0 +1,89 @@ +{ + "np_profile": { + "1": 2422, + "2": 408, + "3": 494, + "4": 136, + "5": 56, + "8": 8 + }, + "p6n_profile": { + "1": 2428, + "2": 420, + "3": 482, + "4": 136, + "5": 56, + "8": 8 + }, + "lec-p6n_pins_sha256": "d87ed7b5869bed4a3d266f0ce5fc784cbe88340a625d22ab9f580fa00872df19", + "lec-p6n": 95, + "lec-p6n_not_applicable": { + "extra_end": "partner 282 already cold-ended at h0 273 frame (identity)" + }, + "promo_controls": 11, + "lec-promo_pins_sha256": "d87ed7b5869bed4a3d266f0ce5fc784cbe88340a625d22ab9f580fa00872df19", + "lec-promo": 95, + "lec-promo_not_applicable": { + "extra_end": "partner 282 already cold-ended at h0 273 frame (identity)" + }, + "jx_controls": [ + "C0_identity", + "C1_741_only", + "N3_plain_join_moved_reads" + ], + "lec-jx_pins_sha256": "d87ed7b5869bed4a3d266f0ce5fc784cbe88340a625d22ab9f580fa00872df19", + "lec-jx": 95, + "lec-jx_not_applicable": { + "extra_end": "partner 282 already cold-ended at h0 273 frame (identity)" + }, + "hybrid_controls": [ + "C0_identity", + "donation_after", + "donation_after@226", + "donation_after@228", + "donation_after@230", + "donation_after@231", + "donation_after@232", + "donation_after@62", + "drop_preread", + "drop_preread@226", + "drop_preread@228", + "drop_preread@230", + "drop_preread@231", + "drop_preread@232", + "drop_preread@62", + "drop_restore", + "drop_restore@226", + "drop_restore@228", + "drop_restore@230", + "drop_restore@231", + "drop_restore@232", + "drop_restore@62", + "recipe", + "restore_full", + "restore_full@226", + "restore_full@228", + "restore_full@230", + "restore_full@231", + "restore_full@232", + "restore_full@62" + ], + "lec-hyb_pins_sha256": "d87ed7b5869bed4a3d266f0ce5fc784cbe88340a625d22ab9f580fa00872df19", + "lec-hyb": 95, + "lec-hyb_not_applicable": { + "extra_end": "partner 282 already cold-ended at h0 273 frame (identity)" + }, + "frame_build_controls": 3, + "lec-frames_pins_sha256": "b07279e41ec9d8f89e8509081e1e7f2c8e8b062fd951b22608a03ac461982914", + "lec-frames": 95, + "lec-frames_not_applicable": { + "extra_end": "partner 282 already cold-ended at h0 273 frame (identity)", + "other_hp:554": "tail frame dim 5; no other helper_final frame of that dim" + }, + "canonical_sha256": "d1bf3c6f250a61be7421ce566668092f362c465274fb472d4bb01fc80cba9b23", + "program_sha256": { + "forward": "683f83231d4d4890a7fc3d18f30d4ac7bfbd7bbdf4e7ff57ad0eb09e8a5f571c", + "backward": "2d184e4d9d48aa4d5e3679368ee0eca7e0388b1966eb05e0fd17d22d00d36293" + }, + "clifford_recipes_sha256": "e3bfdfa2c044f14c00a8706950c8ae838ceeedd9ca78a83bffefe7886219516a" +} diff --git a/research/gauge44-slots-t16/construction/leaver/CODED-CELLS-k8.json b/research/gauge44-slots-t16/construction/leaver/CODED-CELLS-k8.json new file mode 100644 index 0000000000..cd23561e0b --- /dev/null +++ b/research/gauge44-slots-t16/construction/leaver/CODED-CELLS-k8.json @@ -0,0 +1,2826 @@ +[ + { + "cell": "01+", + "bindings": { + "x0": [ + "source", + [ + 0, + 1, + 2, + 3 + ], + 1 + ], + "x1": [ + "source", + [ + 0, + 1, + 2, + 3 + ], + 0 + ], + "x2": [ + "source", + [ + 0, + 1, + 4, + 5 + ], + 1 + ], + "x3": [ + "source", + [ + 0, + 1, + 4, + 5 + ], + 0 + ], + "x4": [ + "source", + [ + 0, + 1, + 6, + 7 + ], + 1 + ], + "x5": [ + "source", + [ + 0, + 1, + 6, + 7 + ], + 0 + ], + "y0": [ + "target", + 65 + ], + "y1": [ + "target", + 64 + ], + "y2": [ + "target", + 33 + ], + "y3": [ + "target", + 32 + ], + "y4": [ + "target", + 25 + ], + "y5": [ + "target", + 24 + ] + }, + "scaled": [ + [ + "y1", + "x0", + "-1/2" + ], + [ + "y0", + "x1", + "-1/2" + ], + [ + "y2", + "x5", + "-1/2" + ], + [ + "y3", + "x4", + "-1/2" + ], + [ + "y4", + "x3", + "-1/2" + ], + [ + "y5", + "x2", + "-1/2" + ], + [ + "x0", + "x1", + "1" + ], + [ + "x2", + "x5", + "1" + ], + [ + "x4", + "x3", + "1" + ], + [ + "y1", + "x2", + "-1/2" + ], + [ + "y3", + "x0", + "-1/2" + ], + [ + "y5", + "x4", + "-1/2" + ], + [ + "y0", + "y5", + "1" + ], + [ + "y2", + "y3", + "1" + ], + [ + "y4", + "y1", + "1" + ], + [ + "y1", + "x4", + "-1/2" + ], + [ + "y0", + "x5", + "-1/2" + ], + [ + "y2", + "x3", + "-1/2" + ], + [ + "y3", + "x2", + "-1/2" + ], + [ + "y4", + "x1", + "-1/2" + ], + [ + "y5", + "x0", + "-1/2" + ] + ], + "unit": [ + [ + "y1", + "x0", + 1 + ], + [ + "y0", + "x1", + 1 + ], + [ + "y2", + "x5", + 1 + ], + [ + "y3", + "x4", + 1 + ], + [ + "y4", + "x3", + 1 + ], + [ + "y5", + "x2", + 1 + ], + [ + "x0", + "x1", + 1 + ], + [ + "x2", + "x5", + 1 + ], + [ + "x4", + "x3", + 1 + ], + [ + "y1", + "x2", + 1 + ], + [ + "y3", + "x0", + 1 + ], + [ + "y5", + "x4", + 1 + ], + [ + "y0", + "y5", + 1 + ], + [ + "y2", + "y3", + 1 + ], + [ + "y4", + "y1", + 1 + ], + [ + "y1", + "x4", + 1 + ], + [ + "y0", + "x5", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y4", + "x1", + 1 + ], + [ + "y5", + "x0", + 1 + ] + ], + "coefficients": [ + [ + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2" + ], + [ + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2" + ], + [ + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0" + ] + ] + }, + { + "cell": "23+", + "bindings": { + "x0": [ + "source", + [ + 0, + 1, + 2, + 3 + ], + 23 + ], + "x1": [ + "source", + [ + 0, + 1, + 2, + 3 + ], + 3 + ], + "x2": [ + "source", + [ + 2, + 3, + 4, + 5 + ], + 1 + ], + "x3": [ + "source", + [ + 2, + 3, + 4, + 5 + ], + 0 + ], + "x4": [ + "source", + [ + 2, + 3, + 6, + 7 + ], + 1 + ], + "x5": [ + "source", + [ + 2, + 3, + 6, + 7 + ], + 0 + ], + "y0": [ + "target", + 71 + ], + "y1": [ + "target", + 67 + ], + "y2": [ + "target", + 97 + ], + "y3": [ + "target", + 96 + ], + "y4": [ + "target", + 89 + ], + "y5": [ + "target", + 88 + ] + }, + "scaled": [ + [ + "y1", + "x0", + "1" + ], + [ + "y0", + "x1", + "1" + ], + [ + "y2", + "x5", + "-1/2" + ], + [ + "y3", + "x4", + "-1/2" + ], + [ + "y4", + "x3", + "-1/2" + ], + [ + "y5", + "x2", + "-1/2" + ], + [ + "x0", + "x1", + "1" + ], + [ + "x2", + "x5", + "1" + ], + [ + "x4", + "x3", + "1" + ], + [ + "y1", + "x2", + "-1/2" + ], + [ + "y3", + "x0", + "1" + ], + [ + "y5", + "x4", + "-1/2" + ], + [ + "y0", + "y5", + "1" + ], + [ + "y2", + "y3", + "1" + ], + [ + "y4", + "y1", + "1" + ], + [ + "y1", + "x4", + "-1/2" + ], + [ + "y0", + "x5", + "-1/2" + ], + [ + "y2", + "x3", + "-1/2" + ], + [ + "y3", + "x2", + "-1/2" + ], + [ + "y4", + "x1", + "1" + ], + [ + "y5", + "x0", + "1" + ] + ], + "unit": [ + [ + "y1", + "x0", + 1 + ], + [ + "y0", + "x1", + 1 + ], + [ + "y2", + "x5", + 1 + ], + [ + "y3", + "x4", + 1 + ], + [ + "y4", + "x3", + 1 + ], + [ + "y5", + "x2", + 1 + ], + [ + "x0", + "x1", + 1 + ], + [ + "x2", + "x5", + 1 + ], + [ + "x4", + "x3", + 1 + ], + [ + "y1", + "x2", + 1 + ], + [ + "y3", + "x0", + 1 + ], + [ + "y5", + "x4", + 1 + ], + [ + "y0", + "y5", + 1 + ], + [ + "y2", + "y3", + 1 + ], + [ + "y4", + "y1", + 1 + ], + [ + "y1", + "x4", + 1 + ], + [ + "y0", + "x5", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y4", + "x1", + 1 + ], + [ + "y5", + "x0", + 1 + ] + ], + "coefficients": [ + [ + "0", + "1", + "-1/2", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "1", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "1", + "1", + "0", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "1", + "1", + "-1/2", + "0", + "-1/2", + "-1/2" + ], + [ + "1", + "1", + "-1/2", + "-1/2", + "0", + "-1/2" + ], + [ + "1", + "1", + "-1/2", + "-1/2", + "-1/2", + "0" + ] + ] + }, + { + "cell": "45+", + "bindings": { + "x0": [ + "source", + [ + 0, + 1, + 4, + 5 + ], + 23 + ], + "x1": [ + "source", + [ + 0, + 1, + 4, + 5 + ], + 3 + ], + "x2": [ + "source", + [ + 2, + 3, + 4, + 5 + ], + 23 + ], + "x3": [ + "source", + [ + 2, + 3, + 4, + 5 + ], + 3 + ], + "x4": [ + "source", + [ + 4, + 5, + 6, + 7 + ], + 1 + ], + "x5": [ + "source", + [ + 4, + 5, + 6, + 7 + ], + 0 + ], + "y0": [ + "target", + 39 + ], + "y1": [ + "target", + 35 + ], + "y2": [ + "target", + 103 + ], + "y3": [ + "target", + 99 + ], + "y4": [ + "target", + 57 + ], + "y5": [ + "target", + 56 + ] + }, + "scaled": [ + [ + "y1", + "x0", + "1" + ], + [ + "y0", + "x1", + "1" + ], + [ + "y2", + "x5", + "-1/2" + ], + [ + "y3", + "x4", + "-1/2" + ], + [ + "y4", + "x3", + "1" + ], + [ + "y5", + "x2", + "1" + ], + [ + "x0", + "x1", + "1" + ], + [ + "x2", + "x5", + "-1/2" + ], + [ + "x4", + "x3", + "-2" + ], + [ + "y1", + "x2", + "1" + ], + [ + "y3", + "x0", + "1" + ], + [ + "y5", + "x4", + "-1/2" + ], + [ + "y0", + "y5", + "1" + ], + [ + "y2", + "y3", + "1" + ], + [ + "y4", + "y1", + "1" + ], + [ + "y1", + "x4", + "-1/2" + ], + [ + "y0", + "x5", + "-1/2" + ], + [ + "y2", + "x3", + "1" + ], + [ + "y3", + "x2", + "1" + ], + [ + "y4", + "x1", + "1" + ], + [ + "y5", + "x0", + "1" + ] + ], + "unit": [ + [ + "y1", + "x0", + 1 + ], + [ + "y0", + "x1", + 1 + ], + [ + "y2", + "x5", + 1 + ], + [ + "y3", + "x4", + 1 + ], + [ + "y4", + "x3", + 1 + ], + [ + "y5", + "x2", + 1 + ], + [ + "x0", + "x1", + 1 + ], + [ + "x2", + "x5", + 1 + ], + [ + "x4", + "x3", + 1 + ], + [ + "y1", + "x2", + 1 + ], + [ + "y3", + "x0", + 1 + ], + [ + "y5", + "x4", + 1 + ], + [ + "y0", + "y5", + 1 + ], + [ + "y2", + "y3", + 1 + ], + [ + "y4", + "y1", + 1 + ], + [ + "y1", + "x4", + 1 + ], + [ + "y0", + "x5", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y4", + "x1", + 1 + ], + [ + "y5", + "x0", + 1 + ] + ], + "coefficients": [ + [ + "0", + "1", + "1", + "1", + "-1/2", + "-1/2" + ], + [ + "1", + "0", + "1", + "1", + "-1/2", + "-1/2" + ], + [ + "1", + "1", + "0", + "1", + "-1/2", + "-1/2" + ], + [ + "1", + "1", + "1", + "0", + "-1/2", + "-1/2" + ], + [ + "1", + "1", + "1", + "1", + "0", + "-1/2" + ], + [ + "1", + "1", + "1", + "1", + "-1/2", + "0" + ] + ] + }, + { + "cell": "67+", + "bindings": { + "x0": [ + "source", + [ + 0, + 1, + 6, + 7 + ], + 23 + ], + "x1": [ + "source", + [ + 0, + 1, + 6, + 7 + ], + 3 + ], + "x2": [ + "source", + [ + 2, + 3, + 6, + 7 + ], + 23 + ], + "x3": [ + "source", + [ + 2, + 3, + 6, + 7 + ], + 3 + ], + "x4": [ + "source", + [ + 4, + 5, + 6, + 7 + ], + 23 + ], + "x5": [ + "source", + [ + 4, + 5, + 6, + 7 + ], + 3 + ], + "y0": [ + "target", + 31 + ], + "y1": [ + "target", + 27 + ], + "y2": [ + "target", + 95 + ], + "y3": [ + "target", + 91 + ], + "y4": [ + "target", + 63 + ], + "y5": [ + "target", + 59 + ] + }, + "scaled": [ + [ + "y1", + "x0", + "1" + ], + [ + "y0", + "x1", + "1" + ], + [ + "y2", + "x5", + "1" + ], + [ + "y3", + "x4", + "1" + ], + [ + "y4", + "x3", + "1" + ], + [ + "y5", + "x2", + "1" + ], + [ + "x0", + "x1", + "1" + ], + [ + "x2", + "x5", + "1" + ], + [ + "x4", + "x3", + "1" + ], + [ + "y1", + "x2", + "1" + ], + [ + "y3", + "x0", + "1" + ], + [ + "y5", + "x4", + "1" + ], + [ + "y0", + "y5", + "1" + ], + [ + "y2", + "y3", + "1" + ], + [ + "y4", + "y1", + "1" + ], + [ + "y1", + "x4", + "1" + ], + [ + "y0", + "x5", + "1" + ], + [ + "y2", + "x3", + "1" + ], + [ + "y3", + "x2", + "1" + ], + [ + "y4", + "x1", + "1" + ], + [ + "y5", + "x0", + "1" + ] + ], + "unit": [ + [ + "y1", + "x0", + 1 + ], + [ + "y0", + "x1", + 1 + ], + [ + "y2", + "x5", + 1 + ], + [ + "y3", + "x4", + 1 + ], + [ + "y4", + "x3", + 1 + ], + [ + "y5", + "x2", + 1 + ], + [ + "x0", + "x1", + 1 + ], + [ + "x2", + "x5", + 1 + ], + [ + "x4", + "x3", + 1 + ], + [ + "y1", + "x2", + 1 + ], + [ + "y3", + "x0", + 1 + ], + [ + "y5", + "x4", + 1 + ], + [ + "y0", + "y5", + 1 + ], + [ + "y2", + "y3", + 1 + ], + [ + "y4", + "y1", + 1 + ], + [ + "y1", + "x4", + 1 + ], + [ + "y0", + "x5", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y4", + "x1", + 1 + ], + [ + "y5", + "x0", + 1 + ] + ], + "coefficients": [ + [ + "0", + "1", + "1", + "1", + "1", + "1" + ], + [ + "1", + "0", + "1", + "1", + "1", + "1" + ], + [ + "1", + "1", + "0", + "1", + "1", + "1" + ], + [ + "1", + "1", + "1", + "0", + "1", + "1" + ], + [ + "1", + "1", + "1", + "1", + "0", + "1" + ], + [ + "1", + "1", + "1", + "1", + "1", + "0" + ] + ] + }, + { + "cell": "67-", + "bindings": { + "x0": [ + "source", + [ + 0, + 1, + 6, + 7 + ], + 2 + ], + "x1": [ + "source", + [ + 0, + 1, + 6, + 7 + ], + 21 + ], + "x2": [ + "source", + [ + 2, + 3, + 6, + 7 + ], + 2 + ], + "x3": [ + "source", + [ + 2, + 3, + 6, + 7 + ], + 21 + ], + "x4": [ + "source", + [ + 4, + 5, + 6, + 7 + ], + 2 + ], + "x5": [ + "source", + [ + 4, + 5, + 6, + 7 + ], + 21 + ], + "y0": [ + "target", + 26 + ], + "y1": [ + "target", + 30 + ], + "y2": [ + "target", + 90 + ], + "y3": [ + "target", + 94 + ], + "y4": [ + "target", + 58 + ], + "y5": [ + "target", + 62 + ] + }, + "scaled": [ + [ + "y1", + "x0", + "1" + ], + [ + "y0", + "x1", + "1" + ], + [ + "y2", + "x5", + "1" + ], + [ + "y3", + "x4", + "1" + ], + [ + "y4", + "x3", + "1" + ], + [ + "y5", + "x2", + "1" + ], + [ + "x0", + "x1", + "1" + ], + [ + "x2", + "x5", + "1" + ], + [ + "x4", + "x3", + "1" + ], + [ + "y1", + "x2", + "1" + ], + [ + "y3", + "x0", + "1" + ], + [ + "y5", + "x4", + "1" + ], + [ + "y0", + "y5", + "1" + ], + [ + "y2", + "y3", + "1" + ], + [ + "y4", + "y1", + "1" + ], + [ + "y1", + "x4", + "1" + ], + [ + "y0", + "x5", + "1" + ], + [ + "y2", + "x3", + "1" + ], + [ + "y3", + "x2", + "1" + ], + [ + "y4", + "x1", + "1" + ], + [ + "y5", + "x0", + "1" + ] + ], + "unit": [ + [ + "y1", + "x0", + 1 + ], + [ + "y0", + "x1", + 1 + ], + [ + "y2", + "x5", + 1 + ], + [ + "y3", + "x4", + 1 + ], + [ + "y4", + "x3", + 1 + ], + [ + "y5", + "x2", + 1 + ], + [ + "x0", + "x1", + 1 + ], + [ + "x2", + "x5", + 1 + ], + [ + "x4", + "x3", + 1 + ], + [ + "y1", + "x2", + 1 + ], + [ + "y3", + "x0", + 1 + ], + [ + "y5", + "x4", + 1 + ], + [ + "y0", + "y5", + 1 + ], + [ + "y2", + "y3", + 1 + ], + [ + "y4", + "y1", + 1 + ], + [ + "y1", + "x4", + 1 + ], + [ + "y0", + "x5", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y4", + "x1", + 1 + ], + [ + "y5", + "x0", + 1 + ] + ], + "coefficients": [ + [ + "0", + "1", + "1", + "1", + "1", + "1" + ], + [ + "1", + "0", + "1", + "1", + "1", + "1" + ], + [ + "1", + "1", + "0", + "1", + "1", + "1" + ], + [ + "1", + "1", + "1", + "0", + "1", + "1" + ], + [ + "1", + "1", + "1", + "1", + "0", + "1" + ], + [ + "1", + "1", + "1", + "1", + "1", + "0" + ] + ] + }, + { + "cell": "01-", + "bindings": { + "x0": [ + "source", + [ + 0, + 1, + 2, + 3 + ], + 19 + ], + "x1": [ + "source", + [ + 0, + 1, + 2, + 3 + ], + 17 + ], + "x2": [ + "source", + [ + 0, + 1, + 4, + 5 + ], + 19 + ], + "x3": [ + "source", + [ + 0, + 1, + 4, + 5 + ], + 17 + ], + "x4": [ + "source", + [ + 0, + 1, + 6, + 7 + ], + 19 + ], + "x5": [ + "source", + [ + 0, + 1, + 6, + 7 + ], + 17 + ], + "y0": [ + "target", + 69 + ], + "y1": [ + "target", + 68 + ], + "y2": [ + "target", + 37 + ], + "y3": [ + "target", + 36 + ], + "y4": [ + "target", + 29 + ], + "y5": [ + "target", + 28 + ] + }, + "scaled": [ + [ + "y0", + "x1", + "-1/2" + ], + [ + "y1", + "x0", + "-1/2" + ], + [ + "y3", + "x4", + "-1/2" + ], + [ + "y2", + "x5", + "-1/2" + ], + [ + "y5", + "x2", + "-1/2" + ], + [ + "y4", + "x3", + "-1/2" + ], + [ + "x1", + "x0", + "1" + ], + [ + "x3", + "x4", + "1" + ], + [ + "x5", + "x2", + "1" + ], + [ + "y0", + "x3", + "-1/2" + ], + [ + "y2", + "x1", + "-1/2" + ], + [ + "y4", + "x5", + "-1/2" + ], + [ + "y1", + "y4", + "1" + ], + [ + "y3", + "y2", + "1" + ], + [ + "y5", + "y0", + "1" + ], + [ + "y0", + "x5", + "-1/2" + ], + [ + "y1", + "x4", + "-1/2" + ], + [ + "y3", + "x2", + "-1/2" + ], + [ + "y2", + "x3", + "-1/2" + ], + [ + "y5", + "x0", + "-1/2" + ], + [ + "y4", + "x1", + "-1/2" + ] + ], + "unit": [ + [ + "y0", + "x1", + 1 + ], + [ + "y1", + "x0", + 1 + ], + [ + "y3", + "x4", + 1 + ], + [ + "y2", + "x5", + 1 + ], + [ + "y5", + "x2", + 1 + ], + [ + "y4", + "x3", + 1 + ], + [ + "x1", + "x0", + 1 + ], + [ + "x3", + "x4", + 1 + ], + [ + "x5", + "x2", + 1 + ], + [ + "y0", + "x3", + 1 + ], + [ + "y2", + "x1", + 1 + ], + [ + "y4", + "x5", + 1 + ], + [ + "y1", + "y4", + 1 + ], + [ + "y3", + "y2", + 1 + ], + [ + "y5", + "y0", + 1 + ], + [ + "y0", + "x5", + 1 + ], + [ + "y1", + "x4", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y5", + "x0", + 1 + ], + [ + "y4", + "x1", + 1 + ] + ], + "coefficients": [ + [ + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2" + ], + [ + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2" + ], + [ + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0" + ] + ] + }, + { + "cell": "23-", + "bindings": { + "x0": [ + "source", + [ + 0, + 1, + 2, + 3 + ], + 2 + ], + "x1": [ + "source", + [ + 0, + 1, + 2, + 3 + ], + 21 + ], + "x2": [ + "source", + [ + 2, + 3, + 4, + 5 + ], + 19 + ], + "x3": [ + "source", + [ + 2, + 3, + 4, + 5 + ], + 17 + ], + "x4": [ + "source", + [ + 2, + 3, + 6, + 7 + ], + 19 + ], + "x5": [ + "source", + [ + 2, + 3, + 6, + 7 + ], + 17 + ], + "y0": [ + "target", + 66 + ], + "y1": [ + "target", + 70 + ], + "y2": [ + "target", + 101 + ], + "y3": [ + "target", + 100 + ], + "y4": [ + "target", + 93 + ], + "y5": [ + "target", + 92 + ] + }, + "scaled": [ + [ + "y1", + "x0", + "1" + ], + [ + "y0", + "x1", + "1" + ], + [ + "y3", + "x4", + "-1/2" + ], + [ + "y2", + "x5", + "-1/2" + ], + [ + "y5", + "x2", + "-1/2" + ], + [ + "y4", + "x3", + "-1/2" + ], + [ + "x0", + "x1", + "1" + ], + [ + "x3", + "x4", + "1" + ], + [ + "x5", + "x2", + "1" + ], + [ + "y1", + "x3", + "-1/2" + ], + [ + "y2", + "x0", + "1" + ], + [ + "y4", + "x5", + "-1/2" + ], + [ + "y0", + "y4", + "1" + ], + [ + "y3", + "y2", + "1" + ], + [ + "y5", + "y1", + "1" + ], + [ + "y1", + "x5", + "-1/2" + ], + [ + "y0", + "x4", + "-1/2" + ], + [ + "y3", + "x2", + "-1/2" + ], + [ + "y2", + "x3", + "-1/2" + ], + [ + "y5", + "x1", + "1" + ], + [ + "y4", + "x0", + "1" + ] + ], + "unit": [ + [ + "y1", + "x0", + 1 + ], + [ + "y0", + "x1", + 1 + ], + [ + "y3", + "x4", + 1 + ], + [ + "y2", + "x5", + 1 + ], + [ + "y5", + "x2", + 1 + ], + [ + "y4", + "x3", + 1 + ], + [ + "x0", + "x1", + 1 + ], + [ + "x3", + "x4", + 1 + ], + [ + "x5", + "x2", + 1 + ], + [ + "y1", + "x3", + 1 + ], + [ + "y2", + "x0", + 1 + ], + [ + "y4", + "x5", + 1 + ], + [ + "y0", + "y4", + 1 + ], + [ + "y3", + "y2", + 1 + ], + [ + "y5", + "y1", + 1 + ], + [ + "y1", + "x5", + 1 + ], + [ + "y0", + "x4", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y5", + "x1", + 1 + ], + [ + "y4", + "x0", + 1 + ] + ], + "coefficients": [ + [ + "0", + "1", + "-1/2", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "1", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "1", + "1", + "0", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "1", + "1", + "-1/2", + "0", + "-1/2", + "-1/2" + ], + [ + "1", + "1", + "-1/2", + "-1/2", + "0", + "-1/2" + ], + [ + "1", + "1", + "-1/2", + "-1/2", + "-1/2", + "0" + ] + ] + }, + { + "cell": "45-", + "bindings": { + "x0": [ + "source", + [ + 0, + 1, + 4, + 5 + ], + 2 + ], + "x1": [ + "source", + [ + 0, + 1, + 4, + 5 + ], + 21 + ], + "x2": [ + "source", + [ + 2, + 3, + 4, + 5 + ], + 2 + ], + "x3": [ + "source", + [ + 2, + 3, + 4, + 5 + ], + 21 + ], + "x4": [ + "source", + [ + 4, + 5, + 6, + 7 + ], + 19 + ], + "x5": [ + "source", + [ + 4, + 5, + 6, + 7 + ], + 17 + ], + "y0": [ + "target", + 34 + ], + "y1": [ + "target", + 38 + ], + "y2": [ + "target", + 98 + ], + "y3": [ + "target", + 102 + ], + "y4": [ + "target", + 61 + ], + "y5": [ + "target", + 60 + ] + }, + "scaled": [ + [ + "y1", + "x0", + "1" + ], + [ + "y0", + "x1", + "1" + ], + [ + "y2", + "x4", + "-1/2" + ], + [ + "y3", + "x5", + "-1/2" + ], + [ + "y5", + "x3", + "1" + ], + [ + "y4", + "x2", + "1" + ], + [ + "x0", + "x1", + "1" + ], + [ + "x2", + "x4", + "-1/2" + ], + [ + "x5", + "x3", + "-2" + ], + [ + "y1", + "x2", + "1" + ], + [ + "y3", + "x0", + "1" + ], + [ + "y4", + "x5", + "-1/2" + ], + [ + "y0", + "y4", + "1" + ], + [ + "y2", + "y3", + "1" + ], + [ + "y5", + "y1", + "1" + ], + [ + "y1", + "x5", + "-1/2" + ], + [ + "y0", + "x4", + "-1/2" + ], + [ + "y2", + "x3", + "1" + ], + [ + "y3", + "x2", + "1" + ], + [ + "y5", + "x1", + "1" + ], + [ + "y4", + "x0", + "1" + ] + ], + "unit": [ + [ + "y1", + "x0", + 1 + ], + [ + "y0", + "x1", + 1 + ], + [ + "y2", + "x4", + 1 + ], + [ + "y3", + "x5", + 1 + ], + [ + "y5", + "x3", + 1 + ], + [ + "y4", + "x2", + 1 + ], + [ + "x0", + "x1", + 1 + ], + [ + "x2", + "x4", + 1 + ], + [ + "x5", + "x3", + 1 + ], + [ + "y1", + "x2", + 1 + ], + [ + "y3", + "x0", + 1 + ], + [ + "y4", + "x5", + 1 + ], + [ + "y0", + "y4", + 1 + ], + [ + "y2", + "y3", + 1 + ], + [ + "y5", + "y1", + 1 + ], + [ + "y1", + "x5", + 1 + ], + [ + "y0", + "x4", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y5", + "x1", + 1 + ], + [ + "y4", + "x0", + 1 + ] + ], + "coefficients": [ + [ + "0", + "1", + "1", + "1", + "-1/2", + "-1/2" + ], + [ + "1", + "0", + "1", + "1", + "-1/2", + "-1/2" + ], + [ + "1", + "1", + "0", + "1", + "-1/2", + "-1/2" + ], + [ + "1", + "1", + "1", + "0", + "-1/2", + "-1/2" + ], + [ + "1", + "1", + "1", + "1", + "0", + "-1/2" + ], + [ + "1", + "1", + "1", + "1", + "-1/2", + "0" + ] + ] + } +] diff --git a/research/gauge44-slots-t16/construction/leaver/COLD-LAYERS-RECIPE-NP-k8.json.gz b/research/gauge44-slots-t16/construction/leaver/COLD-LAYERS-RECIPE-NP-k8.json.gz new file mode 100644 index 0000000000..6850696b19 Binary files /dev/null and b/research/gauge44-slots-t16/construction/leaver/COLD-LAYERS-RECIPE-NP-k8.json.gz differ diff --git a/research/gauge44-slots-t16/construction/leaver/COLD-LAYERS-RECIPE-P6N-k8.json.gz b/research/gauge44-slots-t16/construction/leaver/COLD-LAYERS-RECIPE-P6N-k8.json.gz new file mode 100644 index 0000000000..dc0275695d Binary files /dev/null and b/research/gauge44-slots-t16/construction/leaver/COLD-LAYERS-RECIPE-P6N-k8.json.gz differ diff --git a/research/gauge44-slots-t16/construction/leaver/FRAME-RECIPE-LV-k8.json b/research/gauge44-slots-t16/construction/leaver/FRAME-RECIPE-LV-k8.json new file mode 100644 index 0000000000..982bd357da --- /dev/null +++ b/research/gauge44-slots-t16/construction/leaver/FRAME-RECIPE-LV-k8.json @@ -0,0 +1,2987 @@ +{ + "input_content_sha256": "c836d8922fc9e50529e006488ca2ce4a542a93150de0e0e8f7d3955ad991968f", + "gate_frames": [ + [ + "B", + 539, + [ + 336, + 208, + 32, + 8, + 6 + ], + [ + 336, + 208, + 32, + 8, + 6, + 1 + ] + ], + [ + "B", + 540, + [ + 400, + 80, + 32, + 8, + 6 + ], + [ + 400, + 80, + 32, + 8, + 6, + 1 + ] + ], + [ + "B", + 541, + [ + 256, + 128, + 64, + 16, + 6 + ], + [ + 256, + 128, + 64, + 16, + 6, + 1 + ] + ], + [ + "B", + 542, + [ + 256, + 128, + 64, + 16, + 8, + 6 + ], + [ + 256, + 128, + 64, + 16, + 8, + 6, + 1 + ] + ], + [ + "B", + 545, + [ + 256, + 144, + 80, + 32, + 8, + 6 + ], + [ + 256, + 144, + 80, + 32, + 8, + 6, + 1 + ] + ], + [ + "B", + 547, + [ + 272, + 144, + 64, + 32, + 8, + 6 + ], + [ + 272, + 144, + 64, + 32, + 8, + 6, + 1 + ] + ], + [ + "B", + 557, + [ + 280, + 137, + 73, + 6 + ], + [ + 257, + 137, + 73, + 25, + 6 + ] + ], + [ + "B", + 559, + [ + 265, + 137, + 81, + 6 + ], + [ + 265, + 137, + 72, + 25, + 6 + ] + ], + [ + "B", + 560, + [ + 265, + 137, + 81, + 32, + 6 + ], + [ + 265, + 137, + 72, + 32, + 25, + 6 + ] + ], + [ + "B", + 561, + [ + 401, + 64, + 32, + 9, + 6 + ], + [ + 385, + 64, + 32, + 16, + 9, + 6 + ] + ], + [ + "B", + 562, + [ + 265, + 137, + 73, + 17, + 6 + ], + [ + 257, + 129, + 65, + 17, + 8, + 6 + ] + ], + [ + "B", + 563, + [ + 256, + 128, + 64, + 17, + 9, + 6 + ], + [ + 256, + 128, + 64, + 16, + 8, + 6, + 1 + ] + ], + [ + "B", + 564, + [ + 265, + 137, + 73, + 32, + 24, + 6 + ], + [ + 264, + 136, + 72, + 32, + 24, + 6, + 1 + ] + ], + [ + "B", + 566, + [ + 273, + 128, + 64, + 32, + 9, + 6 + ], + [ + 257, + 128, + 64, + 32, + 16, + 9, + 6 + ] + ], + [ + "B", + 567, + [ + 265, + 137, + 73, + 32, + 17, + 6 + ], + [ + 257, + 129, + 65, + 32, + 17, + 8, + 6 + ] + ], + [ + "B", + 568, + [ + 256, + 128, + 81, + 32, + 9, + 6 + ], + [ + 256, + 128, + 65, + 32, + 16, + 9, + 6 + ] + ], + [ + "B", + 580, + [ + 265, + 193, + 40, + 6 + ], + [ + 265, + 144, + 81, + 40, + 6 + ] + ], + [ + "B", + 581, + [ + 265, + 193, + 40, + 17, + 6 + ], + [ + 265, + 129, + 64, + 40, + 17, + 6 + ] + ], + [ + "B", + 582, + [ + 289, + 176, + 96, + 9, + 6 + ], + [ + 289, + 160, + 96, + 16, + 9, + 6 + ] + ], + [ + "B", + 583, + [ + 265, + 152, + 80, + 33, + 6 + ], + [ + 257, + 144, + 80, + 33, + 8, + 6 + ] + ], + [ + "B", + 584, + [ + 256, + 145, + 80, + 33, + 9, + 6 + ], + [ + 256, + 144, + 80, + 32, + 8, + 6, + 1 + ] + ], + [ + "B", + 585, + [ + 265, + 128, + 65, + 40, + 17, + 6 + ], + [ + 264, + 128, + 64, + 40, + 16, + 6, + 1 + ] + ], + [ + "B", + 586, + [ + 256, + 145, + 65, + 33, + 9, + 6 + ], + [ + 256, + 129, + 65, + 33, + 16, + 9, + 6 + ] + ], + [ + "B", + 587, + [ + 273, + 128, + 80, + 48, + 9, + 6 + ], + [ + 257, + 128, + 64, + 32, + 16, + 9, + 6 + ] + ], + [ + "B", + 589, + [ + 256, + 193, + 33, + 17, + 9, + 6 + ], + [ + 256, + 129, + 64, + 33, + 17, + 9, + 6 + ] + ], + [ + "B", + 602, + [ + 256, + 144, + 73, + 57, + 6 + ], + [ + 256, + 129, + 73, + 40, + 17, + 6 + ] + ], + [ + "B", + 603, + [ + 297, + 169, + 104, + 16, + 6 + ], + [ + 288, + 160, + 97, + 16, + 9, + 6 + ] + ], + [ + "B", + 604, + [ + 272, + 152, + 73, + 33, + 6 + ], + [ + 272, + 145, + 64, + 33, + 9, + 6 + ] + ], + [ + "B", + 605, + [ + 272, + 144, + 65, + 33, + 8, + 6 + ], + [ + 272, + 144, + 64, + 32, + 8, + 6, + 1 + ] + ], + [ + "B", + 606, + [ + 256, + 128, + 73, + 41, + 16, + 6 + ], + [ + 256, + 128, + 72, + 40, + 16, + 6, + 1 + ] + ], + [ + "B", + 607, + [ + 264, + 136, + 73, + 33, + 16, + 6 + ], + [ + 257, + 129, + 64, + 33, + 16, + 9, + 6 + ] + ], + [ + "B", + 609, + [ + 264, + 128, + 73, + 33, + 24, + 6 + ], + [ + 257, + 128, + 64, + 33, + 17, + 9, + 6 + ] + ], + [ + "B", + 610, + [ + 256, + 136, + 73, + 33, + 24, + 6 + ], + [ + 256, + 129, + 64, + 33, + 17, + 9, + 6 + ] + ], + [ + "B", + 620, + [ + 368, + 161, + 8, + 6 + ], + [ + 273, + 161, + 97, + 8, + 6 + ] + ], + [ + "B", + 623, + [ + 256, + 193, + 33, + 16, + 6 + ], + [ + 256, + 129, + 64, + 33, + 16, + 6 + ] + ], + [ + "B", + 624, + [ + 289, + 161, + 112, + 8, + 6 + ], + [ + 289, + 161, + 97, + 17, + 8, + 6 + ] + ], + [ + "B", + 625, + [ + 321, + 144, + 49, + 8, + 6 + ], + [ + 273, + 144, + 80, + 49, + 8, + 6 + ] + ], + [ + "B", + 626, + [ + 272, + 144, + 81, + 49, + 8, + 6 + ], + [ + 272, + 144, + 80, + 48, + 8, + 6, + 1 + ] + ], + [ + "B", + 627, + [ + 256, + 128, + 65, + 33, + 16, + 6 + ], + [ + 256, + 128, + 64, + 32, + 16, + 6, + 1 + ] + ], + [ + "B", + 629, + [ + 256, + 128, + 81, + 33, + 8, + 6 + ], + [ + 256, + 128, + 64, + 33, + 17, + 8, + 6 + ] + ], + [ + "B", + 630, + [ + 321, + 128, + 33, + 16, + 8, + 6 + ], + [ + 257, + 128, + 64, + 33, + 16, + 8, + 6 + ] + ], + [ + "B", + 631, + [ + 256, + 193, + 33, + 16, + 8, + 6 + ], + [ + 256, + 129, + 64, + 33, + 16, + 8, + 6 + ] + ], + [ + "B", + 641, + [ + 256, + 216, + 40, + 6 + ], + [ + 256, + 216, + 40, + 6, + 1 + ] + ], + [ + "B", + 644, + [ + 272, + 144, + 80, + 56, + 6 + ], + [ + 272, + 144, + 80, + 56, + 6, + 1 + ] + ], + [ + "B", + 645, + [ + 392, + 64, + 40, + 16, + 6 + ], + [ + 392, + 64, + 40, + 16, + 6, + 1 + ] + ], + [ + "B", + 646, + [ + 256, + 128, + 88, + 40, + 6 + ], + [ + 256, + 128, + 88, + 40, + 6, + 1 + ] + ], + [ + "B", + 648, + [ + 264, + 136, + 72, + 32, + 24, + 6 + ], + [ + 264, + 136, + 72, + 32, + 24, + 6, + 1 + ] + ], + [ + "B", + 649, + [ + 264, + 128, + 64, + 40, + 16, + 6 + ], + [ + 264, + 128, + 64, + 40, + 16, + 6, + 1 + ] + ], + [ + "B", + 651, + [ + 256, + 128, + 72, + 40, + 16, + 6 + ], + [ + 256, + 128, + 72, + 40, + 16, + 6, + 1 + ] + ], + [ + "B", + 665, + [ + 320, + 192, + 41, + 17, + 6 + ], + [ + 320, + 192, + 33, + 17, + 8, + 6 + ] + ], + [ + "B", + 666, + [ + 401, + 81, + 49, + 9, + 6 + ], + [ + 385, + 65, + 33, + 16, + 9, + 6 + ] + ], + [ + "B", + 667, + [ + 280, + 152, + 64, + 49, + 6 + ], + [ + 257, + 129, + 64, + 40, + 25, + 6 + ] + ], + [ + "B", + 668, + [ + 256, + 128, + 64, + 41, + 24, + 6 + ], + [ + 256, + 128, + 64, + 40, + 24, + 6, + 1 + ] + ], + [ + "B", + 669, + [ + 320, + 192, + 32, + 17, + 9, + 6 + ], + [ + 320, + 192, + 32, + 16, + 8, + 6, + 1 + ] + ], + [ + "B", + 670, + [ + 256, + 145, + 81, + 49, + 9, + 6 + ], + [ + 256, + 129, + 65, + 33, + 16, + 9, + 6 + ] + ], + [ + "B", + 672, + [ + 273, + 145, + 64, + 49, + 9, + 6 + ], + [ + 257, + 129, + 64, + 33, + 16, + 9, + 6 + ] + ], + [ + "B", + 673, + [ + 256, + 128, + 64, + 41, + 17, + 6 + ], + [ + 256, + 128, + 64, + 33, + 17, + 8, + 6 + ] + ], + [ + "B", + 686, + [ + 280, + 137, + 80, + 33, + 6 + ], + [ + 272, + 129, + 80, + 33, + 8, + 6 + ] + ], + [ + "B", + 687, + [ + 304, + 161, + 96, + 9, + 6 + ], + [ + 288, + 161, + 96, + 16, + 9, + 6 + ] + ], + [ + "B", + 688, + [ + 321, + 137, + 40, + 17, + 6 + ], + [ + 257, + 137, + 64, + 40, + 17, + 6 + ] + ], + [ + "B", + 689, + [ + 256, + 137, + 65, + 40, + 17, + 6 + ], + [ + 256, + 136, + 64, + 40, + 16, + 6, + 1 + ] + ], + [ + "B", + 690, + [ + 273, + 128, + 80, + 33, + 9, + 6 + ], + [ + 272, + 128, + 80, + 32, + 8, + 6, + 1 + ] + ], + [ + "B", + 691, + [ + 256, + 145, + 80, + 48, + 9, + 6 + ], + [ + 256, + 129, + 64, + 32, + 16, + 9, + 6 + ] + ], + [ + "B", + 692, + [ + 273, + 128, + 65, + 33, + 9, + 6 + ], + [ + 257, + 128, + 65, + 33, + 16, + 9, + 6 + ] + ], + [ + "B", + 693, + [ + 321, + 128, + 33, + 17, + 9, + 6 + ], + [ + 257, + 128, + 64, + 33, + 17, + 9, + 6 + ] + ], + [ + "B", + 1232, + [ + 256, + 128, + 64, + 34, + 18, + 10, + 6, + 1 + ], + [ + 256, + 128, + 64, + 40, + 24, + 6, + 1 + ] + ], + [ + "B", + 1235, + [ + 256, + 128, + 64, + 34, + 16, + 8, + 6, + 1 + ], + [ + 256, + 128, + 64, + 16, + 8, + 6, + 1 + ] + ], + [ + "B", + 1238, + [ + 258, + 130, + 66, + 32, + 18, + 10, + 6, + 1 + ], + [ + 264, + 136, + 72, + 32, + 24, + 6, + 1 + ] + ], + [ + "B", + 1241, + [ + 258, + 130, + 66, + 32, + 16, + 8, + 6, + 1 + ], + [ + 320, + 192, + 32, + 16, + 8, + 6, + 1 + ] + ], + [ + "B", + 1244, + [ + 256, + 130, + 64, + 34, + 16, + 10, + 6, + 1 + ], + [ + 256, + 136, + 64, + 40, + 16, + 6, + 1 + ] + ], + [ + "B", + 1247, + [ + 256, + 130, + 66, + 32, + 18, + 8, + 6, + 1 + ], + [ + 256, + 144, + 80, + 32, + 8, + 6, + 1 + ] + ], + [ + "B", + 1250, + [ + 258, + 128, + 64, + 34, + 16, + 10, + 6, + 1 + ], + [ + 264, + 128, + 64, + 40, + 16, + 6, + 1 + ] + ], + [ + "B", + 1253, + [ + 258, + 128, + 66, + 32, + 18, + 8, + 6, + 1 + ], + [ + 272, + 128, + 80, + 32, + 8, + 6, + 1 + ] + ], + [ + "B", + 1256, + [ + 258, + 130, + 66, + 34, + 18, + 8, + 6, + 1 + ], + [ + 272, + 144, + 80, + 48, + 8, + 6, + 1 + ] + ], + [ + "B", + 1259, + [ + 258, + 130, + 64, + 32, + 18, + 8, + 6, + 1 + ], + [ + 272, + 144, + 64, + 32, + 8, + 6, + 1 + ] + ], + [ + "B", + 1262, + [ + 256, + 128, + 66, + 34, + 16, + 10, + 6, + 1 + ], + [ + 256, + 128, + 72, + 40, + 16, + 6, + 1 + ] + ], + [ + "B", + 1265, + [ + 256, + 128, + 64, + 32, + 16, + 10, + 6, + 1 + ], + [ + 256, + 128, + 64, + 32, + 16, + 6, + 1 + ] + ], + [ + "B", + 1268, + [ + 256, + 128, + 66, + 34, + 16, + 8, + 4, + 1 + ], + [ + 256, + 128, + 66, + 34, + 24, + 4, + 1 + ] + ], + [ + "B", + 1271, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 4, + 1 + ], + [ + 256, + 128, + 64, + 32, + 24, + 4, + 1 + ] + ], + [ + "B", + 1274, + [ + 260, + 132, + 68, + 36, + 20, + 12, + 2, + 1 + ], + [ + 260, + 132, + 68, + 36, + 24, + 2, + 1 + ] + ], + [ + "B", + 1277, + [ + 260, + 132, + 64, + 32, + 16, + 8, + 2, + 1 + ], + [ + 260, + 132, + 64, + 32, + 24, + 2, + 1 + ] + ], + [ + "B", + 1280, + [ + 258, + 128, + 64, + 34, + 18, + 10, + 4, + 1 + ], + [ + 258, + 128, + 64, + 34, + 24, + 4, + 1 + ] + ], + [ + "B", + 1283, + [ + 260, + 128, + 68, + 32, + 16, + 8, + 2, + 1 + ], + [ + 260, + 128, + 68, + 32, + 24, + 2, + 1 + ] + ], + [ + "B", + 1286, + [ + 256, + 130, + 64, + 34, + 16, + 8, + 4, + 1 + ], + [ + 256, + 130, + 64, + 34, + 24, + 4, + 1 + ] + ], + [ + "B", + 1289, + [ + 256, + 132, + 68, + 32, + 20, + 12, + 2, + 1 + ], + [ + 256, + 132, + 68, + 32, + 24, + 2, + 1 + ] + ], + [ + "B", + 1292, + [ + 258, + 130, + 64, + 34, + 16, + 10, + 4, + 1 + ], + [ + 262, + 134, + 64, + 38, + 20, + 10, + 1 + ] + ], + [ + "B", + 1295, + [ + 258, + 130, + 66, + 32, + 18, + 8, + 4, + 1 + ], + [ + 262, + 134, + 70, + 32, + 18, + 12, + 1 + ] + ], + [ + "B", + 1298, + [ + 256, + 128, + 64, + 34, + 18, + 8, + 4, + 1 + ], + [ + 256, + 128, + 64, + 38, + 18, + 12, + 1 + ] + ], + [ + "B", + 1301, + [ + 256, + 128, + 66, + 32, + 16, + 10, + 4, + 1 + ], + [ + 256, + 128, + 70, + 32, + 20, + 10, + 1 + ] + ], + [ + "B", + 1304, + [ + 256, + 132, + 68, + 36, + 20, + 8, + 2, + 1 + ], + [ + 256, + 134, + 70, + 38, + 20, + 10, + 1 + ] + ], + [ + "B", + 1307, + [ + 256, + 130, + 64, + 32, + 16, + 10, + 4, + 1 + ], + [ + 256, + 134, + 64, + 32, + 20, + 10, + 1 + ] + ], + [ + "B", + 1310, + [ + 258, + 128, + 66, + 34, + 16, + 10, + 4, + 1 + ], + [ + 262, + 128, + 70, + 38, + 20, + 10, + 1 + ] + ], + [ + "B", + 1313, + [ + 260, + 128, + 64, + 32, + 20, + 8, + 2, + 1 + ], + [ + 262, + 128, + 64, + 32, + 20, + 10, + 1 + ] + ], + [ + "B", + 1316, + [ + 256, + 128, + 65, + 33, + 16, + 9, + 5, + 2 + ], + [ + 256, + 128, + 65, + 33, + 18, + 11, + 7 + ] + ], + [ + "B", + 1319, + [ + 256, + 128, + 64, + 32, + 17, + 8, + 4, + 3 + ], + [ + 256, + 128, + 64, + 32, + 18, + 11, + 7 + ] + ], + [ + "B", + 1322, + [ + 257, + 129, + 65, + 33, + 17, + 8, + 5, + 2 + ], + [ + 257, + 129, + 65, + 33, + 19, + 10, + 7 + ] + ], + [ + "B", + 1325, + [ + 257, + 129, + 64, + 32, + 16, + 9, + 4, + 3 + ], + [ + 257, + 129, + 64, + 32, + 19, + 10, + 7 + ] + ], + [ + "B", + 1328, + [ + 257, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ], + [ + 257, + 128, + 64, + 33, + 18, + 11, + 7 + ] + ], + [ + "B", + 1331, + [ + 257, + 128, + 65, + 32, + 16, + 9, + 4, + 3 + ], + [ + 257, + 128, + 65, + 32, + 19, + 10, + 7 + ] + ], + [ + "B", + 1334, + [ + 256, + 129, + 64, + 33, + 16, + 9, + 5, + 2 + ], + [ + 256, + 129, + 64, + 33, + 18, + 11, + 7 + ] + ], + [ + "B", + 1337, + [ + 256, + 129, + 65, + 32, + 17, + 8, + 5, + 2 + ], + [ + 256, + 129, + 65, + 32, + 19, + 10, + 7 + ] + ], + [ + "B", + 1340, + [ + 257, + 129, + 64, + 33, + 16, + 8, + 4, + 3 + ], + [ + 257, + 129, + 64, + 33, + 24, + 4, + 3 + ] + ], + [ + "B", + 1343, + [ + 257, + 129, + 65, + 32, + 17, + 9, + 5, + 2 + ], + [ + 257, + 129, + 65, + 32, + 24, + 5, + 2 + ] + ], + [ + "B", + 1346, + [ + 256, + 128, + 64, + 33, + 17, + 9, + 5, + 2 + ], + [ + 256, + 128, + 64, + 33, + 24, + 5, + 2 + ] + ], + [ + "B", + 1349, + [ + 256, + 128, + 65, + 32, + 16, + 8, + 4, + 3 + ], + [ + 256, + 128, + 65, + 32, + 24, + 4, + 3 + ] + ], + [ + "B", + 1352, + [ + 256, + 129, + 65, + 33, + 17, + 9, + 4, + 3 + ], + [ + 256, + 129, + 65, + 33, + 24, + 4, + 3 + ] + ], + [ + "B", + 1355, + [ + 256, + 129, + 64, + 32, + 16, + 8, + 4, + 3 + ], + [ + 256, + 129, + 64, + 32, + 24, + 4, + 3 + ] + ], + [ + "B", + 1358, + [ + 257, + 128, + 65, + 33, + 16, + 8, + 4, + 3 + ], + [ + 257, + 128, + 65, + 33, + 24, + 4, + 3 + ] + ], + [ + "B", + 1361, + [ + 257, + 128, + 64, + 32, + 17, + 9, + 4, + 3 + ], + [ + 257, + 128, + 64, + 32, + 24, + 4, + 3 + ] + ], + [ + "B", + 1364, + [ + 257, + 128, + 65, + 33, + 16, + 9, + 5, + 3 + ], + [ + 257, + 128, + 65, + 33, + 16, + 9, + 6 + ] + ], + [ + "B", + 1367, + [ + 257, + 128, + 64, + 32, + 16, + 9, + 5, + 3 + ], + [ + 257, + 128, + 64, + 32, + 16, + 9, + 6 + ] + ], + [ + "B", + 1370, + [ + 256, + 129, + 65, + 33, + 16, + 9, + 5, + 3 + ], + [ + 256, + 129, + 65, + 33, + 16, + 9, + 6 + ] + ], + [ + "B", + 1373, + [ + 256, + 129, + 64, + 32, + 16, + 9, + 5, + 3 + ], + [ + 256, + 129, + 64, + 32, + 16, + 9, + 6 + ] + ], + [ + "B", + 1376, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 5, + 3 + ], + [ + 256, + 128, + 64, + 33, + 17, + 8, + 6 + ] + ], + [ + "B", + 1379, + [ + 256, + 128, + 65, + 32, + 16, + 9, + 5, + 3 + ], + [ + 256, + 128, + 65, + 32, + 16, + 9, + 6 + ] + ], + [ + "B", + 1382, + [ + 257, + 129, + 64, + 33, + 16, + 9, + 5, + 3 + ], + [ + 257, + 129, + 64, + 33, + 16, + 9, + 6 + ] + ], + [ + "B", + 1385, + [ + 257, + 129, + 65, + 32, + 17, + 8, + 5, + 3 + ], + [ + 257, + 129, + 65, + 32, + 17, + 8, + 6 + ] + ], + [ + "B", + 1388, + [ + 256, + 129, + 64, + 33, + 16, + 8, + 5, + 3 + ], + [ + 256, + 129, + 64, + 33, + 16, + 8, + 6 + ] + ], + [ + "B", + 1391, + [ + 256, + 129, + 64, + 33, + 17, + 9, + 5, + 3 + ], + [ + 256, + 129, + 64, + 33, + 17, + 9, + 6 + ] + ], + [ + "B", + 1394, + [ + 257, + 128, + 64, + 33, + 17, + 9, + 5, + 3 + ], + [ + 257, + 128, + 64, + 33, + 17, + 9, + 6 + ] + ], + [ + "B", + 1397, + [ + 257, + 128, + 64, + 33, + 16, + 8, + 5, + 3 + ], + [ + 257, + 128, + 64, + 33, + 16, + 8, + 6 + ] + ], + [ + "B", + 1398, + [ + 256, + 128, + 64, + 34, + 24, + 6, + 1 + ], + [ + 257, + 129, + 65, + 35, + 24, + 6 + ] + ], + [ + "B", + 1399, + [ + 256, + 128, + 64, + 34, + 24, + 6, + 1 + ], + [ + 257, + 129, + 65, + 35, + 24, + 6 + ] + ], + [ + "B", + 1402, + [ + 256, + 128, + 64, + 24, + 4, + 2, + 1 + ], + [ + 257, + 129, + 65, + 24, + 4, + 2 + ] + ], + [ + "B", + 1403, + [ + 256, + 128, + 64, + 24, + 4, + 2, + 1 + ], + [ + 257, + 129, + 65, + 24, + 4, + 2 + ] + ], + [ + "B", + 1406, + [ + 256, + 128, + 64, + 42, + 24, + 6, + 1 + ], + [ + 257, + 129, + 65, + 42, + 24, + 6 + ] + ], + [ + "B", + 1407, + [ + 256, + 128, + 64, + 42, + 24, + 6, + 1 + ], + [ + 257, + 129, + 65, + 42, + 24, + 6 + ] + ], + [ + "B", + 1410, + [ + 256, + 128, + 64, + 18, + 10, + 6, + 1 + ], + [ + 257, + 129, + 65, + 19, + 11, + 6 + ] + ], + [ + "B", + 1411, + [ + 256, + 128, + 64, + 18, + 10, + 6, + 1 + ], + [ + 257, + 129, + 65, + 19, + 11, + 6 + ] + ], + [ + "B", + 1814, + [ + 256, + 129, + 64, + 33, + 24, + 5, + 3 + ], + [ + 259, + 129, + 67, + 33, + 24, + 6 + ] + ], + [ + "B", + 1815, + [ + 256, + 129, + 64, + 33, + 24, + 5, + 3 + ], + [ + 259, + 129, + 67, + 33, + 24, + 6 + ] + ], + [ + "B", + 1818, + [ + 256, + 129, + 64, + 33, + 24, + 4, + 2 + ], + [ + 320, + 129, + 33, + 24, + 4, + 2 + ] + ], + [ + "B", + 1819, + [ + 256, + 129, + 64, + 33, + 24, + 4, + 2 + ], + [ + 320, + 129, + 33, + 24, + 4, + 2 + ] + ], + [ + "B", + 1822, + [ + 256, + 129, + 64, + 33, + 18, + 10, + 6 + ], + [ + 266, + 129, + 74, + 33, + 24, + 6 + ] + ], + [ + "B", + 1823, + [ + 256, + 129, + 64, + 33, + 18, + 10, + 6 + ], + [ + 266, + 129, + 74, + 33, + 24, + 6 + ] + ], + [ + "B", + 1826, + [ + 256, + 129, + 64, + 33, + 19, + 11, + 6 + ], + [ + 320, + 129, + 33, + 19, + 11, + 6 + ] + ], + [ + "B", + 1827, + [ + 256, + 129, + 64, + 33, + 19, + 11, + 6 + ], + [ + 320, + 129, + 33, + 19, + 11, + 6 + ] + ], + [ + "T", + 76, + [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ], + [ + 386, + 67, + 33, + 24, + 6 + ] + ], + [ + "T", + 97, + [ + 256, + 128, + 72, + 40, + 24, + 4, + 2, + 1 + ], + [ + 386, + 74, + 40, + 26, + 6, + 1 + ] + ] + ], + "expected": { + "output_content_sha256": "db2c7cfb3f8eee2b76c2e0154fc530520fb4d90cd9511a002cab527b16033b83", + "local_profile": { + "1": 2412, + "2": 418, + "3": 418, + "4": 170, + "5": 68, + "8": 8 + }, + "width_inventory": { + "4": 56, + "5": 32, + "7": 30, + "8": 122, + "9": 240 + } + } +} \ No newline at end of file diff --git a/research/gauge44-slots-t16/construction/leaver/HPE-RECIPE-k8.json b/research/gauge44-slots-t16/construction/leaver/HPE-RECIPE-k8.json new file mode 100644 index 0000000000..94d36f2279 --- /dev/null +++ b/research/gauge44-slots-t16/construction/leaver/HPE-RECIPE-k8.json @@ -0,0 +1 @@ +{"changes": [{"helper": 448, "cleanup_index": 630, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 449, "cleanup_index": 629, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 450, "cleanup_index": 628, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 451, "cleanup_index": 627, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 452, "cleanup_index": 626, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 453, "cleanup_index": 625, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 454, "cleanup_index": 624, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 455, "cleanup_index": 623, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 484, "cleanup_index": 585, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 485, "cleanup_index": 584, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 508, "cleanup_index": 549, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 509, "cleanup_index": 548, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 532, "cleanup_index": 515, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 533, "cleanup_index": 514, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 556, "cleanup_index": 483, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 557, "cleanup_index": 482, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 584, "cleanup_index": 455, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 585, "cleanup_index": 454, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 587, "cleanup_index": 452, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 589, "cleanup_index": 450, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 590, "cleanup_index": 449, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 591, "cleanup_index": 448, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}]} \ No newline at end of file diff --git a/research/gauge44-slots-t16/construction/leaver/LEAVER-PINS-k8.json b/research/gauge44-slots-t16/construction/leaver/LEAVER-PINS-k8.json new file mode 100644 index 0000000000..b22678629c --- /dev/null +++ b/research/gauge44-slots-t16/construction/leaver/LEAVER-PINS-k8.json @@ -0,0 +1,45 @@ +{ + "raw_sha256": "85c0e64718a9ceafe094e7152ea27ec9d7f804e514b5efaab085a94b7ef1841f", + "regroup_count": 12, + "regroup_sha256": "00aeefe0c778ff64125628d7c869ae1aa27db60911f0289a2d4283af5cff85d2", + "hpe_recipe_sha256": "f04e4d152a9169726d0afabd7c6e0fd2e17388707dd6d10c7b51593e360ab38a", + "pairing_ranks": [ + 0, + 0, + 0, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 0, + 0, + 0 + ], + "cold44_sha256": "58e14a02f2c1d4dcfeb363ebd5fa2e713064b5c724d90f6721419a8cfa67729b", + "R": 480, + "local_profile": { + "1": 2394, + "2": 398, + "3": 508, + "4": 142, + "5": 56, + "8": 8 + }, + "width_inventory": { + "4": 40, + "5": 48, + "7": 22, + "8": 114, + "9": 256 + }, + "canonical_sha256": "854c4cfa867bb75b63412044235c3df5af00b3470c3b310aff4df839a1d71c6e", + "program_sha256": { + "forward": "f0e42fdb881155e7712220e1469452f04343b98c5b414ddd1271d80c9fa2a6f1", + "backward": "95df892bdee54f5700780c989edc9bf7618efaa56058af63a946aff63f5dbeb4" + }, + "clifford_recipes_sha256": "aab63b0a825fdf0ca504038a78b7371310eaef2748fbf80af74f7e4e47abce76" +} diff --git a/research/gauge44-slots-t16/construction/leaver/LEC-REASON-PINS-STACK-k8.json b/research/gauge44-slots-t16/construction/leaver/LEC-REASON-PINS-STACK-k8.json new file mode 100644 index 0000000000..820ee8d63a --- /dev/null +++ b/research/gauge44-slots-t16/construction/leaver/LEC-REASON-PINS-STACK-k8.json @@ -0,0 +1,5 @@ +{ + "not_applicable": { + "extra_end": "partner 282 already cold-ended at h0 273 frame (identity)" + } +} diff --git a/research/gauge44-slots-t16/construction/leaver/LEC-REASON-PINS-k8.json b/research/gauge44-slots-t16/construction/leaver/LEC-REASON-PINS-k8.json new file mode 100644 index 0000000000..5218a5f096 --- /dev/null +++ b/research/gauge44-slots-t16/construction/leaver/LEC-REASON-PINS-k8.json @@ -0,0 +1,6 @@ +{ + "not_applicable": { + "extra_end": "partner 282 already cold-ended at h0 273 frame (identity)", + "other_hp:554": "tail frame dim 5; no other helper_final frame of that dim" + } +} diff --git a/research/gauge44-slots-t16/construction/leaver/PIVOT-SWAP-k8.json b/research/gauge44-slots-t16/construction/leaver/PIVOT-SWAP-k8.json new file mode 100644 index 0000000000..7a8edeb1e4 --- /dev/null +++ b/research/gauge44-slots-t16/construction/leaver/PIVOT-SWAP-k8.json @@ -0,0 +1 @@ +{"input_content_sha256": "00aeefe0c778ff64125628d7c869ae1aa27db60911f0289a2d4283af5cff85d2", "output_content_sha256": "377ab10c2bf6173498c8af15f8654060331ec9ee232e58cc75956dc015b23685", "swaps": [{"pivot": 482, "new_pivot": 554, "entrance": [24], "gates": [{"part": "B", "index": 331, "before": ["add", 554, 482, -1, 1, [24]], "after": ["add", 482, 554, -1, 1, [24]]}, {"part": "B", "index": 332, "before": ["add", 616, 482, 2, 1, [24]], "after": ["add", 616, 554, -2, 1, [24]]}, {"part": "B", "index": 333, "before": ["add", 618, 482, -2, 1, [24]], "after": ["add", 618, 554, 2, 1, [24]]}, {"part": "B", "index": 334, "before": ["add", 664, 482, 1, 1, [24]], "after": ["add", 664, 554, -1, 1, [24]]}, {"part": "B", "index": 335, "before": ["add", 666, 482, -1, 1, [24]], "after": ["add", 666, 554, 1, 1, [24]]}]}, {"pivot": 483, "new_pivot": 555, "entrance": [24], "gates": [{"part": "B", "index": 468, "before": ["add", 123, 483, 1, 1, [24]], "after": ["add", 123, 555, -1, 1, [24]]}, {"part": "B", "index": 504, "before": ["add", 187, 483, -1, 1, [24]], "after": ["add", 187, 555, 1, 1, [24]]}, {"part": "B", "index": 734, "before": ["add", 555, 483, -1, 1, [24]], "after": ["add", 483, 555, -1, 1, [24]]}]}, {"pivot": 494, "new_pivot": 566, "entrance": [24], "gates": [{"part": "B", "index": 128, "before": ["add", 628, 494, 2, 1, [24]], "after": ["add", 628, 566, -2, 1, [24]]}, {"part": "B", "index": 130, "before": ["add", 628, 494, -2, 1, [24]], "after": ["add", 628, 566, 2, 1, [24]]}, {"part": "B", "index": 230, "before": ["add", 676, 494, -2, 1, [24]], "after": ["add", 676, 566, 2, 1, [24]]}, {"part": "B", "index": 232, "before": ["add", 676, 494, 2, 1, [24]], "after": ["add", 676, 566, -2, 1, [24]]}, {"part": "B", "index": 750, "before": ["add", 566, 494, -1, 1, [24]], "after": ["add", 494, 566, -1, 1, [24]]}]}, {"pivot": 495, "new_pivot": 567, "entrance": [24], "gates": [{"part": "B", "index": 49, "before": ["add", 211, 495, -1, 1, [24]], "after": ["add", 211, 567, 1, 1, [24]]}, {"part": "B", "index": 477, "before": ["add", 147, 495, 1, 1, [24]], "after": ["add", 147, 567, -1, 1, [24]]}, {"part": "B", "index": 752, "before": ["add", 567, 495, -1, 1, [24]], "after": ["add", 495, 567, -1, 1, [24]]}]}, {"pivot": 507, "new_pivot": 531, "entrance": [30], "gates": [{"part": "B", "index": 459, "before": ["add", 115, 507, -1, 1, [30]], "after": ["add", 115, 531, 1, 1, [30]]}, {"part": "B", "index": 495, "before": ["add", 179, 507, 1, 1, [30]], "after": ["add", 179, 531, -1, 1, [30]]}, {"part": "B", "index": 770, "before": ["add", 531, 507, -1, 1, [30]], "after": ["add", 507, 531, -1, 1, [30]]}]}, {"pivot": 519, "new_pivot": 543, "entrance": [30], "gates": [{"part": "B", "index": 486, "before": ["add", 155, 519, -1, 1, [30]], "after": ["add", 155, 543, 1, 1, [30]]}, {"part": "B", "index": 521, "before": ["add", 219, 519, 1, 1, [30]], "after": ["add", 219, 543, -1, 1, [30]]}, {"part": "B", "index": 788, "before": ["add", 543, 519, -1, 1, [30]], "after": ["add", 519, 543, -1, 1, [30]]}]}]} \ No newline at end of file diff --git a/research/gauge44-slots-t16/construction/leaver/PROMO-RECIPE-k8.json b/research/gauge44-slots-t16/construction/leaver/PROMO-RECIPE-k8.json new file mode 100644 index 0000000000..1952580fc8 --- /dev/null +++ b/research/gauge44-slots-t16/construction/leaver/PROMO-RECIPE-k8.json @@ -0,0 +1,971 @@ +{ + "input_content_sha256": "25c406149bd3fddf8548ea03521983720d88b11096ce1c1f01e6d480ce50ce18", + "groups": [ + 627, + 629, + 630, + 631, + 635, + 637, + 638, + 639, + 651, + 653, + 654, + 655, + 659, + 661, + 662, + 663 + ], + "entrances": { + "603": [ + 408, + 80, + 40, + 6, + 1 + ], + "605": [ + 408, + 80, + 40, + 6, + 1 + ], + "606": [ + 408, + 80, + 40, + 6, + 1 + ], + "607": [ + 408, + 80, + 40, + 6, + 1 + ], + "611": [ + 272, + 144, + 96, + 6, + 1 + ], + "613": [ + 272, + 144, + 96, + 6, + 1 + ], + "614": [ + 272, + 144, + 96, + 6, + 1 + ], + "615": [ + 272, + 144, + 96, + 6, + 1 + ], + "627": [ + 390, + 68, + 34, + 24, + 1 + ], + "629": [ + 390, + 68, + 34, + 24, + 1 + ], + "630": [ + 390, + 68, + 34, + 24, + 1 + ], + "631": [ + 390, + 68, + 34, + 24, + 1 + ], + "635": [ + 298, + 170, + 102, + 30, + 1 + ], + "637": [ + 298, + 170, + 102, + 30, + 1 + ], + "638": [ + 298, + 170, + 102, + 30, + 1 + ], + "639": [ + 298, + 170, + 102, + 30, + 1 + ] + }, + "gate_frames": [ + [ + "B", + 372, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 373, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 374, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 375, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 376, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 377, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 378, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 379, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 380, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 381, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 382, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 383, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 384, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 385, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 386, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 387, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 388, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 389, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 390, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 391, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 392, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 393, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 394, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 395, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 396, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 397, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 398, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 399, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 400, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 401, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 402, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 403, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 404, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 405, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 406, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 407, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 408, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 409, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 410, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 411, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 412, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 413, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 414, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 415, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 416, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 417, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 418, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 419, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ] + ], + "expected": { + "output_content_sha256": "84d4da2e2ee227821c132a635c41415243d083935c0410ec4ded805d00d645a4", + "local_profile": { + "1": 2460, + "2": 388, + "3": 466, + "4": 152, + "5": 56, + "8": 8 + }, + "width_inventory": { + "4": 56, + "5": 32, + "7": 30, + "8": 122, + "9": 240 + } + } +} \ No newline at end of file diff --git a/research/gauge44-slots-t16/construction/leaver/RECIPE-U8-k8.json b/research/gauge44-slots-t16/construction/leaver/RECIPE-U8-k8.json new file mode 100644 index 0000000000..98ea6e3d23 --- /dev/null +++ b/research/gauge44-slots-t16/construction/leaver/RECIPE-U8-k8.json @@ -0,0 +1,933 @@ +{ + "base_sha256": "84d4da2e2ee227821c132a635c41415243d083935c0410ec4ded805d00d645a4", + "B_delete": [ + 1, + 3, + 5, + 7, + 9, + 11, + 878, + 880, + 886, + 888, + 894, + 896, + 902, + 904, + 910, + 912, + 918, + 920, + 1167, + 1169, + 1175, + 1177, + 1183, + 1185, + 1191, + 1193, + 1199, + 1201, + 1207, + 1209 + ], + "B_insert": [ + [ + 1, + [ + "add", + 125, + 448, + 1, + 2, + [ + 24 + ] + ] + ], + [ + 3, + [ + "add", + 121, + 449, + 1, + 2, + [ + 24 + ] + ] + ], + [ + 5, + [ + "add", + 181, + 450, + 1, + 2, + [ + 30 + ] + ] + ], + [ + 7, + [ + "add", + 177, + 451, + 1, + 2, + [ + 30 + ] + ] + ], + [ + 9, + [ + "add", + 117, + 452, + -1, + 1, + [ + 30 + ] + ] + ], + [ + 11, + [ + "add", + 113, + 453, + -1, + 1, + [ + 30 + ] + ] + ], + [ + 724, + [ + "add", + 472, + 231, + 1, + 1, + [ + 386, + 64, + 34, + 24, + 4, + 1 + ] + ] + ], + [ + 725, + [ + "add", + 473, + 226, + 1, + 1, + [ + 388, + 68, + 32, + 24, + 2, + 1 + ] + ] + ], + [ + 741, + [ + "add", + 484, + 448, + 1, + 1, + [ + 260, + 132, + 70, + 38, + 24, + 1 + ] + ] + ], + [ + 742, + [ + "add", + 485, + 449, + 1, + 1, + [ + 260, + 132, + 64, + 32, + 24, + 1 + ] + ] + ], + [ + 759, + [ + "add", + 496, + 230, + 1, + 1, + [ + 390, + 70, + 38, + 20, + 10, + 1 + ] + ] + ], + [ + 760, + [ + "add", + 497, + 228, + 1, + 1, + [ + 390, + 64, + 32, + 20, + 10, + 1 + ] + ] + ], + [ + 777, + [ + "add", + 508, + 450, + 1, + 1, + [ + 268, + 140, + 64, + 38, + 30, + 1 + ] + ] + ], + [ + 778, + [ + "add", + 509, + 451, + 1, + 1, + [ + 266, + 138, + 70, + 32, + 30, + 1 + ] + ] + ], + [ + 795, + [ + "add", + 520, + 232, + -2, + 1, + [ + 385, + 64, + 33, + 18, + 11, + 7 + ] + ] + ], + [ + 796, + [ + "add", + 521, + 62, + -2, + 1, + [ + 385, + 65, + 32, + 19, + 10, + 7 + ] + ] + ], + [ + 811, + [ + "add", + 532, + 452, + -2, + 1, + [ + 267, + 139, + 65, + 33, + 25, + 7 + ] + ] + ], + [ + 812, + [ + "add", + 533, + 453, + -2, + 1, + [ + 267, + 139, + 64, + 32, + 25, + 7 + ] + ] + ], + [ + 1167, + [ + "add", + 125, + 448, + -1, + 2, + [ + 256, + 128, + 66, + 34, + 24, + 4, + 1 + ] + ] + ], + [ + 1169, + [ + "add", + 121, + 449, + -1, + 2, + [ + 260, + 132, + 64, + 32, + 24, + 2, + 1 + ] + ] + ], + [ + 1175, + [ + "add", + 149, + 231, + -1, + 2, + [ + 258, + 128, + 64, + 34, + 24, + 4, + 1 + ] + ] + ], + [ + 1177, + [ + "add", + 145, + 226, + -1, + 2, + [ + 256, + 132, + 68, + 32, + 24, + 2, + 1 + ] + ] + ], + [ + 1183, + [ + "add", + 181, + 450, + -1, + 2, + [ + 262, + 134, + 64, + 38, + 20, + 10, + 1 + ] + ] + ], + [ + 1185, + [ + "add", + 177, + 451, + -1, + 2, + [ + 256, + 128, + 70, + 32, + 20, + 10, + 1 + ] + ] + ], + [ + 1191, + [ + "add", + 221, + 230, + -1, + 2, + [ + 256, + 134, + 70, + 38, + 20, + 10, + 1 + ] + ] + ], + [ + 1193, + [ + "add", + 217, + 228, + -1, + 2, + [ + 262, + 128, + 64, + 32, + 20, + 10, + 1 + ] + ] + ], + [ + 1199, + [ + "add", + 117, + 452, + 1, + 1, + [ + 256, + 128, + 65, + 33, + 18, + 11, + 7 + ] + ] + ], + [ + 1201, + [ + "add", + 113, + 453, + 1, + 1, + [ + 257, + 129, + 64, + 32, + 19, + 10, + 7 + ] + ] + ], + [ + 1207, + [ + "add", + 157, + 232, + 1, + 1, + [ + 257, + 128, + 64, + 33, + 18, + 11, + 7 + ] + ] + ], + [ + 1209, + [ + "add", + 153, + 62, + 1, + 1, + [ + 256, + 129, + 65, + 32, + 19, + 10, + 7 + ] + ] + ] + ], + "B_frames": {}, + "tail_insert": [ + [ + 5, + [ + "add", + 484, + 448, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + ] + ], + [ + 3, + [ + "add", + 508, + 450, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ] + ], + [ + 1, + [ + "add", + 532, + 452, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ] + ], + [ + 4, + [ + "add", + 485, + 449, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + ] + ], + [ + 2, + [ + "add", + 509, + 451, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ] + ], + [ + 0, + [ + "add", + 533, + 453, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ] + ] + ], + "cleanup_prepend": [ + [ + "add", + 472, + 231, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 496, + 230, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 520, + 232, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 473, + 226, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 497, + 228, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 521, + 62, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ] + ], + "local_profile": { + "1": 2460, + "2": 388, + "3": 478, + "4": 128, + "5": 68, + "8": 8 + }, + "expect_sha256": "c836d8922fc9e50529e006488ca2ce4a542a93150de0e0e8f7d3955ad991968f", + "priced": { + "dk_ideal_stored_frames": 2.38661054604997e-07 + }, + "variants": [ + { + "X": 231, + "E": 448, + "dsides": [ + 878, + 886 + ], + "donors": [ + 448, + 231 + ], + "hold": [ + 484, + 472 + ], + "kept": { + "1167": 448, + "1175": 231 + }, + "when": "mid" + }, + { + "X": 230, + "E": 450, + "dsides": [ + 894, + 902 + ], + "donors": [ + 450, + 230 + ], + "hold": [ + 508, + 496 + ], + "kept": { + "1183": 450, + "1191": 230 + }, + "when": "mid" + }, + { + "X": 232, + "E": 452, + "dsides": [ + 910, + 918 + ], + "donors": [ + 452, + 232 + ], + "hold": [ + 532, + 520 + ], + "kept": { + "1199": 452, + "1207": 232 + }, + "when": "mid" + }, + { + "X": 226, + "E": 449, + "dsides": [ + 880, + 888 + ], + "donors": [ + 449, + 226 + ], + "hold": [ + 485, + 473 + ], + "kept": { + "1169": 449, + "1177": 226 + }, + "when": "mid" + }, + { + "X": 228, + "E": 451, + "dsides": [ + 896, + 904 + ], + "donors": [ + 451, + 228 + ], + "hold": [ + 509, + 497 + ], + "kept": { + "1185": 451, + "1193": 228 + }, + "when": "mid" + }, + { + "X": 62, + "E": 453, + "dsides": [ + 912, + 920 + ], + "donors": [ + 453, + 62 + ], + "hold": [ + 533, + 521 + ], + "kept": { + "1201": 453, + "1209": 62 + }, + "when": "mid" + } + ], + "source": "NewBArch RECIPE-U8 (X4 1e1d99ba), instances [62, 226, 228, 230, 231, 232] ported by LeaverSAT/hyb.py; X=236 dropped (its tail uses dropped copy helper 449)" +} \ No newline at end of file diff --git a/research/gauge44-slots-t16/construction/leaver/RECIPE-X4-k8.json b/research/gauge44-slots-t16/construction/leaver/RECIPE-X4-k8.json new file mode 100644 index 0000000000..3483acd5a5 --- /dev/null +++ b/research/gauge44-slots-t16/construction/leaver/RECIPE-X4-k8.json @@ -0,0 +1,75 @@ +{ + "input_content_sha256": "84d4da2e2ee227821c132a635c41415243d083935c0410ec4ded805d00d645a4", + "input_word": "leaver k8 sw4-stage word", + "frames_741_source": { + "pr": 741, + "commit": "e516b146", + "recipe": "scratch/WasteAttack/FRAME-RECIPE-741.json", + "frames_only_output_sha": "84d4da2e2ee227821c132a635c41415243d083935c0410ec4ded805d00d645a4", + "note": "leaver: surviving #741 frames only" + }, + "frames_741": [], + "raises": [], + "edits": { + "replace": [], + "delete": [], + "insert": [] + }, + "expected": { + "output_content_sha256": "84d4da2e2ee227821c132a635c41415243d083935c0410ec4ded805d00d645a4", + "local_profile": { + "1": 2460, + "2": 388, + "3": 466, + "4": 152, + "5": 56, + "8": 8 + } + }, + "controls": { + "C0_identity": { + "mutation": { + "kind": "empty" + }, + "expected_sha": "84d4da2e2ee227821c132a635c41415243d083935c0410ec4ded805d00d645a4", + "local_profile": { + "1": 2460, + "2": 388, + "3": 466, + "4": 152, + "5": 56, + "8": 8 + } + }, + "C1_741_only": { + "mutation": { + "kind": "only_edits_of", + "h": [], + "raises": [] + }, + "expected_sha": "84d4da2e2ee227821c132a635c41415243d083935c0410ec4ded805d00d645a4", + "local_profile": { + "1": 2460, + "2": 388, + "3": 466, + "4": 152, + "5": 56, + "8": 8 + } + }, + "N3_plain_join_moved_reads": { + "mutation": { + "kind": "drop_raises" + }, + "expected_sha": "84d4da2e2ee227821c132a635c41415243d083935c0410ec4ded805d00d645a4", + "local_profile": { + "1": 2460, + "2": 388, + "3": 466, + "4": 152, + "5": 56, + "8": 8 + } + } + } +} \ No newline at end of file diff --git a/research/gauge44-slots-t16/construction/leaver/REGROUP-LEAVER-k8.json b/research/gauge44-slots-t16/construction/leaver/REGROUP-LEAVER-k8.json new file mode 100644 index 0000000000..d482da23a8 --- /dev/null +++ b/research/gauge44-slots-t16/construction/leaver/REGROUP-LEAVER-k8.json @@ -0,0 +1,725 @@ +{ + "source": "PR635 k492-jp8-frame_regroup + PR646 k480-jp8-frame_regroup, changes whose before gate occurs in the leaver port3 word", + "changes": [ + { + "section": "B", + "index": 600, + "before": [ + "add", + 133, + 233, + -1, + 2, + [ + 272, + 144, + 80, + 48, + 8, + 6 + ] + ], + "after": [ + "add", + 133, + 233, + -1, + 2, + [ + 272, + 144, + 80, + 48, + 8, + 6, + 1 + ] + ], + "delta": { + "1": -3, + "2": 3, + "3": -1 + } + }, + { + "section": "B", + "index": 601, + "before": [ + "add", + 141, + 249, + -1, + 2, + [ + 256, + 136, + 64, + 40, + 16, + 6 + ] + ], + "after": [ + "add", + 141, + 249, + -1, + 2, + [ + 256, + 136, + 64, + 40, + 16, + 6, + 1 + ] + ], + "delta": { + "1": -3, + "2": 3, + "3": -1 + } + }, + { + "section": "B", + "index": 602, + "before": [ + "add", + 173, + 265, + -1, + 2, + [ + 256, + 128, + 64, + 40, + 24, + 6 + ] + ], + "after": [ + "add", + 173, + 265, + -1, + 2, + [ + 256, + 128, + 64, + 40, + 24, + 6, + 1 + ] + ], + "delta": { + "1": -3, + "2": 3, + "3": -1 + } + }, + { + "section": "B", + "index": 631, + "before": [ + "add", + 205, + 409, + -1, + 2, + [ + 273, + 128, + 81, + 49, + 9, + 6 + ] + ], + "after": [ + "add", + 205, + 409, + -1, + 2, + [ + 257, + 128, + 65, + 33, + 16, + 9, + 6 + ] + ], + "delta": { + "1": -3, + "2": 3, + "3": -1 + } + }, + { + "section": "B", + "index": 663, + "before": [ + "add", + 165, + 26, + 1, + 1, + [ + 256, + 137, + 72, + 33, + 24, + 6 + ] + ], + "after": [ + "add", + 165, + 26, + 1, + 1, + [ + 256, + 129, + 64, + 33, + 16, + 8, + 6 + ] + ], + "delta": { + "1": -3, + "2": 3, + "3": -1 + } + }, + { + "section": "B", + "index": 685, + "before": [ + "add", + 194, + 429, + 1, + 1, + [ + 272, + 144, + 65, + 49, + 8, + 6 + ] + ], + "after": [ + "add", + 194, + 429, + 1, + 1, + [ + 257, + 129, + 65, + 32, + 17, + 8, + 6 + ] + ], + "delta": { + "1": -3, + "2": 3, + "3": -1 + } + }, + { + "section": "B", + "index": 552, + "before": [ + "add", + 133, + 233, + -1, + 2, + [ + 272, + 144, + 80, + 48, + 8, + 6 + ] + ], + "after": [ + "add", + 133, + 233, + -1, + 2, + [ + 272, + 144, + 80, + 48, + 8, + 6, + 1 + ] + ], + "delta": { + "1": -3, + "2": 3, + "3": -1 + } + }, + { + "section": "B", + "index": 553, + "before": [ + "add", + 141, + 249, + -1, + 2, + [ + 256, + 136, + 64, + 40, + 16, + 6 + ] + ], + "after": [ + "add", + 141, + 249, + -1, + 2, + [ + 256, + 136, + 64, + 40, + 16, + 6, + 1 + ] + ], + "delta": { + "1": -3, + "2": 3, + "3": -1 + } + }, + { + "section": "B", + "index": 554, + "before": [ + "add", + 173, + 265, + -1, + 2, + [ + 256, + 128, + 64, + 40, + 24, + 6 + ] + ], + "after": [ + "add", + 173, + 265, + -1, + 2, + [ + 256, + 128, + 64, + 40, + 24, + 6, + 1 + ] + ], + "delta": { + "1": -3, + "2": 3, + "3": -1 + } + }, + { + "section": "B", + "index": 582, + "before": [ + "add", + 129, + 56, + -1, + 2, + [ + 256, + 128, + 64, + 32, + 16, + 6 + ] + ], + "after": [ + "add", + 129, + 56, + -1, + 2, + [ + 256, + 128, + 64, + 32, + 16, + 6, + 1 + ] + ], + "delta": { + "1": -3, + "2": 3, + "3": -1 + } + }, + { + "section": "B", + "index": 583, + "before": [ + "add", + 137, + 24, + -1, + 2, + [ + 272, + 128, + 80, + 32, + 8, + 6 + ] + ], + "after": [ + "add", + 137, + 24, + -1, + 2, + [ + 272, + 128, + 80, + 32, + 8, + 6, + 1 + ] + ], + "delta": { + "1": -3, + "2": 3, + "3": -1 + } + }, + { + "section": "B", + "index": 584, + "before": [ + "add", + 169, + 16, + -1, + 2, + [ + 320, + 192, + 32, + 16, + 8, + 6 + ] + ], + "after": [ + "add", + 169, + 16, + -1, + 2, + [ + 320, + 192, + 32, + 16, + 8, + 6, + 1 + ] + ], + "delta": { + "1": -3, + "2": 3, + "3": -1 + } + }, + { + "section": "B", + "index": 613, + "before": [ + "add", + 205, + 409, + -1, + 2, + [ + 273, + 128, + 81, + 49, + 9, + 6 + ] + ], + "after": [ + "add", + 205, + 409, + -1, + 2, + [ + 257, + 128, + 65, + 33, + 16, + 9, + 6 + ] + ], + "delta": { + "1": -3, + "2": 3, + "3": -1 + } + }, + { + "section": "B", + "index": 643, + "before": [ + "add", + 201, + 88, + -1, + 2, + [ + 256, + 145, + 64, + 32, + 9, + 6 + ] + ], + "after": [ + "add", + 201, + 88, + -1, + 2, + [ + 256, + 129, + 64, + 32, + 16, + 9, + 6 + ] + ], + "delta": { + "1": -3, + "2": 3, + "3": -1 + } + }, + { + "section": "B", + "index": 675, + "before": [ + "add", + 165, + 26, + 1, + 1, + [ + 256, + 137, + 72, + 33, + 24, + 6 + ] + ], + "after": [ + "add", + 165, + 26, + 1, + 1, + [ + 256, + 129, + 64, + 33, + 16, + 8, + 6 + ] + ], + "delta": { + "1": -3, + "2": 3, + "3": -1 + } + }, + { + "section": "B", + "index": 705, + "before": [ + "add", + 161, + 27, + 1, + 1, + [ + 265, + 128, + 72, + 33, + 24, + 6 + ] + ], + "after": [ + "add", + 161, + 27, + 1, + 1, + [ + 257, + 128, + 64, + 33, + 16, + 8, + 6 + ] + ], + "delta": { + "1": -3, + "2": 3, + "3": -1 + } + }, + { + "section": "B", + "index": 727, + "before": [ + "add", + 194, + 429, + 1, + 1, + [ + 272, + 144, + 65, + 49, + 8, + 6 + ] + ], + "after": [ + "add", + 194, + 429, + 1, + 1, + [ + 257, + 129, + 65, + 32, + 17, + 8, + 6 + ] + ], + "delta": { + "1": -3, + "2": 3, + "3": -1 + } + }, + { + "section": "B", + "index": 757, + "before": [ + "add", + 195, + 431, + 1, + 1, + [ + 256, + 128, + 65, + 41, + 16, + 6 + ] + ], + "after": [ + "add", + 195, + 431, + 1, + 1, + [ + 256, + 128, + 65, + 32, + 16, + 9, + 6 + ] + ], + "delta": { + "1": -3, + "2": 3, + "3": -1 + } + } + ] +} diff --git a/research/gauge44-slots-t16/construction/leaver/TRI-LEAVER-k8.json b/research/gauge44-slots-t16/construction/leaver/TRI-LEAVER-k8.json new file mode 100644 index 0000000000..e3bb24cc49 --- /dev/null +++ b/research/gauge44-slots-t16/construction/leaver/TRI-LEAVER-k8.json @@ -0,0 +1,590 @@ +{ + "full_pairs": [ + [ + 0, + 1 + ], + [ + 2, + 3 + ], + [ + 4, + 5 + ], + [ + 6, + 7 + ] + ], + "triangles": [ + { + "p": [ + 0, + 1 + ], + "e": 1, + "reads": [ + [ + 57, + [ + 0, + 1, + 2, + 3 + ], + 0 + ], + [ + 56, + [ + 0, + 1, + 2, + 3 + ], + 1 + ], + [ + 25, + [ + 0, + 1, + 4, + 5 + ], + 0 + ], + [ + 24, + [ + 0, + 1, + 4, + 5 + ], + 1 + ], + [ + 17, + [ + 0, + 1, + 6, + 7 + ], + 0 + ], + [ + 16, + [ + 0, + 1, + 6, + 7 + ], + 1 + ] + ], + "coded": true, + "cell": 0 + }, + { + "p": [ + 2, + 3 + ], + "e": 1, + "reads": [ + [ + 63, + [ + 0, + 1, + 2, + 3 + ], + 3 + ], + [ + 59, + [ + 0, + 1, + 2, + 3 + ], + 23 + ], + [ + 89, + [ + 2, + 3, + 4, + 5 + ], + 0 + ], + [ + 88, + [ + 2, + 3, + 4, + 5 + ], + 1 + ], + [ + 81, + [ + 2, + 3, + 6, + 7 + ], + 0 + ], + [ + 80, + [ + 2, + 3, + 6, + 7 + ], + 1 + ] + ], + "coded": true, + "cell": 1 + }, + { + "p": [ + 4, + 5 + ], + "e": 1, + "reads": [ + [ + 31, + [ + 0, + 1, + 4, + 5 + ], + 3 + ], + [ + 27, + [ + 0, + 1, + 4, + 5 + ], + 23 + ], + [ + 95, + [ + 2, + 3, + 4, + 5 + ], + 3 + ], + [ + 91, + [ + 2, + 3, + 4, + 5 + ], + 23 + ], + [ + 49, + [ + 4, + 5, + 6, + 7 + ], + 0 + ], + [ + 48, + [ + 4, + 5, + 6, + 7 + ], + 1 + ] + ], + "coded": true, + "cell": 2 + }, + { + "p": [ + 6, + 7 + ], + "e": 1, + "reads": [ + [ + 23, + [ + 0, + 1, + 6, + 7 + ], + 3 + ], + [ + 19, + [ + 0, + 1, + 6, + 7 + ], + 23 + ], + [ + 87, + [ + 2, + 3, + 6, + 7 + ], + 3 + ], + [ + 83, + [ + 2, + 3, + 6, + 7 + ], + 23 + ], + [ + 55, + [ + 4, + 5, + 6, + 7 + ], + 3 + ], + [ + 51, + [ + 4, + 5, + 6, + 7 + ], + 23 + ] + ], + "coded": true, + "cell": 3 + }, + { + "p": [ + 6, + 7 + ], + "e": -1, + "reads": [ + [ + 18, + [ + 0, + 1, + 6, + 7 + ], + 21 + ], + [ + 22, + [ + 0, + 1, + 6, + 7 + ], + 2 + ], + [ + 82, + [ + 2, + 3, + 6, + 7 + ], + 21 + ], + [ + 86, + [ + 2, + 3, + 6, + 7 + ], + 2 + ], + [ + 50, + [ + 4, + 5, + 6, + 7 + ], + 21 + ], + [ + 54, + [ + 4, + 5, + 6, + 7 + ], + 2 + ] + ], + "coded": true, + "cell": 4 + }, + { + "p": [ + 0, + 1 + ], + "e": -1, + "reads": [ + [ + 61, + [ + 0, + 1, + 2, + 3 + ], + 17 + ], + [ + 60, + [ + 0, + 1, + 2, + 3 + ], + 19 + ], + [ + 29, + [ + 0, + 1, + 4, + 5 + ], + 17 + ], + [ + 28, + [ + 0, + 1, + 4, + 5 + ], + 19 + ], + [ + 21, + [ + 0, + 1, + 6, + 7 + ], + 17 + ], + [ + 20, + [ + 0, + 1, + 6, + 7 + ], + 19 + ] + ], + "coded": true, + "cell": 5 + }, + { + "p": [ + 2, + 3 + ], + "e": -1, + "reads": [ + [ + 58, + [ + 0, + 1, + 2, + 3 + ], + 21 + ], + [ + 62, + [ + 0, + 1, + 2, + 3 + ], + 2 + ], + [ + 93, + [ + 2, + 3, + 4, + 5 + ], + 17 + ], + [ + 92, + [ + 2, + 3, + 4, + 5 + ], + 19 + ], + [ + 85, + [ + 2, + 3, + 6, + 7 + ], + 17 + ], + [ + 84, + [ + 2, + 3, + 6, + 7 + ], + 19 + ] + ], + "coded": true, + "cell": 6 + }, + { + "p": [ + 4, + 5 + ], + "e": -1, + "reads": [ + [ + 26, + [ + 0, + 1, + 4, + 5 + ], + 21 + ], + [ + 30, + [ + 0, + 1, + 4, + 5 + ], + 2 + ], + [ + 90, + [ + 2, + 3, + 4, + 5 + ], + 21 + ], + [ + 94, + [ + 2, + 3, + 4, + 5 + ], + 2 + ], + [ + 53, + [ + 4, + 5, + 6, + 7 + ], + 17 + ], + [ + 52, + [ + 4, + 5, + 6, + 7 + ], + 19 + ] + ], + "coded": true, + "cell": 7 + } + ] +} diff --git a/research/gauge44-slots-t16/construction/leaver/build_frames_lv.py b/research/gauge44-slots-t16/construction/leaver/build_frames_lv.py new file mode 100644 index 0000000000..5f8aa7a24b --- /dev/null +++ b/research/gauge44-slots-t16/construction/leaver/build_frames_lv.py @@ -0,0 +1,64 @@ +#!/usr/bin/env python3 +"""Apply the pinned gate/tail frame re-optimisation of FRAME-RECIPE-LV-k5.json (exact global frame optimum, gopt2) to the +leaver U8 word. + +usage: build_frames_lv.py INPUT_WORD.json.gz OUT_DIR RECIPE.json + +Standard library only. The frames are applied by BlockInvert's `../promo/build_promotion.apply` (no entrances; 'B' gate +frames and 'T' tail frames), which checks each old frame and recomputes the local profile and widths. This builder then checks: +input sha pin; the scalar program of A, cut, B, precondition and cleanup unchanged (every field but the frame); start +and end frames unchanged; local profile and width inventory equal to the recipe's; output sha pin. Three pin controls +(input pin, wrong old frame, output pin) must be rejected at their pinned reasons on every build. +Adapted from ../frames/build_frames.py (from PR741's extras/build_frames.py, chafreaky). Apache-2.0. +""" +import copy, gzip, hashlib, importlib.util, json, sys +from pathlib import Path + +HERE = Path(__file__).resolve().parent +_s = importlib.util.spec_from_file_location('promotion', HERE.parent / 'promo/build_promotion.py') +B = importlib.util.module_from_spec(_s); _s.loader.exec_module(B) + + +def construct(raw, recipe): + assert hashlib.sha256(raw).hexdigest() == recipe['input_content_sha256'], 'input word pin' + w = json.loads(raw) + assert recipe['gate_frames'] and all(c[0] in ('B', 'T') for c in recipe['gate_frames']), 'B and T frames only' + out = B.apply(w, dict(entrances={}, gate_frames=recipe['gate_frames'])) + for section in ('A', 'cut', 'B', 'precondition', 'cleanup'): + assert [e[:-1] for e in w[section]] == [e[:-1] for e in out[section]], 'scalar program unchanged' + assert out['start_extra'] == w['start_extra'] and out['helper_final'] == w['helper_final'], 'endpoint frames unchanged' + assert out['report']['local_profile'] == recipe['expected']['local_profile'] and \ + out['report']['width_inventory'] == recipe['expected']['width_inventory'], 'profile and width pins' + data = json.dumps(out, sort_keys=True, separators=(',', ':')).encode() + assert hashlib.sha256(data).hexdigest() == recipe['expected']['output_content_sha256'], 'output word pin' + return data + + +def main(): + assert __debug__, 'Assertions are required' + inp, outd, rfile = map(Path, sys.argv[1:4]) + raw = gzip.decompress(inp.read_bytes()); recipe = json.loads(rfile.read_text()) + data = construct(raw, recipe) + rejected = [] + for name, change, reason in [ + ('input-pin', lambda r: r.__setitem__('input_content_sha256', '0' * 64), 'input word pin'), + ('old-frame', lambda r: r['gate_frames'][0].__setitem__(2, []), 'gate frame mismatch'), + ('output-pin', lambda r: r['expected'].__setitem__('output_content_sha256', '0' * 64), 'output word pin')]: + r = copy.deepcopy(recipe); change(r) + try: + construct(raw, r) + except AssertionError as e: + assert reason in str(e), (name, str(e)); rejected.append(dict(name=name, reason=reason)) + else: + raise AssertionError('accepted ' + name) + outd.mkdir(parents=True) + (outd / 'FULL-WORD.json.gz').write_bytes(gzip.compress(data, mtime=0)) + (outd / 'BUILD.json').write_text(json.dumps(dict( + status='PASS_FRAME_REOPT_EXACT_CONSTRUCTION', input_sha256=hashlib.sha256(raw).hexdigest(), + output_sha256=hashlib.sha256(data).hexdigest(), scalar_program_unchanged=True, frames=len(recipe['gate_frames']), + rejected_controls=rejected), indent=2) + '\n') + print('PASS', len(recipe['gate_frames']), 'frames and three pin controls') + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-slots-t16/construction/leaver/cells-k8/CORE-01+.json b/research/gauge44-slots-t16/construction/leaver/cells-k8/CORE-01+.json new file mode 100644 index 0000000000..bfef820f29 --- /dev/null +++ b/research/gauge44-slots-t16/construction/leaver/cells-k8/CORE-01+.json @@ -0,0 +1,216 @@ +{ + "unit": [ + [ + "y1", + "x0", + 1 + ], + [ + "y0", + "x1", + 1 + ], + [ + "y2", + "x5", + 1 + ], + [ + "y3", + "x4", + 1 + ], + [ + "y4", + "x3", + 1 + ], + [ + "y5", + "x2", + 1 + ], + [ + "x0", + "x1", + 1 + ], + [ + "x2", + "x5", + 1 + ], + [ + "x4", + "x3", + 1 + ], + [ + "y1", + "x2", + 1 + ], + [ + "y3", + "x0", + 1 + ], + [ + "y5", + "x4", + 1 + ], + [ + "y0", + "y5", + 1 + ], + [ + "y2", + "y3", + 1 + ], + [ + "y4", + "y1", + 1 + ], + [ + "y1", + "x4", + 1 + ], + [ + "y0", + "x5", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y4", + "x1", + 1 + ], + [ + "y5", + "x0", + 1 + ] + ], + "scaled": [ + [ + "y1", + "x0", + "-1/2" + ], + [ + "y0", + "x1", + "-1/2" + ], + [ + "y2", + "x5", + "-1/2" + ], + [ + "y3", + "x4", + "-1/2" + ], + [ + "y4", + "x3", + "-1/2" + ], + [ + "y5", + "x2", + "-1/2" + ], + [ + "x0", + "x1", + "1" + ], + [ + "x2", + "x5", + "1" + ], + [ + "x4", + "x3", + "1" + ], + [ + "y1", + "x2", + "-1/2" + ], + [ + "y3", + "x0", + "-1/2" + ], + [ + "y5", + "x4", + "-1/2" + ], + [ + "y0", + "y5", + "1" + ], + [ + "y2", + "y3", + "1" + ], + [ + "y4", + "y1", + "1" + ], + [ + "y1", + "x4", + "-1/2" + ], + [ + "y0", + "x5", + "-1/2" + ], + [ + "y2", + "x3", + "-1/2" + ], + [ + "y3", + "x2", + "-1/2" + ], + [ + "y4", + "x1", + "-1/2" + ], + [ + "y5", + "x0", + "-1/2" + ] + ] +} \ No newline at end of file diff --git a/research/gauge44-slots-t16/construction/leaver/cells-k8/CORE-01-.json b/research/gauge44-slots-t16/construction/leaver/cells-k8/CORE-01-.json new file mode 100644 index 0000000000..3afa894b20 --- /dev/null +++ b/research/gauge44-slots-t16/construction/leaver/cells-k8/CORE-01-.json @@ -0,0 +1,216 @@ +{ + "unit": [ + [ + "y0", + "x1", + 1 + ], + [ + "y1", + "x0", + 1 + ], + [ + "y3", + "x4", + 1 + ], + [ + "y2", + "x5", + 1 + ], + [ + "y5", + "x2", + 1 + ], + [ + "y4", + "x3", + 1 + ], + [ + "x1", + "x0", + 1 + ], + [ + "x3", + "x4", + 1 + ], + [ + "x5", + "x2", + 1 + ], + [ + "y0", + "x3", + 1 + ], + [ + "y2", + "x1", + 1 + ], + [ + "y4", + "x5", + 1 + ], + [ + "y1", + "y4", + 1 + ], + [ + "y3", + "y2", + 1 + ], + [ + "y5", + "y0", + 1 + ], + [ + "y0", + "x5", + 1 + ], + [ + "y1", + "x4", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y5", + "x0", + 1 + ], + [ + "y4", + "x1", + 1 + ] + ], + "scaled": [ + [ + "y0", + "x1", + "-1/2" + ], + [ + "y1", + "x0", + "-1/2" + ], + [ + "y3", + "x4", + "-1/2" + ], + [ + "y2", + "x5", + "-1/2" + ], + [ + "y5", + "x2", + "-1/2" + ], + [ + "y4", + "x3", + "-1/2" + ], + [ + "x1", + "x0", + "1" + ], + [ + "x3", + "x4", + "1" + ], + [ + "x5", + "x2", + "1" + ], + [ + "y0", + "x3", + "-1/2" + ], + [ + "y2", + "x1", + "-1/2" + ], + [ + "y4", + "x5", + "-1/2" + ], + [ + "y1", + "y4", + "1" + ], + [ + "y3", + "y2", + "1" + ], + [ + "y5", + "y0", + "1" + ], + [ + "y0", + "x5", + "-1/2" + ], + [ + "y1", + "x4", + "-1/2" + ], + [ + "y3", + "x2", + "-1/2" + ], + [ + "y2", + "x3", + "-1/2" + ], + [ + "y5", + "x0", + "-1/2" + ], + [ + "y4", + "x1", + "-1/2" + ] + ] +} \ No newline at end of file diff --git a/research/gauge44-slots-t16/construction/leaver/cells-k8/CORE-23+.json b/research/gauge44-slots-t16/construction/leaver/cells-k8/CORE-23+.json new file mode 100644 index 0000000000..98ff8050e7 --- /dev/null +++ b/research/gauge44-slots-t16/construction/leaver/cells-k8/CORE-23+.json @@ -0,0 +1,216 @@ +{ + "unit": [ + [ + "y1", + "x0", + 1 + ], + [ + "y0", + "x1", + 1 + ], + [ + "y2", + "x5", + 1 + ], + [ + "y3", + "x4", + 1 + ], + [ + "y4", + "x3", + 1 + ], + [ + "y5", + "x2", + 1 + ], + [ + "x0", + "x1", + 1 + ], + [ + "x2", + "x5", + 1 + ], + [ + "x4", + "x3", + 1 + ], + [ + "y1", + "x2", + 1 + ], + [ + "y3", + "x0", + 1 + ], + [ + "y5", + "x4", + 1 + ], + [ + "y0", + "y5", + 1 + ], + [ + "y2", + "y3", + 1 + ], + [ + "y4", + "y1", + 1 + ], + [ + "y1", + "x4", + 1 + ], + [ + "y0", + "x5", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y4", + "x1", + 1 + ], + [ + "y5", + "x0", + 1 + ] + ], + "scaled": [ + [ + "y1", + "x0", + "1" + ], + [ + "y0", + "x1", + "1" + ], + [ + "y2", + "x5", + "-1/2" + ], + [ + "y3", + "x4", + "-1/2" + ], + [ + "y4", + "x3", + "-1/2" + ], + [ + "y5", + "x2", + "-1/2" + ], + [ + "x0", + "x1", + "1" + ], + [ + "x2", + "x5", + "1" + ], + [ + "x4", + "x3", + "1" + ], + [ + "y1", + "x2", + "-1/2" + ], + [ + "y3", + "x0", + "1" + ], + [ + "y5", + "x4", + "-1/2" + ], + [ + "y0", + "y5", + "1" + ], + [ + "y2", + "y3", + "1" + ], + [ + "y4", + "y1", + "1" + ], + [ + "y1", + "x4", + "-1/2" + ], + [ + "y0", + "x5", + "-1/2" + ], + [ + "y2", + "x3", + "-1/2" + ], + [ + "y3", + "x2", + "-1/2" + ], + [ + "y4", + "x1", + "1" + ], + [ + "y5", + "x0", + "1" + ] + ] +} \ No newline at end of file diff --git a/research/gauge44-slots-t16/construction/leaver/cells-k8/CORE-23-.json b/research/gauge44-slots-t16/construction/leaver/cells-k8/CORE-23-.json new file mode 100644 index 0000000000..517b89d382 --- /dev/null +++ b/research/gauge44-slots-t16/construction/leaver/cells-k8/CORE-23-.json @@ -0,0 +1,216 @@ +{ + "unit": [ + [ + "y1", + "x0", + 1 + ], + [ + "y0", + "x1", + 1 + ], + [ + "y3", + "x4", + 1 + ], + [ + "y2", + "x5", + 1 + ], + [ + "y5", + "x2", + 1 + ], + [ + "y4", + "x3", + 1 + ], + [ + "x0", + "x1", + 1 + ], + [ + "x3", + "x4", + 1 + ], + [ + "x5", + "x2", + 1 + ], + [ + "y1", + "x3", + 1 + ], + [ + "y2", + "x0", + 1 + ], + [ + "y4", + "x5", + 1 + ], + [ + "y0", + "y4", + 1 + ], + [ + "y3", + "y2", + 1 + ], + [ + "y5", + "y1", + 1 + ], + [ + "y1", + "x5", + 1 + ], + [ + "y0", + "x4", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y5", + "x1", + 1 + ], + [ + "y4", + "x0", + 1 + ] + ], + "scaled": [ + [ + "y1", + "x0", + "1" + ], + [ + "y0", + "x1", + "1" + ], + [ + "y3", + "x4", + "-1/2" + ], + [ + "y2", + "x5", + "-1/2" + ], + [ + "y5", + "x2", + "-1/2" + ], + [ + "y4", + "x3", + "-1/2" + ], + [ + "x0", + "x1", + "1" + ], + [ + "x3", + "x4", + "1" + ], + [ + "x5", + "x2", + "1" + ], + [ + "y1", + "x3", + "-1/2" + ], + [ + "y2", + "x0", + "1" + ], + [ + "y4", + "x5", + "-1/2" + ], + [ + "y0", + "y4", + "1" + ], + [ + "y3", + "y2", + "1" + ], + [ + "y5", + "y1", + "1" + ], + [ + "y1", + "x5", + "-1/2" + ], + [ + "y0", + "x4", + "-1/2" + ], + [ + "y3", + "x2", + "-1/2" + ], + [ + "y2", + "x3", + "-1/2" + ], + [ + "y5", + "x1", + "1" + ], + [ + "y4", + "x0", + "1" + ] + ] +} \ No newline at end of file diff --git a/research/gauge44-slots-t16/construction/leaver/cells-k8/CORE-45+.json b/research/gauge44-slots-t16/construction/leaver/cells-k8/CORE-45+.json new file mode 100644 index 0000000000..2bc89e1de1 --- /dev/null +++ b/research/gauge44-slots-t16/construction/leaver/cells-k8/CORE-45+.json @@ -0,0 +1,216 @@ +{ + "unit": [ + [ + "y1", + "x0", + 1 + ], + [ + "y0", + "x1", + 1 + ], + [ + "y2", + "x5", + 1 + ], + [ + "y3", + "x4", + 1 + ], + [ + "y4", + "x3", + 1 + ], + [ + "y5", + "x2", + 1 + ], + [ + "x0", + "x1", + 1 + ], + [ + "x2", + "x5", + 1 + ], + [ + "x4", + "x3", + 1 + ], + [ + "y1", + "x2", + 1 + ], + [ + "y3", + "x0", + 1 + ], + [ + "y5", + "x4", + 1 + ], + [ + "y0", + "y5", + 1 + ], + [ + "y2", + "y3", + 1 + ], + [ + "y4", + "y1", + 1 + ], + [ + "y1", + "x4", + 1 + ], + [ + "y0", + "x5", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y4", + "x1", + 1 + ], + [ + "y5", + "x0", + 1 + ] + ], + "scaled": [ + [ + "y1", + "x0", + "1" + ], + [ + "y0", + "x1", + "1" + ], + [ + "y2", + "x5", + "-1/2" + ], + [ + "y3", + "x4", + "-1/2" + ], + [ + "y4", + "x3", + "1" + ], + [ + "y5", + "x2", + "1" + ], + [ + "x0", + "x1", + "1" + ], + [ + "x2", + "x5", + "-1/2" + ], + [ + "x4", + "x3", + "-2" + ], + [ + "y1", + "x2", + "1" + ], + [ + "y3", + "x0", + "1" + ], + [ + "y5", + "x4", + "-1/2" + ], + [ + "y0", + "y5", + "1" + ], + [ + "y2", + "y3", + "1" + ], + [ + "y4", + "y1", + "1" + ], + [ + "y1", + "x4", + "-1/2" + ], + [ + "y0", + "x5", + "-1/2" + ], + [ + "y2", + "x3", + "1" + ], + [ + "y3", + "x2", + "1" + ], + [ + "y4", + "x1", + "1" + ], + [ + "y5", + "x0", + "1" + ] + ] +} \ No newline at end of file diff --git a/research/gauge44-slots-t16/construction/leaver/cells-k8/CORE-45-.json b/research/gauge44-slots-t16/construction/leaver/cells-k8/CORE-45-.json new file mode 100644 index 0000000000..b9c1904b83 --- /dev/null +++ b/research/gauge44-slots-t16/construction/leaver/cells-k8/CORE-45-.json @@ -0,0 +1,216 @@ +{ + "unit": [ + [ + "y1", + "x0", + 1 + ], + [ + "y0", + "x1", + 1 + ], + [ + "y2", + "x4", + 1 + ], + [ + "y3", + "x5", + 1 + ], + [ + "y5", + "x3", + 1 + ], + [ + "y4", + "x2", + 1 + ], + [ + "x0", + "x1", + 1 + ], + [ + "x2", + "x4", + 1 + ], + [ + "x5", + "x3", + 1 + ], + [ + "y1", + "x2", + 1 + ], + [ + "y3", + "x0", + 1 + ], + [ + "y4", + "x5", + 1 + ], + [ + "y0", + "y4", + 1 + ], + [ + "y2", + "y3", + 1 + ], + [ + "y5", + "y1", + 1 + ], + [ + "y1", + "x5", + 1 + ], + [ + "y0", + "x4", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y5", + "x1", + 1 + ], + [ + "y4", + "x0", + 1 + ] + ], + "scaled": [ + [ + "y1", + "x0", + "1" + ], + [ + "y0", + "x1", + "1" + ], + [ + "y2", + "x4", + "-1/2" + ], + [ + "y3", + "x5", + "-1/2" + ], + [ + "y5", + "x3", + "1" + ], + [ + "y4", + "x2", + "1" + ], + [ + "x0", + "x1", + "1" + ], + [ + "x2", + "x4", + "-1/2" + ], + [ + "x5", + "x3", + "-2" + ], + [ + "y1", + "x2", + "1" + ], + [ + "y3", + "x0", + "1" + ], + [ + "y4", + "x5", + "-1/2" + ], + [ + "y0", + "y4", + "1" + ], + [ + "y2", + "y3", + "1" + ], + [ + "y5", + "y1", + "1" + ], + [ + "y1", + "x5", + "-1/2" + ], + [ + "y0", + "x4", + "-1/2" + ], + [ + "y2", + "x3", + "1" + ], + [ + "y3", + "x2", + "1" + ], + [ + "y5", + "x1", + "1" + ], + [ + "y4", + "x0", + "1" + ] + ] +} \ No newline at end of file diff --git a/research/gauge44-slots-t16/construction/leaver/cells-k8/CORE-67+.json b/research/gauge44-slots-t16/construction/leaver/cells-k8/CORE-67+.json new file mode 100644 index 0000000000..7d756cb19d --- /dev/null +++ b/research/gauge44-slots-t16/construction/leaver/cells-k8/CORE-67+.json @@ -0,0 +1,216 @@ +{ + "unit": [ + [ + "y1", + "x0", + 1 + ], + [ + "y0", + "x1", + 1 + ], + [ + "y2", + "x5", + 1 + ], + [ + "y3", + "x4", + 1 + ], + [ + "y4", + "x3", + 1 + ], + [ + "y5", + "x2", + 1 + ], + [ + "x0", + "x1", + 1 + ], + [ + "x2", + "x5", + 1 + ], + [ + "x4", + "x3", + 1 + ], + [ + "y1", + "x2", + 1 + ], + [ + "y3", + "x0", + 1 + ], + [ + "y5", + "x4", + 1 + ], + [ + "y0", + "y5", + 1 + ], + [ + "y2", + "y3", + 1 + ], + [ + "y4", + "y1", + 1 + ], + [ + "y1", + "x4", + 1 + ], + [ + "y0", + "x5", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y4", + "x1", + 1 + ], + [ + "y5", + "x0", + 1 + ] + ], + "scaled": [ + [ + "y1", + "x0", + "1" + ], + [ + "y0", + "x1", + "1" + ], + [ + "y2", + "x5", + "1" + ], + [ + "y3", + "x4", + "1" + ], + [ + "y4", + "x3", + "1" + ], + [ + "y5", + "x2", + "1" + ], + [ + "x0", + "x1", + "1" + ], + [ + "x2", + "x5", + "1" + ], + [ + "x4", + "x3", + "1" + ], + [ + "y1", + "x2", + "1" + ], + [ + "y3", + "x0", + "1" + ], + [ + "y5", + "x4", + "1" + ], + [ + "y0", + "y5", + "1" + ], + [ + "y2", + "y3", + "1" + ], + [ + "y4", + "y1", + "1" + ], + [ + "y1", + "x4", + "1" + ], + [ + "y0", + "x5", + "1" + ], + [ + "y2", + "x3", + "1" + ], + [ + "y3", + "x2", + "1" + ], + [ + "y4", + "x1", + "1" + ], + [ + "y5", + "x0", + "1" + ] + ] +} \ No newline at end of file diff --git a/research/gauge44-slots-t16/construction/leaver/cells-k8/CORE-67-.json b/research/gauge44-slots-t16/construction/leaver/cells-k8/CORE-67-.json new file mode 100644 index 0000000000..7d756cb19d --- /dev/null +++ b/research/gauge44-slots-t16/construction/leaver/cells-k8/CORE-67-.json @@ -0,0 +1,216 @@ +{ + "unit": [ + [ + "y1", + "x0", + 1 + ], + [ + "y0", + "x1", + 1 + ], + [ + "y2", + "x5", + 1 + ], + [ + "y3", + "x4", + 1 + ], + [ + "y4", + "x3", + 1 + ], + [ + "y5", + "x2", + 1 + ], + [ + "x0", + "x1", + 1 + ], + [ + "x2", + "x5", + 1 + ], + [ + "x4", + "x3", + 1 + ], + [ + "y1", + "x2", + 1 + ], + [ + "y3", + "x0", + 1 + ], + [ + "y5", + "x4", + 1 + ], + [ + "y0", + "y5", + 1 + ], + [ + "y2", + "y3", + 1 + ], + [ + "y4", + "y1", + 1 + ], + [ + "y1", + "x4", + 1 + ], + [ + "y0", + "x5", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y4", + "x1", + 1 + ], + [ + "y5", + "x0", + 1 + ] + ], + "scaled": [ + [ + "y1", + "x0", + "1" + ], + [ + "y0", + "x1", + "1" + ], + [ + "y2", + "x5", + "1" + ], + [ + "y3", + "x4", + "1" + ], + [ + "y4", + "x3", + "1" + ], + [ + "y5", + "x2", + "1" + ], + [ + "x0", + "x1", + "1" + ], + [ + "x2", + "x5", + "1" + ], + [ + "x4", + "x3", + "1" + ], + [ + "y1", + "x2", + "1" + ], + [ + "y3", + "x0", + "1" + ], + [ + "y5", + "x4", + "1" + ], + [ + "y0", + "y5", + "1" + ], + [ + "y2", + "y3", + "1" + ], + [ + "y4", + "y1", + "1" + ], + [ + "y1", + "x4", + "1" + ], + [ + "y0", + "x5", + "1" + ], + [ + "y2", + "x3", + "1" + ], + [ + "y3", + "x2", + "1" + ], + [ + "y4", + "x1", + "1" + ], + [ + "y5", + "x0", + "1" + ] + ] +} \ No newline at end of file diff --git a/research/gauge44-slots-t16/construction/leaver/cgx_leaver.py b/research/gauge44-slots-t16/construction/leaver/cgx_leaver.py new file mode 100644 index 0000000000..e686c66306 --- /dev/null +++ b/research/gauge44-slots-t16/construction/leaver/cgx_leaver.py @@ -0,0 +1,491 @@ +# LeaverSAT: no-helper mutable-leaver all-K cells (coded triangles) on the no-triangle word. Generated by +# LeaverSAT/mkpkg.py from construction/notri/cgx.py with the leaver edits (lv.leaver_source); Apache-2.0. +import json as _lj, os as _lo, sys as _ls +from fractions import Fraction as _lF +CODED_CELLS=[(c['bindings'],[[t,s,_lF(q)] for t,s,q in c['scaled']]) for c in _lj.load(open(_lo.path.join(_lo.path.dirname(_lo.path.abspath(_ls.argv[3])),'CODED-CELLS.json')))] +# Round20 early-coordinate-center / own-Y variant, prepared for icekylinx +# with OpenAI Codex assistance. Apache-2.0. Scalar elementary-operation +# helpers below are retained from the attributed PR514 construct_partial.py. +# Adapted by OpenAI Codex for isolated structural research. +# Modified from PR425 by icekylinx with Codex assistance. +"""Full discovery word for Hamming packets with borrowed X and Y registers. + +This changes the scalar architecture. It is not accepted by the old restricted +gx interface: source bases may change until full-frame cleanup, and targets use +an explicitly inverted output basis. No supplier admission is asserted. +""" +import copy,gzip,json,math,time +import itertools as it +from collections import Counter,defaultdict +from fractions import Fraction as Q +from pathlib import Path + +import sys +INPUT=Path(sys.argv[1]);OUT=Path(sys.argv[2]);OUT.mkdir(parents=True,exist_ok=False);D=json.loads((INPUT/'PROTOTYPE.json').read_text()) +P=D['binary_ports'];R=D['root_lines'];v=120;h=9 +modules=json.load(gzip.open(INPUT/'PACKET-PROGRAMS.json.gz')) +# AtomScout: leaver-read K-triangles (schedule from atom1.py / rog.py CP-SAT) +TRI=json.loads(Path(sys.argv[3]).read_text()) +FULLT={(tuple(tr['p']),tr['e']) for tr in TRI['triangles']} +TRI_COORDS={t+8 for tr in TRI['triangles'] for t,_,_ in tr['reads']} +import os as _o +COPYL=json.loads(open(_o.environ['XPARAM']).read()).get('copyl',[]) if _o.environ.get('XPARAM') else [] +NH=504-3*len(FULLT)+len(COPYL) + +def basis(vectors): + b={} + for x in vectors: + for p in sorted(b,reverse=True): + if x>>p&1:x^=b[p] + if x: + p=x.bit_length()-1 + for q in b: + if b[q]>>p&1:b[q]^=x + b[p]=x + return tuple(b[p] for p in sorted(b,reverse=True)) +def inside(a,b):return basis(a+b)==b +def hyper(p):return basis([x for x in range(1,512) if (x&p).bit_count()%2==0]) +FULL=basis([1<=v,r)) + for col,s in enumerate(ids): + k=next(i for i in range(col,len(regs)) if rows[regs[i]].get(s,Q(0))) + swap(regs[k],regs[col],F) + scale(regs[col],1/rows[regs[col]][s],F) + for i in range(len(regs)): + if i!=col and rows[regs[i]].get(s,Q(0)):add(regs[i],regs[col],-rows[regs[i]][s],F) + assert all(rows[regs[i]]=={s:Q(1)} for i,s in enumerate(ids)) + M=[[Q(R[s][i]) for s in ids] for i in c] + def qr_rank(rs): + bs={} + for r in rs: + r=r.copy() + for i,b in sorted(bs.items()): + if r[i]:q=r[i];r=[x-q*y for x,y in zip(r,b)] + i=next((i for i,x in enumerate(r) if x),None) + if i is not None:q=r[i];bs[i]=[x/q for x in r] + return len(bs) + assert qr_rank(M)==4 + for rr0 in PRIO.get(",".join(map(str,c)),[])+PRIORITY[",".join(map(str,c))]["rows"]: + rr=list(map(Q,rr0)) + if qr_rank(M+[rr])>len(M):M.append(rr) + if len(M)==8:break + for i in range(8): + if len(M)==8:break + rr=[Q(i==j) for j in range(8)] + if qr_rank(M+[rr])>len(M):M.append(rr) + if len(M)==8:break + assert len(M)==8 + linear(regs,M,F) + for i,r in zip(c,regs): + assert rows[r]=={s:Q(R[s][i]) for s in ids} + block_totals[c,i]=r + +# All centers are complete while Y is still at zero. This is the crucial +# difference from an illegal early-own-Y prefix using the old center order. +centers=[] +for i in range(8): + regs=[block_totals[c,i] for c in sorted(blocks) if i in c] + F=hyper(P[frame[i]]);a=regs[0] + for b in regs[1:]:add(a,b,1,F) + centers.append(a) +centers += [frame[i] for i in range(8)] +center_frames=[cur[r] for r in centers] +assert list(map(len,center_frames))==[8]*8+[1]*8 +assert all(cur[v+t]==() for t in range(v)) + +phase=B +for t,(r,coef,F) in sorted(own_rows.items()): + if t in TRI_COORDS:continue + assert cur[r]==F + add(v+t,r,coef,F) +# requests are needed for TRI coefficients +requests=defaultdict(list) +for pid,pair in enumerate(pairs): + if not pair['selected']:continue + (t,u),(key1,key2),mat=pair['targets'],pair['keys'],pair['matrix'] + requests[key1].append((t,-Q(mat[0][0],2))) + requests[key2].append((u,-Q(mat[0][1],2))) +reqcoef={t:(key,coef) for key,reqs in requests.items() for t,coef in reqs} +def face_info(c,p,eps): + z=blocks[c];keys=[(pp,ee) for pp in it.combinations(c,2) for ee in (-1,1)] + r_local,alpha=z['outputs'][keys.index((p,eps))] + j=[j for j in range(40,len(z['events'])) if z['events'][j][0]==r_local];assert len(j)==1 + return j[0],Q(alpha) +tri_join_counts=Counter() +coded_shadow_slot={} +coded_target_edges=[];TRILOG=[] +lcopy={} +for s8 in COPYL: + r=s8+8;c=len(cur);cur.append(());rows.append({});shadow.append(None);add(c,r,1,cur[r]);lcopy[r]=c +BF={c:basis([P[x] for x in z['receipt']['source_lines']]) for c,z in blocks.items()} +HYB={(tuple(map(int,h[0])),tuple(map(int,h[1])),int(h[2])) for h in XP.get('hyb',[])} +HYBLOG=[] +def triread(t,blk,r,q): + F=basis(cur[v+t]+cur[r]);assert inside(F,hyper(P[t])),('TRI frame',t,blk,r,cur[v+t],cur[r],hyper(P[t]),[x for x in TRILOG if x[2]==r],HYBLOG) + tri_join_counts[len(F)]+=1;add(v+t,r,q,F);TRILOG.append([t,list(blk),r,str(q),list(F),list(cur[r])]) +for tr in TRI['triangles']: + if tr.get('coded'): + bindings={} + for name,binding in CODED_CELLS[tr['cell']][0].items(): + bindings[name]=maps[tuple(binding[1])][binding[2]] if binding[0]=='source' else v+binding[1] + for tn,sn,q in CODED_CELLS[tr['cell']][1]: + target,source=bindings[tn],bindings[sn] + F=basis(cur[target]+cur[source]) + for register in (target,source): + if v<=register<2*v:assert inside(F,hyper(P[register-v])),('coded frame',register,F) + add(target,source,q,F) + if sn.startswith('y'):coded_target_edges.append((target,source,Q(q))) + continue + p,eps=tuple(tr['p']),tr['e'] + hb={blk for _,blk,_ in map(lambda x:(x[0],tuple(x[1]),x[2]),tr['reads']) if (blk,p,eps) in HYB} + own=[];rest=[] + for t8,blk,loc in tr['reads']: + t=t8+8;blk=tuple(blk);r=maps[blk][loc];r0=r;r=lcopy.get(r,r) + key,coef=reqcoef[t];assert key[1]==p and key[2]==eps,(key,p,eps) + if blk==key[0]: + rr,c0,F0=own_rows[t];assert rr==r0;own.append((t,blk,r,c0)) + else: + j,alpha=face_info(blk,p,eps);ev=blocks[blk]['events'][j];assert loc in ev[:2] + rest.append((t,blk,loc,r,coef*alpha)) + if not hb: + # original interleaved order + for t8,blk,loc in tr['reads']: + t=t8+8;blk=tuple(blk);r=maps[blk][loc];key,coef=reqcoef[t] + if blk==key[0]:q=own_rows[t][1] + else:j,alpha=face_info(blk,p,eps);q=coef*alpha + triread(t,blk,r,q) + continue + items=[] # (kind, t, reg, q, blk) + for t,blk,r,q in own:items.append(('r',t,r,q,blk,blk in hb)) + for blk in sorted(hb):items.append(('e',None,None,None,blk,True)) + done=set() + for t,blk,loc,r,q in rest: + if blk in hb: + j,_=face_info(blk,p,eps);ev=blocks[blk]['events'][j] + ws=[x for x in rest if x[0]==t and x[1]==blk];assert len(ws)==2 and ws[0][4]==ws[1][4] and {ws[0][2],ws[1][2]}==set(ev[:2]) + if (t,blk) in done:continue + done.add((t,blk));items.append(('m',t,maps[blk][ev[0]],q,blk,True)) + else:items.append(('r',t,r,q,blk,False)) + # Original read order with the two half reads collapsed into one M read at the first half's slot; the face event goes + # just before the first M read of its block; own reads of the M register are hoisted ahead of that event. + def evinfo(blk): + j,_=face_info(blk,p,eps);ev=blocks[blk]['events'][j];assert ev[2]==ev[3]==1,ev + mpb=maps[blk];return mpb[ev[0]],mpb[ev[1]],tuple(blocks[blk]['event_frames'][j]) + items=[] + seen=set() + for t8,blk,loc in tr['reads']: + t=t8+8;blk=tuple(blk);r=maps[blk][loc];key,coef=reqcoef[t] + if blk==key[0]:items.append(('r',t,r,own_rows[t][1],blk,blk in hb)) + else: + j,alpha=face_info(blk,p,eps);q=coef*alpha + if blk in hb: + if (t,blk) not in seen:seen.add((t,blk));continue + items.append(('m',t,evinfo(blk)[0],q,blk,True)) + else:items.append(('r',t,r,q,blk,False)) + for blk in sorted(hb): + k0=min(i for i,x in enumerate(items) if x[0]=='m' and x[4]==blk) + items.insert(k0,('e',None,None,None,blk,True)) + n=len(items) + def step(it,st): + k,t,r,q,blk,h=it;g=lambda x:st.get(x,cur[x]) + if k=='e': + a_,b_,EF=evinfo(blk);FF=basis(list(EF)+list(g(a_))+list(g(b_))) + return {a_:FF,b_:FF} if inside(FF,BF[blk]) else None + F=basis(list(g(v+t))+list(g(r))) + if not inside(F,hyper(P[t])):return None + if h and k=='r' and r==evinfo(blk)[1] and not inside(F,BF[blk]):return None + return {v+t:F,r:F} + def allowed(i,used): + k,t,r,q,blk,h=items[i] + evi=[j for j,x in enumerate(items) if x[0]=='e' and x[4]==blk] if h else [] + if k=='e':return all(j in used for j,x in enumerate(items) if x[0]=='r' and x[4]==blk and x[5] and x[2]==evinfo(blk)[0]) + if k=='m':return evi[0] in used + if k=='r' and h and r==evinfo(blk)[0]:return evi[0] not in used + return True + budget=[int(os.environ.get('HYBBUDGET','300000'))];memo=set() + def dfs(st,used,order): + if len(order)==n:return order + budget[0]-=1 + if budget[0]<0:return None + sig=(used,tuple(sorted(st.items()))) + if sig in memo:return None + memo.add(sig) + for i in range(n): + if i in used or not allowed(i,used):continue + d=step(items[i],st) + if d is None:continue + ns=dict(st);ns.update(d);res=dfs(ns,used|{i},order+[i]) + if res:return res + return None + import sys as _s;_s.setrecursionlimit(20000) + order=dfs({},frozenset(),[]) + assert order,('no feasible hybrid order',p,eps,sorted(hb),budget) + for i in order: + k,t,r,q,blk,h=items[i] + if k=='e': + a_,b_,EF=evinfo(blk);FF=basis(list(EF)+list(cur[a_])+list(cur[b_]));add(a_,b_,1,FF);HYBLOG.append([list(blk),list(p),eps,list(FF)]) + else:triread(t,blk,r,q) + +packets={} +for c,z in sorted(blocks.items()): + mp=maps[c] + keys=[(p,eps) for p in it.combinations(c,2) for eps in (-1,1)] + skipev={face_info(c,p,eps)[0] for p,eps in keys if (p,eps) in FULLT} + for j,(e,F) in enumerate(list(zip(z['events'],z['event_frames']))[40:]): + if j not in early[c] and 40+j not in skipev: + t,s,a,b=e;add(mp[t],mp[s],Q(a,b),tuple(F)) + for key,(r,alpha) in zip(keys,z['outputs']): + if tuple(key) in FULLT:skip();continue + a=mp[r];b=alloc();add(b,a,1,cur[a]) + consumers=sorted(d for d in blocks if d!=c and set(key[0])<=set(d)) + assert len(consumers)==2 + for target,r in zip(consumers,(a,b)):packets[c,key[0],key[1],target]=(r,Q(alpha)) + +# Both tetrahedra use the same partition. A selected key has exactly two +# selected Y loads and no ordinary M consumer. Supply its two raw halves in +# opposite orders and never form that M. Other keys retain the old M path. +second=[];first_join_counts=Counter() +for key,reqs in sorted(requests.items()): + assert len(reqs)==2 + c,p,eps=key + if (p,eps) in FULLT:continue + ds=sorted(d for d in blocks if d!=c and set(p)<=set(d));a,b=ds + for j,(target,coef) in enumerate(sorted(reqs)): + first_source,second_source=(a,b) if j==0 else (b,a) + r,alpha=packets[first_source,p,eps,second_source] + F=basis(cur[v+target]+cur[r]);assert inside(F,hyper(P[target])) + first_join_counts[len(F)]+=1;add(v+target,r,coef*alpha,F) + r,alpha=packets[second_source,p,eps,c] + second.append((target,r,coef*alpha)) + +Ms={} +for c in sorted(blocks): + for p in it.combinations(c,2): + ds=sorted(d for d in blocks if d!=c and set(p)<=set(d)) + for eps in (-1,1): + if (c,p,eps) in requests:continue + (a,alpha),(b,beta)=[packets[d,p,eps,c] for d in ds] + F=basis(cur[a]+cur[b]);add(a,b,beta/alpha,F) + Ms[c,p,eps]=(a,alpha) + +consumers=defaultdict(list) +for pid,pair in enumerate(pairs): + for key in pair['keys']:consumers[key].append(pid) +slots={} +for key,uses in sorted(consumers.items()): + assert len(uses)==2 + if key in requests: + assert all(pairs[i]['selected'] for i in uses) + continue + assert all(not pairs[i]['selected'] for i in uses) + a,alpha=Ms[key] + for j,pid in enumerate(uses): + if j==0:r=a + else:r=alloc();add(r,a,1,cur[a]) + slots[pid,key]=(r,alpha) +assert len(cur)-240==NH,len(cur)-240 + +selected_join_counts=Counter() +for target,r,coef in second: + F=basis(cur[v+target]+cur[r]);assert inside(F,hyper(P[target])) + selected_join_counts[len(F)]+=1;add(v+target,r,coef,F) +output_basis=[] +for pair in pairs: + if not pair['selected']:continue + (t,u),mat=pair['targets'],pair['matrix'] + F=basis(cur[v+t]+cur[v+u]);assert inside(F,hyper(P[t])) and inside(F,hyper(P[u])) + add(v+t,v+u,1,F);add(v+u,v+t,-Q(1,2),F) + z=-Q(2*mat[1][0],mat[0][0]);scale(v+u,z,F);output_basis.append((t,u,z)) + +for pid,pair in enumerate(pairs): + if pair['selected']:continue + (t,u),(key1,key2),mat=pair['targets'],pair['keys'],pair['matrix'] + (a,alpha),(b,beta)=slots[pid,key1],slots[pid,key2] + F=basis(cur[a]+cur[b]);aa,ab=Q(mat[0][0])*alpha,Q(mat[0][1])*beta + ba,bb=Q(mat[1][0])*alpha,Q(mat[1][1])*beta + add(a,b,ab/aa,F);q=ba/(bb-ba*ab/aa);add(b,a,q,F) + add(v+t,a,-aa/2,hyper(P[t]));add(v+u,b,-(bb-ba*ab/aa)/2,hyper(P[u])) + +for t in range(v): + expected={s:-Q(G[t][s],2) for s in range(v) if s!=t and G[t][s] and s not in frame.values()} if t not in frame.values() else {} + assert rows[v+t]==expected,('side identity',t) + +scatter=[[Q(r[i],4) if t not in frame.values() else Q(0) for i in range(8)]+[Q(t==frame[i]) for i in range(8)] for t,r in enumerate(R)] +precondition=[] +for t,u,z in output_basis: + a,b=scatter[t].copy(),scatter[u].copy() + scatter[t]=[x/2-y/z for x,y in zip(a,b)] + scatter[u]=[x/2+y/z for x,y in zip(a,b)] + precondition.extend([['scale',v+u,(1/z).numerator,(1/z).denominator,[]], + ['add',v+u,v+t,1,2,[]],['add',v+t,v+u,-1,1,[]]]) +for target,source,q in reversed(coded_target_edges): + scatter[target-v]=[a-q*b for a,b in zip(scatter[target-v],scatter[source-v])] + precondition.append(['add',target,source,-q.numerator,q.denominator,[]]) +for r in range(len(cur)):climb(r,hyper(P[r-v]) if v<=r<2*v else FULL) +H[8]+=8;H[1]+=8 +assert sum(r*z for r,z in H.items())==9*NH+240*8+72,sum(r*z for r,z in H.items()) + +def apply(e,matrix): + if e[0]=='add': + _,t,s,a,b,*_=e;q=Q(a,b) + for j,x in list(matrix[s].items()): + z=matrix[t].get(j,Q(0))+q*x + if z:matrix[t][j]=z + else:matrix[t].pop(j,None) + else: + _,t,a,b,*_=e;q=Q(a,b);matrix[t]={j:q*x for j,x in matrix[t].items()} +def inverse(e): + e=copy.deepcopy(e) + if e[0]=='add':e[3]*=-1 + else:e[2],e[3]=e[3],e[2] + e[-1]=list(FULL);return e +cut=[['add',v+t,centers[i],q.numerator,q.denominator,None] for t,row in enumerate(scatter) for i,q in enumerate(row) if q] +cleanup=[inverse(e) for e in reversed(A+B) if not v<=e[1]<2*v] +matrix=[{r:Q(1)} if r - entering end e's tail frame has a dimension that no helper_final frame has, so the mutant cannot be built. +Such a site is never skipped silently: the pins file MUST declare it under "not_applicable" ({site: reason}), the +declared set MUST equal the detected set, an identity is PROVEN by byte equality of the mutated and honest words (both +sha256 recorded), and a substitute mutant of the same class is built and MUST be rejected at the class's pinned reason: + extra_end -> the first premixed partner of h0 that is not yet ended, cold-ended at h0's frame; + other_hp: -> e's end moved to another helper_final frame of the dimension of e's own end frame. +Original docstring: layer_end_controls.py LAYERED-WORD.json.gz ROUTING OUTDIR (env PR635_CODE): adapted PR635 cold_end_controls.py (LayerReviewer): raw-word negative controls for the cold low-frame ends and the +refactored cleanup accepted by hpe_audit_and_transport.py. Every mutation MUST be rejected (AssertionError); the +unmutated word MUST pass. Apache-2.0. DreamingOfClouds with Claude Opus 5.5 (Anthropic), via Claude Code.""" +import copy, gzip, hashlib, json, shutil, sys, tempfile +from pathlib import Path +import os +sys.path.insert(0, os.environ['PR635_CODE']) # PR635's unchanged hpe_audit_and_transport.py +import hpe_audit_and_transport as atc + +src, routing, outdir = Path(sys.argv[1]), Path(sys.argv[2]), Path(sys.argv[3]) +word = json.load(gzip.open(src)) +v, R = word['report']['v'], word['report']['R']; n = 2*v + R +regs = lambda e: [e[1]] + ([e[2]] if e[0] == 'add' else []) +meta = word['refactored_cleanup'] +cold = [int(h) for h in meta['cold_low_frame_ended_helpers']] +npre = meta['premix_gates']; nlow = meta['lower_frame_gates'] +early = word['early_cleanup']; eidx = {i for i, _ in early} +rest = [i for i in range(len(word['cleanup'])) if i not in eidx] + + +def trial(w): + """None if the transport audit accepts w, else the AssertionError message.""" + tmp = Path(tempfile.mkdtemp()) + p = tmp/'w.json.gz'; p.write_bytes(gzip.compress(json.dumps(w).encode(), mtime=0)) + try: + atc.run(p, routing, tmp/'out') + return None + except AssertionError as e: + return repr(e.args[0]) if e.args else 'AssertionError' + finally: + shutil.rmtree(tmp, ignore_errors=True) + + +# Pinned rejection reasons: each mutant must fail at this assertion of hpe_audit_and_transport.py (message substring). +ENDPOINT, COLDPRE, CONE = "'arbitrary-dirt endpoint'", 'touches a cold hyperplane-ended helper', 'hpe cone pre-check (row / column)' +WHY = dict(premix_to_precondition=COLDPRE, premix_dropped=COLDPRE, e_premix_dropped=ENDPOINT, lower_dropped=ENDPOINT, + remainder_dropped=ENDPOINT, coefficient=ENDPOINT, into_full='cleanup on non-FULL end', dyadic=ENDPOINT, frame_below="'nonmonotone'", + nonmonotone="'nonmonotone'", other_frame=CONE, cone=CONE, extra_end=COLDPRE, marker='cleanup is not the literal reversed inverse', + target='refactored cleanup touches a target', profile_pin='paid local profile differs from the reported local_profile', + entering_precondition='zero-frame precondition/compensation touches an entering helper') +_REASONS = dict(ENDPOINT=ENDPOINT, COLDPRE=COLDPRE, CONE=CONE) +NA_DECLARED = {} +if os.environ.get('LEC_REASON_PINS'): + for _k, _v in json.loads(Path(os.environ['LEC_REASON_PINS']).read_text()).items(): + if _k == 'not_applicable': NA_DECLARED = dict(_v); continue + assert _k in WHY, ('unknown mutant key', _k); WHY[_k] = _REASONS.get(_v, _v) +assert trial(word) is None, 'unmutated cold-end word must pass' +results = [] + + +def reject(name, mut, why): + """the mutation must be rejected, and for the pinned reason (a substring of the audit's assertion message).""" + w = copy.deepcopy(word); mut(w) + msg = trial(w) + assert msg is not None, 'cold-end mutation accepted: ' + name + assert why in msg, 'cold-end mutation %r rejected for the wrong reason: %s' % (name, msg[:300]) + results.append(name); print('rejected', name, '|', why, flush=True) + + +h0 = cold[0] +i0, U0 = next((i, f) for i, f in early if h0 in regs(word['cleanup'][i])) +r0 = rest[len(rest)//2] + + +def premix_to_precondition(w): # premix before the wrappers; compensation then reads the cold ends + w['precondition'] = w['precondition'] + w['A'][:npre]; w['A'] = w['A'][npre:] + + +def lower_gate_into_full(w): # a lower-frame gate on a cold-ended helper executed in the FULL remainder instead + w['early_cleanup'] = [x for x in w['early_cleanup'] if x[0] != i0] + + +def drop_cleanup_gate(w, i): # remove the gate AND its early_cleanup entry: a structurally valid word missing one gate + w['cleanup'].pop(i) + w['early_cleanup'] = [[j - (j > i), f] for j, f in w['early_cleanup'] if j != i] + + +def other_frame(w): # a different frame of the same dimension as the cold end (another cold helper's) + f = next(w['helper_final'][str(h)] for h in cold if w['helper_final'][str(h)] != w['helper_final'][str(h0)]) + w['helper_final'][str(h0)] = f + + +NA = [] # detected not-applicable sites: dict(site, reason, ...) +wsha = lambda w: hashlib.sha256(json.dumps(w, sort_keys=True, separators=(',', ':')).encode()).hexdigest() +HONEST_SHA = wsha(word) + + +def extra_cold_end(w): # declare a premixed partner of h0 cold-ended at h0's frame: fails the row/column cone + p = next(r for e in w['A'][:npre] for r in regs(e) if r != h0 and h0 in regs(e)) + w['helper_final'][str(p)] = w['helper_final'][str(h0)] + + +_m = copy.deepcopy(word); extra_cold_end(_m) +if wsha(_m) == HONEST_SHA: # identity: the first partner is already ended at h0's frame + _p = next(r for e in word['A'][:npre] for r in regs(e) if r != h0 and h0 in regs(e)) + _q = next(r for e in word['A'][:npre] for r in regs(e) if r != h0 and h0 in regs(e) and str(r) not in word['helper_final'] and not v <= r < 2*v) + NA.append(dict(site='extra_end', reason='partner %d already cold-ended at h0 %d frame (identity)' % (_p, h0), + honest_sha256=HONEST_SHA, mutated_sha256=wsha(_m), substitute='partner %d' % _q)) + + def extra_cold_end(w, q=_q): w['helper_final'][str(q)] = w['helper_final'][str(h0)] + assert wsha((lambda x: (extra_cold_end(x), x)[1])(copy.deepcopy(word))) != HONEST_SHA + + +reject('premix placed in the zero-frame precondition (before the cold wrappers)', premix_to_precondition, WHY['premix_to_precondition']) +reject('one premix gate dropped (the compensation then reads a cold-ended helper)', lambda w: w['A'].pop(npre - 1), WHY['premix_dropped']) +reject('one lower-frame cleanup gate dropped (gate and its early_cleanup entry)', lambda w: drop_cleanup_gate(w, i0), WHY['lower_dropped']) +reject('one FULL-remainder gate dropped', lambda w: drop_cleanup_gate(w, r0), WHY['remainder_dropped']) +reject('lower-frame gate coefficient changed', lambda w: w['cleanup'][i0].__setitem__(3, w['cleanup'][i0][3] * 2), WHY['coefficient']) +reject('lower-frame gate moved into the FULL remainder (touches a cold-ended helper at FULL)', lower_gate_into_full, WHY['into_full']) +reject('lower-frame gate frame below its registers\' frames', lambda w: next(x for x in w['early_cleanup'] if x[0] == i0).__setitem__(1, U0[:-1]), WHY['frame_below']) +reject('cold end at another dim-4 frame', other_frame, WHY['other_frame']) +# PROFILE-PIN control: without its helper_final entry the cold-ended helper is a valid FULL-ended helper; the word is +# rejected because its reported paid profile (which counts the low end) no longer matches the frame chains. +reject('profile pin: cold end dropped (valid FULL end, but the reported profile counts the low end)', lambda w: w['helper_final'].pop(str(h0)), WHY['profile_pin']) +reject('extra cold end on a premixed partner (the compensation reads it before its wrapper)', extra_cold_end, WHY['extra_end']) +reject('refactored-cleanup marker removed (literal-inverse rule applies)', lambda w: w.pop('refactored_cleanup'), WHY['marker']) +reject('remainder gate retargeted to a target register', lambda w: w['cleanup'][r0].__setitem__(1, v + 3), WHY['target']) +reject('non-dyadic remainder coefficient', lambda w: w['cleanup'][r0].__setitem__(4 if w['cleanup'][r0][0] == 'add' else 3, 3 * w['cleanup'][r0][4 if w['cleanup'][r0][0] == 'add' else 3]), WHY['dyadic']) +reject('profile not updated (paid climbs misreported)', lambda w: w['report']['local_profile'].__setitem__('5', w['report']['local_profile']['5'] - 1), WHY['profile_pin']) +ent = [int(h) for h in sys.argv[4].split(',')] if len(sys.argv) > 4 else [int(h) for h in meta.get('entering_low_frame_ended_helpers', [])] +for e0 in ent: # ENTERING LOW-FRAME ENDS (ColdSupply extension; every entering end; absent for words without them) + j0 = next((i for i, e in enumerate(word['A'][:npre]) if e0 in regs(e)), None) + print('entering end', e0, 'premix gate', j0, flush=True) + k0, Ue = next((i, f) for i, f in early if e0 in regs(word['cleanup'][i])) + def to_pre(w, j0=j0): w['precondition'].append(w['A'][j0]); w['A'].pop(j0) + def other_hp(w, e0=e0, Ue=Ue): w['helper_final'][str(e0)] = next(f for h, f in w['helper_final'].items() if len(f) == len(Ue) and sorted(f) != sorted(Ue)) + if not any(len(f) == len(Ue) and sorted(f) != sorted(Ue) for f in word['helper_final'].values()): # unbuildable + Uh = word['helper_final'][str(e0)] + NA.append(dict(site='other_hp:%d' % e0, reason='tail frame dim %d; no other helper_final frame of that dim' % len(Ue), + dims_available=sorted({len(f) for f in word['helper_final'].values()}), substitute='end-frame dim %d' % len(Uh))) + + def other_hp(w, e0=e0, Uh=Uh): w['helper_final'][str(e0)] = next(f for h, f in w['helper_final'].items() if len(f) == len(Uh) and sorted(f) != sorted(Uh)) + if j0 is not None: reject('entering end %d: premix gate dropped' % e0, lambda w, j0=j0: w['A'].pop(j0), WHY['e_premix_dropped']) + if j0 is not None: reject('entering end %d: premix gate at frame [] instead of its entrance E' % e0, lambda w, j0=j0: w['A'][j0].__setitem__(-1, []), WHY['nonmonotone']) + if j0 is not None: reject('entering end %d: premix gate moved into the zero-frame precondition' % e0, to_pre, WHY['entering_precondition']) + reject('entering end %d: lower-frame gate dropped (gate and its early_cleanup entry)' % e0, lambda w, k0=k0: drop_cleanup_gate(w, k0), WHY['lower_dropped']) + reject('entering end %d: profile pin: end dropped (valid FULL end, but the reported profile counts the low end)' % e0, lambda w, e0=e0: w['helper_final'].pop(str(e0)), WHY['profile_pin']) + reject('entering end %d: end at another hyperplane' % e0, other_hp, WHY['cone']) +# Pinned rejection reasons of the COLD-BEYOND mutants (substrings of hpe_audit_and_transport.py assertion messages). +MYWHY = dict(tw_precondition=COLDPRE, tw_dropped=COLDPRE, tw_coefficient=COLDPRE, tw_other_block=COLDPRE, + tw_entering='zero-frame compensation reads an entering helper', + ab_dropped=ENDPOINT, ab_coefficient=ENDPOINT, ab_early=ENDPOINT, ab_live=ENDPOINT, ab_centre=ENDPOINT, + ab_lower="'nonmonotone'", ab_higher="'nonmonotone'", + sh_dropped=ENDPOINT, sh_coefficient=ENDPOINT, rel_dropped=ENDPOINT, rel_coefficient=ENDPOINT, rel_live=ENDPOINT, + h8_other=CONE, h8_lower=ENDPOINT) +# COLD-BEYOND primitives (present only when the word carries them): frame-[] target writes in the premix (explicit +# post-wrapper compensation of an ended helper's dirt) and forward absorptions into dead registers. +nw = meta.get('premix_target_writes', 0) +if nw: + wi = [i for i in range(npre) if v <= word['A'][i][1] < 2*v] + assert len(wi) == nw + + def writes_to_precondition(w): # the target writes run before the cold wrappers (inside the zero-frame precondition) + g = [w['A'][i] for i in wi]; w['precondition'] = w['precondition'] + g + w['A'] = [e for i, e in enumerate(w['A']) if i not in set(wi)] + reject('premix target writes placed in the zero-frame precondition (before the cold wrappers)', writes_to_precondition, MYWHY['tw_precondition']) + reject('one premix target write dropped (compensation must read an ended helper)', lambda w: w['A'].pop(wi[0]), MYWHY['tw_dropped']) + reject('premix target write coefficient changed', lambda w: w['A'][wi[0]].__setitem__(3, w['A'][wi[0]][3] * 2), MYWHY['tw_coefficient']) + # (reading another register that carries the SAME weight of the ended helper's dirt is a valid variant, so the mutant reads + # the same factory slot of the next block, which carries none of it) + entering_regs = sorted(int(r) for r in word.get('start_extra', {})) + reject('premix target write reads an entering helper', lambda w: w['A'][wi[0]].__setitem__(2, entering_regs[0]), MYWHY['tw_entering']) + reject('premix target write reads a cold helper of another block', lambda w: w['A'][wi[0]].__setitem__(2, 2*v + (w['A'][wi[0]][2] - 2*v + 16) % 224), MYWHY['tw_other_block']) +ab = meta.get('forward_absorption_A_indices', []) +if any(len(word['helper_final'][str(h)]) == 8 for h in cold): + # with dim-8 cold ends, the centre-retargeted absorption first leaks an ended helper's dirt into the cut's targets + MYWHY['ab_centre'] = COLDPRE +if ab: + # the ColdBeyond U_b absorption (q += -1/2 g); ColdThird's extra absorptions have their own controls below + a0 = next(a for a in ab if word['A'][a][3] * 2 == -word['A'][a][4]); g0 = word['A'][a0] + + def absorption_moved_early(w): # absorbed before the absorbed register's last kernel write + e = w['A'].pop(a0); j = max(i for i in range(npre, a0) if g0[2] == w['A'][i][1] and w['A'][i][-1] == g0[-1]) + w['A'].insert(j, e) + + def absorption_into_live(w): # q += a g moved right after g's previous frame-mate gate, while q is still live + e = w['A'].pop(a0); j = max(i for i in range(npre, a0) if g0[1] in regs(w['A'][i])) + w['A'].insert(j, e) + reject('forward absorption dropped', lambda w: w['A'].pop(a0), MYWHY['ab_dropped']) + reject('forward absorption into a centre (a live register read by the cut)', lambda w: w['A'][a0].__setitem__(1, next(c for c in word['centers'] if c not in g0[1:3] and c not in cold)), MYWHY['ab_centre']) + reject('forward absorption coefficient changed', lambda w: w['A'][a0].__setitem__(3, w['A'][a0][3] * 2), MYWHY['ab_coefficient']) + reject('forward absorption placed before the absorbed register\'s last kernel write', absorption_moved_early, MYWHY['ab_early']) + reject('forward absorption placed while the absorbing register is still live', absorption_into_live, MYWHY['ab_live']) + reject('forward absorption at a lower frame than its registers', lambda w: w['A'][a0].__setitem__(-1, w['A'][a0][-1][:-1]), MYWHY['ab_lower']) + reject('forward absorption at a higher frame (FULL) than its registers', lambda w: w['A'][a0].__setitem__(-1, [256, 128, 64, 32, 16, 8, 4, 2, 1]), MYWHY['ab_higher']) +# COLD-THIRD primitives (present only when the word carries them): several absorptions after one input gate, dirt-release +# absorptions (a dead port takes a live helper's value so that a hyperplane unit's column has no dirt on it), and cold ends at +# a dim-8 frame with lifted partners. +hyper = [h for h in cold if len(word['helper_final'][str(h)]) == 8] +if hyper and ab: + sh = next(a for a, b in zip(ab, ab[1:]) if b == a + 1) # two absorptions sharing one input anchor + rel = next(a for a in ab if a - 1 not in ab and a + 1 not in ab and word['A'][a][2] in hyper and word['A'][a][3] * 2 != -word['A'][a][4]) + hh = hyper[0]; ih = next(i for i, f in early if hh in regs(word['cleanup'][i])) + reject('second absorption sharing an input anchor dropped', lambda w: w['A'].pop(sh + 1), MYWHY['sh_dropped']) + reject('shared-anchor absorption coefficient changed', lambda w: w['A'][sh + 1].__setitem__(3, w['A'][sh + 1][3] * 2), MYWHY['sh_coefficient']) + reject('dirt-release absorption dropped', lambda w: w['A'].pop(rel), MYWHY['rel_dropped']) + reject('dirt-release absorption coefficient changed', lambda w: w['A'][rel].__setitem__(3, w['A'][rel][3] * 2), MYWHY['rel_coefficient']) + jr = max(i for i in range(npre, rel) if word['A'][i][0] == 'add' and word['A'][i][2] == word['A'][rel][1]) + + def release_while_read(w): # the release runs before a kernel gate that still READS the port (port live) + e = w['A'].pop(rel); w['A'].insert(jr, e) + reject('dirt-release absorption moved before a kernel gate that still reads the port', release_while_read, MYWHY['rel_live']) +if hyper: + # dim-8 cold-end controls for EVERY dim-8 cold end of the word (read from the word's helper_final and the recipe meta's + # cold_low_frame_ended_helpers), not one representative per terminal frame + for hh in hyper: + ih = next(i for i, f in early if hh in regs(word['cleanup'][i])) + Uh = word['helper_final'][str(hh)] + reject('dim-8 cold end %d (frame %s) at another dim-8 frame' % (hh, Uh), lambda w, hh=hh: w['helper_final'].__setitem__(str(hh), next(f for h, f in w['helper_final'].items() if len(f) == 8 and sorted(f) != sorted(w['helper_final'][str(hh)]))), MYWHY['h8_other']) + reject('dim-8 cold end %d (frame %s): one lower-frame gate dropped (gate and its early_cleanup entry)' % (hh, Uh), lambda w, ih=ih: drop_cleanup_gate(w, ih), MYWHY['h8_lower']) + reject('dim-8 cold end %d (frame %s): profile pin (end dropped)' % (hh, Uh), lambda w, hh=hh: w['helper_final'].pop(str(hh)), WHY['profile_pin']) +# FACTORED ACCUMULATOR (CarrierBypass; present only when the word carries one): a lower-frame tail gate a += x*g on two +# non-ended registers whose accumulator a is afterwards read by a dim-8 cold end's tail gate (h += y*a at its U). +ended_all = {int(h) for h in word['helper_final']} +tailg = [(i, word['cleanup'][i]) for i, _ in early] +accs = [] # EVERY factored accumulator gate (one per accumulator register a), each controlled on its own +for k, (i, e) in enumerate(tailg): + if e[0] == 'add' and e[1] not in ended_all and e[2] not in ended_all and len(next(f for j, f in early if j == i)) < 8: + if e[1] not in [word['cleanup'][j][1] for j in accs] and any(t[0] == 'add' and t[2] == e[1] and t[1] in hyper for _, t in tailg[k + 1:]): + accs.append(i) +for acc in accs: + a = word['cleanup'][acc][1] + reject('factored accumulator %d (gate %d) zeroed' % (a, acc), lambda w, acc=acc: w['cleanup'][acc].__setitem__(3, 0), ENDPOINT) + reject('factored accumulator %d (gate %d) coefficient doubled' % (a, acc), lambda w, acc=acc: w['cleanup'][acc].__setitem__(3, w['cleanup'][acc][3] * 2), ENDPOINT) +assert {x['site']: x['reason'] for x in NA} == NA_DECLARED, ('not-applicable sites differ from the pins file', NA, NA_DECLARED) +outdir.mkdir(parents=True, exist_ok=True) +(outdir/'COLD-END-CONTROLS.json').write_text(json.dumps(dict(status='PASS_COLD_END_RAW_WORD_CONTROLS', word=str(src), rejected=results, not_applicable=NA), indent=1) + '\n') +print('PASS', len(results), 'cold-end raw-word mutations rejected') diff --git a/research/gauge44-slots-t16/construction/leaver/reproduce_leaver.py b/research/gauge44-slots-t16/construction/leaver/reproduce_leaver.py new file mode 100644 index 0000000000..bc4360ef93 --- /dev/null +++ b/research/gauge44-slots-t16/construction/leaver/reproduce_leaver.py @@ -0,0 +1,177 @@ +#!/usr/bin/env python3 +"""Rebuild the leaver word: the no-triangle word with no-helper mutable-leaver all-K cells, and its native locals. + +Each cell (pair p, sign e) replaces the three face events of the blocks containing p and their three packet copies +by a 21-gate circuit on the cell's six leaver sources x_j (the face-event operands, which have no later reads and are +restored by the inherited cleanup at FULL) and its six targets y_i: 3 leaver gates x_k += c x_m, 3 target gates +y_a += c y_b (inverted at frame zero in the precondition and scatter, #781's recipe) and 15 reads y_i += c x_j. +Unit circuit (LeaverSAT, layered CP-SAT on the exact set model), relabelled per cell so that no y += y source carries +port-stage entering-helper dirt at the gate; coefficients rescaled exactly to the cell (C_ij = r_i c_j). +Input: a fresh `construction/reproduce.py --until word` output directory (hamming/, shadow-early/, shadow-prefix/). +Steps, each checked exactly (pins in LEAVER-PINS.json): + 0. cells: CODED-CELLS.json's scaled gates are re-derived from the unit circuits and the cell coefficients, and the + clean map Y_i = sum_j C_ij X_j is checked in exact rationals. + 1. gauge-forward: cgx_leaver.py (notri/cgx.py + the leaver edits) with TRI-LEAVER.json, XPARAM = notri/PRIO6.json. + 2. port0-3: notri/port_stage_x.py. + 3. regroup: REGROUP-LEAVER.json's changes where their `before` gate occurs (count pinned). + 4. hpe: PR635's build_hpe.candidates greedy with disjoint registers, build_hpe.apply (recipe pinned). + 5. cold44: notri/cold44x.py with EXTRAH and pinned pairing ranks; output sha, profile and widths pinned. + 6. native, ledgers, local-replay, wrappers, phases: PR635's native local programs (pins). +Apache-2.0. LeaverSAT (Claude Code research agent), driver after construction/notri/reproduce_notri.py. +""" +import argparse, gzip, hashlib, importlib.util, json, os, shutil, subprocess, sys, time +from fractions import Fraction +from pathlib import Path + +HERE = Path(__file__).resolve().parent +NOTRI = HERE.parent / 'notri' + + +def read(p): + raw = Path(p).read_bytes() + return json.loads(gzip.decompress(raw) if str(p).endswith('.gz') else raw) + + +def enc(x): return json.dumps(x, sort_keys=True, separators=(',', ':')).encode() + + +def dump(p, v): + p.parent.mkdir(parents=True, exist_ok=True); p.write_bytes(gzip.compress(enc(v), mtime=0)) + + +def load(name, path): + s = importlib.util.spec_from_file_location(name, path); m = importlib.util.module_from_spec(s); s.loader.exec_module(m); return m + + +def check_cells(cells): + for c in cells: + C = [[Fraction(q) for q in r] for r in c['coefficients']] + col = [None] * 6; row = [Fraction(1)] + [None] * 5 + for j in range(1, 6): col[j] = C[0][j] + col[0] = C[1][0] / (C[1][2] / col[2]) + for i in range(1, 6): row[i] = C[i][(i + 1) % 6] / col[(i + 1) % 6] + assert all(C[i][j] == row[i] * col[j] for i in range(6) for j in range(6) if i != j), ('rank-one cell', c['cell']) + idx = lambda s: int(s[1:]) + scaled = [] + for t, s, q in c['unit']: + assert Fraction(q) == 1 + if t[0] == 'x': assert s[0] == 'x'; q = col[idx(s)] / col[idx(t)] + elif s[0] == 'y': q = row[idx(t)] / row[idx(s)] + else: q = row[idx(t)] * col[idx(s)] + scaled.append([t, s, str(q)]) + assert scaled == c['scaled'], ('scaled gates', c['cell']) + R = {f'x{j}': {j: Fraction(1)} for j in range(6)}; R.update({f'y{i}': {} for i in range(6)}) + for t, s, q in scaled: + for k, x in list(R[s].items()): R[t][k] = R[t].get(k, 0) + Fraction(q) * x + for i in range(6): + assert {k: x for k, x in R[f'y{i}'].items() if x} == {j: C[i][j] for j in range(6) if j != i}, ('clean map', c['cell'], i) + + +def main(): + assert __debug__, 'Assertions are required' + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--main', type=Path, required=True) + ap.add_argument('--pr635', type=Path, required=True) + ap.add_argument('--word-dir', type=Path, required=True, help='construction/reproduce.py --until word output') + ap.add_argument('--out', type=Path, required=True) + ap.add_argument('--skip-phases', action='store_true') + ap.add_argument('--word-only', action='store_true', help='stop after the pinned scalar word (input to the layers)') + ap.add_argument('--id', default='k5', help='cell set: TRI-LEAVER-, CODED-CELLS-, REGROUP-LEAVER-, LEAVER-PINS-') + ap.add_argument('--record-pins', action='store_true', help='write LEAVER-PINS.json from this run instead of checking') + a = ap.parse_args() + out = a.out.resolve(); assert not out.exists(); out.mkdir(parents=True) + pins = {} if a.record_pins else read(HERE / ('LEAVER-PINS-%s.json' % a.id)); got = {} + def pin(k, v): + got[k] = v + if not a.record_pins: assert pins[k] == v, ('pin', k, v, pins[k]) + up = a.pr635.resolve() / 'research/complex-571-cold14-st2' + src = a.main.resolve() / 'research/complex-k492-owner-repair/vendor/multicold' + base = src / 'vendor/pr558'; parent = base / 'vendor/pr552'; gk = parent / 'complex-local/static44/gk' + structural = a.main.resolve() / 'research/structural-gain/frontier-composition' + wd = a.word_dir.resolve() + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONUTF8='1', PYTHONINTMAXSTRDIGITS='0', + MULTICOLD_SOURCE=str(src), GAIN_PR564_SOURCE=str(src)) + for k in ('PYTHONOPTIMIZE', 'XPARAM', 'EXTRAH', 'PAIRING_RANKS', 'DIAG', 'HYBBUDGET'): env.pop(k, None) + steps = [] + + def run(label, script, *args): + t = time.monotonic() + with (out / (label + '.log')).open('w') as f: + rc = subprocess.call([sys.executable, '-B', str(src / 'code/run_portable.py'), str(script), *map(str, args)], + env=env, stdout=f, stderr=subprocess.STDOUT) + steps.append(dict(step=label, exit_code=rc, seconds=round(time.monotonic() - t, 3))) + (out / 'STEPS.json').write_text(json.dumps(steps, indent=2) + '\n') + assert rc == 0, label + print('PASS', label, flush=True) + + # 0. cells + cells = read(HERE / ('CODED-CELLS-%s.json' % a.id)); check_cells(cells); print('PASS cells', [c['cell'] for c in cells], flush=True) + # 1. gauge-forward + shutil.copy(HERE / ('TRI-LEAVER-%s.json' % a.id), out / 'TRI.json'); shutil.copy(HERE / ('CODED-CELLS-%s.json' % a.id), out / 'CODED-CELLS.json') + env['XPARAM'] = str(NOTRI / 'PRIO6.json') + raw = out / 'raw' + run('gauge-forward', HERE / 'cgx_leaver.py', wd / 'hamming', raw, out / 'TRI.json') + word = raw / 'FULL-WORD.json.gz'; pin('raw_sha256', hashlib.sha256(enc(read(word))).hexdigest()) + # 2. port stages + chain = [parent / 'complex-local/static44/inputs/RAW504.json.gz', structural / 'global-replay/base/split-centres/FULL-WORD.json.gz', + wd / 'shadow-early/FULL-WORD.json.gz', structural / 'multicold-eight-word/FULL-WORD.json.gz', + wd / 'shadow-prefix/FULL-WORD.json.gz'] + for i, (b, c) in enumerate(zip(chain, chain[1:])): + t = out / ('port%d' % i) + run('port%d' % i, NOTRI / 'port_stage_x.py', '--shadow-input', b, '--shadow-output', c, '--input', word, + '--map', raw / 'HELPER-MAP.json', '--gk-dir', gk, '--out', t) + word = t / 'FULL-WORD.json.gz' + # 3. regroup + w = read(word); rg = {json.dumps(c['before']): c['after'] for c in read(HERE / ('REGROUP-LEAVER-%s.json' % a.id))['changes']} + n = 0 + for part in ('A', 'B'): + for i, e in enumerate(w[part]): + k = json.dumps(e) + if k in rg: w[part][i] = rg[k]; n += 1 + sys.path.insert(0, str(gk)); import gk_word as GW, gk_common as GC + GW.V = GC.V = 112; GW.DATA = GC.DATA = 7168 + H = GW.profile(w) + w['report'].update(local_profile={str(k): z for k, z in sorted(H.items()) if z}, local_rank_mass=sum(r * z for r, z in H.items())) + pin('regroup_count', n); dump(out / 'regroup/FULL-WORD.json.gz', w); pin('regroup_sha256', hashlib.sha256(enc(w)).hexdigest()) + # 4. HPE + h = load('upstream_hpe', up / 'code/build_hpe.py') + used, ch = set(), [] + for c in h.candidates(w): + rs = set(h.regs(w['cleanup'][c['cleanup_index']])) + if rs & used: continue + used |= rs; ch.append(c) + (out / 'HPE-RECIPE.json').write_text(json.dumps(dict(changes=ch))) + pin('hpe_recipe_sha256', hashlib.sha256(enc(dict(changes=ch))).hexdigest()) + w = h.apply(w, ch); dump(out / 'hpe/FULL-WORD.json.gz', w) + # 5. cold44 + hm = set(read(raw / 'HELPER-MAP.json')['map'].values()) + env['EXTRAH'] = json.dumps(sorted(set(range(224, 224 + w['report']['R'])) - hm)) + if not a.record_pins: env['PAIRING_RANKS'] = json.dumps(pins['pairing_ranks']) + run('cold44', NOTRI / 'cold44x.py', '--input', out / 'hpe/FULL-WORD.json.gz', '--out', out / 'cold44', + '--hamming', wd / 'hamming', '--upstream-package', up) + pin('pairing_ranks', [b['pairing_rank'] for b in read(out / 'cold44/CONSTRUCTION.json')['blocks']]) + word = out / 'cold44/FULL-WORD.json.gz'; w = read(word) + pin('cold44_sha256', hashlib.sha256(enc(w)).hexdigest()); rep = w['report'] + pin('R', rep['R']); pin('local_profile', rep['local_profile']); pin('width_inventory', rep['width_inventory']) + print('PASS leaver scalar word', got['cold44_sha256'], flush=True) + if not a.word_only: + for k in ('XPARAM', 'EXTRAH', 'PAIRING_RANKS'): env.pop(k, None) + local = out / 'local' + run('native', up / 'code/hpe_audit_and_transport.py', '--raw', word, + '--routing', parent / 'complex-local/inputs/phase-baseline/CANONICAL-WORD.json.gz', '--out', local) + pin('canonical_sha256', hashlib.sha256(gzip.decompress((local / 'CANONICAL-WORD.json.gz').read_bytes())).hexdigest()) + run('ledgers', up / 'code/hpe_emit_local.py', local) + run('local-replay', up / 'code/hpe_audit_local.py', local) + run('wrappers', up / 'code/hpe_adapters_local.py', local / 'CANONICAL-WORD.json.gz', + local / 'RESIDUAL-ADAPTERS.json', local / 'WRAPPER-CHECKS.json') + checks = read(local / 'LOCAL-CHECKS.json') + pin('program_sha256', {o: checks[o]['sha256'] for o in ('forward', 'backward')}) + if not a.skip_phases: + run('phases', base / 'code/phases_full.py', local, parent / 'complex-global/vendor531/vendor/clifford') + pin('clifford_recipes_sha256', hashlib.sha256((local / 'CLIFFORD-RECIPES.json').read_bytes()).hexdigest()) + if a.record_pins: (HERE / ('LEAVER-PINS-%s.json' % a.id)).write_text(json.dumps(got, indent=1) + '\n') + print('DONE', out, flush=True) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-slots-t16/construction/leaver/reproduce_leaver_chain.py b/research/gauge44-slots-t16/construction/leaver/reproduce_leaver_chain.py new file mode 100644 index 0000000000..19fcd28f4d --- /dev/null +++ b/research/gauge44-slots-t16/construction/leaver/reproduce_leaver_chain.py @@ -0,0 +1,187 @@ +#!/usr/bin/env python3 +"""Rebuild the leaver stack on top of the leaver cell word: layers (NP, p6n), promotions, joint exchange and U8-style +hybrids, and the final word's native locals. + +Input: a fresh `construction/leaver/reproduce_leaver.py --word-only` output directory (raw/HELPER-MAP.json, regroup/, +cold44/; the cell word and its regroup word are pinned there by LEAVER-PINS.json). Each step uses an unchanged signed +builder with a LeaverSAT recipe (data only), and every intermediate word is pinned: + 1. pivot-swap: ../layers/build_pivot_swap.py with PIVOT-SWAP-.json on the regroup word (its own 30 controls). + 2. hpe: PR635's build_hpe.candidates (greedy, disjoint registers) must equal HPE-RECIPE-.json; build_hpe.apply. + The swapped HPE word is pinned by the cold-layer recipes' input_content_sha256. + 3. cold44-exact: ../notri/cold44x.py on the swapped HPE word (pairing ranks pinned to LEAVER-PINS); its cold ends, + premix and low tails must equal the unswapped leaver construction's. + 4. layers: PR635's build_cold_end.apply(HPE, COLD-LAYERS-RECIPE-NP-) -> NP word and (.., -P6N-) -> p6n word; + output shas pinned by the recipes. + 5. promotion: ../promo/build_promotion.py with PROMO-RECIPE-.json on the p6n word; ../promo/promo_controls.py. + 6. jx: ../jx/build_jx.py with RECIPE-X4-.json on the promoted word; all recipe controls rerun at their pins. + 7. hybrids: ../barch/build_tri.py with RECIPE-U8-.json on the jx word; ../barch/run_controls.py (all outcomes). + 8. frames: build_frames_lv.py (LeaverSAT2) applies FRAME-RECIPE-LV-.json (B/T frame changes, exact global frame + optimum) with ../promo/build_promotion.apply; scalar program unchanged; 3 pin controls; output pinned. + 8b. layer-end-controls: layer_end_controls_leaver.py (v2: the signed per-end controls with per-word reason re-pins + and declared not-applicable sites, each replaced by a same-class substitute mutant) on the p6n, promoted, jx and + hybrid words with LEC-REASON-PINS-STACK-.json, and on the re-framed final word with LEC-REASON-PINS-.json; + counts, not-applicable sites and the sha256 of each pins file pinned. + 9. native, ledgers, local-replay, wrappers, phases on the final word; canonical, programs, Clifford pinned. +All counts and native pins are in CHAIN-PINS-.json (--record-pins writes it from a run instead of checking; +a checking run requires its pins to equal the file exactly). +Apache-2.0. Driver by ColdWitness over LeaverSAT's frozen recipes and the signed builders. +""" +import argparse, gzip, hashlib, importlib.util, json, os, subprocess, sys, time +from pathlib import Path + +HERE = Path(__file__).resolve().parent +C = HERE.parent +MUTANTS = ('drop_restore', 'restore_full', 'drop_preread', 'donation_after') + + +def read(p): + raw = Path(p).read_bytes() + return json.loads(gzip.decompress(raw) if str(p).endswith('.gz') else raw) + + +def enc(x): return json.dumps(x, sort_keys=True, separators=(',', ':')).encode() + + +def csha(p): return hashlib.sha256(gzip.decompress(Path(p).read_bytes())).hexdigest() + + +def load(name, path): + s = importlib.util.spec_from_file_location(name, path); m = importlib.util.module_from_spec(s); s.loader.exec_module(m); return m + + +def main(): + assert __debug__, 'Assertions are required' + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--main', type=Path, required=True) + ap.add_argument('--pr635', type=Path, required=True) + ap.add_argument('--leaver-dir', type=Path, required=True, help='construction/leaver/reproduce_leaver.py --word-only output') + ap.add_argument('--hamming', type=Path, required=True, help='hamming/ of the construction/reproduce.py --until word output') + ap.add_argument('--out', type=Path, required=True) + ap.add_argument('--skip-phases', action='store_true') + ap.add_argument('--id', default='k5', help='recipe set id: every recipe and pin file below is -') + ap.add_argument('--record-pins', action='store_true') + a = ap.parse_args() + out = a.out.resolve(); assert not out.exists(); out.mkdir(parents=True) + up = a.pr635.resolve() / 'research/complex-571-cold14-st2' + src = a.main.resolve() / 'research/complex-k492-owner-repair/vendor/multicold' + base = src / 'vendor/pr558'; parent = base / 'vendor/pr552'; gk = parent / 'complex-local/static44/gk' + routing = parent / 'complex-local/inputs/phase-baseline/CANONICAL-WORD.json.gz' + lp = read(HERE / ('LEAVER-PINS-%s.json' % a.id)) + pins = {} if a.record_pins else read(HERE / ('CHAIN-PINS-%s.json' % a.id)); got = {} + + def pin(key, value): + got[key] = value + if not a.record_pins: assert pins[key] == value, (key, value, pins.get(key)) + + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONUTF8='1', PYTHONINTMAXSTRDIGITS='0', + MULTICOLD_SOURCE=str(src), GAIN_PR564_SOURCE=str(src)) + for k in ('PYTHONOPTIMIZE', 'XPARAM', 'EXTRAH', 'PAIRING_RANKS', 'DIAG', 'HYBBUDGET', 'PR635_CODE', 'LEC_REASON_PINS', 'SW4_PIN'): env.pop(k, None) + steps = [] + + def run(label, script, *args, portable=True, extra=None): + t = time.monotonic(); e = dict(env, **(extra or {})) + cmd = [sys.executable, '-B'] + ([str(src / 'code/run_portable.py')] if portable else []) + [str(script), *map(str, args)] + with (out / (label + '.log')).open('w') as f: + rc = subprocess.call(cmd, env=e, stdout=f, stderr=subprocess.STDOUT) + steps.append(dict(step=label, exit_code=rc, seconds=round(time.monotonic() - t, 3))) + (out / 'STEPS.json').write_text(json.dumps(steps, indent=2) + '\n') + assert rc == 0, label + print('PASS', label, flush=True) + return (out / (label + '.log')).read_text() + + def lec(label, word, pins_name): + pf = HERE / ('%s-%s.json' % (pins_name, a.id)); pin(label + '_pins_sha256', hashlib.sha256(pf.read_bytes()).hexdigest()) + run(label, HERE / 'layer_end_controls_leaver.py', word, routing, out / label, + extra=dict(PR635_CODE=str(up / 'code'), LEC_REASON_PINS=str(pf))) + c = read(out / label / 'COLD-END-CONTROLS.json'); assert c['status'] == 'PASS_COLD_END_RAW_WORD_CONTROLS' + pin(label, len(c['rejected'])); pin(label + '_not_applicable', {x['site']: x['reason'] for x in c['not_applicable']}) + + ld = a.leaver_dir.resolve() + assert hashlib.sha256(enc(read(ld / 'cold44/FULL-WORD.json.gz'))).hexdigest() == lp['cold44_sha256'], 'leaver cell word' + rg = ld / 'regroup/FULL-WORD.json.gz' + sw = read(HERE / ('PIVOT-SWAP-%s.json' % a.id)) + assert hashlib.sha256(enc(read(rg))).hexdigest() == lp['regroup_sha256'] == sw['input_content_sha256'], 'regroup word' + # 1. pivot swaps + run('pivot-swap', C / 'layers/build_pivot_swap.py', '--input', rg, '--recipe', HERE / ('PIVOT-SWAP-%s.json' % a.id), '--gk-dir', gk, '--out', out / 'swap') + w = read(out / 'swap/FULL-WORD.json.gz'); assert hashlib.sha256(enc(w)).hexdigest() == sw['output_content_sha256'], 'swap word' + # 2. HPE + h = load('upstream_hpe', up / 'code/build_hpe.py'); used, ch = set(), [] + for c in h.candidates(w): + rs = set(h.regs(w['cleanup'][c['cleanup_index']])) + if rs & used: continue + used |= rs; ch.append(c) + assert ch == read(HERE / ('HPE-RECIPE-%s.json' % a.id))['changes'], 'HPE recipe' + w = h.apply(w, ch); (out / 'hpe').mkdir(); (out / 'hpe/FULL-WORD.json.gz').write_bytes(gzip.compress(enc(w), mtime=0)) + rnp, rp6 = read(HERE / ('COLD-LAYERS-RECIPE-NP-%s.json.gz' % a.id)), read(HERE / ('COLD-LAYERS-RECIPE-P6N-%s.json.gz' % a.id)) + assert hashlib.sha256(enc(w)).hexdigest() == rnp['input_content_sha256'] == rp6['input_content_sha256'], 'swapped HPE word' + # 3. cold44 on the swapped word: same ends, premix and tails + hm = set(read(ld / 'raw/HELPER-MAP.json')['map'].values()) + run('cold44-exact', C / 'notri/cold44x.py', '--input', out / 'hpe/FULL-WORD.json.gz', '--out', out / 'cold44', + '--hamming', a.hamming.resolve(), '--upstream-package', up, + extra=dict(EXTRAH=json.dumps(sorted(set(range(224, 224 + w['report']['R'])) - hm)), PAIRING_RANKS=json.dumps(lp['pairing_ranks']))) + new, old = read(out / 'cold44/RECIPE.json.gz'), read(ld / 'cold44/RECIPE.json.gz') + for key in ('premix', 'early_cleanup', 'cold_ends'): assert new[key] == old[key], ('swapped cold44 differs', key) + tail = len(new['early_cleanup']); assert new['cleanup'][:tail] == old['cleanup'][:tail], 'low tails' + # 4. NP and p6n layers + bce = load('upstream_cold', up / 'code/build_cold_end.py') + for name, r in (('np', rnp), ('p6n', rp6)): + lw = bce.apply(w, r); raw = enc(lw); assert hashlib.sha256(raw).hexdigest() == r['output_content_sha256'], (name, 'word') + (out / name).mkdir(); (out / name / 'FULL-WORD.json.gz').write_bytes(gzip.compress(raw, mtime=0)) + pin(name + '_profile', lw['report']['local_profile']) + p6n = out / 'p6n/FULL-WORD.json.gz'; lec('lec-p6n', p6n, 'LEC-REASON-PINS-STACK') + # 5. promotion + pr = HERE / ('PROMO-RECIPE-%s.json' % a.id) + run('promotion', C / 'promo/build_promotion.py', '--input', p6n, '--recipe', pr, '--out', out / 'promo', portable=False) + assert csha(out / 'promo/FULL-WORD.json.gz') == read(pr)['expected']['output_content_sha256'] + run('promo-controls', C / 'promo/promo_controls.py', '--input', p6n, '--recipe', pr, '--audit', C.parent / 'independent/audit_local.py', + '--out', out / 'PROMO-CONTROLS.json', portable=False) + pc = read(out / 'PROMO-CONTROLS.json'); assert pc['honest'] == 'PASS'; pin('promo_controls', pc['rejected']) + lec('lec-promo', out / 'promo/FULL-WORD.json.gz', 'LEC-REASON-PINS-STACK') + # 6. jx + xr = HERE / ('RECIPE-X4-%s.json' % a.id); rec = read(xr); inp = out / 'promo/FULL-WORD.json.gz' + (out / 'jx').mkdir(); jw = out / 'jx/FULL-WORD.json.gz' + run('jx', C / 'jx/build_jx.py', '--input', inp, '--recipe', xr, '--out', jw, portable=False) + assert csha(jw) == rec['expected']['output_content_sha256'] + for name, cc in sorted(rec['controls'].items()): + log = run('jx-control-' + name, C / 'jx/build_jx.py', '--input', inp, '--recipe', xr, '--control', name, portable=False) + if 'rejection_expected' in cc: assert 'CONTROL PINNED' in log, (name, log[-300:]) + else: assert ('OK ' + cc['expected_sha']) in log, (name, log[-300:]) + pin('jx_controls', sorted(rec['controls'])) + lec('lec-jx', jw, 'LEC-REASON-PINS-STACK') + # 7. hybrids + ur = HERE / ('RECIPE-U8-%s.json' % a.id); u = read(ur); (out / 'hyb').mkdir(); fw = out / 'hyb/FULL-WORD.json.gz' + run('hybrids', C / 'barch/build_tri.py', jw, ur, fw, portable=False) + assert csha(fw) == u['expect_sha256'] + run('hybrid-controls', C / 'barch/run_controls.py', jw, ur, C.parent / 'independent/audit_local.py', out / 'hybrid-controls', portable=False) + res = read(out / 'hybrid-controls/controls.json') + want = ['C0_identity', 'recipe', *MUTANTS] + [m + '@' + str(v['X']) for v in u.get('variants', []) for m in MUTANTS] + assert sorted(res) == sorted(want) and all(x['ok'] for x in res.values()), res + pin('hybrid_controls', sorted(want)) + lec('lec-hyb', fw, 'LEC-REASON-PINS-STACK') + # 8. frame re-optimisation (LeaverSAT2): exact global frame optimum of the hybrid word; scalar program unchanged + fr = HERE / ('FRAME-RECIPE-LV-%s.json' % a.id); frec = read(fr) + run('frames', HERE / 'build_frames_lv.py', fw, out / 'frames', fr, portable=False) + fw = out / 'frames/FULL-WORD.json.gz'; assert csha(fw) == frec['expected']['output_content_sha256'] + pin('frame_build_controls', len(read(out / 'frames/BUILD.json')['rejected_controls'])) + # 8b. layer-end controls on the re-framed final word (v2, not-applicable sites declared in LEC-REASON-PINS-): + # the frame re-optimisation lowers an entering-end tail frame to a dimension no helper_final frame has, so that + # site's 'end at another hyperplane' mutant is replaced by its same-class substitute. + lec('lec-frames', fw, 'LEC-REASON-PINS') + # 9. native locals of the final word + local = out / 'local' + run('native', up / 'code/hpe_audit_and_transport.py', '--raw', fw, '--routing', routing, '--out', local) + pin('canonical_sha256', hashlib.sha256(gzip.decompress((local / 'CANONICAL-WORD.json.gz').read_bytes())).hexdigest()) + run('ledgers', up / 'code/hpe_emit_local.py', local) + run('local-replay', up / 'code/hpe_audit_local.py', local) + run('wrappers', up / 'code/hpe_adapters_local.py', local / 'CANONICAL-WORD.json.gz', local / 'RESIDUAL-ADAPTERS.json', local / 'WRAPPER-CHECKS.json') + checks = read(local / 'LOCAL-CHECKS.json'); pin('program_sha256', {o: checks[o]['sha256'] for o in ('forward', 'backward')}) + if not a.skip_phases: + run('phases', base / 'code/phases_full.py', local, parent / 'complex-global/vendor531/vendor/clifford') + pin('clifford_recipes_sha256', hashlib.sha256((local / 'CLIFFORD-RECIPES.json').read_bytes()).hexdigest()) + if a.record_pins: (out / ('CHAIN-PINS-%s.json' % a.id)).write_bytes((json.dumps(got, indent=1) + '\n').encode()) + else: assert got == pins, ('chain pins differ', sorted(set(got) ^ set(pins))) + print('DONE', local, flush=True) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-slots-t16/construction/notri/PRIO6.json b/research/gauge44-slots-t16/construction/notri/PRIO6.json new file mode 100644 index 0000000000..069a7bf5a5 --- /dev/null +++ b/research/gauge44-slots-t16/construction/notri/PRIO6.json @@ -0,0 +1 @@ +{"prio": {"0,1,2,3": [["1", "0", "0", "1", "0", "0", "0", "0"], ["0", "-1/2", "1/2", "0", "0", "-1/2", "1/2", "0"], ["-1/2", "0", "0", "1/2", "0", "0", "0", "0"], ["0", "0", "0", "0", "1", "0", "0", "1"], ["0", "0", "0", "0", "0", "-1/2", "1/2", "0"], ["-1/2", "0", "0", "1/2", "-1/2", "0", "0", "1/2"]], "0,1,4,5": [["1", "0", "0", "1", "0", "0", "0", "0"], ["0", "-1/2", "1/2", "0", "0", "-1/2", "1/2", "0"], ["-1/2", "0", "0", "1/2", "0", "0", "0", "0"], ["0", "0", "0", "0", "1", "0", "0", "1"], ["0", "0", "0", "0", "0", "-1/2", "1/2", "0"], ["-1/2", "0", "0", "1/2", "-1/2", "0", "0", "1/2"]], "0,1,6,7": [["1", "0", "0", "1", "0", "0", "0", "0"], ["0", "-1/2", "1/2", "0", "0", "-1/2", "1/2", "0"], ["-1/2", "0", "0", "1/2", "0", "0", "0", "0"], ["0", "0", "0", "0", "1", "0", "0", "1"], ["0", "0", "0", "0", "0", "-1/2", "1/2", "0"], ["-1/2", "0", "0", "1/2", "-1/2", "0", "0", "1/2"]], "2,3,4,5": [["1", "0", "0", "1", "0", "0", "0", "0"], ["0", "-1/2", "1/2", "0", "0", "-1/2", "1/2", "0"], ["-1/2", "0", "0", "1/2", "0", "0", "0", "0"], ["0", "0", "0", "0", "1", "0", "0", "1"], ["0", "0", "0", "0", "0", "-1/2", "1/2", "0"], ["-1/2", "0", "0", "1/2", "-1/2", "0", "0", "1/2"]], "2,3,6,7": [["1", "0", "0", "1", "0", "0", "0", "0"], ["0", "-1/2", "1/2", "0", "0", "-1/2", "1/2", "0"], ["-1/2", "0", "0", "1/2", "0", "0", "0", "0"], ["0", "0", "0", "0", "1", "0", "0", "1"], ["0", "0", "0", "0", "0", "-1/2", "1/2", "0"], ["-1/2", "0", "0", "1/2", "-1/2", "0", "0", "1/2"]], "4,5,6,7": [["1", "0", "0", "1", "0", "0", "0", "0"], ["0", "-1/2", "1/2", "0", "0", "-1/2", "1/2", "0"], ["-1/2", "0", "0", "1/2", "0", "0", "0", "0"], ["0", "0", "0", "0", "1", "0", "0", "1"], ["0", "0", "0", "0", "0", "-1/2", "1/2", "0"], ["-1/2", "0", "0", "1/2", "-1/2", "0", "0", "1/2"]]}} \ No newline at end of file diff --git a/research/gauge44-slots-t16/construction/notri/cgx.py b/research/gauge44-slots-t16/construction/notri/cgx.py new file mode 100644 index 0000000000..08e80804eb --- /dev/null +++ b/research/gauge44-slots-t16/construction/notri/cgx.py @@ -0,0 +1,469 @@ +# Round20 early-coordinate-center / own-Y variant, prepared for icekylinx +# with OpenAI Codex assistance. Apache-2.0. Scalar elementary-operation +# helpers below are retained from the attributed PR514 construct_partial.py. +# Adapted by OpenAI Codex for isolated structural research. +# Modified from PR425 by icekylinx with Codex assistance. +"""Full discovery word for Hamming packets with borrowed X and Y registers. + +This changes the scalar architecture. It is not accepted by the old restricted +gx interface: source bases may change until full-frame cleanup, and targets use +an explicitly inverted output basis. No supplier admission is asserted. +""" +import copy,gzip,json,math,time +import itertools as it +from collections import Counter,defaultdict +from fractions import Fraction as Q +from pathlib import Path + +import sys +INPUT=Path(sys.argv[1]);OUT=Path(sys.argv[2]);OUT.mkdir(parents=True,exist_ok=False);D=json.loads((INPUT/'PROTOTYPE.json').read_text()) +P=D['binary_ports'];R=D['root_lines'];v=120;h=9 +modules=json.load(gzip.open(INPUT/'PACKET-PROGRAMS.json.gz')) +# AtomScout: leaver-read K-triangles (schedule from atom1.py / rog.py CP-SAT) +TRI=json.loads(Path(sys.argv[3]).read_text()) +FULLT={(tuple(tr['p']),tr['e']) for tr in TRI['triangles']} +TRI_COORDS={t+8 for tr in TRI['triangles'] for t,_,_ in tr['reads']} +import os as _o +COPYL=json.loads(open(_o.environ['XPARAM']).read()).get('copyl',[]) if _o.environ.get('XPARAM') else [] +NH=504-3*len(FULLT)+len(COPYL) + +def basis(vectors): + b={} + for x in vectors: + for p in sorted(b,reverse=True): + if x>>p&1:x^=b[p] + if x: + p=x.bit_length()-1 + for q in b: + if b[q]>>p&1:b[q]^=x + b[p]=x + return tuple(b[p] for p in sorted(b,reverse=True)) +def inside(a,b):return basis(a+b)==b +def hyper(p):return basis([x for x in range(1,512) if (x&p).bit_count()%2==0]) +FULL=basis([1<=v,r)) + for col,s in enumerate(ids): + k=next(i for i in range(col,len(regs)) if rows[regs[i]].get(s,Q(0))) + swap(regs[k],regs[col],F) + scale(regs[col],1/rows[regs[col]][s],F) + for i in range(len(regs)): + if i!=col and rows[regs[i]].get(s,Q(0)):add(regs[i],regs[col],-rows[regs[i]][s],F) + assert all(rows[regs[i]]=={s:Q(1)} for i,s in enumerate(ids)) + M=[[Q(R[s][i]) for s in ids] for i in c] + def qr_rank(rs): + bs={} + for r in rs: + r=r.copy() + for i,b in sorted(bs.items()): + if r[i]:q=r[i];r=[x-q*y for x,y in zip(r,b)] + i=next((i for i,x in enumerate(r) if x),None) + if i is not None:q=r[i];bs[i]=[x/q for x in r] + return len(bs) + assert qr_rank(M)==4 + for rr0 in PRIO.get(",".join(map(str,c)),[])+PRIORITY[",".join(map(str,c))]["rows"]: + rr=list(map(Q,rr0)) + if qr_rank(M+[rr])>len(M):M.append(rr) + if len(M)==8:break + for i in range(8): + if len(M)==8:break + rr=[Q(i==j) for j in range(8)] + if qr_rank(M+[rr])>len(M):M.append(rr) + if len(M)==8:break + assert len(M)==8 + linear(regs,M,F) + for i,r in zip(c,regs): + assert rows[r]=={s:Q(R[s][i]) for s in ids} + block_totals[c,i]=r + +# All centers are complete while Y is still at zero. This is the crucial +# difference from an illegal early-own-Y prefix using the old center order. +centers=[] +for i in range(8): + regs=[block_totals[c,i] for c in sorted(blocks) if i in c] + F=hyper(P[frame[i]]);a=regs[0] + for b in regs[1:]:add(a,b,1,F) + centers.append(a) +centers += [frame[i] for i in range(8)] +center_frames=[cur[r] for r in centers] +assert list(map(len,center_frames))==[8]*8+[1]*8 +assert all(cur[v+t]==() for t in range(v)) + +phase=B +for t,(r,coef,F) in sorted(own_rows.items()): + if t in TRI_COORDS:continue + assert cur[r]==F + add(v+t,r,coef,F) +# requests are needed for TRI coefficients +requests=defaultdict(list) +for pid,pair in enumerate(pairs): + if not pair['selected']:continue + (t,u),(key1,key2),mat=pair['targets'],pair['keys'],pair['matrix'] + requests[key1].append((t,-Q(mat[0][0],2))) + requests[key2].append((u,-Q(mat[0][1],2))) +reqcoef={t:(key,coef) for key,reqs in requests.items() for t,coef in reqs} +def face_info(c,p,eps): + z=blocks[c];keys=[(pp,ee) for pp in it.combinations(c,2) for ee in (-1,1)] + r_local,alpha=z['outputs'][keys.index((p,eps))] + j=[j for j in range(40,len(z['events'])) if z['events'][j][0]==r_local];assert len(j)==1 + return j[0],Q(alpha) +tri_join_counts=Counter();TRILOG=[] +lcopy={} +for s8 in COPYL: + r=s8+8;c=len(cur);cur.append(());rows.append({});shadow.append(None);add(c,r,1,cur[r]);lcopy[r]=c +BF={c:basis([P[x] for x in z['receipt']['source_lines']]) for c,z in blocks.items()} +HYB={(tuple(map(int,h[0])),tuple(map(int,h[1])),int(h[2])) for h in XP.get('hyb',[])} +HYBLOG=[] +def triread(t,blk,r,q): + F=basis(cur[v+t]+cur[r]);assert inside(F,hyper(P[t])),('TRI frame',t,blk,r,cur[v+t],cur[r],hyper(P[t]),[x for x in TRILOG if x[2]==r],HYBLOG) + tri_join_counts[len(F)]+=1;add(v+t,r,q,F);TRILOG.append([t,list(blk),r,str(q),list(F),list(cur[r])]) +for tr in TRI['triangles']: + p,eps=tuple(tr['p']),tr['e'] + hb={blk for _,blk,_ in map(lambda x:(x[0],tuple(x[1]),x[2]),tr['reads']) if (blk,p,eps) in HYB} + own=[];rest=[] + for t8,blk,loc in tr['reads']: + t=t8+8;blk=tuple(blk);r=maps[blk][loc];r0=r;r=lcopy.get(r,r) + key,coef=reqcoef[t];assert key[1]==p and key[2]==eps,(key,p,eps) + if blk==key[0]: + rr,c0,F0=own_rows[t];assert rr==r0;own.append((t,blk,r,c0)) + else: + j,alpha=face_info(blk,p,eps);ev=blocks[blk]['events'][j];assert loc in ev[:2] + rest.append((t,blk,loc,r,coef*alpha)) + if not hb: + # original interleaved order + for t8,blk,loc in tr['reads']: + t=t8+8;blk=tuple(blk);r=maps[blk][loc];key,coef=reqcoef[t] + if blk==key[0]:q=own_rows[t][1] + else:j,alpha=face_info(blk,p,eps);q=coef*alpha + triread(t,blk,r,q) + continue + items=[] # (kind, t, reg, q, blk) + for t,blk,r,q in own:items.append(('r',t,r,q,blk,blk in hb)) + for blk in sorted(hb):items.append(('e',None,None,None,blk,True)) + done=set() + for t,blk,loc,r,q in rest: + if blk in hb: + j,_=face_info(blk,p,eps);ev=blocks[blk]['events'][j] + ws=[x for x in rest if x[0]==t and x[1]==blk];assert len(ws)==2 and ws[0][4]==ws[1][4] and {ws[0][2],ws[1][2]}==set(ev[:2]) + if (t,blk) in done:continue + done.add((t,blk));items.append(('m',t,maps[blk][ev[0]],q,blk,True)) + else:items.append(('r',t,r,q,blk,False)) + # Original read order with the two half reads collapsed into one M read at the first half's slot; the face event goes + # just before the first M read of its block; own reads of the M register are hoisted ahead of that event. + def evinfo(blk): + j,_=face_info(blk,p,eps);ev=blocks[blk]['events'][j];assert ev[2]==ev[3]==1,ev + mpb=maps[blk];return mpb[ev[0]],mpb[ev[1]],tuple(blocks[blk]['event_frames'][j]) + items=[] + seen=set() + for t8,blk,loc in tr['reads']: + t=t8+8;blk=tuple(blk);r=maps[blk][loc];key,coef=reqcoef[t] + if blk==key[0]:items.append(('r',t,r,own_rows[t][1],blk,blk in hb)) + else: + j,alpha=face_info(blk,p,eps);q=coef*alpha + if blk in hb: + if (t,blk) not in seen:seen.add((t,blk));continue + items.append(('m',t,evinfo(blk)[0],q,blk,True)) + else:items.append(('r',t,r,q,blk,False)) + for blk in sorted(hb): + k0=min(i for i,x in enumerate(items) if x[0]=='m' and x[4]==blk) + items.insert(k0,('e',None,None,None,blk,True)) + n=len(items) + def step(it,st): + k,t,r,q,blk,h=it;g=lambda x:st.get(x,cur[x]) + if k=='e': + a_,b_,EF=evinfo(blk);FF=basis(list(EF)+list(g(a_))+list(g(b_))) + return {a_:FF,b_:FF} if inside(FF,BF[blk]) else None + F=basis(list(g(v+t))+list(g(r))) + if not inside(F,hyper(P[t])):return None + if h and k=='r' and r==evinfo(blk)[1] and not inside(F,BF[blk]):return None + return {v+t:F,r:F} + def allowed(i,used): + k,t,r,q,blk,h=items[i] + evi=[j for j,x in enumerate(items) if x[0]=='e' and x[4]==blk] if h else [] + if k=='e':return all(j in used for j,x in enumerate(items) if x[0]=='r' and x[4]==blk and x[5] and x[2]==evinfo(blk)[0]) + if k=='m':return evi[0] in used + if k=='r' and h and r==evinfo(blk)[0]:return evi[0] not in used + return True + budget=[int(os.environ.get('HYBBUDGET','300000'))];memo=set() + def dfs(st,used,order): + if len(order)==n:return order + budget[0]-=1 + if budget[0]<0:return None + sig=(used,tuple(sorted(st.items()))) + if sig in memo:return None + memo.add(sig) + for i in range(n): + if i in used or not allowed(i,used):continue + d=step(items[i],st) + if d is None:continue + ns=dict(st);ns.update(d);res=dfs(ns,used|{i},order+[i]) + if res:return res + return None + import sys as _s;_s.setrecursionlimit(20000) + order=dfs({},frozenset(),[]) + assert order,('no feasible hybrid order',p,eps,sorted(hb),budget) + for i in order: + k,t,r,q,blk,h=items[i] + if k=='e': + a_,b_,EF=evinfo(blk);FF=basis(list(EF)+list(cur[a_])+list(cur[b_]));add(a_,b_,1,FF);HYBLOG.append([list(blk),list(p),eps,list(FF)]) + else:triread(t,blk,r,q) + +packets={} +for c,z in sorted(blocks.items()): + mp=maps[c] + keys=[(p,eps) for p in it.combinations(c,2) for eps in (-1,1)] + skipev={face_info(c,p,eps)[0] for p,eps in keys if (p,eps) in FULLT} + for j,(e,F) in enumerate(list(zip(z['events'],z['event_frames']))[40:]): + if j not in early[c] and 40+j not in skipev: + t,s,a,b=e;add(mp[t],mp[s],Q(a,b),tuple(F)) + for key,(r,alpha) in zip(keys,z['outputs']): + if tuple(key) in FULLT:skip();continue + a=mp[r];b=alloc();add(b,a,1,cur[a]) + consumers=sorted(d for d in blocks if d!=c and set(key[0])<=set(d)) + assert len(consumers)==2 + for target,r in zip(consumers,(a,b)):packets[c,key[0],key[1],target]=(r,Q(alpha)) + +# Both tetrahedra use the same partition. A selected key has exactly two +# selected Y loads and no ordinary M consumer. Supply its two raw halves in +# opposite orders and never form that M. Other keys retain the old M path. +second=[];first_join_counts=Counter() +for key,reqs in sorted(requests.items()): + assert len(reqs)==2 + c,p,eps=key + if (p,eps) in FULLT:continue + ds=sorted(d for d in blocks if d!=c and set(p)<=set(d));a,b=ds + for j,(target,coef) in enumerate(sorted(reqs)): + first_source,second_source=(a,b) if j==0 else (b,a) + r,alpha=packets[first_source,p,eps,second_source] + F=basis(cur[v+target]+cur[r]);assert inside(F,hyper(P[target])) + first_join_counts[len(F)]+=1;add(v+target,r,coef*alpha,F) + r,alpha=packets[second_source,p,eps,c] + second.append((target,r,coef*alpha)) + +Ms={} +for c in sorted(blocks): + for p in it.combinations(c,2): + ds=sorted(d for d in blocks if d!=c and set(p)<=set(d)) + for eps in (-1,1): + if (c,p,eps) in requests:continue + (a,alpha),(b,beta)=[packets[d,p,eps,c] for d in ds] + F=basis(cur[a]+cur[b]);add(a,b,beta/alpha,F) + Ms[c,p,eps]=(a,alpha) + +consumers=defaultdict(list) +for pid,pair in enumerate(pairs): + for key in pair['keys']:consumers[key].append(pid) +slots={} +for key,uses in sorted(consumers.items()): + assert len(uses)==2 + if key in requests: + assert all(pairs[i]['selected'] for i in uses) + continue + assert all(not pairs[i]['selected'] for i in uses) + a,alpha=Ms[key] + for j,pid in enumerate(uses): + if j==0:r=a + else:r=alloc();add(r,a,1,cur[a]) + slots[pid,key]=(r,alpha) +assert len(cur)-240==NH,len(cur)-240 + +selected_join_counts=Counter() +for target,r,coef in second: + F=basis(cur[v+target]+cur[r]);assert inside(F,hyper(P[target])) + selected_join_counts[len(F)]+=1;add(v+target,r,coef,F) +output_basis=[] +for pair in pairs: + if not pair['selected']:continue + (t,u),mat=pair['targets'],pair['matrix'] + F=basis(cur[v+t]+cur[v+u]);assert inside(F,hyper(P[t])) and inside(F,hyper(P[u])) + add(v+t,v+u,1,F);add(v+u,v+t,-Q(1,2),F) + z=-Q(2*mat[1][0],mat[0][0]);scale(v+u,z,F);output_basis.append((t,u,z)) + +for pid,pair in enumerate(pairs): + if pair['selected']:continue + (t,u),(key1,key2),mat=pair['targets'],pair['keys'],pair['matrix'] + (a,alpha),(b,beta)=slots[pid,key1],slots[pid,key2] + F=basis(cur[a]+cur[b]);aa,ab=Q(mat[0][0])*alpha,Q(mat[0][1])*beta + ba,bb=Q(mat[1][0])*alpha,Q(mat[1][1])*beta + add(a,b,ab/aa,F);q=ba/(bb-ba*ab/aa);add(b,a,q,F) + add(v+t,a,-aa/2,hyper(P[t]));add(v+u,b,-(bb-ba*ab/aa)/2,hyper(P[u])) + +for t in range(v): + expected={s:-Q(G[t][s],2) for s in range(v) if s!=t and G[t][s] and s not in frame.values()} if t not in frame.values() else {} + assert rows[v+t]==expected,('side identity',t) + +scatter=[[Q(r[i],4) if t not in frame.values() else Q(0) for i in range(8)]+[Q(t==frame[i]) for i in range(8)] for t,r in enumerate(R)] +precondition=[] +for t,u,z in output_basis: + a,b=scatter[t].copy(),scatter[u].copy() + scatter[t]=[x/2-y/z for x,y in zip(a,b)] + scatter[u]=[x/2+y/z for x,y in zip(a,b)] + precondition.extend([['scale',v+u,(1/z).numerator,(1/z).denominator,[]], + ['add',v+u,v+t,1,2,[]],['add',v+t,v+u,-1,1,[]]]) +for r in range(len(cur)):climb(r,hyper(P[r-v]) if v<=r<2*v else FULL) +H[8]+=8;H[1]+=8 +assert sum(r*z for r,z in H.items())==9*NH+240*8+72,sum(r*z for r,z in H.items()) + +def apply(e,matrix): + if e[0]=='add': + _,t,s,a,b,*_=e;q=Q(a,b) + for j,x in list(matrix[s].items()): + z=matrix[t].get(j,Q(0))+q*x + if z:matrix[t][j]=z + else:matrix[t].pop(j,None) + else: + _,t,a,b,*_=e;q=Q(a,b);matrix[t]={j:q*x for j,x in matrix[t].items()} +def inverse(e): + e=copy.deepcopy(e) + if e[0]=='add':e[3]*=-1 + else:e[2],e[3]=e[3],e[2] + e[-1]=list(FULL);return e +cut=[['add',v+t,centers[i],q.numerator,q.denominator,None] for t,row in enumerate(scatter) for i,q in enumerate(row) if q] +cleanup=[inverse(e) for e in reversed(A+B) if not v<=e[1]<2*v] +matrix=[{r:Q(1)} if r>k&1:a^=d[k] + if a: + k=a.bit_length()-1 + for j in d: + if d[j]>>k&1:d[j]^=a + d[k]=a + return tuple(d[k] for k in sorted(d,reverse=True)) +def inside(a,b):return basis(a+b)==b +def regs(e):return e[1:3] if e[0]=='add' else e[1:2] +def inverse(e): + e=copy.deepcopy(e) + if e[0]=='add':e[3]=-e[3] + else:e[2],e[3]=e[3],e[2] + return e +def apply(e,M,mapping=None): + t=mapping[e[1]] if mapping is not None else e[1] + if e[0]=='add': + s=mapping[e[2]] if mapping is not None else e[2];q=Q(e[3],e[4]) + for j,a in M[s].items(): + x=M[t].get(j,Q(0))+q*a + if x:M[t][j]=x + else:M[t].pop(j,None) + else: + q=Q(e[2],e[3]);M[t]={j:q*a for j,a in M[t].items()} +def rref(A): + a=[list(map(Q,row)) for row in A];nr=len(a);nc=len(a[0]) if nr else 0;row=0;piv=[] + for c in range(nc): + k=next((i for i in range(row,nr) if a[i][c]),None) + if k is None:continue + a[row],a[k]=a[k],a[row];q=a[row][c];a[row]=[x/q for x in a[row]] + for i in range(nr): + if i!=row and a[i][c]:q=a[i][c];a[i]=[x-q*y for x,y in zip(a[i],a[row])] + piv.append(c);row+=1 + if row==nr:break + return a,piv +def rank(A):return len(rref(A)[1]) +def null(A,nc=None): + if A:a,piv=rref(A);nc=len(a[0]) + else:a=[];piv=[];assert nc is not None + free=[j for j in range(nc) if j not in piv];out=[[Q(0) for j in free] for i in range(nc)] + for k,c in enumerate(free):out[c][k]=Q(1) + for i,c in enumerate(piv): + for k,j in enumerate(free):out[c][k]=-a[i][j] + return out +def mm(A,B): + if not A:return [] + if not B:return [[] for row in A] + bt=list(zip(*B));return [[sum((a*b for a,b in zip(row,col)),Q(0)) for col in bt] for row in A] +def tr(A):return list(map(list,zip(*A))) +def inv(A): + n0=len(A);a,p=rref([row+[Q(i==j) for j in range(n0)] for i,row in enumerate(A)]) + assert p[:n0]==list(range(n0)) + return [row[n0:] for row in a] +def unit(q): + if not q:return False + a=abs(q.numerator);b=q.denominator + return not a&(a-1) and not b&(b-1) +def dyadic(q):return not q.denominator&(q.denominator-1) +def opadd(t,s,q,F):return ['add',t,s,q.numerator,q.denominator,list(F)] +def opscale(t,q,F):return ['scale',t,q.numerator,q.denominator,list(F)] +def eliminate(M,ids,F,skip=()): + """Return legal dyadic row operations taking an invertible sparse matrix to I.""" + skip=set(skip);ops=[];dim=len(M) + def add(i,j,q): + if q: + assert dyadic(q);e=opadd(ids[i],ids[j],q,F);ops.append(e) + for c,x in M[j].items(): + z=M[i].get(c,Q(0))+q*x + if z:M[i][c]=z + else:M[i].pop(c,None) + def scale(i,q): + if q!=1: + assert unit(q);ops.append(opscale(ids[i],q,F));M[i]={c:q*x for c,x in M[i].items()} + def swap(i,j): + if i!=j: + add(i,j,Q(1));add(j,i,Q(-1));add(i,j,Q(1));scale(j,Q(-1)) + for c in range(dim): + if c in skip: + assert M[c]=={c:Q(1)} and all(not M[i].get(c) for i in range(dim) if i!=c) + continue + cand=[i for i in range(c,dim) if i not in skip and M[i].get(c)] + k=next((i for i in cand if unit(M[i][c])),None) + if k is None: + # Elementary Euclidean row additions reduce the pivot-column numerator gcd. + assert cand,('singular',c) + while k is None: + cand.sort(key=lambda i:abs(M[i][c]));a=cand[0] + b=next((i for i in cand[1:] if M[i][c]),None) + if b is None:raise ValueError(('non-dyadic determinant pivot',c,M[a][c])) + rat=M[b][c]/M[a][c];q=rat.numerator//rat.denominator + if q==0:q=1 if rat>0 else -1 + add(b,a,Q(-q));cand=[i for i in cand if M[i].get(c)] + k=next((i for i in cand if unit(M[i][c])),None) + swap(c,k);scale(c,1/M[c][c]) + for i in range(dim): + if i!=c and M[i].get(c): + assert i not in skip + add(i,c,-M[i][c]) + assert all(row=={i:Q(1)} for i,row in enumerate(M)) + return ops +def realize(A,ids,F): + M=[{j:Q(x) for j,x in enumerate(row) if x} for row in A] + return [inverse(e) for e in reversed(eliminate(M,ids,F))] +# Reconstruct the actual non-target map after the inherited HPE tail. +inherited_tail=[w['cleanup'][i][:-1]+[list(f)] for i,f in w.get('early_cleanup',[])] +mainN=[e for e in w['A']+w['B'] if not v<=e[1]<2*v] +M=[{i:Q(1)} for i in range(len(N))] +for e in mainN+inherited_tail:apply(e,M,ix) +MI=[{i:Q(1)} for i in range(len(N))] +for e in reversed(mainN+inherited_tail):apply(inverse(e),MI,ix) +cur={x:(w['ports'][x],) if xlen(ih):ih.append(j) + if len(ih)==r:break + assert len(ih)==r + endhs=[N[I[j]] for j in ih];endhidx=[hs.index(h) for h in endhs] + kerR=null(RR,NB);Qmat=[[Q(0) for j in range(NB)] for i in range(NB)] + for j,hj in enumerate(endhidx): + for i in range(NB):Qmat[i][hj]=qH[i][j] + other=[j for j in range(NB) if j not in endhidx] + for k,j in enumerate(other): + for i in range(NB):Qmat[i][j]=kerR[i][k] + assert rank(Qmat)==NB + pops=realize(Qmat,hs,());premix+=pops + T=[[Q(i==j)-sum((U[i][k]*L[k][j] for k in range(r)),Q(0)) for j in range(len(I))] for i in range(len(I))] + for k,i in enumerate(ih):T[i]=L[k] + tops=realize(T,[N[i] for i in I],F);tail+=tops + # Right-compose this initial helper premix; other blocks have disjoint H sets. + for row in Mafter: + vals=[row.get(h,Q(0)) for h in H] + if any(vals): + for hj in H:row.pop(hj,None) + for j,hj in enumerate(H): + z=sum((vals[i]*Qmat[i][j] for i in range(NB)),Q(0)) + if z:row[hj]=z + for e in tops:apply(e,Mafter,ix) + ends.update({h:list(F) for h in endhs}) + plans.append(dict(block=b,frame=list(F),registers=[N[i] for i in I],ends=endhs,pairing_rank=r,premix_gates=len(pops),tail_gates=len(tops),Q=[[str(x) for x in row] for row in Qmat],T=[[str(x) for x in row] for row in T])) + print('BLOCK',b,'ends',endhs,'Qops',len(pops),'Tops',len(tops),flush=True) +# Check actual post-tail isolation before constructing the high-frame inverse. +allends=set(ends)|set(map(int,w.get('helper_final',{}))) +for h in allends: + j=ix[h];assert Mafter[j]=={j:Q(1)},('row not isolated',h,Mafter[j]);assert all(not row.get(j) for i,row in enumerate(Mafter) if i!=j),('column not isolated',h) +print('EXACT_ISOLATED',len(ends),'new;',len(allends),'total',round(time.monotonic()-t0,3),flush=True) +fullops=eliminate(copy.deepcopy(Mafter),N,F9,[ix[x] for x in allends]) +print('FULL_INVERSE',len(fullops),round(time.monotonic()-t0,3),flush=True) +# Cancel new cold-axis target responses inside A, after their wrappers. +Dirt=[({h:Q(1)} if h in ends else {}) for h in range(n)] +for e in premix+w['A']+w['cut']+w['B']:apply(e,Dirt) +for e in w['precondition']:apply(e,Dirt) +postcomp=[opadd(y,h,-a,()) for y in range(v,2*v) for h,a in sorted(Dirt[y].items()) if a] +assert all(h in ends for e in postcomp for h in [e[2]]) +new=copy.deepcopy(w);new['A']=postcomp+premix+w['A'];new['cleanup']=inherited_tail+tail+fullops +new['early_cleanup']=[[i,e[-1]] for i,e in enumerate(inherited_tail+tail)] +new['helper_final'].update({str(h):f for h,f in ends.items()}) +new['refactored_cleanup']={'kind':'source_branch_gauge_and_retired_completion_cold44','new_cold_ends':len(ends),'exact_non_target_isolation_checked':True,'high_inverse':'dyadic_sparse_Gauss_Jordan'} +# Derive paid profile by subtracting and adding literal frame-chain counts. +spec=importlib.util.spec_from_file_location('upstream_cold_end',args.upstream_package/'code/build_cold_end.py') +profile_module=importlib.util.module_from_spec(spec);spec.loader.exec_module(profile_module) +oldprof,_=profile_module.chain_profile(w);newprof,_=profile_module.chain_profile(new) +prof=Counter({int(k):z for k,z in w['report']['local_profile'].items()});prof.subtract(oldprof);prof.update(newprof) +widths=Counter(len(basis(new['helper_final'].get(str(h),F9)))-len(basis(new.get('start_extra',{}).get(str(h),[]))) for h in range(224,n)) +new['report'].update(local_profile={str(k):z for k,z in sorted(prof.items()) if z},local_rank_mass=sum(k*z for k,z in prof.items()),width_inventory={str(k):z for k,z in sorted(widths.items()) if z},status='EXACT_COLD44_CONSTRUCTED_PENDING_INDEPENDENT_AUDIT') +raw=json.dumps(new,sort_keys=True,separators=(',',':')).encode();sha=hashlib.sha256(raw).hexdigest();(OUT/'FULL-WORD.json.gz').write_bytes(gzip.compress(raw,mtime=0)) +recipe={'premix':postcomp+premix,'cleanup':new['cleanup'],'early_cleanup':new['early_cleanup'],'cold_ends':{str(h):f for h,f in ends.items()},'refactored_cleanup':new['refactored_cleanup'],'output_content_sha256':sha} +(OUT/'RECIPE.json.gz').write_bytes(gzip.compress(json.dumps(recipe,sort_keys=True,separators=(',',':')).encode(),mtime=0)) +receipt=dict(input_content_sha256=hashlib.sha256(gzip.decompress(WPATH.read_bytes())).hexdigest(),output_content_sha256=sha,blocks=plans,new_cold_ends=len(ends),all_low_ended_helpers=len(allends),premix_gates=len(premix),postwrapper_compensation_gates=len(postcomp),tail_gates=len(tail),inherited_tail_gates=len(inherited_tail),full_inverse_gates=len(fullops),profile=new['report']['local_profile'],width_inventory=new['report']['width_inventory'],rank_mass=new['report']['local_rank_mass'],seconds=time.monotonic()-t0) +(OUT/'CONSTRUCTION.json').write_text(json.dumps(receipt,indent=2)+'\n') +print(json.dumps({k:z for k,z in receipt.items() if k!='blocks'},indent=2),flush=True) diff --git a/research/gauge44-slots-t16/construction/notri/port_stage_x.py b/research/gauge44-slots-t16/construction/notri/port_stage_x.py new file mode 100644 index 0000000000..81ac65ceff --- /dev/null +++ b/research/gauge44-slots-t16/construction/notri/port_stage_x.py @@ -0,0 +1,125 @@ +"""Port one 504-helper construction stage onto the K-triangle word. Apache-2.0. Prepared with Claude Code assistance. + +usage: build_port_stage.py --shadow-input I4 --shadow-output O4 --input I8 --map HELPER-MAP.json --gk-dir GK --out DIR + +The shadow pair (I4 -> O4) is one stage of a 504-helper chain, rebuilt in the same run from pinned sources. I8 is the +K-triangle word at the matching point of its own chain, and HELPER-MAP.json is the 504 -> R register map written by +construct_k_triangle.py. Registers below 448 keep their ids; the removed packet copies have no image. + +The port does the following: +* It renumbers I4 and O4 through the map and drops their gates that touch a removed register. +* It matches gates by scalar operation (the gate without its frame), aligning I4 with O4 and I4 with I8 separately. +* It builds O8 in O4 gate order: + * each matched gate is taken from I8, with O4's frame wherever the stage changed that frame; + * each gate the stage introduced is taken from O4; + * each I8-only gate (the K-triangle reads) stays after the O4 image of its I8 predecessor. +* It replays the stage's entrance (start_extra) and target_levels changes. +* It rebuilds the cleanup with the inherited inverse rule. + +The constructor is a search transfer only. The verifier certifies the output independently: the generalised native +audit (exact forward and inverse replay of every column, native frame chains) runs on every ported word, and every +input and output is pinned by content hash.""" +import argparse, copy, difflib, gzip, hashlib, json, sys +from collections import Counter +from pathlib import Path + +assert __debug__, 'Assertions required' +FULL = [256, 128, 64, 32, 16, 8, 4, 2, 1] + + +def regs(g): return (g[1], g[2]) if g[0] == 'add' else (g[1],) + + +def key(g): return json.dumps(g[:-1]) + + +def inverse(e): + e = copy.deepcopy(e) + if e[0] == 'add': e[3] *= -1 + else: e[2], e[3] = e[3], e[2] + e[-1] = list(FULL); return e + + +def align(xs, ys): + """index map xs -> ys over runs of equal scalar operations""" + sm = difflib.SequenceMatcher(None, [key(g) for g in xs], [key(g) for g in ys], autojunk=False) + return {i1 + k: j1 + k for tag, i1, i2, j1, j2 in sm.get_opcodes() if tag == 'equal' for k in range(i2 - i1)} + + +def transfer_section(I4, O4, I8, stats): + a, b = align(I4, O4), align(I4, I8) + o2i = {j: i for i, j in a.items()}; i8from4 = {j: i for i, j in b.items()} + anchor = {j8: a[i4] for j8, i4 in i8from4.items() if i4 in a} + pending, last = {}, -1 + for j8, g in enumerate(I8): + if j8 in anchor: last = anchor[j8] + elif j8 not in i8from4: pending.setdefault(last, []).append(copy.deepcopy(g)); stats['kept_own'] += 1 + else: stats['dropped_by_stage'] += 1 + out = list(pending.get(-1, [])) + for k, g in enumerate(O4): + if k in o2i: + i4 = o2i[k] + if i4 in b: + g8 = copy.deepcopy(I8[b[i4]]) + if I4[i4][-1] != g[-1]: g8[-1] = copy.deepcopy(g[-1]); stats['frames_changed'] += 1 + out.append(g8) + else: + out.append(copy.deepcopy(g)); stats['introduced'] += 1 + out.extend(pending.get(k, [])) + return out + + +def main(): + ap = argparse.ArgumentParser() + for k in ('--shadow-input', '--shadow-output', '--input', '--map', '--gk-dir', '--out'): ap.add_argument(k, type=Path, required=True) + a = ap.parse_args(); assert not a.out.exists() + sys.path.insert(0, str(a.gk_dir)); import gk_word as G, gk_common as C + G.V = C.V = 112 + rd = lambda p: json.loads(gzip.decompress(p.read_bytes())) + enc = lambda x: json.dumps(x, sort_keys=True, separators=(',', ':')).encode(); sha = lambda x: hashlib.sha256(x).hexdigest() + I4, O4, I8 = rd(a.shadow_input), rd(a.shadow_output), rd(a.input) + fm = {int(k): int(v) for k, v in json.loads(a.map.read_text())['map'].items()} + assert all(fm[k] == k for k in fm if k < 448), 'only ids >= 448 may move' + R = I8['report']['R']; EXTRA = set(range(224 + R)) - set(fm.values()); assert len(set(fm.values())) == len(fm) and set(fm.values()) <= set(range(224 + R)), 'map is not injective into the K-triangle registers' + assert I4['report'].get('R', 504) == 504 and len(fm) + len(set(range(728)) - set(fm)) == 728 + rem = set(range(728)) - set(fm) + rn = lambda r: fm[r] + touches = lambda g: any(r in rem for r in regs(g)) + def rg(g): + g = copy.deepcopy(g); g[1] = rn(g[1]) + if g[0] == 'add': g[2] = rn(g[2]) + return g + def rn_word(w): + w = copy.deepcopy(w) + for s in ('A', 'B', 'cut', 'precondition', 'cleanup'): + if s in w: w[s] = [rg(g) for g in w[s] if not touches(g)] + for k in ('start_extra', 'helper_final'): + if k in w: w[k] = {str(rn(int(r))): f for r, f in w[k].items() if int(r) not in rem} + return w + I4r, O4r = rn_word(I4), rn_word(O4) + O8 = copy.deepcopy(I8); stats = {s: Counter() for s in ('A', 'B')} + for s in ('A', 'B'): O8[s] = transfer_section(I4r[s], O4r[s], I8[s], stats[s]) + for k in ('start_extra', 'target_levels'): + x, y = I4r.get(k, {}), O4r.get(k, {}); d = dict(I8.get(k, {})) + for r in set(x) | set(y): + if x.get(r) != y.get(r): + if r in y: d[r] = y[r] + else: d.pop(r, None) + if k in O4 or k in I8: O8[k] = dict(sorted(d.items(), key=lambda kv: int(kv[0]))) + for k in O4: + if k not in ('A', 'B', 'cleanup', 'report', 'start_extra', 'target_levels', 'cut', 'precondition'): + assert O4r[k] == I4r[k], 'stage changed an unported field: ' + k + O8['cleanup'] = [inverse(e) for e in reversed(O8['A'] + O8['B']) if not 112 <= e[1] < 224] + H = G.profile(O8) + ws = [9 - len(G.basis(O8['start_extra'].get(str(224 + h), []))) for h in range(R)] + O8['report'] = dict(I8['report'], local_profile={str(k): v for k, v in sorted(H.items())}, local_rank_mass=sum(k * v for k, v in H.items()), + width_inventory={str(k): v for k, v in sorted(Counter(ws).items())}) + a.out.mkdir(parents=True); (a.out / 'FULL-WORD.json.gz').write_bytes(gzip.compress(enc(O8), mtime=0)) + receipt = dict(status='PORTED_STAGE_PENDING_NATIVE_AUDIT', R=R, removed_504_helpers=sorted(rem), + shadow_input_content_sha256=sha(enc(I4)), shadow_output_content_sha256=sha(enc(O4)), input_content_sha256=sha(enc(I8)), + output_content_sha256=sha(enc(O8)), sections={s: dict(v) for s, v in stats.items()}, local_profile=O8['report']['local_profile'], + scope='Transfer construction only; exactness, frame chains and profile are certified by the native audit run on the output.') + (a.out / 'PORT-STAGE.json').write_text(json.dumps(receipt, indent=2, sort_keys=True) + '\n', newline='\n'); print(json.dumps(receipt, indent=2)) + + +main() diff --git a/research/gauge44-slots-t16/construction/notri/reproduce_notri.py b/research/gauge44-slots-t16/construction/notri/reproduce_notri.py new file mode 100644 index 0000000000..a85f2acf15 --- /dev/null +++ b/research/gauge44-slots-t16/construction/notri/reproduce_notri.py @@ -0,0 +1,166 @@ +#!/usr/bin/env python3 +"""Rebuild the no-triangle gauge44 word (R = 504) and its native locals. + +The no-triangle word is #645's gauge44 chain with none of the four (p,-1) K-triangles. In the six K-blocks +{0,1,2,11,12,13}, the completion priority is extended by the 6-row list PRIO6.json, the list blocks 3-10 already use. +Each block then pairs at rank 4, giving 56 rank-four cold ends instead of 44 (PartialK). + +Input: a fresh `construction/reproduce.py --until word` output directory. Its shadow-early and shadow-prefix words and +its hamming inputs are pinned by reproduce.py itself. Steps, each checked exactly: + 1. gauge-forward: cgx.py, #645's construct_gauge_xcentre.py generalised by PartialK. The extra rows come from XPARAM, + and the K-triangle schedule comes from the TRI file. Run on the triangle set {} with XPARAM = PRIO6.json. + 2. port0-3: port_stage_x.py, PR635's build_port_stage.py with the helper map allowed to be injective rather than onto. + With R = 504 and no triangles, the map is onto again. + 3. regroup: PR635's k492 frame-regroup changes, applied where their `before` gate occurs. For this word none occurs, + and that count (0) is pinned. + 4. hpe: PR635's build_hpe.candidates, taken greedily with disjoint registers, and build_hpe.apply. 46 changes, pinned. + 5. cold44: cold44x.py, #645's build_gauge_cold44.py generalised by PartialK to blocks whose helper list includes the + helpers outside the 224+16b ranges (EXTRAH). 56 cold ends; the 14 pairing ranks are pinned to [4]*14 inside cold44x (PAIRING_RANKS) and rechecked here. The output word content sha256 is pinned (3e99ba77...). + 6. native, ledgers, local-replay, wrappers, phases: PR635's native local programs, as in reproduce.py. +--control-g44 instead runs steps 1-5 with #645's four triangles and no XPARAM. It must reproduce #645's pinned gauge44 +cold44 word (78c7aada...), the same word #645's own reproduce.py builds. This shows the generalised scripts reduce to +#645's constructors. +Apache-2.0. Driver by ColdWitness from PartialK's variant.py; constructors credited above. +""" +import argparse, gzip, hashlib, importlib.util, json, os, subprocess, sys, time +from pathlib import Path + +HERE = Path(__file__).resolve().parent +NOTRI_SHA = '3e99ba778ab8a97853f50912776247802b529439937176363f6c42786163b1f9' +G44_SHA = '78c7aadacb6eec2eeecc124ca236e5bcfdba6a52b30c2971aaa596d1d119b290' +# native-local pins (the strict locals the SPEC was frozen against: PartialK runs/none_p6/local) +CANONICAL_SHA = '4265a3bb7f9b46967dfadfca5f2cc1f5b3e6e8681f16c02590f1b9430c013637' +PROGRAM_SHA = {'forward': '0afda28699e15cf5a5a17aee5475ac608c9fb68b15766d463b93ec8e2df4ae85', + 'backward': '5be6cb4ea7a1da36d7bbe7eb2392873c058dd3cbb3cc2eeadd55ecca9310ca8a'} +CLIFFORD_SHA = '4b5789e43e04d71f02c2d480450ec0b354007d9cf523bda76c7345730806344b' + + +def read(p): + raw = Path(p).read_bytes() + return json.loads(gzip.decompress(raw) if str(p).endswith('.gz') else raw) + + +def enc(x): return json.dumps(x, sort_keys=True, separators=(',', ':')).encode() + + +def dump(p, v): + p.parent.mkdir(parents=True, exist_ok=True); p.write_bytes(gzip.compress(enc(v), mtime=0)) + + +def load(name, path): + s = importlib.util.spec_from_file_location(name, path); m = importlib.util.module_from_spec(s); s.loader.exec_module(m); return m + + +def main(): + assert __debug__, 'Assertions are required' + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--main', type=Path, required=True) + ap.add_argument('--pr635', type=Path, required=True) + ap.add_argument('--word-dir', type=Path, required=True, help='construction/reproduce.py --until word output') + ap.add_argument('--out', type=Path, required=True) + ap.add_argument('--control-g44', action='store_true', help='rebuild #645 gauge44 (4 triangles) instead; word only') + ap.add_argument('--skip-phases', action='store_true') + ap.add_argument('--word-only', action='store_true', help='stop after the pinned scalar word (input to construction/layers_np)') + a = ap.parse_args() + out = a.out.resolve(); assert not out.exists(); out.mkdir(parents=True) + up = a.pr635.resolve() / 'research/complex-571-cold14-st2' + src = a.main.resolve() / 'research/complex-k492-owner-repair/vendor/multicold' + base = src / 'vendor/pr558'; parent = base / 'vendor/pr552'; gk = parent / 'complex-local/static44/gk' + structural = a.main.resolve() / 'research/structural-gain/frontier-composition' + wd = a.word_dir.resolve() + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONUTF8='1', PYTHONINTMAXSTRDIGITS='0', + MULTICOLD_SOURCE=str(src), GAIN_PR564_SOURCE=str(src)) + for k in ('PYTHONOPTIMIZE', 'XPARAM', 'EXTRAH', 'PAIRING_RANKS', 'DIAG', 'HYBBUDGET'): env.pop(k, None) + steps = [] + + def run(label, script, *args): + t = time.monotonic() + with (out / (label + '.log')).open('w') as f: + rc = subprocess.call([sys.executable, '-B', str(src / 'code/run_portable.py'), str(script), *map(str, args)], + env=env, stdout=f, stderr=subprocess.STDOUT) + steps.append(dict(step=label, exit_code=rc, seconds=round(time.monotonic() - t, 3))) + (out / 'STEPS.json').write_text(json.dumps(steps, indent=2) + '\n') + assert rc == 0, label + print('PASS', label, flush=True) + + # 1. gauge-forward on the chosen K-triangle set + tri = read(up / 'data/TRI-SCHEDULE.json') + if not a.control_g44: + tri = dict(full_pairs=tri['full_pairs'], triangles=[]) + env['XPARAM'] = str(HERE / 'PRIO6.json') + (out / 'TRI.json').write_text(json.dumps(tri)) + raw = out / 'raw' + run('gauge-forward', HERE / 'cgx.py', wd / 'hamming', raw, out / 'TRI.json') + word = raw / 'FULL-WORD.json.gz' + # 2. port stages (same chain as reproduce.py) + chain = [parent / 'complex-local/static44/inputs/RAW504.json.gz', structural / 'global-replay/base/split-centres/FULL-WORD.json.gz', + wd / 'shadow-early/FULL-WORD.json.gz', structural / 'multicold-eight-word/FULL-WORD.json.gz', + wd / 'shadow-prefix/FULL-WORD.json.gz'] + for i, (b, c) in enumerate(zip(chain, chain[1:])): + t = out / ('port%d' % i) + run('port%d' % i, HERE / 'port_stage_x.py', '--shadow-input', b, '--shadow-output', c, '--input', word, + '--map', raw / 'HELPER-MAP.json', '--gk-dir', gk, '--out', t) + word = t / 'FULL-WORD.json.gz' + # 3. PR635 frame regroup where its `before` gate occurs + w = read(word); rg = {json.dumps(c['before']): c['after'] for c in read(up / 'data/recipes/k492-jp8-frame_regroup.json')['changes']} + n = 0 + for part in ('A', 'B'): + for i, e in enumerate(w[part]): + k = json.dumps(e) + if k in rg: w[part][i] = rg[k]; n += 1 + sys.path.insert(0, str(gk)); import gk_word as GW, gk_common as GC + GW.V = GC.V = 112; GW.DATA = GC.DATA = 7168 + H = GW.profile(w) + w['report'].update(local_profile={str(k): z for k, z in sorted(H.items()) if z}, local_rank_mass=sum(r * z for r, z in H.items())) + assert n == (24 if a.control_g44 else 0), ('regroup count', n) + dump(out / 'regroup/FULL-WORD.json.gz', w) + # 4. HPE: PR635's candidates, greedy with disjoint registers + h = load('upstream_hpe', up / 'code/build_hpe.py') + used, ch = set(), [] + for c in h.candidates(w): + rs = set(h.regs(w['cleanup'][c['cleanup_index']])) + if rs & used: continue + used |= rs; ch.append(c) + assert len(ch) == (34 if a.control_g44 else 46), ('hpe count', len(ch)) + (out / 'HPE-RECIPE.json').write_text(json.dumps(dict(changes=ch))) + w = h.apply(w, ch); dump(out / 'hpe/FULL-WORD.json.gz', w) + # 5. cold44 (generalised): helpers outside the 224+16b ranges join their blocks + hm = set(read(raw / 'HELPER-MAP.json')['map'].values()) + env['EXTRAH'] = json.dumps(sorted(set(range(224, 224 + w['report']['R'])) - hm)) + ranks = [2, 2, 2, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2] if a.control_g44 else [4] * 14 + env['PAIRING_RANKS'] = json.dumps(ranks) # cold44x asserts every block's pairing rank + run('cold44', HERE / 'cold44x.py', '--input', out / 'hpe/FULL-WORD.json.gz', '--out', out / 'cold44', + '--hamming', wd / 'hamming', '--upstream-package', up) + assert [b['pairing_rank'] for b in read(out / 'cold44/CONSTRUCTION.json')['blocks']] == ranks, 'pairing ranks' + word = out / 'cold44/FULL-WORD.json.gz'; w = read(word) + got = hashlib.sha256(enc(w)).hexdigest() + assert got == (G44_SHA if a.control_g44 else NOTRI_SHA), ('word', got) + rep = w['report'] + if a.control_g44: + print('PASS control: #645 gauge44 word reproduced', got, flush=True); return + assert rep['R'] == 504 and rep['local_rank_mass'] == 5674 + assert rep['local_profile'] == {'1': 2506, '2': 336, '3': 472, '4': 184, '5': 56, '8': 8}, rep['local_profile'] + assert rep['width_inventory'] == {'4': 64, '5': 48, '7': 46, '8': 114, '9': 232}, rep['width_inventory'] + print('PASS no-triangle scalar word', got, flush=True) + if a.word_only: + return + # 6. native locals (PR635, as in reproduce.py) + for k in ('XPARAM', 'EXTRAH', 'PAIRING_RANKS'): env.pop(k, None) + local = out / 'local' + run('native', up / 'code/hpe_audit_and_transport.py', '--raw', word, + '--routing', parent / 'complex-local/inputs/phase-baseline/CANONICAL-WORD.json.gz', '--out', local) + assert hashlib.sha256(gzip.decompress((local / 'CANONICAL-WORD.json.gz').read_bytes())).hexdigest() == CANONICAL_SHA, 'canonical word' + run('ledgers', up / 'code/hpe_emit_local.py', local) + run('local-replay', up / 'code/hpe_audit_local.py', local) + run('wrappers', up / 'code/hpe_adapters_local.py', local / 'CANONICAL-WORD.json.gz', + local / 'RESIDUAL-ADAPTERS.json', local / 'WRAPPER-CHECKS.json') + checks = read(local / 'LOCAL-CHECKS.json') + for o, s in PROGRAM_SHA.items(): assert checks[o]['sha256'] == s, ('local program', o) + if not a.skip_phases: + run('phases', base / 'code/phases_full.py', local, parent / 'complex-global/vendor531/vendor/clifford') + assert hashlib.sha256((local / 'CLIFFORD-RECIPES.json').read_bytes()).hexdigest() == CLIFFORD_SHA, 'clifford recipes' + print('DONE', local, flush=True) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-slots-t16/construction/promo/LOCAL-PINS-p6n-k4.json b/research/gauge44-slots-t16/construction/promo/LOCAL-PINS-p6n-k4.json new file mode 100644 index 0000000000..c43b391a43 --- /dev/null +++ b/research/gauge44-slots-t16/construction/promo/LOCAL-PINS-p6n-k4.json @@ -0,0 +1,11 @@ +{ + "word": "P6k4", + "layer_controls": 95, + "promo_controls": 11, + "canonical_sha256": "c0c5734a2eb6984ccd1e314dbcea2a6971b9708e5f611aa8912fcf47f02de61d", + "program_sha256": { + "forward": "6cfedac02e899df7fa50a3e38845982a4e9dbc866e9decc4052e011532bdb30f", + "backward": "207d9352aeea7d56a6da865745a1ad756e28531fbf9bcb0cd54950aac7270381" + }, + "clifford_recipes_sha256": "1c1d037d602b503b35f01a65d0ccc07ac63fde9df501b0a61e3e189a44a779de" +} diff --git a/research/gauge44-slots-t16/construction/promo/PROMO-RECIPE-p6n-k4.json b/research/gauge44-slots-t16/construction/promo/PROMO-RECIPE-p6n-k4.json new file mode 100644 index 0000000000..3f336c07ea --- /dev/null +++ b/research/gauge44-slots-t16/construction/promo/PROMO-RECIPE-p6n-k4.json @@ -0,0 +1,971 @@ +{ + "input_content_sha256": "34b683fa08f054fe725704ec15b1c8da42f846430999d14d0cae0fcd42296fe2", + "groups": [ + 627, + 629, + 630, + 631, + 635, + 637, + 638, + 639, + 651, + 653, + 654, + 655, + 659, + 661, + 662, + 663 + ], + "entrances": { + "627": [ + 408, + 80, + 40, + 6, + 1 + ], + "629": [ + 408, + 80, + 40, + 6, + 1 + ], + "630": [ + 408, + 80, + 40, + 6, + 1 + ], + "631": [ + 408, + 80, + 40, + 6, + 1 + ], + "635": [ + 272, + 144, + 96, + 6, + 1 + ], + "637": [ + 272, + 144, + 96, + 6, + 1 + ], + "638": [ + 272, + 144, + 96, + 6, + 1 + ], + "639": [ + 272, + 144, + 96, + 6, + 1 + ], + "651": [ + 390, + 68, + 34, + 24, + 1 + ], + "653": [ + 390, + 68, + 34, + 24, + 1 + ], + "654": [ + 390, + 68, + 34, + 24, + 1 + ], + "655": [ + 390, + 68, + 34, + 24, + 1 + ], + "659": [ + 298, + 170, + 102, + 30, + 1 + ], + "661": [ + 298, + 170, + 102, + 30, + 1 + ], + "662": [ + 298, + 170, + 102, + 30, + 1 + ], + "663": [ + 298, + 170, + 102, + 30, + 1 + ] + }, + "gate_frames": [ + [ + "B", + 420, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 421, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 422, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 423, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 424, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 425, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 426, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 427, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 428, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 429, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 430, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 431, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 432, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 433, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 434, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 435, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 436, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 437, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 438, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 439, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 440, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 441, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 442, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 443, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 444, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 445, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 446, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 447, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 448, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 449, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 450, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 451, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 452, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 453, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 454, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 455, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 456, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 457, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 458, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 459, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 460, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 461, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 462, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 463, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 464, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 465, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 466, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 467, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ] + ], + "expected": { + "output_content_sha256": "0390ec65dc4d47df1887aabdc2ec5b6ddea3cfc8e65582873fdfeba81d100073", + "local_profile": { + "1": 2572, + "2": 326, + "3": 430, + "4": 194, + "5": 56, + "8": 8 + }, + "width_inventory": { + "4": 80, + "5": 32, + "7": 54, + "8": 122, + "9": 216 + } + } +} \ No newline at end of file diff --git a/research/gauge44-slots-t16/construction/promo/build_promotion.py b/research/gauge44-slots-t16/construction/promo/build_promotion.py new file mode 100644 index 0000000000..f1daad34c2 --- /dev/null +++ b/research/gauge44-slots-t16/construction/promo/build_promotion.py @@ -0,0 +1,109 @@ +"""Entrance promotions E4 -> E5 of whole kernel groups: deterministic constructor. Apache-2.0. +BlockInvert (Claude Code research agent) for the gauge44 lineage. + +usage: build_promotion.py --input FULL-WORD.json.gz --recipe PROMO-RECIPE.json --out DIR + +The recipe is data only: + input_content_sha256 sha256 of the decompressed input word (pinned); + entrances {helper: frame vectors}: new start frames (each strictly contains the old one); + gate_frames [[section, index, old frame, new frame], ...]: section 'A' / 'B' (main gates) or 'T' + (early_cleanup entry index); the old frame must match the input exactly (as a span); + expected output_content_sha256, local_profile, width_inventory. +The scalar program is unchanged (only frame annotations and start frames move), so the endpoint, the +zero-target-response entrance condition and every cone are those of the input; the independent audit +(audit_local.py) re-checks all of them, plus monotone chains and the recomputed profile/widths.""" +import argparse, gzip, hashlib, json +from collections import Counter +from pathlib import Path + + +def span(vs): + p = {} + for x in vs: + for k in sorted(p, reverse=True): + if x >> k & 1: x ^= p[k] + if x: + k = x.bit_length() - 1 + for j in list(p): + if p[j] >> k & 1: p[j] ^= x + p[k] = x + return tuple(p[k] for k in sorted(p, reverse=True)) + + +def regs(e): return [e[1]] + ([e[2]] if e[0] == 'add' else []) + + +def chain_profile(w): + """paid climbs of the A, B, early-tail and final chains, target ends included (centre descents unchanged, not counted).""" + v, R = w['report']['v'], w['report']['R']; n = 2*v + R + cur = [() for _ in range(n)] + for i, p in enumerate(w['ports']): cur[i] = span([p]) + for r, f in w.get('start_extra', {}).items(): cur[int(r)] = span(f) + prof = Counter() + + def climb(r, F): + assert span(list(cur[r]) + list(F)) == F, ('nonmonotone', r) + if len(F) > len(cur[r]): prof[len(F) - len(cur[r])] += 1 + cur[r] = F + for part in ('A', 'B'): + for e in w[part]: + for r in regs(e): climb(r, span(e[-1])) + for i, f in w.get('early_cleanup', []): + for r in regs(w['cleanup'][i]): climb(r, span(f)) + full = span([1 << i for i in range(9)]) + final = {int(r): span(f) for r, f in w.get('helper_final', {}).items()} + for r in range(n): + if v <= r < 2*v: # targets end at their port hyperplane (as in the independent audit); counted on both sides + climb(r, span([x for x in range(1, 512) if (x & w['ports'][r - v]).bit_count() % 2 == 0])); continue + climb(r, final.get(r, full)) + return prof + + +def widths(w): + v, R = w['report']['v'], w['report']['R']; full = [1 << i for i in range(9)] + return Counter(len(span(w['helper_final'].get(str(r), full))) - len(span(w['start_extra'].get(str(r), []))) + for r in range(2*v, 2*v + R)) + + +def apply(w, r): + nw = json.loads(json.dumps(w)) + for h, F in r['entrances'].items(): + assert h in nw['start_extra'], ('not an entering helper', h) + old, new = span(nw['start_extra'][h]), span(F) + assert len(new) > len(old) and span(list(old) + list(new)) == new, ('not a promotion', h) + nw['start_extra'][h] = list(new) + for sec, i, old, new in r['gate_frames']: + if sec in ('A', 'B'): + assert span(nw[sec][i][-1]) == span(old), ('gate frame mismatch', sec, i) + nw[sec][i][-1] = list(span(new)) + else: + assert sec == 'T' and span(nw['early_cleanup'][i][1]) == span(old), ('tail frame mismatch', i) + nw['early_cleanup'][i][1] = list(span(new)) + old_prof, new_prof = chain_profile(w), chain_profile(nw) + lp = Counter({int(k): c for k, c in w['report']['local_profile'].items()}); lp.subtract(old_prof); lp.update(new_prof) + assert min(lp.values()) >= 0 + inv = widths(nw) + rep = dict(w['report']) + rep['local_profile'] = {str(k): c for k, c in sorted(lp.items()) if c} + rep['local_rank_mass'] = sum(k*c for k, c in lp.items()) + rep['width_inventory'] = {str(k): c for k, c in sorted(inv.items()) if c} + nw['report'] = rep + return nw + + +if __name__ == '__main__': + ap = argparse.ArgumentParser(); ap.add_argument('--input', type=Path, required=True) + ap.add_argument('--recipe', type=Path, required=True); ap.add_argument('--out', type=Path, required=True) + a = ap.parse_args() + raw = gzip.decompress(a.input.read_bytes()); r = json.loads(a.recipe.read_text()) + assert hashlib.sha256(raw).hexdigest() == r['input_content_sha256'], 'input word pin' + nw = apply(json.loads(raw), r) + data = json.dumps(nw, separators=(',', ':')).encode() + x = r['expected'] + assert nw['report']['local_profile'] == x['local_profile'], 'profile pin' + assert nw['report']['width_inventory'] == x['width_inventory'], 'width pin' + assert hashlib.sha256(data).hexdigest() == x['output_content_sha256'], 'output word pin' + a.out.mkdir(parents=True, exist_ok=True) + (a.out / 'FULL-WORD.json.gz').write_bytes(gzip.compress(data, mtime=0)) + print('PASS', len(r['entrances']), 'promoted entrances;', len(r['gate_frames']), 'gate frames;', + 'profile', x['local_profile'], 'sha', x['output_content_sha256']) diff --git a/research/gauge44-slots-t16/construction/promo/make_recipe.py b/research/gauge44-slots-t16/construction/promo/make_recipe.py new file mode 100644 index 0000000000..618d609453 --- /dev/null +++ b/research/gauge44-slots-t16/construction/promo/make_recipe.py @@ -0,0 +1,12 @@ +"""make_recipe.py BASEWORD SOLUTION.json BUILTWORD OUT: discovery-side recipe writer (CP-SAT solution -> data recipe).""" +import sys, json, gzip, hashlib +base = gzip.decompress(open(sys.argv[1], 'rb').read()); s = json.load(open(sys.argv[2])) +built = gzip.decompress(open(sys.argv[3], 'rb').read()); bw = json.loads(built) +key = {'A': 0, 'B': 1, 'T': 2} +r = dict(input_content_sha256=hashlib.sha256(base).hexdigest(), + groups=sorted(int(h) for h in s['newstarts']), + entrances={h: s['newstarts'][h] for h in sorted(s['newstarts'], key=int)}, + gate_frames=sorted(s['changed'], key=lambda c: (key[c[0]], c[1])), + expected=dict(output_content_sha256=hashlib.sha256(built).hexdigest(), + local_profile=bw['report']['local_profile'], width_inventory=bw['report']['width_inventory'])) +json.dump(r, open(sys.argv[4], 'w'), indent=1) diff --git a/research/gauge44-slots-t16/construction/promo/promo_controls.py b/research/gauge44-slots-t16/construction/promo/promo_controls.py new file mode 100644 index 0000000000..20ee51f7db --- /dev/null +++ b/research/gauge44-slots-t16/construction/promo/promo_controls.py @@ -0,0 +1,115 @@ +"""Promotion controls: mutate the promoted word / recipe and require rejection at a pinned site. Apache-2.0. +BlockInvert (Claude Code research agent). + +usage: promo_controls.py --input BASE-FULL-WORD.json.gz --recipe PROMO-RECIPE.json --audit audit_local.py --out CONTROLS.json + +Word-level mutants are checked by the independent audit (audit_local.py, imported from the given path; it shares no +code with the constructor); recipe-level mutants by build_promotion.apply / its pins. Each mutant must raise with the +pinned message prefix; the honest word must pass both.""" +import argparse, gzip, hashlib, importlib.util, json, sys, tempfile +from pathlib import Path +sys.path.insert(0, str(Path(__file__).resolve().parent)) +import build_promotion as B + +ap = argparse.ArgumentParser() +for k in ('input', 'recipe', 'audit', 'out'): ap.add_argument('--' + k, type=Path, required=True) +a = ap.parse_args() +s = importlib.util.spec_from_file_location('audit_local', a.audit); AL = importlib.util.module_from_spec(s); s.loader.exec_module(AL) +raw = gzip.decompress(a.input.read_bytes()); base = json.loads(raw); r = json.loads(a.recipe.read_text()) +assert hashlib.sha256(raw).hexdigest() == r['input_content_sha256'] +honest = B.apply(base, r) +v = base['report']['v'] +tmp = Path(tempfile.mkdtemp()) + + +def audit(w): + p = tmp / 'w.json.gz'; p.write_bytes(gzip.compress(json.dumps(w, separators=(',', ':')).encode(), mtime=0)) + import io, contextlib + with contextlib.redirect_stdout(io.StringIO()): + AL.run(p, tmp / 'r.json') + + +def first_gate(w, h): + for sec in ('A', 'B'): + for i, e in enumerate(w[sec]): + if h in B.regs(e): return sec, i + raise AssertionError(h) + + +results = [] + + +def expect(name, fn, prefix): + try: + fn(); got = 'ACCEPTED' + except (RuntimeError, AssertionError) as e: + got = str(e.args[0]) if e.args else type(e).__name__ + ok = got.startswith(prefix) + results.append(dict(control=name, expected=prefix, got=got[:160], rejected_at_pinned_site=ok)) + print(('OK ' if ok else 'BAD ') + name + ': ' + got[:120], flush=True) + + +# honest +audit(honest); print('honest word: audit PASS', flush=True) +H = sorted(int(h) for h in r['entrances']) +h0 = str(H[0]); E5 = B.span(r['entrances'][h0]); sec, i = first_gate(honest, int(h0)); F1 = B.span(honest[sec][i][-1]) +full = B.span([1 << k for k in range(9)]) + + +def mut(f): + w = json.loads(json.dumps(honest)); f(w); return w + + +# 1. promoted entrance moved to a dim-5 frame NOT inside its first gate frame +def bad_entrance(w): + for x in range(1, 512): + G = B.span(list(B.span(base['start_extra'][h0])) + [x]) + if len(G) == 5 and B.span(list(G) + list(F1)) != F1: + w['start_extra'][h0] = list(G); return + raise AssertionError('no frame') +expect('entrance_outside_first_gate_frame', lambda: audit(mut(bad_entrance)), 'frame not monotone') +# 2. a raised gauge gate of a promoted helper left at its old (E4) frame +old_of = {(c[0], c[1]): c[2] for c in r['gate_frames']} +assert (sec, i) in old_of, 'first gate of a promoted helper is a raised gate' +expect('raised_gate_missing', lambda: audit(mut(lambda w: w[sec][i].__setitem__(-1, list(B.span(old_of[(sec, i)]))))), 'frame not monotone') +# 2b. per promoted group: its first helper's raised entry gate left at the old frame +for hg in H[4::4]: + sg, ig = first_gate(honest, hg) + if (sg, ig) in old_of: + expect('raised_gate_missing_group_%d' % hg, lambda sg=sg, ig=ig: audit(mut(lambda w: w[sg][ig].__setitem__(-1, list(B.span(old_of[(sg, ig)]))))), 'frame not monotone') +# 3. every raised gate kept but one entrance reverted to E4 (report kept): the paid profile no longer matches +expect('entrance_reverted_profile', lambda: audit(mut(lambda w: w['start_extra'].__setitem__(h0, list(B.span(base['start_extra'][h0]))))), 'paid profile mismatch') +# 4. an E4 helper outside the promoted groups promoted alone (no raised gates) +others = sorted(int(h) for h, f in base['start_extra'].items() if len(B.span(f)) == 4 and h not in r['entrances']) +if others: + h1 = str(others[0]) + expect('ungrouped_promotion', lambda: audit(mut(lambda w: w['start_extra'].__setitem__(h1, list(E5)))), 'frame not monotone') +# 5. recipe-level: wrong old frame for a raised gate; non-promotion entrance; input pin +def r_bad_old(): + q = json.loads(json.dumps(r)); q['gate_frames'][0][2] = list(full); B.apply(base, q) +expect('recipe_gate_old_frame', r_bad_old, "('gate frame mismatch'" if r['gate_frames'][0][0] != 'T' else "('tail frame mismatch'") +def r_demote(): + q = json.loads(json.dumps(r)); q['entrances'][h0] = base['start_extra'][h0]; B.apply(base, q) +expect('recipe_not_a_promotion', r_demote, "('not a promotion'") +def r_pin(): # the driver's own __main__ path on a tampered input word (one gate scalar changed) + import subprocess + t = json.loads(raw); e = t['B'][0] + if e[0] == 'add': e[3] += e[4] + else: e[2] = -e[2] + p = tmp / 'tampered.json.gz'; p.write_bytes(gzip.compress(json.dumps(t, separators=(',', ':')).encode(), mtime=0)) + q = subprocess.run([sys.executable, '-B', str(Path(B.__file__)), '--input', str(p), '--recipe', str(a.recipe), '--out', str(tmp / 'o')], + capture_output=True, text=True) + assert q.returncode == 0, q.stderr.strip().splitlines()[-1].split('AssertionError: ', 1)[-1] +expect('recipe_input_pin', r_pin, 'input word pin') +# 6. scalar tamper inside a promoted group's raised gate (frames intact): exactness must fail +def scal(w): + e = w[sec][i] + if e[0] == 'add': e[3] = e[3] + e[4] + else: e[2] = -e[2] +expect('raised_gate_scalar_tamper', lambda: audit(mut(scal)), '') +results[-1]['rejected_at_pinned_site'] = results[-1]['got'] != 'ACCEPTED' +bad = [x for x in results if not x['rejected_at_pinned_site']] +a.out.write_text(json.dumps(dict(recipe=r['expected']['output_content_sha256'], honest='PASS', controls=results, + rejected=len(results) - len(bad)), indent=1)) +assert not bad, bad +print('PASS', len(results), 'controls rejected at pinned sites') diff --git a/research/gauge44-slots-t16/construction/promo/reproduce_promo.py b/research/gauge44-slots-t16/construction/promo/reproduce_promo.py new file mode 100644 index 0000000000..6e04aa71b1 --- /dev/null +++ b/research/gauge44-slots-t16/construction/promo/reproduce_promo.py @@ -0,0 +1,99 @@ +#!/usr/bin/env python3 +"""Rebuild a promoted no-triangle layered word (entrance promotions E4 -> E5) and its native locals. + +Input (--base): `np` = a fresh `construction/layers_np/reproduce_np.py` output (word a9de804f...), or `p6n` = a fresh +`construction/layers_p6n/reproduce_p6n.py` output (word 34b683fa...). Recipe k: PROMO-RECIPE-.json (BlockInvert; +data only; it pins its input word) and LOCAL-PINS-.json. Steps, each +checked exactly: + 1. promotion: BlockInvert's build_promotion.py. It pins the input word and the recipe's output sha, profile and + widths; every old frame must match the input; only frame annotations and start frames move (no scalar change). + 2. promo-controls: BlockInvert's promo_controls.py. The honest word must pass #645's independent audit_local.py, + and its recipe- and word-level mutants must be rejected at their pinned sites (count pinned in LOCAL-PINS). + 3. layer-end-controls on the promoted word, pinned count: ../layers/layer_end_controls.py (LayerReviewer-signed) for + base np; ../layers_p6n/layer_end_controls.py (Q6Reviewer-signed per-end variant) for base p6n. + 4. native, ledgers, local-replay, wrappers, phases: PR635's native local programs; the canonical word, local + programs and Clifford recipes are pinned (LOCAL-PINS). +Moving to another recipe k is a recipe and pins swap; this driver does not change. +Apache-2.0. Driver by ColdWitness around BlockInvert's constructor and controls. +""" +import argparse, gzip, hashlib, json, os, subprocess, sys, time +from pathlib import Path + +HERE = Path(__file__).resolve().parent +PKG = HERE.parents[1] +LAYERS = HERE.parent / 'layers' +BASES = {'np': ('layers/FULL-WORD.json.gz', 'a9de804f194eeb39f52a4c6e54c14d93e881bec4b632694249733ed410b58113'), + 'p6n': ('p6n/FULL-WORD.json.gz', '34b683fa08f0')} # p6n: prefix; full pin is the p6n recipe's output sha + + +def read(p): + raw = Path(p).read_bytes() + return json.loads(gzip.decompress(raw) if str(p).endswith('.gz') else raw) + + +def main(): + assert __debug__, 'Assertions are required' + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--main', type=Path, required=True) + ap.add_argument('--pr635', type=Path, required=True) + ap.add_argument('--base', choices=sorted(BASES), default='p6n') + ap.add_argument('--base-dir', type=Path, required=True, help='reproduce_np.py (np) or reproduce_p6n.py (p6n) output') + ap.add_argument('--k', default='p6n-k4', help='recipe id (PROMO-RECIPE-.json)') + ap.add_argument('--out', type=Path, required=True) + ap.add_argument('--skip-phases', action='store_true') + a = ap.parse_args() + out = a.out.resolve(); assert not out.exists(); out.mkdir(parents=True) + up = a.pr635.resolve() / 'research/complex-571-cold14-st2' + src = a.main.resolve() / 'research/complex-k492-owner-repair/vendor/multicold' + base = src / 'vendor/pr558'; parent = base / 'vendor/pr552' + recipe = HERE / ('PROMO-RECIPE-%s.json' % a.k); pins = read(HERE / ('LOCAL-PINS-%s.json' % a.k)) + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONUTF8='1', PYTHONINTMAXSTRDIGITS='0', + MULTICOLD_SOURCE=str(src), GAIN_PR564_SOURCE=str(src)) + for k in ('PYTHONOPTIMIZE', 'XPARAM', 'EXTRAH', 'PAIRING_RANKS', 'DIAG', 'HYBBUDGET', 'PR635_CODE'): env.pop(k, None) + steps = [] + + def run(label, script, *args, portable=True): + t = time.monotonic() + cmd = [sys.executable, '-B'] + ([str(src / 'code/run_portable.py')] if portable else []) + [str(script), *map(str, args)] + with (out / (label + '.log')).open('w') as f: + rc = subprocess.call(cmd, env=env, stdout=f, stderr=subprocess.STDOUT) + steps.append(dict(step=label, exit_code=rc, seconds=round(time.monotonic() - t, 3))) + (out / 'STEPS.json').write_text(json.dumps(steps, indent=2) + '\n') + assert rc == 0, label + print('PASS', label, flush=True) + + rel, pin = BASES[a.base]; inp = a.base_dir.resolve() / rel + got = hashlib.sha256(gzip.decompress(inp.read_bytes())).hexdigest() + assert got.startswith(pin) and got == read(recipe)['input_content_sha256'], ('input must be the pinned base word', a.base, got) + if a.base == 'p6n': + assert got == read(HERE.parent / 'layers_p6n/COLD-LAYERS-RECIPE-P6N.json.gz')['output_content_sha256'] + run('promotion', HERE / 'build_promotion.py', '--input', inp, '--recipe', recipe, '--out', out / 'promo', portable=False) + word = out / 'promo/FULL-WORD.json.gz' + assert hashlib.sha256(gzip.decompress(word.read_bytes())).hexdigest() == read(recipe)['expected']['output_content_sha256'] + run('promo-controls', HERE / 'promo_controls.py', '--input', inp, '--recipe', recipe, + '--audit', PKG / 'independent/audit_local.py', '--out', out / 'PROMO-CONTROLS.json', portable=False) + pc = read(out / 'PROMO-CONTROLS.json'); assert pc['honest'] == 'PASS' and pc['rejected'] == pins['promo_controls'], pc['rejected'] + routing = parent / 'complex-local/inputs/phase-baseline/CANONICAL-WORD.json.gz' + env['PR635_CODE'] = str(up / 'code') + ctlpy = (HERE.parent / 'layers_p6n/layer_end_controls.py') if a.base == 'p6n' else (LAYERS / 'layer_end_controls.py') + run('layer-end-controls', ctlpy, word, routing, out / 'controls') + env.pop('PR635_CODE') + ctl = read(out / 'controls/COLD-END-CONTROLS.json') + assert ctl['status'] == 'PASS_COLD_END_RAW_WORD_CONTROLS' and len(ctl['rejected']) == pins['layer_controls'], len(ctl['rejected']) + local = out / 'local' + run('native', up / 'code/hpe_audit_and_transport.py', '--raw', word, '--routing', routing, '--out', local) + assert hashlib.sha256(gzip.decompress((local / 'CANONICAL-WORD.json.gz').read_bytes())).hexdigest() == pins['canonical_sha256'], 'canonical word' + run('ledgers', up / 'code/hpe_emit_local.py', local) + run('local-replay', up / 'code/hpe_audit_local.py', local) + run('wrappers', up / 'code/hpe_adapters_local.py', local / 'CANONICAL-WORD.json.gz', + local / 'RESIDUAL-ADAPTERS.json', local / 'WRAPPER-CHECKS.json') + checks = read(local / 'LOCAL-CHECKS.json') + for o, s in pins['program_sha256'].items(): assert checks[o]['sha256'] == s, ('local program', o) + if not a.skip_phases: + run('phases', base / 'code/phases_full.py', local, parent / 'complex-global/vendor531/vendor/clifford') + assert hashlib.sha256((local / 'CLIFFORD-RECIPES.json').read_bytes()).hexdigest() == pins['clifford_recipes_sha256'], 'clifford recipes' + print('DONE', local, flush=True) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-slots-t16/construction/reproduce.py b/research/gauge44-slots-t16/construction/reproduce.py new file mode 100644 index 0000000000..8b51efa646 --- /dev/null +++ b/research/gauge44-slots-t16/construction/reproduce.py @@ -0,0 +1,194 @@ +#!/usr/bin/env python3 +"""Rebuild the frozen gauge44 delta from two pinned upstream checkouts. + +Prepared for icekylinx with OpenAI GPT-6 Astra assistance. Apache-2.0. +This driver calls the credited upstream constructors unchanged; it runs no +search or optimizer. See ../CONSTRUCTION.md and INPUTS.json. +""" +import argparse +import gzip +import hashlib +import importlib.util +import json +import os +from pathlib import Path +import shutil +import subprocess +import sys +import time + +HERE = Path(__file__).resolve().parent + + +def read(path): + raw = path.read_bytes() + return json.loads(gzip.decompress(raw) if path.suffix == '.gz' else raw) + + +def sha(path, content=False): + raw = path.read_bytes() + if content and path.suffix == '.gz': + raw = gzip.decompress(raw) + return hashlib.sha256(raw).hexdigest() + + +def dump(path, value): + path.parent.mkdir(parents=True, exist_ok=True) + raw = json.dumps(value, sort_keys=True, separators=(',', ':')).encode() + path.write_bytes(gzip.compress(raw, mtime=0) if path.suffix == '.gz' else raw) + + +def load_module(name, path): + spec = importlib.util.spec_from_file_location(name, path) + module = importlib.util.module_from_spec(spec) + spec.loader.exec_module(module) + return module + + +def main(): + assert __debug__, 'Assertions are required; do not use python -O.' + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--main', type=Path, required=True, + help='integer-mult-bounds checkout at the pinned main commit') + parser.add_argument('--pr635', type=Path, required=True, + help='integer-mult-bounds checkout at the pinned PR635 commit') + parser.add_argument('--out', type=Path, required=True, + help='new output directory outside both checkouts') + parser.add_argument('--until', choices=('word', 'local', 'phases'), default='word', + help='default: scalar constructor only; local adds exact native replay and wrappers') + parser.add_argument('--frozen-cold', action='store_true', + help='splice the pinned cold recipe instead of deriving its exact Q/T matrices again') + args = parser.parse_args() + roots = {'main': args.main.resolve(), 'pr635': args.pr635.resolve(), 'delta': HERE} + out = args.out.resolve() + assert not out.exists(), 'Use a new output directory.' + assert not any(out.is_relative_to(root) for root in roots.values()) + pins = read(HERE / 'INPUTS.json') + for family, files in pins['files'].items(): + for relative, expected in files.items(): + path = roots[family] / relative + assert sha(path) == expected, ('input pin', family, relative) + out.mkdir(parents=True) + upstream = roots['pr635'] / 'research/complex-571-cold14-st2' + source = roots['main'] / 'research/complex-k492-owner-repair/vendor/multicold' + joint = source.parent / 'joint_prefix' + base = source / 'vendor/pr558' + parent = base / 'vendor/pr552' + gk = parent / 'complex-local/static44/gk' + hamming = source.parent / 'direct_delivery/inputs/hamming' + structural = roots['main'] / 'research/structural-gain/frontier-composition' + runner = source / 'code/run_portable.py' + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONUTF8='1', + PYTHONINTMAXSTRDIGITS='0', MULTICOLD_SOURCE=str(source), + GAIN_PR564_SOURCE=str(source)) + env.pop('PYTHONOPTIMIZE', None) + records = [] + + def run(label, script, *arguments): + start = time.monotonic() + log = out / (label + '.log') + print('RUN', label, flush=True) + with log.open('w', encoding='utf-8') as stream: + result = subprocess.run([sys.executable, '-B', str(runner), str(script), + *map(str, arguments)], env=env, stdout=stream, + stderr=subprocess.STDOUT) + records.append({'step': label, 'exit_code': result.returncode, + 'seconds': round(time.monotonic() - start, 3)}) + (out / 'STEPS.json').write_text(json.dumps(records, indent=2) + '\n') + if result.returncode: + raise RuntimeError(label + '\n' + log.read_text()[-6000:]) + print('PASS', label, flush=True) + + def check_word(label, path): + assert sha(path, content=True) == pins['word_content_sha256'][label], ('step pin', label) + return path + + raw504 = parent / 'complex-local/static44/inputs/RAW504.json.gz' + promoted = structural / 'global-replay/base/split-centres/FULL-WORD.json.gz' + multi = structural / 'multicold-eight-word/FULL-WORD.json.gz' + early = out / 'shadow-early' + run('shadow-early', source / 'code/build_cold_kernel.py', '--input', promoted, + '--recipe', source / 'data/EIGHT-COLD.json', '--gk-dir', gk, '--out', early) + early_word = check_word('shadow-early', early / 'FULL-WORD.json.gz') + prefix = out / 'shadow-prefix' + run('shadow-prefix', joint / 'code/build_joint_prefix.py', '--input', multi, + '--recipe', joint / 'data/JOINT-PREFIX.json', '--variant', 'eightcold', + '--gk-dir', gk, '--out', prefix) + prefix_word = check_word('shadow-prefix', prefix / 'FULL-WORD.json.gz') + + inputs = out / 'hamming' + inputs.mkdir() + for name in ('PROTOTYPE.json', 'PACKET-PROGRAMS.json.gz'): + shutil.copyfile(hamming / name, inputs / name) + shutil.copyfile(HERE / 'COMPLETION-PRIORITY.json', inputs / 'COMPLETION-PRIORITY.json') + raw = out / 'raw' + run('gauge-forward', HERE / 'construct_gauge_xcentre.py', inputs, raw, + upstream / 'data/TRI-SCHEDULE.json') + word = check_word('raw', raw / 'FULL-WORD.json.gz') + assert sha(raw / 'HELPER-MAP.json') == pins['helper_map_sha256'] + chain = [raw504, promoted, early_word, multi, prefix_word] + for i, (before, after) in enumerate(zip(chain, chain[1:])): + target = out / ('port' + str(i)) + run('port' + str(i), upstream / 'code/build_port_stage.py', + '--shadow-input', before, '--shadow-output', after, '--input', word, + '--map', raw / 'HELPER-MAP.json', '--gk-dir', gk, '--out', target) + word = check_word('port' + str(i), target / 'FULL-WORD.json.gz') + + changed = read(word) + regroup = read(upstream / 'data/recipes/k492-jp8-frame_regroup.json') + # The inherited changes are B-only and are checked against the actual new gates. + for edit in regroup['changes']: + assert changed[edit['section']][edit['index']] == edit['before'] + changed[edit['section']][edit['index']] = edit['after'] + changed['report'].update(local_profile=regroup['after'], + local_rank_mass=sum(int(r)*n for r, n in regroup['after'].items())) + word = out / 'regroup/FULL-WORD.json.gz' + dump(word, changed) + check_word('regroup', word) + hpe = load_module('upstream_hpe', upstream / 'code/build_hpe.py') + changed = hpe.apply(changed, read(upstream / 'data/recipes/k492-jp8-hyperplane_end.json')['changes']) + word = out / 'hpe/FULL-WORD.json.gz' + dump(word, changed) + check_word('hpe', word) + + target = out / 'cold44' + if args.frozen_cold: + cold = load_module('upstream_cold', upstream / 'code/build_cold_end.py') + changed = cold.apply(changed, read(HERE / 'COLD44-RECIPE.json.gz')) + # Match the exact constructor's descriptive status; this is not an audit assertion. + changed['report']['status'] = 'EXACT_COLD44_CONSTRUCTED_PENDING_INDEPENDENT_AUDIT' + dump(target / 'FULL-WORD.json.gz', changed) + else: + run('cold44-exact', HERE / 'build_gauge_cold44.py', '--input', word, + '--out', target, '--hamming', inputs, '--upstream-package', upstream) + assert read(target / 'RECIPE.json.gz') == read(HERE / 'COLD44-RECIPE.json.gz') + word = check_word('cold44', target / 'FULL-WORD.json.gz') + report = read(word)['report'] + assert report['local_rank_mass'] == 5650 + assert report['local_profile'] == {'1': 2514, '2': 404, '3': 448, '4': 160, '5': 56, '8': 8} + assert report['width_inventory'] == {'4': 52, '5': 48, '7': 34, '8': 114, '9': 244} + print('PASS exact frozen scalar word', word, flush=True) + if args.until == 'word': + return + + local = out / 'local' + routing = parent / 'complex-local/inputs/phase-baseline/CANONICAL-WORD.json.gz' + run('native', upstream / 'code/hpe_audit_and_transport.py', '--raw', word, + '--routing', routing, '--out', local) + assert sha(local / 'CANONICAL-WORD.json.gz', content=True) == pins['canonical_content_sha256'] + run('ledgers', upstream / 'code/hpe_emit_local.py', local) + run('local-replay', upstream / 'code/hpe_audit_local.py', local) + run('wrappers', upstream / 'code/hpe_adapters_local.py', local / 'CANONICAL-WORD.json.gz', + local / 'RESIDUAL-ADAPTERS.json', local / 'WRAPPER-CHECKS.json') + checks = read(local / 'LOCAL-CHECKS.json') + for orientation, expected in pins['local_program_sha256'].items(): + assert checks[orientation]['sha256'] == expected + if args.until == 'phases': + clifford = parent / 'complex-global/vendor531/vendor/clifford' + run('phases', base / 'code/phases_full.py', local, clifford) + assert sha(local / 'CLIFFORD-RECIPES.json') == pins['clifford_recipes_sha256'] + print('DONE', local, flush=True) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-slots-t16/construction/slots/RECIPE-SLOTS-k8.json b/research/gauge44-slots-t16/construction/slots/RECIPE-SLOTS-k8.json new file mode 100644 index 0000000000..acc1a733d6 --- /dev/null +++ b/research/gauge44-slots-t16/construction/slots/RECIPE-SLOTS-k8.json @@ -0,0 +1,991 @@ +{ + "base_sha256": "db2c7cfb3f8eee2b76c2e0154fc530520fb4d90cd9511a002cab527b16033b83", + "B_delete": [ + 13, + 15, + 33, + 35, + 39, + 47, + 50, + 893, + 895, + 899, + 901, + 907, + 919, + 926, + 928, + 931, + 933, + 934, + 936, + 939, + 941, + 1170, + 1172, + 1178, + 1180, + 1188, + 1204, + 1215, + 1217, + 1218, + 1220, + 1223, + 1225, + 1226, + 1228 + ], + "B_insert": [ + [ + 13, + [ + "add", + 189, + 454, + -1, + 1, + [ + 24 + ] + ] + ], + [ + 15, + [ + "add", + 185, + 455, + -1, + 1, + [ + 24 + ] + ] + ], + [ + 32, + [ + "add", + 122, + 584, + 1, + 2, + [ + 24 + ] + ] + ], + [ + 33, + [ + "add", + 123, + 585, + 1, + 2, + [ + 24 + ] + ] + ], + [ + 39, + [ + "add", + 179, + 587, + 1, + 2, + [ + 30 + ] + ] + ], + [ + 46, + [ + "add", + 146, + 590, + -1, + 1, + [ + 24 + ] + ] + ], + [ + 47, + [ + "add", + 147, + 591, + -1, + 1, + [ + 24 + ] + ] + ], + [ + 839, + [ + "add", + 544, + 236, + -2, + 1, + [ + 385, + 65, + 33, + 24, + 4, + 3 + ] + ] + ], + [ + 840, + [ + "add", + 545, + 238, + -2, + 1, + [ + 385, + 64, + 32, + 24, + 4, + 3 + ] + ] + ], + [ + 855, + [ + "add", + 556, + 454, + -2, + 1, + [ + 258, + 130, + 64, + 33, + 24, + 7 + ] + ] + ], + [ + 856, + [ + "add", + 557, + 455, + -2, + 1, + [ + 259, + 131, + 65, + 32, + 24, + 7 + ] + ] + ], + [ + 883, + [ + "add", + 74, + 584, + -1, + 2, + [ + 260, + 132, + 66, + 34, + 24, + 1 + ] + ] + ], + [ + 883, + [ + "add", + 10, + 439, + -1, + 2, + [ + 288, + 160, + 97, + 24, + 4, + 3 + ] + ] + ], + [ + 884, + [ + "add", + 383, + 585, + -1, + 2, + [ + 260, + 132, + 68, + 36, + 24, + 1 + ] + ] + ], + [ + 884, + [ + "add", + 287, + 434, + -1, + 2, + [ + 289, + 161, + 97, + 24, + 5, + 2 + ] + ] + ], + [ + 886, + [ + "add", + 351, + 587, + -1, + 2, + [ + 294, + 166, + 102, + 18, + 12, + 1 + ] + ] + ], + [ + 886, + [ + "add", + 319, + 436, + -1, + 2, + [ + 267, + 139, + 75, + 43, + 25, + 7 + ] + ] + ], + [ + 889, + [ + "add", + 98, + 590, + 1, + 1, + [ + 258, + 132, + 68, + 34, + 24, + 1 + ] + ] + ], + [ + 889, + [ + "add", + 34, + 444, + 1, + 1, + [ + 289, + 160, + 96, + 24, + 4, + 3 + ] + ] + ], + [ + 890, + [ + "add", + 399, + 591, + 1, + 1, + [ + 260, + 130, + 68, + 34, + 24, + 1 + ] + ] + ], + [ + 890, + [ + "add", + 303, + 446, + 1, + 1, + [ + 288, + 161, + 96, + 24, + 4, + 3 + ] + ] + ], + [ + 1170, + [ + "add", + 122, + 584, + -1, + 2, + [ + 260, + 132, + 64, + 32, + 24, + 2, + 1 + ] + ] + ], + [ + 1172, + [ + "add", + 123, + 585, + -1, + 2, + [ + 256, + 128, + 64, + 32, + 24, + 4, + 1 + ] + ] + ], + [ + 1178, + [ + "add", + 146, + 590, + 1, + 1, + [ + 256, + 132, + 68, + 32, + 24, + 2, + 1 + ] + ] + ], + [ + 1180, + [ + "add", + 147, + 591, + 1, + 1, + [ + 260, + 128, + 68, + 32, + 24, + 2, + 1 + ] + ] + ], + [ + 1188, + [ + "add", + 179, + 587, + -1, + 2, + [ + 262, + 134, + 70, + 32, + 18, + 12, + 1 + ] + ] + ], + [ + 1204, + [ + "add", + 115, + 436, + -1, + 2, + [ + 256, + 128, + 64, + 32, + 18, + 11, + 7 + ] + ] + ], + [ + 1215, + [ + "add", + 189, + 454, + 1, + 1, + [ + 257, + 129, + 64, + 33, + 24, + 4, + 3 + ] + ] + ], + [ + 1217, + [ + "add", + 185, + 455, + 1, + 1, + [ + 256, + 128, + 65, + 32, + 24, + 4, + 3 + ] + ] + ], + [ + 1217, + [ + "add", + 186, + 439, + -1, + 2, + [ + 256, + 128, + 65, + 32, + 24, + 4, + 3 + ] + ] + ], + [ + 1220, + [ + "add", + 187, + 434, + -1, + 2, + [ + 257, + 129, + 65, + 32, + 24, + 5, + 2 + ] + ] + ], + [ + 1223, + [ + "add", + 213, + 236, + 1, + 1, + [ + 256, + 129, + 65, + 33, + 24, + 4, + 3 + ] + ] + ], + [ + 1225, + [ + "add", + 209, + 238, + 1, + 1, + [ + 257, + 128, + 64, + 32, + 24, + 4, + 3 + ] + ] + ], + [ + 1225, + [ + "add", + 210, + 444, + 1, + 1, + [ + 257, + 128, + 64, + 32, + 24, + 4, + 3 + ] + ] + ], + [ + 1228, + [ + "add", + 211, + 446, + 1, + 1, + [ + 256, + 129, + 64, + 32, + 24, + 4, + 3 + ] + ] + ] + ], + "B_frames": {}, + "tail_insert": [ + [ + 6, + [ + "add", + 98, + 590, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + ] + ], + [ + 5, + [ + "add", + 399, + 591, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + ] + ], + [ + 4, + [ + "add", + 557, + 455, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + ] + ], + [ + 3, + [ + "add", + 383, + 585, + 1, + 2, + [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + ] + ], + [ + 2, + [ + "add", + 351, + 587, + 1, + 2, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ] + ], + [ + 1, + [ + "add", + 556, + 454, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + ] + ], + [ + 0, + [ + "add", + 74, + 584, + 1, + 2, + [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + ] + ] + ], + "cleanup_prepend": [ + [ + "add", + 10, + 439, + 1, + 2, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 544, + 236, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 319, + 436, + 1, + 2, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 287, + 434, + 1, + 2, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 545, + 238, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 303, + 446, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 34, + 444, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ] + ], + "local_profile": { + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "expect_sha256": "c2b294300760e1fd6eeab8c22c4d13e4633dca40e52cac8da0d68163a76e3ca8", + "variants": [ + { + "X": 444, + "E": 590, + "hold": [ + 34, + 98 + ] + }, + { + "X": 446, + "E": 591, + "hold": [ + 303, + 399 + ] + }, + { + "X": 238, + "E": 455, + "hold": [ + 545, + 557 + ] + }, + { + "X": 434, + "E": 585, + "hold": [ + 287, + 383 + ] + }, + { + "X": 436, + "E": 587, + "hold": [ + 319, + 351 + ] + }, + { + "X": 236, + "E": 454, + "hold": [ + 544, + 556 + ] + }, + { + "X": 439, + "E": 584, + "hold": [ + 10, + 74 + ] + } + ], + "source": "PR #987 (rohanarun) triangle-hybrid slots, transferred to k8 db2c7cfb by MineB; recipe U10k8", + "note": "early-cleanup gate frames in cleanup are kept as in base (package T-frame convention)" +} \ No newline at end of file diff --git a/research/gauge44-slots-t16/construction/slots/SLOT-PINS-k8.json b/research/gauge44-slots-t16/construction/slots/SLOT-PINS-k8.json new file mode 100644 index 0000000000..2702c368f4 --- /dev/null +++ b/research/gauge44-slots-t16/construction/slots/SLOT-PINS-k8.json @@ -0,0 +1,47 @@ +{ + "base_sha256": "db2c7cfb3f8eee2b76c2e0154fc530520fb4d90cd9511a002cab527b16033b83", + "word_sha256": "c2b294300760e1fd6eeab8c22c4d13e4633dca40e52cac8da0d68163a76e3ca8", + "canonical_sha256": "4ddb29fb9bc6f27e0c0fbfcf19a2a93a3496ad900d0f6d89059d0305c9576c0c", + "program_sha256": { + "forward": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8", + "backward": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + "clifford_recipes_sha256": "d0768f2164d5f64a2fdbec422f1cfde4e400818792f1904ca541958377243731", + "slot_controls": [ + "C0_identity", + "donation_after", + "donation_after@236", + "donation_after@238", + "donation_after@434", + "donation_after@436", + "donation_after@439", + "donation_after@444", + "donation_after@446", + "drop_preread", + "drop_preread@236", + "drop_preread@238", + "drop_preread@434", + "drop_preread@436", + "drop_preread@439", + "drop_preread@444", + "drop_preread@446", + "drop_restore", + "drop_restore@236", + "drop_restore@238", + "drop_restore@434", + "drop_restore@436", + "drop_restore@439", + "drop_restore@444", + "drop_restore@446", + "recipe", + "restore_full", + "restore_full@236", + "restore_full@238", + "restore_full@434", + "restore_full@436", + "restore_full@439", + "restore_full@444", + "restore_full@446" + ], + "kappa_decimal": "0.00167166528321877" +} diff --git a/research/gauge44-slots-t16/construction/slots/verify_slots.py b/research/gauge44-slots-t16/construction/slots/verify_slots.py new file mode 100644 index 0000000000..fd06b654af --- /dev/null +++ b/research/gauge44-slots-t16/construction/slots/verify_slots.py @@ -0,0 +1,122 @@ +#!/usr/bin/env python3 +"""Slot layer on research/gauge44-leaver8 with explicit, hash-checked reuse of a completed k8 chain replay. + +Follows the repository's baseline-reuse pattern (cf. research/complex-t37-owners/verify.py --baseline799): +the completed k8 replay is rechecked against the parent package's pins, and only the new layer is rebuilt. + + 1. parent manifest, then baseline: the completed reproduce_leaver_chain.py --id k8 output; its final word and its + canonical/program/Clifford locals must equal CHAIN-PINS-k8 and the final frame recipe's output pin. + 2. slots: the reviewed construction/barch/build_tri.py (unchanged) with RECIPE-SLOTS-k8.json; output pinned. + All per-slot controls (run_controls.py, unchanged) must reject exactly as pinned. + 3. native locals of the new word (the same steps as reproduce_leaver_chain step 9); canonical/programs/Clifford pinned. + 4. independent audit_local on the new word. + 5. strict global replay (verify_global.py) of this package's data on the new locals. +""" +import argparse, gzip, hashlib, json, os, subprocess, sys, time +from pathlib import Path + +HERE = Path(__file__).resolve().parent +PKG = HERE.parents[1] +MUTANTS = ('drop_restore', 'restore_full', 'drop_preread', 'donation_after') # as reproduce_leaver_chain.py +# Complete step receipt of reproduce_leaver_chain.py --id k8 (unchanged driver of the parent package). +CHAIN_STEPS = ['pivot-swap', 'cold44-exact', 'lec-p6n', 'promotion', 'promo-controls', 'lec-promo', 'jx', + 'jx-control-C0_identity', 'jx-control-C1_741_only', 'jx-control-N3_plain_join_moved_reads', 'lec-jx', + 'hybrids', 'hybrid-controls', 'lec-hyb', 'frames', 'lec-frames', + 'native', 'ledgers', 'local-replay', 'wrappers', 'phases'] + + +def read(p): + b = Path(p).read_bytes() + return json.loads(gzip.decompress(b) if str(p).endswith('.gz') else b) + + +def enc(x): return json.dumps(x, sort_keys=True, separators=(',', ':')).encode() +def csha(p): return hashlib.sha256(gzip.decompress(Path(p).read_bytes())).hexdigest() +def fsha(p): return hashlib.sha256(Path(p).read_bytes()).hexdigest() + + +def main(): + assert __debug__, 'Assertions are required' + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--main', type=Path, required=True, help='repository root') + ap.add_argument('--pr635', type=Path, required=True) + ap.add_argument('--baseline', type=Path, required=True, + help='completed research/gauge44-leaver8 reproduce_leaver_chain.py --id k8 --out directory') + ap.add_argument('--work', type=Path, required=True) + a = ap.parse_args() + root = a.main.resolve(); work = a.work.resolve(); assert not work.exists(); work.mkdir(parents=True) + parent_pkg = root / 'research/gauge44-leaver8' + up = a.pr635.resolve() / 'research/complex-571-cold14-st2' + src = root / 'research/complex-k492-owner-repair/vendor/multicold' + base = src / 'vendor/pr558'; par = base / 'vendor/pr552' + routing = par / 'complex-local/inputs/phase-baseline/CANONICAL-WORD.json.gz' + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONUTF8='1', PYTHONINTMAXSTRDIGITS='0', + MULTICOLD_SOURCE=str(src), GAIN_PR564_SOURCE=str(src)) + env.pop('PYTHONOPTIMIZE', None) + pins = read(HERE / 'SLOT-PINS-k8.json'); steps = [] + + def run(label, script, *args, portable=True): + t = time.monotonic() + cmd = [sys.executable, '-B'] + ([str(src / 'code/run_portable.py')] if portable else []) + [str(script), *map(str, args)] + with (work / (label + '.log')).open('w') as f: + rc = subprocess.call(cmd, env=env, stdout=f, stderr=subprocess.STDOUT, cwd=root) + steps.append(dict(step=label, exit_code=rc, seconds=round(time.monotonic() - t, 3))) + (work / 'STEPS.json').write_text(json.dumps(steps, indent=2) + '\n') + assert rc == 0, label + print('PASS', label, flush=True) + return (work / (label + '.log')).read_text() + + # 1. parent package and baseline coverage + run('parent-manifest', parent_pkg / 'verify_manifest.py', portable=False) + cp = read(parent_pkg / 'construction/leaver/CHAIN-PINS-k8.json') + fr = read(parent_pkg / 'construction/leaver/FRAME-RECIPE-LV-k8.json') + bl = a.baseline.resolve(); bw = bl / 'frames/FULL-WORD.json.gz'; blocal = bl / 'local' + bsteps = read(bl / 'STEPS.json') + assert [s['step'] for s in bsteps] == CHAIN_STEPS and all(s['exit_code'] == 0 for s in bsteps), 'baseline is not a complete k8 chain replay' + assert csha(bw) == fr['expected']['output_content_sha256'] == pins['base_sha256'], 'baseline final word' + assert hashlib.sha256(gzip.decompress((blocal / 'CANONICAL-WORD.json.gz').read_bytes())).hexdigest() == cp['canonical_sha256'], 'baseline canonical' + chk = read(blocal / 'LOCAL-CHECKS.json') + assert {o: chk[o]['sha256'] for o in ('forward', 'backward')} == cp['program_sha256'], 'baseline programs' + assert fsha(blocal / 'CLIFFORD-RECIPES.json') == cp['clifford_recipes_sha256'], 'baseline Clifford' + for lab in ('lec-p6n', 'lec-promo', 'lec-jx', 'lec-hyb', 'lec-frames'): + c = read(bl / lab / 'COLD-END-CONTROLS.json') + assert c['status'] == 'PASS_COLD_END_RAW_WORD_CONTROLS' and len(c['rejected']) == cp[lab], 'baseline ' + lab + print('PASS baseline', flush=True) + + # 2. slot layer with the reviewed builder and controls (unchanged files from research/gauge44-leaver8) + barch = parent_pkg / 'construction/barch'; rec = HERE / 'RECIPE-SLOTS-k8.json'; r = read(rec) + assert r['base_sha256'] == pins['base_sha256'] and r['expect_sha256'] == pins['word_sha256'] + (work / 'slots').mkdir(); fw = work / 'slots/FULL-WORD.json.gz' + run('slots', barch / 'build_tri.py', bw, rec, fw, portable=False) + assert csha(fw) == pins['word_sha256'], 'slot word' + run('slot-controls', barch / 'run_controls.py', bw, rec, parent_pkg / 'independent/audit_local.py', work / 'slot-controls', portable=False) + res = read(work / 'slot-controls/controls.json') + want = ['C0_identity', 'recipe', *MUTANTS] + [m + '@' + str(v['X']) for v in r.get('variants', []) for m in MUTANTS] + assert sorted(res) == sorted(want) == sorted(pins['slot_controls']) and all(x['ok'] for x in res.values()), res + + # 3. native locals of the new word + local = work / 'local' + run('native', up / 'code/hpe_audit_and_transport.py', '--raw', fw, '--routing', routing, '--out', local) + assert hashlib.sha256(gzip.decompress((local / 'CANONICAL-WORD.json.gz').read_bytes())).hexdigest() == pins['canonical_sha256'] + run('ledgers', up / 'code/hpe_emit_local.py', local) + run('local-replay', up / 'code/hpe_audit_local.py', local) + run('wrappers', up / 'code/hpe_adapters_local.py', local / 'CANONICAL-WORD.json.gz', local / 'RESIDUAL-ADAPTERS.json', local / 'WRAPPER-CHECKS.json') + chk = read(local / 'LOCAL-CHECKS.json') + assert {o: chk[o]['sha256'] for o in ('forward', 'backward')} == pins['program_sha256'] + run('phases', base / 'code/phases_full.py', local, par / 'complex-global/vendor531/vendor/clifford') + assert fsha(local / 'CLIFFORD-RECIPES.json') == pins['clifford_recipes_sha256'] + + # 4. independent local audit; 5. strict global replay of this package's data + run('audit-local', PKG / 'independent/audit_local.py', '--word', fw, '--main', root, '--output', work / 'AUDIT-LOCAL.json', portable=False) + assert read(work / 'AUDIT-LOCAL.json')['status'] == 'PASS_INDEPENDENT_EXACT_FORWARD_AND_DUAL_ENDPOINT_FRAMES_ENTRANCES_CONES' + out = run('strict', PKG / 'verify_global.py', '--main', root, '--local', local, '--work', work / 'global', portable=False) + last = [l for l in out.splitlines() if l.startswith('PASS_GAUGE44')][-1] + assert last.split()[1] == pins['kappa_decimal'], last + res = dict(status='PASS_SLOTS_ON_CHECKED_K8_BASELINE', kappa_decimal=pins['kappa_decimal'], strict=last, + baseline=str(bl), steps=steps) + (work / 'RESULT.json').write_text(json.dumps(res, indent=1) + '\n') + print(res['status'], pins['kappa_decimal'], flush=True) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-slots-t16/construction/sw4/LOCAL-PINS-sw4-P6k4.json b/research/gauge44-slots-t16/construction/sw4/LOCAL-PINS-sw4-P6k4.json new file mode 100644 index 0000000000..ae26a0f2f1 --- /dev/null +++ b/research/gauge44-slots-t16/construction/sw4/LOCAL-PINS-sw4-P6k4.json @@ -0,0 +1,11 @@ +{ + "word": "P6k4sw4", + "sw4_controls": 4, + "layer_controls": 95, + "canonical_sha256": "5f5f163e43e8c21c16e2f10aef0078131d127a1ccacc39e0238d111fbd29f195", + "program_sha256": { + "forward": "36e75fc972766fa42f1b371a055e74976a165c894b816911c3510a88b431ea09", + "backward": "3176ccde98d90e754105e60096598fee348e2455e046290d3674b79dd6b402df" + }, + "clifford_recipes_sha256": "202eeaf5fac0c801b98811c1e140fd0af443090d7f7e05c7b55a4ddc6f6acdab" +} diff --git a/research/gauge44-slots-t16/construction/sw4/NOTES.md b/research/gauge44-slots-t16/construction/sw4/NOTES.md new file mode 100644 index 0000000000..2a53ffb3b8 --- /dev/null +++ b/research/gauge44-slots-t16/construction/sw4/NOTES.md @@ -0,0 +1,21 @@ +# SW4: read-set exchange on 4 entering-copy pairs + +- **Input.** P6k3, sha a38bb414. +- **Output.** sha f35a852b. Strict PASS at κ 0.001659645685315104, which is +3.267e-7 over P6k3 and equal to the ideal. +- **Width.** W 3782 is unchanged, as are start_extra, helper_final, cleanup and the helper numbering. +- **Rebuild.** `python build_sw4.py INPUT OUT [SW4-RECIPE.json]`. It is a deterministic apply of the 16 explicit moves, with 4 pinned controls: C0 (identity), N1 (keeping the pre-read is rejected), N2 (a partial exchange is rejected) and N3 (a wrong-sign pre-read is rejected). + +## Move +For each pair (h,r) in {(461,25), (581,89), (591,415), (603,431)}, where h = E_h + r after h's copy gate: +- every post-copy target read of h becomes a read of r, and that target's entrance pre-read of h is deleted; +- every target read of r becomes a read of h, with the pre-read add(t,h,−c) inserted after h's last pre-read, while h = E_h. + +The B-end state of every register is unchanged (checked mod p). + +## How exhaustive the search was +These 4 are the only positives within an exactly defined family. +- **Copy pair.** h is an entering helper whose first B write is add(h,r,1/1) from a non-target r, and whose only earlier B gates are single target pre-reads. NP has 107 such pairs. +- **Candidates.** Every nonempty subset of one pair's movable reads (target reads of h or r between the copy and the next write of h or r), with all other pairs left unchanged. That is 602 candidates over the 54 pairs that have reads. +- **Outcome.** 564 are frame-illegal. The 38 legal ones are all full single-pair exchanges, and only these 4 are positive. Their gains are additive. + +**What is not covered.** Cross-pair combinations of partial moves were not enumerated. Without a decomposition proof (moves can shrink as well as grow target frames), the result is exhaustive only within this single-pair family. diff --git a/research/gauge44-slots-t16/construction/sw4/SW4-RECIPE-P6k4.json b/research/gauge44-slots-t16/construction/sw4/SW4-RECIPE-P6k4.json new file mode 100644 index 0000000000..b9dea4152a --- /dev/null +++ b/research/gauge44-slots-t16/construction/sw4/SW4-RECIPE-P6k4.json @@ -0,0 +1,314 @@ +{ + "name": "SW4", + "description": "BRoute read-set exchange on entering-copy pairs (h,r); indices refer to the input word B section", + "input_sha256": "0390ec65dc4d47df1887aabdc2ec5b6ddea3cfc8e65582873fdfeba81d100073", + "output_sha256": "d232183f233899961bf55cac67a18545ed33548d9a7ca7078990d1a83d557c59", + "pairs": { + "461": 25, + "581": 89, + "591": 415, + "603": 431 + }, + "moves": [ + { + "kind": "h2r", + "h": 461, + "r": 25, + "read_index": 856, + "target": 168, + "coef": [ + -1, + 2 + ], + "delete_preread_index": 27 + }, + { + "kind": "h2r", + "h": 461, + "r": 25, + "read_index": 1208, + "target": 128, + "coef": [ + -1, + 2 + ], + "delete_preread_index": 26 + }, + { + "kind": "r2h", + "h": 461, + "r": 25, + "read_index": 873, + "target": 129, + "coef": [ + -1, + 2 + ], + "insert_preread_before": 28, + "preread": [ + "add", + 129, + 461, + 1, + 2 + ] + }, + { + "kind": "r2h", + "h": 461, + "r": 25, + "read_index": 1193, + "target": 169, + "coef": [ + -1, + 2 + ], + "insert_preread_before": 28, + "preread": [ + "add", + 169, + 461, + 1, + 2 + ] + }, + { + "kind": "h2r", + "h": 581, + "r": 89, + "read_index": 860, + "target": 171, + "coef": [ + -1, + 2 + ], + "delete_preread_index": 58 + }, + { + "kind": "h2r", + "h": 581, + "r": 89, + "read_index": 1288, + "target": 192, + "coef": [ + -1, + 2 + ], + "delete_preread_index": 59 + }, + { + "kind": "r2h", + "h": 581, + "r": 89, + "read_index": 953, + "target": 193, + "coef": [ + -1, + 2 + ], + "insert_preread_before": 60, + "preread": [ + "add", + 193, + 581, + 1, + 2 + ] + }, + { + "kind": "r2h", + "h": 581, + "r": 89, + "read_index": 1197, + "target": 175, + "coef": [ + -1, + 2 + ], + "insert_preread_before": 60, + "preread": [ + "add", + 175, + 581, + 1, + 2 + ] + }, + { + "kind": "h2r", + "h": 591, + "r": 415, + "read_index": 868, + "target": 139, + "coef": [ + 1, + 1 + ], + "delete_preread_index": 62 + }, + { + "kind": "h2r", + "h": 591, + "r": 415, + "read_index": 1296, + "target": 160, + "coef": [ + 1, + 1 + ], + "delete_preread_index": 63 + }, + { + "kind": "r2h", + "h": 591, + "r": 415, + "read_index": 961, + "target": 161, + "coef": [ + 1, + 1 + ], + "insert_preread_before": 64, + "preread": [ + "add", + 161, + 591, + -1, + 1 + ] + }, + { + "kind": "r2h", + "h": 591, + "r": 415, + "read_index": 1205, + "target": 143, + "coef": [ + 1, + 1 + ], + "insert_preread_before": 64, + "preread": [ + "add", + 143, + 591, + -1, + 1 + ] + }, + { + "kind": "h2r", + "h": 603, + "r": 431, + "read_index": 876, + "target": 131, + "coef": [ + 1, + 1 + ], + "delete_preread_index": 70 + }, + { + "kind": "h2r", + "h": 603, + "r": 431, + "read_index": 1300, + "target": 163, + "coef": [ + 1, + 1 + ], + "delete_preread_index": 71 + }, + { + "kind": "r2h", + "h": 603, + "r": 431, + "read_index": 965, + "target": 167, + "coef": [ + 1, + 1 + ], + "insert_preread_before": 72, + "preread": [ + "add", + 167, + 603, + -1, + 1 + ] + }, + { + "kind": "r2h", + "h": 603, + "r": 431, + "read_index": 1213, + "target": 135, + "coef": [ + 1, + 1 + ], + "insert_preread_before": 72, + "preread": [ + "add", + 135, + 603, + -1, + 1 + ] + } + ], + "kappa_ideal_in": 0.0016603565408383088, + "kappa_ideal_out": 0.0016606836036204419, + "W": 3778, + "profile_in": { + "1": 2572, + "2": 326, + "3": 430, + "4": 194, + "5": 56, + "8": 8 + }, + "profile_out": { + "1": 2548, + "2": 342, + "3": 438, + "4": 186, + "5": 56, + "8": 8 + }, + "width_inventory": { + "4": 80, + "5": 32, + "7": 54, + "8": 122, + "9": 216 + }, + "rejection_expected": { + "N1": { + "changed_registers": [ + 168, + 171 + ], + "n": 2 + }, + "N2": { + "first": [ + "cap", + 1192, + 169 + ], + "n": 10 + }, + "N3": { + "changed_registers": [ + 129, + 130, + 169, + 170 + ], + "n": 4 + } + } +} diff --git a/research/gauge44-slots-t16/construction/sw4/build_sw4.py b/research/gauge44-slots-t16/construction/sw4/build_sw4.py new file mode 100644 index 0000000000..617e0ed06d --- /dev/null +++ b/research/gauge44-slots-t16/construction/sw4/build_sw4.py @@ -0,0 +1,203 @@ +#!/usr/bin/env python3 +"""build_sw4.py INPUT_WORD OUT_DIR [RECIPE] : deterministic, standard-library-only rebuild of the BRoute SW4 word. + +SW4 exchanges the B-phase target read sets of four entering packet copies h and their face registers r +(h = E_h + r after h's copy gate; E_h = h's entering content): + h2r: a post-copy read add(t,h,c) becomes add(t,r,c), and t's entrance pre-read add(t,h,-c) (taken while h = E_h) is deleted; + r2h: a read add(t,r,c) becomes add(t,h,c), and a pre-read add(t,h,-c) is inserted before index insert_preread_before + (right after h's last existing pre-read, still before h's copy gate). +Every register holds the same value at the end of B (checked mod p). Frames: a moved or inserted gate gets the plain join of +its operands' current frames; every other B gate and every early-cleanup tail keeps span(old frame + current operand frames). +Targets must stay inside u_t^perp, and tails and ends must contain the current frame. + +Controls (run on every build; the count is pinned to 4 and all must hold, else exit 1): + C0 the identity recipe (no moves) reproduces the input B and early_cleanup byte for byte; + N1 h2r without deleting the pre-read is rejected by exactness; + N2 a partial exchange (one read only) is rejected by the frame cap; + N3 an inserted pre-read with the wrong sign is rejected by exactness. +Rejection sites are pinned: the recipe's 'rejection_expected' gives, for N1/N3, the exact set of target rows whose B-end +state changes (the mutated target plus its butterfly partner(s)) and, for N2, the first cap violation (kind, B index, +register) and the violation count. Each control must reproduce its pinned site exactly. BUILD.json records the observed +sites under 'rejection'. +Writes OUT_DIR/FULL-WORD.json.gz (sha checked against the recipe) and OUT_DIR/BUILD.json.""" +import sys, json, gzip, hashlib, os +from collections import Counter, defaultdict + +PR = 2147483629 +HERE = os.path.dirname(os.path.abspath(__file__)) +V, HH = 112, 9 + + +def basis(vs): + piv = {} + for a in vs: + while a: + bit = a.bit_length() - 1 + if bit in piv: a ^= piv[bit] + else: + piv[bit] = a; break + for k in sorted(piv): + for j in piv: + if j > k and piv[j] >> k & 1: piv[j] ^= piv[k] + return tuple(piv[k] for k in sorted(piv, reverse=True)) + + +def contained(a, b): return basis(list(a) + list(b)) == tuple(b) +def registers(e): return e[1:3] if e[0] == 'add' else e[1:2] +def hyper(p): return basis([x for x in range(1, 1 << HH) if (x & p).bit_count() % 2 == 0]) +FULL = basis([1 << i for i in range(HH)]) + + +def coef(e): + a, b = (e[3], e[4]) if e[0] == 'add' else (e[2], e[3]) + return a % PR * pow(b % PR, PR - 2, PR) % PR + + +def bend_state(w): + """sparse rows mod p of every register after A + cut + B (identity start).""" + n = 2 * V + w['report']['R']; rows = [{i: 1} for i in range(n)] + for e in w['A'] + w['cut'] + w['B']: + q = coef(e); t = e[1] + if e[0] == 'scale': rows[t] = {k: x * q % PR for k, x in rows[t].items()} + else: + d = rows[t] + for k, x in rows[e[2]].items(): + y = (d.get(k, 0) + q * x) % PR + if y: d[k] = y + else: d.pop(k, None) + return rows + + +def apply_recipe(w, moves, drop_delete=False, wrong_sign=False): + B = [list(e[:-1]) + [list(e[-1]) if e[-1] is not None else None] for e in w['B']] + tag = {}; dele = set(); ins = defaultdict(list) + for m in moves: + i = m['read_index']; e = B[i]; t = m['target']; a, b = m['coef'] + assert e[0] == 'add' and e[1] == t and [e[3], e[4]] == [a, b], ('recipe/word mismatch', m) + if m['kind'] == 'h2r': + assert e[2] == m['h'] + pi = m['delete_preread_index']; g = B[pi] + assert g[:5] == ['add', t, m['h'], -a, b], ('pre-read mismatch', m) + B[i] = ['add', t, m['r'], a, b, e[-1]] + if not drop_delete: dele.add(pi) + else: + assert e[2] == m['r'] + B[i] = ['add', t, m['h'], a, b, e[-1]] + g = list(m['preread']) + if wrong_sign: g[3] = -g[3] + ins[m['insert_preread_before']].append(g + [None]) + tag[i] = 1 + NB, nt = [], [] + for i, e in enumerate(B): + for g in ins.get(i, []): NB.append(g); nt.append(1) + if i in dele: continue + NB.append(e); nt.append(tag.get(i, 0)) + w2 = dict(w); w2['B'] = NB; w2['early_cleanup'] = [list(x) for x in w.get('early_cleanup', [])] + return w2, nt + + +def refit(w, nt): + n = 2 * V + w['report']['R'] + cur = [(p,) for p in w['ports']] + [()] * (n - V) + for q, U in w['start_extra'].items(): cur[int(q)] = basis(U) + for e in w['A']: + for q in registers(e): cur[q] = basis(e[-1]) + prob = [] + for i, e in enumerate(w['B']): + rs = registers(e) + base = [] if nt[i] or e[-1] is None else list(e[-1]) + F = basis(base + [x for q in rs for x in cur[q]]) + for q in rs: + if V <= q < 2 * V and not contained(F, hyper(w['ports'][q - V])): prob.append(('cap', i, q)) + e[-1] = list(F) + for q in rs: cur[q] = F + ne = [] + for i, U in w.get('early_cleanup', []): + rs = registers(w['cleanup'][i]); F = basis(list(U) + [x for q in rs for x in cur[q]]) + for q in rs: + fin = w['helper_final'].get(str(q)) + if fin is not None and not contained(F, basis(fin)): prob.append(('tail', i, q)) + ne.append([i, list(F)]) + for q in rs: cur[q] = F + w['early_cleanup'] = ne + for q in range(2 * V, n): + fin = w['helper_final'].get(str(q)) + if fin is not None and not contained(cur[q], basis(fin)): prob.append(('end', q)) + return prob + + +def profile(w): + n = 2 * V + w['report']['R'] + tail = [w['cleanup'][i][:-1] + [U] for i, U in w.get('early_cleanup', [])] + end = [FULL] * V + [hyper(p) for p in w['ports']] + [FULL] * (n - 2 * V) + for q, U in w['helper_final'].items(): end[int(q)] = basis(U) + start = [(p,) for p in w['ports']] + [()] * (n - V) + for q, U in w['start_extra'].items(): start[int(q)] = basis(U) + cur = list(start); paid = Counter() + def climb(q, U): + U = basis(U); assert contained(cur[q], U), ('monotone', q) + d = len(U) - len(cur[q]) + if d: paid[d] += 1 + cur[q] = U + for sec in ('A', 'B'): + if sec == 'B': + lev = {int(t): basis(U) for t, U in w.get('target_levels', {}).items()} + for q, U in zip(w['centers'], w['center_frames']): + U = basis(U); served = {lev.get(e[1] - V, ()) for e in w['cut'] if e[2] == q} + for T in sorted(served, key=lambda x: -len(x)): + if T != U: paid[len(U) - len(T)] += 1 + U = T + for e in w[sec]: + for q in registers(e): climb(q, e[-1]) + for e in tail: + for q in registers(e): climb(q, e[-1]) + for q, U in enumerate(end): climb(q, U) + widths = Counter(len(end[q]) - len(start[q]) for q in range(2 * V, n)) + return paid, widths + + +def enc(w): return json.dumps(w, sort_keys=True, separators=(',', ':')).encode() + + +def main(): + src, out = sys.argv[1], sys.argv[2] + rec = json.load(open(sys.argv[3] if len(sys.argv) > 3 else os.path.join(HERE, 'SW4-RECIPE.json'))) + raw = gzip.decompress(open(src, 'rb').read()) + assert hashlib.sha256(raw).hexdigest() == rec['input_sha256'], 'input sha mismatch' + w = json.loads(raw); S0 = bend_state(w); moves = rec['moves'] + h0 = moves[0]['h']; one = [m for m in moves if m['h'] == h0] + ctl = {}; why = {}; EXP = rec.get('rejection_expected', {}) + if os.environ.get('SW4_PIN') != '1' and set(EXP) != {'N1', 'N2', 'N3'}: raise SystemExit('recipe rejection_expected must pin exactly N1, N2, N3 (set SW4_PIN=1 to record)') + def diff(S): + d = [q for q in range(len(S0)) if S[q] != S0[q]] + return dict(changed_registers=d[:8], n=len(d)) + w0, nt0 = apply_recipe(w, []); p0 = refit(w0, nt0) + ctl['C0_identity'] = not p0 and w0['B'] == w['B'] and w0['early_cleanup'] == w['early_cleanup'] + m1 = [m for m in one if m['kind'] == 'h2r'][:1] + w1, nt1 = apply_recipe(w, m1, drop_delete=True); d1 = diff(bend_state(w1)) + ctl['N1_keep_preread_rejected'] = d1['n'] > 0 and d1 == EXP.get('N1', d1); why['N1'] = d1 + w2, nt2 = apply_recipe(w, m1); p2 = refit(w2, nt2) + why['N2'] = dict(first=list(p2[0]) if p2 else None, n=len(p2)); ctl['N2_partial_rejected'] = bool(p2) and p2[0][0] == 'cap' and why['N2'] == EXP.get('N2', why['N2']) + w3, nt3 = apply_recipe(w, one, wrong_sign=True); d3 = diff(bend_state(w3)) + ctl['N3_wrong_sign_rejected'] = d3['n'] > 0 and d3 == EXP.get('N3', d3); why['N3'] = d3 + assert len(ctl) == 4 + wn, nt = apply_recipe(w, moves); pr = refit(wn, nt) + assert not pr, ('illegal', pr[:5]) + assert bend_state(wn) == S0, 'B-end state changed' + paid, widths = profile(wn) + wn['report'] = dict(wn['report'], local_profile={str(k): v for k, v in sorted(paid.items())}, + local_rank_mass=sum(k * v for k, v in paid.items())) + data = enc(wn); sha = hashlib.sha256(data).hexdigest() + os.makedirs(out, exist_ok=True) + with open(os.path.join(out, 'FULL-WORD.json.gz'), 'wb') as f: f.write(gzip.compress(data, mtime=0)) + rep = dict(recipe=rec['name'], input_sha256=rec['input_sha256'], output_sha256=sha, expected_output_sha256=rec['output_sha256'], + moves=len(moves), controls=ctl, rejection=why, profile=wn['report']['local_profile'], + widths={str(k): v for k, v in sorted(widths.items()) if k}, W=sum(k * v for k, v in widths.items())) + with open(os.path.join(out, 'BUILD.json'), 'w', newline='\n') as f: f.write(json.dumps(rep, indent=1) + '\n') + print(json.dumps(rep, indent=1)) + ok = all(ctl.values()) and sha == rec['output_sha256'] and rep['profile'] == rec['profile_out'] and rep['W'] == rec['W'] + sys.exit(0 if ok else 1) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-slots-t16/construction/sw4/reproduce_sw4.py b/research/gauge44-slots-t16/construction/sw4/reproduce_sw4.py new file mode 100644 index 0000000000..cb038e064b --- /dev/null +++ b/research/gauge44-slots-t16/construction/sw4/reproduce_sw4.py @@ -0,0 +1,87 @@ +#!/usr/bin/env python3 +"""Rebuild the SW4 word (BRoute read-set exchange on four entering-copy pairs) and its native locals. + +Input: a fresh `construction/promo/reproduce_promo.py --base p6n --k ` output directory; its promoted +word is pinned there and by SW4-RECIPE-.json (this package: --k p6n-k4, P6k4 0390ec65..., recipe P6k4). Steps, each checked exactly: + 1. sw4: BRoute's build_sw4.py (standard library only). It applies the 16 explicit moves of SW4-RECIPE-.json: + every listed read of h becomes a read of its face register r and vice versa, with the entrance pre-reads deleted + or inserted. It checks the B-end state of every register mod p, the frame caps, tails and ends, and the output sha + and profile. Its controls C0, N1, N2 and N3 run on every build and must all hold (count pinned to 4). + 2. layer-end-controls: ../layers_p6n/layer_end_controls.py (per-end variant, Q6Reviewer-signed) on the SW4 word; + the count is pinned in LOCAL-PINS-sw4-.json. + 3. native, ledgers, local-replay, wrappers, phases: PR635's native local programs. The canonical word, local + programs and Clifford recipes are pinned (LOCAL-PINS-sw4-.json). +Apache-2.0. Driver by ColdWitness around BRoute's constructor. +""" +import argparse, gzip, hashlib, json, os, subprocess, sys, time +from pathlib import Path + +HERE = Path(__file__).resolve().parent +P6 = HERE.parent / 'layers_p6n' + + +def read(p): + raw = Path(p).read_bytes() + return json.loads(gzip.decompress(raw) if str(p).endswith('.gz') else raw) + + +def main(): + assert __debug__, 'Assertions are required' + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--main', type=Path, required=True) + ap.add_argument('--pr635', type=Path, required=True) + ap.add_argument('--promo-dir', type=Path, required=True, help='construction/promo/reproduce_promo.py output') + ap.add_argument('--out', type=Path, required=True) + ap.add_argument('--recipe', default='P6k4', help='SW4-RECIPE-.json and LOCAL-PINS-sw4-.json') + ap.add_argument('--skip-phases', action='store_true') + a = ap.parse_args() + out = a.out.resolve(); assert not out.exists(); out.mkdir(parents=True) + up = a.pr635.resolve() / 'research/complex-571-cold14-st2' + src = a.main.resolve() / 'research/complex-k492-owner-repair/vendor/multicold' + base = src / 'vendor/pr558'; parent = base / 'vendor/pr552' + rfile = HERE / ('SW4-RECIPE-%s.json' % a.recipe); rec = read(rfile); pins = read(HERE / ('LOCAL-PINS-sw4-%s.json' % a.recipe)) + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONUTF8='1', PYTHONINTMAXSTRDIGITS='0', + MULTICOLD_SOURCE=str(src), GAIN_PR564_SOURCE=str(src)) + for k in ('PYTHONOPTIMIZE', 'XPARAM', 'EXTRAH', 'PAIRING_RANKS', 'DIAG', 'HYBBUDGET', 'PR635_CODE'): env.pop(k, None) + steps = [] + + def run(label, script, *args, portable=True): + t = time.monotonic() + cmd = [sys.executable, '-B'] + ([str(src / 'code/run_portable.py')] if portable else []) + [str(script), *map(str, args)] + with (out / (label + '.log')).open('w') as f: + rc = subprocess.call(cmd, env=env, stdout=f, stderr=subprocess.STDOUT) + steps.append(dict(step=label, exit_code=rc, seconds=round(time.monotonic() - t, 3))) + (out / 'STEPS.json').write_text(json.dumps(steps, indent=2) + '\n') + assert rc == 0, label + print('PASS', label, flush=True) + + inp = a.promo_dir.resolve() / 'promo/FULL-WORD.json.gz' + assert hashlib.sha256(gzip.decompress(inp.read_bytes())).hexdigest() == rec['input_sha256'], 'input must be the pinned promoted word' + run('sw4', HERE / 'build_sw4.py', inp, out / 'sw4', rfile, portable=False) + b = read(out / 'sw4/BUILD.json') + assert len(b['controls']) == pins['sw4_controls'] and all(b['controls'].values()), b['controls'] + word = out / 'sw4/FULL-WORD.json.gz' + assert hashlib.sha256(gzip.decompress(word.read_bytes())).hexdigest() == rec['output_sha256'] + routing = parent / 'complex-local/inputs/phase-baseline/CANONICAL-WORD.json.gz' + env['PR635_CODE'] = str(up / 'code') + run('layer-end-controls', P6 / 'layer_end_controls.py', word, routing, out / 'controls') + env.pop('PR635_CODE') + ctl = read(out / 'controls/COLD-END-CONTROLS.json') + assert ctl['status'] == 'PASS_COLD_END_RAW_WORD_CONTROLS' and len(ctl['rejected']) == pins['layer_controls'], len(ctl['rejected']) + local = out / 'local' + run('native', up / 'code/hpe_audit_and_transport.py', '--raw', word, '--routing', routing, '--out', local) + assert hashlib.sha256(gzip.decompress((local / 'CANONICAL-WORD.json.gz').read_bytes())).hexdigest() == pins['canonical_sha256'], 'canonical word' + run('ledgers', up / 'code/hpe_emit_local.py', local) + run('local-replay', up / 'code/hpe_audit_local.py', local) + run('wrappers', up / 'code/hpe_adapters_local.py', local / 'CANONICAL-WORD.json.gz', + local / 'RESIDUAL-ADAPTERS.json', local / 'WRAPPER-CHECKS.json') + checks = read(local / 'LOCAL-CHECKS.json') + for o, s in pins['program_sha256'].items(): assert checks[o]['sha256'] == s, ('local program', o) + if not a.skip_phases: + run('phases', base / 'code/phases_full.py', local, parent / 'complex-global/vendor531/vendor/clifford') + assert hashlib.sha256((local / 'CLIFFORD-RECIPES.json').read_bytes()).hexdigest() == pins['clifford_recipes_sha256'], 'clifford recipes' + print('DONE', local, flush=True) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-slots-t16/data/FRONTIER.json b/research/gauge44-slots-t16/data/FRONTIER.json new file mode 100644 index 0000000000..70285d4d85 --- /dev/null +++ b/research/gauge44-slots-t16/data/FRONTIER.json @@ -0,0 +1,36 @@ +{ + "checked_at_utc": "2026-10-13 00:54:29 UTC", + "construction_base": { + "pr": 635, + "commit": "a6895a69f8ad98ab45777b03e9e6f48888c39f6f", + "kappa": "0.001636241501576388" + }, + "latest_pr": 642, + "strongest_reported_pr": 641, + "comparisons": [ + { + "number": 641, + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/641", + "title": "Conditional κ = 0.001636523543003976: cost-neutral pivot swaps with four entering ends (s4) on PR635", + "head_sha": "ff580ea5407aa427d64233523e46ee0afe24a766", + "head_repo": "jeremykothe2/integer-mult-bounds", + "created_at": "2026-10-13T00:36:30Z", + "updated_at": "2026-10-13T00:36:30Z", + "reported_kappa": "0.001636523543003976" + }, + { + "number": 642, + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/642", + "title": "Conditional κ = 0.001636472098484378: selective helper-249 dispatch", + "head_sha": "d1154e23e13d85fdbf64d4b41fa20bb0f56a428f", + "head_repo": "vectorsss/integer-mult-bounds", + "created_at": "2026-10-13T00:40:40Z", + "updated_at": "2026-10-13T00:46:54Z", + "reported_kappa": "0.001636472098484378" + } + ], + "new_kappa": "0.001649483702558979", + "gain_over_641_percent": "0.791932362379189601995955118466917211009518325743405547289975", + "gain_over_642_percent": "0.795100881136422911010672021375626721886288268207407873093008", + "scope": "PR641/642 values are their public reported conditional witnesses, not independently replayed here. This delta retains the pinned PR635 construction ancestry and replaces its local supplier and whole-owner dispatch; it does not claim to compose the later pivot swaps or helper249 end." +} diff --git a/research/gauge44-slots-t16/data/OWNERS.json.gz b/research/gauge44-slots-t16/data/OWNERS.json.gz new file mode 100644 index 0000000000..4feb34a056 Binary files /dev/null and b/research/gauge44-slots-t16/data/OWNERS.json.gz differ diff --git a/research/gauge44-slots-t16/data/PLAN.json b/research/gauge44-slots-t16/data/PLAN.json new file mode 100644 index 0000000000..b9fd05136f --- /dev/null +++ b/research/gauge44-slots-t16/data/PLAN.json @@ -0,0 +1,85660 @@ +{ + "status": "FROZEN_EXPLICIT_T16_TWO_BANK_DIRECT_SUM_OWNER_NOMINATION", + "mode": "gauge44-all144-t16-idle-concentration", + "K": 4, + "T": 16, + "M": 73, + "L": 9, + "live": 14336, + "deficit": 5120, + "profile": { + "1": 349608, + "2": 60192, + "3": 62586, + "4": 20448, + "5": 11808, + "7": 6, + "8": 1152, + "48": 4866 + }, + "order": [ + [ + 0, + 0 + ], + [ + 0, + 8 + ], + [ + 0, + 1 + ], + [ + 0, + 9 + ], + [ + 1, + 0 + ], + [ + 1, + 8 + ], + [ + 0, + 2 + ], + [ + 0, + 10 + ], + [ + 1, + 1 + ], + [ + 1, + 9 + ], + [ + 2, + 0 + ], + [ + 2, + 8 + ], + [ + 0, + 3 + ], + [ + 0, + 11 + ], + [ + 1, + 2 + ], + [ + 1, + 10 + ], + [ + 2, + 1 + ], + [ + 2, + 9 + ], + [ + 3, + 0 + ], + [ + 3, + 8 + ], + [ + 0, + 4 + ], + [ + 0, + 12 + ], + [ + 1, + 3 + ], + [ + 1, + 11 + ], + [ + 2, + 2 + ], + [ + 2, + 10 + ], + [ + 3, + 1 + ], + [ + 3, + 9 + ], + [ + 4, + 0 + ], + [ + 4, + 8 + ], + [ + 0, + 5 + ], + [ + 0, + 13 + ], + [ + 1, + 4 + ], + [ + 1, + 12 + ], + [ + 2, + 3 + ], + [ + 2, + 11 + ], + [ + 3, + 2 + ], + [ + 3, + 10 + ], + [ + 4, + 1 + ], + [ + 4, + 9 + ], + [ + 5, + 0 + ], + [ + 5, + 8 + ], + [ + 0, + 6 + ], + [ + 0, + 14 + ], + [ + 1, + 5 + ], + [ + 1, + 13 + ], + [ + 2, + 4 + ], + [ + 2, + 12 + ], + [ + 3, + 3 + ], + [ + 3, + 11 + ], + [ + 4, + 2 + ], + [ + 4, + 10 + ], + [ + 5, + 1 + ], + [ + 5, + 9 + ], + [ + 0, + 7 + ], + [ + 0, + 15 + ], + [ + 6, + 0 + ], + [ + 6, + 8 + ], + [ + 1, + 6 + ], + [ + 1, + 14 + ], + [ + 2, + 5 + ], + [ + 2, + 13 + ], + [ + 3, + 4 + ], + [ + 3, + 12 + ], + [ + 4, + 3 + ], + [ + 4, + 11 + ], + [ + 5, + 2 + ], + [ + 5, + 10 + ], + [ + 6, + 1 + ], + [ + 6, + 9 + ], + [ + 1, + 7 + ], + [ + 1, + 15 + ], + [ + 7, + 0 + ], + [ + 7, + 8 + ], + [ + 2, + 6 + ], + [ + 2, + 14 + ], + [ + 3, + 5 + ], + [ + 3, + 13 + ], + [ + 4, + 4 + ], + [ + 4, + 12 + ], + [ + 5, + 3 + ], + [ + 5, + 11 + ], + [ + 6, + 2 + ], + [ + 6, + 10 + ], + [ + 7, + 1 + ], + [ + 7, + 9 + ], + [ + 2, + 7 + ], + [ + 2, + 15 + ], + [ + 8, + 0 + ], + [ + 8, + 8 + ], + [ + 3, + 6 + ], + [ + 3, + 14 + ], + [ + 4, + 5 + ], + [ + 4, + 13 + ], + [ + 5, + 4 + ], + [ + 5, + 12 + ], + [ + 6, + 3 + ], + [ + 6, + 11 + ], + [ + 7, + 2 + ], + [ + 7, + 10 + ], + [ + 8, + 1 + ], + [ + 8, + 9 + ], + [ + 3, + 7 + ], + [ + 3, + 15 + ], + [ + 4, + 6 + ], + [ + 4, + 14 + ], + [ + 5, + 5 + ], + [ + 5, + 13 + ], + [ + 6, + 4 + ], + [ + 6, + 12 + ], + [ + 7, + 3 + ], + [ + 7, + 11 + ], + [ + 8, + 2 + ], + [ + 8, + 10 + ], + [ + 4, + 7 + ], + [ + 4, + 15 + ], + [ + 5, + 6 + ], + [ + 5, + 14 + ], + [ + 6, + 5 + ], + [ + 6, + 13 + ], + [ + 7, + 4 + ], + [ + 7, + 12 + ], + [ + 8, + 3 + ], + [ + 8, + 11 + ], + [ + 5, + 7 + ], + [ + 5, + 15 + ], + [ + 6, + 6 + ], + [ + 6, + 14 + ], + [ + 7, + 5 + ], + [ + 7, + 13 + ], + [ + 8, + 4 + ], + [ + 8, + 12 + ], + [ + 6, + 7 + ], + [ + 6, + 15 + ], + [ + 7, + 6 + ], + [ + 7, + 14 + ], + [ + 8, + 5 + ], + [ + 8, + 13 + ], + [ + 7, + 7 + ], + [ + 7, + 15 + ], + [ + 8, + 6 + ], + [ + 8, + 14 + ], + [ + 8, + 7 + ], + [ + 8, + 15 + ] + ], + "windows": { + "0,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4 + ] + ], + "0,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4 + ] + ], + "8,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5 + ] + ], + "8,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5 + ] + ], + "1,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8 + ] + ], + "1,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8 + ] + ], + "9,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ] + ], + "9,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ] + ], + "0,1": [ + 8, + [ + 5, + 6, + 7, + 8, + 9, + 10 + ] + ], + "0,3": [ + 8, + [ + 5, + 6, + 7, + 8, + 9, + 10 + ] + ], + "8,1": [ + 8, + [ + 6, + 7, + 8, + 9, + 10, + 11 + ] + ], + "8,3": [ + 8, + [ + 6, + 7, + 8, + 9, + 10, + 11 + ] + ], + "2,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ] + ], + "2,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ] + ], + "10,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15 + ] + ], + "10,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15 + ] + ], + "1,1": [ + 8, + [ + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16 + ] + ], + "1,3": [ + 8, + [ + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16 + ] + ], + "9,1": [ + 8, + [ + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17 + ] + ], + "9,3": [ + 8, + [ + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17 + ] + ], + "0,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18 + ] + ], + "0,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18 + ] + ], + "8,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19 + ] + ], + "8,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19 + ] + ], + "3,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22 + ] + ], + "3,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22 + ] + ], + "11,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23 + ] + ], + "11,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23 + ] + ], + "2,1": [ + 8, + [ + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24 + ] + ], + "2,3": [ + 8, + [ + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24 + ] + ], + "10,1": [ + 8, + [ + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25 + ] + ], + "10,3": [ + 8, + [ + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25 + ] + ], + "1,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26 + ] + ], + "1,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26 + ] + ], + "9,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27 + ] + ], + "9,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27 + ] + ], + "0,5": [ + 8, + [ + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ] + ], + "0,7": [ + 8, + [ + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ] + ], + "8,5": [ + 8, + [ + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29 + ] + ], + "8,7": [ + 8, + [ + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29 + ] + ], + "4,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32 + ] + ], + "4,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32 + ] + ], + "12,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33 + ] + ], + "12,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33 + ] + ], + "3,1": [ + 8, + [ + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34 + ] + ], + "3,3": [ + 8, + [ + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34 + ] + ], + "11,1": [ + 8, + [ + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ] + ], + "11,3": [ + 8, + [ + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ] + ], + "2,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36 + ] + ], + "2,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36 + ] + ], + "10,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37 + ] + ], + "10,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37 + ] + ], + "1,5": [ + 8, + [ + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38 + ] + ], + "1,7": [ + 8, + [ + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38 + ] + ], + "9,5": [ + 8, + [ + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39 + ] + ], + "9,7": [ + 8, + [ + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39 + ] + ], + "0,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40 + ] + ], + "0,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40 + ] + ], + "8,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41 + ] + ], + "8,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41 + ] + ], + "5,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44 + ] + ], + "5,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44 + ] + ], + "13,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45 + ] + ], + "13,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45 + ] + ], + "4,1": [ + 8, + [ + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46 + ] + ], + "4,3": [ + 8, + [ + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46 + ] + ], + "12,1": [ + 8, + [ + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47 + ] + ], + "12,3": [ + 8, + [ + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47 + ] + ], + "3,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48 + ] + ], + "3,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48 + ] + ], + "11,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ] + ], + "11,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ] + ], + "2,5": [ + 8, + [ + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50 + ] + ], + "2,7": [ + 8, + [ + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50 + ] + ], + "10,5": [ + 8, + [ + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51 + ] + ], + "10,7": [ + 8, + [ + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51 + ] + ], + "1,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52 + ] + ], + "1,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52 + ] + ], + "9,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53 + ] + ], + "9,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53 + ] + ], + "0,9": [ + 8, + [ + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ] + ], + "0,11": [ + 8, + [ + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ] + ], + "8,9": [ + 8, + [ + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57 + ] + ], + "8,11": [ + 8, + [ + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57 + ] + ], + "6,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58 + ] + ], + "6,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58 + ] + ], + "14,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59 + ] + ], + "14,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59 + ] + ], + "5,1": [ + 8, + [ + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60 + ] + ], + "5,3": [ + 8, + [ + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60 + ] + ], + "13,1": [ + 8, + [ + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61 + ] + ], + "13,3": [ + 8, + [ + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61 + ] + ], + "4,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62 + ] + ], + "4,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62 + ] + ], + "12,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ] + ], + "12,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ] + ], + "3,5": [ + 8, + [ + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64 + ] + ], + "3,7": [ + 8, + [ + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64 + ] + ], + "11,5": [ + 8, + [ + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65 + ] + ], + "11,7": [ + 8, + [ + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65 + ] + ], + "2,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66 + ] + ], + "2,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66 + ] + ], + "10,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67 + ] + ], + "10,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67 + ] + ], + "1,9": [ + 8, + [ + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68 + ] + ], + "1,11": [ + 8, + [ + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68 + ] + ], + "9,9": [ + 8, + [ + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69 + ] + ], + "9,11": [ + 8, + [ + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69 + ] + ], + "7,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70 + ] + ], + "7,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70 + ] + ], + "15,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71 + ] + ], + "15,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71 + ] + ], + "6,1": [ + 8, + [ + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74 + ] + ], + "6,3": [ + 8, + [ + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74 + ] + ], + "14,1": [ + 8, + [ + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75 + ] + ], + "14,3": [ + 8, + [ + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75 + ] + ], + "5,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76 + ] + ], + "5,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76 + ] + ], + "13,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77 + ] + ], + "13,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77 + ] + ], + "4,5": [ + 8, + [ + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78 + ] + ], + "4,7": [ + 8, + [ + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78 + ] + ], + "12,5": [ + 8, + [ + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79 + ] + ], + "12,7": [ + 8, + [ + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79 + ] + ], + "3,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80 + ] + ], + "3,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80 + ] + ], + "11,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81 + ] + ], + "11,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81 + ] + ], + "2,9": [ + 8, + [ + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82 + ] + ], + "2,11": [ + 8, + [ + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82 + ] + ], + "10,9": [ + 8, + [ + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83 + ] + ], + "10,11": [ + 8, + [ + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83 + ] + ], + "7,1": [ + 8, + [ + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86 + ] + ], + "7,3": [ + 8, + [ + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86 + ] + ], + "15,1": [ + 8, + [ + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87 + ] + ], + "15,3": [ + 8, + [ + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87 + ] + ], + "0,12": [ + 48, + [ + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88 + ] + ], + "0,13": [ + 48, + [ + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88 + ] + ], + "0,14": [ + 32, + [ + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88 + ] + ], + "0,15": [ + 32, + [ + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88 + ] + ], + "0,16": [ + 16, + [ + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88 + ] + ], + "0,17": [ + 16, + [ + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88 + ] + ], + "8,12": [ + 48, + [ + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89 + ] + ], + "8,13": [ + 48, + [ + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89 + ] + ], + "8,14": [ + 32, + [ + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89 + ] + ], + "8,15": [ + 32, + [ + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89 + ] + ], + "8,16": [ + 16, + [ + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89 + ] + ], + "8,17": [ + 16, + [ + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89 + ] + ], + "6,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90 + ] + ], + "6,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90 + ] + ], + "14,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91 + ] + ], + "14,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91 + ] + ], + "5,5": [ + 8, + [ + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92 + ] + ], + "5,7": [ + 8, + [ + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92 + ] + ], + "13,5": [ + 8, + [ + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93 + ] + ], + "13,7": [ + 8, + [ + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93 + ] + ], + "4,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94 + ] + ], + "4,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94 + ] + ], + "12,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95 + ] + ], + "12,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95 + ] + ], + "3,9": [ + 8, + [ + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96 + ] + ], + "3,11": [ + 8, + [ + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96 + ] + ], + "11,9": [ + 8, + [ + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97 + ] + ], + "11,11": [ + 8, + [ + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97 + ] + ], + "1,12": [ + 48, + [ + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100 + ] + ], + "1,13": [ + 48, + [ + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100 + ] + ], + "1,14": [ + 32, + [ + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100 + ] + ], + "1,15": [ + 32, + [ + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100 + ] + ], + "1,16": [ + 16, + [ + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100 + ] + ], + "1,17": [ + 16, + [ + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100 + ] + ], + "9,12": [ + 48, + [ + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101 + ] + ], + "9,13": [ + 48, + [ + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101 + ] + ], + "9,14": [ + 32, + [ + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101 + ] + ], + "9,15": [ + 32, + [ + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101 + ] + ], + "9,16": [ + 16, + [ + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101 + ] + ], + "9,17": [ + 16, + [ + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101 + ] + ], + "7,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102 + ] + ], + "7,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102 + ] + ], + "15,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103 + ] + ], + "15,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103 + ] + ], + "6,5": [ + 8, + [ + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104 + ] + ], + "6,7": [ + 8, + [ + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104 + ] + ], + "14,5": [ + 8, + [ + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105 + ] + ], + "14,7": [ + 8, + [ + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105 + ] + ], + "5,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106 + ] + ], + "5,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106 + ] + ], + "13,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107 + ] + ], + "13,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107 + ] + ], + "4,9": [ + 8, + [ + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108 + ] + ], + "4,11": [ + 8, + [ + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108 + ] + ], + "12,9": [ + 8, + [ + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109 + ] + ], + "12,11": [ + 8, + [ + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109 + ] + ], + "2,12": [ + 48, + [ + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112 + ] + ], + "2,13": [ + 48, + [ + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112 + ] + ], + "2,14": [ + 32, + [ + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112 + ] + ], + "2,15": [ + 32, + [ + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112 + ] + ], + "2,16": [ + 16, + [ + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112 + ] + ], + "2,17": [ + 16, + [ + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112 + ] + ], + "10,12": [ + 48, + [ + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113 + ] + ], + "10,13": [ + 48, + [ + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113 + ] + ], + "10,14": [ + 32, + [ + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113 + ] + ], + "10,15": [ + 32, + [ + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113 + ] + ], + "10,16": [ + 16, + [ + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113 + ] + ], + "10,17": [ + 16, + [ + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113 + ] + ], + "7,5": [ + 8, + [ + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114 + ] + ], + "7,7": [ + 8, + [ + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114 + ] + ], + "15,5": [ + 8, + [ + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115 + ] + ], + "15,7": [ + 8, + [ + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115 + ] + ], + "6,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116 + ] + ], + "6,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116 + ] + ], + "14,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117 + ] + ], + "14,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117 + ] + ], + "5,9": [ + 8, + [ + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118 + ] + ], + "5,11": [ + 8, + [ + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118 + ] + ], + "13,9": [ + 8, + [ + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119 + ] + ], + "13,11": [ + 8, + [ + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119 + ] + ], + "3,12": [ + 48, + [ + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122 + ] + ], + "3,13": [ + 48, + [ + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122 + ] + ], + "3,14": [ + 32, + [ + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122 + ] + ], + "3,15": [ + 32, + [ + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122 + ] + ], + "3,16": [ + 16, + [ + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122 + ] + ], + "3,17": [ + 16, + [ + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122 + ] + ], + "11,12": [ + 48, + [ + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123 + ] + ], + "11,13": [ + 48, + [ + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123 + ] + ], + "11,14": [ + 32, + [ + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123 + ] + ], + "11,15": [ + 32, + [ + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123 + ] + ], + "11,16": [ + 16, + [ + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123 + ] + ], + "11,17": [ + 16, + [ + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123 + ] + ], + "7,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124 + ] + ], + "7,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124 + ] + ], + "15,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125 + ] + ], + "15,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125 + ] + ], + "6,9": [ + 8, + [ + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126 + ] + ], + "6,11": [ + 8, + [ + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126 + ] + ], + "14,9": [ + 8, + [ + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127 + ] + ], + "14,11": [ + 8, + [ + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127 + ] + ], + "4,12": [ + 48, + [ + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130 + ] + ], + "4,13": [ + 48, + [ + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130 + ] + ], + "4,14": [ + 32, + [ + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130 + ] + ], + "4,15": [ + 32, + [ + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130 + ] + ], + "4,16": [ + 16, + [ + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130 + ] + ], + "4,17": [ + 16, + [ + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130 + ] + ], + "12,12": [ + 48, + [ + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131 + ] + ], + "12,13": [ + 48, + [ + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131 + ] + ], + "12,14": [ + 32, + [ + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131 + ] + ], + "12,15": [ + 32, + [ + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131 + ] + ], + "12,16": [ + 16, + [ + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131 + ] + ], + "12,17": [ + 16, + [ + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131 + ] + ], + "7,9": [ + 8, + [ + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132 + ] + ], + "7,11": [ + 8, + [ + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132 + ] + ], + "15,9": [ + 8, + [ + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133 + ] + ], + "15,11": [ + 8, + [ + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133 + ] + ], + "5,12": [ + 48, + [ + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136 + ] + ], + "5,13": [ + 48, + [ + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136 + ] + ], + "5,14": [ + 32, + [ + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136 + ] + ], + "5,15": [ + 32, + [ + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136 + ] + ], + "5,16": [ + 16, + [ + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136 + ] + ], + "5,17": [ + 16, + [ + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136 + ] + ], + "13,12": [ + 48, + [ + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ] + ], + "13,13": [ + 48, + [ + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ] + ], + "13,14": [ + 32, + [ + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ] + ], + "13,15": [ + 32, + [ + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ] + ], + "13,16": [ + 16, + [ + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ] + ], + "13,17": [ + 16, + [ + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ] + ], + "6,12": [ + 48, + [ + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140 + ] + ], + "6,13": [ + 48, + [ + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140 + ] + ], + "6,14": [ + 32, + [ + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140 + ] + ], + "6,15": [ + 32, + [ + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140 + ] + ], + "6,16": [ + 16, + [ + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140 + ] + ], + "6,17": [ + 16, + [ + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140 + ] + ], + "14,12": [ + 48, + [ + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141 + ] + ], + "14,13": [ + 48, + [ + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141 + ] + ], + "14,14": [ + 32, + [ + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141 + ] + ], + "14,15": [ + 32, + [ + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141 + ] + ], + "14,16": [ + 16, + [ + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141 + ] + ], + "14,17": [ + 16, + [ + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141 + ] + ], + "7,12": [ + 48, + [ + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142 + ] + ], + "7,13": [ + 48, + [ + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142 + ] + ], + "7,14": [ + 32, + [ + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142 + ] + ], + "7,15": [ + 32, + [ + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142 + ] + ], + "7,16": [ + 16, + [ + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142 + ] + ], + "7,17": [ + 16, + [ + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142 + ] + ], + "15,12": [ + 48, + [ + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143 + ] + ], + "15,13": [ + 48, + [ + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143 + ] + ], + "15,14": [ + 32, + [ + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143 + ] + ], + "15,15": [ + 32, + [ + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143 + ] + ], + "15,16": [ + 16, + [ + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143 + ] + ], + "15,17": [ + 16, + [ + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143 + ] + ] + }, + "sides": { + "0": 0, + "2": 1, + "1": 0, + "3": 1, + "4": 0, + "6": 1, + "5": 0, + "7": 1, + "8": 0, + "10": 1, + "9": 0, + "11": 1, + "12": 0, + "13": 1, + "14": 0, + "15": 1, + "16": 0, + "17": 1 + }, + "pairs": { + "0": 1, + "2": 1, + "1": 1, + "3": 1, + "4": 2, + "6": 2, + "5": 2, + "7": 2, + "8": 3, + "10": 3, + "9": 3, + "11": 3, + "12": 0, + "13": 0, + "14": 1, + "15": 1, + "16": 2, + "17": 2 + }, + "solver_status": "exact pattern-flow LNS on the T16 actual-window geometry", + "gap": null, + "provider_calls": [ + { + "time": 0, + "stage": 0, + "replica": 0, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 1, + "stage": 0, + "replica": 8, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 2, + "stage": 0, + "replica": 1, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 3, + "stage": 0, + "replica": 9, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 4, + "stage": 1, + "replica": 0, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 5, + "stage": 1, + "replica": 8, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 6, + "stage": 0, + "replica": 2, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 7, + "stage": 0, + "replica": 10, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 8, + "stage": 1, + "replica": 1, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 9, + "stage": 1, + "replica": 9, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 10, + "stage": 2, + "replica": 0, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 11, + "stage": 2, + "replica": 8, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 12, + "stage": 0, + "replica": 3, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 13, + "stage": 0, + "replica": 11, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 14, + "stage": 1, + "replica": 2, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 15, + "stage": 1, + "replica": 10, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 16, + "stage": 2, + "replica": 1, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 17, + "stage": 2, + "replica": 9, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 18, + "stage": 3, + "replica": 0, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 19, + "stage": 3, + "replica": 8, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 20, + "stage": 0, + "replica": 4, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 21, + "stage": 0, + "replica": 12, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 22, + "stage": 1, + "replica": 3, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 23, + "stage": 1, + "replica": 11, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 24, + "stage": 2, + "replica": 2, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 25, + "stage": 2, + "replica": 10, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 26, + "stage": 3, + "replica": 1, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 27, + "stage": 3, + "replica": 9, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 28, + "stage": 4, + "replica": 0, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 29, + "stage": 4, + "replica": 8, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 30, + "stage": 0, + "replica": 5, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 31, + "stage": 0, + "replica": 13, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 32, + "stage": 1, + "replica": 4, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 33, + "stage": 1, + "replica": 12, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 34, + "stage": 2, + "replica": 3, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 35, + "stage": 2, + "replica": 11, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 36, + "stage": 3, + "replica": 2, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 37, + "stage": 3, + "replica": 10, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 38, + "stage": 4, + "replica": 1, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 39, + "stage": 4, + "replica": 9, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 40, + "stage": 5, + "replica": 0, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 41, + "stage": 5, + "replica": 8, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 42, + "stage": 0, + "replica": 6, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 43, + "stage": 0, + "replica": 14, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 44, + "stage": 1, + "replica": 5, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 45, + "stage": 1, + "replica": 13, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 46, + "stage": 2, + "replica": 4, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 47, + "stage": 2, + "replica": 12, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 48, + "stage": 3, + "replica": 3, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 49, + "stage": 3, + "replica": 11, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 50, + "stage": 4, + "replica": 2, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 51, + "stage": 4, + "replica": 10, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 52, + "stage": 5, + "replica": 1, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 53, + "stage": 5, + "replica": 9, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 54, + "stage": 0, + "replica": 7, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 55, + "stage": 0, + "replica": 15, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 56, + "stage": 6, + "replica": 0, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 57, + "stage": 6, + "replica": 8, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 58, + "stage": 1, + "replica": 6, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 59, + "stage": 1, + "replica": 14, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 60, + "stage": 2, + "replica": 5, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 61, + "stage": 2, + "replica": 13, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 62, + "stage": 3, + "replica": 4, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 63, + "stage": 3, + "replica": 12, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 64, + "stage": 4, + "replica": 3, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 65, + "stage": 4, + "replica": 11, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 66, + "stage": 5, + "replica": 2, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 67, + "stage": 5, + "replica": 10, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 68, + "stage": 6, + "replica": 1, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 69, + "stage": 6, + "replica": 9, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 70, + "stage": 1, + "replica": 7, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 71, + "stage": 1, + "replica": 15, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 72, + "stage": 7, + "replica": 0, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 73, + "stage": 7, + "replica": 8, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 74, + "stage": 2, + "replica": 6, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 75, + "stage": 2, + "replica": 14, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 76, + "stage": 3, + "replica": 5, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 77, + "stage": 3, + "replica": 13, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 78, + "stage": 4, + "replica": 4, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 79, + "stage": 4, + "replica": 12, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 80, + "stage": 5, + "replica": 3, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 81, + "stage": 5, + "replica": 11, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 82, + "stage": 6, + "replica": 2, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 83, + "stage": 6, + "replica": 10, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 84, + "stage": 7, + "replica": 1, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 85, + "stage": 7, + "replica": 9, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 86, + "stage": 2, + "replica": 7, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 87, + "stage": 2, + "replica": 15, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 88, + "stage": 8, + "replica": 0, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 89, + "stage": 8, + "replica": 8, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 90, + "stage": 3, + "replica": 6, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 91, + "stage": 3, + "replica": 14, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 92, + "stage": 4, + "replica": 5, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 93, + "stage": 4, + "replica": 13, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 94, + "stage": 5, + "replica": 4, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 95, + "stage": 5, + "replica": 12, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 96, + "stage": 6, + "replica": 3, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 97, + "stage": 6, + "replica": 11, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 98, + "stage": 7, + "replica": 2, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 99, + "stage": 7, + "replica": 10, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 100, + "stage": 8, + "replica": 1, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 101, + "stage": 8, + "replica": 9, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 102, + "stage": 3, + "replica": 7, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 103, + "stage": 3, + "replica": 15, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 104, + "stage": 4, + "replica": 6, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 105, + "stage": 4, + "replica": 14, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 106, + "stage": 5, + "replica": 5, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 107, + "stage": 5, + "replica": 13, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 108, + "stage": 6, + "replica": 4, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 109, + "stage": 6, + "replica": 12, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 110, + "stage": 7, + "replica": 3, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 111, + "stage": 7, + "replica": 11, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 112, + "stage": 8, + "replica": 2, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 113, + "stage": 8, + "replica": 10, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 114, + "stage": 4, + "replica": 7, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 115, + "stage": 4, + "replica": 15, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 116, + "stage": 5, + "replica": 6, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 117, + "stage": 5, + "replica": 14, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 118, + "stage": 6, + "replica": 5, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 119, + "stage": 6, + "replica": 13, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 120, + "stage": 7, + "replica": 4, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 121, + "stage": 7, + "replica": 12, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 122, + "stage": 8, + "replica": 3, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 123, + "stage": 8, + "replica": 11, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 124, + "stage": 5, + "replica": 7, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 125, + "stage": 5, + "replica": 15, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 126, + "stage": 6, + "replica": 6, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 127, + "stage": 6, + "replica": 14, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 128, + "stage": 7, + "replica": 5, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 129, + "stage": 7, + "replica": 13, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 130, + "stage": 8, + "replica": 4, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 131, + "stage": 8, + "replica": 12, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 132, + "stage": 6, + "replica": 7, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 133, + "stage": 6, + "replica": 15, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 134, + "stage": 7, + "replica": 6, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 135, + "stage": 7, + "replica": 14, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 136, + "stage": 8, + "replica": 5, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 137, + "stage": 8, + "replica": 13, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 138, + "stage": 7, + "replica": 7, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 139, + "stage": 7, + "replica": 15, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 140, + "stage": 8, + "replica": 6, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 141, + "stage": 8, + "replica": 14, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 142, + "stage": 8, + "replica": 7, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 143, + "stage": 8, + "replica": 15, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + } + ], + "per_call_widths": [ + { + "stage": 0, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 8, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 9, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 8, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 10, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 9, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 8, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 11, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 10, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 9, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 8, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 12, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 11, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 10, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 9, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 8, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 13, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 12, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 11, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 10, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 9, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 8, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 14, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 13, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 12, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 11, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 10, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 9, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 15, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 8, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 14, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 13, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 12, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 11, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 10, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 9, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 15, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 8, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 14, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 13, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 12, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 11, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 10, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 9, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 15, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 8, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 14, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 13, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 12, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 11, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 10, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 9, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 15, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 14, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 13, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 12, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 11, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 10, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 15, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 14, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 13, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 12, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 11, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 15, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 14, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 13, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 12, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 15, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 14, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 13, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 15, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 14, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 15, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + } + ], + "provider_registry": { + "gauge44": { + "directory": "providers/gauge44", + "artifact_sha256": { + "CANONICAL-WORD.json.gz": "16bc0ebb04b4be6c0ade74badc6a0c0cdba4215eda86e4ff9f13abf8ecebd219", + "LOCAL-PROGRAMS.json.gz": "241fde27d4e43f5a9cb6b128f9f76c5131a53d09f0371676163f914d0b0fef3a", + "LOCAL-CHECKS.json": "2b8b1891a736598010232bfb26abc31973b265a53a2009a3fcfd9138b5ecadb4", + "INDEPENDENT-LOCAL-REPLAY.json": "13dd18297162569532983db1a2ab67926b064330cd7edd3587e7b546b2dedf17", + "CLIFFORD-RECIPES.json": "d0768f2164d5f64a2fdbec422f1cfde4e400818792f1904ca541958377243731", + "CLIFFORD-REVIEW.json": "59e1f8d7215c79081f70b953f85fcbaac2a32a75b8b12448f667b17271405f9e", + "RESIDUAL-ADAPTERS.json": "383f40aadd00a4ac700dfd0d4c22d6c6c0be9a9863116e4d69c7acd23bafae0c" + }, + "ports": [ + 11, + 19, + 35, + 67, + 131, + 259, + 13, + 21, + 37, + 69, + 133, + 261, + 41, + 73, + 137, + 265, + 49, + 81, + 145, + 273, + 161, + 289, + 193, + 321, + 385, + 14, + 22, + 38, + 70, + 134, + 262, + 26, + 74, + 138, + 266, + 50, + 146, + 274, + 98, + 162, + 290, + 194, + 322, + 386, + 28, + 44, + 140, + 268, + 84, + 148, + 276, + 100, + 164, + 292, + 196, + 324, + 388, + 56, + 88, + 152, + 280, + 104, + 168, + 296, + 200, + 328, + 392, + 112, + 176, + 304, + 208, + 336, + 400, + 224, + 352, + 416, + 448, + 508, + 506, + 502, + 494, + 478, + 446, + 382, + 254, + 505, + 501, + 493, + 477, + 445, + 381, + 253, + 499, + 491, + 475, + 443, + 379, + 251, + 487, + 471, + 439, + 375, + 247, + 463, + 431, + 367, + 239, + 415, + 351, + 223, + 319, + 191 + ], + "centers": [ + 92, + 57, + 81, + 224, + 11, + 240, + 9, + 256 + ], + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ], + "actual_paid_profile": { + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "orientation_program_sha256": { + "forward": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8", + "backward": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + "artifact_semantic_sha256": { + "CANONICAL-WORD.json.gz": "4ddb29fb9bc6f27e0c0fbfcf19a2a93a3496ad900d0f6d89059d0305c9576c0c", + "LOCAL-PROGRAMS.json.gz": "9f41d53659e9be84e20c661560c5687abbf5cd0660cdecbe01ad5eb29e6b8ee3", + "LOCAL-CHECKS.json": "18f09b79835aa352f04d27041d86d1338c5ad0094b888588c1c05af2dc399ffd", + "INDEPENDENT-LOCAL-REPLAY.json": "2d4680965c62db1fde1236c4857b19bf7bc97af58805e6b4109afbc452f0fdd8", + "CLIFFORD-RECIPES.json": "d0768f2164d5f64a2fdbec422f1cfde4e400818792f1904ca541958377243731", + "CLIFFORD-REVIEW.json": "4960fd1215509b5347ef7f0092868f79aea0f8e24fb84352da9a1033e4394007", + "RESIDUAL-ADAPTERS.json": "c682e9ff1b347f89771c6800f46ad98c2bb92b91c5c88452d53a9e7f0180c35f" + } + } + }, + "source_plan_sha256": "1dec4ca3af6d45d82286005cae4c5e56e7253adefb117d797da55c55c891af08", + "assignment_sha256": "d7e11f5fe170fccffa087c4ee6c9b97ed16e1646ef7dfead21fae8b43b0f4cdf", + "source_owners_sha256": "32ca30cd1c652ef6ad43657273a08a157e1df3545e759ab36306a0d0b516fb4a", + "assignment_content_sha256": "7b3f18995b7fc00190f8c17bb404e5bac1871d242e85cc53513814213f2402ac", + "replica_lift": { + "groups": 2, + "source_replicas": 8, + "replicas": 16, + "parent_template_content_sha256": "8904bbbf46dfbf1c6df0e43479a23913fc59a410e879188112e88f16c850ede8", + "owners_file_sha256": "d7e11f5fe170fccffa087c4ee6c9b97ed16e1646ef7dfead21fae8b43b0f4cdf", + "window_semantics": "strict physical source-event touch intervals, including bridges", + "schedule_content_sha256": "ef9b70f30251e90ca15f54e7802cedf9b2d23bdc150e8f2bc18c916d0f2f2312" + } +} diff --git a/research/gauge44-slots-t16/data/PREPARATION.json b/research/gauge44-slots-t16/data/PREPARATION.json new file mode 100644 index 0000000000..8c7796820f --- /dev/null +++ b/research/gauge44-slots-t16/data/PREPARATION.json @@ -0,0 +1,45 @@ +{ + "status": "PASS_EXPLICIT_MAP_AND_FRESH_PROVIDER_NOMINATION", + "parent_plan_sha256": "258a8b9baa245fa4096828671e2f1d1462b5af08d56890629622ef6125eaddda", + "source_owners_sha256": "90ff7657a23dcfb67532b49c0800c5fc259b27c89005081e24bf184869e1bd57", + "global_profile": { + "1": 181093, + "2": 29164, + "3": 32429, + "4": 11520, + "5": 4032, + "7": 7, + "8": 582, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + }, + "idle_profile": { + "1": 85, + "2": 76, + "3": 173, + "7": 7, + "8": 6, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + }, + "roles": 35424, + "rank_mass": 520704, + "deficit": 2560, + "remaining": "Independent emitted-controller audit, fresh finite invoice, exact moments and outer assembly." +} diff --git a/research/gauge44-slots-t16/data/SPEC-T8.json b/research/gauge44-slots-t16/data/SPEC-T8.json new file mode 100644 index 0000000000..6ac06e4b75 --- /dev/null +++ b/research/gauge44-slots-t16/data/SPEC-T8.json @@ -0,0 +1,1327 @@ +{ + "schema": "witness-spec/1", + "name": "gauge44-all72", + "data": { + "plan_sha256": "1dec4ca3af6d45d82286005cae4c5e56e7253adefb117d797da55c55c891af08", + "owners_sha256": "32ca30cd1c652ef6ad43657273a08a157e1df3545e759ab36306a0d0b516fb4a" + }, + "dispatch": [ + [ + 0, + 0, + "gauge44" + ], + [ + 0, + 1, + "gauge44" + ], + [ + 0, + 2, + "gauge44" + ], + [ + 0, + 3, + "gauge44" + ], + [ + 0, + 4, + "gauge44" + ], + [ + 0, + 5, + "gauge44" + ], + [ + 0, + 6, + "gauge44" + ], + [ + 0, + 7, + "gauge44" + ], + [ + 1, + 0, + "gauge44" + ], + [ + 1, + 1, + "gauge44" + ], + [ + 1, + 2, + "gauge44" + ], + [ + 1, + 3, + "gauge44" + ], + [ + 1, + 4, + "gauge44" + ], + [ + 1, + 5, + "gauge44" + ], + [ + 1, + 6, + "gauge44" + ], + [ + 1, + 7, + "gauge44" + ], + [ + 2, + 0, + "gauge44" + ], + [ + 2, + 1, + "gauge44" + ], + [ + 2, + 2, + "gauge44" + ], + [ + 2, + 3, + "gauge44" + ], + [ + 2, + 4, + "gauge44" + ], + [ + 2, + 5, + "gauge44" + ], + [ + 2, + 6, + "gauge44" + ], + [ + 2, + 7, + "gauge44" + ], + [ + 3, + 0, + "gauge44" + ], + [ + 3, + 1, + "gauge44" + ], + [ + 3, + 2, + "gauge44" + ], + [ + 3, + 3, + "gauge44" + ], + [ + 3, + 4, + "gauge44" + ], + [ + 3, + 5, + "gauge44" + ], + [ + 3, + 6, + "gauge44" + ], + [ + 3, + 7, + "gauge44" + ], + [ + 4, + 0, + "gauge44" + ], + [ + 4, + 1, + "gauge44" + ], + [ + 4, + 2, + "gauge44" + ], + [ + 4, + 3, + "gauge44" + ], + [ + 4, + 4, + "gauge44" + ], + [ + 4, + 5, + "gauge44" + ], + [ + 4, + 6, + "gauge44" + ], + [ + 4, + 7, + "gauge44" + ], + [ + 5, + 0, + "gauge44" + ], + [ + 5, + 1, + "gauge44" + ], + [ + 5, + 2, + "gauge44" + ], + [ + 5, + 3, + "gauge44" + ], + [ + 5, + 4, + "gauge44" + ], + [ + 5, + 5, + "gauge44" + ], + [ + 5, + 6, + "gauge44" + ], + [ + 5, + 7, + "gauge44" + ], + [ + 6, + 0, + "gauge44" + ], + [ + 6, + 1, + "gauge44" + ], + [ + 6, + 2, + "gauge44" + ], + [ + 6, + 3, + "gauge44" + ], + [ + 6, + 4, + "gauge44" + ], + [ + 6, + 5, + "gauge44" + ], + [ + 6, + 6, + "gauge44" + ], + [ + 6, + 7, + "gauge44" + ], + [ + 7, + 0, + "gauge44" + ], + [ + 7, + 1, + "gauge44" + ], + [ + 7, + 2, + "gauge44" + ], + [ + 7, + 3, + "gauge44" + ], + [ + 7, + 4, + "gauge44" + ], + [ + 7, + 5, + "gauge44" + ], + [ + 7, + 6, + "gauge44" + ], + [ + 7, + 7, + "gauge44" + ], + [ + 8, + 0, + "gauge44" + ], + [ + 8, + 1, + "gauge44" + ], + [ + 8, + 2, + "gauge44" + ], + [ + 8, + 3, + "gauge44" + ], + [ + 8, + 4, + "gauge44" + ], + [ + 8, + 5, + "gauge44" + ], + [ + 8, + 6, + "gauge44" + ], + [ + 8, + 7, + "gauge44" + ] + ], + "call_order": [ + [ + 0, + 0 + ], + [ + 0, + 1 + ], + [ + 1, + 0 + ], + [ + 0, + 2 + ], + [ + 1, + 1 + ], + [ + 2, + 0 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 2, + 1 + ], + [ + 3, + 0 + ], + [ + 0, + 4 + ], + [ + 1, + 3 + ], + [ + 2, + 2 + ], + [ + 3, + 1 + ], + [ + 4, + 0 + ], + [ + 0, + 5 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 3, + 2 + ], + [ + 4, + 1 + ], + [ + 5, + 0 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 2, + 4 + ], + [ + 3, + 3 + ], + [ + 4, + 2 + ], + [ + 5, + 1 + ], + [ + 0, + 7 + ], + [ + 6, + 0 + ], + [ + 1, + 6 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 4, + 3 + ], + [ + 5, + 2 + ], + [ + 6, + 1 + ], + [ + 1, + 7 + ], + [ + 7, + 0 + ], + [ + 2, + 6 + ], + [ + 3, + 5 + ], + [ + 4, + 4 + ], + [ + 5, + 3 + ], + [ + 6, + 2 + ], + [ + 7, + 1 + ], + [ + 2, + 7 + ], + [ + 8, + 0 + ], + [ + 3, + 6 + ], + [ + 4, + 5 + ], + [ + 5, + 4 + ], + [ + 6, + 3 + ], + [ + 7, + 2 + ], + [ + 8, + 1 + ], + [ + 3, + 7 + ], + [ + 4, + 6 + ], + [ + 5, + 5 + ], + [ + 6, + 4 + ], + [ + 7, + 3 + ], + [ + 8, + 2 + ], + [ + 4, + 7 + ], + [ + 5, + 6 + ], + [ + 6, + 5 + ], + [ + 7, + 4 + ], + [ + 8, + 3 + ], + [ + 5, + 7 + ], + [ + 6, + 6 + ], + [ + 7, + 5 + ], + [ + 8, + 4 + ], + [ + 6, + 7 + ], + [ + 7, + 6 + ], + [ + 8, + 5 + ], + [ + 7, + 7 + ], + [ + 8, + 6 + ], + [ + 8, + 7 + ] + ], + "width_spot_helpers": [ + 258, + 270, + 282, + 294 + ], + "providers": { + "gauge44": { + "inventory": { + "4": 56, + "5": 32, + "7": 30, + "8": 122, + "9": 240 + }, + "native_negative_controls": 25, + "phase_edges": 2896, + "expected_profile": { + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "artifact_semantic_sha256": { + "CANONICAL-WORD.json.gz": "4ddb29fb9bc6f27e0c0fbfcf19a2a93a3496ad900d0f6d89059d0305c9576c0c", + "LOCAL-PROGRAMS.json.gz": "9f41d53659e9be84e20c661560c5687abbf5cd0660cdecbe01ad5eb29e6b8ee3", + "LOCAL-CHECKS.json": "18f09b79835aa352f04d27041d86d1338c5ad0094b888588c1c05af2dc399ffd", + "INDEPENDENT-LOCAL-REPLAY.json": "2d4680965c62db1fde1236c4857b19bf7bc97af58805e6b4109afbc452f0fdd8", + "CLIFFORD-RECIPES.json": "d0768f2164d5f64a2fdbec422f1cfde4e400818792f1904ca541958377243731", + "CLIFFORD-REVIEW.json": "4960fd1215509b5347ef7f0092868f79aea0f8e24fb84352da9a1033e4394007", + "RESIDUAL-ADAPTERS.json": "c682e9ff1b347f89771c6800f46ad98c2bb92b91c5c88452d53a9e7f0180c35f" + }, + "entering": 192, + "entrance": 384, + "width_digest": "ca0b972f2ee81a50449ce6489ddf9a94be914f84351136c2a9e3f81b37a0e387", + "program_hashes": { + "backward": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23", + "forward": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + "artifacts": { + "LOCAL-CHECKS.json": "2b8b1891a736598010232bfb26abc31973b265a53a2009a3fcfd9138b5ecadb4", + "CLIFFORD-RECIPES.json": "d0768f2164d5f64a2fdbec422f1cfde4e400818792f1904ca541958377243731", + "RESIDUAL-ADAPTERS.json": "383f40aadd00a4ac700dfd0d4c22d6c6c0be9a9863116e4d69c7acd23bafae0c" + }, + "complete_contract": { + "local": { + "backward": { + "events": 24767, + "macros": 19693, + "real_component_primitives": 198814, + "prefix_l1": "14824960514781440791821/64", + "prefix_bits": 68, + "coefficient_work_primitive_count": 98365, + "all_exact_columns": 704, + "dirty_helper_columns": 480, + "all_dirty_helper_columns_restored": true, + "private_centres_and_coefficient_work_cleared": true, + "pre_wrappers": 240, + "post_wrappers": 240, + "endpoint_evidence": "Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json" + }, + "forward": { + "events": 24767, + "macros": 19693, + "real_component_primitives": 198766, + "prefix_l1": "2765345294379392599/1024", + "prefix_bits": 52, + "coefficient_work_primitive_count": 98333, + "all_exact_columns": 704, + "dirty_helper_columns": 480, + "all_dirty_helper_columns_restored": true, + "private_centres_and_coefficient_work_cleared": true, + "pre_wrappers": 240, + "post_wrappers": 240, + "endpoint_evidence": "Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json" + } + }, + "helpers": 480, + "centres": 8, + "v": 112, + "h": 9, + "n": 704, + "entering_helpers": 192, + "entrance_rank": 384, + "terminal_codimension": 206, + "hyperplane_ended_helpers": 78, + "cold_hyperplane_ended_helpers": 48, + "width_inventory": { + "4": 56, + "5": 32, + "7": 30, + "8": 122, + "9": 240 + }, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ], + "local_adapters": 387056, + "local_primitive_bound": 10038040553630, + "compiler": 25934336, + "children": 3494, + "paid_profile": { + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "program_hashes": { + "backward": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23", + "forward": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + "semantic_artifact_sha256": { + "CANONICAL-WORD.json.gz": "4ddb29fb9bc6f27e0c0fbfcf19a2a93a3496ad900d0f6d89059d0305c9576c0c", + "LOCAL-PROGRAMS.json.gz": "9f41d53659e9be84e20c661560c5687abbf5cd0660cdecbe01ad5eb29e6b8ee3", + "LOCAL-CHECKS.json": "18f09b79835aa352f04d27041d86d1338c5ad0094b888588c1c05af2dc399ffd", + "INDEPENDENT-LOCAL-REPLAY.json": "2d4680965c62db1fde1236c4857b19bf7bc97af58805e6b4109afbc452f0fdd8", + "CLIFFORD-RECIPES.json": "d0768f2164d5f64a2fdbec422f1cfde4e400818792f1904ca541958377243731", + "CLIFFORD-REVIEW.json": "4960fd1215509b5347ef7f0092868f79aea0f8e24fb84352da9a1033e4394007", + "RESIDUAL-ADAPTERS.json": "c682e9ff1b347f89771c6800f46ad98c2bb92b91c5c88452d53a9e7f0180c35f" + } + }, + "semantic_phase_sha256": "4960fd1215509b5347ef7f0092868f79aea0f8e24fb84352da9a1033e4394007", + "expected_local": { + "forward": { + "events": 24767, + "macros": 19693, + "real_component_primitives": 198766, + "prefix_l1": "2765345294379392599/1024", + "coefficient_work_primitive_count": 98333 + }, + "backward": { + "events": 24767, + "macros": 19693, + "real_component_primitives": 198814, + "prefix_l1": "14824960514781440791821/64", + "coefficient_work_primitive_count": 98365 + } + }, + "wrappers": 240 + } + }, + "expected": { + "gain_baseline_kappa": "0.001636241501576388", + "hosted_residuals": 34560, + "rank_mass": 520704, + "actual_73column_sigmas": 8899, + "cross_replica_helper_roles": 27858, + "idle_remainders": 3783, + "idle_remainder_profile": { + "1": 1099, + "2": 9, + "3": 179, + "7": 54, + "16": 23, + "48": 2419 + }, + "global_profile": { + "1": 174763, + "2": 30105, + "3": 31283, + "4": 10224, + "5": 5904, + "7": 54, + "8": 576, + "16": 23, + "48": 2419 + }, + "live": 7168, + "physical": 7658, + "conservative_kappa_decimal": "0.001671665280368335", + "kappa_decimal": "0.00167166528321877", + "complex_lower": "837232213634911250061/500000000000000000000000", + "conservative_complex_lower": "104654026525614565773/62500000000000000000000", + "kappa": "167166528321877/100000000000000000", + "assembly_controls_rejected": 69, + "provider_counts": { + "gauge44": 72 + }, + "mutations_rejected": 15 + }, + "pivot_swap": { + "recipe": "construction/leaver/PIVOT-SWAP-k8.json", + "sha256": "3ef7acf0cf67442a532f25b53d5fbeda76d3a84524118df8e003ca69b5cac0bb" + } +} diff --git a/research/gauge44-slots-t16/data/SPEC.json b/research/gauge44-slots-t16/data/SPEC.json new file mode 100644 index 0000000000..9d14c3c215 --- /dev/null +++ b/research/gauge44-slots-t16/data/SPEC.json @@ -0,0 +1,1972 @@ +{ + "schema": "witness-spec/1", + "name": "gauge44-t16-two-bank", + "data": { + "plan_sha256": "fb98d70b738b42a401dfd99303726a1a08f779fb9b1e016c0584a974571a8637", + "owners_sha256": "d7e11f5fe170fccffa087c4ee6c9b97ed16e1646ef7dfead21fae8b43b0f4cdf" + }, + "dispatch": [ + [ + 0, + 0, + "gauge44" + ], + [ + 0, + 8, + "gauge44" + ], + [ + 0, + 1, + "gauge44" + ], + [ + 0, + 9, + "gauge44" + ], + [ + 1, + 0, + "gauge44" + ], + [ + 1, + 8, + "gauge44" + ], + [ + 0, + 2, + "gauge44" + ], + [ + 0, + 10, + "gauge44" + ], + [ + 1, + 1, + "gauge44" + ], + [ + 1, + 9, + "gauge44" + ], + [ + 2, + 0, + "gauge44" + ], + [ + 2, + 8, + "gauge44" + ], + [ + 0, + 3, + "gauge44" + ], + [ + 0, + 11, + "gauge44" + ], + [ + 1, + 2, + "gauge44" + ], + [ + 1, + 10, + "gauge44" + ], + [ + 2, + 1, + "gauge44" + ], + [ + 2, + 9, + "gauge44" + ], + [ + 3, + 0, + "gauge44" + ], + [ + 3, + 8, + "gauge44" + ], + [ + 0, + 4, + "gauge44" + ], + [ + 0, + 12, + "gauge44" + ], + [ + 1, + 3, + "gauge44" + ], + [ + 1, + 11, + "gauge44" + ], + [ + 2, + 2, + "gauge44" + ], + [ + 2, + 10, + "gauge44" + ], + [ + 3, + 1, + "gauge44" + ], + [ + 3, + 9, + "gauge44" + ], + [ + 4, + 0, + "gauge44" + ], + [ + 4, + 8, + "gauge44" + ], + [ + 0, + 5, + "gauge44" + ], + [ + 0, + 13, + "gauge44" + ], + [ + 1, + 4, + "gauge44" + ], + [ + 1, + 12, + "gauge44" + ], + [ + 2, + 3, + "gauge44" + ], + [ + 2, + 11, + "gauge44" + ], + [ + 3, + 2, + "gauge44" + ], + [ + 3, + 10, + "gauge44" + ], + [ + 4, + 1, + "gauge44" + ], + [ + 4, + 9, + "gauge44" + ], + [ + 5, + 0, + "gauge44" + ], + [ + 5, + 8, + "gauge44" + ], + [ + 0, + 6, + "gauge44" + ], + [ + 0, + 14, + "gauge44" + ], + [ + 1, + 5, + "gauge44" + ], + [ + 1, + 13, + "gauge44" + ], + [ + 2, + 4, + "gauge44" + ], + [ + 2, + 12, + "gauge44" + ], + [ + 3, + 3, + "gauge44" + ], + [ + 3, + 11, + "gauge44" + ], + [ + 4, + 2, + "gauge44" + ], + [ + 4, + 10, + "gauge44" + ], + [ + 5, + 1, + "gauge44" + ], + [ + 5, + 9, + "gauge44" + ], + [ + 0, + 7, + "gauge44" + ], + [ + 0, + 15, + "gauge44" + ], + [ + 6, + 0, + "gauge44" + ], + [ + 6, + 8, + "gauge44" + ], + [ + 1, + 6, + "gauge44" + ], + [ + 1, + 14, + "gauge44" + ], + [ + 2, + 5, + "gauge44" + ], + [ + 2, + 13, + "gauge44" + ], + [ + 3, + 4, + "gauge44" + ], + [ + 3, + 12, + "gauge44" + ], + [ + 4, + 3, + "gauge44" + ], + [ + 4, + 11, + "gauge44" + ], + [ + 5, + 2, + "gauge44" + ], + [ + 5, + 10, + "gauge44" + ], + [ + 6, + 1, + "gauge44" + ], + [ + 6, + 9, + "gauge44" + ], + [ + 1, + 7, + "gauge44" + ], + [ + 1, + 15, + "gauge44" + ], + [ + 7, + 0, + "gauge44" + ], + [ + 7, + 8, + "gauge44" + ], + [ + 2, + 6, + "gauge44" + ], + [ + 2, + 14, + "gauge44" + ], + [ + 3, + 5, + "gauge44" + ], + [ + 3, + 13, + "gauge44" + ], + [ + 4, + 4, + "gauge44" + ], + [ + 4, + 12, + "gauge44" + ], + [ + 5, + 3, + "gauge44" + ], + [ + 5, + 11, + "gauge44" + ], + [ + 6, + 2, + "gauge44" + ], + [ + 6, + 10, + "gauge44" + ], + [ + 7, + 1, + "gauge44" + ], + [ + 7, + 9, + "gauge44" + ], + [ + 2, + 7, + "gauge44" + ], + [ + 2, + 15, + "gauge44" + ], + [ + 8, + 0, + "gauge44" + ], + [ + 8, + 8, + "gauge44" + ], + [ + 3, + 6, + "gauge44" + ], + [ + 3, + 14, + "gauge44" + ], + [ + 4, + 5, + "gauge44" + ], + [ + 4, + 13, + "gauge44" + ], + [ + 5, + 4, + "gauge44" + ], + [ + 5, + 12, + "gauge44" + ], + [ + 6, + 3, + "gauge44" + ], + [ + 6, + 11, + "gauge44" + ], + [ + 7, + 2, + "gauge44" + ], + [ + 7, + 10, + "gauge44" + ], + [ + 8, + 1, + "gauge44" + ], + [ + 8, + 9, + "gauge44" + ], + [ + 3, + 7, + "gauge44" + ], + [ + 3, + 15, + "gauge44" + ], + [ + 4, + 6, + "gauge44" + ], + [ + 4, + 14, + "gauge44" + ], + [ + 5, + 5, + "gauge44" + ], + [ + 5, + 13, + "gauge44" + ], + [ + 6, + 4, + "gauge44" + ], + [ + 6, + 12, + "gauge44" + ], + [ + 7, + 3, + "gauge44" + ], + [ + 7, + 11, + "gauge44" + ], + [ + 8, + 2, + "gauge44" + ], + [ + 8, + 10, + "gauge44" + ], + [ + 4, + 7, + "gauge44" + ], + [ + 4, + 15, + "gauge44" + ], + [ + 5, + 6, + "gauge44" + ], + [ + 5, + 14, + "gauge44" + ], + [ + 6, + 5, + "gauge44" + ], + [ + 6, + 13, + "gauge44" + ], + [ + 7, + 4, + "gauge44" + ], + [ + 7, + 12, + "gauge44" + ], + [ + 8, + 3, + "gauge44" + ], + [ + 8, + 11, + "gauge44" + ], + [ + 5, + 7, + "gauge44" + ], + [ + 5, + 15, + "gauge44" + ], + [ + 6, + 6, + "gauge44" + ], + [ + 6, + 14, + "gauge44" + ], + [ + 7, + 5, + "gauge44" + ], + [ + 7, + 13, + "gauge44" + ], + [ + 8, + 4, + "gauge44" + ], + [ + 8, + 12, + "gauge44" + ], + [ + 6, + 7, + "gauge44" + ], + [ + 6, + 15, + "gauge44" + ], + [ + 7, + 6, + "gauge44" + ], + [ + 7, + 14, + "gauge44" + ], + [ + 8, + 5, + "gauge44" + ], + [ + 8, + 13, + "gauge44" + ], + [ + 7, + 7, + "gauge44" + ], + [ + 7, + 15, + "gauge44" + ], + [ + 8, + 6, + "gauge44" + ], + [ + 8, + 14, + "gauge44" + ], + [ + 8, + 7, + "gauge44" + ], + [ + 8, + 15, + "gauge44" + ] + ], + "call_order": [ + [ + 0, + 0 + ], + [ + 0, + 8 + ], + [ + 0, + 1 + ], + [ + 0, + 9 + ], + [ + 1, + 0 + ], + [ + 1, + 8 + ], + [ + 0, + 2 + ], + [ + 0, + 10 + ], + [ + 1, + 1 + ], + [ + 1, + 9 + ], + [ + 2, + 0 + ], + [ + 2, + 8 + ], + [ + 0, + 3 + ], + [ + 0, + 11 + ], + [ + 1, + 2 + ], + [ + 1, + 10 + ], + [ + 2, + 1 + ], + [ + 2, + 9 + ], + [ + 3, + 0 + ], + [ + 3, + 8 + ], + [ + 0, + 4 + ], + [ + 0, + 12 + ], + [ + 1, + 3 + ], + [ + 1, + 11 + ], + [ + 2, + 2 + ], + [ + 2, + 10 + ], + [ + 3, + 1 + ], + [ + 3, + 9 + ], + [ + 4, + 0 + ], + [ + 4, + 8 + ], + [ + 0, + 5 + ], + [ + 0, + 13 + ], + [ + 1, + 4 + ], + [ + 1, + 12 + ], + [ + 2, + 3 + ], + [ + 2, + 11 + ], + [ + 3, + 2 + ], + [ + 3, + 10 + ], + [ + 4, + 1 + ], + [ + 4, + 9 + ], + [ + 5, + 0 + ], + [ + 5, + 8 + ], + [ + 0, + 6 + ], + [ + 0, + 14 + ], + [ + 1, + 5 + ], + [ + 1, + 13 + ], + [ + 2, + 4 + ], + [ + 2, + 12 + ], + [ + 3, + 3 + ], + [ + 3, + 11 + ], + [ + 4, + 2 + ], + [ + 4, + 10 + ], + [ + 5, + 1 + ], + [ + 5, + 9 + ], + [ + 0, + 7 + ], + [ + 0, + 15 + ], + [ + 6, + 0 + ], + [ + 6, + 8 + ], + [ + 1, + 6 + ], + [ + 1, + 14 + ], + [ + 2, + 5 + ], + [ + 2, + 13 + ], + [ + 3, + 4 + ], + [ + 3, + 12 + ], + [ + 4, + 3 + ], + [ + 4, + 11 + ], + [ + 5, + 2 + ], + [ + 5, + 10 + ], + [ + 6, + 1 + ], + [ + 6, + 9 + ], + [ + 1, + 7 + ], + [ + 1, + 15 + ], + [ + 7, + 0 + ], + [ + 7, + 8 + ], + [ + 2, + 6 + ], + [ + 2, + 14 + ], + [ + 3, + 5 + ], + [ + 3, + 13 + ], + [ + 4, + 4 + ], + [ + 4, + 12 + ], + [ + 5, + 3 + ], + [ + 5, + 11 + ], + [ + 6, + 2 + ], + [ + 6, + 10 + ], + [ + 7, + 1 + ], + [ + 7, + 9 + ], + [ + 2, + 7 + ], + [ + 2, + 15 + ], + [ + 8, + 0 + ], + [ + 8, + 8 + ], + [ + 3, + 6 + ], + [ + 3, + 14 + ], + [ + 4, + 5 + ], + [ + 4, + 13 + ], + [ + 5, + 4 + ], + [ + 5, + 12 + ], + [ + 6, + 3 + ], + [ + 6, + 11 + ], + [ + 7, + 2 + ], + [ + 7, + 10 + ], + [ + 8, + 1 + ], + [ + 8, + 9 + ], + [ + 3, + 7 + ], + [ + 3, + 15 + ], + [ + 4, + 6 + ], + [ + 4, + 14 + ], + [ + 5, + 5 + ], + [ + 5, + 13 + ], + [ + 6, + 4 + ], + [ + 6, + 12 + ], + [ + 7, + 3 + ], + [ + 7, + 11 + ], + [ + 8, + 2 + ], + [ + 8, + 10 + ], + [ + 4, + 7 + ], + [ + 4, + 15 + ], + [ + 5, + 6 + ], + [ + 5, + 14 + ], + [ + 6, + 5 + ], + [ + 6, + 13 + ], + [ + 7, + 4 + ], + [ + 7, + 12 + ], + [ + 8, + 3 + ], + [ + 8, + 11 + ], + [ + 5, + 7 + ], + [ + 5, + 15 + ], + [ + 6, + 6 + ], + [ + 6, + 14 + ], + [ + 7, + 5 + ], + [ + 7, + 13 + ], + [ + 8, + 4 + ], + [ + 8, + 12 + ], + [ + 6, + 7 + ], + [ + 6, + 15 + ], + [ + 7, + 6 + ], + [ + 7, + 14 + ], + [ + 8, + 5 + ], + [ + 8, + 13 + ], + [ + 7, + 7 + ], + [ + 7, + 15 + ], + [ + 8, + 6 + ], + [ + 8, + 14 + ], + [ + 8, + 7 + ], + [ + 8, + 15 + ] + ], + "width_spot_helpers": [ + 258, + 270, + 282, + 294 + ], + "providers": { + "gauge44": { + "inventory": { + "4": 56, + "5": 32, + "7": 30, + "8": 122, + "9": 240 + }, + "native_negative_controls": 25, + "phase_edges": 2896, + "expected_profile": { + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "artifact_semantic_sha256": { + "CANONICAL-WORD.json.gz": "4ddb29fb9bc6f27e0c0fbfcf19a2a93a3496ad900d0f6d89059d0305c9576c0c", + "LOCAL-PROGRAMS.json.gz": "9f41d53659e9be84e20c661560c5687abbf5cd0660cdecbe01ad5eb29e6b8ee3", + "LOCAL-CHECKS.json": "18f09b79835aa352f04d27041d86d1338c5ad0094b888588c1c05af2dc399ffd", + "INDEPENDENT-LOCAL-REPLAY.json": "2d4680965c62db1fde1236c4857b19bf7bc97af58805e6b4109afbc452f0fdd8", + "CLIFFORD-RECIPES.json": "d0768f2164d5f64a2fdbec422f1cfde4e400818792f1904ca541958377243731", + "CLIFFORD-REVIEW.json": "4960fd1215509b5347ef7f0092868f79aea0f8e24fb84352da9a1033e4394007", + "RESIDUAL-ADAPTERS.json": "c682e9ff1b347f89771c6800f46ad98c2bb92b91c5c88452d53a9e7f0180c35f" + }, + "entering": 192, + "entrance": 384, + "width_digest": "ca0b972f2ee81a50449ce6489ddf9a94be914f84351136c2a9e3f81b37a0e387", + "program_hashes": { + "backward": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23", + "forward": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + "artifacts": { + "LOCAL-CHECKS.json": "2b8b1891a736598010232bfb26abc31973b265a53a2009a3fcfd9138b5ecadb4", + "CLIFFORD-RECIPES.json": "d0768f2164d5f64a2fdbec422f1cfde4e400818792f1904ca541958377243731", + "RESIDUAL-ADAPTERS.json": "383f40aadd00a4ac700dfd0d4c22d6c6c0be9a9863116e4d69c7acd23bafae0c" + }, + "complete_contract": { + "local": { + "backward": { + "events": 24767, + "macros": 19693, + "real_component_primitives": 198814, + "prefix_l1": "14824960514781440791821/64", + "prefix_bits": 68, + "coefficient_work_primitive_count": 98365, + "all_exact_columns": 704, + "dirty_helper_columns": 480, + "all_dirty_helper_columns_restored": true, + "private_centres_and_coefficient_work_cleared": true, + "pre_wrappers": 240, + "post_wrappers": 240, + "endpoint_evidence": "Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json" + }, + "forward": { + "events": 24767, + "macros": 19693, + "real_component_primitives": 198766, + "prefix_l1": "2765345294379392599/1024", + "prefix_bits": 52, + "coefficient_work_primitive_count": 98333, + "all_exact_columns": 704, + "dirty_helper_columns": 480, + "all_dirty_helper_columns_restored": true, + "private_centres_and_coefficient_work_cleared": true, + "pre_wrappers": 240, + "post_wrappers": 240, + "endpoint_evidence": "Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json" + } + }, + "helpers": 480, + "centres": 8, + "v": 112, + "h": 9, + "n": 704, + "entering_helpers": 192, + "entrance_rank": 384, + "terminal_codimension": 206, + "hyperplane_ended_helpers": 78, + "cold_hyperplane_ended_helpers": 48, + "width_inventory": { + "4": 56, + "5": 32, + "7": 30, + "8": 122, + "9": 240 + }, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ], + "local_adapters": 387056, + "local_primitive_bound": 10038040553630, + "compiler": 25934336, + "children": 3494, + "paid_profile": { + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "program_hashes": { + "backward": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23", + "forward": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + "semantic_artifact_sha256": { + "CANONICAL-WORD.json.gz": "4ddb29fb9bc6f27e0c0fbfcf19a2a93a3496ad900d0f6d89059d0305c9576c0c", + "LOCAL-PROGRAMS.json.gz": "9f41d53659e9be84e20c661560c5687abbf5cd0660cdecbe01ad5eb29e6b8ee3", + "LOCAL-CHECKS.json": "18f09b79835aa352f04d27041d86d1338c5ad0094b888588c1c05af2dc399ffd", + "INDEPENDENT-LOCAL-REPLAY.json": "2d4680965c62db1fde1236c4857b19bf7bc97af58805e6b4109afbc452f0fdd8", + "CLIFFORD-RECIPES.json": "d0768f2164d5f64a2fdbec422f1cfde4e400818792f1904ca541958377243731", + "CLIFFORD-REVIEW.json": "4960fd1215509b5347ef7f0092868f79aea0f8e24fb84352da9a1033e4394007", + "RESIDUAL-ADAPTERS.json": "c682e9ff1b347f89771c6800f46ad98c2bb92b91c5c88452d53a9e7f0180c35f" + } + }, + "semantic_phase_sha256": "4960fd1215509b5347ef7f0092868f79aea0f8e24fb84352da9a1033e4394007", + "expected_local": { + "forward": { + "events": 24767, + "macros": 19693, + "real_component_primitives": 198766, + "prefix_l1": "2765345294379392599/1024", + "coefficient_work_primitive_count": 98333 + }, + "backward": { + "events": 24767, + "macros": 19693, + "real_component_primitives": 198814, + "prefix_l1": "14824960514781440791821/64", + "coefficient_work_primitive_count": 98365 + } + }, + "wrappers": 240 + } + }, + "expected": { + "gain_baseline_kappa": "0.001636241501576388", + "hosted_residuals": 69120, + "rank_mass": 1041408, + "actual_73column_sigmas": 9997, + "cross_replica_helper_roles": 57468, + "idle_remainders": 7530, + "idle_remainder_profile": { + "1": 2280, + "3": 378, + "7": 6, + "48": 4866 + }, + "global_profile": { + "1": 349608, + "2": 60192, + "3": 62586, + "4": 20448, + "5": 11808, + "7": 6, + "8": 1152, + "48": 4866 + }, + "live": 14336, + "physical": 14826, + "conservative_kappa_decimal": "0.001672654539046638", + "kappa_decimal": "0.001672654541898561", + "complex_lower": "837728501331911376831/500000000000000000000000", + "conservative_complex_lower": "335091399960466991961/200000000000000000000000", + "kappa": "1672654541898561/1000000000000000000", + "assembly_controls_rejected": 69, + "provider_counts": { + "gauge44": 144 + }, + "mutations_rejected": 15 + }, + "pivot_swap": { + "recipe": "construction/leaver/PIVOT-SWAP-k8.json", + "sha256": "3ef7acf0cf67442a532f25b53d5fbeda76d3a84524118df8e003ca69b5cac0bb" + } +} diff --git a/research/gauge44-slots-t16/data/T8/OWNERS.json.gz b/research/gauge44-slots-t16/data/T8/OWNERS.json.gz new file mode 100644 index 0000000000..8eda84ea0c Binary files /dev/null and b/research/gauge44-slots-t16/data/T8/OWNERS.json.gz differ diff --git a/research/gauge44-slots-t16/data/T8/PLAN.json b/research/gauge44-slots-t16/data/T8/PLAN.json new file mode 100644 index 0000000000..0465492a1f --- /dev/null +++ b/research/gauge44-slots-t16/data/T8/PLAN.json @@ -0,0 +1,40249 @@ +{ + "status": "FROZEN_EXPLICIT_GAUGE44_WHOLE_OWNER_NOMINATION", + "mode": "gauge44-all72", + "K": 4, + "T": 8, + "M": 73, + "L": 9, + "live": 7168, + "deficit": 2560, + "profile": { + "1": 174763, + "2": 30105, + "3": 31283, + "4": 10224, + "5": 5904, + "7": 54, + "8": 576, + "16": 23, + "48": 2419 + }, + "order": [ + [ + 0, + 0 + ], + [ + 0, + 1 + ], + [ + 1, + 0 + ], + [ + 0, + 2 + ], + [ + 1, + 1 + ], + [ + 2, + 0 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 2, + 1 + ], + [ + 3, + 0 + ], + [ + 0, + 4 + ], + [ + 1, + 3 + ], + [ + 2, + 2 + ], + [ + 3, + 1 + ], + [ + 4, + 0 + ], + [ + 0, + 5 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 3, + 2 + ], + [ + 4, + 1 + ], + [ + 5, + 0 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 2, + 4 + ], + [ + 3, + 3 + ], + [ + 4, + 2 + ], + [ + 5, + 1 + ], + [ + 0, + 7 + ], + [ + 6, + 0 + ], + [ + 1, + 6 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 4, + 3 + ], + [ + 5, + 2 + ], + [ + 6, + 1 + ], + [ + 1, + 7 + ], + [ + 7, + 0 + ], + [ + 2, + 6 + ], + [ + 3, + 5 + ], + [ + 4, + 4 + ], + [ + 5, + 3 + ], + [ + 6, + 2 + ], + [ + 7, + 1 + ], + [ + 2, + 7 + ], + [ + 8, + 0 + ], + [ + 3, + 6 + ], + [ + 4, + 5 + ], + [ + 5, + 4 + ], + [ + 6, + 3 + ], + [ + 7, + 2 + ], + [ + 8, + 1 + ], + [ + 3, + 7 + ], + [ + 4, + 6 + ], + [ + 5, + 5 + ], + [ + 6, + 4 + ], + [ + 7, + 3 + ], + [ + 8, + 2 + ], + [ + 4, + 7 + ], + [ + 5, + 6 + ], + [ + 6, + 5 + ], + [ + 7, + 4 + ], + [ + 8, + 3 + ], + [ + 5, + 7 + ], + [ + 6, + 6 + ], + [ + 7, + 5 + ], + [ + 8, + 4 + ], + [ + 6, + 7 + ], + [ + 7, + 6 + ], + [ + 8, + 5 + ], + [ + 7, + 7 + ], + [ + 8, + 6 + ], + [ + 8, + 7 + ] + ], + "windows": { + "0,0": [ + 16, + [ + 0, + 1, + 2 + ] + ], + "0,2": [ + 16, + [ + 0, + 1, + 2 + ] + ], + "0,1": [ + 8, + [ + 3, + 4, + 5 + ] + ], + "0,3": [ + 8, + [ + 3, + 4, + 5 + ] + ], + "0,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ] + ], + "0,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ] + ], + "0,5": [ + 8, + [ + 10, + 11, + 12, + 13, + 14 + ] + ], + "0,7": [ + 8, + [ + 10, + 11, + 12, + 13, + 14 + ] + ], + "0,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20 + ] + ], + "0,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20 + ] + ], + "0,9": [ + 8, + [ + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ] + ], + "0,11": [ + 8, + [ + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ] + ], + "0,12": [ + 48, + [ + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44 + ] + ], + "0,13": [ + 48, + [ + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44 + ] + ], + "0,14": [ + 32, + [ + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44 + ] + ], + "0,15": [ + 32, + [ + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44 + ] + ], + "0,16": [ + 16, + [ + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44 + ] + ], + "0,17": [ + 16, + [ + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44 + ] + ], + "1,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4 + ] + ], + "1,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4 + ] + ], + "1,1": [ + 8, + [ + 5, + 6, + 7, + 8 + ] + ], + "1,3": [ + 8, + [ + 5, + 6, + 7, + 8 + ] + ], + "1,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13 + ] + ], + "1,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13 + ] + ], + "1,5": [ + 8, + [ + 14, + 15, + 16, + 17, + 18, + 19 + ] + ], + "1,7": [ + 8, + [ + 14, + 15, + 16, + 17, + 18, + 19 + ] + ], + "1,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26 + ] + ], + "1,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26 + ] + ], + "1,9": [ + 8, + [ + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34 + ] + ], + "1,11": [ + 8, + [ + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34 + ] + ], + "1,12": [ + 48, + [ + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50 + ] + ], + "1,13": [ + 48, + [ + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50 + ] + ], + "1,14": [ + 32, + [ + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50 + ] + ], + "1,15": [ + 32, + [ + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50 + ] + ], + "1,16": [ + 16, + [ + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50 + ] + ], + "1,17": [ + 16, + [ + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50 + ] + ], + "2,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ] + ], + "2,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ] + ], + "2,1": [ + 8, + [ + 8, + 9, + 10, + 11, + 12 + ] + ], + "2,3": [ + 8, + [ + 8, + 9, + 10, + 11, + 12 + ] + ], + "2,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18 + ] + ], + "2,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18 + ] + ], + "2,5": [ + 8, + [ + 19, + 20, + 21, + 22, + 23, + 24, + 25 + ] + ], + "2,7": [ + 8, + [ + 19, + 20, + 21, + 22, + 23, + 24, + 25 + ] + ], + "2,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33 + ] + ], + "2,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33 + ] + ], + "2,9": [ + 8, + [ + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41 + ] + ], + "2,11": [ + 8, + [ + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41 + ] + ], + "2,12": [ + 48, + [ + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ] + ], + "2,13": [ + 48, + [ + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ] + ], + "2,14": [ + 32, + [ + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ] + ], + "2,15": [ + 32, + [ + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ] + ], + "2,16": [ + 16, + [ + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ] + ], + "2,17": [ + 16, + [ + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ] + ], + "3,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ] + ], + "3,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ] + ], + "3,1": [ + 8, + [ + 12, + 13, + 14, + 15, + 16, + 17 + ] + ], + "3,3": [ + 8, + [ + 12, + 13, + 14, + 15, + 16, + 17 + ] + ], + "3,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24 + ] + ], + "3,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24 + ] + ], + "3,5": [ + 8, + [ + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32 + ] + ], + "3,7": [ + 8, + [ + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32 + ] + ], + "3,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40 + ] + ], + "3,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40 + ] + ], + "3,9": [ + 8, + [ + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48 + ] + ], + "3,11": [ + 8, + [ + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48 + ] + ], + "3,12": [ + 48, + [ + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61 + ] + ], + "3,13": [ + 48, + [ + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61 + ] + ], + "3,14": [ + 32, + [ + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61 + ] + ], + "3,15": [ + 32, + [ + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61 + ] + ], + "3,16": [ + 16, + [ + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61 + ] + ], + "3,17": [ + 16, + [ + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61 + ] + ], + "4,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16 + ] + ], + "4,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16 + ] + ], + "4,1": [ + 8, + [ + 17, + 18, + 19, + 20, + 21, + 22, + 23 + ] + ], + "4,3": [ + 8, + [ + 17, + 18, + 19, + 20, + 21, + 22, + 23 + ] + ], + "4,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31 + ] + ], + "4,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31 + ] + ], + "4,5": [ + 8, + [ + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39 + ] + ], + "4,7": [ + 8, + [ + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39 + ] + ], + "4,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47 + ] + ], + "4,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47 + ] + ], + "4,9": [ + 8, + [ + 48, + 49, + 50, + 51, + 52, + 53, + 54 + ] + ], + "4,11": [ + 8, + [ + 48, + 49, + 50, + 51, + 52, + 53, + 54 + ] + ], + "4,12": [ + 48, + [ + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65 + ] + ], + "4,13": [ + 48, + [ + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65 + ] + ], + "4,14": [ + 32, + [ + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65 + ] + ], + "4,15": [ + 32, + [ + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65 + ] + ], + "4,16": [ + 16, + [ + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65 + ] + ], + "4,17": [ + 16, + [ + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65 + ] + ], + "5,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22 + ] + ], + "5,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22 + ] + ], + "5,1": [ + 8, + [ + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30 + ] + ], + "5,3": [ + 8, + [ + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30 + ] + ], + "5,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38 + ] + ], + "5,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38 + ] + ], + "5,5": [ + 8, + [ + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46 + ] + ], + "5,7": [ + 8, + [ + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46 + ] + ], + "5,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53 + ] + ], + "5,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53 + ] + ], + "5,9": [ + 8, + [ + 54, + 55, + 56, + 57, + 58, + 59 + ] + ], + "5,11": [ + 8, + [ + 54, + 55, + 56, + 57, + 58, + 59 + ] + ], + "5,12": [ + 48, + [ + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68 + ] + ], + "5,13": [ + 48, + [ + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68 + ] + ], + "5,14": [ + 32, + [ + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68 + ] + ], + "5,15": [ + 32, + [ + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68 + ] + ], + "5,16": [ + 16, + [ + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68 + ] + ], + "5,17": [ + 16, + [ + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68 + ] + ], + "6,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29 + ] + ], + "6,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29 + ] + ], + "6,1": [ + 8, + [ + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37 + ] + ], + "6,3": [ + 8, + [ + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37 + ] + ], + "6,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45 + ] + ], + "6,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45 + ] + ], + "6,5": [ + 8, + [ + 46, + 47, + 48, + 49, + 50, + 51, + 52 + ] + ], + "6,7": [ + 8, + [ + 46, + 47, + 48, + 49, + 50, + 51, + 52 + ] + ], + "6,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58 + ] + ], + "6,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58 + ] + ], + "6,9": [ + 8, + [ + 59, + 60, + 61, + 62, + 63 + ] + ], + "6,11": [ + 8, + [ + 59, + 60, + 61, + 62, + 63 + ] + ], + "6,12": [ + 48, + [ + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70 + ] + ], + "6,13": [ + 48, + [ + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70 + ] + ], + "6,14": [ + 32, + [ + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70 + ] + ], + "6,15": [ + 32, + [ + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70 + ] + ], + "6,16": [ + 16, + [ + 64, + 65, + 66, + 67, + 68, + 69, + 70 + ] + ], + "6,17": [ + 16, + [ + 64, + 65, + 66, + 67, + 68, + 69, + 70 + ] + ], + "7,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ] + ], + "7,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ] + ], + "7,1": [ + 8, + [ + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43 + ] + ], + "7,3": [ + 8, + [ + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43 + ] + ], + "7,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51 + ] + ], + "7,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51 + ] + ], + "7,5": [ + 8, + [ + 52, + 53, + 54, + 55, + 56, + 57 + ] + ], + "7,7": [ + 8, + [ + 52, + 53, + 54, + 55, + 56, + 57 + ] + ], + "7,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62 + ] + ], + "7,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62 + ] + ], + "7,9": [ + 8, + [ + 63, + 64, + 65, + 66 + ] + ], + "7,11": [ + 8, + [ + 63, + 64, + 65, + 66 + ] + ], + "7,12": [ + 48, + [ + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71 + ] + ], + "7,13": [ + 48, + [ + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71 + ] + ], + "7,14": [ + 32, + [ + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71 + ] + ], + "7,15": [ + 32, + [ + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71 + ] + ], + "7,16": [ + 16, + [ + 67, + 68, + 69, + 70, + 71 + ] + ], + "7,17": [ + 16, + [ + 67, + 68, + 69, + 70, + 71 + ] + ] + }, + "sides": { + "0": 0, + "2": 1, + "1": 0, + "3": 1, + "4": 0, + "6": 1, + "5": 0, + "7": 1, + "8": 0, + "10": 1, + "9": 0, + "11": 1, + "12": 0, + "13": 1, + "14": 0, + "15": 1, + "16": 0, + "17": 1 + }, + "pairs": { + "0": 1, + "2": 1, + "1": 1, + "3": 1, + "4": 2, + "6": 2, + "5": 2, + "7": 2, + "8": 3, + "10": 3, + "9": 3, + "11": 3, + "12": 0, + "13": 0, + "14": 1, + "15": 1, + "16": 2, + "17": 2 + }, + "solver_status": "g44pack_early_lns_of_deterministic-capacity-matching", + "gap": null, + "provider_calls": [ + { + "time": 0, + "stage": 0, + "replica": 0, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 1, + "stage": 0, + "replica": 1, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 2, + "stage": 1, + "replica": 0, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 3, + "stage": 0, + "replica": 2, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 4, + "stage": 1, + "replica": 1, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 5, + "stage": 2, + "replica": 0, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 6, + "stage": 0, + "replica": 3, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 7, + "stage": 1, + "replica": 2, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 8, + "stage": 2, + "replica": 1, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 9, + "stage": 3, + "replica": 0, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 10, + "stage": 0, + "replica": 4, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 11, + "stage": 1, + "replica": 3, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 12, + "stage": 2, + "replica": 2, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 13, + "stage": 3, + "replica": 1, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 14, + "stage": 4, + "replica": 0, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 15, + "stage": 0, + "replica": 5, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 16, + "stage": 1, + "replica": 4, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 17, + "stage": 2, + "replica": 3, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 18, + "stage": 3, + "replica": 2, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 19, + "stage": 4, + "replica": 1, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 20, + "stage": 5, + "replica": 0, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 21, + "stage": 0, + "replica": 6, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 22, + "stage": 1, + "replica": 5, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 23, + "stage": 2, + "replica": 4, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 24, + "stage": 3, + "replica": 3, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 25, + "stage": 4, + "replica": 2, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 26, + "stage": 5, + "replica": 1, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 27, + "stage": 0, + "replica": 7, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 28, + "stage": 6, + "replica": 0, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 29, + "stage": 1, + "replica": 6, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 30, + "stage": 2, + "replica": 5, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 31, + "stage": 3, + "replica": 4, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 32, + "stage": 4, + "replica": 3, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 33, + "stage": 5, + "replica": 2, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 34, + "stage": 6, + "replica": 1, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 35, + "stage": 1, + "replica": 7, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 36, + "stage": 7, + "replica": 0, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 37, + "stage": 2, + "replica": 6, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 38, + "stage": 3, + "replica": 5, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 39, + "stage": 4, + "replica": 4, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 40, + "stage": 5, + "replica": 3, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 41, + "stage": 6, + "replica": 2, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 42, + "stage": 7, + "replica": 1, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 43, + "stage": 2, + "replica": 7, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 44, + "stage": 8, + "replica": 0, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 45, + "stage": 3, + "replica": 6, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 46, + "stage": 4, + "replica": 5, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 47, + "stage": 5, + "replica": 4, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 48, + "stage": 6, + "replica": 3, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 49, + "stage": 7, + "replica": 2, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 50, + "stage": 8, + "replica": 1, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 51, + "stage": 3, + "replica": 7, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 52, + "stage": 4, + "replica": 6, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 53, + "stage": 5, + "replica": 5, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 54, + "stage": 6, + "replica": 4, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 55, + "stage": 7, + "replica": 3, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 56, + "stage": 8, + "replica": 2, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 57, + "stage": 4, + "replica": 7, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 58, + "stage": 5, + "replica": 6, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 59, + "stage": 6, + "replica": 5, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 60, + "stage": 7, + "replica": 4, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 61, + "stage": 8, + "replica": 3, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 62, + "stage": 5, + "replica": 7, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 63, + "stage": 6, + "replica": 6, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 64, + "stage": 7, + "replica": 5, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 65, + "stage": 8, + "replica": 4, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 66, + "stage": 6, + "replica": 7, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 67, + "stage": 7, + "replica": 6, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 68, + "stage": 8, + "replica": 5, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 69, + "stage": 7, + "replica": 7, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 70, + "stage": 8, + "replica": 6, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 71, + "stage": 8, + "replica": 7, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + } + ], + "per_call_widths": [ + { + "stage": 0, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + } + ], + "provider_registry": { + "gauge44": { + "directory": "providers/gauge44", + "artifact_sha256": { + "CANONICAL-WORD.json.gz": "16bc0ebb04b4be6c0ade74badc6a0c0cdba4215eda86e4ff9f13abf8ecebd219", + "LOCAL-PROGRAMS.json.gz": "241fde27d4e43f5a9cb6b128f9f76c5131a53d09f0371676163f914d0b0fef3a", + "LOCAL-CHECKS.json": "2b8b1891a736598010232bfb26abc31973b265a53a2009a3fcfd9138b5ecadb4", + "INDEPENDENT-LOCAL-REPLAY.json": "13dd18297162569532983db1a2ab67926b064330cd7edd3587e7b546b2dedf17", + "CLIFFORD-RECIPES.json": "d0768f2164d5f64a2fdbec422f1cfde4e400818792f1904ca541958377243731", + "CLIFFORD-REVIEW.json": "59e1f8d7215c79081f70b953f85fcbaac2a32a75b8b12448f667b17271405f9e", + "RESIDUAL-ADAPTERS.json": "383f40aadd00a4ac700dfd0d4c22d6c6c0be9a9863116e4d69c7acd23bafae0c" + }, + "ports": [ + 11, + 19, + 35, + 67, + 131, + 259, + 13, + 21, + 37, + 69, + 133, + 261, + 41, + 73, + 137, + 265, + 49, + 81, + 145, + 273, + 161, + 289, + 193, + 321, + 385, + 14, + 22, + 38, + 70, + 134, + 262, + 26, + 74, + 138, + 266, + 50, + 146, + 274, + 98, + 162, + 290, + 194, + 322, + 386, + 28, + 44, + 140, + 268, + 84, + 148, + 276, + 100, + 164, + 292, + 196, + 324, + 388, + 56, + 88, + 152, + 280, + 104, + 168, + 296, + 200, + 328, + 392, + 112, + 176, + 304, + 208, + 336, + 400, + 224, + 352, + 416, + 448, + 508, + 506, + 502, + 494, + 478, + 446, + 382, + 254, + 505, + 501, + 493, + 477, + 445, + 381, + 253, + 499, + 491, + 475, + 443, + 379, + 251, + 487, + 471, + 439, + 375, + 247, + 463, + 431, + 367, + 239, + 415, + 351, + 223, + 319, + 191 + ], + "centers": [ + 92, + 57, + 81, + 224, + 11, + 240, + 9, + 256 + ], + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ], + "actual_paid_profile": { + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "orientation_program_sha256": { + "forward": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8", + "backward": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + "artifact_semantic_sha256": { + "CANONICAL-WORD.json.gz": "4ddb29fb9bc6f27e0c0fbfcf19a2a93a3496ad900d0f6d89059d0305c9576c0c", + "LOCAL-PROGRAMS.json.gz": "9f41d53659e9be84e20c661560c5687abbf5cd0660cdecbe01ad5eb29e6b8ee3", + "LOCAL-CHECKS.json": "18f09b79835aa352f04d27041d86d1338c5ad0094b888588c1c05af2dc399ffd", + "INDEPENDENT-LOCAL-REPLAY.json": "2d4680965c62db1fde1236c4857b19bf7bc97af58805e6b4109afbc452f0fdd8", + "CLIFFORD-RECIPES.json": "d0768f2164d5f64a2fdbec422f1cfde4e400818792f1904ca541958377243731", + "CLIFFORD-REVIEW.json": "4960fd1215509b5347ef7f0092868f79aea0f8e24fb84352da9a1033e4394007", + "RESIDUAL-ADAPTERS.json": "c682e9ff1b347f89771c6800f46ad98c2bb92b91c5c88452d53a9e7f0180c35f" + } + } + }, + "source_plan_sha256": "258a8b9baa245fa4096828671e2f1d1462b5af08d56890629622ef6125eaddda", + "assignment_sha256": "32ca30cd1c652ef6ad43657273a08a157e1df3545e759ab36306a0d0b516fb4a", + "source_owners_sha256": "935ff1a6823c6625daba3349b28d74acf9a3d70a5947ae155aa66c7821804add" +} diff --git a/research/gauge44-slots-t16/data/UPSTREAM-PINS.json b/research/gauge44-slots-t16/data/UPSTREAM-PINS.json new file mode 100644 index 0000000000..68486b84e3 --- /dev/null +++ b/research/gauge44-slots-t16/data/UPSTREAM-PINS.json @@ -0,0 +1,23 @@ +{ + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/CANONICAL-WORD.json.gz": "66d3c3c70983224650643a0a05a21ac6c6959f84d0f4528650601016f5a76844", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/CLIFFORD-RECIPES.json": "534ace870cabe515987e00f50f71550030965006ea18978e0924590ac6944345", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/CLIFFORD-REVIEW.json": "ee9b86428278392d2c933f76d60e51f5af90d4ab67e4d3937ed2fa416e7755ab", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/INDEPENDENT-LOCAL-REPLAY.json": "ad3f2b941127688f98ce6872d00f110644f1c2b156f8adad1b6700e838ed0e26", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/INDEPENDENT-REPLAY.json": "ad3f2b941127688f98ce6872d00f110644f1c2b156f8adad1b6700e838ed0e26", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/INTEGRATION.json": "5c14538134dfffbc58fa4b4d2f26b270ec5f56d17d4bf23752c82964f45171db", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/LOCAL-CHECKS.json": "79177449e404403964ce1b2f4a9a8bd49e1916daba3123d7fd7f5cfd1f1ac0ea", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/LOCAL-PROGRAMS.json.gz": "99a18eede965accf65943e490b8d2b2ffb9f1c9bc6babdb825413a80cbea2cde", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/RESIDUAL-ADAPTERS.json": "baafef737acc16dafbe1150896feb16744f3d669fa123bb2bff19ecc4e71b275", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/SCALAR-FRAME-AUDIT.json": "73b3601a6239502475a272ea0c46945fd42034486aaf43e66a212eb4f012ca44", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/WRAPPER-CHECKS.json": "9a09146e686c4f535b04fdef3753fe01dad8f5e8881a69408a91394acb5b48f5", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/work/complex-nine-native/DATA-PHASES.json": "c5916ff312678f12aba403847643fbbc29f643acec60bdf836fa56cd3e8251fa", + "research/complex-k492-owner-repair/vendor/multicold/code/run_portable.py": "322d29d43dbee8130cde15d4bf05396698b5e3dfe3735813899db91cc0ba7955", + "research/complex-k492-owner-repair/vendor/multicold/engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "research/complex-k492-owner-repair/vendor/multicold/engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "research/complex-k492-owner-repair/vendor/multicold/engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "research/complex-k492-owner-repair/vendor/multicold/inputs/PR543-EXPECTED.json": "06eccee9f6b77e140833df83407e7996dc948c17d49b0779ab171fbe463fd28d", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/evidence/audit/PREFIX-AND-INVOICE.json": "ce1bfa49be88ae67a404f606a11db2232b7e1f2610d4418058e39749d86d8478", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor535/inputs/ROUND20-PARENT-TEMPLATE.json.gz": "025448abdf2012d327e50a009084e1501690d05e650300d2982836aa0350ae00", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/controller-input/split-centres/CANONICAL-WORD.json.gz": "de2be0f4b6d24ace368fd5b834b7a00f9625d0a1824c4ff969f2db5f115db667", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/code/prepare_supplier_base.py": "f5eae94aca965d0008bc07cff8245ccb7509042ccad457d3bcb7d51c1e9409f0" +} diff --git a/research/gauge44-slots-t16/evidence/ADMISSION-CONTROLS.json b/research/gauge44-slots-t16/evidence/ADMISSION-CONTROLS.json new file mode 100644 index 0000000000..2e15a10065 --- /dev/null +++ b/research/gauge44-slots-t16/evidence/ADMISSION-CONTROLS.json @@ -0,0 +1,102 @@ +{ + "status": "PASS_EXACT_MIXED_048_ALLCOLD_NATIVE_ASSEMBLY_ADMISSION_NEGATIVE_CONTROLS", + "valid_receipt_kappa": "1649483702558979/1000000000000000000", + "input_sha256": { + "owner_audit": "a32ecc0d5387d65648e1ff284209122860ee37aaba43ce2dd12024c4bc394313", + "fresh_invoice": "14b0f41c88209e800236ce4ebbf91d83537e22e18807153d90013f7eee57a582", + "inputs/PR543-EXPECTED.json": "06eccee9f6b77e140833df83407e7996dc948c17d49b0779ab171fbe463fd28d", + "engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c" + }, + "assembler_sha256": "7ac28118d69416e4fb67b61216285fb0823310b7635ce1b9025aa3f10119ef6a", + "rejected_controls": [ + "empty_certification_maps", + "failed_invoice_status", + "nonboolean_precision_check", + "wrong_owner_role_count", + "understated_physical_stock", + "changed_profile_same_rank_mass", + "insufficient_finite_C0", + "missing_finite_check", + "wrong_reflected_orientation_selfconsistent_totals", + "missing_selected_call", + "wrong_selected_primitive_sum", + "wrong_selected_coefficient_work_sum", + "unpaid_wrapper_factors", + "wrong_global_compiler", + "wrong_global_adapter_maximum", + "understated_exact_prefix_and_global_sum", + "wrong_global_prefix_sum", + "wrong_row_prefix_reserve", + "wrong_parent_geometry_charge", + "wrong_rebased_geometry_charge", + "wrong_complete_pervertex_envelope", + "wrong_prior_added_complete_invoice", + "wrong_finite_router_bits", + "wrong_finite_literal_bits", + "wrong_finite_physical_stock_bits", + "wrong_finite_row_coefficient", + "reordered_complete_calls", + "understated_explicit_idle_remainders", + "understated_actual_chart_types", + "wrong_cross_replica_role_count", + "old_no_cold_wrapper_counts_selfconsistent", + "gauge44:missing_provider", + "gauge44:missing_backward_orientation", + "gauge44:unpaid_scalar_primitive", + "gauge44:wrong_local_artifact_binding", + "gauge44:false_dirty_restoration", + "gauge44:wrong_declared_provider_count", + "gauge44:wrong_local_compiler", + "gauge44:wrong_local_adapter_charge", + "gauge44:wrong_local_primitive_bound", + "gauge44:forged_provider_and_call_program_hash", + "gauge44:provider_at_wrong_call", + "gauge44:synchronized_forged_source_recipe_hash", + "gauge44:synchronized_forged_phase_review_semantics", + "gauge44:width_order_swap_4_5", + "gauge44:width_inventory_shift_4_5", + "gauge44:width_order_swap_4_7", + "gauge44:width_inventory_shift_4_7", + "gauge44:width_order_swap_4_8", + "gauge44:width_inventory_shift_4_8", + "gauge44:width_order_swap_4_9", + "gauge44:width_inventory_shift_4_9", + "gauge44:width_order_swap_5_7", + "gauge44:width_inventory_shift_5_7", + "gauge44:width_order_swap_5_8", + "gauge44:width_inventory_shift_5_8", + "gauge44:width_order_swap_5_9", + "gauge44:width_inventory_shift_5_9", + "gauge44:width_order_swap_7_8", + "gauge44:width_inventory_shift_7_8", + "gauge44:width_order_swap_7_9", + "gauge44:width_inventory_shift_7_9", + "gauge44:width_order_swap_8_9", + "gauge44:width_inventory_shift_8_9", + "gauge44:cold_helper_width_swap_264", + "gauge44:cold_helper_width_swap_276", + "gauge44:cold_helper_width_swap_288", + "gauge44:cold_helper_width_swap_300", + "wrong_owner_receipt_hash" + ], + "discovery_accepted_controls": [], + "exact_outer_controls": [ + "next_grid", + "zero_eta", + "zero_beta", + "unit_beta" + ], + "conservative_outer_controls": [ + "next_grid", + "zero_eta", + "zero_beta", + "unit_beta" + ], + "recurrence_model_controls": [ + "native_complex_endpoint_rejected_with_old_surcharge", + "omitting_bit_surcharge_would_fail_next_endpoint_rejection" + ], + "scope": "Complete receipt schema; ordered widths and both reflected providers; exact program, work and paid-profile binding; independently recounted compiler, conservative envelope and finite inequalities. Does not replace fresh physical replay." +} diff --git a/research/gauge44-slots-t16/evidence/ASSEMBLY.json b/research/gauge44-slots-t16/evidence/ASSEMBLY.json new file mode 100644 index 0000000000..6feaaf28f5 --- /dev/null +++ b/research/gauge44-slots-t16/evidence/ASSEMBLY.json @@ -0,0 +1,336 @@ +{ + "status": "PASS_GAUGE44_NATIVE_EXACT_GLOBAL_ASSEMBLY", + "kappa": "1649483702558979/1000000000000000000", + "kappa_decimal": "0.001649483702558979", + "complex_lower": "1652208994368411824947/1000000000000000000000000", + "complex_decimal": "0.001652208994368411824947", + "bit_lower": "413456747036699736067/250000000000000000000000", + "bit_decimal": "0.001653826988146798944268", + "binding": "complex", + "gain_over_pr635_percent": "0.8093060205252829126484020359439672024956960385078942889840023844750830", + "complex_profile": { + "1": 181093, + "2": 29164, + "3": 32429, + "4": 11520, + "5": 4032, + "7": 7, + "8": 582, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + }, + "provider_counts": { + "gauge44": 72 + }, + "surcharge_model": { + "complex": false, + "bit": true + }, + "conservative_complex_lower": "826104495740783435531/500000000000000000000000", + "conservative_complex_decimal": "0.001652208991481566871062", + "conservative_kappa": "32989673993633/20000000000000000", + "conservative_kappa_decimal": "0.00164948369968165", + "conservative_moments": [ + { + "side": "conservative_complex", + "surcharge": true, + "endpoint": "826104495740783435531/500000000000000000000000", + "accept": true, + "mercator": [ + "-21470727653278306311183666306239229019733127/13479973333575319897333507543509815336818572211270286240551805124608", + "-10735363826639153155591833153119614509866563/6739986666787659948666753771754907668409286105635143120275902562304" + ], + "base_two": [ + "-497746012127833654257/312500000000000000000000000000000000000000000", + "-15927862388090676936081/10000000000000000000000000000000000000000000000" + ] + }, + { + "side": "conservative_complex", + "surcharge": true, + "endpoint": "1652208991481566871063/1000000000000000000000000", + "accept": false, + "mercator": [ + "18565857384700607217299861034814026061253869/13479973333575319897333507543509815336818572211270286240551805124608", + "9282928692350303608649930517407013030626935/6739986666787659948666753771754907668409286105635143120275902562304" + ], + "base_two": [ + "3443229403069298452661/2500000000000000000000000000000000000000000000", + "6886463806138596905393/5000000000000000000000000000000000000000000000" + ] + } + ], + "conservative_bootstrap": [ + { + "exponent": "412385685180656454166549264744655866734211385357236332091088842586409092836277952888766748039/250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "666562689735263598950072203096262874070849142763667908911157413590907163722047111233251961/250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "5064079519162" + }, + { + "exponent": "206525573284761175512531267070234734086162997564863775372380915312260537579589712487639916151798780772051965162106786567177267184954922826291/125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "550650434683370218401403641330717978119685136224627619084687739462420410287512360083848201219227948034837893213432822732815045077173709/125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "1855113791006194394" + }, + { + "exponent": "103263061512703129767826074285021991628452086339263045204373010454992865610677336738873844192820011712987227316937414267052501172258472295234559238219891652401488082322583795324180689654479/62500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "454894799673548759951916040773618472285736954795626989545007134389322663261126155807179988287012772683062585732947498827741527704765440761780108347598511917677416204675819310345521/62500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "679580003544484094184219" + }, + { + "exponent": "51631530983423174081587995422763705511463803560275446891594962002253805557680841136478473308373535599630472737022595278769657751046420516932624996624821336420775380353032156988877311591948170858471939709729324917119896056841137038106651/31250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "375790639099421695705310689571475752224553108405037997746194442319158863521526691626464400369527262977404721230342248953579483067375003375178663579224619646967843011122688408051829141528060290270675082880103943158862961893349/31250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "248949139107542177224284717390" + }, + { + "exponent": "25815765491899171918007291224739112961920330868753566637213660249294181959373199689620973587025160691744778232655677905734546021049010279802309251671202559782629995396349706306018533755676891522445602691753137818884540822614505790975637207188084426480115050716386268926740408639183319/15625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "310442336417334495395138597308787496433362786339750705818040626800310379026412974839308255221767344322094265453978950989720197690748328797440217370004603650293693981466244323108477554397308246862181115459177385494209024362792811915573519884949283613731073259591360816681/15625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "91197023954707297182834066510188309" + }, + { + "exponent": "12907882745949740923714044496984490980274913441911668026309349328701170257318232044487278001962200060194315656940445191119148905788010009704145659576637708822386921067210646238981446862191953905605296632993352808355973492462268456184932241751785844259109396882935383667850308942850925398049837650776722500045535479944043369072892611/7812500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "256457809782632763069983906386213331973690650671298829742681767955512721998037799939805684343059554808880851094211989990295854340423362291177613078932789353761018553137808046094394703367006647191644026507537731543815067758248214155740890603117064616332149691057149074601950162349223277499954464520055956630927107389/7812500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "33408017428823827582408170997246977713592" + }, + { + "exponent": "6453941372974870589874066190179359429223492150943942660253925369657676501670157676520076923585728651827056389733462702476438321555395171695829522825243816397176490500987320047869073790658506195324550255473939677250207018200219145476567868694651116496373252177209611861852333112633908219202390034583139015516104491880456514987243190785983454804003067787432731319536372259595238559/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "211860949629267595905917763118557339746074630342323498329842323479923076414271348172943610266537297523561678444604828304170477174756183602823509499012679952130926209341493804675449744526060322749792981799780854523432131305348883503626747822790388138147666887366091780797609965416860984483895508119543485012756809214016545195996932212567268680463627740404761441/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "12238290024451914798381844566546350371351403966" + } + ], + "conservative_outer": { + "bit_positive": "6453941372974870589874066190179359429223492150943942660253925369657676501670157676520076923585728651827056389733462702476438321555395171695829522825243816397176490500987320047869073790658506195324550255473939677250207018200219145476567868694651116496373252177209611861852333112633908219202390034583139015516104491880456514987243190785983454804003067787432731319536372259595238559/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "complex_above_bit": "211871309820640570776507849056057339746074630342323498329842323479923076414271348172943610266537297523561678444604828304170477174756183602823509499012679952130926209341493804675449744526060322749792981799780854523432131305348883503626747822790388138147666887366091780797609965416860984483895508119543485012756809214016545195996932212567268680463627740404761441/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "complex_below_one_over32": "14798895504259216564469/500000000000000000000000", + "beta_positive": "1/1000000000000000000000000", + "beta_below_one": "999999999999999999999999/1000000000000000000000000", + "leaf_saving_above_bit": "211864855879267595905917763118557339746074630342323498329842323479923076414271348172943610266537297523561678444604828304170477174756183602823509499012679952130926209341493804675449744526060322749792981799780854523432131305348883503626747822790388138147666887366091780797609965416860984483895508119543485012756809214016545195996932212567268680463627740404761441/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_positive": "3226970686487435294937026641148306739741156201405781150767533461336687306892418584334668804116362655755851674789807765509567333721307852385212284974300352803416549420970834780118139718838752110342227258663179180118908184549854098798606684140307358029041149520736111279809670183064776899989333164958456873849833043550193674354606079288499846945486546650525579676313382126729831846768680463627740404761441/1953125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_internal": "6453941372974870589874066190179359429223492150943942660253925369657676501670157676520076923585728651827056389733462702476438321555395171695829522825243816397176490500987320047869073790658506195324550255473939677250207018200219145476567868694651116496373252177209611861852333112633908219202390034583139015516104491880456514987243190785983454804003067787432731319536372259595238559/1953125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_leaf": "105938881881006772823548755625468849232466538663312693107581415665331195883637344244148325210192234490432666278692147614787715025699647196583450579029165219881860281161247889657772741336820819881091815450145901201393315859692641970958850479263888720190329816935223100010666835041543126150166956449806325645393920711500153054513453349474420323686617873270168153231319536372259595238559/1953125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "c_positive": "3226970686487435294937514922398306739741156201405781150767533461336687306892418584334668804116362655755851674789807765509567333721307852385212284974300352803416549420970834780118139718838752110342227258663179180118908184549854098798606684140307358029041149520736111279809670183064776899989333164958456873849833043550193674354606079288499846945486546650525579676313382126729831846768680463627740404761441/1953125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "c_below_one": "1949898029313512564705062485077601693260258843798594218849232466538663312693107581415665331195883637344244148325210192234490432666278692147614787715025699647196583450579029165219881860281161247889657772741336820819881091815450145901201393315859692641970958850479263888720190329816935223100010666835041543126150166956449806325645393920711500153054513453349474420323686617873270168153231319536372259595238559/1953125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_reservations": "1/4000000000000000000000000", + "lambda_above_tau": "6453941372974870589874066190179359429223492150943942660253925369657676501670157676520076923585728651827056389733462702476438321555395171695829522825243816397176490500987320047869073790658506195324550255473939677250207018200219145476567868694651116496373252177209611861852333112633908219202390034583139015516104491880456514987243190785983454804003067787432731319536372259595238559/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_above_sigma": "211877763762013545647097723122247519105503853834474442272502577405292734090773018330620130343460883252213505500994561766872953613077738997995205328535505195947323385831994791995497613599850981255988306350036328463109381512367083722772224390659082789264163260618268990409471817749973618392114710509578068151772325318508425652511919455758054663918431743472548873731319536372259595238559/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_above_internal": "6453941372974870589874066190179359429223492150943942660253925369657676501670157676520076923585728651827056389733462702476438321555395171695829522825243816397176490500987320047869073790658506195324550255473939677250207018200219145476567868694651116496373252177209611861852333112633908219202390034583139015516104491880456514987243190785983454804003067787432731319536372259595238559/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_prime_above_lambda": "6453941372974870589874066190179359429223492150943942660253925369657676501670157676520076923585728651827056389733462702476438321555395171695829522825243816397176490500987320047869073790658506195324550255473939677250207018200219145476567868694651116496373252177209611861852333112633908219202390034583139015516104491880456514987243190785983454804003067787432731319536372259595238559/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_leaf": "105938881881006772823548755625468849232466538663312693107581415665331195883637344244148325210192234490432666278692147614787715025699647196583450579029165219881860281161247889657772741336820819881091815450145901201393315859692641970958850479263888720190329816935223100010666835041543126150166956449806325645393920711500153054513453349474420323686617873270168153231319536372259595238559/1953125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_reservations": "1/4000000000000000000000000", + "lambda_prime_below_one": "3226970686487435294937026641148306739741156201405781150767533461336687306892418584334668804116362655755851674789807765509567333721307852385212284974300352803416549420970834780118139718838752110342227258663179180118908184549854098798606684140307358029041149520736111279809670183064776899989333164958456873849833043550193674354606079288499846945486546650525579676313382126729831846768680463627740404761441/1953125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "epsilon_positive": "1953124999999999999999998046875000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000/1956351970686487435294937026641148306739741156201405781150767533461336687306892418584334668804116362655755851674789807765509567333721307852385212284974300352803416549420970834780118139718838752110342227258663179180118908184549854098798606684140307358029041149520736111279809670183064776899989333164958456873849833043550193674354606079288499846945486546650525579676313382126729831846768680463627740404761441", + "epsilon_below_one": "3226970686487435294938979766148306739741156201405781150767533461336687306892418584334668804116362655755851674789807765509567333721307852385212284974300352803416549420970834780118139718838752110342227258663179180118908184549854098798606684140307358029041149520736111279809670183064776899989333164958456873849833043550193674354606079288499846945486546650525579676313382126729831846768680463627740404761441/1956351970686487435294937026641148306739741156201405781150767533461336687306892418584334668804116362655755851674789807765509567333721307852385212284974300352803416549420970834780118139718838752110342227258663179180118908184549854098798606684140307358029041149520736111279809670183064776899989333164958456873849833043550193674354606079288499846945486546650525579676313382126729831846768680463627740404761441", + "guard_width": "3226970686487435294938979766148306739741156201405781150767533461336687306892418584334668804116362655755851674789807765509567333721307852385212284974300352803416549420970834780118139718838752110342227258663179180118908184549854098798606684140307358029041149520736111279809670183064776899989333164958456873849833043550193674354606079288499846945486546650525579676313382126729831846768680463627740404761441/1956351970686487435294937026641148306739741156201405781150767533461336687306892418584334668804116362655755851674789807765509567333721307852385212284974300352803416549420970834780118139718838752110342227258663179180118908184549854098798606684140307358029041149520736111279809670183064776899989333164958456873849833043550193674354606079288499846945486546650525579676313382126729831846768680463627740404761441", + "K_geometry": "1468070720686487435294937514922398306739741156201405781150767533461336687306892418584334668804116362655755851674789807765509567333721307852385212284974300352803416549420970834780118139718838752110342227258663179180118908184549854098798606684140307358029041149520736111279809670183064776899989333164958456873849833043550193674354606079288499846945486546650525579676313382126729831846768680463627740404761441/1956351970686487435294937026641148306739741156201405781150767533461336687306892418584334668804116362655755851674789807765509567333721307852385212284974300352803416549420970834780118139718838752110342227258663179180118908184549854098798606684140307358029041149520736111279809670183064776899989333164958456873849833043550193674354606079288499846945486546650525579676313382126729831846768680463627740404761441000000000000000000000000", + "K_dominates_log": "3226970686487435294937511695427620252305861263890858752460793720180485901111267816801207467429055763337267340121003649146911577869633062577446775406966631495564164208685860479765336302289331139507447140523460341366797842322595435619426565232122808174942350914051970972451641141915256163878053355288273809072933054217028715897732229455456296751812192044446291176466436640183181321189004150245613674929594231319536372259595238559/1956351970686487435294937026641148306739741156201405781150767533461336687306892418584334668804116362655755851674789807765509567333721307852385212284974300352803416549420970834780118139718838752110342227258663179180118908184549854098798606684140307358029041149520736111279809670183064776899989333164958456873849833043550193674354606079288499846945486546650525579676313382126729831846768680463627740404761441000000000000000000000000", + "record_suffix": "3226970686487435294938979766148306739741156201405781150767533461336687306892418584334668804116362655755851674789807765509567333721307852385212284974300352803416549420970834780118139718838752110342227258663179180118908184549854098798606684140307358029041149520736111279809670183064776899989333164958456873849833043550193674354606079288499846945486546650525579676313382126729831846768680463627740404761441/1956351970686487435294937026641148306739741156201405781150767533461336687306892418584334668804116362655755851674789807765509567333721307852385212284974300352803416549420970834780118139718838752110342227258663179180118908184549854098798606684140307358029041149520736111279809670183064776899989333164958456873849833043550193674354606079288499846945486546650525579676313382126729831846768680463627740404761441", + "phase_local": "25815765491899482359509881777215767430493954674219608057833527949537297049358197907143889096243594353628229063649658007713882913918788029273932770227069101119480010155481703940592314334160595911903037951165714602199155134171574127209673354214274314378230397559204749931119332423368694463803385509997471926021764359068384436379974784474955225370218018598125348910660111527292004248569767395639796508259681231319536372259595238559/15650815765491899482359496213129186453917929249611246249206140267690693498455139348674677350432930901246046813398318462124076538669770462819081698279794402822427332395367766678240945117750710016882737818069305433440951265476398832790388853473122458864232329196165888890238477361464518215199914665319667654990798664348401549394836848634307998775563892373204204637410507057013838654774149443709021923238091528000000000000000000000000", + "phase_boundary": "5163153098379896471900411273866604296150554985222608692921313796982498285246718967402008749898873356790778344994888308452651978102417774008574146391546843177614093861268361347836220133592582405712783495721367849438142753052507894898590575716307222992367040626493637740337443251754122303871653254263347933382832880347144920510495877028556204919104120034761638982254465916221080429250212428422257917786458831319536372259595238559/3130163153098379896471899242625837290783585849922249249841228053538138699691027869734935470086586180249209362679663692424815307733954092563816339655958880564485466479073553335648189023550142003376547563613861086688190253095279766558077770694624491772846465839233177778047695472292903643039982933063933530998159732869680309878967369726861599755112778474640840927482101411402767730954829888741804384647618305600000000000000000000000", + "gamma_sublinear": "1/2000000000000000000000000", + "cell_above_band": "3906249999999999999999994137398029313512564705062973358851693260258843798594218849232466538663312693107581415665331195883637344244148325210192234490432666278692147614787715025699647196583450579029165219881860281161247889657772741336820819881091815450145901201393315859692641970958850479263888720190329816935223100010666835041543126150166956449806325645393920711500153054513453349474420323686617873270168153231319536372259595238559/7825407882745949741179748106564593226958964624805623124603070133845346749227569674337338675216465450623023406699159231062038269334885231409540849139897201411213666197683883339120472558875355008441368909034652716720475632738199416395194426736561229432116164598082944445119238680732259107599957332659833827495399332174200774697418424317153999387781946186602102318705253528506919327387074721854510961619045764000000000000000000000000", + "prime_interval_packing": "3226970686487435294938979766148306739741156201405781150767533461336687306892418584334668804116362655755851674789807765509567333721307852385212284974300352803416549420970834780118139718838752110342227258663179180118908184549854098798606684140307358029041149520736111279809670183064776899989333164958456873849833043550193674354606079288499846945486546650525579676313382126729831846768680463627740404761441/1956351970686487435294937026641148306739741156201405781150767533461336687306892418584334668804116362655755851674789807765509567333721307852385212284974300352803416549420970834780118139718838752110342227258663179180118908184549854098798606684140307358029041149520736111279809670183064776899989333164958456873849833043550193674354606079288499846945486546650525579676313382126729831846768680463627740404761441", + "alpha_positive": "6453941372974870589876003180325926992047017465784921153228327181517173208003686401135876271545418419093119014910811414656478911590940914962659060381266984298980713629656695259883476021128083249849674399186639521485706026872449534418033249372430166203983500434788082252261311324980033063867386520246730682922766097767222390252338308743956143697298738694971870852779818766913013167957684613873354079691035231319536372259595238559/3912703941372974870589874053282296613479482312402811562301535066922673374613784837168669337608232725311511703349579615531019134667442615704770424569948600705606833098841941669560236279437677504220684454517326358360237816369099708197597213368280614716058082299041472222559619340366129553799978666329916913747699666087100387348709212158576999693890973093301051159352626764253459663693537360927255480809522882000000000000000000000000", + "alpha_below_one": "3906249999999999999999998050101970686487435294937026641148306739741156201405781150767533461336687306892418584334668804116362655755851674789807765509567333721307852385212284974300352803416549420970834780118139718838752110342227258663179180118908184549854098798606684140307358029041149520736111279809670183064776899989333164958456873849833043550193674354606079288499846945486546650525579676313382126729831846768680463627740404761441/3912703941372974870589874053282296613479482312402811562301535066922673374613784837168669337608232725311511703349579615531019134667442615704770424569948600705606833098841941669560236279437677504220684454517326358360237816369099708197597213368280614716058082299041472222559619340366129553799978666329916913747699666087100387348709212158576999693890973093301051159352626764253459663693537360927255480809522882000000000000000000000000", + "alpha_below_one_fourth": "971722043970268847057592510140248226377823560634917969422155439549151170445442522891031458130512762908784806822484092468098304755269713011229947082105883192102727561080828722130175593838291292805321439230144950068573748065402477514981270092697723512810537074325579973387643523766552355386127280062232497754002150424007874446924964730900293779775444534630290918985376872296451902755426655617940516122689685268680463627740404761441/3912703941372974870589874053282296613479482312402811562301535066922673374613784837168669337608232725311511703349579615531019134667442615704770424569948600705606833098841941669560236279437677504220684454517326358360237816369099708197597213368280614716058082299041472222559619340366129553799978666329916913747699666087100387348709212158576999693890973093301051159352626764253459663693537360927255480809522882000000000000000000000000", + "delta_positive": "1/8000000000000000000000000", + "delta_below_one_eighth": "999999999999999999999999/8000000000000000000000000", + "short_record_fallback": "7616768350326285557500319775653039882167791373606484433247966343434288108018622581046971563310328015701829825865161075895589557869002227910163859966123751049011574089086818827397845295188747039740805603604306735718724487573983298303347943047832446306575284675533737097663574583370895732239816339414872288224973497321202082691939259199649525897121646158714570558007923356081995983858955555812385514139941650448054969080495460839451184943579045934071718914451277154414260694865402045088246492924621190212696589297290139170457113442903864489881182428482943926033330169648915939096761899935129171461630633550206360734465453786062702930868880734179253684068961295379267720699847283311726943651844776757599676210480855235552712881882161583412704615034946691001348844134260624423778504120396481/7641999885494091544120847760316985573202113891411741332620185677583346434792548510095057300016079541624046295604647686584021747397348858798379735488180860753138345896175667323359836483276713875431024325229153043672339485095897867573432057359923075617300941990315375434686756524152596784765583332675618972163475910326367944040447679997220702527130806822853615545610599148932538405651440158061045860956099378906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "small_field_exposure": "1/1000000000000000000000000", + "artificial_boundary": "109581526123935195858875991199089403690805739881701049917094042360749016591858458241700019187473509130645630260190554109341700276625718726922076882767057223743342216318578988348828619352255328397974406884908862624043866454837872438312648368141704224563420929965147163542829892978839594283807651161986351789120720014755211890034065410623963120855092162049451874964783597292570349189769934578612321766094227764306041390883221214284323/15650815765491899482359496213129186453917929249611246249206140267690693498455139348674677350432930901246046813398318462124076538669770462819081698279794402822427332395367766678240945117750710016882737818069305433440951265476398832790388853473122458864232329196165888890238477361464518215199914665319667654990798664348401549394836848634307998775563892373204204637410507057013838654774149443709021923238091528000000000000000000000000", + "literal_scalar_guard": "1", + "row_product_gap": "23971789/25", + "balanced_prefix_above_kappa": "22200664394464068201218451251709660099895005854056647094104902383532607617880707943289313682606481683041097904310248641310014220990880046435669692660714113332169622156571009112311747389402252920606378362090592667540916232777689188179337564977308018790044043286680427258859028858029102001845446586248858526682126585053940466953916779314590626875566608934902197480400674781390017936270431029836796882094847/39127039413729748705898740532822966134794823124028115623015350669226733746137848371686693376082327253115117033495796155310191346674426157047704245699486007056068330988419416695602362794376775042206844545173263583602378163690997081975972133682806147160580822990414722225596193403661295537999786663299169137476996660871003873487092121585769996938909730933010511593526267642534596636935373609272554808095228820000000000000000", + "coordinate_movement_above_kappa": "10645671093425277374066190179359429223492150943942660253925369657676501670157676520076923585728651827056389733462702476438321555395171695829522825243816397176490500987320047869073790658506195324550255473939677250207018200219145476567868694651116496373252177209611861852333112633908219202390034583139015516104491880456514987243190785983454804003067787432731319536372259595238559/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_phase_layer_above_kappa": "1110031263371232723573487267648456363846443552961676153299463968409096919557348090272047099795655280035692239459660757275692945539976668600475632247823420692308128304412001034644752589351972927191566807762302374713866631519976274859112779450258716799194844135292871842206840163091784917027495429323109761375649455402863979797502164611123452055278483501258563223494454062756118770083689704723159380477001945238559/1956351970686487435294937026641148306739741156201405781150767533461336687306892418584334668804116362655755851674789807765509567333721307852385212284974300352803416549420970834780118139718838752110342227258663179180118908184549854098798606684140307358029041149520736111279809670183064776899989333164958456873849833043550193674354606079288499846945486546650525579676313382126729831846768680463627740404761441000000000000000000000000", + "bulk_exposure_above_kappa": "10645671093425277374066190179359429223492150943942660253925369657676501670157676520076923585728651827056389733462702476438321555395171695829522825243816397176490500987320047869073790658506195324550255473939677250207018200219145476567868694651116496373252177209611861852333112633908219202390034583139015516104491880456514987243190785983454804003067787432731319536372259595238559/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "Gaussian_arithmetic_above_kappa": "1776051195205154769610040805199746166843293728583375566122611039915075148093769328570726510273849730526925176588968216514993372169703069993545723027644844092273216969109131308014105011034040514809758158625020154740094118503306950504492906399577957362896165433893284659972611028832657977082858826910575517176113252954482193806119667990561170861545481769305629147906474306197819308171802635618263286939847355238559/3130163153098379896471899242625837290783585849922249249841228053538138699691027869734935470086586180249209362679663692424815307733954092563816339655958880564485466479073553335648189023550142003376547563613861086688190253095279766558077770694624491772846465839233177778047695472292903643039982933063933530998159732869680309878967369726861599755112778474640840927482101411402767730954829888741804384647618305600000000000000000000000", + "scalar_work_above_kappa": "8880263801433656593999945205746837398809695601881502636236179802645509585815595870423306888707923869100076505968247781734197922886784684852960024679073360358567496059211854223953864175642761449403799234494009808353187312992167490721880927192316523375710259285631021382807500263401970617673401734510210245714393760171743143231373037371230171461726796628474332341634690236242625047778340565166038289210198395238559/15650815765491899482359496213129186453917929249611246249206140267690693498455139348674677350432930901246046813398318462124076538669770462819081698279794402822427332395367766678240945117750710016882737818069305433440951265476398832790388853473122458864232329196165888890238477361464518215199914665319667654990798664348401549394836848634307998775563892373204204637410507057013838654774149443709021923238091528000000000000000000000000", + "dimension_above_kappa": "38997960586270251316301845736641102066423628127681544476879655184829913347967054011845914241798380690174196649110685527730906557635822484262309975291394039379601361672294696636567259362194234070104902844228989337004000198399595585564944099094883041018756741986893296564447849883019131720859242194729932864368449925377854653195034463468170470015007048381580115282040341292367600843465301172117463128175202209836796882094847/39127039413729748705898740532822966134794823124028115623015350669226733746137848371686693376082327253115117033495796155310191346674426157047704245699486007056068330988419416695602362794376775042206844545173263583602378163690997081975972133682806147160580822990414722225596193403661295537999786663299169137476996660871003873487092121585769996938909730933010511593526267642534596636935373609272554808095228820000000000000000" + }, + "conservative_controls": [ + "next_grid", + "zero_eta", + "zero_beta", + "unit_beta" + ], + "model_controls": [ + "native_complex_endpoint_rejected_with_old_surcharge", + "omitting_bit_surcharge_would_fail_next_endpoint_rejection" + ], + "native_correction_gain": "2.877329E-12", + "template_sha256": "0c2aab7dc120f5882a0171496cbbe819cac81373dcb425802a15f45e36898a46", + "input_sha256": { + "owner_audit": "a32ecc0d5387d65648e1ff284209122860ee37aaba43ce2dd12024c4bc394313", + "fresh_invoice": "14b0f41c88209e800236ce4ebbf91d83537e22e18807153d90013f7eee57a582", + "inputs/PR543-EXPECTED.json": "06eccee9f6b77e140833df83407e7996dc948c17d49b0779ab171fbe463fd28d", + "engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c" + }, + "bit_supplier": { + "pr": 543, + "repository": "eumemic/integer-mult-bounds", + "commit": "2065fe4f72a914d907f1046603f5a36f17018535", + "path": "research/e8-bit-r420/EXPECTED.json", + "git_blob_sha1": "b61d859826246e0c3dabbe096e57ad7015eadfd5", + "replay_scope": "Cited unchanged supplier; this assembly reprices its full profile and does not rebuild its bit circuit." + }, + "moments": [ + { + "side": "bit", + "surcharge": true, + "endpoint": "413456747036699736067/250000000000000000000000", + "accept": true, + "mercator": [ + "-6043813583626134311169770662156174867615397/13479973333575319897333507543509815336818572211270286240551805124608", + "-12087627167252268622339541324312349735230793/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "base_two": [ + "-1120888283015460284783/2500000000000000000000000000000000000000000000", + "-4483543132061841139029/10000000000000000000000000000000000000000000000" + ] + }, + { + "side": "bit", + "surcharge": true, + "endpoint": "1653826988146798944269/1000000000000000000000000", + "accept": false, + "mercator": [ + "70925594433828721229860776023154018035852861/26959946667150639794667015087019630673637144422540572481103610249216", + "70925594433828721229860776023154018035852863/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "base_two": [ + "13153878434097279887307/5000000000000000000000000000000000000000000000", + "6576941717048639943679/2500000000000000000000000000000000000000000000" + ] + }, + { + "side": "complex", + "surcharge": false, + "endpoint": "1652208994368411824947/1000000000000000000000000", + "accept": true, + "mercator": [ + "-55206003495063536066288437576157100010340973/26959946667150639794667015087019630673637144422540572481103610249216", + "-55206003495063536066288437576157100010340971/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "base_two": [ + "-409541/200000000000000000000000000000", + "-255963/125000000000000000000000000000" + ] + }, + { + "side": "complex", + "surcharge": false, + "endpoint": "413052248592102956237/250000000000000000000000", + "accept": false, + "mercator": [ + "12433583290374778086207959883025413594081851/13479973333575319897333507543509815336818572211270286240551805124608", + "3108395822593694521551989970756353398520463/3369993333393829974333376885877453834204643052817571560137951281152" + ], + "base_two": [ + "461187/500000000000000000000000000000", + "7379/8000000000000000000000000000" + ] + } + ], + "bootstrap": [ + { + "exponent": "1649542743600042455931461134358912270794693606912716279281008134403270623498780603221028447191/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "2666250768369369015536213432093360793481446087283720718991865596729376501219396778971552809/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "5064079483347" + }, + { + "exponent": "1652204589164911083386484432640289489025149021897345425947753889635290073672223126501218389623373546339575388781616555168351167510162074126123/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "4405203500741560512915150716142563026031102654574052246110364709926327776873498781610376626453660424611218383444831648832489837925873877/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "1855113771403454575" + }, + { + "exponent": "1652208987090094978998576337786240766660534086861443373660655035146913315879277165163676924708776055203276437395070714960859071205403889642411881787926277109463592646624985153186335324209519/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "7278316845948421010004764864927640966138556626339344964853086684120722834836323075291223944796723562604929285039140928794596110357588118212073722890536407353375014846813664675790481/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "679579993988641861825997" + }, + { + "exponent": "1652208994356386524390258236146418863551774879755022063719897338019847837294371501505671240293619314475646690108109592273827150181689732342308269781370466209964554813416396376690383672659155117856785386209592305112449619050994195020929507/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "12025300556739111644586768036400173244977936280102661980152162705628498494328759706380685524353309891890407726172849818310267657691730218629533790035445186583603623309616327340844882143214613790407694887550380949005804979070493/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "248949134737010607693751277429" + }, + { + "exponent": "1652208994368391956637257519960511230799265177421282452671784475034111396774491992172626292851745263613135372191632272357217972384735656024916702509923614329343687257847797050984709314880436174232795630101904826260914576699263441846242089246520580636287560130658033652250181465888988871/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "19868309739827830494400788909875578717547328215524965888603225508007827373707148254736386864627808367727642782027615264343975083297490076385670656312742152202949015290685119563825767204369898095173739085423300736558153757910753479419363712439869341966347749818534111011129/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "91197022034968984076452463608008868" + }, + { + "exponent": "1652208994368411792120397292749943827369551868295936383281836655065105377018214255389190697215906708539556278748557372371967341676249062946027583420481631348820521456435303894723559097730578401212966050397815062867751401948328742424744594348421190830426806021851515386550389899161084889489269714131354119389927583907816206322316835163/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "32826600055041061804218623184704063616718163344934894622981785744610809302784093291460443721251442627628032658323750937053972416579518368651179478543564696105276440902269421598787033949602184937132248598051671257575255405651578809169573193978148484613449610100838915110510730285868645880610072416092183793677683164837/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "33408016608824820410042813054159823398652" + }, + { + "exponent": "1652208994368411824892760943925532186602852295468626143987776322166643298144437891566249896386783794682250325982720570888808333058035587427982244795917897766192126153947302396188350346875998068356230515694247409920636392332411468502336205197989213263024053337331536239117696791845640104898504335919624091669350736887870142170348377574017694034808393425549949474408919442457789788639/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "54236403865473444985322757531373856012223677833356701855562108433750103613216205317749674017279429111191666941964412572017755204082102233807873846052697603811649653124001931643769484305752590079363607667588531497663794802010786736975946662668463760882303208154359895101495664080375908330649263112129857829651622425982305965191606574450050525591080557542210211361/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "12238289681296331108170086600566454188814599875" + } + ], + "outer": { + "bit_positive": "1652208994368411824892760943925532186602852295468626143987776322166643298144437891566249896386783794682250325982720570888808333058035587427982244795917897766192126153947302396188350346875998068356230515694247409920636392332411468502336205197989213263024053337331536239117696791845640104898504335919624091669350736887870142170348377574017694034808393425549949474408919442457789788639/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "complex_above_bit": "54239056074467813397147704531373856012223677833356701855562108433750103613216205317749674017279429111191666941964412572017755204082102233807873846052697603811649653124001931643769484305752590079363607667588531497663794802010786736975946662668463760882303208154359895101495664080375908330649263112129857829651622425982305965191606574450050525591080557542210211361/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "complex_below_one_over32": "29597791005631588175053/1000000000000000000000000", + "beta_positive": "1/1000000000000000000000000", + "beta_below_one": "999999999999999999999999/1000000000000000000000000", + "leaf_saving_above_bit": "54237403865473444985322757531373856012223677833356701855562108433750103613216205317749674017279429111191666941964412572017755204082102233807873846052697603811649653124001931643769484305752590079363607667588531497663794802010786736975946662668463760882303208154359895101495664080375908330649263112129857829651622425982305965191606574450050525591080557542210211361/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_positive": "826104497184205912446378819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361/500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_internal": "1652208994368411824892760943925532186602852295468626143987776322166643298144437891566249896386783794682250325982720570888808333058035587427982244795917897766192126153947302396188350346875998068356230515694247409920636392332411468502336205197989213263024053337331536239117696791845640104898504335919624091669350736887870142170348377574017694034808393425549949474408919442457789788639/500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_leaf": "27120354141731090904486271526630853538298441768973819553925041993197218449906247096766403258536101339390515721308189006579766410374109152491364905271144719803591018688154913124280930503223171037750160064309959996241818037397725779956475667539429869654414628130517279086986949736979799805429530060400848538917480563728040852737973635602599280489575087164530655629974408919442457789788639/500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "c_positive": "826104497184205912446503819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361/500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "c_below_one": "499173895502815794087553496180246228275110398745026630853538298441768973819553925041993197218449906247096766403258536101339390515721308189006579766410374109152491364905271144719803591018688154913124280930503223171037750160064309959996241818037397725779956475667539429869654414628130517279086986949736979799805429530060400848538917480563728040852737973635602599280489575087164530655629974408919442457789788639/500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_reservations": "1/4000000000000000000000000", + "lambda_above_tau": "1652208994368411824892760943925532186602852295468626143987776322166643298144437891566249896386783794682250325982720570888808333058035587427982244795917897766192126153947302396188350346875998068356230515694247409920636392332411468502336205197989213263024053337331536239117696791845640104898504335919624091669350736887870142170348377574017694034808393425549949474408919442457789788639/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_above_sigma": "54240708283462181808972597292317781544410280685652170481706096210072270256514349755641240267175815894986349192290395292588644012415160269395301828297493521709415845250155878946165672656099466077431963898104225745073715438403119148444448998873661750095566232207697226637734781777167753970754161616465777453743291776719193835333776922827624543285115365935635761310474408919442457789788639/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_above_internal": "1652208994368411824892760943925532186602852295468626143987776322166643298144437891566249896386783794682250325982720570888808333058035587427982244795917897766192126153947302396188350346875998068356230515694247409920636392332411468502336205197989213263024053337331536239117696791845640104898504335919624091669350736887870142170348377574017694034808393425549949474408919442457789788639/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_prime_above_lambda": "1652208994368411824892760943925532186602852295468626143987776322166643298144437891566249896386783794682250325982720570888808333058035587427982244795917897766192126153947302396188350346875998068356230515694247409920636392332411468502336205197989213263024053337331536239117696791845640104898504335919624091669350736887870142170348377574017694034808393425549949474408919442457789788639/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_leaf": "27120354141731090904486271526630853538298441768973819553925041993197218449906247096766403258536101339390515721308189006579766410374109152491364905271144719803591018688154913124280930503223171037750160064309959996241818037397725779956475667539429869654414628130517279086986949736979799805429530060400848538917480563728040852737973635602599280489575087164530655629974408919442457789788639/500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_reservations": "1/4000000000000000000000000", + "lambda_prime_below_one": "826104497184205912446378819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361/500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "epsilon_positive": "499999999999999999999999500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000/500826104497184205912446378819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361", + "epsilon_below_one": "826104497184205912446878819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361/500826104497184205912446378819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361", + "guard_width": "826104497184205912446878819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361/500826104497184205912446378819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361", + "K_geometry": "375826104497184205912446503819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361/500826104497184205912446378819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361000000000000000000000000", + "K_dominates_log": "826104497184205912446502993649274540683688808469549392689976668629771207076928496305244550523913306828275589938682348566856581045095069529521572980141612155697641674495265654305561472676750358020438873087795517117162964216620543226929219712762338530003520574278607528071365328345150260342882704677648330711849556926548888440882324865802019548110565281877964447551277650809104946969306080655644706740866990974408919442457789788639/500826104497184205912446378819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361000000000000000000000000", + "record_suffix": "826104497184205912446878819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361/500826104497184205912446378819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361", + "phase_local": "6608835977473647299574529731925676614910897593408133417921887576246954470199453202352864021374569577150910767128929639191122970995937746483463208107522848088258087337597252615680424341859665966150472359565233319852911843766450823253236493450978258070308190901502598440490462931431529306733974056518789732073842846503742948668459960919705733578944749832659769484124252040657390357559485218219547502212346517974408919442457789788639/4006608835977473647299571030558030173799116810039786953171693612465848209443568599664054422252400750023225868773931711189284875874229534487947361868717007126780069080757830842241571271850494760695005752555974214631697998719485520320030065455700818193760348194659684561042764682974955861767304104402104161601556563759516793211688660155490175673178096210915179205756083399302683754754960204728644460337681690888000000000000000000000000", + "phase_boundary": "1321767195494729459914505285501537575617449561578570880566997603568386915344573471109326219453969558570215747983560687763222271612310156125573713133917146664202822731332578822423406861463857410145870314785861614494512868178034567229184128890323703062029635173754949606278716551466839892890690534835460450828591838890308379317531836527565195036467781100516404879257532598510386553591321435303979232066993807574408919442457789788639/801321767195494729459914206111606034759823362007957390634338722493169641888713719932810884450480150004645173754786342237856975174845906897589472373743401425356013816151566168448314254370098952139001150511194842926339599743897104064006013091140163638752069638931936912208552936594991172353460820880420832320311312751903358642337732031098035134635619242183035841151216679860536750950992040945728892067536338177600000000000000000000000", + "gamma_sublinear": "1/2000000000000000000000000", + "cell_above_band": "999999999999999999999998499173895502815794087553621180246228275110398745026630853538298441768973819553925041993197218449906247096766403258536101339390515721308189006579766410374109152491364905271144719803591018688154913124280930503223171037750160064309959996241818037397725779956475667539429869654414628130517279086986949736979799805429530060400848538917480563728040852737973635602599280489575087164530655629974408919442457789788639/2003304417988736823649785515279015086899558405019893476585846806232924104721784299832027211126200375011612934386965855594642437937114767243973680934358503563390034540378915421120785635925247380347502876277987107315848999359742760160015032727850409096880174097329842280521382341487477930883652052201052080800778281879758396605844330077745087836589048105457589602878041699651341877377480102364322230168840845444000000000000000000000000", + "prime_interval_packing": "826104497184205912446878819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361/500826104497184205912446378819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361", + "alpha_positive": "1652208994368411824893256813403046265573290063567918539151678226860797387523003454312047332074007059731509186680146247227466065323786880522941806569767503003206276769224120934501970453988595444896157942584572346079412804152310583230687401675364612750047044906739177658416950700214632981255895754940668530906420026866148039901964844302073978695372591646275365167061702563644574291339331671736202248951078351974408919442457789788639/1001652208994368411824892757639507543449779202509946738292923403116462052360892149916013605563100187505806467193482927797321218968557383621986840467179251781695017270189457710560392817962623690173751438138993553657924499679871380080007516363925204548440087048664921140260691170743738965441826026100526040400389140939879198302922165038872543918294524052728794801439020849825670938688740051182161115084420422722000000000000000000000000", + "alpha_below_one": "999999999999999999999999500826104497184205912446378819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361/1001652208994368411824892757639507543449779202509946738292923403116462052360892149916013605563100187505806467193482927797321218968557383621986840467179251781695017270189457710560392817962623690173751438138993553657924499679871380080007516363925204548440087048664921140260691170743738965441826026100526040400389140939879198302922165038872543918294524052728794801439020849825670938688740051182161115084420422722000000000000000000000000", + "alpha_below_one_fourth": "248760843254223691131329932596473839596871510563918766034079172552254715702700034024691354058701039816720107611690585702102838676815559024973768310225045442420548040778140306705596234036667327098541701592163816068401712115815534436771191689305936524359974717259491107406755841985720108379200610770190841569190865208103651535828576415416062000878258421535923335192693509892773160380845681123804076522154027328525591080557542210211361/1001652208994368411824892757639507543449779202509946738292923403116462052360892149916013605563100187505806467193482927797321218968557383621986840467179251781695017270189457710560392817962623690173751438138993553657924499679871380080007516363925204548440087048664921140260691170743738965441826026100526040400389140939879198302922165038872543918294524052728794801439020849825670938688740051182161115084420422722000000000000000000000000", + "delta_positive": "1/8000000000000000000000000", + "delta_below_one_eighth": "999999999999999999999999/8000000000000000000000000", + "short_record_fallback": "499172530605535258148204467894413622366649364752615796356468001035238236450517537374493631619363733298840687671623161397641818269266749211349925706761067790808370765075450008284253571239696489935935053566461144738883161010851111679077097990732436701756985527194218092549531868890848622470137186563736328401324517482838466413031374630236137011585720945154073554670290847831565373475503741258489384028773988548652682478935707964970238955117949482840541572436848428721579739524322299623454936983662814547483400718276279308346848253879838472504570106968586516202950572541527287852414234879967747392915408989329348581710341757093094710913631142136741462492078081872395928826622342523315747139483873962190478398751777328141297794530179676308220833366881166966370160352431945328687129458140293472321/500826104497184205912446378819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "small_field_exposure": "1/1000000000000000000000000", + "artificial_boundary": "28052870687819789178396573746942554881945552217657432084634864074395589440468656236697540052712284541524031824211862034164560265703537066127970590931564509850315985626323347506810242717329863369746611861037020660989119250383041371050571010532356065357152905568552022376148940123930219891520143226253589408420900672815173496482569881827632815204222224070568991954864544636207549131231883796360430421207861560214076773241672626630634083/4006608835977473647299571030558030173799116810039786953171693612465848209443568599664054422252400750023225868773931711189284875874229534487947361868717007126780069080757830842241571271850494760695005752555974214631697998719485520320030065455700818193760348194659684561042764682974955861767304104402104161601556563759516793211688660155490175673178096210915179205756083399302683754754960204728644460337681690888000000000000000000000000", + "literal_scalar_guard": "1", + "row_product_gap": "23971789/25", + "balanced_prefix_above_kappa": "384836754948704936518390080286389004763190679571631416083335375425490380659422846922349219607884635917039474482556378074796393103615265478935526743142995785277965991920542575867329404082937294587671597128436387521101370842739834550650414154320702290281170117836140043954928114189095044806439229775952058740929618067139100165877377039970533655513737284898865861249271614750592100633440385821327668139841639581/500826104497184205912446378819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361000000000000000000", + "coordinate_movement_above_kappa": "2725291809432824892760943925532186602852295468626143987776322166643298144437891566249896386783794682250325982720570888808333058035587427982244795917897766192126153947302396188350346875998068356230515694247409920636392332411468502336205197989213263024053337331536239117696791845640104898504335919624091669350736887870142170348377574017694034808393425549949474408919442457789788639/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_phase_layer_above_kappa": "384836254122600439334184167840010185009418954682030161109966228963788822428396666476274261601081854366945721579322781333332494443005781200243715749722762195652075144411907481138474123886528313275826510252717318024324541880489994614960374150562520327678895897792615711494357983843509672936956508862939008477909417872568630226278225578888014219241778137636839496851870895240167187797971041451302077059284097370788639/500826104497184205912446378819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361000000000000000000000000", + "bulk_exposure_above_kappa": "2725291809432824892760943925532186602852295468626143987776322166643298144437891566249896386783794682250325982720570888808333058035587427982244795917897766192126153947302396188350346875998068356230515694247409920636392332411468502336205197989213263024053337331536239117696791845640104898504335919624091669350736887870142170348377574017694034808393425549949474408919442457789788639/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "Gaussian_arithmetic_above_kappa": "615738307091823401245218216011843587867333362425009010759967454219083050824050374629683793365812635917169406268856608178210330305174940487605031795608559666818854739564233026658871766336290690028429468529779150536985364386133895345350622643154941701847597968494299737867314852356966699820820046728510243722467188712852090325804651802870334412550020508576159013601433864090522448178035272944098677943189081119388639/801321767195494729459914206111606034759823362007957390634338722493169641888713719932810884450480150004645173754786342237856975174845906897589472373743401425356013816151566168448314254370098952139001150511194842926339599743897104064006013091140163638752069638931936912208552936594991172353460820880420832320311312751903358642337732031098035134635619242183035841151216679860536750950992040945728892067536338177600000000000000000000000", + "scalar_work_above_kappa": "3078693538763534994962914729844733218351753711683450073693313856942221487044356594932718798856274305786222042957217427856907246168312639552792402951723732692597837087855705512209779952467089375389527690151772030672034137779668836469513273230807436359647086722645596019178854783167174986582031117294603419664416744342542331387419864858681749807837939131928900525596772198494311892232053742200595754038175574437788639/4006608835977473647299571030558030173799116810039786953171693612465848209443568599664054422252400750023225868773931711189284875874229534487947361868717007126780069080757830842241571271850494760695005752555974214631697998719485520320030065455700818193760348194659684561042764682974955861767304104402104161601556563759516793211688660155490175673178096210915179205756083399302683754754960204728644460337681690888000000000000000000000000", + "dimension_above_kappa": "499173895502815794472389376128951164793500479031415635616728978013400389902889300467483577877872753169445986011143172018378864998277686263802972870025639588088018108048266929997769582939230730780453685013440517758709347288500697481097612660777232276430370629988241720150824532464270561234015101138832024606244659306012459589468535547702828206730115013606136254794226859986030391904901589159511543091230174460327668139841639581/500826104497184205912446378819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361000000000000000000" + }, + "controls": [ + "next_grid", + "zero_eta", + "zero_beta", + "unit_beta" + ], + "scope": "Conditional native exact-complex witness after complete conservative admission, moment and outer checks; PR559 exact-cover recurrence correction only, bit bad-residue surcharge and H1-H5 retained. The new source-branch gauge and retired-basis completion, 44 cold dimension-four ends, and explicit all72 whole-owner dispatch are composed with the same cited unchanged PR543 bit supplier as PR635. All-size compiler, common-label/mutable-source realization, whole-call hosting, precision/tape and analytic transfer remain assumptions. No unconditional theorem or full Lean certification." +} diff --git a/research/gauge44-slots-t16/evidence/BINDING.json b/research/gauge44-slots-t16/evidence/BINDING.json new file mode 100644 index 0000000000..b03160c67a --- /dev/null +++ b/research/gauge44-slots-t16/evidence/BINDING.json @@ -0,0 +1,25 @@ +{ + "status": "PASS_FROZEN_048_ALLCOLD_DISPATCH_FRESH_PROVIDER_BINDING", + "source_plan_sha256": "8c4804859aee83082196348c33127070d2885d3a366ce9acc8dc5166202f4687", + "runtime_plan_sha256": "609adb126d7d3de2abdd9275f9015589c0b137d0d19821c2c3e7c1a8541c18d2", + "providers": { + "gauge44": { + "artifact_sha256": { + "CANONICAL-WORD.json.gz": "92941c2b718b533f1d3addb710d261a6e2b9ec5d19f0051d79775b08cb2571ed", + "LOCAL-PROGRAMS.json.gz": "172dc3d23e437909ddc01d07b12ede735afbb5bb6145f1ddf5c2e03097dfebe2", + "LOCAL-CHECKS.json": "2b8a6a6854b8df8ecd84d8ff2b92f720c81454636988e6a0dfdc1f6c29d1c82c", + "INDEPENDENT-LOCAL-REPLAY.json": "18d68326ce0aca76911d561e79a817bce90cb8adfe053e19621c7ae0298b842e", + "CLIFFORD-RECIPES.json": "0a60293f43d88dbb1b321f02e61204afe1b6272b1346968ef35705caea1e4771", + "CLIFFORD-REVIEW.json": "4e3cdd616d105a49bbf1948bb53e49938d515c42f1c026781d1b5e9cb636db12", + "RESIDUAL-ADAPTERS.json": "bb6c23ba1b8dd5d2016724c3348b4e91a6b91daaa3f56bbd5216cb7a96bf5c94" + }, + "canonical_content_sha256": "e6daee410e04d5e023faf21144081534ad222d334ce786e6b5f52407e6b3c41f", + "all_phase_edges": 3019 + } + }, + "only_rebound_fields": [ + "provider_registry.directory", + "provider_registry.artifact_sha256", + "runtime_source_plan_sha256" + ] +} diff --git a/research/gauge44-slots-t16/evidence/CENTER-COMPATIBILITY.json b/research/gauge44-slots-t16/evidence/CENTER-COMPATIBILITY.json new file mode 100644 index 0000000000..5a3ae37422 --- /dev/null +++ b/research/gauge44-slots-t16/evidence/CENTER-COMPATIBILITY.json @@ -0,0 +1,112 @@ +{ + "status": "PASS_IDENTICAL_PORT_ORDER_AND_ORDERED_CENTER_FRAMES", + "new_canonical_sha256": "92941c2b718b533f1d3addb710d261a6e2b9ec5d19f0051d79775b08cb2571ed", + "comparison_canonical": "pr635/research/community-k492-audit/pr626/replay/mixed-global/base/split-centres/CANONICAL-WORD.json.gz", + "comparison_canonical_sha256": "66d3c3c70983224650643a0a05a21ac6c6959f84d0f4528650601016f5a76844", + "new_centers": [ + 92, + 57, + 81, + 224, + 11, + 240, + 9, + 256 + ], + "old_centers": [ + 229, + 224, + 227, + 225, + 243, + 241, + 259, + 257 + ], + "ordered_center_frames": [ + [ + 256, + 128, + 64, + 34, + 16, + 10, + 4, + 1 + ], + [ + 256, + 128, + 64, + 32, + 16, + 8, + 5, + 3 + ], + [ + 256, + 128, + 64, + 32, + 17, + 9, + 4, + 2 + ], + [ + 256, + 128, + 64, + 36, + 20, + 8, + 2, + 1 + ], + [ + 256, + 128, + 66, + 32, + 18, + 8, + 4, + 1 + ], + [ + 256, + 128, + 65, + 33, + 17, + 9, + 5, + 3 + ], + [ + 256, + 128, + 65, + 33, + 16, + 8, + 4, + 2 + ], + [ + 256, + 128, + 68, + 32, + 16, + 12, + 2, + 1 + ] + ], + "v": 112, + "h": 9, + "center_count": 8, + "scope": "Carrier register identity changes; native cut center channels retain exact ordered frames and ports. Full endpoint and exact center clearing are independently checked by local ledger replay." +} diff --git a/research/gauge44-slots-t16/evidence/LOCAL-STAGES.json b/research/gauge44-slots-t16/evidence/LOCAL-STAGES.json new file mode 100644 index 0000000000..b2753eb57a --- /dev/null +++ b/research/gauge44-slots-t16/evidence/LOCAL-STAGES.json @@ -0,0 +1,27 @@ +[ + { + "tag": "44-native", + "seconds": 4.460461161999774, + "exit": 0 + }, + { + "tag": "44-emitted-ledgers", + "seconds": 3.058037757999955, + "exit": 0 + }, + { + "tag": "44-local-replay", + "seconds": 28.33760359400003, + "exit": 0 + }, + { + "tag": "44-wrappers", + "seconds": 5.294312295000054, + "exit": 0 + }, + { + "tag": "44-phase", + "seconds": 198.39076561599995, + "exit": 0 + } +] diff --git a/research/gauge44-slots-t16/evidence/REPLAY.json b/research/gauge44-slots-t16/evidence/REPLAY.json new file mode 100644 index 0000000000..c6f4e0f983 --- /dev/null +++ b/research/gauge44-slots-t16/evidence/REPLAY.json @@ -0,0 +1,54 @@ +{ + "status": "PASS_GAUGE44_STRICT_GLOBAL_REPLAY", + "kappa": "1649483702558979/1000000000000000000", + "kappa_decimal": "0.001649483702558979", + "complex_lower": "1652208994368411824947/1000000000000000000000000", + "bit_lower": "413456747036699736067/250000000000000000000000", + "gain_over_pr635_percent": "0.8093060205252829126484020359439672024956960385078942889840023844750830", + "spec_sha256": "fee57674a7f36b30b1e7eb96a8f567a90a522217bc644c1a6a1f8bff85196fbf", + "stages": [ + { + "name": "restore-parent", + "seconds": 2.152, + "exit_code": 0, + "log_sha256": "fc3a01967636bd3173ee7e5049fae45b890e1fad4564b6acdd6aaca30a4e4ea5" + }, + { + "name": "bind", + "seconds": 0.686, + "exit_code": 0, + "log_sha256": "71f679ce5a123fb58397fd6852ba64ce3832fd20e81a096bfda9a1cf3237237a" + }, + { + "name": "emit", + "seconds": 5.456, + "exit_code": 0, + "log_sha256": "60866eb6ced5b9eb259bfc1d59ea7b80fb439164b629e868586ad5bef845a88e" + }, + { + "name": "audit", + "seconds": 26.943, + "exit_code": 0, + "log_sha256": "df19a41a599bf24fd1efaeb2394af63208f95b9e3ca4f83c6f23e9641fb3d662" + }, + { + "name": "invoice", + "seconds": 1.897, + "exit_code": 0, + "log_sha256": "5d10712d494304287749dd7a6c3369f9b707bba30e9f567b68230669dcf5418a" + }, + { + "name": "assembly", + "seconds": 0.724, + "exit_code": 0, + "log_sha256": "768d3215f1918117dc6c33b4cfeaf0b5f5da9ba5c77178db4bb1d08d000e226f" + }, + { + "name": "admission-controls", + "seconds": 0.816, + "exit_code": 0, + "log_sha256": "051d242318154827c1672ffbb63ad2bdc8ecc4033be650b791dd69cd57d716b3" + } + ], + "scope": "Conditional native exact-complex witness after complete conservative admission, moment and outer checks; PR559 exact-cover recurrence correction only, bit bad-residue surcharge and H1-H5 retained. The new source-branch gauge and retired-basis completion, 44 cold dimension-four ends, and explicit all72 whole-owner dispatch are composed with the same cited unchanged PR543 bit supplier as PR635. All-size compiler, common-label/mutable-source realization, whole-call hosting, precision/tape and analytic transfer remain assumptions. No unconditional theorem or full Lean certification." +} diff --git a/research/gauge44-slots-t16/evidence/STAGES.json b/research/gauge44-slots-t16/evidence/STAGES.json new file mode 100644 index 0000000000..9464e2dfea --- /dev/null +++ b/research/gauge44-slots-t16/evidence/STAGES.json @@ -0,0 +1,44 @@ +[ + { + "name": "restore-parent", + "seconds": 2.152, + "exit_code": 0, + "log_sha256": "fc3a01967636bd3173ee7e5049fae45b890e1fad4564b6acdd6aaca30a4e4ea5" + }, + { + "name": "bind", + "seconds": 0.686, + "exit_code": 0, + "log_sha256": "71f679ce5a123fb58397fd6852ba64ce3832fd20e81a096bfda9a1cf3237237a" + }, + { + "name": "emit", + "seconds": 5.456, + "exit_code": 0, + "log_sha256": "60866eb6ced5b9eb259bfc1d59ea7b80fb439164b629e868586ad5bef845a88e" + }, + { + "name": "audit", + "seconds": 26.943, + "exit_code": 0, + "log_sha256": "df19a41a599bf24fd1efaeb2394af63208f95b9e3ca4f83c6f23e9641fb3d662" + }, + { + "name": "invoice", + "seconds": 1.897, + "exit_code": 0, + "log_sha256": "5d10712d494304287749dd7a6c3369f9b707bba30e9f567b68230669dcf5418a" + }, + { + "name": "assembly", + "seconds": 0.724, + "exit_code": 0, + "log_sha256": "768d3215f1918117dc6c33b4cfeaf0b5f5da9ba5c77178db4bb1d08d000e226f" + }, + { + "name": "admission-controls", + "seconds": 0.816, + "exit_code": 0, + "log_sha256": "051d242318154827c1672ffbb63ad2bdc8ecc4033be650b791dd69cd57d716b3" + } +] diff --git a/research/gauge44-slots-t16/evidence/audit/ASYNC-AUDIT.json b/research/gauge44-slots-t16/evidence/audit/ASYNC-AUDIT.json new file mode 100644 index 0000000000..05975382b5 --- /dev/null +++ b/research/gauge44-slots-t16/evidence/audit/ASYNC-AUDIT.json @@ -0,0 +1,84 @@ +{ + "status": "PASS_INDEPENDENT_ASYNC_WHOLE_OWNER_CONTROLLER_PHASES_AND_SPECTATORS", + "template_sha256": "0c2aab7dc120f5882a0171496cbbe819cac81373dcb425802a15f45e36898a46", + "complex_template_sha256": "0c2aab7dc120f5882a0171496cbbe819cac81373dcb425802a15f45e36898a46", + "complex_live": 7168, + "complex_profile": { + "1": 181093, + "2": 29164, + "3": 32429, + "4": 11520, + "5": 4032, + "7": 7, + "8": 582, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + }, + "complex_hosted_residuals": 35424, + "physical": 7670, + "rank_mass": 520704, + "deficit": 2560, + "entering_helper_roles": 17856, + "cross_replica_helper_roles": 25937, + "one_owner_per_complete_invocation": true, + "helper_busy_family_window_checks": 35424, + "complete_invocations": 72, + "actual_orthogonal_73column_maps": 7870, + "actual_sigma_stream_sha256": "f4e9802acb2ed53fc1f0486e7d0f55a6faa30ed7f5d2ad48a06450234b00ba76", + "all_actual_residual_and_spectator_charts": true, + "idle_remainders": 2759, + "mutations_rejected": [ + "alias two whole owners", + "helper on active data family", + "owner in private namespace", + "wrong residual width", + "wrong spectator coordinate", + "omit idle remainder", + "understate physical reserve", + "gauge44: wrong provider at its invocation", + "gauge44: stale per-call local program hash", + "gauge44: stale serialized provider program", + "gauge44: unbound residual adapter hash", + "gauge44: wrong provider width registry", + "gauge44: wrong per-call residual width", + "gauge44: wrong sweep provider", + "gauge44: entering helper width silently restored to nine" + ], + "mutation_controls_run": true, + "provider_phase_semantic_sha256": { + "gauge44": "1b4aa8bf9185b423e3f29e0ee2eb4d7082e2408c2b09cba1ef02282282731152" + }, + "provider_artifact_semantic_sha256": { + "gauge44": { + "CANONICAL-WORD.json.gz": "e6daee410e04d5e023faf21144081534ad222d334ce786e6b5f52407e6b3c41f", + "LOCAL-PROGRAMS.json.gz": "39b230dba9e6b022c691cd0167f331c1b3fa6795d49256e3a2b859c68d4acfda", + "LOCAL-CHECKS.json": "bd53e0cca4488f365ca5b7c7174d8dfb35ced5e0229835f27334c11c3d839717", + "INDEPENDENT-LOCAL-REPLAY.json": "adb5c8ce0b5025dcd96f41b9fa0e26b9a176e067ab36a5bfadad00bc19522b38", + "CLIFFORD-RECIPES.json": "0a60293f43d88dbb1b321f02e61204afe1b6272b1346968ef35705caea1e4771", + "CLIFFORD-REVIEW.json": "1b4aa8bf9185b423e3f29e0ee2eb4d7082e2408c2b09cba1ef02282282731152", + "RESIDUAL-ADAPTERS.json": "c233611dd4c08c389dfb6c7d1c84dd86a3efa560223fcd6549a2848692541cd9" + } + }, + "widths_by_provider": { + "gauge44": { + "4": 52, + "5": 48, + "7": 34, + "8": 114, + "9": 244 + } + }, + "provider_counts": { + "gauge44": 72 + }, + "all_provider_program_phase_and_wrapper_bindings": true, + "scope": "Independent exact asynchronous chronology, per-replica phase projection, owner/chart/paid-profile audit. Uses per-invocation local providers bound by exact scalar, phase and residual-wrapper receipts; all-size compilation and complete coefficient invoice are separate inherited obligations." +} diff --git a/research/gauge44-slots-t16/evidence/audit/GLOBAL-PREFIX.json b/research/gauge44-slots-t16/evidence/audit/GLOBAL-PREFIX.json new file mode 100644 index 0000000000..a557ebbe60 --- /dev/null +++ b/research/gauge44-slots-t16/evidence/audit/GLOBAL-PREFIX.json @@ -0,0 +1,13 @@ +{ + "status": "PASS_MIXED_ASYNC_GLOBAL_PREFIX", + "template_sha256": "0c2aab7dc120f5882a0171496cbbe819cac81373dcb425802a15f45e36898a46", + "global_prefix_bits": 360, + "retained_payload_bits": 512, + "complete_invocation_cover_sweeps": 72, + "bridge_factor_two_sweeps": 72, + "local_scalar_coefficient_work_prefix_bits": 175, + "stream_input_sup_to_l2_bits": 37, + "primitive_arithmetic_margin_bits": 4, + "controller_audit_sha256": "df19a41a599bf24fd1efaeb2394af63208f95b9e3ca4f83c6f23e9641fb3d662", + "proof": "Each selected normalized provider restores all arbitrary dirty helper columns and gives the same data shear endpoints. Actual whole-owner charts are right-translation bijections. Sum all 72 invocation and 72 bridge sweeps and take maximum local scalar/Horner prefix over all three providers and orientations. Idle children, phases, spectator endpoints and terminal translations are unitary. Retained all-size interfaces are conditional." +} diff --git a/research/gauge44-slots-t16/evidence/audit/IDLE-REMAINDER-FRAMES.json b/research/gauge44-slots-t16/evidence/audit/IDLE-REMAINDER-FRAMES.json new file mode 100644 index 0000000000..1c86a8a01d --- /dev/null +++ b/research/gauge44-slots-t16/evidence/audit/IDLE-REMAINDER-FRAMES.json @@ -0,0 +1,25 @@ +{ + "status": "PASS_LITERAL_IDLE_REMAINDER_FRAMES", + "template_sha256": "0c2aab7dc120f5882a0171496cbbe819cac81373dcb425802a15f45e36898a46", + "uncompressed_frames_sha256": "38eba7dfe023d0b2a8aea1c5184e50bdfff5727b350c2de4d27800acbdd3708c", + "children": 2759, + "rank_profile": { + "1": 85, + "2": 76, + "3": 173, + "7": 7, + "8": 6, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + }, + "source_data_phase_sha256": "c5916ff312678f12aba403847643fbbc29f643acec60bdf836fa56cd3e8251fa", + "scope": "Actual orthogonal axes after the independently checked whole-owner prefix in each inherited pending child." +} diff --git a/research/gauge44-slots-t16/evidence/audit/OWNERS-AND-PROFILE.json b/research/gauge44-slots-t16/evidence/audit/OWNERS-AND-PROFILE.json new file mode 100644 index 0000000000..bdb9441b7e --- /dev/null +++ b/research/gauge44-slots-t16/evidence/audit/OWNERS-AND-PROFILE.json @@ -0,0 +1,61 @@ +{ + "status": "PASS_INDEPENDENT_ASYNC_OWNERS_AND_PROFILE", + "template_sha256": "0c2aab7dc120f5882a0171496cbbe819cac81373dcb425802a15f45e36898a46", + "paid_profile": { + "1": 181093, + "2": 29164, + "3": 32429, + "4": 11520, + "5": 4032, + "7": 7, + "8": 582, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + }, + "live": 7168, + "physical": 7670, + "rank_mass": 520704, + "deficit": 2560, + "hosted_residuals": 35424, + "banked_residuals": 0, + "all_live_owners_per_call_distinct": true, + "owners_per_call": 716, + "actual_helper_owner_charts": 35424, + "actual_73column_sigmas": 7870, + "cross_replica_helper_roles": 25937, + "explicit_idle_remainder_children": 2759, + "source_idle_children_charged": 16128, + "source_artifacts": { + "work/complex-nine-native/DATA-PHASES.json": "c5916ff312678f12aba403847643fbbc29f643acec60bdf836fa56cd3e8251fa", + "providers/gauge44/CANONICAL-WORD.json.gz": "92941c2b718b533f1d3addb710d261a6e2b9ec5d19f0051d79775b08cb2571ed", + "providers/gauge44/LOCAL-PROGRAMS.json.gz": "172dc3d23e437909ddc01d07b12ede735afbb5bb6145f1ddf5c2e03097dfebe2", + "providers/gauge44/LOCAL-CHECKS.json": "2b8a6a6854b8df8ecd84d8ff2b92f720c81454636988e6a0dfdc1f6c29d1c82c", + "providers/gauge44/INDEPENDENT-LOCAL-REPLAY.json": "18d68326ce0aca76911d561e79a817bce90cb8adfe053e19621c7ae0298b842e", + "providers/gauge44/RESIDUAL-ADAPTERS.json": "bb6c23ba1b8dd5d2016724c3348b4e91a6b91daaa3f56bbd5216cb7a96bf5c94", + "providers/gauge44/CLIFFORD-RECIPES.json": "0a60293f43d88dbb1b321f02e61204afe1b6272b1346968ef35705caea1e4771", + "providers/gauge44/CLIFFORD-REVIEW.json": "4e3cdd616d105a49bbf1948bb53e49938d515c42f1c026781d1b5e9cb636db12" + }, + "provider_phase_semantic_sha256": { + "gauge44": "1b4aa8bf9185b423e3f29e0ee2eb4d7082e2408c2b09cba1ef02282282731152" + }, + "provider_artifact_semantic_sha256": { + "gauge44": { + "CANONICAL-WORD.json.gz": "e6daee410e04d5e023faf21144081534ad222d334ce786e6b5f52407e6b3c41f", + "LOCAL-PROGRAMS.json.gz": "39b230dba9e6b022c691cd0167f331c1b3fa6795d49256e3a2b859c68d4acfda", + "LOCAL-CHECKS.json": "bd53e0cca4488f365ca5b7c7174d8dfb35ced5e0229835f27334c11c3d839717", + "INDEPENDENT-LOCAL-REPLAY.json": "adb5c8ce0b5025dcd96f41b9fa0e26b9a176e067ab36a5bfadad00bc19522b38", + "CLIFFORD-RECIPES.json": "0a60293f43d88dbb1b321f02e61204afe1b6272b1346968ef35705caea1e4771", + "CLIFFORD-REVIEW.json": "1b4aa8bf9185b423e3f29e0ee2eb4d7082e2408c2b09cba1ef02282282731152", + "RESIDUAL-ADAPTERS.json": "c233611dd4c08c389dfb6c7d1c84dd86a3efa560223fcd6549a2848692541cd9" + } + }, + "controller_audit_sha256": "df19a41a599bf24fd1efaeb2394af63208f95b9e3ca4f83c6f23e9641fb3d662" +} diff --git a/research/gauge44-slots-t16/evidence/audit/PREFIX-AND-INVOICE.json b/research/gauge44-slots-t16/evidence/audit/PREFIX-AND-INVOICE.json new file mode 100644 index 0000000000..6c96ec6706 --- /dev/null +++ b/research/gauge44-slots-t16/evidence/audit/PREFIX-AND-INVOICE.json @@ -0,0 +1,1746 @@ +{ + "status": "PASS_INDEPENDENT_MIXED_ASYNC_SCALAR_PREFIX_AND_FINITE_INVOICE", + "template_sha256": "0c2aab7dc120f5882a0171496cbbe819cac81373dcb425802a15f45e36898a46", + "parent_template_sha256": "7db047a427a7979d69e163c78a1e32bd445628fb86723e131a3138361355a9c3", + "owner_audit_sha256": "a32ecc0d5387d65648e1ff284209122860ee37aaba43ce2dd12024c4bc394313", + "controller_audit_sha256": "df19a41a599bf24fd1efaeb2394af63208f95b9e3ca4f83c6f23e9641fb3d662", + "providers": { + "gauge44": { + "local": { + "backward": { + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "prefix_l1": "600338326363508935771850050281004728884643/32", + "prefix_bits": 134, + "coefficient_work_primitive_count": 208744, + "all_exact_columns": 716, + "dirty_helper_columns": 492, + "all_dirty_helper_columns_restored": true, + "private_centres_and_coefficient_work_cleared": true, + "pre_wrappers": 248, + "post_wrappers": 248, + "endpoint_evidence": "Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json" + }, + "forward": { + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "prefix_l1": "2323449462751823289130723296176889733365478515961323543/64", + "prefix_bits": 175, + "coefficient_work_primitive_count": 208712, + "all_exact_columns": 716, + "dirty_helper_columns": 492, + "all_dirty_helper_columns_restored": true, + "private_centres_and_coefficient_work_cleared": true, + "pre_wrappers": 248, + "post_wrappers": 248, + "endpoint_evidence": "Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json" + } + }, + "helpers": 492, + "centres": 8, + "v": 112, + "h": 9, + "n": 716, + "entering_helpers": 204, + "entrance_rank": 380, + "terminal_codimension": 254, + "hyperplane_ended_helpers": 78, + "cold_hyperplane_ended_helpers": 44, + "width_inventory": { + "4": 52, + "5": 48, + "7": 34, + "8": 114, + "9": 244 + }, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 9, + 8, + 9, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ], + "local_adapters": 738816, + "local_primitive_bound": 19160702806276, + "compiler": 25934336, + "children": 3590, + "artifacts": { + "WRAPPER-CHECKS.json": "84c727930f85f1c91900d6d12c523735c8b5d6907cd3eb1bd1030fe1fd4161d7", + "RESIDUAL-ADAPTERS.json": "bb6c23ba1b8dd5d2016724c3348b4e91a6b91daaa3f56bbd5216cb7a96bf5c94", + "LOCAL-PROGRAMS.json.gz": "172dc3d23e437909ddc01d07b12ede735afbb5bb6145f1ddf5c2e03097dfebe2", + "INDEPENDENT-LOCAL-REPLAY.json": "18d68326ce0aca76911d561e79a817bce90cb8adfe053e19621c7ae0298b842e", + "CANONICAL-WORD.json.gz": "92941c2b718b533f1d3addb710d261a6e2b9ec5d19f0051d79775b08cb2571ed", + "SCALAR-FRAME-AUDIT.json": "cfc73040079b43ea82a42f3cf4c910edda1362deb09ec21c816c329347313bcb", + "FULL-WORD.json.gz": "0ad202612f010df4ab66432a628247b37ad8b497dd6b27595b1685cbd7eb119e", + "CLIFFORD-RECIPES.json": "0a60293f43d88dbb1b321f02e61204afe1b6272b1346968ef35705caea1e4771", + "CLIFFORD-REVIEW.json": "4e3cdd616d105a49bbf1948bb53e49938d515c42f1c026781d1b5e9cb636db12", + "LOCAL-CHECKS.json": "2b8a6a6854b8df8ecd84d8ff2b92f720c81454636988e6a0dfdc1f6c29d1c82c" + }, + "paid_profile": { + "1": 2514, + "2": 404, + "3": 448, + "4": 160, + "5": 56, + "8": 8 + }, + "program_hashes": { + "backward": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "forward": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9" + }, + "semantic_artifact_sha256": { + "CANONICAL-WORD.json.gz": "e6daee410e04d5e023faf21144081534ad222d334ce786e6b5f52407e6b3c41f", + "LOCAL-PROGRAMS.json.gz": "39b230dba9e6b022c691cd0167f331c1b3fa6795d49256e3a2b859c68d4acfda", + "LOCAL-CHECKS.json": "bd53e0cca4488f365ca5b7c7174d8dfb35ced5e0229835f27334c11c3d839717", + "INDEPENDENT-LOCAL-REPLAY.json": "adb5c8ce0b5025dcd96f41b9fa0e26b9a176e067ab36a5bfadad00bc19522b38", + "CLIFFORD-RECIPES.json": "0a60293f43d88dbb1b321f02e61204afe1b6272b1346968ef35705caea1e4771", + "CLIFFORD-REVIEW.json": "1b4aa8bf9185b423e3f29e0ee2eb4d7082e2408c2b09cba1ef02282282731152", + "RESIDUAL-ADAPTERS.json": "c233611dd4c08c389dfb6c7d1c84dd86a3efa560223fcd6549a2848692541cd9" + } + } + }, + "provider_phase_semantic_sha256": { + "gauge44": "1b4aa8bf9185b423e3f29e0ee2eb4d7082e2408c2b09cba1ef02282282731152" + }, + "provider_counts": { + "gauge44": 72 + }, + "selected_calls": [ + { + "stage": 0, + "replica": 0, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 0, + "replica": 1, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 1, + "replica": 0, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 0, + "replica": 2, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 1, + "replica": 1, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 2, + "replica": 0, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 0, + "replica": 3, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 1, + "replica": 2, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 2, + "replica": 1, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 3, + "replica": 0, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 0, + "replica": 4, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 1, + "replica": 3, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 2, + "replica": 2, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 3, + "replica": 1, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 4, + "replica": 0, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 0, + "replica": 5, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 1, + "replica": 4, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 2, + "replica": 3, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 3, + "replica": 2, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 4, + "replica": 1, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 5, + "replica": 0, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 0, + "replica": 6, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 1, + "replica": 5, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 2, + "replica": 4, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 3, + "replica": 3, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 4, + "replica": 2, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 5, + "replica": 1, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 0, + "replica": 7, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 6, + "replica": 0, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 1, + "replica": 6, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 2, + "replica": 5, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 3, + "replica": 4, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 4, + "replica": 3, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 5, + "replica": 2, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 6, + "replica": 1, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 1, + "replica": 7, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 7, + "replica": 0, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 2, + "replica": 6, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 3, + "replica": 5, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 4, + "replica": 4, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 5, + "replica": 3, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 6, + "replica": 2, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 7, + "replica": 1, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 2, + "replica": 7, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 8, + "replica": 0, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 3, + "replica": 6, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 4, + "replica": 5, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 5, + "replica": 4, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 6, + "replica": 3, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 7, + "replica": 2, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 8, + "replica": 1, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 3, + "replica": 7, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 4, + "replica": 6, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 5, + "replica": 5, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 6, + "replica": 4, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 7, + "replica": 3, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 8, + "replica": 2, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 4, + "replica": 7, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 5, + "replica": 6, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 6, + "replica": 5, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 7, + "replica": 4, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 8, + "replica": 3, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 5, + "replica": 7, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 6, + "replica": 6, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 7, + "replica": 5, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 8, + "replica": 4, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 6, + "replica": 7, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 7, + "replica": 6, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 8, + "replica": 5, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 7, + "replica": 7, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 8, + "replica": 6, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 8, + "replica": 7, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + } + ], + "selected_local_paid_profile": { + "1": 181008, + "2": 29088, + "3": 32256, + "4": 11520, + "5": 4032, + "8": 576 + }, + "selected_real_component_primitives": 30245280, + "selected_coefficient_work_primitive_count": 15028288, + "selected_scalar_macros": 2993040, + "global_prefix_bits": 360, + "charged_prefix_bits": 512, + "complete_invocation_sweeps": 72, + "bridge_sweeps": 72, + "row_prefix_extra": 1024, + "helpers": 492, + "centres": 8, + "live": 7168, + "physical": 7670, + "physical_stock_identity": { + "data_and_owner_families": 7168, + "local_helpers": 492, + "private_centres": 8, + "coefficient_work": 2 + }, + "local_adapters": 738816, + "local_primitive_bound": 19160702806276, + "wrapper_elementary_factors_charged": 5142528, + "factors_per_wrapper": 144, + "compiler": 25934336, + "unhosted_pervertex": 2486201168471768, + "hosted_rebased_pervertex": 2486201168171612, + "conservative_pervertex_used": 5364148158196336, + "retained_prior_overcharge": { + "sha256": "ce1bfa49be88ae67a404f606a11db2232b7e1f2610d4418058e39749d86d8478", + "previous_pervertex_allowance": 2877946989724568, + "added_complete_new_pervertex": 2486201168471768, + "policy": "Retain old allowance and add entire fresh mixed recount." + }, + "finite": { + "physical_stock_bits": 2641, + "router_bits": 7986, + "literal_bits": 35282, + "physical_row_coefficient": 16467, + "retained_row_coefficient": 20161, + "required_C0_bits": 200012, + "halving_integer_inequality": [ + 5329, + 4608 + ], + "G_exponent": 30000, + "E_exponent": 100000, + "C0_exponent": 210000 + }, + "strict_checks": { + "local_primitive_bound": true, + "logical": true, + "router": true, + "literal": true, + "mass": true, + "precision": true, + "tape": true, + "row": true, + "halving": true + }, + "scope": "Actual call-specific mixed scalar, Horner, wrappers and paid children recounted. All three providers use fresh hash-bound independent all-column/frame/phase/normalization admission. Shared compiler uses conservative maxima; parent is geometry/overcharge only. All-size compiler, hosting, precision/tape and analytic transfer remain conditional." +} diff --git a/research/gauge44-slots-t16/evidence/global/ACTUAL-SIGMAS.json.gz b/research/gauge44-slots-t16/evidence/global/ACTUAL-SIGMAS.json.gz new file mode 100644 index 0000000000..dbb57066e2 Binary files /dev/null and b/research/gauge44-slots-t16/evidence/global/ACTUAL-SIGMAS.json.gz differ diff --git a/research/gauge44-slots-t16/evidence/global/GLOBAL-TEMPLATE.json.gz b/research/gauge44-slots-t16/evidence/global/GLOBAL-TEMPLATE.json.gz new file mode 100644 index 0000000000..424c2df489 Binary files /dev/null and b/research/gauge44-slots-t16/evidence/global/GLOBAL-TEMPLATE.json.gz differ diff --git a/research/gauge44-slots-t16/evidence/global/HOSTED.json b/research/gauge44-slots-t16/evidence/global/HOSTED.json new file mode 100644 index 0000000000..498e849ab7 --- /dev/null +++ b/research/gauge44-slots-t16/evidence/global/HOSTED.json @@ -0,0 +1,60 @@ +{ + "status": "EMITTED_MIXED_PROVIDER_ASYNCHRONOUS_WHOLE_OWNER_COMPLEX_TEMPLATE", + "template_sha256": "0c2aab7dc120f5882a0171496cbbe819cac81373dcb425802a15f45e36898a46", + "parent_template_sha256": "7db047a427a7979d69e163c78a1e32bd445628fb86723e131a3138361355a9c3", + "live": 7168, + "physical": 7670, + "global_profile": { + "1": 181093, + "2": 29164, + "3": 32429, + "4": 11520, + "5": 4032, + "7": 7, + "8": 582, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + }, + "rank_mass": 520704, + "deficit": 2560, + "maxchild": 48, + "hosted_residuals": 35424, + "banks_per_stage": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "entering_helper_roles": 17856, + "unique_actual_73column_sigmas": 7870, + "sigma_stream_sha256": "f4e9802acb2ed53fc1f0486e7d0f55a6faa30ed7f5d2ad48a06450234b00ba76", + "cross_replica_helper_roles": 25937, + "asynchronous_order_sha256": "2acd6b2004be3d3ef6645f3c968feb22b5167c400bb49eb446821e5cb7af6eee", + "source_artifacts": { + "work/complex-nine-native/DATA-PHASES.json": "c5916ff312678f12aba403847643fbbc29f643acec60bdf836fa56cd3e8251fa", + "providers/gauge44/CANONICAL-WORD.json.gz": "92941c2b718b533f1d3addb710d261a6e2b9ec5d19f0051d79775b08cb2571ed", + "providers/gauge44/LOCAL-PROGRAMS.json.gz": "172dc3d23e437909ddc01d07b12ede735afbb5bb6145f1ddf5c2e03097dfebe2", + "providers/gauge44/LOCAL-CHECKS.json": "2b8a6a6854b8df8ecd84d8ff2b92f720c81454636988e6a0dfdc1f6c29d1c82c", + "providers/gauge44/INDEPENDENT-LOCAL-REPLAY.json": "18d68326ce0aca76911d561e79a817bce90cb8adfe053e19621c7ae0298b842e", + "providers/gauge44/RESIDUAL-ADAPTERS.json": "bb6c23ba1b8dd5d2016724c3348b4e91a6b91daaa3f56bbd5216cb7a96bf5c94", + "providers/gauge44/CLIFFORD-RECIPES.json": "0a60293f43d88dbb1b321f02e61204afe1b6272b1346968ef35705caea1e4771", + "providers/gauge44/CLIFFORD-REVIEW.json": "4e3cdd616d105a49bbf1948bb53e49938d515c42f1c026781d1b5e9cb636db12" + }, + "provider_counts": { + "gauge44": 72 + }, + "scope": "Two actual verified plain/width-seven providers dispatched per complete invocation; independent controller/spectator/normalization and complete finite invoice admission required." +} diff --git a/research/gauge44-slots-t16/evidence/global/IDLE-REMAINDER-FRAMES.json.gz b/research/gauge44-slots-t16/evidence/global/IDLE-REMAINDER-FRAMES.json.gz new file mode 100644 index 0000000000..3562e60f05 Binary files /dev/null and b/research/gauge44-slots-t16/evidence/global/IDLE-REMAINDER-FRAMES.json.gz differ diff --git a/research/gauge44-slots-t16/evidence/layers/LOCAL-AUDIT-LAYERED.json b/research/gauge44-slots-t16/evidence/layers/LOCAL-AUDIT-LAYERED.json new file mode 100644 index 0000000000..0780787674 --- /dev/null +++ b/research/gauge44-slots-t16/evidence/layers/LOCAL-AUDIT-LAYERED.json @@ -0,0 +1,137 @@ +{ + "status": "PASS_INDEPENDENT_EXACT_FORWARD_AND_DUAL_ENDPOINT_FRAMES_ENTRANCES_CONES", + "input_file": "FULL-WORD.json.gz", + "content_sha256": "db2c7cfb3f8eee2b76c2e0154fc530520fb4d90cd9511a002cab527b16033b83", + "compressed_sha256": "3b268a3adb543e930454e9d9405e5f7a664c75c487f6c5cbe29c199f24a89789", + "parent_center_interface": { + "parent_path": "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/CANONICAL-WORD.json.gz", + "parent_file_sha256": "66d3c3c70983224650643a0a05a21ac6c6959f84d0f4528650601016f5a76844", + "transport_tau": 43, + "ordered_frame_bases_match": true, + "all_ports_match": true, + "transported_centers": [ + 92, + 57, + 81, + 224, + 11, + 240, + 9, + 256 + ], + "source_centers": [ + 92, + 57, + 81, + 11, + 9 + ], + "ordered_frame_bases": [ + [ + 256, + 128, + 64, + 34, + 16, + 10, + 4, + 1 + ], + [ + 256, + 128, + 64, + 32, + 16, + 8, + 5, + 3 + ], + [ + 256, + 128, + 64, + 32, + 17, + 9, + 4, + 2 + ], + [ + 256, + 128, + 64, + 36, + 20, + 8, + 2, + 1 + ], + [ + 256, + 128, + 66, + 32, + 18, + 8, + 4, + 1 + ], + [ + 256, + 128, + 65, + 33, + 17, + 9, + 5, + 3 + ], + [ + 256, + 128, + 65, + 33, + 16, + 8, + 4, + 2 + ], + [ + 256, + 128, + 68, + 32, + 16, + 12, + 2, + 1 + ] + ] + }, + "v": 112, + "h": 9, + "R": 480, + "entering": 192, + "lowends": 78, + "coldends": 48, + "compensation_gates": 7208, + "local_profile": { + "1": 2412, + "2": 418, + "3": 418, + "4": 170, + "5": 68, + "8": 8 + }, + "width_inventory": { + "4": 56, + "5": 32, + "7": 30, + "8": 122, + "9": 240 + }, + "checked_columns": 704, + "elapsed_seconds": 0.8600000000005821, + "scope": "Exact rational full scalar map in both orientations; all literal native frame chains, center levels, dyadic units, entrance-zero response, wrapper exclusion and final helper row/column cones. No global owner admission or exponent repricing." +} diff --git a/research/gauge44-slots-t16/evidence/leaver/CELL-MUTANTS-LV.json b/research/gauge44-slots-t16/evidence/leaver/CELL-MUTANTS-LV.json new file mode 100644 index 0000000000..4d4ef7403c --- /dev/null +++ b/research/gauge44-slots-t16/evidence/leaver/CELL-MUTANTS-LV.json @@ -0,0 +1,261 @@ +{ + "c01m": { + "base": { + "audit_local": "PASS", + "native": "PASS" + }, + "window": [ + 611, + 631 + ], + "mutants": { + "M1_drop_leaver_restore_233": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [233])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M2_flip_yy_B623": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [172, 175])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M3_delete_xy_B611": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [132, 135, 173, 174])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M4_target_reads_entering_h448": { + "audit_local": "RuntimeError: nonzero entrance response", + "native": "AssertionError: zero-frame compensation reads an entering helper" + }, + "M5_wrong_leaver_restore_233": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [233])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M6_unrelabelled_dirty_yy_source": { + "audit_local": "RuntimeError: nonzero entrance response", + "native": "AssertionError: zero-frame compensation reads an entering helper" + } + }, + "all_rejected_both": true + }, + "c01p": { + "base": { + "audit_local": "PASS", + "native": "PASS" + }, + "window": [ + 611, + 631 + ], + "mutants": { + "M1_drop_leaver_restore_57": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [57, 58, 224, 225, 226])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M2_flip_yy_B623": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [169, 170])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M3_delete_xy_B611": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [129, 130, 168, 171])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M4_target_reads_entering_h448": { + "audit_local": "RuntimeError: nonzero entrance response", + "native": "AssertionError: zero-frame compensation reads an entering helper" + }, + "M5_wrong_leaver_restore_57": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [57, 58, 224, 225, 226])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M6_unrelabelled_dirty_yy_source": { + "audit_local": "RuntimeError: nonzero entrance response", + "native": "AssertionError: zero-frame compensation reads an entering helper" + } + }, + "all_rejected_both": true + }, + "c23m": { + "base": { + "audit_local": "PASS", + "native": "PASS" + }, + "window": [ + 611, + 631 + ], + "mutants": { + "M1_drop_leaver_restore_58": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [58])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M2_flip_yy_B623": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [169, 170])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M3_delete_xy_B611": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [173, 174, 196, 199])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M4_target_reads_entering_h448": { + "audit_local": "RuntimeError: nonzero entrance response", + "native": "AssertionError: zero-frame compensation reads an entering helper" + }, + "M5_wrong_leaver_restore_58": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [58])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M6_unrelabelled_dirty_yy_source": { + "audit_local": "RuntimeError: nonzero entrance response", + "native": "AssertionError: zero-frame compensation reads an entering helper" + } + }, + "all_rejected_both": true + }, + "c23p": { + "base": { + "audit_local": "PASS", + "native": "PASS" + }, + "window": [ + 611, + 631 + ], + "mutants": { + "M1_drop_leaver_restore_239": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [60, 63, 231, 232, 238, 239])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M2_flip_yy_B623": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [172, 175])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M3_delete_xy_B611": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [168, 171, 193, 194])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M4_target_reads_entering_h448": { + "audit_local": "RuntimeError: nonzero entrance response", + "native": "AssertionError: zero-frame compensation reads an entering helper" + }, + "M5_wrong_leaver_restore_239": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [60, 63, 231, 232, 238, 239])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M6_unrelabelled_dirty_yy_source": { + "audit_local": "RuntimeError: nonzero entrance response", + "native": "AssertionError: zero-frame compensation reads an entering helper" + } + }, + "all_rejected_both": true + }, + "c45m": { + "base": { + "audit_local": "PASS", + "native": "PASS" + }, + "window": [ + 611, + 631 + ], + "mutants": { + "M1_drop_leaver_restore_441": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [52, 55, 439, 440, 446, 447])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M2_flip_yy_B623": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [137, 138])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M3_delete_xy_B611": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [141, 142, 164, 167])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M4_target_reads_entering_h448": { + "audit_local": "RuntimeError: nonzero entrance response", + "native": "AssertionError: zero-frame compensation reads an entering helper" + }, + "M5_wrong_leaver_restore_441": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [52, 55, 439, 440, 446, 447])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M6_unrelabelled_dirty_yy_source": { + "audit_local": "RuntimeError: nonzero entrance response", + "native": "AssertionError: zero-frame compensation reads an entering helper" + } + }, + "all_rejected_both": true + }, + "c45p": { + "base": { + "audit_local": "PASS", + "native": "PASS" + }, + "window": [ + 611, + 631 + ], + "mutants": { + "M1_drop_leaver_restore_255": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [28, 31, 247, 248, 254, 255])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M2_flip_yy_B623": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [140, 143])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M3_delete_xy_B611": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [136, 139, 161, 162])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M4_target_reads_entering_h448": { + "audit_local": "RuntimeError: nonzero entrance response", + "native": "AssertionError: zero-frame compensation reads an entering helper" + }, + "M5_wrong_leaver_restore_255": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [28, 31, 247, 248, 254, 255])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M6_unrelabelled_dirty_yy_source": { + "audit_local": "RuntimeError: nonzero entrance response", + "native": "AssertionError: zero-frame compensation reads an entering helper" + } + }, + "all_rejected_both": true + }, + "c67m": { + "base": { + "audit_local": "PASS", + "native": "PASS" + }, + "window": [ + 611, + 631 + ], + "mutants": { + "M1_drop_leaver_restore_18": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [18])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M2_flip_yy_B623": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [129, 130])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M3_delete_xy_B611": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [133, 134, 161, 162])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M4_target_reads_entering_h448": { + "audit_local": "RuntimeError: nonzero entrance response", + "native": "AssertionError: zero-frame compensation reads an entering helper" + }, + "M5_wrong_leaver_restore_18": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [18])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M6_unrelabelled_dirty_yy_source": { + "audit_local": "RuntimeError: nonzero entrance response", + "native": "AssertionError: zero-frame compensation reads an entering helper" + } + }, + "all_rejected_both": true + } +} \ No newline at end of file diff --git a/research/gauge44-slots-t16/evidence/leaver/FRAME-CONTROLS-LV-k8.json b/research/gauge44-slots-t16/evidence/leaver/FRAME-CONTROLS-LV-k8.json new file mode 100644 index 0000000000..9f56e21000 --- /dev/null +++ b/research/gauge44-slots-t16/evidence/leaver/FRAME-CONTROLS-LV-k8.json @@ -0,0 +1,54 @@ +{ + "base": "c836d892", + "recipe": "FRAME-RECIPE-LV-k8.json", + "controls": { + "shrink_raised_B": { + "builder": "profile and width pins", + "stage": "native_atc", + "native": "PASS", + "rc": 0, + "reason": "}", + "frame": [ + "B", + 539 + ] + }, + "shrink_lowered_B": { + "builder": "('nonmonotone', 174)", + "stage": "apply", + "reason": "('nonmonotone', 174)" + }, + "shrink_T": { + "builder": "('nonmonotone', 554)", + "stage": "apply", + "reason": "('nonmonotone', 554)" + }, + "empty_B": { + "builder": "('nonmonotone', 169)", + "stage": "apply", + "reason": "('nonmonotone', 169)" + }, + "drop_one_lowering": { + "builder": "output word pin", + "stage": "native_atc", + "native": "PASS", + "rc": 0, + "reason": "}", + "frame": [ + "B", + 1232 + ] + }, + "drop_one_raise": { + "builder": "profile and width pins", + "stage": "native_atc", + "native": "PASS", + "rc": 0, + "reason": "}", + "frame": [ + "B", + 539 + ] + } + } +} diff --git a/research/gauge44-slots-t16/evidence/local/CANONICAL-WORD.json.gz b/research/gauge44-slots-t16/evidence/local/CANONICAL-WORD.json.gz new file mode 100644 index 0000000000..5062a1f62f Binary files /dev/null and b/research/gauge44-slots-t16/evidence/local/CANONICAL-WORD.json.gz differ diff --git a/research/gauge44-slots-t16/evidence/local/CLIFFORD-RECIPES.json b/research/gauge44-slots-t16/evidence/local/CLIFFORD-RECIPES.json new file mode 100644 index 0000000000..3ba8326d3a --- /dev/null +++ b/research/gauge44-slots-t16/evidence/local/CLIFFORD-RECIPES.json @@ -0,0 +1 @@ +{"children":[{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":2,"old":0,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,1,1,2],"matrix_rows":[203,257,258,4,264,16,32,320,384],"offset":0,"phase":0,"quadratic_rows":[459,459,0,459,0,0,459,459,203]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":3,"old":0,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":4,"old":0,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":5,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":6,"old":0,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":7,"old":0,"rank":1,"right":{"linear_Z4":[3,3,0,2,0,0,0,0,0],"matrix_rows":[11,9,10,4,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":8,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,3,3,2],"matrix_rows":[448,1,2,4,8,16,32,320,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,0,192,192,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":9,"old":0,"rank":1,"right":{"linear_Z4":[3,0,3,3,0,3,3,3,2],"matrix_rows":[493,257,2,260,264,16,288,320,384],"offset":1,"phase":1,"quadratic_rows":[237,0,237,237,0,237,237,237,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":10,"old":0,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,2,0,0,0],"matrix_rows":[38,1,34,36,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":11,"old":0,"rank":1,"right":{"linear_Z4":[3,3,0,0,3,3,3,3,2],"matrix_rows":[499,257,258,4,8,272,288,320,384],"offset":1,"phase":1,"quadratic_rows":[243,243,0,0,243,243,243,243,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":12,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,2,0,0,0],"matrix_rows":[56,1,2,4,40,48,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,24,24,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":13,"old":0,"rank":1,"right":{"linear_Z4":[3,0,3,0,2,0,0,0,0],"matrix_rows":[21,17,2,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":14,"old":0,"rank":1,"right":{"linear_Z4":[0,3,3,3,3,0,3,3,2],"matrix_rows":[478,1,258,260,264,272,32,320,384],"offset":1,"phase":1,"quadratic_rows":[0,222,222,222,222,0,222,222,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,33,64,1,130,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":18,"old":0,"rank":2,"right":{"linear_Z4":[1,0,1,1,0,2,3,3,2],"matrix_rows":[13,448,33,2,36,40,16,320,384],"offset":2,"phase":1,"quadratic_rows":[45,0,45,45,0,13,192,192,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,19,35,66,1,130,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":25,"old":0,"rank":2,"right":{"linear_Z4":[1,3,0,0,3,2,3,3,2],"matrix_rows":[13,478,33,258,292,296,272,320,384],"offset":2,"phase":1,"quadratic_rows":[45,222,243,243,222,13,222,222,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[6,8,18,35,1,3,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":26,"old":0,"rank":2,"right":{"linear_Z4":[1,0,1,2,0,2,0,0,0],"matrix_rows":[24,13,49,2,52,40,64,128,256],"offset":0,"phase":0,"quadratic_rows":[61,0,61,53,13,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":36,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,0,3,2,0],"matrix_rows":[208,1,2,4,8,144,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,80,0,80,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":37,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,0,3,0,2],"matrix_rows":[336,1,2,4,8,272,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,80,0,80,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":38,"old":0,"rank":1,"right":{"linear_Z4":[3,0,3,3,3,3,3,0,2],"matrix_rows":[381,257,2,260,264,272,288,320,128],"offset":1,"phase":1,"quadratic_rows":[125,0,125,125,125,125,125,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":39,"old":0,"rank":1,"right":{"linear_Z4":[3,0,3,3,3,3,3,2,0],"matrix_rows":[253,129,2,132,136,144,160,192,256],"offset":1,"phase":1,"quadratic_rows":[125,0,125,125,125,125,125,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":40,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,3,0,0,2],"matrix_rows":[296,1,2,4,264,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,40,0,40,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":41,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,3,0,2,0],"matrix_rows":[168,1,2,4,136,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,40,0,40,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":42,"old":0,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,2,0],"matrix_rows":[133,129,2,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":43,"old":0,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,0,2],"matrix_rows":[261,257,2,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[6,8,18,35,64,3,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":54,"old":0,"rank":2,"right":{"linear_Z4":[1,0,1,2,0,2,0,0,0],"matrix_rows":[264,13,289,2,292,40,16,64,128],"offset":0,"phase":0,"quadratic_rows":[301,0,301,293,0,13,0,0,13]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[6,8,18,35,64,3,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":55,"old":0,"rank":2,"right":{"linear_Z4":[1,0,1,2,0,2,0,0,0],"matrix_rows":[136,13,161,2,164,40,16,64,256],"offset":0,"phase":0,"quadratic_rows":[173,0,173,165,0,13,0,13,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":65,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,0,0,3,2],"matrix_rows":[400,1,2,4,8,272,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,144,0,0,144,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":66,"old":0,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,2,0,0,0],"matrix_rows":[35,33,34,4,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":67,"old":0,"rank":1,"right":{"linear_Z4":[0,3,3,2,0,0,0,0,0],"matrix_rows":[14,1,10,12,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":68,"old":0,"rank":1,"right":{"linear_Z4":[3,0,3,3,3,3,0,3,2],"matrix_rows":[445,257,2,260,264,272,288,64,384],"offset":1,"phase":1,"quadratic_rows":[189,0,189,189,189,189,0,189,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":69,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,3,2,0,0],"matrix_rows":[104,1,2,4,72,16,96,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,40,0,40,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":70,"old":0,"rank":1,"right":{"linear_Z4":[3,3,0,3,3,0,3,3,2],"matrix_rows":[475,257,258,4,264,272,32,320,384],"offset":1,"phase":1,"quadratic_rows":[219,219,0,219,219,0,219,219,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":71,"old":0,"rank":1,"right":{"linear_Z4":[0,3,3,0,3,3,3,3,2],"matrix_rows":[502,1,258,260,8,272,288,320,384],"offset":1,"phase":1,"quadratic_rows":[0,246,246,0,246,246,246,246,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":72,"old":0,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,2,0,0],"matrix_rows":[69,65,2,68,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[7,9,18,2,32,3,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":76,"old":0,"rank":2,"right":{"linear_Z4":[2,3,3,2,0,2,0,0,0],"matrix_rows":[43,5,33,42,12,16,64,128,256],"offset":3,"phase":2,"quadratic_rows":[14,3,13,5,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[6,8,18,35,64,3,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":83,"old":0,"rank":2,"right":{"linear_Z4":[1,0,1,2,0,2,0,0,0],"matrix_rows":[72,13,97,2,100,40,16,128,256],"offset":0,"phase":0,"quadratic_rows":[109,0,109,101,0,13,13,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":94,"old":0,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,2,0,0,0],"matrix_rows":[41,33,2,4,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":95,"old":0,"rank":1,"right":{"linear_Z4":[3,3,3,0,3,3,0,3,2],"matrix_rows":[439,257,258,260,8,272,288,64,384],"offset":1,"phase":1,"quadratic_rows":[183,183,183,0,183,183,0,183,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":96,"old":0,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,0,0,3,2],"matrix_rows":[388,1,2,260,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,132,0,0,0,0,132,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":97,"old":0,"rank":1,"right":{"linear_Z4":[0,3,0,3,2,0,0,0,0],"matrix_rows":[26,1,18,4,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":98,"old":0,"rank":1,"right":{"linear_Z4":[3,3,3,3,0,0,3,3,2],"matrix_rows":[463,257,258,260,264,16,32,320,384],"offset":1,"phase":1,"quadratic_rows":[207,207,207,207,0,0,207,207,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":99,"old":0,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,2,0,0],"matrix_rows":[81,65,2,4,8,80,32,128,256],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":100,"old":0,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,3,2,0,0],"matrix_rows":[98,1,66,4,8,16,96,128,256],"offset":1,"phase":1,"quadratic_rows":[0,34,0,0,0,34,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":101,"old":0,"rank":1,"right":{"linear_Z4":[0,0,3,3,3,3,3,3,2],"matrix_rows":[508,1,2,260,264,272,288,320,384],"offset":1,"phase":1,"quadratic_rows":[0,0,252,252,252,252,252,252,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[6,10,19,35,65,1,131,259,3],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":112,"old":0,"rank":2,"right":{"linear_Z4":[3,3,0,0,1,2,0,0,3],"matrix_rows":[476,463,289,290,260,264,48,320,384],"offset":2,"phase":1,"quadratic_rows":[239,239,275,275,508,19,275,275,476]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":123,"old":0,"rank":1,"right":{"linear_Z4":[3,3,3,0,3,3,3,0,2],"matrix_rows":[375,257,258,260,8,272,288,320,128],"offset":1,"phase":1,"quadratic_rows":[119,119,119,0,119,119,119,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":124,"old":0,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,0,3,2,0],"matrix_rows":[196,1,2,132,8,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,0,68,0,0,0,68,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":125,"old":0,"rank":1,"right":{"linear_Z4":[3,3,3,0,3,3,3,2,0],"matrix_rows":[247,129,130,132,8,144,160,192,256],"offset":1,"phase":1,"quadratic_rows":[119,119,119,0,119,119,119,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":126,"old":0,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,0,3,0,2],"matrix_rows":[324,1,2,260,8,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,0,68,0,0,0,68,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":127,"old":0,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,2,0],"matrix_rows":[145,129,2,4,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":128,"old":0,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,3,0,0,2],"matrix_rows":[290,1,258,4,8,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,34,0,0,0,34,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":129,"old":0,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,0,2],"matrix_rows":[273,257,2,4,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":130,"old":0,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,3,0,2,0],"matrix_rows":[162,1,130,4,8,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,34,0,0,0,34,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":152,"old":0,"rank":1,"right":{"linear_Z4":[3,3,3,0,0,3,3,3,2],"matrix_rows":[487,257,258,260,8,16,288,320,384],"offset":1,"phase":1,"quadratic_rows":[231,231,231,0,0,231,231,231,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":153,"old":0,"rank":1,"right":{"linear_Z4":[0,0,3,0,3,0,2,0,0],"matrix_rows":[84,1,2,68,8,80,32,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,20,0,20,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":154,"old":0,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,2,0,0],"matrix_rows":[74,1,66,4,72,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":155,"old":0,"rank":1,"right":{"linear_Z4":[3,0,0,3,3,3,3,3,2],"matrix_rows":[505,257,2,4,264,272,288,320,384],"offset":1,"phase":1,"quadratic_rows":[249,0,0,249,249,249,249,249,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":156,"old":0,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,2,0,0,0],"matrix_rows":[44,1,2,36,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":157,"old":0,"rank":1,"right":{"linear_Z4":[3,3,3,3,3,0,0,3,2],"matrix_rows":[415,257,258,260,264,272,32,64,384],"offset":1,"phase":1,"quadratic_rows":[159,159,159,159,159,0,0,159,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":158,"old":0,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,0,0,3,2],"matrix_rows":[385,257,2,4,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[129,0,0,0,0,0,0,129,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":159,"old":0,"rank":1,"right":{"linear_Z4":[0,3,0,0,3,2,0,0,0],"matrix_rows":[50,1,34,4,8,48,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,11,17,33,3,2,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":170,"old":0,"rank":2,"right":{"linear_Z4":[0,2,1,1,2,0,0,0,0],"matrix_rows":[14,34,1,18,52,56,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,60,62,62,14,14,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,20,32,70,130,2,6,257,1],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":172,"old":0,"rank":3,"right":{"linear_Z4":[3,3,0,2,3,2,2,3,2],"matrix_rows":[385,24,106,257,98,4,72,48,384],"offset":7,"phase":3,"quadratic_rows":[129,10,0,50,56,24,0,129,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[15,23,35,65,133,6,2,263,7],"offset":0,"phase":0,"quadratic_rows":[6,5,7,0,0,0,0,0,0]},"new":173,"old":0,"rank":3,"right":{"linear_Z4":[3,3,2,3,0,0,0,3,2],"matrix_rows":[415,391,499,257,258,356,296,336,384],"offset":3,"phase":2,"quadratic_rows":[235,235,376,191,300,415,391,235,116]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[15,21,35,71,129,2,4,263,7],"offset":0,"phase":0,"quadratic_rows":[6,3,5,0,0,0,0,0,0]},"new":174,"old":0,"rank":3,"right":{"linear_Z4":[1,0,0,1,3,1,1,1,0],"matrix_rows":[415,493,491,257,290,324,264,368,384],"offset":1,"phase":1,"quadratic_rows":[153,340,306,153,255,116,114,153,6]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,70,128,4,2,257,1],"offset":0,"phase":0,"quadratic_rows":[0,4,2,0,0,0,0,0,0]},"new":175,"old":0,"rank":3,"right":{"linear_Z4":[3,3,3,2,0,1,1,3,2],"matrix_rows":[385,106,108,257,66,36,104,16,384],"offset":7,"phase":3,"quadratic_rows":[129,42,76,102,0,106,108,129,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":181,"old":0,"rank":1,"right":{"linear_Z4":[0,0,3,0,3,0,0,2,0],"matrix_rows":[148,1,2,132,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,20,0,20,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":182,"old":0,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,0,0,2],"matrix_rows":[266,1,258,4,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":183,"old":0,"rank":1,"right":{"linear_Z4":[0,0,3,0,3,0,0,0,2],"matrix_rows":[276,1,2,260,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,20,0,20,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":184,"old":0,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,0,2,0],"matrix_rows":[138,1,130,4,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":185,"old":0,"rank":1,"right":{"linear_Z4":[3,3,3,3,3,0,3,0,2],"matrix_rows":[351,257,258,260,264,272,32,320,128],"offset":1,"phase":1,"quadratic_rows":[95,95,95,95,95,0,95,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":186,"old":0,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,0,3,2,0],"matrix_rows":[193,129,2,4,8,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[65,0,0,0,0,0,65,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":187,"old":0,"rank":1,"right":{"linear_Z4":[3,3,3,3,3,0,3,2,0],"matrix_rows":[223,129,130,132,136,144,32,192,256],"offset":1,"phase":1,"quadratic_rows":[95,95,95,95,95,0,95,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":188,"old":0,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,0,3,0,2],"matrix_rows":[321,257,2,4,8,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[65,0,0,0,0,0,65,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[13,18,33,66,129,256,5,2,4],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":201,"old":0,"rank":3,"right":{"linear_Z4":[2,3,1,3,1,0,2,2,0],"matrix_rows":[21,138,257,65,130,324,136,336,32],"offset":2,"phase":1,"quadratic_rows":[340,10,341,10,341,0,21,0,21]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[13,18,33,66,129,256,5,4,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":202,"old":0,"rank":3,"right":{"linear_Z4":[2,3,1,3,1,0,2,0,2],"matrix_rows":[21,266,129,65,258,196,264,208,32],"offset":2,"phase":1,"quadratic_rows":[212,10,213,10,213,0,21,21,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[11,23,32,71,128,256,3,6,2],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":203,"old":0,"rank":3,"right":{"linear_Z4":[0,3,0,3,0,0,2,1,2],"matrix_rows":[11,395,138,65,450,4,456,16,32],"offset":6,"phase":2,"quadratic_rows":[448,202,0,202,0,0,11,395,129]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,17,36,65,132,256,1,6,2],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":204,"old":0,"rank":3,"right":{"linear_Z4":[1,1,3,1,3,0,2,3,0],"matrix_rows":[11,384,148,65,66,388,72,400,32],"offset":4,"phase":1,"quadratic_rows":[75,75,276,75,276,0,11,384,148]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":210,"old":0,"rank":1,"right":{"linear_Z4":[3,0,3,2,0,0,0,0,0],"matrix_rows":[13,9,2,12,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":211,"old":0,"rank":1,"right":{"linear_Z4":[0,3,3,3,3,3,0,3,2],"matrix_rows":[446,1,258,260,264,272,288,64,384],"offset":1,"phase":1,"quadratic_rows":[0,190,190,190,190,190,0,190,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":212,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,3,0,3,2],"matrix_rows":[416,1,2,4,8,16,288,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,160,0,160,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":213,"old":0,"rank":1,"right":{"linear_Z4":[3,3,0,0,2,0,0,0,0],"matrix_rows":[19,17,18,4,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":214,"old":0,"rank":1,"right":{"linear_Z4":[3,3,0,3,0,3,3,3,2],"matrix_rows":[491,257,258,4,264,16,288,320,384],"offset":1,"phase":1,"quadratic_rows":[235,235,0,235,0,235,235,235,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":215,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,0,2,0,0],"matrix_rows":[88,1,2,4,72,80,32,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,24,24,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":216,"old":0,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,2,0,0],"matrix_rows":[70,1,66,68,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":217,"old":0,"rank":1,"right":{"linear_Z4":[3,0,3,0,3,3,3,3,2],"matrix_rows":[501,257,2,260,8,272,288,320,384],"offset":1,"phase":1,"quadratic_rows":[245,0,245,0,245,245,245,245,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,33,1,66,128,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":221,"old":0,"rank":2,"right":{"linear_Z4":[0,1,1,1,2,3,0,3,2],"matrix_rows":[14,416,1,18,20,24,288,64,384],"offset":2,"phase":1,"quadratic_rows":[0,30,30,30,14,160,0,160,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[7,9,18,33,2,67,131,259,3],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":228,"old":0,"rank":2,"right":{"linear_Z4":[0,3,1,3,2,0,0,0,3],"matrix_rows":[491,485,257,274,20,280,288,320,384],"offset":1,"phase":1,"quadratic_rows":[270,251,501,251,14,270,270,270,485]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":239,"old":0,"rank":1,"right":{"linear_Z4":[0,3,3,3,3,3,3,0,2],"matrix_rows":[382,1,258,260,264,272,288,320,128],"offset":1,"phase":1,"quadratic_rows":[0,126,126,126,126,126,126,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":240,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,3,3,2,0],"matrix_rows":[224,1,2,4,8,16,160,192,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,96,96,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":241,"old":0,"rank":1,"right":{"linear_Z4":[0,3,3,3,3,3,3,2,0],"matrix_rows":[254,1,130,132,136,144,160,192,256],"offset":1,"phase":1,"quadratic_rows":[0,126,126,126,126,126,126,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":242,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,3,3,0,2],"matrix_rows":[352,1,2,4,8,16,288,320,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,96,96,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":243,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,0,0,2,0],"matrix_rows":[152,1,2,4,136,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,24,24,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":244,"old":0,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,0,2],"matrix_rows":[262,1,258,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":245,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,0,0,0,2],"matrix_rows":[280,1,2,4,264,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,24,24,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":246,"old":0,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,2,0],"matrix_rows":[134,1,130,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,33,1,66,130,2,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":250,"old":0,"rank":2,"right":{"linear_Z4":[0,1,1,1,2,3,3,2,0],"matrix_rows":[14,224,1,18,20,24,160,192,256],"offset":2,"phase":1,"quadratic_rows":[0,30,30,30,14,96,96,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":268,"old":0,"rank":1,"right":{"linear_Z4":[0,3,3,3,0,3,3,3,2],"matrix_rows":[494,1,258,260,264,16,288,320,384],"offset":1,"phase":1,"quadratic_rows":[0,238,238,238,0,238,238,238,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":269,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,3,2,0,0],"matrix_rows":[112,1,2,4,8,80,96,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,48,48,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":270,"old":0,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,2,0,0],"matrix_rows":[67,65,66,4,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":271,"old":0,"rank":1,"right":{"linear_Z4":[3,0,3,3,3,0,3,3,2],"matrix_rows":[477,257,2,260,264,272,32,320,384],"offset":1,"phase":1,"quadratic_rows":[221,0,221,221,221,0,221,221,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":272,"old":0,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,2,0,0,0],"matrix_rows":[37,33,2,36,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":273,"old":0,"rank":1,"right":{"linear_Z4":[3,3,0,3,3,3,0,3,2],"matrix_rows":[443,257,258,4,264,272,288,64,384],"offset":1,"phase":1,"quadratic_rows":[187,187,0,187,187,187,0,187,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":274,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,0,0,3,2],"matrix_rows":[392,1,2,4,264,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,136,0,0,0,136,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":275,"old":0,"rank":1,"right":{"linear_Z4":[0,3,3,0,2,0,0,0,0],"matrix_rows":[22,1,18,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[6,10,16,32,67,3,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":279,"old":0,"rank":2,"right":{"linear_Z4":[1,1,0,0,2,2,0,0,0],"matrix_rows":[80,19,97,98,4,8,48,128,256],"offset":0,"phase":0,"quadratic_rows":[115,115,0,0,99,19,19,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,19,32,2,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":286,"old":0,"rank":2,"right":{"linear_Z4":[3,3,2,0,1,1,0,0,0],"matrix_rows":[53,54,33,18,52,8,64,128,256],"offset":3,"phase":2,"quadratic_rows":[21,38,51,0,53,54,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":297,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,3,0,2,0],"matrix_rows":[176,1,2,4,8,144,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,48,48,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":298,"old":0,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,0,2],"matrix_rows":[259,257,258,4,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":299,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,3,0,0,2],"matrix_rows":[304,1,2,4,8,272,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,48,48,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":300,"old":0,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,2,0],"matrix_rows":[131,129,130,4,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":301,"old":0,"rank":1,"right":{"linear_Z4":[3,3,0,3,3,3,3,0,2],"matrix_rows":[379,257,258,4,264,272,288,320,128],"offset":1,"phase":1,"quadratic_rows":[123,123,0,123,123,123,123,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":302,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,0,3,2,0],"matrix_rows":[200,1,2,4,136,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,72,0,0,72,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":303,"old":0,"rank":1,"right":{"linear_Z4":[3,3,0,3,3,3,3,2,0],"matrix_rows":[251,129,130,4,136,144,160,192,256],"offset":1,"phase":1,"quadratic_rows":[123,123,0,123,123,123,123,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":304,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,0,3,0,2],"matrix_rows":[328,1,2,4,264,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,72,0,0,72,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[6,10,16,32,67,3,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":308,"old":0,"rank":2,"right":{"linear_Z4":[1,1,0,0,2,2,0,0,0],"matrix_rows":[272,19,289,290,4,8,48,64,128],"offset":0,"phase":0,"quadratic_rows":[307,307,0,0,291,19,0,0,19]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":326,"old":0,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,0,2],"matrix_rows":[265,257,2,4,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":327,"old":0,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,2,0],"matrix_rows":[137,129,2,4,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":328,"old":0,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,3,0,2,0],"matrix_rows":[164,1,2,132,8,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,36,0,0,36,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":329,"old":0,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,3,0,0,2],"matrix_rows":[292,1,2,260,8,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,36,0,0,36,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":330,"old":0,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,3,2,0],"matrix_rows":[194,1,130,4,8,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,66,0,0,0,0,66,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":331,"old":0,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,3,0,2],"matrix_rows":[322,1,258,4,8,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,66,0,0,0,0,66,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":332,"old":0,"rank":1,"right":{"linear_Z4":[3,3,3,3,0,3,3,0,2],"matrix_rows":[367,257,258,260,264,16,288,320,128],"offset":1,"phase":1,"quadratic_rows":[111,111,111,111,0,111,111,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":333,"old":0,"rank":1,"right":{"linear_Z4":[3,3,3,3,0,3,3,2,0],"matrix_rows":[239,129,130,132,136,16,160,192,256],"offset":1,"phase":1,"quadratic_rows":[111,111,111,111,0,111,111,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[6,8,19,34,64,3,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":337,"old":0,"rank":2,"right":{"linear_Z4":[1,0,2,1,0,2,0,0,0],"matrix_rows":[132,13,161,2,36,168,16,64,256],"offset":0,"phase":0,"quadratic_rows":[173,0,169,173,0,13,0,13,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,17,33,64,1,130,2,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":344,"old":0,"rank":2,"right":{"linear_Z4":[1,3,1,1,0,2,3,2,0],"matrix_rows":[13,194,33,130,36,40,16,192,256],"offset":2,"phase":1,"quadratic_rows":[45,66,45,45,0,13,66,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,17,33,64,1,130,256,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":345,"old":0,"rank":2,"right":{"linear_Z4":[1,3,1,1,0,2,3,0,2],"matrix_rows":[13,322,33,258,36,40,16,320,128],"offset":2,"phase":1,"quadratic_rows":[45,66,45,45,0,13,66,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[8,19,39,64,128,263,3,6,2],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":350,"old":0,"rank":3,"right":{"linear_Z4":[0,0,3,0,0,3,2,1,2],"matrix_rows":[38,422,164,1,66,452,8,16,480],"offset":6,"phase":2,"quadratic_rows":[0,448,228,0,0,228,38,422,130]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[12,18,34,68,128,258,2,5,1],"offset":0,"phase":0,"quadratic_rows":[5,2,1,0,0,0,0,0,0]},"new":351,"old":0,"rank":3,"right":{"linear_Z4":[3,1,1,3,0,1,2,3,0],"matrix_rows":[384,38,137,385,66,68,392,16,96],"offset":4,"phase":1,"quadratic_rows":[265,102,102,265,0,102,38,384,137]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[10,19,36,66,128,260,3,1,4],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":352,"old":0,"rank":3,"right":{"linear_Z4":[1,2,3,1,0,3,2,0,2],"matrix_rows":[130,11,292,193,66,260,200,16,288],"offset":4,"phase":1,"quadratic_rows":[203,201,36,203,0,36,11,11,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[10,19,36,66,128,260,3,4,1],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":353,"old":0,"rank":3,"right":{"linear_Z4":[1,2,3,1,0,3,2,2,0],"matrix_rows":[258,11,164,321,66,132,328,16,160],"offset":4,"phase":1,"quadratic_rows":[331,329,36,331,0,36,11,0,11]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":355,"old":0,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,2,0,0],"matrix_rows":[73,65,2,4,72,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":356,"old":0,"rank":1,"right":{"linear_Z4":[0,3,0,3,3,3,3,3,2],"matrix_rows":[506,1,258,4,264,272,288,320,384],"offset":1,"phase":1,"quadratic_rows":[0,250,0,250,250,250,250,250,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":357,"old":0,"rank":1,"right":{"linear_Z4":[3,3,3,0,3,0,3,3,2],"matrix_rows":[471,257,258,260,8,272,32,320,384],"offset":1,"phase":1,"quadratic_rows":[215,215,215,0,215,0,215,215,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":358,"old":0,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,3,2,0,0],"matrix_rows":[100,1,2,68,8,16,96,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,36,0,0,36,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":359,"old":0,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,0,3,2],"matrix_rows":[386,1,258,4,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,130,0,0,0,0,0,130,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":360,"old":0,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,2,0,0,0],"matrix_rows":[49,33,2,4,8,48,64,128,256],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":361,"old":0,"rank":1,"right":{"linear_Z4":[0,0,3,3,2,0,0,0,0],"matrix_rows":[28,1,2,20,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":362,"old":0,"rank":1,"right":{"linear_Z4":[3,3,3,3,0,3,0,3,2],"matrix_rows":[431,257,258,260,264,16,288,64,384],"offset":1,"phase":1,"quadratic_rows":[175,175,175,175,0,175,0,175,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[6,11,18,33,67,1,131,259,3],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":366,"old":0,"rank":2,"right":{"linear_Z4":[3,0,3,1,0,2,0,0,3],"matrix_rows":[474,471,289,258,292,40,272,320,384],"offset":2,"phase":1,"quadratic_rows":[247,269,247,506,269,13,269,269,474]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,8,17,33,2,3,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":374,"old":0,"rank":2,"right":{"linear_Z4":[2,0,1,1,0,2,0,0,0],"matrix_rows":[13,17,33,2,52,56,64,128,256],"offset":0,"phase":0,"quadratic_rows":[60,0,61,61,13,13,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[12,18,37,64,132,1,5,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,4,0,0,0,0,0,0]},"new":379,"old":0,"rank":3,"right":{"linear_Z4":[1,3,2,0,1,0,2,3,2],"matrix_rows":[36,386,21,97,258,68,8,112,384],"offset":2,"phase":1,"quadratic_rows":[117,130,113,0,117,21,21,130,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[14,23,35,66,4,135,1,263,7],"offset":0,"phase":0,"quadratic_rows":[3,5,6,0,0,0,0,0,0]},"new":380,"old":0,"rank":3,"right":{"linear_Z4":[0,1,0,3,1,1,1,1,0],"matrix_rows":[502,431,499,321,258,276,344,288,384],"offset":2,"phase":1,"quadratic_rows":[284,170,329,255,89,170,92,170,5]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,17,36,70,6,130,2,257,1],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":381,"old":0,"rank":3,"right":{"linear_Z4":[0,3,3,2,2,3,2,3,2],"matrix_rows":[386,40,92,1,258,84,24,96,384],"offset":7,"phase":3,"quadratic_rows":[0,130,12,100,0,104,40,130,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[12,22,38,67,135,1,5,262,6],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":382,"old":0,"rank":3,"right":{"linear_Z4":[3,0,0,0,3,0,0,0,1],"matrix_rows":[24,254,407,97,258,260,328,304,384],"offset":5,"phase":2,"quadratic_rows":[503,105,105,422,81,399,407,105,361]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":384,"old":0,"rank":1,"right":{"linear_Z4":[0,3,0,0,3,0,0,2,0],"matrix_rows":[146,1,130,4,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":385,"old":0,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,3,0,0,2],"matrix_rows":[289,257,2,4,8,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[33,0,0,0,0,33,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":386,"old":0,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,0,2],"matrix_rows":[268,1,2,260,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":387,"old":0,"rank":1,"right":{"linear_Z4":[3,3,3,3,3,3,0,2,0],"matrix_rows":[191,129,130,132,136,144,160,64,256],"offset":1,"phase":1,"quadratic_rows":[63,63,63,63,63,63,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":388,"old":0,"rank":1,"right":{"linear_Z4":[0,3,0,0,3,0,0,0,2],"matrix_rows":[274,1,258,4,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":389,"old":0,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,3,0,2,0],"matrix_rows":[161,129,2,4,8,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[33,0,0,0,0,33,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":390,"old":0,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,2,0],"matrix_rows":[140,1,2,132,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":391,"old":0,"rank":1,"right":{"linear_Z4":[3,3,3,3,3,3,0,0,2],"matrix_rows":[319,257,258,260,264,272,288,64,128],"offset":1,"phase":1,"quadratic_rows":[63,63,63,63,63,63,0,0,0]}},{"left":{"linear_Z4":[2,3,2,3,2,2,2,2,0],"matrix_rows":[1,264,4,10,16,2,32,64,128],"offset":0,"phase":0,"quadratic_rows":[0,10,0,10,0,0,0,0,0]},"new":413,"old":0,"rank":8,"right":{"linear_Z4":[2,1,2,3,2,0,2,2,2],"matrix_rows":[1,40,4,34,16,64,128,256,42],"offset":245,"phase":2,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,2,2,2,2,2,2,0],"matrix_rows":[258,3,1,4,8,16,32,64,128],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":414,"old":0,"rank":8,"right":{"linear_Z4":[1,3,0,2,2,2,2,2,2],"matrix_rows":[6,5,8,16,32,64,128,256,7],"offset":252,"phase":2,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,3,2,2,2,2,0],"matrix_rows":[264,2,4,9,1,16,32,64,128],"offset":0,"phase":0,"quadratic_rows":[9,0,0,9,0,0,0,0,0]},"new":415,"old":0,"rank":8,"right":{"linear_Z4":[1,2,2,3,0,2,2,2,2],"matrix_rows":[24,2,4,17,32,64,128,256,25],"offset":246,"phase":2,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,2,3,2,2,2,0],"matrix_rows":[1,2,272,8,20,4,32,64,128],"offset":0,"phase":0,"quadratic_rows":[0,0,20,0,20,0,0,0,0]},"new":416,"old":0,"rank":8,"right":{"linear_Z4":[2,2,1,2,3,0,2,2,2],"matrix_rows":[1,2,48,8,36,64,128,256,52],"offset":235,"phase":2,"quadratic_rows":[0,0,20,0,20,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,2,3,2,2,2,0],"matrix_rows":[1,272,4,8,18,32,2,64,128],"offset":0,"phase":0,"quadratic_rows":[0,18,0,0,18,0,0,0,0]},"new":417,"old":0,"rank":8,"right":{"linear_Z4":[2,1,2,2,3,2,0,2,2],"matrix_rows":[1,80,4,8,66,32,128,256,82],"offset":237,"phase":2,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[3,3,3,3,3,3,2,2,0],"matrix_rows":[318,3,5,9,17,33,1,64,128],"offset":0,"phase":0,"quadratic_rows":[63,63,63,63,63,63,0,0,0]},"new":418,"old":0,"rank":8,"right":{"linear_Z4":[1,3,3,3,3,3,0,2,2],"matrix_rows":[126,125,123,119,111,95,128,256,127],"offset":192,"phase":2,"quadratic_rows":[63,63,63,63,63,63,0,0,0]}},{"left":{"linear_Z4":[3,2,2,2,2,3,2,2,0],"matrix_rows":[288,2,4,8,16,33,1,64,128],"offset":0,"phase":0,"quadratic_rows":[33,0,0,0,0,33,0,0,0]},"new":419,"old":0,"rank":8,"right":{"linear_Z4":[1,2,2,2,2,3,0,2,2],"matrix_rows":[96,2,4,8,16,65,128,256,97],"offset":222,"phase":2,"quadratic_rows":[33,0,0,0,0,33,0,0,0]}},{"left":{"linear_Z4":[2,2,3,3,2,2,2,2,0],"matrix_rows":[1,2,264,12,16,32,4,64,128],"offset":0,"phase":0,"quadratic_rows":[0,0,12,12,0,0,0,0,0]},"new":420,"old":0,"rank":8,"right":{"linear_Z4":[2,2,1,3,2,2,0,2,2],"matrix_rows":[1,2,72,68,16,32,128,256,76],"offset":243,"phase":2,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":421,"old":0,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":422,"old":0,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":423,"old":0,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,9,18,35,2,64,131,259,3],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":288,"old":2,"rank":2,"right":{"linear_Z4":[0,1,3,2,0,0,0,2,3],"matrix_rows":[219,397,321,338,20,264,32,256,384],"offset":143,"phase":1,"quadratic_rows":[22,395,413,86,397,0,392,86,342]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[6,11,17,35,64,1,131,259,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":289,"old":2,"rank":2,"right":{"linear_Z4":[3,0,1,0,0,2,2,0,1],"matrix_rows":[398,171,353,258,100,264,80,256,384],"offset":2,"phase":1,"quadratic_rows":[459,37,494,37,64,398,21,37,293]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,19,33,3,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":290,"old":2,"rank":2,"right":{"linear_Z4":[1,3,0,1,2,0,2,1,0],"matrix_rows":[397,278,257,338,84,264,96,256,384],"offset":2,"phase":1,"quadratic_rows":[141,70,203,141,0,64,38,141,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[6,11,17,35,64,1,131,259,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":291,"old":2,"rank":2,"right":{"linear_Z4":[1,0,3,2,0,0,0,2,3],"matrix_rows":[398,235,353,322,36,264,16,256,384],"offset":143,"phase":1,"quadratic_rows":[395,37,430,101,0,398,392,101,357]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,34,65,129,258,1,3],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":317,"old":2,"rank":2,"right":{"linear_Z4":[1,1,0,3,3,3,2,0,3],"matrix_rows":[435,264,129,130,4,328,80,96,256],"offset":480,"phase":2,"quadratic_rows":[307,307,0,72,499,499,56,304,435]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,35,65,129,259,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":318,"old":2,"rank":2,"right":{"linear_Z4":[1,1,0,0,3,3,2,0,2],"matrix_rows":[315,136,257,258,4,328,464,480,256],"offset":480,"phase":2,"quadratic_rows":[59,59,0,243,251,251,56,56,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,16,35,64,128,259,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":319,"old":2,"rank":2,"right":{"linear_Z4":[2,2,0,0,0,0,2,0,2],"matrix_rows":[136,264,193,194,4,328,16,32,256],"offset":300,"phase":2,"quadratic_rows":[192,192,0,192,0,0,11,11,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,33,65,129,257,2,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":320,"old":2,"rank":2,"right":{"linear_Z4":[3,3,0,3,1,1,2,0,3],"matrix_rows":[315,384,321,322,4,328,400,416,256],"offset":300,"phase":2,"quadratic_rows":[123,123,0,123,187,187,11,304,384]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,9,17,33,64,129,257,2,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":346,"old":2,"rank":2,"right":{"linear_Z4":[3,3,1,3,0,1,2,0,3],"matrix_rows":[303,384,321,322,388,328,16,416,256],"offset":300,"phase":2,"quadratic_rows":[111,111,175,111,0,175,11,292,384]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,11,16,32,64,128,259,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":347,"old":2,"rank":2,"right":{"linear_Z4":[2,0,0,2,0,0,2,0,2],"matrix_rows":[130,258,193,322,4,200,16,32,256],"offset":300,"phase":2,"quadratic_rows":[192,192,0,192,0,0,11,11,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,17,33,64,129,258,1,3],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":348,"old":2,"rank":2,"right":{"linear_Z4":[1,3,3,1,0,3,2,0,3],"matrix_rows":[429,258,129,322,68,136,16,96,256],"offset":408,"phase":2,"quadratic_rows":[301,66,493,301,0,493,38,292,429]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,11,17,33,64,129,259,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":349,"old":2,"rank":2,"right":{"linear_Z4":[1,0,3,1,0,3,2,0,2],"matrix_rows":[303,130,257,322,452,264,16,480,256],"offset":408,"phase":2,"quadratic_rows":[47,237,239,47,0,239,38,38,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,19,34,3,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":375,"old":2,"rank":2,"right":{"linear_Z4":[3,3,2,1,2,2,2,3,0],"matrix_rows":[391,348,257,258,84,280,96,256,384],"offset":209,"phase":0,"quadratic_rows":[135,135,139,76,0,64,40,135,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[6,11,16,35,65,1,131,259,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":376,"old":2,"rank":2,"right":{"linear_Z4":[1,2,0,0,3,0,0,2,3],"matrix_rows":[410,235,353,258,4,328,48,256,384],"offset":167,"phase":1,"quadratic_rows":[395,113,0,49,442,410,386,113,369]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[6,11,16,35,65,1,131,259,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":377,"old":2,"rank":2,"right":{"linear_Z4":[3,0,0,0,1,2,2,0,1],"matrix_rows":[410,171,353,258,68,264,112,256,384],"offset":2,"phase":1,"quadratic_rows":[459,49,64,49,506,410,21,49,305]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,18,35,2,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":378,"old":2,"rank":2,"right":{"linear_Z4":[1,3,1,2,1,0,1,3,1],"matrix_rows":[219,348,321,258,20,344,32,256,384],"offset":165,"phase":0,"quadratic_rows":[411,475,332,215,219,0,222,475,391]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,34,67,131,2,259,3],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":85,"old":3,"rank":2,"right":{"linear_Z4":[1,1,0,1,2,2,0,2,2],"matrix_rows":[187,184,321,330,12,64,272,288,384],"offset":0,"phase":0,"quadratic_rows":[507,499,8,269,259,259,3,259,187]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,32,66,1,128,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":86,"old":3,"rank":2,"right":{"linear_Z4":[3,3,0,0,3,2,0,3,2],"matrix_rows":[35,400,33,34,4,8,272,64,384],"offset":3,"phase":2,"quadratic_rows":[3,3,0,0,144,0,0,144,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[7,9,18,34,66,3,128,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":91,"old":3,"rank":2,"right":{"linear_Z4":[2,3,3,3,3,2,0,3,0],"matrix_rows":[291,413,33,290,260,264,272,64,384],"offset":3,"phase":2,"quadratic_rows":[158,3,157,157,157,0,0,157,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,33,66,128,1,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":92,"old":3,"rank":2,"right":{"linear_Z4":[3,3,0,3,3,0,0,3,2],"matrix_rows":[3,400,65,74,12,64,272,32,384],"offset":3,"phase":2,"quadratic_rows":[67,75,8,14,144,0,3,144,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,17,35,2,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":116,"old":3,"rank":2,"right":{"linear_Z4":[1,3,1,0,3,1,0,1,1],"matrix_rows":[189,282,257,18,260,280,288,64,384],"offset":2,"phase":1,"quadratic_rows":[445,266,445,183,189,445,0,445,423]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,18,33,64,1,128,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":117,"old":3,"rank":2,"right":{"linear_Z4":[3,0,3,3,0,2,0,3,2],"matrix_rows":[41,388,33,2,260,40,16,64,384],"offset":3,"phase":2,"quadratic_rows":[9,0,132,9,0,0,0,132,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,18,33,1,64,128,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":118,"old":3,"rank":2,"right":{"linear_Z4":[0,3,3,3,2,0,0,3,2],"matrix_rows":[26,388,1,18,260,24,32,64,384],"offset":3,"phase":2,"quadratic_rows":[0,10,132,10,0,0,0,132,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,18,35,66,1,128,258,2],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":119,"old":3,"rank":2,"right":{"linear_Z4":[3,1,1,0,1,3,0,1,1],"matrix_rows":[297,190,33,258,260,296,272,64,384],"offset":1,"phase":1,"quadratic_rows":[265,446,446,183,446,190,0,446,407]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,18,33,66,128,256,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":205,"old":3,"rank":2,"right":{"linear_Z4":[0,3,3,3,3,0,0,2,2],"matrix_rows":[138,276,1,130,260,136,272,32,64],"offset":3,"phase":2,"quadratic_rows":[0,10,20,10,20,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,18,33,66,128,256,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":206,"old":3,"rank":2,"right":{"linear_Z4":[0,3,3,3,3,0,0,2,2],"matrix_rows":[266,148,1,258,132,264,144,32,64],"offset":3,"phase":2,"quadratic_rows":[0,10,20,10,20,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[6,11,17,33,3,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":232,"old":3,"rank":2,"right":{"linear_Z4":[3,2,3,3,2,3,0,3,0],"matrix_rows":[430,275,273,18,260,264,288,64,384],"offset":3,"phase":2,"quadratic_rows":[3,173,174,174,0,174,0,174,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,33,64,130,1,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":233,"old":3,"rank":2,"right":{"linear_Z4":[3,3,0,3,0,3,0,3,2],"matrix_rows":[3,416,73,66,12,64,16,288,384],"offset":3,"phase":2,"quadratic_rows":[75,67,8,13,0,160,3,160,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,32,1,66,128,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":234,"old":3,"rank":2,"right":{"linear_Z4":[3,3,0,0,2,3,0,3,2],"matrix_rows":[19,416,17,18,4,8,288,64,384],"offset":3,"phase":2,"quadratic_rows":[3,3,0,0,0,160,0,160,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[6,10,16,33,67,131,1,259,3],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":235,"old":3,"rank":2,"right":{"linear_Z4":[1,1,0,1,2,2,0,2,2],"matrix_rows":[184,187,329,322,12,64,272,288,384],"offset":0,"phase":0,"quadratic_rows":[499,507,8,270,259,259,3,259,187]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,32,66,130,256,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":321,"old":3,"rank":2,"right":{"linear_Z4":[3,3,0,0,3,3,0,2,2],"matrix_rows":[131,304,129,130,4,8,272,288,64],"offset":3,"phase":2,"quadratic_rows":[3,3,0,0,48,48,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,32,66,130,256,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":322,"old":3,"rank":2,"right":{"linear_Z4":[3,3,0,0,3,3,0,2,2],"matrix_rows":[259,176,257,258,4,8,144,160,64],"offset":3,"phase":2,"quadratic_rows":[3,3,0,0,48,48,0,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,34,66,131,3,258,2],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":87,"old":4,"rank":2,"right":{"linear_Z4":[0,3,3,1,1,0,0,1,2],"matrix_rows":[6,184,33,354,324,264,272,64,384],"offset":1,"phase":1,"quadratic_rows":[32,358,326,440,440,411,6,440,190]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,1,34,64,128,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":88,"old":4,"rank":2,"right":{"linear_Z4":[0,3,3,2,3,0,0,3,2],"matrix_rows":[14,400,1,10,12,272,32,64,384],"offset":3,"phase":2,"quadratic_rows":[0,6,6,0,144,0,0,144,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,9,18,2,35,67,128,259,3],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":89,"old":4,"rank":2,"right":{"linear_Z4":[0,1,3,0,0,0,0,0,1],"matrix_rows":[187,437,257,266,12,272,288,64,384],"offset":2,"phase":1,"quadratic_rows":[14,435,445,437,14,14,0,14,270]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,32,66,129,1,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":90,"old":4,"rank":2,"right":{"linear_Z4":[0,3,3,0,3,3,0,3,2],"matrix_rows":[6,400,33,98,68,8,272,64,384],"offset":3,"phase":2,"quadratic_rows":[32,102,70,0,144,35,6,144,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,16,32,64,130,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":145,"old":4,"rank":2,"right":{"linear_Z4":[0,3,0,0,0,3,0,3,0],"matrix_rows":[384,162,1,386,4,8,16,416,64],"offset":2,"phase":1,"quadratic_rows":[0,290,0,0,0,290,0,384,162]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[6,8,16,32,66,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":146,"old":4,"rank":2,"right":{"linear_Z4":[3,0,0,0,3,0,0,3,0],"matrix_rows":[384,145,385,2,4,8,400,32,64],"offset":2,"phase":1,"quadratic_rows":[273,0,0,0,273,0,0,384,145]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,32,65,130,256,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":147,"old":4,"rank":2,"right":{"linear_Z4":[3,3,0,0,3,3,0,2,2],"matrix_rows":[145,290,129,258,4,8,144,288,64],"offset":3,"phase":2,"quadratic_rows":[17,34,0,0,17,34,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,32,65,130,256,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":148,"old":4,"rank":2,"right":{"linear_Z4":[3,3,0,0,3,3,0,2,2],"matrix_rows":[273,162,257,130,4,8,272,160,64],"offset":3,"phase":2,"quadratic_rows":[17,34,0,0,17,34,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[7,9,17,35,67,130,2,259,3],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":176,"old":4,"rank":2,"right":{"linear_Z4":[2,3,3,2,2,3,0,2,1],"matrix_rows":[415,409,257,322,356,296,272,64,384],"offset":3,"phase":2,"quadratic_rows":[262,223,255,294,262,44,6,262,409]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,18,32,64,130,2,257,1],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":177,"old":4,"rank":2,"right":{"linear_Z4":[3,3,3,0,0,3,0,3,2],"matrix_rows":[385,6,257,98,68,8,48,64,384],"offset":3,"phase":2,"quadratic_rows":[129,102,70,0,32,50,6,129,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,18,32,64,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":261,"old":4,"rank":2,"right":{"linear_Z4":[0,3,3,0,0,0,0,3,0],"matrix_rows":[384,134,1,386,388,8,16,32,64],"offset":2,"phase":1,"quadratic_rows":[0,262,262,0,0,0,0,384,134]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,16,34,66,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":262,"old":4,"rank":2,"right":{"linear_Z4":[0,0,0,3,3,0,0,3,0],"matrix_rows":[384,152,1,2,4,392,400,32,64],"offset":2,"phase":1,"quadratic_rows":[0,0,0,280,280,0,0,384,152]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,34,66,128,256,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":263,"old":4,"rank":2,"right":{"linear_Z4":[0,3,3,3,3,0,0,2,2],"matrix_rows":[262,152,1,258,260,136,144,32,64],"offset":3,"phase":2,"quadratic_rows":[0,6,6,24,24,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,34,66,128,256,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":264,"old":4,"rank":2,"right":{"linear_Z4":[0,3,3,3,3,0,0,2,2],"matrix_rows":[134,280,1,130,132,264,272,32,64],"offset":3,"phase":2,"quadratic_rows":[0,6,6,24,24,0,0,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[4,11,19,34,66,129,1,258,2],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":292,"old":4,"rank":2,"right":{"linear_Z4":[0,0,0,1,1,0,0,1,2],"matrix_rows":[6,190,33,322,356,264,272,64,384],"offset":1,"phase":1,"quadratic_rows":[32,504,472,446,446,411,6,446,190]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,34,1,64,128,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":293,"old":4,"rank":2,"right":{"linear_Z4":[0,3,3,3,2,0,0,3,2],"matrix_rows":[22,392,1,18,20,264,32,64,384],"offset":3,"phase":2,"quadratic_rows":[0,6,6,136,0,0,0,136,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[6,8,18,32,64,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":56,"old":5,"rank":2,"right":{"linear_Z4":[3,0,3,0,0,0,0,3,0],"matrix_rows":[384,133,385,2,388,8,16,32,64],"offset":2,"phase":1,"quadratic_rows":[261,0,261,0,0,0,0,384,133]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,16,34,64,130,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":57,"old":5,"rank":2,"right":{"linear_Z4":[0,0,0,3,0,3,0,3,0],"matrix_rows":[384,168,1,2,4,392,16,416,64],"offset":2,"phase":1,"quadratic_rows":[0,0,0,296,0,296,0,384,168]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,34,64,130,256,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":62,"old":5,"rank":2,"right":{"linear_Z4":[3,0,3,3,0,3,0,2,2],"matrix_rows":[133,296,129,2,132,264,16,288,64],"offset":3,"phase":2,"quadratic_rows":[5,0,5,40,0,40,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,34,64,130,256,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":63,"old":5,"rank":2,"right":{"linear_Z4":[3,0,3,3,0,3,0,2,2],"matrix_rows":[261,168,257,2,260,136,16,160,64],"offset":3,"phase":2,"quadratic_rows":[5,0,5,40,0,40,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,18,33,65,129,1,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":114,"old":5,"rank":2,"right":{"linear_Z4":[0,0,3,3,3,3,0,3,2],"matrix_rows":[40,388,1,18,260,88,64,96,384],"offset":3,"phase":2,"quadratic_rows":[0,16,132,120,26,104,40,132,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[4,10,18,35,67,129,1,258,2],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":115,"old":5,"rank":2,"right":{"linear_Z4":[0,1,1,0,0,0,0,1,2],"matrix_rows":[24,190,33,258,260,360,336,64,384],"offset":1,"phase":1,"quadratic_rows":[32,446,446,454,486,407,24,446,190]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,35,66,131,2,257,1],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":120,"old":5,"rank":2,"right":{"linear_Z4":[1,0,1,0,0,0,0,1,2],"matrix_rows":[189,40,257,18,260,344,64,352,384],"offset":2,"phase":1,"quadratic_rows":[445,16,445,453,423,469,40,445,189]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,18,33,65,129,1,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":121,"old":5,"rank":2,"right":{"linear_Z4":[0,0,3,3,3,3,0,3,2],"matrix_rows":[24,388,33,2,260,104,80,64,384],"offset":3,"phase":2,"quadratic_rows":[32,0,132,120,88,41,24,132,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,8,16,34,66,130,2,257,1],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":178,"old":5,"rank":2,"right":{"linear_Z4":[3,0,0,3,3,3,0,3,2],"matrix_rows":[385,24,257,2,36,104,80,64,384],"offset":3,"phase":2,"quadratic_rows":[129,0,32,120,88,44,24,129,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[7,11,19,33,65,130,2,259,3],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":179,"old":5,"rank":2,"right":{"linear_Z4":[2,2,2,3,3,3,0,2,1],"matrix_rows":[415,391,257,290,260,328,368,64,384],"offset":3,"phase":2,"quadratic_rows":[280,312,280,223,255,50,24,280,391]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,34,66,128,256,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":259,"old":5,"rank":2,"right":{"linear_Z4":[0,3,3,3,3,0,0,2,2],"matrix_rows":[134,280,1,130,132,264,272,32,64],"offset":3,"phase":2,"quadratic_rows":[0,6,6,24,24,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,34,66,128,256,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":260,"old":5,"rank":2,"right":{"linear_Z4":[0,3,3,3,3,0,0,2,2],"matrix_rows":[262,152,1,258,260,136,144,32,64],"offset":3,"phase":2,"quadratic_rows":[0,6,6,24,24,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,16,34,66,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":265,"old":5,"rank":2,"right":{"linear_Z4":[0,0,0,3,3,0,0,3,0],"matrix_rows":[384,152,1,2,4,392,400,32,64],"offset":2,"phase":1,"quadratic_rows":[0,0,0,280,280,0,0,384,152]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,18,32,64,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":266,"old":5,"rank":2,"right":{"linear_Z4":[0,3,3,0,0,0,0,3,0],"matrix_rows":[384,134,1,386,388,8,16,32,64],"offset":2,"phase":1,"quadratic_rows":[0,262,262,0,0,0,0,384,134]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[6,10,16,32,64,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":323,"old":5,"rank":2,"right":{"linear_Z4":[3,3,0,0,0,0,0,3,0],"matrix_rows":[384,131,385,386,4,8,16,32,64],"offset":2,"phase":1,"quadratic_rows":[259,259,0,0,0,0,0,384,131]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,16,32,66,130,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":324,"old":5,"rank":2,"right":{"linear_Z4":[0,0,0,0,3,3,0,3,0],"matrix_rows":[384,176,1,2,4,8,400,416,64],"offset":2,"phase":1,"quadratic_rows":[0,0,0,0,304,304,0,384,176]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,34,64,130,256,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":58,"old":6,"rank":2,"right":{"linear_Z4":[3,0,3,3,0,3,0,2,2],"matrix_rows":[261,168,257,2,260,136,16,160,64],"offset":3,"phase":2,"quadratic_rows":[5,0,5,40,0,40,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,34,64,130,256,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":59,"old":6,"rank":2,"right":{"linear_Z4":[3,0,3,3,0,3,0,2,2],"matrix_rows":[133,296,129,2,132,264,16,288,64],"offset":3,"phase":2,"quadratic_rows":[5,0,5,40,0,40,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,16,34,64,130,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":60,"old":6,"rank":2,"right":{"linear_Z4":[0,0,0,3,0,3,0,3,0],"matrix_rows":[384,168,1,2,4,392,16,416,64],"offset":2,"phase":1,"quadratic_rows":[0,0,0,296,0,296,0,384,168]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[6,8,18,32,64,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":61,"old":6,"rank":2,"right":{"linear_Z4":[3,0,3,0,0,0,0,3,0],"matrix_rows":[384,133,385,2,388,8,16,32,64],"offset":2,"phase":1,"quadratic_rows":[261,0,261,0,0,0,0,384,133]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,32,65,130,256,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":143,"old":6,"rank":2,"right":{"linear_Z4":[3,3,0,0,3,3,0,2,2],"matrix_rows":[273,162,257,130,4,8,272,160,64],"offset":3,"phase":2,"quadratic_rows":[17,34,0,0,17,34,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,32,65,130,256,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":144,"old":6,"rank":2,"right":{"linear_Z4":[3,3,0,0,3,3,0,2,2],"matrix_rows":[145,290,129,258,4,8,144,288,64],"offset":3,"phase":2,"quadratic_rows":[17,34,0,0,17,34,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[6,8,16,32,66,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":149,"old":6,"rank":2,"right":{"linear_Z4":[3,0,0,0,3,0,0,3,0],"matrix_rows":[384,145,385,2,4,8,400,32,64],"offset":2,"phase":1,"quadratic_rows":[273,0,0,0,273,0,0,384,145]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,16,32,64,130,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":150,"old":6,"rank":2,"right":{"linear_Z4":[0,3,0,0,0,3,0,3,0],"matrix_rows":[384,162,1,386,4,8,16,416,64],"offset":2,"phase":1,"quadratic_rows":[0,290,0,0,0,290,0,384,162]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,16,34,64,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":207,"old":6,"rank":2,"right":{"linear_Z4":[0,3,0,3,0,0,0,3,0],"matrix_rows":[384,138,1,386,4,392,16,32,64],"offset":2,"phase":1,"quadratic_rows":[0,266,0,266,0,0,0,384,138]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,18,32,66,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":208,"old":6,"rank":2,"right":{"linear_Z4":[0,0,3,0,3,0,0,3,0],"matrix_rows":[384,148,1,2,388,8,400,32,64],"offset":2,"phase":1,"quadratic_rows":[0,0,276,0,276,0,0,384,148]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,32,65,130,1,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":230,"old":6,"rank":2,"right":{"linear_Z4":[3,0,3,0,3,3,0,3,2],"matrix_rows":[5,416,81,18,68,8,64,288,384],"offset":3,"phase":2,"quadratic_rows":[85,16,69,0,19,160,5,160,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[6,11,17,1,35,67,128,259,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":231,"old":6,"rank":2,"right":{"linear_Z4":[1,0,3,0,0,0,0,0,1],"matrix_rows":[438,187,265,258,12,272,288,64,384],"offset":1,"phase":1,"quadratic_rows":[435,13,446,438,13,13,0,13,269]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[6,8,18,33,67,129,3,257,1],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":236,"old":6,"rank":2,"right":{"linear_Z4":[3,0,3,1,0,1,0,1,2],"matrix_rows":[184,5,337,18,324,264,64,288,384],"offset":2,"phase":1,"quadratic_rows":[341,16,325,440,427,440,5,440,189]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,1,32,66,128,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":237,"old":6,"rank":2,"right":{"linear_Z4":[3,0,3,2,0,3,0,3,2],"matrix_rows":[13,416,9,2,12,16,288,64,384],"offset":3,"phase":2,"quadratic_rows":[5,0,5,0,0,160,0,160,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,34,64,1,128,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":294,"old":6,"rank":2,"right":{"linear_Z4":[3,0,3,3,0,2,0,3,2],"matrix_rows":[37,392,33,2,36,264,16,64,384],"offset":3,"phase":2,"quadratic_rows":[5,0,5,136,0,0,0,136,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[7,8,19,33,66,129,2,257,1],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":295,"old":6,"rank":2,"right":{"linear_Z4":[0,0,0,1,0,1,0,1,2],"matrix_rows":[189,5,321,18,340,264,64,288,384],"offset":2,"phase":1,"quadratic_rows":[504,16,488,445,427,445,5,445,189]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":15,"old":7,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,2,0,0,0],"matrix_rows":[38,1,34,36,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":16,"old":7,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":17,"old":7,"rank":1,"right":{"linear_Z4":[3,0,3,0,2,0,0,0,0],"matrix_rows":[21,17,2,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":18,"old":8,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":19,"old":8,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":20,"old":8,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":18,"old":9,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,1,1,2],"matrix_rows":[461,289,2,292,296,16,256,320,384],"offset":0,"phase":0,"quadratic_rows":[237,0,237,237,0,13,205,205,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":21,"old":9,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":22,"old":9,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,1,1,2],"matrix_rows":[461,289,34,260,264,48,256,320,384],"offset":0,"phase":0,"quadratic_rows":[237,32,205,205,32,19,205,205,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":15,"old":10,"rank":1,"right":{"linear_Z4":[3,3,0,2,0,0,0,0,0],"matrix_rows":[11,9,10,4,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":23,"old":10,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":24,"old":10,"rank":1,"right":{"linear_Z4":[3,0,3,0,2,0,0,0,0],"matrix_rows":[21,17,2,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":19,"old":11,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,1,1,2],"matrix_rows":[467,289,290,4,8,304,256,320,384],"offset":0,"phase":0,"quadratic_rows":[243,243,0,0,243,19,211,211,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":21,"old":11,"rank":1,"right":{"linear_Z4":[1,1,0,0,2,1,1,1,2],"matrix_rows":[483,257,274,20,24,256,288,320,384],"offset":0,"phase":0,"quadratic_rows":[227,243,16,16,14,227,227,227,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":25,"old":11,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,1,1,2],"matrix_rows":[467,289,258,36,40,272,256,320,384],"offset":0,"phase":0,"quadratic_rows":[243,211,32,32,211,13,211,211,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":16,"old":12,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,2,0,0,0],"matrix_rows":[56,9,10,4,32,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[8,8,0,19,24,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":23,"old":12,"rank":1,"right":{"linear_Z4":[0,0,0,1,2,2,0,0,0],"matrix_rows":[40,1,18,20,56,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,16,16,24,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":26,"old":12,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,2,0,0,0],"matrix_rows":[56,17,2,20,40,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[16,0,16,24,13,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":17,"old":13,"rank":1,"right":{"linear_Z4":[3,3,0,2,0,0,0,0,0],"matrix_rows":[11,9,10,4,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":24,"old":13,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,2,0,0,0],"matrix_rows":[38,1,34,36,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":26,"old":13,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":20,"old":14,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,1,1,2],"matrix_rows":[462,1,274,276,280,256,32,320,384],"offset":0,"phase":0,"quadratic_rows":[0,222,222,222,14,0,206,206,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":22,"old":14,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":25,"old":14,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":528,"old":15,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,3,3,2],"matrix_rows":[448,1,2,4,8,16,32,320,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,0,192,192,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":529,"old":15,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,1,1,2],"matrix_rows":[213,257,2,260,8,272,32,320,384],"offset":0,"phase":0,"quadratic_rows":[469,0,469,0,469,0,469,469,213]}},{"left":{"linear_Z4":[3,2,2,2,0,0,0,0,0],"matrix_rows":[16,34,65,2,140,3,260,8,12],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":573,"old":15,"rank":4,"right":{"linear_Z4":[2,0,1,2,2,1,3,0,2],"matrix_rows":[12,34,464,144,5,8,40,272,448],"offset":93,"phase":1,"quadratic_rows":[4,40,37,34,64,46,80,0,0]}},{"left":{"linear_Z4":[2,3,3,3,0,0,0,0,0],"matrix_rows":[17,46,65,128,6,256,10,2,1],"offset":0,"phase":0,"quadratic_rows":[0,2,12,12,0,0,0,0,0]},"new":575,"old":15,"rank":4,"right":{"linear_Z4":[3,1,3,0,3,0,3,0,2],"matrix_rows":[261,2,194,146,257,210,260,8,32],"offset":3,"phase":2,"quadratic_rows":[5,130,5,0,80,0,80,2,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":28,"old":16,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,3,3,2],"matrix_rows":[448,1,2,4,8,16,32,320,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,0,192,192,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":34,"old":16,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,1,1,2],"matrix_rows":[213,257,2,260,8,272,32,320,384],"offset":0,"phase":0,"quadratic_rows":[469,0,469,0,469,0,469,469,213]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":30,"old":17,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,1,1,2],"matrix_rows":[230,1,258,260,8,16,288,320,384],"offset":0,"phase":0,"quadratic_rows":[0,486,486,0,0,486,486,486,230]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":32,"old":17,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,3,3,2],"matrix_rows":[448,1,2,4,8,16,32,320,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,0,192,192,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":466,"old":18,"rank":1,"right":{"linear_Z4":[3,0,3,0,2,0,0,0,0],"matrix_rows":[21,17,2,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":470,"old":18,"rank":1,"right":{"linear_Z4":[0,2,0,0,0,0,3,1,2],"matrix_rows":[448,1,66,4,8,16,32,256,384],"offset":132,"phase":2,"quadratic_rows":[0,64,0,0,0,0,194,192,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":528,"old":18,"rank":1,"right":{"linear_Z4":[3,0,3,3,0,0,0,0,0],"matrix_rows":[5,41,10,36,32,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[45,8,37,11,0,5,0,0,0]}},{"left":{"linear_Z4":[2,3,3,2,0,0,0,0,0],"matrix_rows":[16,33,67,1,136,2,264,4,12],"offset":0,"phase":0,"quadratic_rows":[2,3,12,4,0,0,0,0,0]},"new":572,"old":18,"rank":4,"right":{"linear_Z4":[2,1,0,3,3,3,0,2,3],"matrix_rows":[42,4,384,464,13,6,32,400,256],"offset":379,"phase":1,"quadratic_rows":[12,46,43,47,80,46,144,320,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":28,"old":19,"rank":1,"right":{"linear_Z4":[3,3,0,2,0,0,0,0,0],"matrix_rows":[11,9,10,4,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":33,"old":19,"rank":1,"right":{"linear_Z4":[3,3,0,0,3,0,0,0,0],"matrix_rows":[3,49,34,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[51,35,16,0,21,3,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":29,"old":20,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,2,0,0,0],"matrix_rows":[38,1,34,36,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":32,"old":20,"rank":1,"right":{"linear_Z4":[0,3,3,3,0,0,0,0,0],"matrix_rows":[6,9,26,20,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[8,30,22,11,6,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":30,"old":21,"rank":1,"right":{"linear_Z4":[0,2,2,0,0,1,1,1,2],"matrix_rows":[232,9,10,4,256,272,288,320,384],"offset":60,"phase":0,"quadratic_rows":[8,8,0,483,0,488,488,488,232]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":31,"old":21,"rank":1,"right":{"linear_Z4":[3,2,1,3,0,1,3,3,2],"matrix_rows":[461,257,34,292,264,16,256,320,384],"offset":77,"phase":0,"quadratic_rows":[205,32,237,205,0,38,205,205,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":27,"old":22,"rank":1,"right":{"linear_Z4":[2,2,0,1,0,0,1,1,2],"matrix_rows":[216,17,2,20,264,256,288,320,384],"offset":102,"phase":0,"quadratic_rows":[16,0,16,472,461,0,472,472,216]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":34,"old":22,"rank":1,"right":{"linear_Z4":[2,1,3,1,3,0,3,3,2],"matrix_rows":[470,9,266,260,256,272,32,320,384],"offset":23,"phase":0,"quadratic_rows":[8,222,214,11,214,0,214,214,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":29,"old":23,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,3,3,2],"matrix_rows":[448,1,2,4,8,16,32,320,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,0,192,192,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":31,"old":23,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,1,1,2],"matrix_rows":[203,257,258,4,264,16,32,320,384],"offset":0,"phase":0,"quadratic_rows":[459,459,0,459,0,0,459,459,203]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":27,"old":24,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,1,1,2],"matrix_rows":[203,257,258,4,264,16,32,320,384],"offset":0,"phase":0,"quadratic_rows":[459,459,0,459,0,0,459,459,203]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":33,"old":24,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,3,3,2],"matrix_rows":[448,1,2,4,8,16,32,320,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,0,192,192,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":441,"old":25,"rank":1,"right":{"linear_Z4":[2,3,1,2,3,0,3,3,2],"matrix_rows":[470,5,258,256,8,272,288,320,384],"offset":91,"phase":1,"quadratic_rows":[4,214,215,0,214,0,214,214,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":444,"old":25,"rank":1,"right":{"linear_Z4":[2,3,1,3,1,0,3,3,2],"matrix_rows":[462,17,258,276,264,256,32,320,384],"offset":43,"phase":0,"quadratic_rows":[16,206,222,206,21,0,206,206,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":529,"old":25,"rank":1,"right":{"linear_Z4":[2,0,2,0,1,0,1,1,2],"matrix_rows":[216,9,10,4,256,272,288,320,384],"offset":90,"phase":0,"quadratic_rows":[8,8,0,467,472,0,472,472,216]}},{"left":{"linear_Z4":[3,2,3,3,0,0,0,0,0],"matrix_rows":[18,35,66,129,260,1,3,8,14],"offset":0,"phase":0,"quadratic_rows":[1,12,14,14,0,0,0,0,0]},"new":574,"old":25,"rank":4,"right":{"linear_Z4":[1,2,1,0,0,0,2,0,0],"matrix_rows":[10,271,48,384,105,66,100,32,288],"offset":0,"phase":0,"quadratic_rows":[359,325,367,324,256,261,15,256,191]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":438,"old":26,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,2,0,0],"matrix_rows":[69,65,2,68,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":444,"old":26,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,1,1,2],"matrix_rows":[203,257,258,4,264,16,32,320,384],"offset":0,"phase":0,"quadratic_rows":[459,459,0,459,0,0,459,459,203]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":466,"old":26,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,3,3,2],"matrix_rows":[448,1,2,4,8,16,32,320,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,0,192,192,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":467,"old":26,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,3,0,2],"matrix_rows":[322,1,258,4,8,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,66,0,0,0,0,66,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":35,"old":27,"rank":1,"right":{"linear_Z4":[1,1,0,0,0,0,3,3,0],"matrix_rows":[203,265,266,4,256,16,32,320,384],"offset":23,"phase":0,"quadratic_rows":[451,451,0,448,0,0,459,459,203]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[15,23,32,67,128,256,5,1,7],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":584,"old":27,"rank":3,"right":{"linear_Z4":[1,1,0,2,0,0,2,1,3],"matrix_rows":[203,11,323,257,258,204,256,16,32],"offset":1,"phase":1,"quadratic_rows":[131,131,200,260,0,0,260,135,328]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[11,19,34,68,130,2,257,1,5],"offset":0,"phase":0,"quadratic_rows":[4,0,5,0,0,0,0,0,0]},"new":592,"old":27,"rank":3,"right":{"linear_Z4":[0,0,2,0,0,2,1,2,1],"matrix_rows":[323,39,8,161,162,32,256,48,192],"offset":70,"phase":1,"quadratic_rows":[452,452,3,256,0,0,451,67,331]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":35,"old":28,"rank":1,"right":{"linear_Z4":[3,3,0,0,3,0,0,0,0],"matrix_rows":[3,49,34,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[51,35,16,0,21,3,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,17,36,64,129,1,262,2,4],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":586,"old":28,"rank":3,"right":{"linear_Z4":[3,3,3,0,2,0,1,0,1],"matrix_rows":[3,448,388,33,50,452,8,32,256],"offset":291,"phase":0,"quadratic_rows":[35,51,68,0,2,3,324,256,448]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,19,32,67,1,2,132,260,4],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":594,"old":28,"rank":3,"right":{"linear_Z4":[2,0,2,0,1,2,1,1,2],"matrix_rows":[18,34,320,19,32,132,40,448,256],"offset":508,"phase":1,"quadratic_rows":[18,1,128,0,17,0,192,196,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":35,"old":29,"rank":1,"right":{"linear_Z4":[0,3,3,3,0,0,0,0,0],"matrix_rows":[6,9,26,20,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[8,30,22,11,6,0,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[12,18,34,66,2,128,261,1,4],"offset":0,"phase":0,"quadratic_rows":[5,2,1,0,0,0,0,0,0]},"new":600,"old":29,"rank":3,"right":{"linear_Z4":[3,3,3,2,0,0,1,0,1],"matrix_rows":[448,6,385,449,18,28,16,32,256],"offset":267,"phase":0,"quadratic_rows":[65,22,30,4,6,0,321,256,448]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,16,38,66,4,6,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":608,"old":29,"rank":3,"right":{"linear_Z4":[2,2,0,1,0,2,1,1,2],"matrix_rows":[320,60,20,129,14,32,48,448,256],"offset":475,"phase":3,"quadratic_rows":[128,12,2,10,0,0,192,193,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":35,"old":30,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,0,3,3,0],"matrix_rows":[230,1,290,292,8,16,256,320,384],"offset":77,"phase":0,"quadratic_rows":[0,454,454,0,0,448,486,486,230]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[8,23,39,64,128,259,5,1,7],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":602,"old":30,"rank":3,"right":{"linear_Z4":[0,1,1,0,0,2,2,1,3],"matrix_rows":[230,38,326,225,258,260,8,16,256],"offset":1,"phase":1,"quadratic_rows":[224,134,134,0,0,257,257,135,352]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,19,35,65,1,132,258,2,6],"offset":0,"phase":0,"quadratic_rows":[0,4,6,0,0,0,0,0,0]},"new":610,"old":30,"rank":3,"right":{"linear_Z4":[2,0,0,0,2,0,1,2,1],"matrix_rows":[23,326,32,16,146,148,24,256,192],"offset":133,"phase":1,"quadratic_rows":[6,449,449,0,0,256,454,70,358]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":35,"old":31,"rank":1,"right":{"linear_Z4":[0,1,1,3,0,0,3,3,2],"matrix_rows":[454,9,266,260,256,272,32,320,384],"offset":61,"phase":1,"quadratic_rows":[8,206,198,11,0,0,198,198,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[11,23,35,71,131,3,261,1,4],"offset":0,"phase":0,"quadratic_rows":[5,2,5,0,0,0,0,0,0]},"new":616,"old":31,"rank":3,"right":{"linear_Z4":[0,3,2,3,0,0,0,3,3],"matrix_rows":[271,207,78,229,294,32,296,48,256],"offset":511,"phase":1,"quadratic_rows":[292,170,105,174,0,207,292,170,321]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,20,38,68,134,6,258,2,3],"offset":0,"phase":0,"quadratic_rows":[3,7,2,0,0,0,0,0,0]},"new":624,"old":31,"rank":3,"right":{"linear_Z4":[0,3,1,3,0,1,3,2,3],"matrix_rows":[1,356,42,256,166,32,168,48,192],"offset":15,"phase":2,"quadratic_rows":[256,142,486,138,0,356,484,78,357]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":35,"old":32,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,2,0,0,0],"matrix_rows":[38,1,34,36,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,16,33,64,1,132,262,2,4],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":618,"old":32,"rank":3,"right":{"linear_Z4":[1,2,1,0,2,3,1,0,1],"matrix_rows":[17,448,416,21,6,16,8,480,256],"offset":443,"phase":3,"quadratic_rows":[5,4,7,0,0,96,352,256,448]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,16,34,1,3,64,132,260,4],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":626,"old":32,"rank":3,"right":{"linear_Z4":[0,2,1,2,1,2,1,1,2],"matrix_rows":[17,12,320,8,6,24,160,448,256],"offset":502,"phase":3,"quadratic_rows":[24,4,22,17,29,128,192,224,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":35,"old":33,"rank":1,"right":{"linear_Z4":[3,3,0,2,0,0,0,0,0],"matrix_rows":[11,9,10,4,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,16,33,68,129,1,262,2,4],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":632,"old":33,"rank":3,"right":{"linear_Z4":[2,2,2,3,0,2,1,0,1],"matrix_rows":[36,448,392,5,6,32,456,48,256],"offset":378,"phase":2,"quadratic_rows":[4,4,3,72,0,0,328,256,448]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,34,64,2,3,132,260,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":640,"old":33,"rank":3,"right":{"linear_Z4":[2,1,0,2,2,1,1,1,2],"matrix_rows":[18,36,320,3,48,16,136,448,256],"offset":477,"phase":3,"quadratic_rows":[2,35,48,128,36,54,192,200,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":35,"old":34,"rank":1,"right":{"linear_Z4":[1,1,0,0,3,0,3,3,2],"matrix_rows":[451,273,258,20,8,256,288,320,384],"offset":103,"phase":1,"quadratic_rows":[211,195,16,0,21,0,195,195,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[15,16,35,64,135,256,5,1,7],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":634,"old":34,"rank":3,"right":{"linear_Z4":[3,2,2,0,1,0,2,3,1],"matrix_rows":[17,209,405,453,198,256,8,272,32],"offset":58,"phase":0,"quadratic_rows":[145,196,402,0,85,0,402,199,324]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[10,19,36,67,130,3,257,1,5],"offset":0,"phase":0,"quadratic_rows":[7,1,5,0,0,0,0,0,0]},"new":642,"old":34,"rank":3,"right":{"linear_Z4":[3,1,0,0,3,1,3,2,3],"matrix_rows":[354,49,4,163,32,256,40,176,192],"offset":39,"phase":2,"quadratic_rows":[147,483,256,0,145,354,482,83,358]}},{"left":{"linear_Z4":[2,2,2,3,3,0,0,0,0],"matrix_rows":[33,66,4,131,5,6,264,16,24],"offset":0,"phase":0,"quadratic_rows":[6,5,3,24,24,0,0,0,0]},"new":1,"old":35,"rank":5,"right":{"linear_Z4":[2,2,0,0,0,0,0,0,1],"matrix_rows":[49,50,52,64,384,16,32,56,256],"offset":488,"phase":1,"quadratic_rows":[32,16,48,0,6,5,256,256,448]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,35,66,129,3,2,260,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":413,"old":35,"rank":4,"right":{"linear_Z4":[2,0,0,0,2,0,0,0,1],"matrix_rows":[3,6,64,384,48,18,32,56,256],"offset":436,"phase":1,"quadratic_rows":[50,21,34,0,3,5,256,256,448]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[18,35,65,131,1,2,260,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":414,"old":35,"rank":4,"right":{"linear_Z4":[3,1,0,0,0,2,0,0,1],"matrix_rows":[6,5,64,384,39,48,16,56,256],"offset":437,"phase":2,"quadratic_rows":[35,19,48,0,6,5,256,256,448]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[19,33,66,129,2,3,260,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":415,"old":35,"rank":4,"right":{"linear_Z4":[0,2,0,0,0,2,0,0,1],"matrix_rows":[3,5,64,384,33,48,16,56,256],"offset":436,"phase":1,"quadratic_rows":[38,49,17,0,6,3,256,256,448]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,34,67,131,1,2,260,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":416,"old":35,"rank":4,"right":{"linear_Z4":[0,0,2,0,2,2,0,0,1],"matrix_rows":[5,6,64,384,16,32,52,56,256],"offset":388,"phase":3,"quadratic_rows":[20,36,51,0,5,6,256,256,448]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":44,"old":36,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":45,"old":36,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,2,2,0],"matrix_rows":[144,1,2,4,72,208,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,64,80,64,56,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":46,"old":36,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,2,2,0],"matrix_rows":[144,65,2,68,8,208,32,128,256],"offset":0,"phase":0,"quadratic_rows":[64,0,64,0,80,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":47,"old":37,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":48,"old":37,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,2,0,2],"matrix_rows":[272,1,2,4,72,336,96,256,128],"offset":0,"phase":0,"quadratic_rows":[0,0,0,64,80,64,56,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":49,"old":37,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,2,0,2],"matrix_rows":[272,65,2,68,8,336,32,256,128],"offset":0,"phase":0,"quadratic_rows":[64,0,64,0,80,0,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":47,"old":38,"rank":1,"right":{"linear_Z4":[1,0,1,1,1,2,1,0,2],"matrix_rows":[349,289,2,292,296,272,256,320,128],"offset":0,"phase":0,"quadratic_rows":[125,0,125,125,93,13,93,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":50,"old":38,"rank":1,"right":{"linear_Z4":[1,0,1,1,1,1,2,0,2],"matrix_rows":[317,321,2,324,264,336,288,256,128],"offset":0,"phase":0,"quadratic_rows":[125,0,125,61,125,61,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":51,"old":38,"rank":1,"right":{"linear_Z4":[1,0,1,1,1,1,2,0,2],"matrix_rows":[317,257,2,260,328,336,352,256,128],"offset":0,"phase":0,"quadratic_rows":[61,0,61,125,125,125,56,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":44,"old":39,"rank":1,"right":{"linear_Z4":[1,0,1,1,1,2,1,2,0],"matrix_rows":[221,161,2,164,168,144,128,192,256],"offset":0,"phase":0,"quadratic_rows":[125,0,125,125,93,13,93,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":52,"old":39,"rank":1,"right":{"linear_Z4":[1,0,1,1,1,1,2,2,0],"matrix_rows":[189,193,2,196,136,208,160,128,256],"offset":0,"phase":0,"quadratic_rows":[125,0,125,61,125,61,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":53,"old":39,"rank":1,"right":{"linear_Z4":[1,0,1,1,1,1,2,2,0],"matrix_rows":[189,129,2,132,200,208,224,128,256],"offset":0,"phase":0,"quadratic_rows":[61,0,61,125,125,125,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":48,"old":40,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":50,"old":40,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":54,"old":40,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,2,0,0,2],"matrix_rows":[264,33,2,36,296,16,256,64,128],"offset":0,"phase":0,"quadratic_rows":[32,0,32,40,0,13,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":45,"old":41,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":52,"old":41,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":55,"old":41,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,2,0,2,0],"matrix_rows":[136,33,2,36,168,16,128,64,256],"offset":0,"phase":0,"quadratic_rows":[32,0,32,40,0,13,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":46,"old":42,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":53,"old":42,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":55,"old":42,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":49,"old":43,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":51,"old":43,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":54,"old":43,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":530,"old":44,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,0,3,0,2],"matrix_rows":[336,1,2,4,8,272,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,80,0,80,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":531,"old":44,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,0,2],"matrix_rows":[261,257,2,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,2,0,0,0,0,0],"matrix_rows":[16,33,67,1,136,2,268,12,4],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":577,"old":44,"rank":4,"right":{"linear_Z4":[2,1,0,3,1,3,3,2,0],"matrix_rows":[42,4,320,400,13,6,32,464,128],"offset":115,"phase":1,"quadratic_rows":[12,46,43,47,80,46,80,0,0]}},{"left":{"linear_Z4":[2,2,3,3,0,0,0,0,0],"matrix_rows":[16,1,34,66,132,256,8,12,2],"offset":0,"phase":0,"quadratic_rows":[0,0,12,12,0,0,0,0,0]},"new":579,"old":44,"rank":4,"right":{"linear_Z4":[0,2,3,3,0,0,0,1,2],"matrix_rows":[2,268,16,192,1,260,264,128,32],"offset":135,"phase":2,"quadratic_rows":[0,0,12,12,128,0,128,208,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":57,"old":45,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,3,0,0,2],"matrix_rows":[296,1,2,4,264,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,40,0,40,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":63,"old":45,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,0,2],"matrix_rows":[261,257,2,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":59,"old":46,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,3,0,0,2],"matrix_rows":[296,1,2,4,264,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,40,0,40,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":61,"old":46,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,0,2],"matrix_rows":[261,257,2,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":487,"old":47,"rank":1,"right":{"linear_Z4":[0,2,0,0,1,0,3,0,2],"matrix_rows":[336,1,66,4,8,272,32,256,128],"offset":132,"phase":2,"quadratic_rows":[0,64,0,0,80,0,82,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":490,"old":47,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,2,0],"matrix_rows":[140,1,2,132,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":530,"old":47,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,0,3,2,0],"matrix_rows":[208,1,2,4,8,144,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,80,0,80,0,0]}},{"left":{"linear_Z4":[3,2,2,2,0,0,0,0,0],"matrix_rows":[16,34,67,1,136,2,268,4,12],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":576,"old":47,"rank":4,"right":{"linear_Z4":[2,1,0,1,1,1,3,0,2],"matrix_rows":[44,42,192,400,13,46,32,464,256],"offset":115,"phase":1,"quadratic_rows":[12,6,43,45,80,44,80,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":57,"old":48,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,3,0,2,0],"matrix_rows":[168,1,2,4,136,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,40,0,40,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":62,"old":48,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,2,0],"matrix_rows":[133,129,2,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":58,"old":49,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,3,0,2,0],"matrix_rows":[168,1,2,4,136,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,40,0,40,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":61,"old":49,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,2,0],"matrix_rows":[133,129,2,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":59,"old":50,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,2,0],"matrix_rows":[133,129,2,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":60,"old":50,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,3,0,2,0],"matrix_rows":[168,1,2,4,136,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,40,0,40,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":56,"old":51,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,2,0],"matrix_rows":[133,129,2,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":63,"old":51,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,3,0,2,0],"matrix_rows":[168,1,2,4,136,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,40,0,40,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":58,"old":52,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,0,2],"matrix_rows":[261,257,2,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":60,"old":52,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,3,0,0,2],"matrix_rows":[296,1,2,4,264,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,40,0,40,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":56,"old":53,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,0,2],"matrix_rows":[261,257,2,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":62,"old":53,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,3,0,0,2],"matrix_rows":[296,1,2,4,264,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,40,0,40,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":439,"old":54,"rank":1,"right":{"linear_Z4":[0,1,1,1,1,0,1,2,0],"matrix_rows":[94,1,130,132,136,144,32,192,256],"offset":0,"phase":0,"quadratic_rows":[0,222,222,222,222,0,222,94,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":442,"old":54,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,2,0],"matrix_rows":[133,129,2,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":531,"old":54,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,0,3,2,0],"matrix_rows":[208,1,2,4,8,144,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,80,0,80,0,0]}},{"left":{"linear_Z4":[2,2,2,2,0,0,0,0,0],"matrix_rows":[16,42,69,129,258,4,10,8,5],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":578,"old":54,"rank":4,"right":{"linear_Z4":[2,2,0,1,3,0,2,0,2],"matrix_rows":[300,210,36,130,13,66,256,288,208],"offset":155,"phase":1,"quadratic_rows":[12,16,1,9,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":440,"old":55,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,2,0,0],"matrix_rows":[69,65,2,68,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":442,"old":55,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,0,2],"matrix_rows":[261,257,2,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":488,"old":55,"rank":1,"right":{"linear_Z4":[3,0,3,2,0,0,0,0,0],"matrix_rows":[5,33,2,44,32,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[37,0,45,4,0,5,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":489,"old":55,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,3,0,2],"matrix_rows":[322,1,258,4,8,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,66,0,0,0,0,66,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":64,"old":56,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,2,0,0,0],"matrix_rows":[24,33,2,36,104,80,64,128,256],"offset":1,"phase":1,"quadratic_rows":[32,0,32,120,88,13,24,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,20,32,64,132,6,2,257,1],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":684,"old":56,"rank":3,"right":{"linear_Z4":[0,1,0,2,3,2,2,0,2],"matrix_rows":[257,96,18,256,98,4,56,64,384],"offset":192,"phase":2,"quadratic_rows":[0,114,0,48,122,26,18,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,20,34,64,133,1,4,258,2],"offset":0,"phase":0,"quadratic_rows":[5,0,1,0,0,0,0,0,0]},"new":700,"old":56,"rank":3,"right":{"linear_Z4":[0,1,0,2,0,1,1,0,2],"matrix_rows":[112,260,98,1,114,256,56,64,384],"offset":213,"phase":1,"quadratic_rows":[0,18,0,48,106,120,112,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":64,"old":57,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,2,0,0,2],"matrix_rows":[24,33,2,36,296,272,256,320,384],"offset":0,"phase":0,"quadratic_rows":[32,0,32,312,280,13,0,0,24]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[10,23,6,32,65,130,3,258,2],"offset":0,"phase":0,"quadratic_rows":[4,0,5,0,0,0,0,0,0]},"new":685,"old":57,"rank":3,"right":{"linear_Z4":[1,1,1,0,3,3,1,0,0],"matrix_rows":[118,275,354,273,358,56,320,256,384],"offset":222,"phase":2,"quadratic_rows":[3,355,276,48,284,362,354,0,118]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[15,3,17,32,69,129,4,257,1],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":701,"old":57,"rank":3,"right":{"linear_Z4":[3,1,1,0,2,1,3,0,3],"matrix_rows":[277,113,355,115,276,56,320,256,384],"offset":213,"phase":3,"quadratic_rows":[117,274,5,48,363,121,113,0,274]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":64,"old":58,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,2,0,2,0],"matrix_rows":[136,33,2,36,168,16,128,64,256],"offset":0,"phase":0,"quadratic_rows":[32,0,32,40,0,13,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,20,33,68,129,2,1,6,256],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":692,"old":58,"rank":3,"right":{"linear_Z4":[3,3,3,0,2,2,0,3,0],"matrix_rows":[5,160,170,81,162,68,128,64,256],"offset":69,"phase":1,"quadratic_rows":[85,10,69,34,1,136,5,160,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[10,20,34,65,130,4,2,5,256],"offset":0,"phase":0,"quadratic_rows":[5,2,1,0,0,0,0,0,0]},"new":708,"old":58,"rank":3,"right":{"linear_Z4":[3,1,3,0,2,2,0,3,0],"matrix_rows":[8,5,170,65,10,84,128,64,256],"offset":87,"phase":1,"quadratic_rows":[69,162,85,32,4,138,5,162,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":64,"old":59,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,2,0,0,2],"matrix_rows":[264,33,2,36,296,16,256,64,128],"offset":0,"phase":0,"quadratic_rows":[32,0,32,40,0,13,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,20,33,68,129,2,1,256,6],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":693,"old":59,"rank":3,"right":{"linear_Z4":[3,3,3,0,2,2,0,0,3],"matrix_rows":[5,288,298,81,290,68,256,64,128],"offset":69,"phase":1,"quadratic_rows":[85,10,69,34,1,264,5,0,288]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[10,20,34,65,130,4,2,256,5],"offset":0,"phase":0,"quadratic_rows":[5,2,1,0,0,0,0,0,0]},"new":709,"old":59,"rank":3,"right":{"linear_Z4":[3,1,3,0,2,2,0,0,3],"matrix_rows":[8,5,298,65,10,84,256,64,128],"offset":87,"phase":1,"quadratic_rows":[69,290,85,32,4,266,5,0,290]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":64,"old":60,"rank":1,"right":{"linear_Z4":[3,0,3,3,0,2,0,0,0],"matrix_rows":[13,289,2,292,296,16,256,64,384],"offset":1,"phase":1,"quadratic_rows":[301,0,301,301,0,13,0,0,13]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,17,35,68,1,128,2,260,4],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":716,"old":60,"rank":3,"right":{"linear_Z4":[2,1,0,0,3,0,3,0,2],"matrix_rows":[82,4,264,21,6,64,256,32,384],"offset":59,"phase":1,"quadratic_rows":[20,86,83,0,87,0,86,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,18,35,64,1,132,2,260,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":732,"old":60,"rank":3,"right":{"linear_Z4":[2,1,0,0,1,0,1,0,2],"matrix_rows":[84,82,288,21,86,64,8,256,384],"offset":59,"phase":1,"quadratic_rows":[20,6,83,0,85,0,84,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":64,"old":61,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,19,39,71,129,2,6,263,7],"offset":0,"phase":0,"quadratic_rows":[3,5,2,0,0,0,0,0,0]},"new":717,"old":61,"rank":3,"right":{"linear_Z4":[0,2,2,1,1,1,0,0,1],"matrix_rows":[42,282,92,21,358,256,280,320,384],"offset":246,"phase":2,"quadratic_rows":[20,84,43,124,283,364,42,0,304]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[12,17,39,2,68,3,135,263,7],"offset":0,"phase":0,"quadratic_rows":[3,3,4,0,0,0,0,0,0]},"new":733,"old":61,"rank":3,"right":{"linear_Z4":[3,3,2,0,3,1,0,0,2],"matrix_rows":[10,44,17,293,46,256,304,320,384],"offset":235,"phase":2,"quadratic_rows":[309,38,35,0,305,55,0,0,17]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":64,"old":62,"rank":1,"right":{"linear_Z4":[3,0,3,3,3,2,0,0,2],"matrix_rows":[285,289,2,292,296,272,256,320,128],"offset":1,"phase":1,"quadratic_rows":[61,0,61,61,29,13,0,0,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[9,17,2,36,68,132,4,3,256],"offset":0,"phase":0,"quadratic_rows":[2,3,4,0,0,0,0,0,0]},"new":724,"old":62,"rank":3,"right":{"linear_Z4":[0,3,2,3,2,3,0,3,0],"matrix_rows":[135,132,40,128,134,88,64,96,256],"offset":13,"phase":1,"quadratic_rows":[6,3,129,120,8,104,40,132,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[11,1,18,32,64,132,260,2,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":740,"old":62,"rank":3,"right":{"linear_Z4":[2,3,0,2,2,1,0,3,2],"matrix_rows":[129,135,288,131,128,8,48,256,320],"offset":484,"phase":1,"quadratic_rows":[132,6,3,0,32,48,0,129,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":64,"old":63,"rank":1,"right":{"linear_Z4":[3,0,3,3,3,2,0,2,0],"matrix_rows":[157,161,2,164,168,144,128,192,256],"offset":1,"phase":1,"quadratic_rows":[61,0,61,61,29,13,0,0,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[9,17,2,36,68,132,4,256,3],"offset":0,"phase":0,"quadratic_rows":[2,3,4,0,0,0,0,0,0]},"new":725,"old":63,"rank":3,"right":{"linear_Z4":[0,3,2,3,2,3,0,0,3],"matrix_rows":[263,260,40,256,262,88,64,96,128],"offset":13,"phase":1,"quadratic_rows":[6,3,257,120,8,104,40,0,260]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[11,1,18,32,64,132,260,4,2],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":741,"old":63,"rank":3,"right":{"linear_Z4":[2,3,0,2,2,1,0,2,3],"matrix_rows":[257,263,160,259,256,8,48,128,192],"offset":484,"phase":1,"quadratic_rows":[260,6,3,0,32,48,0,0,257]}},{"left":{"linear_Z4":[2,2,2,3,3,0,0,0,0],"matrix_rows":[33,2,4,72,144,13,21,261,5],"offset":0,"phase":0,"quadratic_rows":[24,0,24,13,21,0,0,0,0]},"new":1,"old":64,"rank":5,"right":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[353,2,100,264,272,256,288,320,384],"offset":254,"phase":1,"quadratic_rows":[96,0,96,32,64,13,21,0,0]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,37,4,66,136,7,13,261,5],"offset":0,"phase":0,"quadratic_rows":[15,7,15,13,0,0,0,0,0]},"new":413,"old":64,"rank":4,"right":{"linear_Z4":[2,2,2,1,0,0,0,0,3],"matrix_rows":[107,264,366,272,256,266,288,320,384],"offset":254,"phase":3,"quadratic_rows":[362,13,362,47,64,13,21,0,261]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[18,3,33,68,136,5,9,257,1],"offset":0,"phase":0,"quadratic_rows":[15,3,5,9,0,0,0,0,0]},"new":414,"old":64,"rank":4,"right":{"linear_Z4":[1,3,0,0,0,1,1,0,2],"matrix_rows":[358,261,264,272,263,256,288,320,384],"offset":204,"phase":0,"quadratic_rows":[3,99,96,32,64,110,118,0,0]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,37,4,72,130,13,7,261,5],"offset":0,"phase":0,"quadratic_rows":[15,7,15,13,0,0,0,0,0]},"new":417,"old":64,"rank":4,"right":{"linear_Z4":[2,2,2,0,1,0,0,0,3],"matrix_rows":[115,272,374,264,256,274,288,320,384],"offset":254,"phase":3,"quadratic_rows":[370,21,370,32,87,13,21,0,261]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[22,3,37,73,129,12,4,261,5],"offset":0,"phase":0,"quadratic_rows":[15,7,15,13,0,0,0,0,0]},"new":418,"old":64,"rank":4,"right":{"linear_Z4":[2,0,0,2,3,2,2,0,3],"matrix_rows":[382,285,123,264,287,256,288,320,384],"offset":200,"phase":3,"quadratic_rows":[120,24,120,295,87,13,21,0,264]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":73,"old":65,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":74,"old":65,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":75,"old":65,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":76,"old":66,"rank":1,"right":{"linear_Z4":[0,3,3,2,0,0,0,0,0],"matrix_rows":[14,1,10,12,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":77,"old":66,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":78,"old":66,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,2,0,0],"matrix_rows":[69,65,2,68,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":76,"old":67,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,2,0,0,0],"matrix_rows":[35,33,34,4,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":79,"old":67,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":80,"old":67,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,2,0,0],"matrix_rows":[69,65,2,68,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":73,"old":68,"rank":1,"right":{"linear_Z4":[1,0,1,1,1,2,0,1,2],"matrix_rows":[413,289,2,292,296,272,256,64,384],"offset":0,"phase":0,"quadratic_rows":[189,0,189,189,157,13,0,157,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":81,"old":68,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":82,"old":68,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":77,"old":69,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,2,0,0],"matrix_rows":[104,33,34,4,72,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[32,32,0,40,0,11,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":79,"old":69,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,1,2,0,0],"matrix_rows":[104,1,10,12,64,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,8,8,38,0,40,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":83,"old":69,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,2,2,0,0],"matrix_rows":[72,33,2,36,104,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[32,0,32,40,0,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":74,"old":70,"rank":1,"right":{"linear_Z4":[1,1,0,1,1,0,2,1,2],"matrix_rows":[411,321,322,4,328,272,32,256,384],"offset":0,"phase":0,"quadratic_rows":[219,219,0,219,155,0,11,155,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":81,"old":70,"rank":1,"right":{"linear_Z4":[1,1,0,1,1,0,2,1,2],"matrix_rows":[411,257,322,68,264,272,96,256,384],"offset":0,"phase":0,"quadratic_rows":[155,219,64,155,155,64,38,155,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":84,"old":70,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":75,"old":71,"rank":1,"right":{"linear_Z4":[0,1,1,0,1,1,2,1,2],"matrix_rows":[438,1,322,324,8,272,352,256,384],"offset":0,"phase":0,"quadratic_rows":[0,246,246,0,182,246,38,182,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":82,"old":71,"rank":1,"right":{"linear_Z4":[0,1,1,0,1,1,2,1,2],"matrix_rows":[438,65,322,260,72,272,288,256,384],"offset":0,"phase":0,"quadratic_rows":[64,246,182,64,182,182,11,182,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":84,"old":71,"rank":1,"right":{"linear_Z4":[0,1,1,0,1,2,1,1,2],"matrix_rows":[470,33,258,292,40,272,256,320,384],"offset":0,"phase":0,"quadratic_rows":[32,214,246,32,214,13,214,214,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":78,"old":72,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,2,0,0,0],"matrix_rows":[35,33,34,4,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":80,"old":72,"rank":1,"right":{"linear_Z4":[0,3,3,2,0,0,0,0,0],"matrix_rows":[14,1,10,12,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":83,"old":72,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":532,"old":73,"rank":1,"right":{"linear_Z4":[3,0,3,3,0,0,0,0,0],"matrix_rows":[5,33,10,44,32,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[37,8,45,14,0,5,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":533,"old":73,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,2,0,0],"matrix_rows":[69,65,2,68,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,3,0,0,0,0,0],"matrix_rows":[16,34,67,1,132,2,260,8,12],"offset":0,"phase":0,"quadratic_rows":[3,1,8,12,0,0,0,0,0]},"new":581,"old":73,"rank":4,"right":{"linear_Z4":[2,1,0,1,0,1,3,2,3],"matrix_rows":[44,42,464,384,13,46,32,256,448],"offset":247,"phase":1,"quadratic_rows":[12,6,43,45,192,44,80,272,384]}},{"left":{"linear_Z4":[2,2,3,3,0,0,0,0,0],"matrix_rows":[16,1,34,66,132,256,2,8,12],"offset":0,"phase":0,"quadratic_rows":[0,0,12,12,0,0,0,0,0]},"new":583,"old":73,"rank":4,"right":{"linear_Z4":[0,2,3,3,0,0,2,0,1],"matrix_rows":[2,76,16,384,1,68,72,256,32],"offset":135,"phase":2,"quadratic_rows":[0,0,12,12,256,0,0,256,400]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":86,"old":74,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,2,0,0,0],"matrix_rows":[35,33,34,4,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":92,"old":74,"rank":1,"right":{"linear_Z4":[3,3,0,3,0,0,0,0,0],"matrix_rows":[3,65,74,12,64,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[67,75,8,14,0,0,3,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":88,"old":75,"rank":1,"right":{"linear_Z4":[0,3,3,2,0,0,0,0,0],"matrix_rows":[14,1,10,12,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":90,"old":75,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,3,0,0,0],"matrix_rows":[6,33,98,68,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[32,102,70,0,0,35,6,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":510,"old":76,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,1,1,2],"matrix_rows":[213,257,2,260,8,272,32,320,384],"offset":0,"phase":0,"quadratic_rows":[469,0,469,0,469,0,469,469,213]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":513,"old":76,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[2,1,258,4,8,16,32,64,128],"offset":0,"phase":0,"quadratic_rows":[0,258,0,0,0,0,0,0,2]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":532,"old":76,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,0,0,3,2],"matrix_rows":[400,1,2,4,8,272,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,144,0,0,144,0]}},{"left":{"linear_Z4":[3,2,2,2,0,0,0,0,0],"matrix_rows":[16,34,65,3,136,2,268,12,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":580,"old":76,"rank":4,"right":{"linear_Z4":[2,0,1,1,3,2,2,2,0],"matrix_rows":[36,10,320,464,5,32,40,400,192],"offset":93,"phase":1,"quadratic_rows":[4,40,13,46,80,10,16,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":86,"old":77,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,0,0,3,2],"matrix_rows":[400,1,2,4,8,272,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,144,0,0,144,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":91,"old":77,"rank":1,"right":{"linear_Z4":[0,1,1,1,1,0,0,1,2],"matrix_rows":[158,1,258,260,264,272,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,414,414,414,414,0,0,414,158]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":87,"old":78,"rank":1,"right":{"linear_Z4":[0,1,1,1,1,0,0,1,2],"matrix_rows":[158,1,258,260,264,272,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,414,414,414,414,0,0,414,158]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":90,"old":78,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,0,0,3,2],"matrix_rows":[400,1,2,4,8,272,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,144,0,0,144,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":88,"old":79,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,0,0,3,2],"matrix_rows":[400,1,2,4,8,272,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,144,0,0,144,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":89,"old":79,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,1,0,1,2],"matrix_rows":[179,257,258,4,8,272,288,64,384],"offset":0,"phase":0,"quadratic_rows":[435,435,0,0,435,435,0,435,179]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":85,"old":80,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,1,0,1,2],"matrix_rows":[179,257,258,4,8,272,288,64,384],"offset":0,"phase":0,"quadratic_rows":[435,435,0,0,435,435,0,435,179]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":92,"old":80,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,0,0,3,2],"matrix_rows":[400,1,2,4,8,272,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,144,0,0,144,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":87,"old":81,"rank":1,"right":{"linear_Z4":[0,2,2,1,1,0,0,1,2],"matrix_rows":[184,33,34,4,264,272,256,320,384],"offset":204,"phase":0,"quadratic_rows":[32,32,0,440,440,411,0,440,184]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":89,"old":81,"rank":1,"right":{"linear_Z4":[3,2,1,1,3,3,0,3,2],"matrix_rows":[437,257,10,268,256,272,288,64,384],"offset":29,"phase":0,"quadratic_rows":[181,8,189,14,181,181,0,181,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":85,"old":82,"rank":1,"right":{"linear_Z4":[2,2,0,0,1,1,0,1,2],"matrix_rows":[184,1,10,12,256,272,288,320,384],"offset":150,"phase":0,"quadratic_rows":[0,8,8,438,440,440,0,440,184]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":91,"old":82,"rank":1,"right":{"linear_Z4":[1,2,3,3,3,1,0,3,2],"matrix_rows":[413,289,34,260,264,272,256,64,384],"offset":71,"phase":0,"quadratic_rows":[189,32,157,157,157,35,0,157,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":438,"old":83,"rank":1,"right":{"linear_Z4":[3,0,3,0,2,0,0,0,0],"matrix_rows":[21,17,2,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":440,"old":83,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,2,0],"matrix_rows":[133,129,2,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":533,"old":83,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,0,0,3,2],"matrix_rows":[400,1,2,4,8,272,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,144,0,0,144,0]}},{"left":{"linear_Z4":[2,2,2,2,0,0,0,0,0],"matrix_rows":[16,42,69,129,258,4,5,8,10],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":582,"old":83,"rank":4,"right":{"linear_Z4":[2,2,0,1,3,0,2,0,2],"matrix_rows":[108,402,36,130,13,258,64,96,400],"offset":155,"phase":1,"quadratic_rows":[12,16,1,9,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":439,"old":84,"rank":1,"right":{"linear_Z4":[1,3,2,3,3,0,3,3,2],"matrix_rows":[475,257,386,132,392,400,32,448,256],"offset":444,"phase":2,"quadratic_rows":[219,91,128,91,91,0,91,133,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":441,"old":84,"rank":1,"right":{"linear_Z4":[3,0,2,3,0,0,0,0,0],"matrix_rows":[9,37,2,32,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[45,0,1,41,0,9,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":510,"old":84,"rank":1,"right":{"linear_Z4":[2,0,2,0,1,0,1,1,2],"matrix_rows":[216,1,10,12,256,272,288,320,384],"offset":90,"phase":0,"quadratic_rows":[0,8,8,470,472,0,472,472,216]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":512,"old":84,"rank":1,"right":{"linear_Z4":[2,3,2,1,3,0,3,3,2],"matrix_rows":[474,1,258,12,256,272,288,320,384],"offset":91,"phase":1,"quadratic_rows":[0,218,8,222,218,0,218,218,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":93,"old":85,"rank":1,"right":{"linear_Z4":[1,1,0,0,3,0,0,3,0],"matrix_rows":[179,289,290,4,8,272,256,64,384],"offset":71,"phase":0,"quadratic_rows":[403,403,0,0,435,400,0,435,179]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[11,19,32,64,131,6,256,2,7],"offset":0,"phase":0,"quadratic_rows":[5,2,5,0,0,0,0,0,0]},"new":686,"old":85,"rank":3,"right":{"linear_Z4":[0,0,0,0,2,2,0,1,3],"matrix_rows":[19,179,288,273,274,180,8,256,64],"offset":2,"phase":1,"quadratic_rows":[432,432,176,0,263,263,0,135,307]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[15,23,33,65,130,4,1,262,6],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":710,"old":85,"rank":3,"right":{"linear_Z4":[3,3,2,0,0,0,2,0,2],"matrix_rows":[71,403,163,321,322,64,72,256,384],"offset":131,"phase":1,"quadratic_rows":[55,55,3,0,131,131,0,48,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":93,"old":86,"rank":1,"right":{"linear_Z4":[3,3,0,3,0,0,0,0,0],"matrix_rows":[3,65,74,12,64,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[67,75,8,14,0,0,3,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,17,36,65,132,256,1,2,6],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":687,"old":86,"rank":3,"right":{"linear_Z4":[3,3,3,2,0,0,0,2,3],"matrix_rows":[3,384,404,73,66,388,64,256,32],"offset":133,"phase":1,"quadratic_rows":[75,67,20,1,132,0,3,272,384]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,19,32,65,132,3,2,260,4],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":711,"old":86,"rank":3,"right":{"linear_Z4":[2,0,2,1,3,2,0,1,2],"matrix_rows":[106,66,400,11,32,20,96,256,384],"offset":233,"phase":1,"quadratic_rows":[10,1,16,9,148,0,0,144,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":93,"old":87,"rank":1,"right":{"linear_Z4":[0,1,1,0,3,0,0,3,0],"matrix_rows":[158,1,266,268,256,272,32,64,384],"offset":29,"phase":0,"quadratic_rows":[0,406,406,400,414,0,0,414,158]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,23,39,66,4,129,1,262,6],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":694,"old":87,"rank":3,"right":{"linear_Z4":[2,3,3,0,0,0,2,0,2],"matrix_rows":[71,398,150,64,322,324,256,96,384],"offset":67,"phase":1,"quadratic_rows":[6,31,31,134,134,0,0,24,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[8,19,35,69,3,128,256,1,7],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":702,"old":87,"rank":3,"right":{"linear_Z4":[0,0,0,2,2,0,0,1,3],"matrix_rows":[158,278,8,153,18,20,256,32,64],"offset":1,"phase":1,"quadratic_rows":[152,408,408,263,263,0,0,135,286]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":93,"old":88,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,3,0,0,0],"matrix_rows":[6,33,98,68,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[32,102,70,0,0,35,6,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,16,38,70,129,2,4,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":695,"old":88,"rank":3,"right":{"linear_Z4":[2,2,0,0,3,1,2,1,2],"matrix_rows":[400,36,68,17,38,64,72,256,384],"offset":248,"phase":3,"quadratic_rows":[16,36,2,0,145,34,0,144,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[12,18,34,64,132,258,2,1,5],"offset":0,"phase":0,"quadratic_rows":[5,2,1,0,0,0,0,0,0]},"new":703,"old":88,"rank":3,"right":{"linear_Z4":[3,3,3,0,0,2,0,2,3],"matrix_rows":[384,6,401,385,66,100,8,256,64],"offset":134,"phase":1,"quadratic_rows":[17,70,102,0,129,4,6,272,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":93,"old":89,"rank":1,"right":{"linear_Z4":[0,1,1,0,3,3,0,3,2],"matrix_rows":[406,33,290,260,8,272,256,320,384],"offset":205,"phase":1,"quadratic_rows":[32,182,150,0,150,35,0,150,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,23,34,66,4,135,2,261,5],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":726,"old":89,"rank":3,"right":{"linear_Z4":[0,3,2,0,0,3,2,0,2],"matrix_rows":[423,98,182,256,326,64,72,352,384],"offset":11,"phase":1,"quadratic_rows":[166,55,19,0,166,51,0,17,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,16,39,71,135,259,4,1,2],"offset":0,"phase":0,"quadratic_rows":[4,4,7,0,0,0,0,0,0]},"new":734,"old":89,"rank":3,"right":{"linear_Z4":[0,0,2,0,3,1,2,3,1],"matrix_rows":[212,340,308,165,38,320,328,368,256],"offset":420,"phase":2,"quadratic_rows":[164,36,371,0,468,487,180,241,308]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":93,"old":90,"rank":1,"right":{"linear_Z4":[0,3,3,2,0,0,0,0,0],"matrix_rows":[14,1,10,12,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,16,34,64,132,1,3,260,4],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":727,"old":90,"rank":3,"right":{"linear_Z4":[0,2,1,2,3,2,1,1,2],"matrix_rows":[65,36,400,32,6,96,24,256,384],"offset":242,"phase":1,"quadratic_rows":[96,4,70,16,152,65,101,144,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,16,33,68,132,256,1,2,6],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":735,"old":90,"rank":3,"right":{"linear_Z4":[1,2,1,3,0,0,2,2,3],"matrix_rows":[65,384,408,69,6,64,392,256,32],"offset":189,"phase":0,"quadratic_rows":[5,4,7,24,136,0,0,272,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":93,"old":91,"rank":1,"right":{"linear_Z4":[1,1,0,3,3,0,0,3,2],"matrix_rows":[403,257,266,12,256,272,32,320,384],"offset":151,"phase":1,"quadratic_rows":[147,155,8,14,147,0,0,147,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[8,17,39,65,1,128,256,3,5],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":718,"old":91,"rank":3,"right":{"linear_Z4":[2,3,3,1,1,0,0,2,3],"matrix_rows":[10,388,4,149,134,256,24,32,64],"offset":62,"phase":1,"quadratic_rows":[148,142,151,26,157,0,0,279,384]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[14,17,34,70,4,129,1,263,7],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":742,"old":91,"rank":3,"right":{"linear_Z4":[2,1,0,2,0,0,0,3,2],"matrix_rows":[194,463,155,323,64,320,328,96,384],"offset":0,"phase":0,"quadratic_rows":[22,151,139,20,139,0,0,150,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":93,"old":92,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,2,0,0,0],"matrix_rows":[35,33,34,4,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,16,33,65,130,258,1,4,6],"offset":0,"phase":0,"quadratic_rows":[0,4,6,0,0,0,0,0,0]},"new":719,"old":92,"rank":3,"right":{"linear_Z4":[2,2,2,0,0,3,2,2,3],"matrix_rows":[68,432,384,5,6,64,72,256,416],"offset":186,"phase":3,"quadratic_rows":[4,4,3,0,160,48,0,272,384]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[8,17,34,3,68,4,2,128,256],"offset":0,"phase":0,"quadratic_rows":[3,1,4,0,0,0,0,0,0]},"new":743,"old":92,"rank":3,"right":{"linear_Z4":[2,1,0,1,1,2,2,0,0],"matrix_rows":[66,12,16,3,72,64,48,128,256],"offset":25,"phase":3,"quadratic_rows":[2,11,72,78,48,16,12,0,0]}},{"left":{"linear_Z4":[2,2,2,3,3,0,0,0,0],"matrix_rows":[33,66,4,134,264,3,5,16,24],"offset":0,"phase":0,"quadratic_rows":[6,5,3,24,24,0,0,0,0]},"new":1,"old":93,"rank":5,"right":{"linear_Z4":[0,2,2,0,0,0,0,0,1],"matrix_rows":[33,34,36,16,384,64,96,104,256],"offset":431,"phase":1,"quadratic_rows":[96,64,32,0,256,5,3,256,400]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,35,66,130,260,1,3,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":413,"old":93,"rank":4,"right":{"linear_Z4":[0,0,2,0,0,0,2,0,1],"matrix_rows":[3,6,16,384,32,66,96,104,256],"offset":484,"phase":1,"quadratic_rows":[34,69,98,0,256,5,6,256,400]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[18,35,65,130,260,3,1,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":414,"old":93,"rank":4,"right":{"linear_Z4":[1,1,2,0,0,2,2,0,1],"matrix_rows":[6,5,16,384,103,32,64,104,256],"offset":389,"phase":0,"quadratic_rows":[99,67,32,0,256,5,3,256,400]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[19,33,66,131,260,1,2,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":419,"old":93,"rank":4,"right":{"linear_Z4":[2,0,0,0,0,2,2,0,1],"matrix_rows":[3,5,16,384,97,32,64,104,256],"offset":388,"phase":3,"quadratic_rows":[102,33,65,0,256,3,5,256,400]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,34,67,130,260,3,1,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":420,"old":93,"rank":4,"right":{"linear_Z4":[0,2,0,0,0,2,0,0,1],"matrix_rows":[5,6,16,384,64,96,36,104,256],"offset":484,"phase":1,"quadratic_rows":[68,100,35,0,256,6,3,256,400]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":102,"old":94,"rank":1,"right":{"linear_Z4":[0,3,0,3,2,0,0,0,0],"matrix_rows":[26,1,18,4,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":103,"old":94,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,2,0,0],"matrix_rows":[81,65,2,4,8,80,32,128,256],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":104,"old":94,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":105,"old":95,"rank":1,"right":{"linear_Z4":[1,1,1,0,1,2,0,1,2],"matrix_rows":[407,289,290,260,8,304,256,64,384],"offset":0,"phase":0,"quadratic_rows":[183,183,151,0,183,19,0,151,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":106,"old":95,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":107,"old":95,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":105,"old":96,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":108,"old":96,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":109,"old":96,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":102,"old":97,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,2,0,0,0],"matrix_rows":[41,33,2,4,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":110,"old":97,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":111,"old":97,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,3,2,0,0],"matrix_rows":[98,1,66,4,8,16,96,128,256],"offset":1,"phase":1,"quadratic_rows":[0,34,0,0,0,34,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":106,"old":98,"rank":1,"right":{"linear_Z4":[1,1,1,1,0,0,2,1,2],"matrix_rows":[399,257,258,260,328,80,96,256,384],"offset":0,"phase":0,"quadratic_rows":[143,143,143,207,64,64,56,143,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":108,"old":98,"rank":1,"right":{"linear_Z4":[1,1,1,1,0,0,2,1,2],"matrix_rows":[399,321,322,260,328,16,32,256,384],"offset":0,"phase":0,"quadratic_rows":[207,207,143,207,0,0,11,143,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":112,"old":98,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":103,"old":99,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,2,0,0,0],"matrix_rows":[41,33,2,4,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":110,"old":99,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,2,0,0],"matrix_rows":[81,65,18,4,24,64,32,128,256],"offset":0,"phase":0,"quadratic_rows":[17,16,0,16,11,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":113,"old":99,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":104,"old":100,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,0,0],"matrix_rows":[98,33,66,4,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[32,34,0,32,0,11,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":111,"old":100,"rank":1,"right":{"linear_Z4":[0,3,0,3,2,0,0,0,0],"matrix_rows":[26,1,18,4,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":113,"old":100,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,2,2,0,0],"matrix_rows":[66,33,98,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[32,34,0,0,32,19,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":107,"old":101,"rank":1,"right":{"linear_Z4":[0,0,1,1,1,1,2,1,2],"matrix_rows":[444,65,66,260,328,272,288,256,384],"offset":0,"phase":0,"quadratic_rows":[64,64,188,252,188,188,11,188,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":109,"old":101,"rank":1,"right":{"linear_Z4":[0,0,1,1,1,1,2,1,2],"matrix_rows":[444,1,2,260,328,336,352,256,384],"offset":0,"phase":0,"quadratic_rows":[0,0,188,252,252,252,56,188,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":112,"old":101,"rank":1,"right":{"linear_Z4":[0,0,1,1,1,2,1,1,2],"matrix_rows":[476,33,34,260,264,304,256,320,384],"offset":0,"phase":0,"quadratic_rows":[32,32,220,220,252,19,220,220,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":535,"old":102,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,0,0,3,2],"matrix_rows":[388,1,2,260,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,132,0,0,0,0,132,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":537,"old":102,"rank":1,"right":{"linear_Z4":[3,3,3,3,0,0,3,3,2],"matrix_rows":[463,257,258,260,264,16,32,320,384],"offset":1,"phase":1,"quadratic_rows":[207,207,207,207,0,0,207,207,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,18,32,64,128,258,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":587,"old":102,"rank":2,"right":{"linear_Z4":[0,0,3,0,0,0,3,3,0],"matrix_rows":[384,196,1,2,388,8,16,32,448],"offset":2,"phase":1,"quadratic_rows":[0,0,324,0,0,0,324,384,196]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[19,35,78,131,259,3,5,9,1],"offset":0,"phase":0,"quadratic_rows":[15,15,15,15,0,0,0,0,0]},"new":591,"old":102,"rank":4,"right":{"linear_Z4":[2,2,1,1,0,1,1,1,0],"matrix_rows":[491,455,428,364,33,34,492,32,48],"offset":204,"phase":0,"quadratic_rows":[12,12,239,239,0,236,236,236,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":115,"old":103,"rank":1,"right":{"linear_Z4":[0,1,1,1,1,0,0,1,2],"matrix_rows":[158,1,258,260,264,272,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,414,414,414,414,0,0,414,158]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":121,"old":103,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,0,0,3,2],"matrix_rows":[388,1,2,260,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,132,0,0,0,0,132,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":117,"old":104,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,0,0,3,2],"matrix_rows":[388,1,2,260,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,132,0,0,0,0,132,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":119,"old":104,"rank":1,"right":{"linear_Z4":[0,1,1,1,1,0,0,1,2],"matrix_rows":[158,1,258,260,264,272,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,414,414,414,414,0,0,414,158]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":535,"old":105,"rank":1,"right":{"linear_Z4":[3,3,0,0,3,0,0,0,0],"matrix_rows":[3,33,50,4,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[35,51,0,16,26,3,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":536,"old":105,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,2,0,0],"matrix_rows":[81,65,2,4,8,80,32,128,256],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,3,0,0,0,0,0],"matrix_rows":[17,33,72,3,130,2,12,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,8,12,0,0,0,0,0]},"new":586,"old":105,"rank":4,"right":{"linear_Z4":[3,3,1,1,0,0,3,0,2],"matrix_rows":[27,24,192,388,41,58,452,32,256],"offset":3,"phase":2,"quadratic_rows":[51,35,68,24,9,3,324,256,192]}},{"left":{"linear_Z4":[2,3,2,3,0,0,0,0,0],"matrix_rows":[16,33,66,4,129,256,1,8,10],"offset":0,"phase":0,"quadratic_rows":[0,10,0,10,0,0,0,0,0]},"new":589,"old":105,"rank":4,"right":{"linear_Z4":[0,3,0,2,3,0,2,0,1],"matrix_rows":[82,4,8,384,1,66,256,80,32],"offset":71,"phase":2,"quadratic_rows":[0,18,256,0,18,0,0,256,388]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":115,"old":106,"rank":1,"right":{"linear_Z4":[0,1,1,2,2,0,0,1,2],"matrix_rows":[166,33,258,260,40,16,256,320,384],"offset":240,"phase":0,"quadratic_rows":[32,422,422,32,0,399,0,422,166]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":120,"old":106,"rank":1,"right":{"linear_Z4":[1,0,1,2,0,2,0,1,2],"matrix_rows":[149,257,18,260,24,256,32,320,384],"offset":240,"phase":0,"quadratic_rows":[405,16,405,16,399,0,0,405,149]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":116,"old":107,"rank":1,"right":{"linear_Z4":[3,1,3,2,1,3,0,3,2],"matrix_rows":[423,257,274,260,24,256,288,64,384],"offset":53,"phase":0,"quadratic_rows":[167,183,167,16,26,167,0,167,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":119,"old":107,"rank":1,"right":{"linear_Z4":[1,3,3,2,3,1,0,3,2],"matrix_rows":[407,289,258,260,40,272,256,64,384],"offset":83,"phase":0,"quadratic_rows":[183,151,151,32,151,41,0,151,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":117,"old":108,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,2,0,0,0],"matrix_rows":[41,33,2,4,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":118,"old":108,"rank":1,"right":{"linear_Z4":[0,3,0,3,2,0,0,0,0],"matrix_rows":[26,1,18,4,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":114,"old":109,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,3,0,0,0],"matrix_rows":[40,1,18,4,88,64,96,128,256],"offset":1,"phase":1,"quadratic_rows":[0,16,0,120,26,104,40,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":121,"old":109,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,3,0,0,0],"matrix_rows":[24,33,2,4,104,80,64,128,256],"offset":1,"phase":1,"quadratic_rows":[32,0,0,120,88,41,24,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":116,"old":110,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,1,0,1,2],"matrix_rows":[173,257,2,260,264,16,288,64,384],"offset":0,"phase":0,"quadratic_rows":[429,0,429,429,0,429,0,429,173]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":118,"old":110,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,0,0,3,2],"matrix_rows":[388,1,2,260,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,132,0,0,0,0,132,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":114,"old":111,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,0,0,3,2],"matrix_rows":[388,1,2,260,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,132,0,0,0,0,132,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":120,"old":111,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,1,0,1,2],"matrix_rows":[173,257,2,260,264,16,288,64,384],"offset":0,"phase":0,"quadratic_rows":[429,0,429,429,0,429,0,429,173]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":534,"old":112,"rank":1,"right":{"linear_Z4":[1,3,3,3,2,0,1,3,2],"matrix_rows":[399,321,258,260,264,80,32,256,384],"offset":163,"phase":0,"quadratic_rows":[207,143,143,143,64,0,81,143,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":537,"old":112,"rank":1,"right":{"linear_Z4":[3,3,0,0,3,0,0,0,0],"matrix_rows":[3,33,50,4,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[35,51,0,16,26,3,0,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[4,11,19,35,67,128,259,1,2],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":585,"old":112,"rank":2,"right":{"linear_Z4":[2,0,0,0,2,0,1,0,3],"matrix_rows":[286,158,193,322,324,328,400,32,256],"offset":319,"phase":1,"quadratic_rows":[192,192,192,192,0,0,207,335,384]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,11,18,34,65,1,130,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":590,"old":112,"rank":2,"right":{"linear_Z4":[0,0,0,1,3,0,1,1,2],"matrix_rows":[3,479,289,306,256,264,32,320,384],"offset":1,"phase":1,"quadratic_rows":[252,236,219,223,221,3,223,223,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":534,"old":113,"rank":1,"right":{"linear_Z4":[0,1,1,1,1,0,0,1,2],"matrix_rows":[158,1,258,260,264,272,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,414,414,414,414,0,0,414,158]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":536,"old":113,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,0,0,3,2],"matrix_rows":[388,1,2,260,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,132,0,0,0,0,132,0]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[18,34,74,12,133,261,5,4,7],"offset":0,"phase":0,"quadratic_rows":[3,15,14,14,0,0,0,0,0]},"new":584,"old":113,"rank":4,"right":{"linear_Z4":[3,3,2,2,0,0,0,3,3],"matrix_rows":[336,207,472,468,337,322,476,64,96],"offset":436,"phase":1,"quadratic_rows":[415,399,195,195,385,0,12,415,403]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,16,34,65,129,1,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":588,"old":113,"rank":2,"right":{"linear_Z4":[2,2,0,3,1,0,2,3,2],"matrix_rows":[80,392,1,18,4,264,64,96,384],"offset":207,"phase":2,"quadratic_rows":[0,16,0,136,18,0,0,136,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":122,"old":114,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,0,0],"matrix_rows":[98,33,66,4,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[32,34,0,32,0,11,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,18,33,64,130,4,6,257,1],"offset":0,"phase":0,"quadratic_rows":[0,4,6,0,0,0,0,0,0]},"new":668,"old":114,"rank":3,"right":{"linear_Z4":[2,2,3,2,0,1,3,1,2],"matrix_rows":[388,66,96,5,64,256,40,80,384],"offset":248,"phase":3,"quadratic_rows":[4,0,133,32,0,104,96,132,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[12,18,36,64,128,258,2,1,5],"offset":0,"phase":0,"quadratic_rows":[5,0,1,0,0,0,0,0,0]},"new":700,"old":114,"rank":3,"right":{"linear_Z4":[3,1,0,2,0,1,2,2,3],"matrix_rows":[384,66,389,385,98,256,40,16,64],"offset":374,"phase":0,"quadratic_rows":[5,34,129,32,0,42,0,260,384]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":122,"old":115,"rank":1,"right":{"linear_Z4":[3,0,1,0,2,0,0,1,2],"matrix_rows":[149,257,18,260,24,256,32,320,384],"offset":162,"phase":1,"quadratic_rows":[405,16,405,16,399,0,0,405,149]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,4,39,71,129,1,262,6],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":669,"old":115,"rank":3,"right":{"linear_Z4":[2,0,0,3,3,0,2,0,2],"matrix_rows":[89,410,156,64,256,328,336,96,384],"offset":19,"phase":1,"quadratic_rows":[24,152,152,31,31,0,0,6,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,19,32,64,133,256,5,1,7],"offset":0,"phase":0,"quadratic_rows":[4,6,3,0,0,0,0,0,0]},"new":701,"old":115,"rank":3,"right":{"linear_Z4":[0,2,0,0,2,0,1,1,3],"matrix_rows":[210,66,272,147,320,20,24,64,32],"offset":1,"phase":1,"quadratic_rows":[146,321,16,16,269,0,450,193,338]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":122,"old":116,"rank":1,"right":{"linear_Z4":[1,0,3,1,0,0,0,3,0],"matrix_rows":[173,289,2,260,296,16,256,64,384],"offset":83,"phase":0,"quadratic_rows":[397,0,429,397,0,388,0,429,173]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[11,16,35,67,128,6,256,2,7],"offset":0,"phase":0,"quadratic_rows":[5,2,5,0,0,0,0,0,0]},"new":676,"old":116,"rank":3,"right":{"linear_Z4":[2,2,1,0,0,1,0,0,1],"matrix_rows":[169,9,288,261,166,256,424,16,64],"offset":57,"phase":0,"quadratic_rows":[420,164,167,256,0,167,0,295,393]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[14,22,34,65,129,4,1,263,7],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":710,"old":116,"rank":3,"right":{"linear_Z4":[2,2,0,1,0,0,0,3,2],"matrix_rows":[200,463,171,321,330,320,64,80,384],"offset":0,"phase":0,"quadratic_rows":[36,44,139,174,0,139,0,172,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":122,"old":117,"rank":1,"right":{"linear_Z4":[0,3,0,3,2,0,0,0,0],"matrix_rows":[26,1,18,4,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,17,34,65,130,256,1,4,6],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":677,"old":117,"rank":3,"right":{"linear_Z4":[3,2,0,3,3,0,0,2,3],"matrix_rows":[9,404,384,67,64,256,72,400,32],"offset":35,"phase":1,"quadratic_rows":[75,1,144,73,20,0,9,260,384]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[8,19,36,65,4,1,2,128,256],"offset":0,"phase":0,"quadratic_rows":[2,3,4,0,0,0,0,0,0]},"new":711,"old":117,"rank":3,"right":{"linear_Z4":[2,0,1,3,2,1,3,0,0],"matrix_rows":[106,34,4,11,96,20,32,128,256],"offset":27,"phase":0,"quadratic_rows":[10,33,20,73,4,34,72,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":122,"old":118,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,2,0,0,0],"matrix_rows":[41,33,2,4,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,17,34,64,129,258,1,4,6],"offset":0,"phase":0,"quadratic_rows":[0,4,6,0,0,0,0,0,0]},"new":720,"old":118,"rank":3,"right":{"linear_Z4":[2,1,0,2,0,3,2,2,3],"matrix_rows":[66,420,384,3,64,256,8,80,416],"offset":234,"phase":3,"quadratic_rows":[2,3,160,0,0,36,0,260,384]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[8,19,36,1,66,4,2,128,256],"offset":0,"phase":0,"quadratic_rows":[3,1,4,0,0,0,0,0,0]},"new":748,"old":118,"rank":3,"right":{"linear_Z4":[2,0,1,3,0,2,1,0,0],"matrix_rows":[74,66,4,11,64,36,80,128,256],"offset":27,"phase":0,"quadratic_rows":[10,65,36,73,0,4,74,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":122,"old":119,"rank":1,"right":{"linear_Z4":[0,1,3,1,0,0,0,3,0],"matrix_rows":[158,1,274,260,280,256,32,64,384],"offset":53,"phase":0,"quadratic_rows":[0,398,414,398,388,0,0,414,158]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[8,19,35,67,5,128,256,1,7],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":721,"old":119,"rank":3,"right":{"linear_Z4":[2,2,1,0,1,0,0,0,1],"matrix_rows":[10,154,272,149,262,256,408,32,64],"offset":58,"phase":0,"quadratic_rows":[148,404,151,256,151,0,0,279,394]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[14,22,34,65,4,129,1,263,7],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":749,"old":119,"rank":3,"right":{"linear_Z4":[2,2,0,1,0,0,0,3,2],"matrix_rows":[200,463,155,329,322,320,64,96,384],"offset":0,"phase":0,"quadratic_rows":[28,20,139,157,139,0,0,156,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":122,"old":120,"rank":1,"right":{"linear_Z4":[0,3,1,0,0,2,0,1,2],"matrix_rows":[166,33,258,260,40,16,256,320,384],"offset":196,"phase":1,"quadratic_rows":[32,422,422,32,0,399,0,422,166]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,4,39,66,135,2,261,5],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":730,"old":120,"rank":3,"right":{"linear_Z4":[0,2,0,3,0,3,2,0,2],"matrix_rows":[425,106,172,256,64,328,80,352,384],"offset":11,"phase":1,"quadratic_rows":[168,40,168,47,0,47,0,5,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,19,35,64,131,261,6,1,4],"offset":0,"phase":0,"quadratic_rows":[6,7,3,0,0,0,0,0,0]},"new":756,"old":120,"rank":3,"right":{"linear_Z4":[0,2,2,0,0,0,0,3,0],"matrix_rows":[198,294,96,163,320,356,40,336,256],"offset":422,"phase":3,"quadratic_rows":[162,1,128,32,0,393,384,229,96]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":122,"old":121,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,2,0,0],"matrix_rows":[81,65,18,4,24,64,32,128,256],"offset":0,"phase":0,"quadratic_rows":[17,16,0,16,11,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,16,34,64,132,1,5,258,2],"offset":0,"phase":0,"quadratic_rows":[4,0,5,0,0,0,0,0,0]},"new":731,"old":121,"rank":3,"right":{"linear_Z4":[0,2,3,2,1,2,1,1,2],"matrix_rows":[65,388,48,32,6,256,24,96,384],"offset":244,"phase":1,"quadratic_rows":[96,4,134,16,88,65,113,132,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,20,36,64,129,256,1,2,6],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":757,"old":121,"rank":3,"right":{"linear_Z4":[1,3,0,2,1,0,2,2,3],"matrix_rows":[65,384,390,81,386,256,24,64,32],"offset":237,"phase":0,"quadratic_rows":[17,6,130,16,25,0,0,260,384]}},{"left":{"linear_Z4":[2,2,3,3,3,0,0,0,0],"matrix_rows":[33,66,132,264,10,9,11,16,20],"offset":0,"phase":0,"quadratic_rows":[2,1,20,8,20,0,0,0,0]},"new":1,"old":122,"rank":5,"right":{"linear_Z4":[0,0,0,2,1,1,0,0,1],"matrix_rows":[49,50,4,8,384,80,96,256,112],"offset":239,"phase":1,"quadratic_rows":[96,80,256,112,58,57,11,256,388]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,33,68,130,2,259,3,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":413,"old":122,"rank":4,"right":{"linear_Z4":[2,1,0,2,2,0,2,0,1],"matrix_rows":[11,8,4,384,80,90,256,16,96],"offset":86,"phase":0,"quadratic_rows":[90,83,256,65,3,0,11,256,388]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[18,34,68,129,259,1,3,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":415,"old":122,"rank":4,"right":{"linear_Z4":[1,2,0,2,0,2,2,0,1],"matrix_rows":[8,11,4,384,105,96,256,32,80],"offset":101,"phase":0,"quadratic_rows":[99,105,256,66,0,3,11,256,388]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,33,66,132,4,261,5,8,10],"offset":0,"phase":0,"quadratic_rows":[1,10,4,10,0,0,0,0,0]},"new":417,"old":122,"rank":4,"right":{"linear_Z4":[2,1,0,2,2,0,2,0,1],"matrix_rows":[3,4,8,384,80,82,256,16,96],"offset":86,"phase":0,"quadratic_rows":[82,83,256,16,11,0,3,256,388]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,33,66,132,261,4,5,8,10],"offset":0,"phase":0,"quadratic_rows":[1,10,4,10,0,0,0,0,0]},"new":419,"old":122,"rank":4,"right":{"linear_Z4":[1,2,0,2,0,2,2,0,1],"matrix_rows":[3,4,8,384,97,96,256,32,80],"offset":102,"phase":0,"quadratic_rows":[99,97,256,32,0,11,3,256,388]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":131,"old":123,"rank":1,"right":{"linear_Z4":[1,1,1,0,1,2,1,0,2],"matrix_rows":[343,289,290,260,8,304,256,320,128],"offset":0,"phase":0,"quadratic_rows":[119,119,87,0,119,19,87,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":132,"old":123,"rank":1,"right":{"linear_Z4":[1,1,1,0,1,1,2,0,2],"matrix_rows":[311,321,258,324,8,336,288,256,128],"offset":0,"phase":0,"quadratic_rows":[119,55,119,0,119,55,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":133,"old":123,"rank":1,"right":{"linear_Z4":[1,1,1,0,1,1,2,0,2],"matrix_rows":[311,257,322,324,8,272,352,256,128],"offset":0,"phase":0,"quadratic_rows":[55,119,119,0,55,119,38,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":134,"old":124,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":135,"old":124,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,2,2,0],"matrix_rows":[132,65,2,196,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[64,0,68,0,64,0,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":136,"old":124,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,2,2,0],"matrix_rows":[132,1,66,196,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,64,68,0,0,64,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":134,"old":125,"rank":1,"right":{"linear_Z4":[1,1,1,0,1,2,1,2,0],"matrix_rows":[215,161,162,132,8,176,128,192,256],"offset":0,"phase":0,"quadratic_rows":[119,119,87,0,119,19,87,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":137,"old":125,"rank":1,"right":{"linear_Z4":[1,1,1,0,1,1,2,2,0],"matrix_rows":[183,129,194,196,8,144,224,128,256],"offset":0,"phase":0,"quadratic_rows":[55,119,119,0,55,119,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":138,"old":125,"rank":1,"right":{"linear_Z4":[1,1,1,0,1,1,2,2,0],"matrix_rows":[183,193,130,196,8,208,160,128,256],"offset":0,"phase":0,"quadratic_rows":[119,55,119,0,119,55,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":131,"old":126,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":139,"old":126,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,2,0,2],"matrix_rows":[260,1,66,324,8,16,96,256,128],"offset":0,"phase":0,"quadratic_rows":[0,64,68,0,0,64,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":140,"old":126,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,2,0,2],"matrix_rows":[260,65,2,324,8,80,32,256,128],"offset":0,"phase":0,"quadratic_rows":[64,0,68,0,64,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":135,"old":127,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":137,"old":127,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":141,"old":127,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":132,"old":128,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":139,"old":128,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":142,"old":128,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,2,0,0,2],"matrix_rows":[258,33,290,4,8,48,256,64,128],"offset":0,"phase":0,"quadratic_rows":[32,34,0,0,32,19,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":133,"old":129,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":140,"old":129,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":142,"old":129,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":136,"old":130,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":138,"old":130,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":141,"old":130,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,2,0,2,0],"matrix_rows":[130,33,162,4,8,48,128,64,256],"offset":0,"phase":0,"quadratic_rows":[32,34,0,0,32,19,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":539,"old":131,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,0,3,2,0],"matrix_rows":[196,1,2,132,8,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,0,68,0,0,0,68,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":541,"old":131,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,2,0],"matrix_rows":[145,129,2,4,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,32,65,1,130,2,256],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":595,"old":131,"rank":2,"right":{"linear_Z4":[3,3,0,0,3,0,1,2,0],"matrix_rows":[3,64,33,50,4,24,32,192,256],"offset":1,"phase":1,"quadratic_rows":[35,51,0,16,26,3,192,64,0]}},{"left":{"linear_Z4":[2,3,2,3,0,0,0,0,0],"matrix_rows":[16,33,66,4,129,256,8,1,10],"offset":0,"phase":0,"quadratic_rows":[0,10,0,10,0,0,0,0,0]},"new":599,"old":131,"rank":4,"right":{"linear_Z4":[0,3,0,2,3,0,0,2,1],"matrix_rows":[146,4,8,320,1,130,256,144,32],"offset":71,"phase":2,"quadratic_rows":[0,18,256,0,18,0,256,0,324]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":144,"old":132,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,2,0],"matrix_rows":[145,129,2,4,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":150,"old":132,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,3,0,2,0],"matrix_rows":[162,1,130,4,8,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,34,0,0,0,34,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":146,"old":133,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,2,0],"matrix_rows":[145,129,2,4,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":148,"old":133,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,3,0,2,0],"matrix_rows":[162,1,130,4,8,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,34,0,0,0,34,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":539,"old":134,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,0,3,0,2],"matrix_rows":[324,1,2,260,8,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,0,68,0,0,0,68,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":540,"old":134,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,0,2],"matrix_rows":[273,257,2,4,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[3,3,3,2,0,0,0,0,0],"matrix_rows":[16,35,68,8,1,2,128,256,4],"offset":0,"phase":0,"quadratic_rows":[3,3,4,0,0,0,0,0,0]},"new":594,"old":134,"rank":4,"right":{"linear_Z4":[2,0,1,2,3,3,0,0,2],"matrix_rows":[50,2,4,8,19,32,260,64,128],"offset":59,"phase":1,"quadratic_rows":[18,1,260,0,49,48,0,0,4]}},{"left":{"linear_Z4":[2,3,2,3,0,0,0,0,0],"matrix_rows":[16,33,66,4,129,256,8,10,1],"offset":0,"phase":0,"quadratic_rows":[0,10,0,10,0,0,0,0,0]},"new":597,"old":134,"rank":4,"right":{"linear_Z4":[0,3,0,2,3,0,0,1,2],"matrix_rows":[274,4,8,192,1,258,128,272,32],"offset":71,"phase":2,"quadratic_rows":[0,18,128,0,18,0,128,196,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":144,"old":135,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,3,0,0,2],"matrix_rows":[290,1,258,4,8,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,34,0,0,0,34,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":149,"old":135,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,0,2],"matrix_rows":[273,257,2,4,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":145,"old":136,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,3,0,0,2],"matrix_rows":[290,1,258,4,8,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,34,0,0,0,34,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":148,"old":136,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,0,2],"matrix_rows":[273,257,2,4,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":146,"old":137,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,0,2],"matrix_rows":[273,257,2,4,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":147,"old":137,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,3,0,0,2],"matrix_rows":[290,1,258,4,8,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,34,0,0,0,34,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":143,"old":138,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,0,2],"matrix_rows":[273,257,2,4,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":150,"old":138,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,3,0,0,2],"matrix_rows":[290,1,258,4,8,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,34,0,0,0,34,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":145,"old":139,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,3,0,2,0],"matrix_rows":[162,1,130,4,8,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,34,0,0,0,34,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":147,"old":139,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,2,0],"matrix_rows":[145,129,2,4,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":143,"old":140,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,3,0,2,0],"matrix_rows":[162,1,130,4,8,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,34,0,0,0,34,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":149,"old":140,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,2,0],"matrix_rows":[145,129,2,4,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":538,"old":141,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,0,2],"matrix_rows":[273,257,2,4,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":541,"old":141,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,0,3,0,2],"matrix_rows":[324,1,2,260,8,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,0,68,0,0,0,68,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[6,11,19,35,65,128,1,256,3],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":593,"old":141,"rank":2,"right":{"linear_Z4":[3,2,2,2,3,0,2,0,2],"matrix_rows":[30,335,321,258,260,264,80,32,128],"offset":3,"phase":2,"quadratic_rows":[15,81,81,81,94,0,30,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,16,34,65,129,258,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":598,"old":141,"rank":2,"right":{"linear_Z4":[2,2,0,3,1,0,3,2,2],"matrix_rows":[144,328,1,18,4,264,128,160,320],"offset":207,"phase":2,"quadratic_rows":[0,16,0,72,18,0,72,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":538,"old":142,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,2,0],"matrix_rows":[145,129,2,4,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":540,"old":142,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,0,3,2,0],"matrix_rows":[196,1,2,132,8,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,0,68,0,0,0,68,0,0]}},{"left":{"linear_Z4":[2,3,2,2,0,0,0,0,0],"matrix_rows":[18,34,4,8,65,129,259,3,1],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":592,"old":142,"rank":4,"right":{"linear_Z4":[1,1,2,2,0,0,2,2,0],"matrix_rows":[336,83,4,8,401,386,256,288,192],"offset":12,"phase":2,"quadratic_rows":[451,467,0,0,386,0,387,83,83]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,16,34,65,129,258,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":596,"old":142,"rank":2,"right":{"linear_Z4":[2,2,0,3,1,0,3,2,2],"matrix_rows":[272,200,1,18,4,136,256,288,192],"offset":207,"phase":2,"quadratic_rows":[0,16,0,72,18,0,72,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":151,"old":143,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,2,0,2,0],"matrix_rows":[130,33,162,4,8,48,128,64,256],"offset":0,"phase":0,"quadratic_rows":[32,34,0,0,32,19,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,18,33,66,129,4,1,6,256],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":670,"old":143,"rank":3,"right":{"linear_Z4":[3,0,2,3,3,2,0,3,0],"matrix_rows":[17,170,160,69,128,64,168,80,256],"offset":19,"phase":1,"quadratic_rows":[85,40,1,10,81,130,17,160,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,21,32,1,66,132,258,4,2],"offset":0,"phase":0,"quadratic_rows":[5,0,1,0,0,0,0,0,0]},"new":708,"old":143,"rank":3,"right":{"linear_Z4":[2,2,2,3,1,0,0,3,2],"matrix_rows":[130,272,170,1,138,20,256,128,320],"offset":362,"phase":1,"quadratic_rows":[0,160,16,40,20,10,0,130,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":151,"old":144,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,2,0,0,2],"matrix_rows":[258,33,290,4,8,48,256,64,128],"offset":0,"phase":0,"quadratic_rows":[32,34,0,0,32,19,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,18,33,66,129,4,1,256,6],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":671,"old":144,"rank":3,"right":{"linear_Z4":[3,0,2,3,3,2,0,0,3],"matrix_rows":[17,298,288,69,256,64,296,80,128],"offset":19,"phase":1,"quadratic_rows":[85,40,1,10,81,258,17,0,288]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,21,32,1,66,132,258,2,4],"offset":0,"phase":0,"quadratic_rows":[5,0,1,0,0,0,0,0,0]},"new":709,"old":144,"rank":3,"right":{"linear_Z4":[2,2,2,3,1,0,0,2,3],"matrix_rows":[258,144,298,1,266,20,128,256,192],"offset":362,"phase":1,"quadratic_rows":[0,288,16,40,20,10,0,0,258]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":151,"old":145,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,2,0,0,2],"matrix_rows":[6,33,290,260,8,48,256,320,384],"offset":0,"phase":0,"quadratic_rows":[32,294,262,0,32,19,0,0,6]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[14,16,35,71,4,134,5,262,6],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":678,"old":145,"rank":3,"right":{"linear_Z4":[2,0,3,3,2,0,2,0,1],"matrix_rows":[124,25,269,261,38,320,376,256,384],"offset":236,"phase":1,"quadratic_rows":[16,36,278,24,269,2,0,0,276]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[14,20,36,1,7,67,131,259,3],"offset":0,"phase":0,"quadratic_rows":[7,3,5,0,0,0,0,0,0]},"new":702,"old":145,"rank":3,"right":{"linear_Z4":[0,3,3,1,1,2,0,0,2],"matrix_rows":[56,9,15,57,306,276,256,320,384],"offset":243,"phase":2,"quadratic_rows":[62,319,287,15,55,19,0,0,6]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":151,"old":146,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,2,0,0,0],"matrix_rows":[6,33,98,68,8,48,64,128,256],"offset":1,"phase":1,"quadratic_rows":[32,102,70,0,32,19,6,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,16,38,70,128,2,4,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":679,"old":146,"rank":3,"right":{"linear_Z4":[0,2,0,2,0,2,2,0,2],"matrix_rows":[257,12,108,256,38,64,104,16,384],"offset":48,"phase":2,"quadratic_rows":[0,36,2,0,0,2,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,33,3,68,130,2,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":703,"old":146,"rank":3,"right":{"linear_Z4":[0,3,3,1,0,0,0,0,2],"matrix_rows":[46,40,272,1,74,108,256,64,384],"offset":3,"phase":2,"quadratic_rows":[0,102,70,40,0,10,6,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":151,"old":147,"rank":1,"right":{"linear_Z4":[3,3,3,0,3,2,0,0,2],"matrix_rows":[279,289,290,260,8,304,256,320,128],"offset":1,"phase":1,"quadratic_rows":[55,55,23,0,55,19,0,0,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[9,18,34,65,4,130,2,5,256],"offset":0,"phase":0,"quadratic_rows":[4,2,5,0,0,0,0,0,0]},"new":728,"old":147,"rank":3,"right":{"linear_Z4":[0,3,2,3,2,3,0,3,0],"matrix_rows":[153,34,144,128,70,64,152,96,256],"offset":11,"phase":1,"quadratic_rows":[24,102,2,9,129,98,34,144,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[13,16,32,1,68,130,258,4,2],"offset":0,"phase":0,"quadratic_rows":[5,0,1,0,0,0,0,0,0]},"new":750,"old":147,"rank":3,"right":{"linear_Z4":[2,2,2,3,0,1,0,3,2],"matrix_rows":[129,288,153,137,2,36,128,256,320],"offset":434,"phase":1,"quadratic_rows":[144,0,32,24,9,36,0,129,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":151,"old":148,"rank":1,"right":{"linear_Z4":[3,3,3,0,3,2,0,2,0],"matrix_rows":[151,161,162,132,8,176,128,192,256],"offset":1,"phase":1,"quadratic_rows":[55,55,23,0,55,19,0,0,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[9,18,34,65,4,130,2,256,5],"offset":0,"phase":0,"quadratic_rows":[4,2,5,0,0,0,0,0,0]},"new":729,"old":148,"rank":3,"right":{"linear_Z4":[0,3,2,3,2,3,0,0,3],"matrix_rows":[281,34,272,256,70,64,280,96,128],"offset":11,"phase":1,"quadratic_rows":[24,102,2,9,257,98,34,0,272]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[13,16,32,1,68,130,258,2,4],"offset":0,"phase":0,"quadratic_rows":[5,0,1,0,0,0,0,0,0]},"new":751,"old":148,"rank":3,"right":{"linear_Z4":[2,2,2,3,0,1,0,2,3],"matrix_rows":[257,160,281,265,2,36,256,128,192],"offset":434,"phase":1,"quadratic_rows":[272,0,32,24,9,36,0,0,257]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":151,"old":149,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,21,35,71,133,4,6,261,5],"offset":0,"phase":0,"quadratic_rows":[5,0,1,0,0,0,0,0,0]},"new":722,"old":149,"rank":3,"right":{"linear_Z4":[0,2,3,3,0,2,2,0,1],"matrix_rows":[42,124,270,21,262,320,376,256,384],"offset":244,"phase":1,"quadratic_rows":[20,32,293,40,1,270,0,0,292]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[12,21,36,2,67,7,131,259,3],"offset":0,"phase":0,"quadratic_rows":[3,7,6,0,0,0,0,0,0]},"new":758,"old":149,"rank":3,"right":{"linear_Z4":[3,0,3,1,2,1,0,0,2],"matrix_rows":[10,56,15,305,58,292,256,320,384],"offset":235,"phase":2,"quadratic_rows":[319,61,303,15,35,55,0,0,5]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":151,"old":150,"rank":1,"right":{"linear_Z4":[3,3,0,0,3,2,0,0,0],"matrix_rows":[19,289,290,4,8,304,256,64,384],"offset":1,"phase":1,"quadratic_rows":[307,307,0,0,307,19,0,0,19]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,18,37,69,1,128,4,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":723,"old":150,"rank":3,"right":{"linear_Z4":[2,0,0,2,2,0,2,0,2],"matrix_rows":[12,258,92,21,256,64,88,32,384],"offset":40,"phase":2,"quadratic_rows":[20,0,1,0,1,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,16,33,3,66,132,2,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":759,"old":150,"rank":3,"right":{"linear_Z4":[3,0,3,1,0,0,0,0,2],"matrix_rows":[29,24,288,73,2,92,64,256,384],"offset":3,"phase":2,"quadratic_rows":[85,0,69,24,9,0,5,0,0]}},{"left":{"linear_Z4":[2,3,3,2,2,0,0,0,0],"matrix_rows":[33,66,132,8,16,19,21,273,17],"offset":0,"phase":0,"quadratic_rows":[6,19,21,0,6,0,0,0,0]},"new":1,"old":151,"rank":5,"right":{"linear_Z4":[2,0,0,2,2,0,0,0,0],"matrix_rows":[353,258,260,8,112,256,288,320,384],"offset":254,"phase":1,"quadratic_rows":[96,32,64,0,96,19,21,0,0]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,43,68,2,8,137,13,265,9],"offset":0,"phase":0,"quadratic_rows":[15,11,13,15,0,0,0,0,0]},"new":413,"old":151,"rank":4,"right":{"linear_Z4":[0,1,0,2,0,0,0,0,1],"matrix_rows":[331,258,260,90,256,266,320,288,384],"offset":85,"phase":0,"quadratic_rows":[74,283,64,19,74,0,21,0,258]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[24,34,68,9,129,3,5,257,1],"offset":0,"phase":0,"quadratic_rows":[15,3,5,9,0,0,0,0,0]},"new":415,"old":151,"rank":4,"right":{"linear_Z4":[1,0,0,3,0,1,1,0,2],"matrix_rows":[376,258,260,273,281,288,320,256,384],"offset":102,"phase":0,"quadratic_rows":[9,32,64,105,96,122,124,0,0]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[24,35,69,9,129,2,4,257,1],"offset":0,"phase":0,"quadratic_rows":[15,3,5,9,0,0,0,0,0]},"new":418,"old":151,"rank":4,"right":{"linear_Z4":[1,1,1,3,0,1,1,0,2],"matrix_rows":[382,258,260,279,287,288,320,256,384],"offset":102,"phase":0,"quadratic_rows":[9,342,310,105,102,124,122,0,6]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,34,77,4,8,11,137,265,9],"offset":0,"phase":0,"quadratic_rows":[15,11,13,15,0,0,0,0,0]},"new":420,"old":151,"rank":4,"right":{"linear_Z4":[0,0,1,2,0,0,0,0,1],"matrix_rows":[301,258,260,60,256,288,268,320,384],"offset":51,"phase":0,"quadratic_rows":[44,32,285,21,44,19,0,0,260]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":160,"old":152,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":161,"old":152,"rank":1,"right":{"linear_Z4":[1,1,1,0,0,1,2,1,2],"matrix_rows":[423,257,258,260,72,80,352,256,384],"offset":0,"phase":0,"quadratic_rows":[167,167,167,64,64,231,56,167,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":162,"old":152,"rank":1,"right":{"linear_Z4":[1,1,1,0,0,1,2,1,2],"matrix_rows":[423,257,322,324,8,16,352,256,384],"offset":0,"phase":0,"quadratic_rows":[167,231,231,0,0,231,38,167,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":163,"old":153,"rank":1,"right":{"linear_Z4":[0,0,1,0,2,0,2,0,0],"matrix_rows":[68,1,18,84,24,64,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,16,20,16,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":164,"old":153,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,2,0,0,0],"matrix_rows":[44,1,2,36,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":165,"old":153,"rank":1,"right":{"linear_Z4":[0,3,0,0,3,2,0,0,0],"matrix_rows":[50,1,34,4,8,48,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":163,"old":154,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":166,"old":154,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,2,0,0,0],"matrix_rows":[44,1,2,36,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":167,"old":154,"rank":1,"right":{"linear_Z4":[0,3,0,0,3,2,0,0,0],"matrix_rows":[50,1,34,4,8,48,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":160,"old":155,"rank":1,"right":{"linear_Z4":[1,0,0,1,2,1,1,1,2],"matrix_rows":[489,257,18,20,280,256,288,320,384],"offset":0,"phase":0,"quadratic_rows":[233,16,16,249,14,233,233,233,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":168,"old":155,"rank":1,"right":{"linear_Z4":[1,0,0,1,1,1,2,1,2],"matrix_rows":[441,257,66,68,264,272,352,256,384],"offset":0,"phase":0,"quadratic_rows":[185,64,64,185,185,249,38,185,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":169,"old":155,"rank":1,"right":{"linear_Z4":[1,0,0,1,1,1,2,1,2],"matrix_rows":[441,257,2,4,328,336,352,256,384],"offset":0,"phase":0,"quadratic_rows":[185,0,0,249,249,249,56,185,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":164,"old":156,"rank":1,"right":{"linear_Z4":[0,0,3,0,3,0,2,0,0],"matrix_rows":[84,1,2,68,8,80,32,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,20,0,20,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":166,"old":156,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,2,0,0],"matrix_rows":[74,1,66,4,72,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":170,"old":156,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":161,"old":157,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":168,"old":157,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":171,"old":157,"rank":1,"right":{"linear_Z4":[1,1,1,1,2,0,0,1,2],"matrix_rows":[399,257,274,276,280,256,32,64,384],"offset":0,"phase":0,"quadratic_rows":[143,159,159,159,14,0,0,143,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":162,"old":158,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":169,"old":158,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":171,"old":158,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":165,"old":159,"rank":1,"right":{"linear_Z4":[0,0,3,0,3,0,2,0,0],"matrix_rows":[84,1,2,68,8,80,32,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,20,0,20,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":167,"old":159,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,2,0,0],"matrix_rows":[74,1,66,4,72,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":170,"old":159,"rank":1,"right":{"linear_Z4":[0,1,0,0,2,2,0,0,0],"matrix_rows":[34,1,50,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,18,16,16,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":543,"old":160,"rank":1,"right":{"linear_Z4":[3,1,3,2,0,3,1,3,2],"matrix_rows":[423,257,322,260,72,16,288,256,384],"offset":149,"phase":0,"quadratic_rows":[167,231,167,64,0,167,74,167,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":545,"old":160,"rank":1,"right":{"linear_Z4":[3,3,1,2,0,1,3,3,2],"matrix_rows":[455,257,258,292,40,16,256,320,384],"offset":89,"phase":0,"quadratic_rows":[199,199,231,32,0,44,199,199,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[7,8,19,35,64,131,259,2,1],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":603,"old":160,"rank":2,"right":{"linear_Z4":[0,2,0,2,0,0,1,0,3],"matrix_rows":[173,301,321,194,324,392,16,352,256],"offset":415,"phase":1,"quadratic_rows":[192,192,192,0,0,192,231,359,384]}},{"left":{"linear_Z4":[2,2,3,3,0,0,0,0,0],"matrix_rows":[19,33,65,130,2,259,4,8,15],"offset":0,"phase":0,"quadratic_rows":[14,13,15,15,0,0,0,0,0]},"new":607,"old":160,"rank":4,"right":{"linear_Z4":[0,3,3,2,0,2,0,0,1],"matrix_rows":[271,265,320,384,289,306,316,16,256],"offset":368,"phase":2,"quadratic_rows":[294,63,55,290,6,15,256,256,457]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":173,"old":161,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,3,0,0,0],"matrix_rows":[24,1,2,36,104,80,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,32,120,88,44,24,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":179,"old":161,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,3,0,0,0],"matrix_rows":[24,1,34,4,72,112,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,32,0,88,120,50,24,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":175,"old":162,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,3,0,0,0],"matrix_rows":[6,1,66,100,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,70,102,32,0,44,6,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":177,"old":162,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,3,0,0,0],"matrix_rows":[6,1,98,68,8,48,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,102,70,0,32,50,6,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":543,"old":163,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,1,0,1,2],"matrix_rows":[173,257,2,260,264,16,288,64,384],"offset":0,"phase":0,"quadratic_rows":[429,0,429,429,0,429,0,429,173]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":544,"old":163,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,0,0,3,2],"matrix_rows":[385,257,2,4,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[129,0,0,0,0,0,0,129,0]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[28,36,68,131,259,9,3,1,7],"offset":0,"phase":0,"quadratic_rows":[13,6,15,13,0,0,0,0,0]},"new":602,"old":163,"rank":4,"right":{"linear_Z4":[2,3,3,0,0,2,0,3,3],"matrix_rows":[488,328,231,457,489,330,324,64,80],"offset":481,"phase":1,"quadratic_rows":[198,431,423,386,0,198,33,431,398]}},{"left":{"linear_Z4":[3,2,3,2,0,0,0,0,0],"matrix_rows":[24,32,70,130,4,264,2,9,1],"offset":0,"phase":0,"quadratic_rows":[9,4,6,1,0,0,0,0,0]},"new":605,"old":163,"rank":4,"right":{"linear_Z4":[3,2,0,3,3,3,1,3,0],"matrix_rows":[384,92,68,161,385,14,80,64,416],"offset":110,"phase":1,"quadratic_rows":[289,12,66,26,24,289,68,384,161]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":173,"old":164,"rank":1,"right":{"linear_Z4":[3,3,3,3,3,0,0,3,2],"matrix_rows":[415,257,258,260,264,272,32,64,384],"offset":1,"phase":1,"quadratic_rows":[159,159,159,159,159,0,0,159,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":178,"old":164,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,0,0,3,2],"matrix_rows":[385,257,2,4,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[129,0,0,0,0,0,0,129,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":174,"old":165,"rank":1,"right":{"linear_Z4":[3,3,3,3,3,0,0,3,2],"matrix_rows":[415,257,258,260,264,272,32,64,384],"offset":1,"phase":1,"quadratic_rows":[159,159,159,159,159,0,0,159,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":177,"old":165,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,0,0,3,2],"matrix_rows":[385,257,2,4,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[129,0,0,0,0,0,0,129,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":175,"old":166,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,0,0,3,2],"matrix_rows":[385,257,2,4,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[129,0,0,0,0,0,0,129,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":176,"old":166,"rank":1,"right":{"linear_Z4":[3,3,3,3,3,0,0,3,2],"matrix_rows":[415,257,258,260,264,272,32,64,384],"offset":1,"phase":1,"quadratic_rows":[159,159,159,159,159,0,0,159,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":172,"old":167,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,0,0,3,2],"matrix_rows":[385,257,2,4,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[129,0,0,0,0,0,0,129,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":179,"old":167,"rank":1,"right":{"linear_Z4":[3,3,3,3,3,0,0,3,2],"matrix_rows":[415,257,258,260,264,272,32,64,384],"offset":1,"phase":1,"quadratic_rows":[159,159,159,159,159,0,0,159,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":174,"old":168,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,3,0,0,0],"matrix_rows":[6,1,98,68,8,48,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,102,70,0,32,50,6,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":176,"old":168,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,3,0,0,0],"matrix_rows":[6,1,66,100,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,70,102,32,0,44,6,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":172,"old":169,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,3,0,0,0],"matrix_rows":[24,1,34,4,72,112,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,32,0,88,120,50,24,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":178,"old":169,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,3,0,0,0],"matrix_rows":[24,1,2,36,104,80,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,32,120,88,44,24,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":542,"old":170,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,0,0,3,2],"matrix_rows":[385,257,2,4,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[129,0,0,0,0,0,0,129,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":545,"old":170,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,1,1,2],"matrix_rows":[203,257,258,4,264,16,32,320,384],"offset":0,"phase":0,"quadratic_rows":[459,459,0,459,0,0,459,459,203]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[6,8,16,32,64,128,258,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":601,"old":170,"rank":2,"right":{"linear_Z4":[3,0,0,0,0,0,3,3,0],"matrix_rows":[384,193,385,2,4,8,16,32,448],"offset":2,"phase":1,"quadratic_rows":[321,0,0,0,0,0,321,384,193]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[6,10,18,33,65,1,131,259,3],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":606,"old":170,"rank":2,"right":{"linear_Z4":[1,3,3,0,0,0,2,2,3],"matrix_rows":[488,231,297,290,300,32,48,320,384],"offset":120,"phase":0,"quadratic_rows":[463,455,463,453,0,0,15,15,271]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":542,"old":171,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,2,0,0,0],"matrix_rows":[44,1,2,36,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":544,"old":171,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,2,0,0],"matrix_rows":[74,1,66,4,72,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,3,0,0,0,0,0],"matrix_rows":[24,34,66,132,4,6,9,257,1],"offset":0,"phase":0,"quadratic_rows":[8,4,2,9,0,0,0,0,0]},"new":600,"old":171,"rank":4,"right":{"linear_Z4":[1,3,3,0,0,1,3,0,2],"matrix_rows":[192,46,40,385,449,50,60,16,256],"offset":6,"phase":2,"quadratic_rows":[65,30,22,34,6,40,321,256,192]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,18,32,64,1,2,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":604,"old":171,"rank":2,"right":{"linear_Z4":[1,3,3,0,0,2,2,0,0],"matrix_rows":[1,70,33,66,68,8,16,128,256],"offset":2,"phase":1,"quadratic_rows":[33,6,6,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":180,"old":172,"rank":1,"right":{"linear_Z4":[0,1,0,0,2,2,0,0,0],"matrix_rows":[34,1,50,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,18,16,16,14,0,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,18,1,32,68,6,2,128,256],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":668,"old":172,"rank":3,"right":{"linear_Z4":[1,0,2,2,1,1,2,0,0],"matrix_rows":[1,34,80,5,64,24,96,128,256],"offset":100,"phase":3,"quadratic_rows":[5,96,1,16,56,114,34,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,20,33,64,132,4,256,2,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":684,"old":172,"rank":3,"right":{"linear_Z4":[0,1,3,2,3,2,0,2,3],"matrix_rows":[389,384,50,256,34,388,24,32,64],"offset":201,"phase":2,"quadratic_rows":[132,18,5,16,26,0,0,257,384]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":180,"old":173,"rank":1,"right":{"linear_Z4":[3,0,3,0,2,0,0,3,0],"matrix_rows":[133,257,18,276,24,256,32,320,384],"offset":1,"phase":1,"quadratic_rows":[389,16,405,16,14,0,0,389,133]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,2,20,35,67,132,4,263,7],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":669,"old":173,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,1,2],"matrix_rows":[473,154,196,320,64,328,336,96,384],"offset":9,"phase":0,"quadratic_rows":[152,152,128,3,3,0,0,135,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[14,16,38,64,129,6,263,2,5],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":685,"old":173,"rank":3,"right":{"linear_Z4":[2,2,0,0,2,1,0,1,3],"matrix_rows":[304,437,53,49,134,32,24,288,320],"offset":48,"phase":2,"quadratic_rows":[432,132,290,16,425,437,0,435,437]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":180,"old":174,"rank":1,"right":{"linear_Z4":[1,0,0,1,2,0,0,1,2],"matrix_rows":[393,257,18,20,280,256,288,320,384],"offset":0,"phase":0,"quadratic_rows":[137,16,16,153,14,0,0,137,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[14,16,33,64,134,6,263,2,5],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":678,"old":174,"rank":3,"right":{"linear_Z4":[2,0,2,2,0,1,0,1,3],"matrix_rows":[292,437,53,37,6,288,152,32,320],"offset":192,"phase":2,"quadratic_rows":[420,4,419,144,296,437,0,429,437]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,19,35,2,68,132,4,263,7],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":694,"old":174,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,1,2],"matrix_rows":[455,142,208,320,322,324,64,96,384],"offset":9,"phase":0,"quadratic_rows":[134,9,9,134,128,0,0,153,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":180,"old":175,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,16,34,66,129,2,256,4,5],"offset":0,"phase":0,"quadratic_rows":[4,0,5,0,0,0,0,0,0]},"new":679,"old":175,"rank":3,"right":{"linear_Z4":[0,2,3,1,3,2,0,2,3],"matrix_rows":[401,44,384,256,6,32,40,400,64],"offset":57,"phase":2,"quadratic_rows":[144,4,14,12,17,0,0,257,384]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,16,34,68,1,6,4,128,256],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":695,"old":175,"rank":3,"right":{"linear_Z4":[1,2,1,0,2,1,2,0,0],"matrix_rows":[1,68,40,17,6,96,64,128,256],"offset":50,"phase":3,"quadratic_rows":[17,4,38,96,1,108,40,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":180,"old":176,"rank":1,"right":{"linear_Z4":[1,1,1,1,2,0,0,1,2],"matrix_rows":[399,257,274,276,280,256,32,64,384],"offset":0,"phase":0,"quadratic_rows":[143,159,159,159,14,0,0,143,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[8,16,33,64,134,1,256,2,5],"offset":0,"phase":0,"quadratic_rows":[4,6,7,0,0,0,0,0,0]},"new":736,"old":176,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,1,0,3,0],"matrix_rows":[260,432,48,5,6,32,152,288,64],"offset":198,"phase":0,"quadratic_rows":[4,4,291,144,40,180,0,424,132]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,21,37,66,4,130,2,263,7],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":752,"old":176,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,1,2],"matrix_rows":[455,200,150,320,322,324,64,96,384],"offset":9,"phase":0,"quadratic_rows":[134,17,17,128,134,0,0,153,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":180,"old":177,"rank":1,"right":{"linear_Z4":[0,0,0,1,2,0,2,0,0],"matrix_rows":[8,1,18,20,88,64,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,16,16,88,14,0,8,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,16,34,65,130,256,2,4,5],"offset":0,"phase":0,"quadratic_rows":[4,0,5,0,0,0,0,0,0]},"new":737,"old":177,"rank":3,"right":{"linear_Z4":[0,2,3,3,1,0,2,2,3],"matrix_rows":[393,84,384,256,6,64,392,80,32],"offset":57,"phase":2,"quadratic_rows":[136,4,22,9,20,0,0,257,384]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,16,34,1,68,4,6,128,256],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":753,"old":177,"rank":3,"right":{"linear_Z4":[1,2,1,2,0,2,1,0,0],"matrix_rows":[1,36,80,9,6,96,32,128,256],"offset":50,"phase":3,"quadratic_rows":[9,4,70,1,96,80,116,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":180,"old":178,"rank":1,"right":{"linear_Z4":[0,0,1,0,2,0,2,0,0],"matrix_rows":[68,1,18,84,24,64,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,16,20,16,14,0,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,1,18,32,68,2,6,128,256],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":746,"old":178,"rank":3,"right":{"linear_Z4":[1,2,0,2,1,2,1,0,0],"matrix_rows":[1,68,48,3,32,24,96,128,256],"offset":100,"phase":3,"quadratic_rows":[3,1,96,16,88,68,116,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,17,36,64,132,256,4,2,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":762,"old":178,"rank":3,"right":{"linear_Z4":[0,3,1,2,3,0,2,2,3],"matrix_rows":[387,384,84,256,386,68,24,64,32],"offset":201,"phase":2,"quadratic_rows":[130,3,20,16,28,0,0,257,384]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":180,"old":179,"rank":1,"right":{"linear_Z4":[3,3,0,0,2,0,0,3,0],"matrix_rows":[131,257,274,20,24,256,288,64,384],"offset":1,"phase":1,"quadratic_rows":[387,403,16,16,14,0,0,387,131]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,4,37,69,130,2,263,7],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":747,"old":179,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,1,2],"matrix_rows":[473,194,156,320,64,328,336,96,384],"offset":9,"phase":0,"quadratic_rows":[152,128,152,5,5,0,0,135,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[8,16,38,64,129,1,256,2,5],"offset":0,"phase":0,"quadratic_rows":[4,6,7,0,0,0,0,0,0]},"new":763,"old":179,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,1,0,3,0],"matrix_rows":[272,420,36,17,134,288,24,32,64],"offset":54,"phase":0,"quadratic_rows":[16,132,34,16,297,180,0,418,144]}},{"left":{"linear_Z4":[3,2,2,3,3,0,0,0,0],"matrix_rows":[33,66,132,264,14,12,10,16,17],"offset":0,"phase":0,"quadratic_rows":[17,4,2,8,17,0,0,0,0]},"new":1,"old":180,"rank":5,"right":{"linear_Z4":[0,0,0,2,0,1,1,0,1],"matrix_rows":[1,98,100,8,384,256,48,80,112],"offset":239,"phase":1,"quadratic_rows":[256,80,48,112,14,108,106,256,385]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,36,68,130,262,6,2,8,9],"offset":0,"phase":0,"quadratic_rows":[9,2,4,9,0,0,0,0,0]},"new":413,"old":180,"rank":4,"right":{"linear_Z4":[0,1,2,2,0,2,2,0,1],"matrix_rows":[1,8,14,384,256,106,96,64,48],"offset":83,"phase":0,"quadratic_rows":[256,102,106,36,0,14,6,256,385]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,34,66,132,262,4,6,8,9],"offset":0,"phase":0,"quadratic_rows":[9,2,4,9,0,0,0,0,0]},"new":416,"old":180,"rank":4,"right":{"linear_Z4":[0,2,1,2,0,2,2,0,1],"matrix_rows":[1,6,8,384,256,96,100,32,80],"offset":53,"phase":0,"quadratic_rows":[256,100,102,32,0,14,6,256,385]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,34,66,132,262,6,4,8,9],"offset":0,"phase":0,"quadratic_rows":[9,2,4,9,0,0,0,0,0]},"new":417,"old":180,"rank":4,"right":{"linear_Z4":[0,1,2,2,0,2,2,0,1],"matrix_rows":[1,6,8,384,256,98,96,64,48],"offset":85,"phase":0,"quadratic_rows":[256,102,98,64,0,6,14,256,385]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,34,66,132,262,4,6,8,9],"offset":0,"phase":0,"quadratic_rows":[9,2,4,9,0,0,0,0,0]},"new":420,"old":180,"rank":4,"right":{"linear_Z4":[0,2,1,2,0,2,2,0,1],"matrix_rows":[1,14,8,384,256,96,108,32,80],"offset":53,"phase":0,"quadratic_rows":[256,108,102,66,0,6,14,256,385]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":189,"old":181,"rank":1,"right":{"linear_Z4":[0,0,1,0,2,0,0,2,0],"matrix_rows":[132,1,18,148,24,128,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,16,20,16,14,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":190,"old":181,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":191,"old":181,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":192,"old":182,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":193,"old":182,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":194,"old":182,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":192,"old":183,"rank":1,"right":{"linear_Z4":[0,0,1,0,2,0,0,0,2],"matrix_rows":[260,1,18,276,24,256,32,64,128],"offset":0,"phase":0,"quadratic_rows":[0,16,20,16,14,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":195,"old":183,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":196,"old":183,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":189,"old":184,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":197,"old":184,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":198,"old":184,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":193,"old":185,"rank":1,"right":{"linear_Z4":[1,1,1,1,1,0,2,0,2],"matrix_rows":[287,321,258,324,264,336,32,256,128],"offset":0,"phase":0,"quadratic_rows":[95,31,95,31,95,0,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":195,"old":185,"rank":1,"right":{"linear_Z4":[1,1,1,1,1,0,2,0,2],"matrix_rows":[287,321,322,260,328,272,32,256,128],"offset":0,"phase":0,"quadratic_rows":[95,95,31,95,31,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":199,"old":185,"rank":1,"right":{"linear_Z4":[1,1,1,1,2,0,1,0,2],"matrix_rows":[335,257,274,276,280,256,32,320,128],"offset":0,"phase":0,"quadratic_rows":[79,95,95,95,14,0,79,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":190,"old":186,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,2,2,0],"matrix_rows":[129,193,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[65,0,64,0,64,0,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":197,"old":186,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,2,2,0],"matrix_rows":[129,193,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[65,64,0,64,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":200,"old":186,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":191,"old":187,"rank":1,"right":{"linear_Z4":[1,1,1,1,1,0,2,2,0],"matrix_rows":[159,193,194,132,200,144,32,128,256],"offset":0,"phase":0,"quadratic_rows":[95,95,31,95,31,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":198,"old":187,"rank":1,"right":{"linear_Z4":[1,1,1,1,1,0,2,2,0],"matrix_rows":[159,193,130,196,136,208,32,128,256],"offset":0,"phase":0,"quadratic_rows":[95,31,95,31,95,0,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":200,"old":187,"rank":1,"right":{"linear_Z4":[1,1,1,1,2,0,1,2,0],"matrix_rows":[207,129,146,148,152,128,32,192,256],"offset":0,"phase":0,"quadratic_rows":[79,95,95,95,14,0,79,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":194,"old":188,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,2,0,2],"matrix_rows":[257,321,66,4,72,16,32,256,128],"offset":0,"phase":0,"quadratic_rows":[65,64,0,64,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":196,"old":188,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,2,0,2],"matrix_rows":[257,321,2,68,8,80,32,256,128],"offset":0,"phase":0,"quadratic_rows":[65,0,64,0,64,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":199,"old":188,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":547,"old":189,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,0,0,2],"matrix_rows":[266,1,258,4,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":549,"old":189,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,0,3,0,2],"matrix_rows":[321,257,2,4,8,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[65,0,0,0,0,0,65,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[7,9,19,34,64,131,2,256,3],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":611,"old":189,"rank":2,"right":{"linear_Z4":[2,3,2,3,0,2,2,0,2],"matrix_rows":[359,45,257,322,260,72,16,288,128],"offset":3,"phase":2,"quadratic_rows":[74,39,74,109,0,74,45,0,0]}},{"left":{"linear_Z4":[3,2,3,2,0,0,0,0,0],"matrix_rows":[24,32,70,130,4,264,9,2,1],"offset":0,"phase":0,"quadratic_rows":[9,4,6,1,0,0,0,0,0]},"new":615,"old":189,"rank":4,"right":{"linear_Z4":[3,2,0,3,3,3,3,1,0],"matrix_rows":[320,156,132,97,321,14,144,128,352],"offset":110,"phase":1,"quadratic_rows":[289,12,130,26,24,289,320,132,97]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":202,"old":190,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,0,0,2],"matrix_rows":[266,1,258,4,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":208,"old":190,"rank":1,"right":{"linear_Z4":[0,0,3,0,3,0,0,0,2],"matrix_rows":[276,1,2,260,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,20,0,20,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":204,"old":191,"rank":1,"right":{"linear_Z4":[0,0,3,0,3,0,0,0,2],"matrix_rows":[276,1,2,260,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,20,0,20,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":206,"old":191,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,0,0,2],"matrix_rows":[266,1,258,4,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":547,"old":192,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,0,2,0],"matrix_rows":[138,1,130,4,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":548,"old":192,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,0,3,2,0],"matrix_rows":[193,129,2,4,8,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[65,0,0,0,0,0,65,0,0]}},{"left":{"linear_Z4":[2,2,3,2,0,0,0,0,0],"matrix_rows":[1,20,36,66,130,8,262,6,2],"offset":0,"phase":0,"quadratic_rows":[0,0,4,0,0,0,0,0,0]},"new":610,"old":192,"rank":4,"right":{"linear_Z4":[2,1,1,0,0,2,2,2,0],"matrix_rows":[1,328,78,32,394,388,256,272,192],"offset":9,"phase":2,"quadratic_rows":[0,454,462,388,0,0,390,78,78]}},{"left":{"linear_Z4":[3,2,3,2,0,0,0,0,0],"matrix_rows":[24,32,70,130,4,264,9,1,2],"offset":0,"phase":0,"quadratic_rows":[9,4,6,1,0,0,0,0,0]},"new":613,"old":192,"rank":4,"right":{"linear_Z4":[3,2,0,3,3,3,3,0,1],"matrix_rows":[192,284,260,97,193,14,272,256,224],"offset":110,"phase":1,"quadratic_rows":[161,12,258,26,24,161,192,97,260]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":202,"old":193,"rank":1,"right":{"linear_Z4":[0,0,3,0,3,0,0,2,0],"matrix_rows":[148,1,2,132,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,20,0,20,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":207,"old":193,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,0,2,0],"matrix_rows":[138,1,130,4,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":203,"old":194,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,0,2,0],"matrix_rows":[138,1,130,4,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":206,"old":194,"rank":1,"right":{"linear_Z4":[0,0,3,0,3,0,0,2,0],"matrix_rows":[148,1,2,132,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,20,0,20,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":204,"old":195,"rank":1,"right":{"linear_Z4":[0,0,3,0,3,0,0,2,0],"matrix_rows":[148,1,2,132,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,20,0,20,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":205,"old":195,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,0,2,0],"matrix_rows":[138,1,130,4,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":201,"old":196,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,0,2,0],"matrix_rows":[138,1,130,4,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":208,"old":196,"rank":1,"right":{"linear_Z4":[0,0,3,0,3,0,0,2,0],"matrix_rows":[148,1,2,132,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,20,0,20,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":203,"old":197,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,0,0,2],"matrix_rows":[266,1,258,4,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":205,"old":197,"rank":1,"right":{"linear_Z4":[0,0,3,0,3,0,0,0,2],"matrix_rows":[276,1,2,260,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,20,0,20,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":201,"old":198,"rank":1,"right":{"linear_Z4":[0,0,3,0,3,0,0,0,2],"matrix_rows":[276,1,2,260,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,20,0,20,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":207,"old":198,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,0,0,2],"matrix_rows":[266,1,258,4,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":546,"old":199,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,0,3,2,0],"matrix_rows":[193,129,2,4,8,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[65,0,0,0,0,0,65,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":549,"old":199,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,0,2,0],"matrix_rows":[138,1,130,4,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,8,17,33,64,1,130,2,256],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":609,"old":199,"rank":2,"right":{"linear_Z4":[0,0,3,3,0,2,1,2,0],"matrix_rows":[44,64,1,2,36,40,16,192,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,192,64,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,18,32,64,1,128,2,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":614,"old":199,"rank":2,"right":{"linear_Z4":[1,3,3,0,0,2,0,2,0],"matrix_rows":[1,134,33,130,132,8,16,64,256],"offset":2,"phase":1,"quadratic_rows":[33,6,6,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":546,"old":200,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,0,3,0,2],"matrix_rows":[321,257,2,4,8,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[65,0,0,0,0,0,65,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":548,"old":200,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,0,0,2],"matrix_rows":[266,1,258,4,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,3,2,0,0,0,0,0],"matrix_rows":[17,32,70,2,4,8,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":608,"old":200,"rank":4,"right":{"linear_Z4":[1,2,0,3,3,2,0,0,2],"matrix_rows":[1,28,4,32,257,14,16,64,128],"offset":110,"phase":1,"quadratic_rows":[257,12,2,26,24,0,0,0,1]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,18,32,64,1,128,256,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":612,"old":200,"rank":2,"right":{"linear_Z4":[1,3,3,0,0,2,0,0,2],"matrix_rows":[1,262,33,258,260,8,16,64,128],"offset":2,"phase":1,"quadratic_rows":[33,6,6,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":209,"old":201,"rank":1,"right":{"linear_Z4":[3,3,3,3,2,0,0,0,2],"matrix_rows":[271,257,274,276,280,256,32,320,128],"offset":1,"phase":1,"quadratic_rows":[15,31,31,31,14,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,18,33,70,128,4,257,2,1],"offset":0,"phase":0,"quadratic_rows":[0,4,6,0,0,0,0,0,0]},"new":670,"old":201,"rank":3,"right":{"linear_Z4":[2,0,1,2,2,3,0,3,2],"matrix_rows":[260,170,136,5,128,256,168,16,320],"offset":425,"phase":1,"quadratic_rows":[4,40,5,130,0,34,0,136,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,22,32,68,129,2,257,4,1],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":692,"old":201,"rank":3,"right":{"linear_Z4":[2,2,2,0,1,3,0,3,2],"matrix_rows":[272,130,170,17,162,4,128,256,320],"offset":425,"phase":1,"quadratic_rows":[16,136,0,34,17,40,0,130,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":209,"old":202,"rank":1,"right":{"linear_Z4":[3,3,3,3,2,0,0,2,0],"matrix_rows":[143,129,146,148,152,128,32,192,256],"offset":1,"phase":1,"quadratic_rows":[15,31,31,31,14,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,18,33,70,128,4,257,1,2],"offset":0,"phase":0,"quadratic_rows":[0,4,6,0,0,0,0,0,0]},"new":671,"old":202,"rank":3,"right":{"linear_Z4":[2,0,1,2,2,3,0,2,3],"matrix_rows":[132,298,264,5,256,128,296,16,192],"offset":425,"phase":1,"quadratic_rows":[4,40,5,258,0,34,0,0,264]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,22,32,68,129,2,257,1,4],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":693,"old":202,"rank":3,"right":{"linear_Z4":[2,2,2,0,1,3,0,2,3],"matrix_rows":[144,258,298,17,290,4,256,128,192],"offset":425,"phase":1,"quadratic_rows":[16,264,0,34,17,40,0,0,258]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":209,"old":203,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[11,23,3,36,6,2,64,128,256],"offset":0,"phase":0,"quadratic_rows":[6,1,1,0,0,0,0,0,0]},"new":676,"old":203,"rank":3,"right":{"linear_Z4":[0,3,2,3,1,2,0,0,0],"matrix_rows":[55,7,30,5,54,56,64,128,256],"offset":5,"phase":2,"quadratic_rows":[52,26,25,46,55,25,0,0,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[9,17,35,70,7,4,134,262,6],"offset":0,"phase":0,"quadratic_rows":[5,6,7,0,0,0,0,0,0]},"new":686,"old":203,"rank":3,"right":{"linear_Z4":[3,3,0,2,1,1,0,0,2],"matrix_rows":[39,36,56,273,282,60,256,320,384],"offset":222,"phase":2,"quadratic_rows":[311,319,59,22,31,39,0,0,3]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":209,"old":204,"rank":1,"right":{"linear_Z4":[0,3,3,3,2,0,0,0,0],"matrix_rows":[14,1,274,276,280,256,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,286,286,286,14,0,0,0,14]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[10,19,36,66,128,1,3,260,4],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":677,"old":204,"rank":3,"right":{"linear_Z4":[3,1,0,3,0,2,0,0,2],"matrix_rows":[34,9,260,99,64,256,104,16,384],"offset":3,"phase":2,"quadratic_rows":[107,3,0,105,0,9,9,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[10,18,32,65,132,3,1,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":687,"old":204,"rank":3,"right":{"linear_Z4":[3,3,0,0,0,1,0,0,2],"matrix_rows":[40,43,272,105,98,4,64,256,384],"offset":3,"phase":2,"quadratic_rows":[67,75,0,34,0,40,3,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":209,"old":205,"rank":1,"right":{"linear_Z4":[0,0,1,0,2,0,0,0,2],"matrix_rows":[260,1,18,276,24,256,32,64,128],"offset":0,"phase":0,"quadratic_rows":[0,16,20,16,14,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,17,34,64,134,4,257,1,2],"offset":0,"phase":0,"quadratic_rows":[0,4,6,0,0,0,0,0,0]},"new":744,"old":205,"rank":3,"right":{"linear_Z4":[2,1,0,2,2,3,0,2,3],"matrix_rows":[130,308,272,3,128,256,8,304,192],"offset":345,"phase":1,"quadratic_rows":[2,3,48,0,260,36,0,0,272]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,16,38,65,132,2,257,1,4],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":754,"old":205,"rank":3,"right":{"linear_Z4":[2,2,2,1,0,3,0,2,3],"matrix_rows":[136,260,308,9,2,292,128,256,192],"offset":345,"phase":1,"quadratic_rows":[8,0,272,9,36,48,0,0,260]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":209,"old":206,"rank":1,"right":{"linear_Z4":[0,0,1,0,2,0,0,2,0],"matrix_rows":[132,1,18,148,24,128,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,16,20,16,14,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,17,34,64,134,4,257,2,1],"offset":0,"phase":0,"quadratic_rows":[0,4,6,0,0,0,0,0,0]},"new":745,"old":206,"rank":3,"right":{"linear_Z4":[2,1,0,2,2,3,0,3,2],"matrix_rows":[258,180,144,3,256,128,8,176,320],"offset":345,"phase":1,"quadratic_rows":[2,3,48,0,132,36,0,144,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,16,38,65,132,2,257,4,1],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":755,"old":206,"rank":3,"right":{"linear_Z4":[2,2,2,1,0,3,0,3,2],"matrix_rows":[264,132,180,9,2,164,256,128,320],"offset":345,"phase":1,"quadratic_rows":[8,0,144,9,36,48,0,132,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":209,"old":207,"rank":1,"right":{"linear_Z4":[3,0,3,0,2,0,0,0,0],"matrix_rows":[5,65,18,84,24,64,32,128,256],"offset":1,"phase":1,"quadratic_rows":[69,16,85,16,14,0,5,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[12,18,37,64,132,1,5,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,4,0,0,0,0,0,0]},"new":738,"old":207,"rank":3,"right":{"linear_Z4":[3,0,1,0,3,2,0,0,2],"matrix_rows":[36,258,17,101,256,64,8,112,384],"offset":5,"phase":2,"quadratic_rows":[117,0,5,0,113,17,17,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[10,16,34,68,129,3,1,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":760,"old":207,"rank":3,"right":{"linear_Z4":[3,0,3,0,0,1,0,0,2],"matrix_rows":[48,53,264,113,2,100,256,64,384],"offset":3,"phase":2,"quadratic_rows":[69,0,85,0,36,48,5,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":209,"old":208,"rank":1,"right":{"linear_Z4":[1,0,1,0,2,0,0,0,2],"matrix_rows":[5,257,18,276,24,256,32,320,384],"offset":0,"phase":0,"quadratic_rows":[261,16,277,16,14,0,0,0,5]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,22,35,71,5,4,134,262,6],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":739,"old":208,"rank":3,"right":{"linear_Z4":[0,2,3,3,1,2,0,0,1],"matrix_rows":[44,42,286,21,278,256,312,320,384],"offset":244,"phase":1,"quadratic_rows":[20,32,309,40,309,286,0,0,308]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[9,21,33,7,70,2,134,262,6],"offset":0,"phase":0,"quadratic_rows":[3,7,6,0,0,0,0,0,0]},"new":761,"old":208,"rank":3,"right":{"linear_Z4":[3,0,3,1,2,1,0,0,2],"matrix_rows":[39,56,34,265,58,284,256,320,384],"offset":238,"phase":2,"quadratic_rows":[303,61,319,31,14,39,0,0,5]}},{"left":{"linear_Z4":[3,2,3,2,2,0,0,0,0],"matrix_rows":[33,66,132,8,14,16,11,266,10],"offset":0,"phase":0,"quadratic_rows":[11,5,14,5,0,0,0,0,0]},"new":1,"old":209,"rank":5,"right":{"linear_Z4":[0,2,0,2,0,2,0,0,0],"matrix_rows":[257,338,260,88,32,320,256,272,384],"offset":253,"phase":1,"quadratic_rows":[64,80,16,80,14,0,11,0,0]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,40,68,138,14,2,11,266,10],"offset":0,"phase":0,"quadratic_rows":[11,15,14,15,0,0,0,0,0]},"new":413,"old":209,"rank":4,"right":{"linear_Z4":[0,1,0,3,2,0,2,0,1],"matrix_rows":[257,376,260,114,320,298,272,256,384],"offset":85,"phase":0,"quadratic_rows":[64,346,16,346,14,0,11,0,266]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,34,78,8,138,4,11,266,10],"offset":0,"phase":0,"quadratic_rows":[11,15,14,15,0,0,0,0,0]},"new":416,"old":209,"rank":4,"right":{"linear_Z4":[0,0,1,0,0,2,0,0,1],"matrix_rows":[257,358,260,108,320,256,292,272,384],"offset":51,"phase":0,"quadratic_rows":[64,100,302,100,0,14,11,0,260]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[27,35,69,9,15,1,138,266,10],"offset":0,"phase":0,"quadratic_rows":[11,15,14,15,0,0,0,0,0]},"new":418,"old":209,"rank":4,"right":{"linear_Z4":[1,1,3,1,0,2,0,0,1],"matrix_rows":[257,317,260,55,303,256,272,320,384],"offset":102,"phase":0,"quadratic_rows":[293,26,53,26,14,5,0,0,257]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[27,34,68,8,14,1,138,266,10],"offset":0,"phase":0,"quadratic_rows":[11,15,14,15,0,0,0,0,0]},"new":419,"old":209,"rank":4,"right":{"linear_Z4":[1,0,0,0,0,2,0,0,1],"matrix_rows":[257,307,260,57,289,256,272,320,384],"offset":102,"phase":0,"quadratic_rows":[299,49,16,49,14,11,0,0,257]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":218,"old":210,"rank":1,"right":{"linear_Z4":[3,3,0,0,2,0,0,0,0],"matrix_rows":[19,17,18,4,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":219,"old":210,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":220,"old":210,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,2,0,0],"matrix_rows":[70,1,66,68,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":221,"old":211,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,1,0,1,2],"matrix_rows":[430,1,274,276,280,256,288,64,384],"offset":0,"phase":0,"quadratic_rows":[0,190,190,190,14,174,0,174,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":222,"old":211,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":223,"old":211,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":221,"old":212,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":224,"old":212,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":225,"old":212,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":218,"old":213,"rank":1,"right":{"linear_Z4":[3,0,3,2,0,0,0,0,0],"matrix_rows":[13,9,2,12,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":226,"old":213,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":227,"old":213,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,2,0,0],"matrix_rows":[70,1,66,68,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":222,"old":214,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,1,2,1,2],"matrix_rows":[427,321,258,68,264,80,288,256,384],"offset":0,"phase":0,"quadratic_rows":[235,171,64,171,64,171,21,171,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":224,"old":214,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,1,2,1,2],"matrix_rows":[427,321,322,4,328,16,288,256,384],"offset":0,"phase":0,"quadratic_rows":[235,235,0,235,0,171,11,171,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":228,"old":214,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":219,"old":215,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,2,0,0],"matrix_rows":[88,9,2,12,64,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[8,0,8,21,24,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":226,"old":215,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,2,0,0],"matrix_rows":[88,17,18,4,72,64,32,128,256],"offset":0,"phase":0,"quadratic_rows":[16,16,0,24,11,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":229,"old":215,"rank":1,"right":{"linear_Z4":[0,0,0,1,2,0,2,0,0],"matrix_rows":[72,1,18,20,88,64,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,16,16,24,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":220,"old":216,"rank":1,"right":{"linear_Z4":[3,0,3,2,0,0,0,0,0],"matrix_rows":[13,9,2,12,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":227,"old":216,"rank":1,"right":{"linear_Z4":[3,3,0,0,2,0,0,0,0],"matrix_rows":[19,17,18,4,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":229,"old":216,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":223,"old":217,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,1,2,1,2],"matrix_rows":[437,321,66,260,72,272,288,256,384],"offset":0,"phase":0,"quadratic_rows":[245,64,181,64,181,181,11,181,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":225,"old":217,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,1,2,1,2],"matrix_rows":[437,321,2,324,8,336,288,256,384],"offset":0,"phase":0,"quadratic_rows":[245,0,245,0,245,181,21,181,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":228,"old":217,"rank":1,"right":{"linear_Z4":[1,0,1,0,2,1,1,1,2],"matrix_rows":[485,257,18,276,24,256,288,320,384],"offset":0,"phase":0,"quadratic_rows":[229,16,245,16,14,229,229,229,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":551,"old":218,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,3,0,3,2],"matrix_rows":[416,1,2,4,8,16,288,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,160,0,160,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":553,"old":218,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,1,1,2],"matrix_rows":[230,1,258,260,8,16,288,320,384],"offset":0,"phase":0,"quadratic_rows":[0,486,486,0,0,486,486,486,230]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,16,32,64,130,258,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":619,"old":218,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,3,3,3,0],"matrix_rows":[384,224,1,2,4,8,16,416,448],"offset":2,"phase":1,"quadratic_rows":[0,0,0,0,0,352,352,384,224]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[30,32,64,128,256,3,5,9,1],"offset":0,"phase":0,"quadratic_rows":[15,15,15,15,0,0,0,0,0]},"new":623,"old":218,"rank":4,"right":{"linear_Z4":[3,0,0,0,0,3,3,3,0],"matrix_rows":[480,449,417,353,481,2,4,8,16],"offset":1,"phase":1,"quadratic_rows":[225,0,0,0,0,225,225,225,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":231,"old":219,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,1,0,1,2],"matrix_rows":[179,257,258,4,8,272,288,64,384],"offset":0,"phase":0,"quadratic_rows":[435,435,0,0,435,435,0,435,179]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":237,"old":219,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,3,0,3,2],"matrix_rows":[416,1,2,4,8,16,288,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,160,0,160,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":233,"old":220,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,3,0,3,2],"matrix_rows":[416,1,2,4,8,16,288,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,160,0,160,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":235,"old":220,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,1,0,1,2],"matrix_rows":[179,257,258,4,8,272,288,64,384],"offset":0,"phase":0,"quadratic_rows":[435,435,0,0,435,435,0,435,179]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":551,"old":221,"rank":1,"right":{"linear_Z4":[0,3,3,3,0,0,0,0,0],"matrix_rows":[6,9,18,28,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[8,22,30,13,6,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":552,"old":221,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,2,0,0],"matrix_rows":[70,1,66,68,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,3,0,0,0,0,0],"matrix_rows":[18,32,67,1,2,136,12,260,4],"offset":0,"phase":0,"quadratic_rows":[3,1,8,12,0,0,0,0,0]},"new":618,"old":221,"rank":4,"right":{"linear_Z4":[1,2,0,1,1,1,3,0,2],"matrix_rows":[28,25,192,416,29,14,16,480,256],"offset":115,"phase":1,"quadratic_rows":[5,12,27,30,28,96,352,256,192]}},{"left":{"linear_Z4":[2,2,3,3,0,0,0,0,0],"matrix_rows":[1,16,34,66,128,260,2,8,12],"offset":0,"phase":0,"quadratic_rows":[0,0,12,12,0,0,0,0,0]},"new":621,"old":221,"rank":4,"right":{"linear_Z4":[2,0,3,3,0,0,2,0,1],"matrix_rows":[1,76,32,384,2,68,72,16,256],"offset":263,"phase":2,"quadratic_rows":[0,0,12,12,0,256,0,256,416]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":231,"old":222,"rank":1,"right":{"linear_Z4":[2,3,1,1,3,3,0,3,2],"matrix_rows":[438,9,258,268,256,272,288,64,384],"offset":27,"phase":0,"quadratic_rows":[8,182,190,13,182,182,0,182,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":236,"old":222,"rank":1,"right":{"linear_Z4":[2,0,2,1,0,1,0,1,2],"matrix_rows":[184,17,18,4,264,256,288,320,384],"offset":170,"phase":0,"quadratic_rows":[16,16,0,440,427,440,0,440,184]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":232,"old":223,"rank":1,"right":{"linear_Z4":[2,1,3,3,1,3,0,3,2],"matrix_rows":[430,17,274,260,264,256,288,64,384],"offset":39,"phase":0,"quadratic_rows":[16,190,174,174,19,174,0,174,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":235,"old":223,"rank":1,"right":{"linear_Z4":[2,2,0,0,1,1,0,1,2],"matrix_rows":[184,9,2,12,256,272,288,320,384],"offset":150,"phase":0,"quadratic_rows":[8,0,8,437,440,440,0,440,184]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":233,"old":224,"rank":1,"right":{"linear_Z4":[3,3,0,3,0,0,0,0,0],"matrix_rows":[3,73,66,12,64,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[75,67,8,13,0,0,3,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":234,"old":224,"rank":1,"right":{"linear_Z4":[3,3,0,0,2,0,0,0,0],"matrix_rows":[19,17,18,4,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":230,"old":225,"rank":1,"right":{"linear_Z4":[3,0,3,0,3,0,0,0,0],"matrix_rows":[5,81,18,68,8,64,32,128,256],"offset":1,"phase":1,"quadratic_rows":[85,16,69,0,19,0,5,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":237,"old":225,"rank":1,"right":{"linear_Z4":[3,0,3,2,0,0,0,0,0],"matrix_rows":[13,9,2,12,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":232,"old":226,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,1,0,1,2],"matrix_rows":[173,257,2,260,264,16,288,64,384],"offset":0,"phase":0,"quadratic_rows":[429,0,429,429,0,429,0,429,173]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":234,"old":226,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,3,0,3,2],"matrix_rows":[416,1,2,4,8,16,288,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,160,0,160,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":230,"old":227,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,3,0,3,2],"matrix_rows":[416,1,2,4,8,16,288,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,160,0,160,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":236,"old":227,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,1,0,1,2],"matrix_rows":[173,257,2,260,264,16,288,64,384],"offset":0,"phase":0,"quadratic_rows":[429,0,429,429,0,429,0,429,173]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":550,"old":228,"rank":1,"right":{"linear_Z4":[3,1,2,3,0,3,1,3,2],"matrix_rows":[427,257,322,68,264,16,288,256,384],"offset":141,"phase":0,"quadratic_rows":[171,235,64,171,0,171,70,171,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":553,"old":228,"rank":1,"right":{"linear_Z4":[0,2,2,0,0,1,1,1,2],"matrix_rows":[232,9,2,12,256,272,288,320,384],"offset":60,"phase":0,"quadratic_rows":[8,0,8,485,0,488,488,488,232]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[7,8,19,35,64,131,259,2,1],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":617,"old":228,"rank":2,"right":{"linear_Z4":[0,2,2,0,0,0,1,0,3],"matrix_rows":[173,301,321,194,388,328,16,352,256],"offset":431,"phase":1,"quadratic_rows":[192,192,0,192,0,192,235,363,384]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,10,18,33,65,2,131,259,3],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":622,"old":228,"rank":2,"right":{"linear_Z4":[2,3,3,0,0,0,2,2,2],"matrix_rows":[201,239,257,2,12,256,272,320,384],"offset":120,"phase":0,"quadratic_rows":[294,239,231,290,0,207,294,294,201]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":550,"old":229,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,1,0,1,2],"matrix_rows":[173,257,2,260,264,16,288,64,384],"offset":0,"phase":0,"quadratic_rows":[429,0,429,429,0,429,0,429,173]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":552,"old":229,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,3,0,3,2],"matrix_rows":[416,1,2,4,8,16,288,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,160,0,160,0]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[28,36,71,132,263,9,7,1,3],"offset":0,"phase":0,"quadratic_rows":[13,6,15,13,0,0,0,0,0]},"new":616,"old":229,"rank":4,"right":{"linear_Z4":[2,3,1,3,0,2,3,3,0],"matrix_rows":[484,324,431,453,485,326,64,328,80],"offset":481,"phase":1,"quadratic_rows":[398,235,45,239,0,398,202,235,33]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,18,34,2,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":620,"old":229,"rank":2,"right":{"linear_Z4":[3,3,3,2,0,0,0,3,2],"matrix_rows":[385,6,257,18,28,16,32,64,384],"offset":3,"phase":2,"quadratic_rows":[129,22,30,4,6,0,0,129,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":238,"old":230,"rank":1,"right":{"linear_Z4":[3,0,3,2,0,0,0,0,0],"matrix_rows":[13,9,2,12,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,18,33,64,2,132,3,260,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":672,"old":230,"rank":3,"right":{"linear_Z4":[2,0,1,2,2,3,1,1,2],"matrix_rows":[20,66,416,5,16,80,40,256,384],"offset":233,"phase":1,"quadratic_rows":[4,80,69,32,66,168,86,160,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,17,33,68,128,260,1,2,6],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":732,"old":230,"rank":3,"right":{"linear_Z4":[2,1,1,3,0,0,2,2,3],"matrix_rows":[66,384,424,5,70,64,392,16,256],"offset":317,"phase":0,"quadratic_rows":[4,6,7,40,0,136,0,288,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":238,"old":231,"rank":1,"right":{"linear_Z4":[1,0,1,0,3,3,0,3,2],"matrix_rows":[421,273,18,260,8,256,288,320,384],"offset":171,"phase":1,"quadratic_rows":[181,16,165,0,19,165,0,165,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[15,18,33,65,135,4,1,262,6],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":673,"old":231,"rank":3,"right":{"linear_Z4":[3,0,2,0,3,0,2,0,2],"matrix_rows":[81,407,181,325,256,64,72,336,384],"offset":19,"phase":1,"quadratic_rows":[55,149,35,0,51,149,0,34,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[12,23,39,71,132,259,7,2,1],"offset":0,"phase":0,"quadratic_rows":[3,3,4,0,0,0,0,0,0]},"new":733,"old":231,"rank":3,"right":{"linear_Z4":[1,1,0,0,1,3,0,0,3],"matrix_rows":[130,258,183,357,230,64,72,368,256],"offset":463,"phase":1,"quadratic_rows":[467,467,368,0,471,356,183,83,311]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":238,"old":232,"rank":1,"right":{"linear_Z4":[1,1,0,3,0,3,0,3,2],"matrix_rows":[419,265,258,12,256,16,288,320,384],"offset":151,"phase":1,"quadratic_rows":[171,163,8,13,0,163,0,163,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[10,16,39,66,128,2,256,3,6],"offset":0,"phase":0,"quadratic_rows":[5,2,5,0,0,0,0,0,0]},"new":682,"old":232,"rank":3,"right":{"linear_Z4":[3,2,3,1,0,1,0,2,3],"matrix_rows":[388,9,4,133,166,256,40,16,64],"offset":61,"phase":1,"quadratic_rows":[141,164,167,41,0,174,0,295,384]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[15,17,34,71,129,4,1,262,6],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":742,"old":232,"rank":3,"right":{"linear_Z4":[3,2,0,3,0,0,2,0,2],"matrix_rows":[73,399,171,323,64,256,328,80,384],"offset":35,"phase":1,"quadratic_rows":[47,37,139,45,0,139,0,36,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":238,"old":233,"rank":1,"right":{"linear_Z4":[3,3,0,0,2,0,0,0,0],"matrix_rows":[19,17,18,4,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,16,33,65,132,260,1,2,6],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":683,"old":233,"rank":3,"right":{"linear_Z4":[2,2,2,0,3,0,2,2,3],"matrix_rows":[68,384,432,5,6,64,72,400,256],"offset":316,"phase":3,"quadratic_rows":[4,4,3,0,48,144,0,288,384]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,34,2,64,132,3,260,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":743,"old":233,"rank":3,"right":{"linear_Z4":[2,1,0,2,2,3,1,1,2],"matrix_rows":[10,68,416,3,72,8,48,256,384],"offset":217,"phase":1,"quadratic_rows":[2,67,72,68,32,176,78,160,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":238,"old":234,"rank":1,"right":{"linear_Z4":[3,3,0,3,0,0,0,0,0],"matrix_rows":[3,73,66,12,64,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[75,67,8,13,0,0,3,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,17,36,65,128,260,1,2,6],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":688,"old":234,"rank":3,"right":{"linear_Z4":[3,3,3,2,0,0,0,2,3],"matrix_rows":[3,384,420,65,74,388,64,16,256],"offset":261,"phase":1,"quadratic_rows":[67,75,36,2,0,132,3,288,384]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,19,32,65,3,132,2,260,4],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":748,"old":234,"rank":3,"right":{"linear_Z4":[2,0,2,1,2,3,0,1,2],"matrix_rows":[90,66,416,11,16,36,80,256,384],"offset":233,"phase":1,"quadratic_rows":[10,1,32,9,0,164,0,160,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":238,"old":235,"rank":1,"right":{"linear_Z4":[1,1,0,0,0,3,0,3,0],"matrix_rows":[179,273,274,4,8,256,288,64,384],"offset":39,"phase":0,"quadratic_rows":[419,419,0,0,416,435,0,435,179]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[11,19,32,64,134,3,256,2,7],"offset":0,"phase":0,"quadratic_rows":[5,2,5,0,0,0,0,0,0]},"new":689,"old":235,"rank":3,"right":{"linear_Z4":[0,0,0,0,2,2,0,1,3],"matrix_rows":[291,179,16,33,34,180,8,256,64],"offset":2,"phase":1,"quadratic_rows":[432,432,176,0,263,263,0,135,307]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[15,23,33,65,130,4,1,262,6],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":749,"old":235,"rank":3,"right":{"linear_Z4":[3,3,2,0,0,0,2,0,2],"matrix_rows":[71,403,163,321,322,64,72,256,384],"offset":131,"phase":1,"quadratic_rows":[55,55,3,0,131,131,0,48,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":238,"old":236,"rank":1,"right":{"linear_Z4":[1,0,1,0,0,3,0,3,0],"matrix_rows":[173,265,2,268,256,16,288,64,384],"offset":27,"phase":0,"quadratic_rows":[421,0,421,416,0,429,0,429,173]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[15,17,39,66,129,4,1,262,6],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":698,"old":236,"rank":3,"right":{"linear_Z4":[3,2,3,0,0,0,2,0,2],"matrix_rows":[71,397,165,321,64,324,256,80,384],"offset":67,"phase":1,"quadratic_rows":[47,5,47,133,0,133,0,40,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[11,16,35,70,128,3,256,2,7],"offset":0,"phase":0,"quadratic_rows":[5,2,5,0,0,0,0,0,0]},"new":758,"old":236,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,2,0,1,3],"matrix_rows":[293,173,8,33,170,36,256,16,64],"offset":2,"phase":1,"quadratic_rows":[424,168,424,263,0,263,0,135,301]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":238,"old":237,"rank":1,"right":{"linear_Z4":[3,0,3,0,3,0,0,0,0],"matrix_rows":[5,81,18,68,8,64,32,128,256],"offset":1,"phase":1,"quadratic_rows":[85,16,69,0,19,0,5,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,16,37,69,1,130,4,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":699,"old":237,"rank":3,"right":{"linear_Z4":[2,2,0,0,1,3,2,1,2],"matrix_rows":[20,416,68,21,34,64,72,256,384],"offset":248,"phase":3,"quadratic_rows":[20,32,1,0,17,162,0,160,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[10,20,34,64,130,260,2,1,5],"offset":0,"phase":0,"quadratic_rows":[5,2,1,0,0,0,0,0,0]},"new":759,"old":237,"rank":3,"right":{"linear_Z4":[3,3,3,0,2,0,0,2,3],"matrix_rows":[384,5,418,65,386,84,8,64,256],"offset":262,"phase":1,"quadratic_rows":[69,34,85,0,4,130,5,288,384]}},{"left":{"linear_Z4":[2,2,2,3,3,0,0,0,0],"matrix_rows":[33,66,4,133,3,264,6,16,24],"offset":0,"phase":0,"quadratic_rows":[6,5,3,24,24,0,0,0,0]},"new":1,"old":238,"rank":5,"right":{"linear_Z4":[2,0,2,0,0,0,0,0,1],"matrix_rows":[17,18,20,32,384,80,64,88,256],"offset":463,"phase":1,"quadratic_rows":[64,80,16,0,6,256,3,256,416]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[18,35,65,129,3,260,2,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":414,"old":238,"rank":4,"right":{"linear_Z4":[3,3,2,0,0,0,2,0,1],"matrix_rows":[6,5,32,384,71,16,80,88,256],"offset":469,"phase":2,"quadratic_rows":[67,83,16,0,6,256,3,256,416]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[19,33,66,130,1,260,3,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":415,"old":238,"rank":4,"right":{"linear_Z4":[0,0,2,0,0,0,2,0,1],"matrix_rows":[3,5,32,384,65,16,80,88,256],"offset":468,"phase":1,"quadratic_rows":[70,17,81,0,6,256,5,256,416]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,35,66,131,1,260,2,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":417,"old":238,"rank":4,"right":{"linear_Z4":[0,2,0,0,2,0,2,0,1],"matrix_rows":[3,6,32,384,16,82,64,88,256],"offset":388,"phase":3,"quadratic_rows":[18,85,66,0,3,256,6,256,416]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,34,67,129,3,260,2,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":420,"old":238,"rank":4,"right":{"linear_Z4":[2,0,0,0,2,0,0,0,1],"matrix_rows":[5,6,32,384,80,64,20,88,256],"offset":468,"phase":1,"quadratic_rows":[84,68,19,0,5,256,3,256,416]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":247,"old":239,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,1,1,0,2],"matrix_rows":[366,1,274,276,280,256,288,320,128],"offset":0,"phase":0,"quadratic_rows":[0,126,126,126,14,110,110,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":248,"old":239,"rank":1,"right":{"linear_Z4":[0,1,1,1,1,1,2,0,2],"matrix_rows":[318,1,258,260,328,336,352,256,128],"offset":0,"phase":0,"quadratic_rows":[0,62,62,126,126,126,56,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":249,"old":239,"rank":1,"right":{"linear_Z4":[0,1,1,1,1,1,2,0,2],"matrix_rows":[318,1,322,324,264,272,352,256,128],"offset":0,"phase":0,"quadratic_rows":[0,126,126,62,62,126,38,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":250,"old":240,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":251,"old":240,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,1,2,2,0],"matrix_rows":[160,1,2,4,72,80,224,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,64,64,96,56,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":252,"old":240,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,1,2,2,0],"matrix_rows":[160,1,66,68,8,16,224,128,256],"offset":0,"phase":0,"quadratic_rows":[0,64,64,0,0,96,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":250,"old":241,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,1,1,2,0],"matrix_rows":[238,1,146,148,152,128,160,192,256],"offset":0,"phase":0,"quadratic_rows":[0,126,126,126,14,110,110,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":253,"old":241,"rank":1,"right":{"linear_Z4":[0,1,1,1,1,1,2,2,0],"matrix_rows":[190,1,194,196,136,144,224,128,256],"offset":0,"phase":0,"quadratic_rows":[0,126,126,62,62,126,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":254,"old":241,"rank":1,"right":{"linear_Z4":[0,1,1,1,1,1,2,2,0],"matrix_rows":[190,1,130,132,200,208,224,128,256],"offset":0,"phase":0,"quadratic_rows":[0,62,62,126,126,126,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":247,"old":242,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":255,"old":242,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,1,2,0,2],"matrix_rows":[288,1,66,68,8,16,352,256,128],"offset":0,"phase":0,"quadratic_rows":[0,64,64,0,0,96,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":256,"old":242,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,1,2,0,2],"matrix_rows":[288,1,2,4,72,80,352,256,128],"offset":0,"phase":0,"quadratic_rows":[0,0,0,64,64,96,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":251,"old":243,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":253,"old":243,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":257,"old":243,"rank":1,"right":{"linear_Z4":[0,0,0,1,2,0,0,2,0],"matrix_rows":[136,1,18,20,152,128,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,16,16,24,14,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":248,"old":244,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":255,"old":244,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":258,"old":244,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":249,"old":245,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":256,"old":245,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":258,"old":245,"rank":1,"right":{"linear_Z4":[0,0,0,1,2,0,0,0,2],"matrix_rows":[264,1,18,20,280,256,32,64,128],"offset":0,"phase":0,"quadratic_rows":[0,16,16,24,14,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":252,"old":246,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":254,"old":246,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":257,"old":246,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":555,"old":247,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,3,3,2,0],"matrix_rows":[224,1,2,4,8,16,160,192,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,96,96,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":557,"old":247,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,2,0],"matrix_rows":[134,1,130,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,33,1,64,130,2,256],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":627,"old":247,"rank":2,"right":{"linear_Z4":[0,3,3,3,0,0,1,2,0],"matrix_rows":[6,64,9,18,28,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[8,22,30,13,6,0,192,64,0]}},{"left":{"linear_Z4":[2,2,3,3,0,0,0,0,0],"matrix_rows":[1,16,34,66,128,260,8,2,12],"offset":0,"phase":0,"quadratic_rows":[0,0,12,12,0,0,0,0,0]},"new":631,"old":247,"rank":4,"right":{"linear_Z4":[2,0,3,3,0,0,0,2,1],"matrix_rows":[1,140,32,320,2,132,136,16,256],"offset":263,"phase":2,"quadratic_rows":[0,0,12,12,0,256,256,0,352]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":260,"old":248,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,0,0,2,0],"matrix_rows":[152,1,2,4,136,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,24,24,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":266,"old":248,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,2,0],"matrix_rows":[134,1,130,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":262,"old":249,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,0,0,2,0],"matrix_rows":[152,1,2,4,136,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,24,24,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":264,"old":249,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,2,0],"matrix_rows":[134,1,130,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":555,"old":250,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,3,3,0,2],"matrix_rows":[352,1,2,4,8,16,288,320,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,96,96,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":556,"old":250,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,0,2],"matrix_rows":[262,1,258,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,3,3,0,0,0,0,0],"matrix_rows":[1,16,38,2,4,72,128,256,8],"offset":0,"phase":0,"quadratic_rows":[0,6,6,8,0,0,0,0,0]},"new":626,"old":250,"rank":4,"right":{"linear_Z4":[2,2,0,3,3,1,0,0,2],"matrix_rows":[1,28,4,32,14,16,288,64,128],"offset":55,"phase":1,"quadratic_rows":[0,12,2,26,24,288,0,0,32]}},{"left":{"linear_Z4":[2,2,3,3,0,0,0,0,0],"matrix_rows":[1,16,34,66,128,260,8,12,2],"offset":0,"phase":0,"quadratic_rows":[0,0,12,12,0,0,0,0,0]},"new":629,"old":250,"rank":4,"right":{"linear_Z4":[2,0,3,3,0,0,0,1,2],"matrix_rows":[1,268,32,192,2,260,264,16,128],"offset":263,"phase":2,"quadratic_rows":[0,0,12,12,0,128,128,224,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":260,"old":251,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,0,2],"matrix_rows":[262,1,258,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":265,"old":251,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,0,0,0,2],"matrix_rows":[280,1,2,4,264,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,24,24,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":261,"old":252,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,0,2],"matrix_rows":[262,1,258,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":264,"old":252,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,0,0,0,2],"matrix_rows":[280,1,2,4,264,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,24,24,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":262,"old":253,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,0,0,0,2],"matrix_rows":[280,1,2,4,264,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,24,24,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":263,"old":253,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,0,2],"matrix_rows":[262,1,258,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":259,"old":254,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,0,0,0,2],"matrix_rows":[280,1,2,4,264,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,24,24,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":266,"old":254,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,0,2],"matrix_rows":[262,1,258,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":261,"old":255,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,2,0],"matrix_rows":[134,1,130,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":263,"old":255,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,0,0,2,0],"matrix_rows":[152,1,2,4,136,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,24,24,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":259,"old":256,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,2,0],"matrix_rows":[134,1,130,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":265,"old":256,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,0,0,2,0],"matrix_rows":[152,1,2,4,136,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,24,24,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":554,"old":257,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,0,2],"matrix_rows":[262,1,258,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":557,"old":257,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,3,3,0,2],"matrix_rows":[352,1,2,4,8,16,288,320,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,96,96,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[7,9,18,35,64,131,2,256,3],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":625,"old":257,"rank":2,"right":{"linear_Z4":[2,3,3,2,0,2,2,0,2],"matrix_rows":[363,45,257,322,68,264,16,288,128],"offset":3,"phase":2,"quadratic_rows":[70,43,109,70,0,70,45,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,18,34,2,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":630,"old":257,"rank":2,"right":{"linear_Z4":[3,3,3,2,0,0,3,0,2],"matrix_rows":[321,6,257,18,28,16,32,320,128],"offset":3,"phase":2,"quadratic_rows":[65,22,30,4,6,0,65,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":554,"old":258,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,2,0],"matrix_rows":[134,1,130,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":556,"old":258,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,3,3,2,0],"matrix_rows":[224,1,2,4,8,16,160,192,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,96,96,0,0]}},{"left":{"linear_Z4":[2,2,2,2,0,0,0,0,0],"matrix_rows":[1,20,38,68,134,8,258,2,6],"offset":0,"phase":0,"quadratic_rows":[0,4,2,0,0,0,0,0,0]},"new":624,"old":258,"rank":4,"right":{"linear_Z4":[2,3,3,3,0,2,1,2,3],"matrix_rows":[1,324,266,32,390,256,392,272,192],"offset":13,"phase":3,"quadratic_rows":[0,142,454,138,0,0,452,78,324]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,18,34,2,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":628,"old":258,"rank":2,"right":{"linear_Z4":[3,3,3,2,0,0,3,2,0],"matrix_rows":[193,6,129,18,28,16,32,192,256],"offset":3,"phase":2,"quadratic_rows":[65,22,30,4,6,0,65,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":267,"old":259,"rank":1,"right":{"linear_Z4":[0,3,3,3,2,3,0,0,2],"matrix_rows":[302,1,274,276,280,256,288,320,128],"offset":1,"phase":1,"quadratic_rows":[0,62,62,62,14,46,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[10,18,1,36,68,132,4,3,256],"offset":0,"phase":0,"quadratic_rows":[3,1,4,0,0,0,0,0,0]},"new":674,"old":259,"rank":3,"right":{"linear_Z4":[3,0,2,3,3,2,0,3,0],"matrix_rows":[132,135,24,133,128,104,80,64,256],"offset":22,"phase":1,"quadratic_rows":[3,5,130,120,88,8,24,132,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[10,17,2,36,68,132,4,3,256],"offset":0,"phase":0,"quadratic_rows":[3,1,4,0,0,0,0,0,0]},"new":740,"old":259,"rank":3,"right":{"linear_Z4":[1,0,2,3,3,2,0,3,0],"matrix_rows":[2,135,24,3,128,72,112,64,256],"offset":31,"phase":1,"quadratic_rows":[133,4,131,88,120,16,24,133,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":267,"old":260,"rank":1,"right":{"linear_Z4":[0,3,3,3,2,3,0,2,0],"matrix_rows":[174,1,146,148,152,128,160,192,256],"offset":1,"phase":1,"quadratic_rows":[0,62,62,62,14,46,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[10,18,1,36,68,132,4,256,3],"offset":0,"phase":0,"quadratic_rows":[3,1,4,0,0,0,0,0,0]},"new":675,"old":260,"rank":3,"right":{"linear_Z4":[3,0,2,3,3,2,0,0,3],"matrix_rows":[260,263,24,261,256,104,80,64,128],"offset":22,"phase":1,"quadratic_rows":[3,5,258,120,88,8,24,0,260]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[10,17,2,36,68,132,4,256,3],"offset":0,"phase":0,"quadratic_rows":[3,1,4,0,0,0,0,0,0]},"new":741,"old":260,"rank":3,"right":{"linear_Z4":[1,0,2,3,3,2,0,0,3],"matrix_rows":[2,263,24,3,256,72,112,64,128],"offset":31,"phase":1,"quadratic_rows":[261,4,259,88,120,16,24,0,261]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":267,"old":261,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[11,16,39,71,1,130,5,263,7],"offset":0,"phase":0,"quadratic_rows":[6,3,1,0,0,0,0,0,0]},"new":680,"old":261,"rank":3,"right":{"linear_Z4":[2,0,2,1,1,1,0,0,1],"matrix_rows":[297,25,108,341,38,256,296,320,384],"offset":237,"phase":2,"quadratic_rows":[100,36,27,124,348,299,25,0,304]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[13,16,39,1,71,131,4,263,7],"offset":0,"phase":0,"quadratic_rows":[6,1,5,0,0,0,0,0,0]},"new":734,"old":261,"rank":3,"right":{"linear_Z4":[0,0,2,3,3,1,0,0,1],"matrix_rows":[305,340,25,109,38,256,304,320,384],"offset":225,"phase":2,"quadratic_rows":[324,36,27,124,348,298,25,0,305]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":267,"old":262,"rank":1,"right":{"linear_Z4":[0,3,3,3,2,0,0,0,0],"matrix_rows":[14,1,274,276,280,256,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,286,286,286,14,0,0,0,14]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[10,16,35,68,128,2,1,260,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":681,"old":262,"rank":3,"right":{"linear_Z4":[1,2,0,0,0,3,3,0,2],"matrix_rows":[4,97,264,5,38,64,256,16,384],"offset":59,"phase":1,"quadratic_rows":[101,36,99,0,0,103,101,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[10,16,35,64,132,1,2,260,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":735,"old":262,"rank":3,"right":{"linear_Z4":[1,2,0,0,0,1,1,0,2],"matrix_rows":[100,97,272,101,38,64,8,256,384],"offset":59,"phase":1,"quadratic_rows":[5,36,99,0,0,102,100,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":267,"old":263,"rank":1,"right":{"linear_Z4":[0,0,0,1,2,0,0,2,0],"matrix_rows":[136,1,18,20,152,128,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,16,16,24,14,0,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[12,18,34,68,1,130,2,5,256],"offset":0,"phase":0,"quadratic_rows":[5,2,1,0,0,0,0,0,0]},"new":696,"old":263,"rank":3,"right":{"linear_Z4":[3,3,3,0,2,2,0,3,0],"matrix_rows":[144,6,153,145,98,68,128,64,256],"offset":70,"phase":1,"quadratic_rows":[9,102,70,17,136,2,6,144,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[12,18,34,65,4,130,2,5,256],"offset":0,"phase":0,"quadratic_rows":[5,2,1,0,0,0,0,0,0]},"new":750,"old":263,"rank":3,"right":{"linear_Z4":[1,3,3,0,2,2,0,3,0],"matrix_rows":[8,6,153,9,66,100,128,64,256],"offset":79,"phase":1,"quadratic_rows":[145,70,102,16,137,4,6,145,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":267,"old":264,"rank":1,"right":{"linear_Z4":[0,0,0,1,2,0,0,0,2],"matrix_rows":[264,1,18,20,280,256,32,64,128],"offset":0,"phase":0,"quadratic_rows":[0,16,16,24,14,0,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[12,18,34,68,1,130,2,256,5],"offset":0,"phase":0,"quadratic_rows":[5,2,1,0,0,0,0,0,0]},"new":697,"old":264,"rank":3,"right":{"linear_Z4":[3,3,3,0,2,2,0,0,3],"matrix_rows":[272,6,281,273,98,68,256,64,128],"offset":70,"phase":1,"quadratic_rows":[9,102,70,17,264,2,6,0,272]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[12,18,34,65,4,130,2,256,5],"offset":0,"phase":0,"quadratic_rows":[5,2,1,0,0,0,0,0,0]},"new":751,"old":264,"rank":3,"right":{"linear_Z4":[1,3,3,0,2,2,0,0,3],"matrix_rows":[8,6,281,9,66,100,256,64,128],"offset":79,"phase":1,"quadratic_rows":[273,70,102,16,265,4,6,0,273]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":267,"old":265,"rank":1,"right":{"linear_Z4":[0,0,0,1,2,1,0,0,2],"matrix_rows":[40,1,18,20,280,256,288,320,384],"offset":0,"phase":0,"quadratic_rows":[0,16,16,312,14,296,0,0,40]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[15,17,5,32,65,130,3,257,1],"offset":0,"phase":0,"quadratic_rows":[0,4,6,0,0,0,0,0,0]},"new":690,"old":265,"rank":3,"right":{"linear_Z4":[1,1,1,0,3,3,1,0,0],"matrix_rows":[291,117,337,341,290,56,256,320,384],"offset":221,"phase":2,"quadratic_rows":[339,3,292,48,345,300,337,0,117]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[15,3,17,32,65,133,4,257,1],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":756,"old":265,"rank":3,"right":{"linear_Z4":[3,1,1,0,1,2,3,0,3],"matrix_rows":[293,113,339,115,292,56,256,320,384],"offset":213,"phase":3,"quadratic_rows":[117,290,5,48,121,347,113,0,290]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":267,"old":266,"rank":1,"right":{"linear_Z4":[0,0,0,3,2,3,0,0,0],"matrix_rows":[40,1,18,20,88,64,96,128,256],"offset":1,"phase":1,"quadratic_rows":[0,16,16,120,14,104,40,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[12,18,32,64,133,4,1,258,2],"offset":0,"phase":0,"quadratic_rows":[5,0,1,0,0,0,0,0,0]},"new":691,"old":266,"rank":3,"right":{"linear_Z4":[1,0,0,2,0,3,3,0,2],"matrix_rows":[16,258,97,17,256,4,56,64,384],"offset":205,"phase":1,"quadratic_rows":[113,0,0,48,105,121,113,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[12,16,34,64,133,1,4,258,2],"offset":0,"phase":0,"quadratic_rows":[5,0,1,0,0,0,0,0,0]},"new":757,"old":266,"rank":3,"right":{"linear_Z4":[1,0,0,2,0,1,1,0,2],"matrix_rows":[112,260,97,113,2,256,56,64,384],"offset":205,"phase":1,"quadratic_rows":[17,0,0,48,105,120,112,0,0]}},{"left":{"linear_Z4":[2,2,2,3,3,0,0,0,0],"matrix_rows":[1,34,4,72,14,144,22,262,6],"offset":0,"phase":0,"quadratic_rows":[0,24,24,14,22,0,0,0,0]},"new":1,"old":267,"rank":5,"right":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[1,338,84,264,288,256,272,320,384],"offset":253,"phase":1,"quadratic_rows":[0,80,80,16,14,64,38,0,0]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[18,35,1,68,6,136,10,258,2],"offset":0,"phase":0,"quadratic_rows":[3,15,6,10,0,0,0,0,0]},"new":414,"old":267,"rank":4,"right":{"linear_Z4":[3,1,0,0,1,0,1,0,3],"matrix_rows":[262,85,264,288,263,256,272,320,384],"offset":253,"phase":3,"quadratic_rows":[339,259,80,16,349,64,373,0,339]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[22,34,4,65,7,136,14,262,6],"offset":0,"phase":0,"quadratic_rows":[7,15,15,14,0,0,0,0,0]},"new":415,"old":267,"rank":4,"right":{"linear_Z4":[2,2,2,1,0,0,0,0,3],"matrix_rows":[264,91,349,288,265,256,272,320,384],"offset":253,"phase":3,"quadratic_rows":[14,345,345,31,14,64,38,0,262]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[22,35,5,73,15,129,7,262,6],"offset":0,"phase":0,"quadratic_rows":[7,15,15,14,0,0,0,0,0]},"new":418,"old":267,"rank":4,"right":{"linear_Z4":[2,0,0,0,0,1,0,0,3],"matrix_rows":[302,125,379,264,303,256,272,320,384],"offset":253,"phase":3,"quadratic_rows":[40,120,120,279,14,103,38,0,264]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[22,34,4,72,14,129,7,262,6],"offset":0,"phase":0,"quadratic_rows":[7,15,15,14,0,0,0,0,0]},"new":419,"old":267,"rank":4,"right":{"linear_Z4":[2,2,2,0,0,1,0,0,3],"matrix_rows":[288,115,373,264,289,256,272,320,384],"offset":253,"phase":3,"quadratic_rows":[38,369,369,16,14,103,38,0,262]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":276,"old":268,"rank":1,"right":{"linear_Z4":[0,1,1,1,0,2,1,1,2],"matrix_rows":[462,33,290,260,264,48,256,320,384],"offset":0,"phase":0,"quadratic_rows":[32,238,206,206,32,19,206,206,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":277,"old":268,"rank":1,"right":{"linear_Z4":[0,1,1,1,0,1,2,1,2],"matrix_rows":[430,65,258,324,264,80,288,256,384],"offset":0,"phase":0,"quadratic_rows":[64,174,238,174,64,174,21,174,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":278,"old":268,"rank":1,"right":{"linear_Z4":[0,1,1,1,0,1,2,1,2],"matrix_rows":[430,1,322,324,264,16,352,256,384],"offset":0,"phase":0,"quadratic_rows":[0,238,238,174,0,238,38,174,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":279,"old":269,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,2,2,0,0],"matrix_rows":[80,33,34,4,8,112,64,128,256],"offset":0,"phase":0,"quadratic_rows":[32,32,0,0,48,19,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":280,"old":269,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,2,0,0],"matrix_rows":[112,33,2,36,8,80,64,128,256],"offset":0,"phase":0,"quadratic_rows":[32,0,32,0,48,21,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":281,"old":269,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,1,2,0,0],"matrix_rows":[112,1,18,20,8,64,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,16,16,0,38,48,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":279,"old":270,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":282,"old":270,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,2,0,0,0],"matrix_rows":[37,33,2,36,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":283,"old":270,"rank":1,"right":{"linear_Z4":[0,3,3,0,2,0,0,0,0],"matrix_rows":[22,1,18,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":276,"old":271,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":284,"old":271,"rank":1,"right":{"linear_Z4":[1,0,1,1,1,0,2,1,2],"matrix_rows":[413,257,66,324,264,272,96,256,384],"offset":0,"phase":0,"quadratic_rows":[157,64,221,157,157,64,38,157,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":285,"old":271,"rank":1,"right":{"linear_Z4":[1,0,1,1,1,0,2,1,2],"matrix_rows":[413,321,2,324,264,336,32,256,384],"offset":0,"phase":0,"quadratic_rows":[221,0,221,157,221,0,21,157,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":280,"old":272,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":282,"old":272,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,2,0,0],"matrix_rows":[67,65,66,4,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":286,"old":272,"rank":1,"right":{"linear_Z4":[0,3,3,0,2,0,0,0,0],"matrix_rows":[22,1,18,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":277,"old":273,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":284,"old":273,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":287,"old":273,"rank":1,"right":{"linear_Z4":[1,1,0,1,1,2,0,1,2],"matrix_rows":[411,289,290,4,264,304,256,64,384],"offset":0,"phase":0,"quadratic_rows":[187,187,0,155,187,19,0,155,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":278,"old":274,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":285,"old":274,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":287,"old":274,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":281,"old":275,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":283,"old":275,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,2,0,0],"matrix_rows":[67,65,66,4,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":286,"old":275,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,2,0,0,0],"matrix_rows":[37,33,2,36,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":559,"old":276,"rank":1,"right":{"linear_Z4":[1,2,3,3,3,0,1,3,2],"matrix_rows":[413,321,66,260,264,272,32,256,384],"offset":135,"phase":0,"quadratic_rows":[221,64,157,157,157,0,67,157,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":561,"old":276,"rank":1,"right":{"linear_Z4":[2,2,0,1,0,0,1,1,2],"matrix_rows":[216,1,18,20,264,256,288,320,384],"offset":102,"phase":0,"quadratic_rows":[0,16,16,472,462,0,472,472,216]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,33,65,128,257,3,2],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":635,"old":276,"rank":2,"right":{"linear_Z4":[2,3,1,1,1,0,1,2,0],"matrix_rows":[286,384,193,386,324,328,336,32,256],"offset":373,"phase":0,"quadratic_rows":[192,158,94,94,94,0,221,67,0]}},{"left":{"linear_Z4":[2,3,3,3,0,0,0,0,0],"matrix_rows":[17,33,67,131,258,2,4,8,13],"offset":0,"phase":0,"quadratic_rows":[12,2,13,13,0,0,0,0,0]},"new":639,"old":276,"rank":4,"right":{"linear_Z4":[1,1,2,2,0,2,0,0,0],"matrix_rows":[279,20,320,384,265,282,300,288,32],"offset":0,"phase":0,"quadratic_rows":[31,15,43,23,41,20,256,256,192]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":289,"old":277,"rank":1,"right":{"linear_Z4":[1,3,2,3,3,1,0,3,2],"matrix_rows":[411,289,258,36,264,272,256,64,384],"offset":75,"phase":0,"quadratic_rows":[187,155,32,155,155,37,0,155,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":295,"old":277,"rank":1,"right":{"linear_Z4":[2,0,2,1,0,1,0,1,2],"matrix_rows":[184,1,18,20,264,256,288,320,384],"offset":170,"phase":0,"quadratic_rows":[0,16,16,440,430,440,0,440,184]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":291,"old":278,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,3,0,0,0],"matrix_rows":[6,33,66,100,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[32,70,102,0,0,37,6,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":293,"old":278,"rank":1,"right":{"linear_Z4":[0,3,3,0,2,0,0,0,0],"matrix_rows":[22,1,18,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":559,"old":279,"rank":1,"right":{"linear_Z4":[0,1,1,1,1,0,0,1,2],"matrix_rows":[158,1,258,260,264,272,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,414,414,414,414,0,0,414,158]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":560,"old":279,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,0,0,3,2],"matrix_rows":[392,1,2,4,264,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,136,0,0,0,136,0]}},{"left":{"linear_Z4":[2,3,2,2,0,0,0,0,0],"matrix_rows":[31,45,7,11,66,128,256,3,2],"offset":0,"phase":0,"quadratic_rows":[12,2,1,1,0,0,0,0,0]},"new":634,"old":279,"rank":4,"right":{"linear_Z4":[0,3,3,3,1,0,0,0,2],"matrix_rows":[399,17,263,267,141,398,272,32,64],"offset":12,"phase":2,"quadratic_rows":[286,15,399,399,273,0,0,12,29]}},{"left":{"linear_Z4":[2,2,3,2,0,0,0,0,0],"matrix_rows":[16,35,72,136,257,2,3,12,4],"offset":0,"phase":0,"quadratic_rows":[0,0,12,4,0,0,0,0,0]},"new":637,"old":279,"rank":4,"right":{"linear_Z4":[2,0,3,3,1,0,2,3,0],"matrix_rows":[114,34,384,140,19,64,388,392,96],"offset":281,"phase":0,"quadratic_rows":[18,1,268,268,17,0,0,384,140]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":289,"old":280,"rank":1,"right":{"linear_Z4":[0,1,1,1,1,0,0,1,2],"matrix_rows":[158,1,258,260,264,272,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,414,414,414,414,0,0,414,158]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":294,"old":280,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,0,0,3,2],"matrix_rows":[392,1,2,4,264,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,136,0,0,0,136,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":290,"old":281,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,1,0,1,2],"matrix_rows":[173,257,2,260,264,16,288,64,384],"offset":0,"phase":0,"quadratic_rows":[429,0,429,429,0,429,0,429,173]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":293,"old":281,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,0,0,3,2],"matrix_rows":[392,1,2,4,264,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,136,0,0,0,136,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":291,"old":282,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,0,0,3,2],"matrix_rows":[392,1,2,4,264,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,136,0,0,0,136,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":292,"old":282,"rank":1,"right":{"linear_Z4":[0,1,1,1,1,0,0,1,2],"matrix_rows":[158,1,258,260,264,272,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,414,414,414,414,0,0,414,158]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":288,"old":283,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,0,0,3,2],"matrix_rows":[392,1,2,4,264,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,136,0,0,0,136,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":295,"old":283,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,1,0,1,2],"matrix_rows":[173,257,2,260,264,16,288,64,384],"offset":0,"phase":0,"quadratic_rows":[429,0,429,429,0,429,0,429,173]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":290,"old":284,"rank":1,"right":{"linear_Z4":[3,1,2,3,1,3,0,3,2],"matrix_rows":[427,257,274,20,264,256,288,64,384],"offset":45,"phase":0,"quadratic_rows":[171,187,16,171,22,171,0,171,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":292,"old":284,"rank":1,"right":{"linear_Z4":[0,2,2,1,1,0,0,1,2],"matrix_rows":[184,33,2,36,264,272,256,320,384],"offset":204,"phase":0,"quadratic_rows":[32,0,32,440,440,413,0,440,184]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":288,"old":285,"rank":1,"right":{"linear_Z4":[3,0,3,0,3,0,0,0,0],"matrix_rows":[5,65,18,84,8,64,32,128,256],"offset":1,"phase":1,"quadratic_rows":[69,16,85,0,22,0,5,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":294,"old":285,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,2,0,0,0],"matrix_rows":[37,33,2,36,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":558,"old":286,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,0,0,3,2],"matrix_rows":[392,1,2,4,264,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,136,0,0,0,136,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":561,"old":286,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,1,1,2],"matrix_rows":[203,257,258,4,264,16,32,320,384],"offset":0,"phase":0,"quadratic_rows":[459,459,0,459,0,0,459,459,203]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,16,34,64,128,258,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":633,"old":286,"rank":2,"right":{"linear_Z4":[0,0,0,3,0,0,3,3,0],"matrix_rows":[384,200,1,2,4,392,16,32,448],"offset":2,"phase":1,"quadratic_rows":[0,0,0,328,0,0,328,384,200]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,9,18,2,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":638,"old":286,"rank":2,"right":{"linear_Z4":[3,3,1,2,0,0,3,3,2],"matrix_rows":[451,4,257,258,12,16,32,320,384],"offset":1,"phase":1,"quadratic_rows":[195,195,12,4,0,0,195,195,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":558,"old":287,"rank":1,"right":{"linear_Z4":[3,3,0,0,3,0,0,0,0],"matrix_rows":[3,33,50,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[35,51,16,0,22,3,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":560,"old":287,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,2,0,0],"matrix_rows":[67,65,66,4,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,3,0,0,0,0,0],"matrix_rows":[17,33,3,72,130,2,12,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,8,12,0,0,0,0,0]},"new":632,"old":287,"rank":4,"right":{"linear_Z4":[3,3,1,1,0,0,3,0,2],"matrix_rows":[23,20,192,392,37,54,456,32,256],"offset":3,"phase":2,"quadratic_rows":[51,35,20,72,5,3,328,256,192]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,16,34,65,128,1,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":636,"old":287,"rank":2,"right":{"linear_Z4":[3,0,2,3,3,0,2,1,2],"matrix_rows":[81,392,65,2,12,256,80,32,384],"offset":49,"phase":3,"quadratic_rows":[17,0,8,140,17,0,0,136,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":296,"old":288,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,2,0,0,0],"matrix_rows":[37,33,2,36,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[8,18,33,68,3,4,2,128,256],"offset":0,"phase":0,"quadratic_rows":[3,1,4,0,0,0,0,0,0]},"new":672,"old":288,"rank":3,"right":{"linear_Z4":[2,0,1,1,1,2,2,0,0],"matrix_rows":[68,18,8,5,64,80,40,128,256],"offset":41,"phase":3,"quadratic_rows":[4,80,21,40,86,8,18,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,17,33,66,1,130,256,4,6],"offset":0,"phase":0,"quadratic_rows":[0,4,6,0,0,0,0,0,0]},"new":716,"old":288,"rank":3,"right":{"linear_Z4":[2,1,1,0,2,3,0,2,3],"matrix_rows":[18,424,384,5,22,16,256,416,64],"offset":123,"phase":0,"quadratic_rows":[4,6,7,160,0,40,0,264,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":296,"old":289,"rank":1,"right":{"linear_Z4":[1,0,1,3,3,0,0,3,2],"matrix_rows":[397,257,18,276,264,256,32,320,384],"offset":171,"phase":1,"quadratic_rows":[141,16,157,141,22,0,0,141,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[14,18,33,4,70,129,1,263,7],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":673,"old":289,"rank":3,"right":{"linear_Z4":[2,0,1,0,2,0,0,3,2],"matrix_rows":[196,471,157,325,320,64,336,96,384],"offset":0,"phase":0,"quadratic_rows":[14,149,143,149,10,0,0,142,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,16,39,71,129,7,262,2,4],"offset":0,"phase":0,"quadratic_rows":[7,1,1,0,0,0,0,0,0]},"new":717,"old":289,"rank":3,"right":{"linear_Z4":[0,0,2,3,3,2,0,3,3],"matrix_rows":[268,444,60,21,134,32,56,288,320],"offset":353,"phase":2,"quadratic_rows":[20,132,59,188,157,140,0,442,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":296,"old":290,"rank":1,"right":{"linear_Z4":[0,1,1,3,0,3,0,3,2],"matrix_rows":[398,33,258,292,264,16,256,320,384],"offset":205,"phase":1,"quadratic_rows":[32,142,174,142,0,37,0,142,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,16,39,71,135,2,261,1,4],"offset":0,"phase":0,"quadratic_rows":[2,7,2,0,0,0,0,0,0]},"new":680,"old":290,"rank":3,"right":{"linear_Z4":[0,0,2,3,0,3,0,3,1],"matrix_rows":[172,268,300,133,38,256,296,272,320],"offset":354,"phase":2,"quadratic_rows":[132,36,299,428,0,174,0,169,268]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,21,34,4,66,133,2,263,7],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":726,"old":290,"rank":3,"right":{"linear_Z4":[0,2,1,0,0,2,0,3,2],"matrix_rows":[487,196,174,320,326,64,80,352,384],"offset":0,"phase":0,"quadratic_rows":[166,13,143,166,0,9,0,141,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":296,"old":291,"rank":1,"right":{"linear_Z4":[0,3,3,0,2,0,0,0,0],"matrix_rows":[22,1,18,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,16,33,66,130,1,256,4,6],"offset":0,"phase":0,"quadratic_rows":[0,4,6,0,0,0,0,0,0]},"new":681,"old":291,"rank":3,"right":{"linear_Z4":[1,2,1,0,3,2,0,2,3],"matrix_rows":[33,408,384,37,6,32,256,400,64],"offset":123,"phase":0,"quadratic_rows":[5,4,7,144,24,0,0,264,384]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[9,16,34,68,4,3,1,128,256],"offset":0,"phase":0,"quadratic_rows":[2,3,4,0,0,0,0,0,0]},"new":727,"old":291,"rank":3,"right":{"linear_Z4":[0,2,1,1,2,1,2,0,0],"matrix_rows":[33,68,8,64,6,96,24,128,256],"offset":50,"phase":3,"quadratic_rows":[96,4,38,24,8,101,33,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":296,"old":292,"rank":1,"right":{"linear_Z4":[0,1,1,3,0,0,0,3,0],"matrix_rows":[158,1,274,276,264,256,32,64,384],"offset":45,"phase":0,"quadratic_rows":[0,398,398,414,392,0,0,414,158]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[8,19,35,67,5,128,256,1,7],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":704,"old":292,"rank":3,"right":{"linear_Z4":[0,0,0,2,2,0,0,1,3],"matrix_rows":[158,14,272,153,266,268,256,32,64],"offset":1,"phase":1,"quadratic_rows":[152,408,408,263,263,0,0,135,286]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,23,39,66,4,129,1,262,6],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":752,"old":292,"rank":3,"right":{"linear_Z4":[2,3,3,0,0,0,2,0,2],"matrix_rows":[71,398,150,64,322,324,256,96,384],"offset":67,"phase":1,"quadratic_rows":[6,31,31,134,134,0,0,24,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":296,"old":293,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,3,0,0,0],"matrix_rows":[6,33,66,100,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[32,70,102,0,0,37,6,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[12,18,34,68,128,258,2,1,5],"offset":0,"phase":0,"quadratic_rows":[5,2,1,0,0,0,0,0,0]},"new":705,"old":293,"rank":3,"right":{"linear_Z4":[3,3,3,0,0,2,0,2,3],"matrix_rows":[384,6,393,385,98,68,256,16,64],"offset":70,"phase":1,"quadratic_rows":[9,102,70,129,0,2,6,264,384]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,16,38,65,134,2,4,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":753,"old":293,"rank":3,"right":{"linear_Z4":[2,2,0,3,0,1,2,1,2],"matrix_rows":[392,36,68,9,38,64,256,80,384],"offset":248,"phase":3,"quadratic_rows":[8,36,2,137,0,34,0,136,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":296,"old":294,"rank":1,"right":{"linear_Z4":[3,0,3,0,3,0,0,0,0],"matrix_rows":[5,65,18,84,8,64,32,128,256],"offset":1,"phase":1,"quadratic_rows":[69,16,85,0,22,0,5,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,16,37,66,129,5,4,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":714,"old":294,"rank":3,"right":{"linear_Z4":[2,2,0,3,1,2,0,1,2],"matrix_rows":[116,392,68,21,10,32,256,96,384],"offset":217,"phase":1,"quadratic_rows":[20,8,1,138,17,0,0,136,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,20,33,68,129,256,1,2,6],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":760,"old":294,"rank":3,"right":{"linear_Z4":[3,3,3,0,2,0,0,2,3],"matrix_rows":[5,384,394,81,386,68,256,64,32],"offset":69,"phase":1,"quadratic_rows":[85,10,69,130,1,0,5,264,384]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":296,"old":295,"rank":1,"right":{"linear_Z4":[1,0,1,3,0,0,0,3,0],"matrix_rows":[173,289,2,292,264,16,256,64,384],"offset":75,"phase":0,"quadratic_rows":[397,0,397,429,0,392,0,429,173]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[15,17,39,66,129,4,1,262,6],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":715,"old":295,"rank":3,"right":{"linear_Z4":[3,2,3,0,0,0,2,0,2],"matrix_rows":[71,397,165,321,64,324,256,80,384],"offset":67,"phase":1,"quadratic_rows":[47,5,47,133,0,133,0,40,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[11,16,35,67,128,6,256,2,7],"offset":0,"phase":0,"quadratic_rows":[5,2,5,0,0,0,0,0,0]},"new":761,"old":295,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,2,0,1,3],"matrix_rows":[13,173,288,265,170,268,256,16,64],"offset":2,"phase":1,"quadratic_rows":[424,168,424,263,0,263,0,135,301]}},{"left":{"linear_Z4":[2,2,2,3,3,0,0,0,0],"matrix_rows":[33,66,4,136,262,5,3,16,24],"offset":0,"phase":0,"quadratic_rows":[6,5,3,24,24,0,0,0,0]},"new":1,"old":296,"rank":5,"right":{"linear_Z4":[0,2,2,0,0,0,0,0,1],"matrix_rows":[65,66,68,8,384,32,96,256,112],"offset":431,"phase":1,"quadratic_rows":[96,32,64,256,0,3,5,256,392]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[18,35,65,132,258,1,3,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":414,"old":296,"rank":4,"right":{"linear_Z4":[1,1,2,0,0,2,2,0,1],"matrix_rows":[6,5,8,384,103,64,32,256,112],"offset":389,"phase":0,"quadratic_rows":[99,35,64,256,0,3,5,256,392]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,34,67,132,258,1,3,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":416,"old":296,"rank":4,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,1],"matrix_rows":[5,6,8,384,32,96,68,256,112],"offset":484,"phase":1,"quadratic_rows":[36,100,67,256,0,3,6,256,392]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,35,66,132,258,3,1,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":417,"old":296,"rank":4,"right":{"linear_Z4":[0,0,2,0,0,2,0,0,1],"matrix_rows":[3,6,8,384,64,34,96,256,112],"offset":484,"phase":1,"quadratic_rows":[66,37,98,256,0,6,5,256,392]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[19,33,66,132,259,2,1,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":419,"old":296,"rank":4,"right":{"linear_Z4":[2,0,0,0,0,2,2,0,1],"matrix_rows":[3,5,8,384,97,64,32,256,112],"offset":388,"phase":3,"quadratic_rows":[102,65,33,256,0,5,3,256,392]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":305,"old":297,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,2,0,2,0],"matrix_rows":[144,33,34,4,8,176,128,64,256],"offset":0,"phase":0,"quadratic_rows":[32,32,0,0,48,19,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":306,"old":297,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":307,"old":297,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":308,"old":298,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":309,"old":298,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":310,"old":298,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":308,"old":299,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,2,0,0,2],"matrix_rows":[272,33,34,4,8,304,256,64,128],"offset":0,"phase":0,"quadratic_rows":[32,32,0,0,48,19,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":311,"old":299,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":312,"old":299,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":305,"old":300,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":313,"old":300,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":314,"old":300,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":309,"old":301,"rank":1,"right":{"linear_Z4":[1,1,0,1,1,1,2,0,2],"matrix_rows":[315,257,258,4,328,336,352,256,128],"offset":0,"phase":0,"quadratic_rows":[59,59,0,123,123,123,56,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":311,"old":301,"rank":1,"right":{"linear_Z4":[1,1,0,1,1,1,2,0,2],"matrix_rows":[315,321,322,4,328,272,288,256,128],"offset":0,"phase":0,"quadratic_rows":[123,123,0,123,59,59,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":315,"old":301,"rank":1,"right":{"linear_Z4":[1,1,0,1,1,2,1,0,2],"matrix_rows":[347,289,290,4,264,304,256,320,128],"offset":0,"phase":0,"quadratic_rows":[123,123,0,91,123,19,91,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":306,"old":302,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,2,2,0],"matrix_rows":[136,1,2,4,200,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,72,64,64,56,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":313,"old":302,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,2,2,0],"matrix_rows":[136,65,66,4,200,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[64,64,0,72,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":316,"old":302,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":307,"old":303,"rank":1,"right":{"linear_Z4":[1,1,0,1,1,1,2,2,0],"matrix_rows":[187,193,194,4,200,144,160,128,256],"offset":0,"phase":0,"quadratic_rows":[123,123,0,123,59,59,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":314,"old":303,"rank":1,"right":{"linear_Z4":[1,1,0,1,1,1,2,2,0],"matrix_rows":[187,129,130,4,200,208,224,128,256],"offset":0,"phase":0,"quadratic_rows":[59,59,0,123,123,123,56,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":316,"old":303,"rank":1,"right":{"linear_Z4":[1,1,0,1,1,2,1,2,0],"matrix_rows":[219,161,162,4,136,176,128,192,256],"offset":0,"phase":0,"quadratic_rows":[123,123,0,91,123,19,91,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":310,"old":304,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,2,0,2],"matrix_rows":[264,65,66,4,328,16,32,256,128],"offset":0,"phase":0,"quadratic_rows":[64,64,0,72,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":312,"old":304,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,2,0,2],"matrix_rows":[264,1,2,4,328,80,96,256,128],"offset":0,"phase":0,"quadratic_rows":[0,0,0,72,64,64,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":315,"old":304,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":563,"old":305,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,0,2],"matrix_rows":[259,257,258,4,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":565,"old":305,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,0,3,0,2],"matrix_rows":[328,1,2,4,264,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,72,0,0,72,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[6,11,17,33,65,128,3,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":643,"old":305,"rank":2,"right":{"linear_Z4":[3,2,3,3,3,0,2,0,2],"matrix_rows":[30,323,321,66,260,264,272,32,128],"offset":3,"phase":2,"quadratic_rows":[3,285,286,286,286,0,0,0,30]}},{"left":{"linear_Z4":[2,2,3,2,0,0,0,0,0],"matrix_rows":[16,35,72,136,257,2,12,3,4],"offset":0,"phase":0,"quadratic_rows":[0,0,12,4,0,0,0,0,0]},"new":647,"old":305,"rank":4,"right":{"linear_Z4":[2,0,3,3,1,0,3,2,0],"matrix_rows":[178,34,320,76,19,128,324,328,160],"offset":281,"phase":0,"quadratic_rows":[18,1,268,268,17,0,320,0,76]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":318,"old":306,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,0,2],"matrix_rows":[259,257,258,4,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":324,"old":306,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,3,0,0,2],"matrix_rows":[304,1,2,4,8,272,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,48,48,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":320,"old":307,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,3,0,0,2],"matrix_rows":[304,1,2,4,8,272,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,48,48,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":322,"old":307,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,0,2],"matrix_rows":[259,257,258,4,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":563,"old":308,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,2,0],"matrix_rows":[131,129,130,4,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":564,"old":308,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,0,3,2,0],"matrix_rows":[200,1,2,4,136,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,72,0,0,72,0,0]}},{"left":{"linear_Z4":[2,2,2,2,0,0,0,0,0],"matrix_rows":[18,35,4,8,66,131,257,1,3],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":642,"old":308,"rank":4,"right":{"linear_Z4":[3,3,2,2,3,0,1,2,3],"matrix_rows":[322,273,4,8,387,256,400,288,192],"offset":14,"phase":3,"quadratic_rows":[147,451,0,0,145,0,450,83,322]}},{"left":{"linear_Z4":[2,2,3,2,0,0,0,0,0],"matrix_rows":[16,35,72,136,257,2,12,4,3],"offset":0,"phase":0,"quadratic_rows":[0,0,12,4,0,0,0,0,0]},"new":645,"old":308,"rank":4,"right":{"linear_Z4":[2,0,3,3,1,0,3,0,2],"matrix_rows":[306,34,192,76,19,256,196,200,288],"offset":281,"phase":0,"quadratic_rows":[18,1,140,140,17,0,192,76,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":318,"old":309,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,3,0,2,0],"matrix_rows":[176,1,2,4,8,144,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,48,48,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":323,"old":309,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,2,0],"matrix_rows":[131,129,130,4,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":319,"old":310,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,2,0],"matrix_rows":[131,129,130,4,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":322,"old":310,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,3,0,2,0],"matrix_rows":[176,1,2,4,8,144,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,48,48,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":320,"old":311,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,3,0,2,0],"matrix_rows":[176,1,2,4,8,144,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,48,48,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":321,"old":311,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,2,0],"matrix_rows":[131,129,130,4,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":317,"old":312,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,2,0],"matrix_rows":[131,129,130,4,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":324,"old":312,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,3,0,2,0],"matrix_rows":[176,1,2,4,8,144,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,48,48,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":319,"old":313,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,0,2],"matrix_rows":[259,257,258,4,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":321,"old":313,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,3,0,0,2],"matrix_rows":[304,1,2,4,8,272,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,48,48,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":317,"old":314,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,3,0,0,2],"matrix_rows":[304,1,2,4,8,272,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,48,48,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":323,"old":314,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,0,2],"matrix_rows":[259,257,258,4,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":562,"old":315,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,0,3,2,0],"matrix_rows":[200,1,2,4,136,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,72,0,0,72,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":565,"old":315,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,2,0],"matrix_rows":[131,129,130,4,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,32,65,1,130,2,256],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":641,"old":315,"rank":2,"right":{"linear_Z4":[3,3,0,0,3,0,1,2,0],"matrix_rows":[3,64,33,50,20,8,32,192,256],"offset":1,"phase":1,"quadratic_rows":[35,51,16,0,22,3,192,64,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,16,34,65,128,258,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":646,"old":315,"rank":2,"right":{"linear_Z4":[3,0,2,3,3,0,1,2,2],"matrix_rows":[145,328,129,2,12,256,144,32,320],"offset":49,"phase":3,"quadratic_rows":[17,0,8,76,17,0,72,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":562,"old":316,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,0,3,0,2],"matrix_rows":[328,1,2,4,264,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,72,0,0,72,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":564,"old":316,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,0,2],"matrix_rows":[259,257,258,4,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,2,3,0,0,0,0,0],"matrix_rows":[16,35,4,72,1,2,128,256,8],"offset":0,"phase":0,"quadratic_rows":[3,3,0,8,0,0,0,0,0]},"new":640,"old":316,"rank":4,"right":{"linear_Z4":[2,0,2,1,3,3,0,0,2],"matrix_rows":[50,2,4,8,19,32,264,64,128],"offset":55,"phase":1,"quadratic_rows":[18,1,0,264,49,48,0,0,8]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,16,34,65,128,258,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":644,"old":316,"rank":2,"right":{"linear_Z4":[3,0,2,3,3,0,1,2,2],"matrix_rows":[273,200,257,2,12,128,272,32,192],"offset":49,"phase":3,"quadratic_rows":[17,0,8,76,17,0,72,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":325,"old":317,"rank":1,"right":{"linear_Z4":[3,3,0,3,3,2,0,0,2],"matrix_rows":[283,289,290,4,264,304,256,320,128],"offset":1,"phase":1,"quadratic_rows":[59,59,0,27,59,19,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[11,18,1,32,64,132,260,2,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":674,"old":317,"rank":3,"right":{"linear_Z4":[2,0,3,2,2,1,0,3,2],"matrix_rows":[129,135,288,133,128,40,16,256,320],"offset":484,"phase":1,"quadratic_rows":[130,5,6,32,0,40,0,129,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,19,2,32,68,128,260,1,4],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":724,"old":317,"rank":3,"right":{"linear_Z4":[0,2,3,2,1,2,0,3,2],"matrix_rows":[135,130,272,128,134,24,256,32,320],"offset":484,"phase":1,"quadratic_rows":[6,129,5,16,24,0,0,130,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":325,"old":318,"rank":1,"right":{"linear_Z4":[3,3,0,3,3,2,0,2,0],"matrix_rows":[155,161,162,4,136,176,128,192,256],"offset":1,"phase":1,"quadratic_rows":[59,59,0,27,59,19,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[11,18,1,32,64,132,260,4,2],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":675,"old":318,"rank":3,"right":{"linear_Z4":[2,0,3,2,2,1,0,2,3],"matrix_rows":[257,263,160,261,256,40,16,128,192],"offset":484,"phase":1,"quadratic_rows":[258,5,6,32,0,40,0,0,257]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,19,2,32,68,128,260,4,1],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":725,"old":318,"rank":3,"right":{"linear_Z4":[0,2,3,2,1,2,0,2,3],"matrix_rows":[263,258,144,256,262,24,128,32,192],"offset":484,"phase":1,"quadratic_rows":[6,257,5,16,24,0,0,0,258]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":325,"old":319,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[12,22,7,34,3,2,64,128,256],"offset":0,"phase":0,"quadratic_rows":[5,0,1,0,0,0,0,0,0]},"new":682,"old":319,"rank":3,"right":{"linear_Z4":[3,0,3,1,0,3,0,0,0],"matrix_rows":[20,42,39,21,54,40,64,128,256],"offset":4,"phase":1,"quadratic_rows":[51,57,20,10,39,51,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[13,20,7,33,1,3,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":718,"old":319,"rank":3,"right":{"linear_Z4":[0,3,3,1,3,0,0,0,0],"matrix_rows":[25,36,23,53,38,24,64,128,256],"offset":4,"phase":1,"quadratic_rows":[58,51,36,9,51,23,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":325,"old":320,"rank":1,"right":{"linear_Z4":[3,3,0,0,3,2,0,0,0],"matrix_rows":[19,289,290,4,8,304,256,64,384],"offset":1,"phase":1,"quadratic_rows":[307,307,0,0,307,19,0,0,19]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,17,3,34,64,132,2,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":683,"old":320,"rank":3,"right":{"linear_Z4":[3,3,1,0,0,0,0,0,2],"matrix_rows":[15,12,288,69,78,64,16,256,384],"offset":3,"phase":2,"quadratic_rows":[75,67,12,5,0,0,3,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[10,18,3,33,68,128,1,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":719,"old":320,"rank":3,"right":{"linear_Z4":[3,3,1,0,0,0,0,0,2],"matrix_rows":[12,15,272,77,70,64,256,32,384],"offset":3,"phase":2,"quadratic_rows":[67,75,12,6,0,0,3,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":325,"old":321,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,2,0,0,2],"matrix_rows":[272,33,34,4,8,304,256,64,128],"offset":0,"phase":0,"quadratic_rows":[32,32,0,0,48,19,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,17,36,65,130,4,1,256,6],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":712,"old":321,"rank":3,"right":{"linear_Z4":[3,3,1,2,0,2,0,0,3],"matrix_rows":[3,16,308,65,74,20,64,256,128],"offset":167,"phase":1,"quadratic_rows":[67,75,292,2,32,276,3,0,292]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,17,36,65,132,2,1,256,6],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":754,"old":321,"rank":3,"right":{"linear_Z4":[3,3,3,2,0,2,0,0,3],"matrix_rows":[3,288,308,73,66,292,64,256,128],"offset":133,"phase":1,"quadratic_rows":[75,67,20,1,36,272,3,0,288]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":325,"old":322,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,2,0,2,0],"matrix_rows":[144,33,34,4,8,176,128,64,256],"offset":0,"phase":0,"quadratic_rows":[32,32,0,0,48,19,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,17,36,65,130,4,1,6,256],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":713,"old":322,"rank":3,"right":{"linear_Z4":[3,3,1,2,0,2,0,3,0],"matrix_rows":[3,16,180,65,74,20,64,128,256],"offset":167,"phase":1,"quadratic_rows":[67,75,164,2,32,148,3,164,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,17,36,65,132,2,1,6,256],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":755,"old":322,"rank":3,"right":{"linear_Z4":[3,3,3,2,0,2,0,3,0],"matrix_rows":[3,160,180,73,66,164,64,128,256],"offset":133,"phase":1,"quadratic_rows":[75,67,20,1,36,144,3,160,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":325,"old":323,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,2,0,0,0],"matrix_rows":[24,33,34,4,72,112,64,128,256],"offset":1,"phase":1,"quadratic_rows":[32,32,0,88,120,19,24,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,17,36,64,134,4,2,257,1],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":706,"old":323,"rank":3,"right":{"linear_Z4":[0,0,1,2,0,3,3,0,2],"matrix_rows":[258,16,100,1,256,20,56,64,384],"offset":230,"phase":1,"quadratic_rows":[0,0,116,48,108,124,116,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,16,36,64,132,6,2,257,1],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":762,"old":323,"rank":3,"right":{"linear_Z4":[0,0,1,2,3,2,2,0,2],"matrix_rows":[257,96,20,256,2,100,56,64,384],"offset":192,"phase":2,"quadratic_rows":[0,0,116,48,124,28,20,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":325,"old":324,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,2,0,0,2],"matrix_rows":[24,33,34,4,264,304,256,320,384],"offset":0,"phase":0,"quadratic_rows":[32,32,0,280,312,19,0,0,24]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[15,17,5,32,67,2,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,4,6,0,0,0,0,0,0]},"new":707,"old":324,"rank":3,"right":{"linear_Z4":[3,1,1,0,2,3,0,0,3],"matrix_rows":[307,293,17,21,306,56,256,320,384],"offset":211,"phase":3,"quadratic_rows":[19,3,308,48,301,316,0,0,308]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[10,23,6,32,65,3,130,258,2],"offset":0,"phase":0,"quadratic_rows":[4,0,5,0,0,0,0,0,0]},"new":763,"old":324,"rank":3,"right":{"linear_Z4":[1,1,1,0,3,0,0,0,0],"matrix_rows":[22,307,290,305,294,56,256,320,384],"offset":222,"phase":2,"quadratic_rows":[3,291,308,48,316,30,0,0,22]}},{"left":{"linear_Z4":[2,2,2,3,3,0,0,0,0],"matrix_rows":[33,2,4,72,144,19,11,259,3],"offset":0,"phase":0,"quadratic_rows":[24,24,0,11,19,0,0,0,0]},"new":1,"old":325,"rank":5,"right":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[353,98,4,264,272,256,320,288,384],"offset":254,"phase":1,"quadratic_rows":[96,96,0,64,32,19,11,0,0]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[18,35,1,68,136,11,7,259,3],"offset":0,"phase":0,"quadratic_rows":[15,15,7,11,0,0,0,0,0]},"new":414,"old":325,"rank":4,"right":{"linear_Z4":[1,3,0,0,0,2,2,0,1],"matrix_rows":[358,101,264,272,263,256,320,288,384],"offset":204,"phase":0,"quadratic_rows":[355,355,0,64,32,19,11,0,259]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,2,35,72,132,7,11,259,3],"offset":0,"phase":0,"quadratic_rows":[15,15,7,11,0,0,0,0,0]},"new":416,"old":325,"rank":4,"right":{"linear_Z4":[2,2,2,0,1,0,0,0,3],"matrix_rows":[117,374,272,264,256,276,320,288,384],"offset":254,"phase":3,"quadratic_rows":[372,372,19,64,55,19,11,0,259]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[22,35,5,73,129,2,10,259,3],"offset":0,"phase":0,"quadratic_rows":[15,15,7,11,0,0,0,0,0]},"new":418,"old":325,"rank":4,"right":{"linear_Z4":[2,0,0,2,3,2,2,0,3],"matrix_rows":[382,125,283,264,287,256,320,288,384],"offset":200,"phase":3,"quadratic_rows":[120,120,24,327,55,19,11,0,264]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,2,35,68,136,11,7,259,3],"offset":0,"phase":0,"quadratic_rows":[15,15,7,11,0,0,0,0,0]},"new":420,"old":325,"rank":4,"right":{"linear_Z4":[2,2,2,1,0,0,0,0,3],"matrix_rows":[109,366,264,272,256,268,320,288,384],"offset":254,"phase":3,"quadratic_rows":[364,364,11,79,32,19,11,0,259]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":334,"old":326,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":335,"old":326,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":336,"old":326,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":337,"old":327,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":338,"old":327,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":339,"old":327,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":337,"old":328,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,2,0,2,0],"matrix_rows":[132,33,2,164,40,16,128,64,256],"offset":0,"phase":0,"quadratic_rows":[32,0,36,32,0,13,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":340,"old":328,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":341,"old":328,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":334,"old":329,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,2,0,0,2],"matrix_rows":[260,33,2,292,40,16,256,64,128],"offset":0,"phase":0,"quadratic_rows":[32,0,36,32,0,13,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":342,"old":329,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":343,"old":329,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":338,"old":330,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,2,0],"matrix_rows":[130,65,194,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[64,66,0,64,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":340,"old":330,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,2,0],"matrix_rows":[130,1,194,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,66,64,0,0,64,38,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":344,"old":330,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":335,"old":331,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,0,2],"matrix_rows":[258,65,322,4,72,16,32,256,128],"offset":0,"phase":0,"quadratic_rows":[64,66,0,64,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":342,"old":331,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,0,2],"matrix_rows":[258,1,322,68,8,16,96,256,128],"offset":0,"phase":0,"quadratic_rows":[0,66,64,0,0,64,38,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":345,"old":331,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":336,"old":332,"rank":1,"right":{"linear_Z4":[1,1,1,1,0,1,2,0,2],"matrix_rows":[303,257,322,324,264,16,352,256,128],"offset":0,"phase":0,"quadratic_rows":[47,111,111,47,0,111,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":343,"old":332,"rank":1,"right":{"linear_Z4":[1,1,1,1,0,1,2,0,2],"matrix_rows":[303,321,322,260,328,16,288,256,128],"offset":0,"phase":0,"quadratic_rows":[111,111,47,111,0,47,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":345,"old":332,"rank":1,"right":{"linear_Z4":[1,1,1,1,0,2,1,0,2],"matrix_rows":[335,289,258,292,296,16,256,320,128],"offset":0,"phase":0,"quadratic_rows":[111,79,111,111,0,13,79,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":339,"old":333,"rank":1,"right":{"linear_Z4":[1,1,1,1,0,1,2,2,0],"matrix_rows":[175,129,194,196,136,16,224,128,256],"offset":0,"phase":0,"quadratic_rows":[47,111,111,47,0,111,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":341,"old":333,"rank":1,"right":{"linear_Z4":[1,1,1,1,0,1,2,2,0],"matrix_rows":[175,193,194,132,200,16,160,128,256],"offset":0,"phase":0,"quadratic_rows":[111,111,47,111,0,47,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":344,"old":333,"rank":1,"right":{"linear_Z4":[1,1,1,1,0,2,1,2,0],"matrix_rows":[207,161,130,164,168,16,128,192,256],"offset":0,"phase":0,"quadratic_rows":[111,79,111,111,0,13,79,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":566,"old":334,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,2,0],"matrix_rows":[137,129,2,4,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":567,"old":334,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,3,2,0],"matrix_rows":[194,1,130,4,8,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,66,0,0,0,0,66,0,0]}},{"left":{"linear_Z4":[2,3,2,2,0,0,0,0,0],"matrix_rows":[18,35,66,129,4,257,8,3,1],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":649,"old":334,"rank":4,"right":{"linear_Z4":[1,2,1,0,2,0,2,2,0],"matrix_rows":[266,15,16,64,393,130,388,256,288],"offset":12,"phase":2,"quadratic_rows":[391,389,399,388,0,0,0,15,15]}},{"left":{"linear_Z4":[2,3,3,2,0,0,0,0,0],"matrix_rows":[16,40,69,129,264,4,10,2,1],"offset":0,"phase":0,"quadratic_rows":[4,10,5,2,0,0,0,0,0]},"new":651,"old":334,"rank":4,"right":{"linear_Z4":[2,3,0,3,3,3,3,0,1],"matrix_rows":[300,192,260,82,13,194,288,256,208],"offset":93,"phase":1,"quadratic_rows":[12,146,257,41,146,40,192,82,260]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":347,"old":335,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,2,0],"matrix_rows":[137,129,2,4,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":353,"old":335,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,3,0,2,0],"matrix_rows":[164,1,2,132,8,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,36,0,0,36,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":349,"old":336,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,3,0,2,0],"matrix_rows":[164,1,2,132,8,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,36,0,0,36,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":351,"old":336,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,2,0],"matrix_rows":[137,129,2,4,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":486,"old":337,"rank":1,"right":{"linear_Z4":[0,3,0,0,3,0,0,0,2],"matrix_rows":[274,1,258,4,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":488,"old":337,"rank":1,"right":{"linear_Z4":[2,0,2,1,0,0,0,2,0],"matrix_rows":[136,1,2,12,128,16,160,64,256],"offset":91,"phase":1,"quadratic_rows":[0,0,8,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":566,"old":337,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,0,2],"matrix_rows":[265,257,2,4,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[20,44,68,131,10,259,2,3,7],"offset":0,"phase":0,"quadratic_rows":[5,14,15,14,0,0,0,0,0]},"new":648,"old":337,"rank":4,"right":{"linear_Z4":[3,2,3,0,2,0,3,0,3],"matrix_rows":[392,472,215,458,393,474,388,128,160],"offset":466,"phase":1,"quadratic_rows":[351,197,343,321,197,0,351,18,333]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":347,"old":338,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,0,2],"matrix_rows":[265,257,2,4,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":352,"old":338,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,3,0,0,2],"matrix_rows":[292,1,2,260,8,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,36,0,0,36,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":348,"old":339,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,3,0,0,2],"matrix_rows":[292,1,2,260,8,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,36,0,0,36,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":351,"old":339,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,0,2],"matrix_rows":[265,257,2,4,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":349,"old":340,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,0,2],"matrix_rows":[265,257,2,4,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":350,"old":340,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,3,0,0,2],"matrix_rows":[292,1,2,260,8,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,36,0,0,36,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":346,"old":341,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,3,0,0,2],"matrix_rows":[292,1,2,260,8,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,36,0,0,36,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":353,"old":341,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,0,2],"matrix_rows":[265,257,2,4,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":348,"old":342,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,2,0],"matrix_rows":[137,129,2,4,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":350,"old":342,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,3,0,2,0],"matrix_rows":[164,1,2,132,8,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,36,0,0,36,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":346,"old":343,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,3,0,2,0],"matrix_rows":[164,1,2,132,8,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,36,0,0,36,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":352,"old":343,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,2,0],"matrix_rows":[137,129,2,4,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":462,"old":344,"rank":1,"right":{"linear_Z4":[0,0,3,3,2,0,0,0,0],"matrix_rows":[28,1,2,20,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":463,"old":344,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,3,0,2],"matrix_rows":[322,1,258,4,8,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,66,0,0,0,0,66,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":567,"old":344,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,0,2],"matrix_rows":[265,257,2,4,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,3,0,0,0,0,0],"matrix_rows":[17,34,65,128,4,256,8,10,1],"offset":0,"phase":0,"quadratic_rows":[0,10,0,10,0,0,0,0,0]},"new":650,"old":344,"rank":4,"right":{"linear_Z4":[3,0,3,0,2,0,0,1,2],"matrix_rows":[261,2,16,192,257,128,260,8,32],"offset":39,"phase":2,"quadratic_rows":[5,128,5,0,0,0,128,194,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":463,"old":345,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,3,2,0],"matrix_rows":[194,1,130,4,8,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,66,0,0,0,0,66,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":467,"old":345,"rank":1,"right":{"linear_Z4":[3,0,3,0,2,0,0,0,0],"matrix_rows":[21,17,2,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":485,"old":345,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,2,0],"matrix_rows":[140,1,2,132,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":489,"old":345,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,2,0],"matrix_rows":[133,129,2,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":354,"old":346,"rank":1,"right":{"linear_Z4":[3,0,3,3,0,2,0,0,0],"matrix_rows":[13,289,2,292,296,16,256,64,384],"offset":1,"phase":1,"quadratic_rows":[301,0,301,301,0,13,0,0,13]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,17,32,66,3,132,2,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":688,"old":346,"rank":3,"right":{"linear_Z4":[3,3,0,0,1,0,0,0,2],"matrix_rows":[27,24,288,81,90,4,64,256,384],"offset":3,"phase":2,"quadratic_rows":[75,67,0,17,24,0,3,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[10,19,36,66,1,128,3,260,4],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":720,"old":346,"rank":3,"right":{"linear_Z4":[3,1,0,3,2,0,0,0,2],"matrix_rows":[18,9,260,83,64,256,88,32,384],"offset":3,"phase":2,"quadratic_rows":[91,3,0,89,9,0,9,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":354,"old":347,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[10,18,35,69,4,7,133,261,5],"offset":0,"phase":0,"quadratic_rows":[5,6,7,0,0,0,0,0,0]},"new":689,"old":347,"rank":3,"right":{"linear_Z4":[3,3,0,2,1,1,0,0,2],"matrix_rows":[20,23,56,297,290,60,256,320,384],"offset":221,"phase":2,"quadratic_rows":[319,311,59,37,23,47,0,0,3]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[15,19,3,36,5,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[2,5,2,0,0,0,0,0,0]},"new":721,"old":347,"rank":3,"right":{"linear_Z4":[3,0,2,3,1,2,0,0,0],"matrix_rows":[7,55,29,53,6,56,64,128,256],"offset":6,"phase":2,"quadratic_rows":[25,52,26,45,55,26,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":354,"old":348,"rank":1,"right":{"linear_Z4":[3,3,3,3,0,2,0,0,2],"matrix_rows":[271,289,258,292,296,16,256,320,128],"offset":1,"phase":1,"quadratic_rows":[47,15,47,47,0,13,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[13,16,32,68,1,130,258,4,2],"offset":0,"phase":0,"quadratic_rows":[5,0,1,0,0,0,0,0,0]},"new":696,"old":348,"rank":3,"right":{"linear_Z4":[2,2,2,0,3,1,0,3,2],"matrix_rows":[129,288,153,145,34,4,128,256,320],"offset":434,"phase":1,"quadratic_rows":[136,32,0,17,24,34,0,129,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,16,34,69,4,128,258,1,2],"offset":0,"phase":0,"quadratic_rows":[4,0,5,0,0,0,0,0,0]},"new":728,"old":348,"rank":3,"right":{"linear_Z4":[0,2,1,2,3,2,0,3,2],"matrix_rows":[153,260,136,128,6,256,152,32,320],"offset":434,"phase":1,"quadratic_rows":[24,4,6,129,17,0,0,136,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":354,"old":349,"rank":1,"right":{"linear_Z4":[3,3,3,3,0,2,0,2,0],"matrix_rows":[143,161,130,164,168,16,128,192,256],"offset":1,"phase":1,"quadratic_rows":[47,15,47,47,0,13,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[13,16,32,68,1,130,258,2,4],"offset":0,"phase":0,"quadratic_rows":[5,0,1,0,0,0,0,0,0]},"new":697,"old":349,"rank":3,"right":{"linear_Z4":[2,2,2,0,3,1,0,2,3],"matrix_rows":[257,160,281,273,34,4,256,128,192],"offset":434,"phase":1,"quadratic_rows":[264,32,0,17,24,34,0,0,257]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,16,34,69,4,128,258,2,1],"offset":0,"phase":0,"quadratic_rows":[4,0,5,0,0,0,0,0,0]},"new":729,"old":349,"rank":3,"right":{"linear_Z4":[0,2,1,2,3,2,0,2,3],"matrix_rows":[281,132,264,256,6,128,280,32,192],"offset":434,"phase":1,"quadratic_rows":[24,4,6,257,17,0,0,0,264]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":354,"old":350,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,2,0,0,2],"matrix_rows":[6,33,258,292,40,16,256,320,384],"offset":0,"phase":0,"quadratic_rows":[32,262,294,32,0,13,0,0,6]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[14,18,34,7,1,69,133,261,5],"offset":0,"phase":0,"quadratic_rows":[7,3,5,0,0,0,0,0,0]},"new":704,"old":350,"rank":3,"right":{"linear_Z4":[0,3,3,1,1,2,0,0,2],"matrix_rows":[56,23,17,57,266,300,256,320,384],"offset":245,"phase":2,"quadratic_rows":[62,287,319,47,23,13,0,0,6]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[14,16,35,71,4,5,134,262,6],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":736,"old":350,"rank":3,"right":{"linear_Z4":[2,0,3,3,2,1,0,0,1],"matrix_rows":[28,25,301,293,38,256,312,320,384],"offset":236,"phase":1,"quadratic_rows":[16,36,310,24,301,310,0,0,308]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":354,"old":351,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,2,0,0,0],"matrix_rows":[6,33,66,100,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[32,70,102,32,0,13,6,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,18,34,68,3,129,1,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":705,"old":351,"rank":3,"right":{"linear_Z4":[0,3,3,0,1,0,0,0,2],"matrix_rows":[48,54,264,1,114,84,256,64,384],"offset":3,"phase":2,"quadratic_rows":[0,70,102,0,48,20,6,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,16,38,64,134,2,4,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":737,"old":351,"rank":3,"right":{"linear_Z4":[0,2,0,0,2,2,2,0,2],"matrix_rows":[257,20,116,256,38,64,8,112,384],"offset":48,"phase":2,"quadratic_rows":[0,36,2,0,0,2,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":354,"old":352,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,2,0,0,2],"matrix_rows":[260,33,2,292,40,16,256,64,128],"offset":0,"phase":0,"quadratic_rows":[32,0,36,32,0,13,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,16,38,65,2,132,257,1,4],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":712,"old":352,"rank":3,"right":{"linear_Z4":[2,2,2,1,3,0,0,2,3],"matrix_rows":[136,260,308,1,10,276,128,256,192],"offset":345,"phase":1,"quadratic_rows":[0,8,288,10,48,20,0,0,260]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,17,34,65,130,4,1,256,6],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":744,"old":352,"rank":3,"right":{"linear_Z4":[3,2,0,3,3,2,0,0,3],"matrix_rows":[9,308,288,67,64,256,72,304,128],"offset":35,"phase":1,"quadratic_rows":[75,1,48,73,20,260,9,0,288]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":354,"old":353,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,2,0,2,0],"matrix_rows":[132,33,2,164,40,16,128,64,256],"offset":0,"phase":0,"quadratic_rows":[32,0,36,32,0,13,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,16,38,65,2,132,257,4,1],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":713,"old":353,"rank":3,"right":{"linear_Z4":[2,2,2,1,3,0,0,3,2],"matrix_rows":[264,132,180,1,10,148,256,128,320],"offset":345,"phase":1,"quadratic_rows":[0,8,160,10,48,20,0,132,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,17,34,65,130,4,1,6,256],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":745,"old":353,"rank":3,"right":{"linear_Z4":[3,2,0,3,3,2,0,3,0],"matrix_rows":[9,180,160,67,64,128,72,176,256],"offset":35,"phase":1,"quadratic_rows":[75,1,48,73,20,132,9,160,0]}},{"left":{"linear_Z4":[2,3,3,2,2,0,0,0,0],"matrix_rows":[33,66,132,8,16,13,11,265,9],"offset":0,"phase":0,"quadratic_rows":[6,11,13,6,0,0,0,0,0]},"new":1,"old":354,"rank":5,"right":{"linear_Z4":[2,0,0,2,2,0,0,0,0],"matrix_rows":[353,258,260,104,16,256,320,288,384],"offset":254,"phase":1,"quadratic_rows":[96,64,32,96,0,13,11,0,0]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[24,34,68,137,1,13,11,265,9],"offset":0,"phase":0,"quadratic_rows":[15,11,13,15,0,0,0,0,0]},"new":415,"old":354,"rank":4,"right":{"linear_Z4":[1,0,0,3,0,2,2,0,1],"matrix_rows":[376,258,260,113,281,320,288,256,384],"offset":102,"phase":0,"quadratic_rows":[361,64,32,361,0,13,11,0,265]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,34,77,8,4,137,11,265,9],"offset":0,"phase":0,"quadratic_rows":[15,11,13,15,0,0,0,0,0]},"new":416,"old":354,"rank":4,"right":{"linear_Z4":[0,0,1,0,2,0,0,0,1],"matrix_rows":[341,258,260,92,256,320,276,288,384],"offset":51,"phase":0,"quadratic_rows":[84,64,285,84,13,0,11,0,260]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,43,68,8,2,13,137,265,9],"offset":0,"phase":0,"quadratic_rows":[15,11,13,15,0,0,0,0,0]},"new":417,"old":354,"rank":4,"right":{"linear_Z4":[0,1,0,0,2,0,0,0,1],"matrix_rows":[307,258,260,58,256,274,288,320,384],"offset":85,"phase":0,"quadratic_rows":[50,283,32,50,11,13,0,0,258]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[24,35,69,137,1,12,10,265,9],"offset":0,"phase":0,"quadratic_rows":[15,11,13,15,0,0,0,0,0]},"new":418,"old":354,"rank":4,"right":{"linear_Z4":[1,1,1,3,0,2,2,0,1],"matrix_rows":[382,258,260,119,287,320,288,256,384],"offset":102,"phase":0,"quadratic_rows":[361,86,54,361,6,13,11,0,265]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":363,"old":355,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":364,"old":355,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,2,0,0,0],"matrix_rows":[49,33,2,4,8,48,64,128,256],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":365,"old":355,"rank":1,"right":{"linear_Z4":[0,0,3,3,2,0,0,0,0],"matrix_rows":[28,1,2,20,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":366,"old":356,"rank":1,"right":{"linear_Z4":[0,1,0,1,1,2,1,1,2],"matrix_rows":[474,33,258,36,296,272,256,320,384],"offset":0,"phase":0,"quadratic_rows":[32,218,32,250,218,13,218,218,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":367,"old":356,"rank":1,"right":{"linear_Z4":[0,1,0,1,1,1,2,1,2],"matrix_rows":[442,1,258,4,328,336,352,256,384],"offset":0,"phase":0,"quadratic_rows":[0,186,0,250,250,250,56,186,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":368,"old":356,"rank":1,"right":{"linear_Z4":[0,1,0,1,1,1,2,1,2],"matrix_rows":[442,65,258,68,264,336,288,256,384],"offset":0,"phase":0,"quadratic_rows":[64,186,64,186,250,186,21,186,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":366,"old":357,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":369,"old":357,"rank":1,"right":{"linear_Z4":[1,1,1,0,1,0,2,1,2],"matrix_rows":[407,321,258,324,8,336,32,256,384],"offset":0,"phase":0,"quadratic_rows":[215,151,215,0,215,0,21,151,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":370,"old":357,"rank":1,"right":{"linear_Z4":[1,1,1,0,1,0,2,1,2],"matrix_rows":[407,257,258,260,72,336,96,256,384],"offset":0,"phase":0,"quadratic_rows":[151,151,151,64,215,64,56,151,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":363,"old":358,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,2,2,0,0],"matrix_rows":[68,33,2,100,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[32,0,36,32,0,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":371,"old":358,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,2,0,0],"matrix_rows":[100,33,2,68,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[32,0,36,0,32,21,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":372,"old":358,"rank":1,"right":{"linear_Z4":[0,0,3,3,2,0,0,0,0],"matrix_rows":[28,1,2,20,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":367,"old":359,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":369,"old":359,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":373,"old":359,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":364,"old":360,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,2,0,0],"matrix_rows":[73,65,2,4,72,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":371,"old":360,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":374,"old":360,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,2,0,0,0],"matrix_rows":[49,33,2,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[17,0,16,16,13,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":365,"old":361,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,2,0,0],"matrix_rows":[73,65,2,4,72,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":372,"old":361,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,3,2,0,0],"matrix_rows":[100,1,2,68,8,16,96,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,36,0,0,36,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":374,"old":361,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":368,"old":362,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":370,"old":362,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":373,"old":362,"rank":1,"right":{"linear_Z4":[1,1,1,1,0,2,0,1,2],"matrix_rows":[399,289,258,292,296,16,256,64,384],"offset":0,"phase":0,"quadratic_rows":[175,143,175,175,0,13,0,143,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":568,"old":363,"rank":1,"right":{"linear_Z4":[0,1,1,1,1,0,0,1,2],"matrix_rows":[158,1,258,260,264,272,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,414,414,414,414,0,0,414,158]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":569,"old":363,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,0,3,2],"matrix_rows":[386,1,258,4,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,130,0,0,0,0,0,130,0]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[19,45,67,131,6,259,3,10,2],"offset":0,"phase":0,"quadratic_rows":[15,15,15,15,0,0,0,0,0]},"new":653,"old":363,"rank":4,"right":{"linear_Z4":[2,3,2,2,3,0,3,3,0],"matrix_rows":[415,469,458,346,73,474,68,64,96],"offset":466,"phase":1,"quadratic_rows":[2,215,10,212,218,0,218,218,0]}},{"left":{"linear_Z4":[2,3,3,2,0,0,0,0,0],"matrix_rows":[16,40,69,129,264,4,1,10,2],"offset":0,"phase":0,"quadratic_rows":[4,10,5,2,0,0,0,0,0]},"new":655,"old":363,"rank":4,"right":{"linear_Z4":[2,3,0,3,3,3,1,3,0],"matrix_rows":[108,384,68,146,13,386,96,64,400],"offset":93,"phase":1,"quadratic_rows":[12,274,65,41,274,40,68,384,146]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":376,"old":364,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,0,3,2],"matrix_rows":[386,1,258,4,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,130,0,0,0,0,0,130,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":382,"old":364,"rank":1,"right":{"linear_Z4":[0,1,1,1,1,0,0,1,2],"matrix_rows":[158,1,258,260,264,272,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,414,414,414,414,0,0,414,158]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":378,"old":365,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,0,3,2],"matrix_rows":[386,1,258,4,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,130,0,0,0,0,0,130,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":380,"old":365,"rank":1,"right":{"linear_Z4":[3,3,3,3,0,3,0,3,2],"matrix_rows":[431,257,258,260,264,16,288,64,384],"offset":1,"phase":1,"quadratic_rows":[175,175,175,175,0,175,0,175,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":508,"old":366,"rank":1,"right":{"linear_Z4":[3,3,1,2,1,0,3,3,2],"matrix_rows":[455,257,258,276,24,256,32,320,384],"offset":57,"phase":0,"quadratic_rows":[199,199,215,16,28,0,199,199,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":512,"old":366,"rank":1,"right":{"linear_Z4":[3,0,3,2,0,0,0,0,0],"matrix_rows":[5,33,2,44,32,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[37,0,45,4,0,5,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":568,"old":366,"rank":1,"right":{"linear_Z4":[1,3,3,2,3,0,1,3,2],"matrix_rows":[407,321,258,260,72,272,32,256,384],"offset":147,"phase":0,"quadratic_rows":[215,151,151,64,151,0,73,151,0]}},{"left":{"linear_Z4":[2,3,2,3,0,0,0,0,0],"matrix_rows":[20,34,68,129,8,1,261,5,15],"offset":0,"phase":0,"quadratic_rows":[14,15,11,15,0,0,0,0,0]},"new":652,"old":366,"rank":4,"right":{"linear_Z4":[1,0,1,0,0,0,2,2,3],"matrix_rows":[328,2,333,272,169,256,164,32,192],"offset":34,"phase":0,"quadratic_rows":[485,256,493,132,256,5,133,77,279]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":376,"old":367,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,3,0,0,0],"matrix_rows":[24,33,2,4,72,112,64,128,256],"offset":1,"phase":1,"quadratic_rows":[32,0,0,88,120,49,24,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":381,"old":367,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,3,0,0,0],"matrix_rows":[40,1,2,20,88,64,96,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,16,120,28,104,40,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":377,"old":368,"rank":1,"right":{"linear_Z4":[1,3,3,3,2,1,0,3,2],"matrix_rows":[399,289,258,260,264,48,256,64,384],"offset":99,"phase":0,"quadratic_rows":[175,143,143,143,32,49,0,143,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":380,"old":368,"rank":1,"right":{"linear_Z4":[3,0,3,0,3,0,0,0,0],"matrix_rows":[5,65,2,84,24,64,32,128,256],"offset":1,"phase":1,"quadratic_rows":[69,0,85,16,28,0,5,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":378,"old":369,"rank":1,"right":{"linear_Z4":[3,0,3,0,3,0,0,0,0],"matrix_rows":[5,65,2,84,24,64,32,128,256],"offset":1,"phase":1,"quadratic_rows":[69,0,85,16,28,0,5,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":379,"old":369,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,2,0,0,0],"matrix_rows":[49,33,2,4,8,48,64,128,256],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":375,"old":370,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,3,0,0,0],"matrix_rows":[40,1,2,20,88,64,96,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,16,120,28,104,40,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":382,"old":370,"rank":1,"right":{"linear_Z4":[0,1,1,2,2,0,0,1,2],"matrix_rows":[166,33,258,260,8,48,256,320,384],"offset":240,"phase":0,"quadratic_rows":[32,422,422,0,32,407,0,422,166]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":377,"old":371,"rank":1,"right":{"linear_Z4":[0,1,1,1,1,0,0,1,2],"matrix_rows":[158,1,258,260,264,272,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,414,414,414,414,0,0,414,158]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":379,"old":371,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,0,3,2],"matrix_rows":[386,1,258,4,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,130,0,0,0,0,0,130,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":375,"old":372,"rank":1,"right":{"linear_Z4":[3,3,3,3,0,3,0,3,2],"matrix_rows":[431,257,258,260,264,16,288,64,384],"offset":1,"phase":1,"quadratic_rows":[175,175,175,175,0,175,0,175,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":381,"old":372,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,0,3,2],"matrix_rows":[386,1,258,4,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,130,0,0,0,0,0,130,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":465,"old":373,"rank":1,"right":{"linear_Z4":[0,0,3,3,2,0,0,0,0],"matrix_rows":[28,1,2,20,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":470,"old":373,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,0,0],"matrix_rows":[2,1,66,4,8,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,66,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":569,"old":373,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,2,0,0],"matrix_rows":[73,65,2,4,72,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,2,0,0,0,0,0],"matrix_rows":[20,42,68,129,2,1,5,264,8],"offset":0,"phase":0,"quadratic_rows":[4,10,1,2,0,0,0,0,0]},"new":654,"old":373,"rank":4,"right":{"linear_Z4":[3,2,3,0,3,0,1,0,3],"matrix_rows":[72,258,77,402,105,274,100,32,256],"offset":5,"phase":2,"quadratic_rows":[37,384,45,68,144,5,72,18,258]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":462,"old":374,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,3,2,0],"matrix_rows":[194,1,130,4,8,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,66,0,0,0,0,66,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":465,"old":374,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,0,3,2],"matrix_rows":[386,1,258,4,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,130,0,0,0,0,0,130,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":507,"old":374,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,2,0],"matrix_rows":[140,1,2,132,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":508,"old":374,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,1,1,2],"matrix_rows":[203,257,258,4,264,16,32,320,384],"offset":0,"phase":0,"quadratic_rows":[459,459,0,459,0,0,459,459,203]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":383,"old":375,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,2,0,3,0],"matrix_rows":[134,33,258,292,40,16,256,320,384],"offset":1,"phase":1,"quadratic_rows":[32,390,422,32,0,13,0,390,134]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,21,37,64,133,2,263,1,6],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":690,"old":375,"rank":3,"right":{"linear_Z4":[2,2,0,0,0,2,0,1,2],"matrix_rows":[166,32,294,133,290,256,40,272,320],"offset":40,"phase":2,"quadratic_rows":[132,160,1,32,0,138,0,163,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,2,20,35,68,131,4,263,7],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":730,"old":375,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,1,2],"matrix_rows":[489,170,196,320,64,328,80,352,384],"offset":9,"phase":0,"quadratic_rows":[168,168,128,3,0,3,0,135,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":383,"old":376,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,2,0,0,0],"matrix_rows":[49,33,2,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[17,0,16,16,13,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,18,34,64,129,1,256,4,6],"offset":0,"phase":0,"quadratic_rows":[0,4,6,0,0,0,0,0,0]},"new":691,"old":376,"rank":3,"right":{"linear_Z4":[1,0,3,2,1,2,0,2,3],"matrix_rows":[33,390,384,49,256,388,24,32,64],"offset":219,"phase":0,"quadratic_rows":[17,132,6,16,25,0,0,258,384]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[9,18,2,32,68,5,1,128,256],"offset":0,"phase":0,"quadratic_rows":[4,2,5,0,0,0,0,0,0]},"new":731,"old":376,"rank":3,"right":{"linear_Z4":[0,1,2,2,1,1,2,0,0],"matrix_rows":[33,2,80,64,6,24,96,128,256],"offset":100,"phase":3,"quadratic_rows":[96,6,2,16,56,113,33,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":383,"old":377,"rank":1,"right":{"linear_Z4":[0,1,0,3,3,0,0,1,2],"matrix_rows":[394,1,258,20,280,256,288,320,384],"offset":240,"phase":2,"quadratic_rows":[0,138,16,154,28,0,0,138,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[14,18,38,4,65,129,1,263,7],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":698,"old":377,"rank":3,"right":{"linear_Z4":[2,0,2,0,1,0,0,3,2],"matrix_rows":[208,471,157,337,320,324,64,96,384],"offset":0,"phase":0,"quadratic_rows":[26,149,10,149,155,0,0,154,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,21,35,64,133,5,262,4,2],"offset":0,"phase":0,"quadratic_rows":[7,5,3,0,0,0,0,0,0]},"new":722,"old":377,"rank":3,"right":{"linear_Z4":[0,2,1,0,1,0,0,3,2],"matrix_rows":[274,292,438,21,38,288,152,32,320],"offset":403,"phase":3,"quadratic_rows":[20,128,389,144,25,384,0,430,164]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":383,"old":378,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[8,18,33,68,5,2,4,128,256],"offset":0,"phase":0,"quadratic_rows":[5,2,1,0,0,0,0,0,0]},"new":699,"old":378,"rank":3,"right":{"linear_Z4":[2,1,1,0,1,2,2,0,0],"matrix_rows":[68,2,24,5,34,80,64,128,256],"offset":41,"phase":3,"quadratic_rows":[4,34,21,80,92,2,24,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,18,33,65,1,130,256,4,6],"offset":0,"phase":0,"quadratic_rows":[0,4,6,0,0,0,0,0,0]},"new":723,"old":378,"rank":3,"right":{"linear_Z4":[2,0,3,1,2,3,0,2,3],"matrix_rows":[28,418,384,5,256,16,24,416,64],"offset":58,"phase":2,"quadratic_rows":[4,160,13,12,0,34,0,258,384]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":383,"old":379,"rank":1,"right":{"linear_Z4":[0,0,0,1,3,0,2,0,0],"matrix_rows":[8,1,2,20,88,64,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,16,88,28,0,8,0,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[8,18,37,2,65,1,4,128,256],"offset":0,"phase":0,"quadratic_rows":[4,2,5,0,0,0,0,0,0]},"new":714,"old":379,"rank":3,"right":{"linear_Z4":[2,1,0,2,3,1,3,0,0],"matrix_rows":[116,2,36,21,10,96,32,128,256],"offset":45,"phase":0,"quadratic_rows":[20,10,33,2,81,36,80,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,18,33,66,129,256,1,4,6],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":738,"old":379,"rank":3,"right":{"linear_Z4":[3,0,2,3,3,0,0,2,3],"matrix_rows":[17,394,384,69,256,64,392,80,32],"offset":19,"phase":1,"quadratic_rows":[85,136,1,10,81,0,17,258,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":383,"old":380,"rank":1,"right":{"linear_Z4":[1,1,1,1,0,2,0,1,2],"matrix_rows":[399,289,258,292,296,16,256,64,384],"offset":0,"phase":0,"quadratic_rows":[175,143,175,175,0,13,0,143,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[13,17,37,66,130,4,2,263,7],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":715,"old":380,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,1,2],"matrix_rows":[455,200,165,321,320,324,64,80,384],"offset":17,"phase":0,"quadratic_rows":[34,133,34,128,0,133,0,170,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[8,16,33,64,129,6,256,2,5],"offset":0,"phase":0,"quadratic_rows":[4,6,7,0,0,0,0,0,0]},"new":739,"old":380,"rank":3,"right":{"linear_Z4":[0,0,2,2,0,2,0,1,3],"matrix_rows":[260,160,288,5,6,256,168,272,64],"offset":224,"phase":1,"quadratic_rows":[4,4,3,160,0,264,0,136,288]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":383,"old":381,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,2,2,0,0],"matrix_rows":[68,33,2,100,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[32,0,36,32,0,13,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[10,18,36,64,128,260,4,1,3],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":706,"old":381,"rank":3,"right":{"linear_Z4":[3,0,1,2,0,3,2,2,3],"matrix_rows":[384,387,100,385,256,68,40,16,64],"offset":338,"phase":2,"quadratic_rows":[3,129,36,32,0,44,0,258,384]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,17,34,64,130,4,6,257,1],"offset":0,"phase":0,"quadratic_rows":[0,4,6,0,0,0,0,0,0]},"new":746,"old":381,"rank":3,"right":{"linear_Z4":[2,3,2,2,0,1,3,1,2],"matrix_rows":[386,68,96,3,256,64,40,80,384],"offset":248,"phase":3,"quadratic_rows":[2,131,0,32,0,104,96,130,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":383,"old":382,"rank":1,"right":{"linear_Z4":[3,1,0,0,2,0,0,1,2],"matrix_rows":[147,257,258,20,24,256,288,64,384],"offset":98,"phase":1,"quadratic_rows":[403,403,16,16,399,0,0,403,147]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,16,37,64,131,3,256,1,7],"offset":0,"phase":0,"quadratic_rows":[2,5,6,0,0,0,0,0,0]},"new":707,"old":382,"rank":3,"right":{"linear_Z4":[0,0,2,0,2,1,0,1,3],"matrix_rows":[180,272,36,149,18,288,24,32,64],"offset":1,"phase":1,"quadratic_rows":[148,16,289,16,267,420,0,161,308]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,4,39,71,129,1,262,6],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":747,"old":382,"rank":3,"right":{"linear_Z4":[2,0,0,3,3,0,2,0,2],"matrix_rows":[89,410,156,64,256,328,336,96,384],"offset":19,"phase":1,"quadratic_rows":[24,152,152,31,31,0,0,6,0]}},{"left":{"linear_Z4":[2,3,2,3,3,0,0,0,0],"matrix_rows":[33,66,132,264,12,13,9,16,18],"offset":0,"phase":0,"quadratic_rows":[4,18,1,8,18,0,0,0,0]},"new":1,"old":383,"rank":5,"right":{"linear_Z4":[0,0,0,2,1,0,1,0,1],"matrix_rows":[81,2,84,8,384,48,256,96,112],"offset":239,"phase":1,"quadratic_rows":[96,256,48,112,92,13,89,256,386]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[20,34,68,129,261,5,1,8,10],"offset":0,"phase":0,"quadratic_rows":[1,10,4,10,0,0,0,0,0]},"new":415,"old":383,"rank":4,"right":{"linear_Z4":[1,0,2,2,0,2,2,0,1],"matrix_rows":[8,2,13,384,105,256,96,64,48],"offset":99,"phase":0,"quadratic_rows":[101,256,105,36,0,13,5,256,386]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,34,65,132,4,261,5,8,10],"offset":0,"phase":0,"quadratic_rows":[1,10,4,10,0,0,0,0,0]},"new":416,"old":383,"rank":4,"right":{"linear_Z4":[2,0,1,2,2,0,2,0,1],"matrix_rows":[5,2,8,384,80,256,84,16,96],"offset":54,"phase":0,"quadratic_rows":[84,256,85,16,13,0,5,256,386]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[18,33,66,132,262,6,4,8,9],"offset":0,"phase":0,"quadratic_rows":[9,2,4,9,0,0,0,0,0]},"new":419,"old":383,"rank":4,"right":{"linear_Z4":[1,0,2,2,0,2,2,0,1],"matrix_rows":[2,5,8,384,97,256,96,64,48],"offset":101,"phase":0,"quadratic_rows":[101,256,97,64,0,5,13,256,386]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,34,65,132,4,261,5,8,10],"offset":0,"phase":0,"quadratic_rows":[1,10,4,10,0,0,0,0,0]},"new":420,"old":383,"rank":4,"right":{"linear_Z4":[2,0,1,2,2,0,2,0,1],"matrix_rows":[13,2,8,384,80,256,92,16,96],"offset":54,"phase":0,"quadratic_rows":[92,256,85,65,5,0,13,256,386]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":392,"old":384,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":393,"old":384,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":394,"old":384,"rank":1,"right":{"linear_Z4":[0,1,0,0,2,0,0,2,0],"matrix_rows":[130,1,146,20,24,128,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,18,16,16,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":395,"old":385,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,2,0,0,2],"matrix_rows":[257,289,2,36,40,16,256,64,128],"offset":0,"phase":0,"quadratic_rows":[33,0,32,32,0,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":396,"old":385,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,2,0,0,2],"matrix_rows":[257,289,34,4,8,48,256,64,128],"offset":0,"phase":0,"quadratic_rows":[33,32,0,0,32,19,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":397,"old":385,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":395,"old":386,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":398,"old":386,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":399,"old":386,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":392,"old":387,"rank":1,"right":{"linear_Z4":[1,1,1,1,1,2,0,2,0],"matrix_rows":[159,161,130,164,168,144,128,64,256],"offset":0,"phase":0,"quadratic_rows":[63,31,63,63,31,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":400,"old":387,"rank":1,"right":{"linear_Z4":[1,1,1,1,2,1,0,2,0],"matrix_rows":[175,129,146,148,152,128,160,64,256],"offset":0,"phase":0,"quadratic_rows":[47,63,63,63,14,47,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":401,"old":387,"rank":1,"right":{"linear_Z4":[1,1,1,1,1,2,0,2,0],"matrix_rows":[159,161,162,132,136,176,128,64,256],"offset":0,"phase":0,"quadratic_rows":[63,63,31,31,63,19,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":396,"old":388,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":398,"old":388,"rank":1,"right":{"linear_Z4":[0,1,0,0,2,0,0,0,2],"matrix_rows":[258,1,274,20,24,256,32,64,128],"offset":0,"phase":0,"quadratic_rows":[0,18,16,16,14,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":402,"old":388,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":393,"old":389,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,2,0,2,0],"matrix_rows":[129,161,34,4,8,48,128,64,256],"offset":0,"phase":0,"quadratic_rows":[33,32,0,0,32,19,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":400,"old":389,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":403,"old":389,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,2,0,2,0],"matrix_rows":[129,161,2,36,40,16,128,64,256],"offset":0,"phase":0,"quadratic_rows":[33,0,32,32,0,13,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":394,"old":390,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":401,"old":390,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":403,"old":390,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":397,"old":391,"rank":1,"right":{"linear_Z4":[1,1,1,1,2,1,0,0,2],"matrix_rows":[303,257,274,276,280,256,288,64,128],"offset":0,"phase":0,"quadratic_rows":[47,63,63,63,14,47,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":399,"old":391,"rank":1,"right":{"linear_Z4":[1,1,1,1,1,2,0,0,2],"matrix_rows":[287,289,290,260,264,304,256,64,128],"offset":0,"phase":0,"quadratic_rows":[63,63,31,31,63,19,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":402,"old":391,"rank":1,"right":{"linear_Z4":[1,1,1,1,1,2,0,0,2],"matrix_rows":[287,289,258,292,296,272,256,64,128],"offset":0,"phase":0,"quadratic_rows":[63,31,63,63,31,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":570,"old":392,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,0,2],"matrix_rows":[268,1,2,260,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":571,"old":392,"rank":1,"right":{"linear_Z4":[0,3,0,0,3,0,0,0,2],"matrix_rows":[274,1,258,4,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[2,3,3,2,0,0,0,0,0],"matrix_rows":[17,34,64,129,4,256,8,6,1],"offset":0,"phase":0,"quadratic_rows":[0,6,6,0,0,0,0,0,0]},"new":657,"old":392,"rank":4,"right":{"linear_Z4":[3,0,0,3,0,0,2,1,2],"matrix_rows":[265,2,144,64,257,128,4,264,32],"offset":43,"phase":2,"quadratic_rows":[9,128,0,9,128,0,0,146,0]}},{"left":{"linear_Z4":[2,2,3,2,0,0,0,0,0],"matrix_rows":[20,40,69,132,266,5,1,10,2],"offset":0,"phase":0,"quadratic_rows":[0,0,4,0,0,0,0,0,0]},"new":659,"old":392,"rank":4,"right":{"linear_Z4":[3,1,1,3,3,0,2,2,0],"matrix_rows":[68,272,9,386,101,402,32,104,128],"offset":5,"phase":2,"quadratic_rows":[109,18,5,105,18,9,9,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":405,"old":393,"rank":1,"right":{"linear_Z4":[0,3,0,0,3,0,0,0,2],"matrix_rows":[274,1,258,4,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":411,"old":393,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,0,2],"matrix_rows":[268,1,2,260,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":407,"old":394,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,0,2],"matrix_rows":[268,1,2,260,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":409,"old":394,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,3,0,0,2],"matrix_rows":[289,257,2,4,8,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[33,0,0,0,0,33,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":511,"old":395,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,2,0],"matrix_rows":[140,1,2,132,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":513,"old":395,"rank":1,"right":{"linear_Z4":[3,1,3,0,0,0,0,0,2],"matrix_rows":[15,257,266,268,256,16,288,64,128],"offset":90,"phase":0,"quadratic_rows":[271,263,263,257,0,0,0,0,15]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":570,"old":395,"rank":1,"right":{"linear_Z4":[0,3,0,0,3,0,0,2,0],"matrix_rows":[146,1,130,4,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,2,0,0,0,0,0],"matrix_rows":[16,40,69,1,138,260,10,2,4],"offset":0,"phase":0,"quadratic_rows":[5,0,1,0,0,0,0,0,0]},"new":656,"old":395,"rank":4,"right":{"linear_Z4":[2,3,0,3,2,0,2,0,1],"matrix_rows":[268,144,260,210,13,194,256,80,288],"offset":95,"phase":2,"quadratic_rows":[12,18,257,265,2,0,0,0,268]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":405,"old":396,"rank":1,"right":{"linear_Z4":[0,3,0,0,3,0,0,2,0],"matrix_rows":[146,1,130,4,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":410,"old":396,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,2,0],"matrix_rows":[140,1,2,132,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":406,"old":397,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,3,0,2,0],"matrix_rows":[161,129,2,4,8,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[33,0,0,0,0,33,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":409,"old":397,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,2,0],"matrix_rows":[140,1,2,132,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":407,"old":398,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,2,0],"matrix_rows":[140,1,2,132,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":408,"old":398,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,3,0,2,0],"matrix_rows":[161,129,2,4,8,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[33,0,0,0,0,33,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":404,"old":399,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,2,0],"matrix_rows":[140,1,2,132,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":411,"old":399,"rank":1,"right":{"linear_Z4":[0,3,0,0,3,0,0,2,0],"matrix_rows":[146,1,130,4,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":406,"old":400,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,3,0,0,2],"matrix_rows":[289,257,2,4,8,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[33,0,0,0,0,33,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":408,"old":400,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,0,2],"matrix_rows":[268,1,2,260,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":404,"old":401,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,0,2],"matrix_rows":[268,1,2,260,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":410,"old":401,"rank":1,"right":{"linear_Z4":[0,3,0,0,3,0,0,0,2],"matrix_rows":[274,1,258,4,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":486,"old":402,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,2,0],"matrix_rows":[137,129,2,4,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":487,"old":402,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,0,0],"matrix_rows":[2,1,66,4,8,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,66,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":571,"old":402,"rank":1,"right":{"linear_Z4":[0,3,0,0,3,0,0,2,0],"matrix_rows":[146,1,130,4,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[3,3,3,2,0,0,0,0,0],"matrix_rows":[16,34,69,1,128,4,8,2,256],"offset":0,"phase":0,"quadratic_rows":[5,2,5,0,0,0,0,0,0]},"new":658,"old":402,"rank":4,"right":{"linear_Z4":[2,1,0,3,0,3,2,2,0],"matrix_rows":[44,2,4,64,13,130,32,16,256],"offset":93,"phase":1,"quadratic_rows":[12,130,1,41,0,40,0,2,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":485,"old":403,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,3,0,2],"matrix_rows":[322,1,258,4,8,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,66,0,0,0,0,66,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":490,"old":403,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,0,3,0,2],"matrix_rows":[336,1,2,4,8,272,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,80,0,80,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":507,"old":403,"rank":1,"right":{"linear_Z4":[0,0,3,3,2,0,0,0,0],"matrix_rows":[28,1,2,20,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":511,"old":403,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,0,2],"matrix_rows":[268,1,2,260,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":412,"old":404,"rank":1,"right":{"linear_Z4":[3,3,0,0,2,0,0,0,0],"matrix_rows":[3,33,50,20,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[35,51,16,16,14,3,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,34,4,65,128,1,262,6],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":589,"old":404,"rank":3,"right":{"linear_Z4":[0,3,0,0,3,0,2,0,2],"matrix_rows":[82,260,8,1,66,256,80,32,384],"offset":35,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[8,19,32,64,1,2,4,128,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":637,"old":404,"rank":3,"right":{"linear_Z4":[2,0,0,0,3,3,2,0,0],"matrix_rows":[50,2,64,19,32,4,8,128,256],"offset":31,"phase":1,"quadratic_rows":[18,1,0,0,49,48,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":412,"old":405,"rank":1,"right":{"linear_Z4":[1,1,0,0,2,0,0,0,2],"matrix_rows":[3,257,274,20,24,256,288,64,384],"offset":0,"phase":0,"quadratic_rows":[259,275,16,16,14,0,0,0,3]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[11,19,36,6,67,131,2,259,3],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":591,"old":405,"rank":3,"right":{"linear_Z4":[2,2,1,1,0,0,2,0,2],"matrix_rows":[3,75,84,257,274,92,256,288,384],"offset":218,"phase":1,"quadratic_rows":[328,344,12,31,10,0,3,0,3]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,17,35,3,66,130,4,258,2],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":639,"old":405,"rank":3,"right":{"linear_Z4":[1,1,0,2,2,0,2,0,2],"matrix_rows":[23,20,64,265,282,12,256,288,384],"offset":6,"phase":2,"quadratic_rows":[287,271,11,23,9,0,0,0,3]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":412,"old":406,"rank":1,"right":{"linear_Z4":[3,0,3,3,0,2,0,0,0],"matrix_rows":[13,289,2,292,296,16,256,64,384],"offset":1,"phase":1,"quadratic_rows":[301,0,301,301,0,13,0,0,13]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[8,16,35,1,2,64,4,128,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":605,"old":406,"rank":3,"right":{"linear_Z4":[0,2,0,3,3,0,2,0,0],"matrix_rows":[28,4,64,1,14,16,32,128,256],"offset":55,"phase":1,"quadratic_rows":[0,12,2,26,24,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,16,34,66,128,4,2,261,5],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":621,"old":406,"rank":3,"right":{"linear_Z4":[0,0,3,3,0,0,2,0,2],"matrix_rows":[257,76,32,256,2,68,72,16,384],"offset":11,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":412,"old":407,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[11,17,33,66,130,3,4,258,2],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":607,"old":407,"rank":3,"right":{"linear_Z4":[0,1,1,2,0,2,2,0,2],"matrix_rows":[15,9,64,33,290,300,256,272,384],"offset":6,"phase":2,"quadratic_rows":[38,303,295,34,0,15,0,0,6]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[12,19,35,67,131,5,1,259,3],"offset":0,"phase":0,"quadratic_rows":[5,2,5,0,0,0,0,0,0]},"new":623,"old":407,"rank":3,"right":{"linear_Z4":[1,2,2,0,0,1,2,0,2],"matrix_rows":[102,6,73,105,258,268,256,272,384],"offset":241,"phase":1,"quadratic_rows":[33,352,360,36,0,47,6,0,6]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":412,"old":408,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,2,0,2,0],"matrix_rows":[129,161,2,36,40,16,128,64,256],"offset":0,"phase":0,"quadratic_rows":[33,0,32,32,0,13,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,16,38,2,68,129,1,256,4],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":613,"old":408,"rank":3,"right":{"linear_Z4":[3,2,0,3,0,3,2,0,1],"matrix_rows":[97,268,260,65,14,256,272,96,128],"offset":55,"phase":1,"quadratic_rows":[33,12,258,266,0,33,0,0,268]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,16,32,64,128,2,4,3,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":629,"old":408,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,2,1,0],"matrix_rows":[1,160,64,128,2,4,8,16,256],"offset":13,"phase":1,"quadratic_rows":[128,0,0,0,0,128,0,161,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":412,"old":409,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,2,0,0,2],"matrix_rows":[257,289,2,36,40,16,256,64,128],"offset":0,"phase":0,"quadratic_rows":[33,0,32,32,0,13,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,16,38,2,68,129,1,4,256],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":615,"old":409,"rank":3,"right":{"linear_Z4":[3,2,0,3,0,3,2,1,0],"matrix_rows":[97,140,132,65,14,128,144,96,256],"offset":55,"phase":1,"quadratic_rows":[33,12,130,138,0,33,0,140,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,16,32,64,128,2,4,256,3],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":631,"old":409,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,1],"matrix_rows":[1,288,64,256,2,4,8,16,128],"offset":13,"phase":1,"quadratic_rows":[256,0,0,0,0,256,0,0,289]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":412,"old":410,"rank":1,"right":{"linear_Z4":[3,3,3,3,2,0,0,0,2],"matrix_rows":[271,257,274,276,280,256,288,64,128],"offset":1,"phase":1,"quadratic_rows":[15,31,31,31,14,0,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[8,16,33,2,64,128,4,3,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":597,"old":410,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,2,1,0],"matrix_rows":[4,136,64,1,2,128,16,32,256],"offset":37,"phase":1,"quadratic_rows":[0,0,128,128,0,0,0,140,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,19,36,68,1,130,4,256,2],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":645,"old":410,"rank":3,"right":{"linear_Z4":[2,0,3,3,3,0,2,0,1],"matrix_rows":[274,258,76,19,256,68,72,288,128],"offset":31,"phase":1,"quadratic_rows":[18,257,12,12,273,0,0,0,274]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":412,"old":411,"rank":1,"right":{"linear_Z4":[3,3,3,3,2,0,0,2,0],"matrix_rows":[143,129,146,148,152,128,160,64,256],"offset":1,"phase":1,"quadratic_rows":[15,31,31,31,14,0,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[8,16,33,2,64,128,4,256,3],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":599,"old":411,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,1],"matrix_rows":[4,264,64,1,2,256,16,32,128],"offset":37,"phase":1,"quadratic_rows":[0,0,256,256,0,0,0,0,268]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,19,36,68,1,130,4,2,256],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":647,"old":411,"rank":3,"right":{"linear_Z4":[2,0,3,3,3,0,2,1,0],"matrix_rows":[146,130,76,19,128,68,72,160,256],"offset":31,"phase":1,"quadratic_rows":[18,129,12,12,145,0,0,146,0]}},{"left":{"linear_Z4":[3,3,2,2,2,0,0,0,0],"matrix_rows":[33,66,132,8,14,13,16,268,12],"offset":0,"phase":0,"quadratic_rows":[13,14,3,3,0,0,0,0,0]},"new":1,"old":412,"rank":5,"right":{"linear_Z4":[0,0,2,2,0,0,2,0,0],"matrix_rows":[257,258,308,56,64,288,272,256,384],"offset":251,"phase":1,"quadratic_rows":[32,16,48,48,14,13,0,0,0]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,46,68,8,140,13,2,268,12],"offset":0,"phase":0,"quadratic_rows":[13,14,15,15,0,0,0,0,0]},"new":417,"old":412,"rank":4,"right":{"linear_Z4":[0,1,0,0,0,0,2,0,1],"matrix_rows":[257,258,358,106,288,322,256,272,384],"offset":85,"phase":0,"quadratic_rows":[32,334,98,98,0,13,14,0,258]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[29,35,69,9,15,140,1,268,12],"offset":0,"phase":0,"quadratic_rows":[13,14,15,15,0,0,0,0,0]},"new":418,"old":412,"rank":4,"right":{"linear_Z4":[1,3,1,1,0,0,2,0,1],"matrix_rows":[257,258,347,87,335,272,256,288,384],"offset":102,"phase":0,"quadratic_rows":[323,83,28,28,14,0,3,0,257]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[29,34,68,8,14,140,1,268,12],"offset":0,"phase":0,"quadratic_rows":[13,14,15,15,0,0,0,0,0]},"new":419,"old":412,"rank":4,"right":{"linear_Z4":[1,0,0,0,0,0,2,0,1],"matrix_rows":[257,258,341,89,321,272,256,288,384],"offset":102,"phase":0,"quadratic_rows":[333,16,81,81,14,0,13,0,257]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,34,72,140,14,13,4,268,12],"offset":0,"phase":0,"quadratic_rows":[13,14,15,15,0,0,0,0,0]},"new":420,"old":412,"rank":4,"right":{"linear_Z4":[0,0,1,3,2,2,0,0,1],"matrix_rows":[257,258,376,116,288,272,332,256,384],"offset":51,"phase":0,"quadratic_rows":[32,16,316,316,14,13,0,0,268]}},{"left":{"linear_Z4":[2,3,2,3,2,2,2,2,0],"matrix_rows":[1,264,4,10,16,2,32,64,128],"offset":0,"phase":0,"quadratic_rows":[0,10,0,10,0,0,0,0,0]},"new":0,"old":413,"rank":8,"right":{"linear_Z4":[2,3,2,1,2,0,2,2,2],"matrix_rows":[1,40,4,34,16,64,128,256,42],"offset":8,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":413,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[34,1,32,4,40,16,64,128,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,2,2,2,2,2,2,0],"matrix_rows":[258,3,1,4,8,16,32,64,128],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":0,"old":414,"rank":8,"right":{"linear_Z4":[3,1,0,2,2,2,2,2,2],"matrix_rows":[6,5,8,16,32,64,128,256,7],"offset":2,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,1,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":414,"rank":1,"right":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[5,4,6,8,16,32,64,128,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,3,2,2,2,2,0],"matrix_rows":[264,2,4,9,1,16,32,64,128],"offset":0,"phase":0,"quadratic_rows":[9,0,0,9,0,0,0,0,0]},"new":0,"old":415,"rank":8,"right":{"linear_Z4":[3,2,2,1,0,2,2,2,2],"matrix_rows":[24,2,4,17,32,64,128,256,25],"offset":8,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":415,"rank":1,"right":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[17,16,2,4,24,32,64,128,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,2,3,2,2,2,0],"matrix_rows":[1,2,272,8,20,4,32,64,128],"offset":0,"phase":0,"quadratic_rows":[0,0,20,0,20,0,0,0,0]},"new":0,"old":416,"rank":8,"right":{"linear_Z4":[2,2,3,2,1,0,2,2,2],"matrix_rows":[1,2,48,8,36,64,128,256,52],"offset":16,"phase":1,"quadratic_rows":[0,0,20,0,20,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":416,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[36,1,2,32,8,48,64,128,256],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,2,3,2,2,2,0],"matrix_rows":[1,272,4,8,18,32,2,64,128],"offset":0,"phase":0,"quadratic_rows":[0,18,0,0,18,0,0,0,0]},"new":0,"old":417,"rank":8,"right":{"linear_Z4":[2,3,2,2,1,2,0,2,2],"matrix_rows":[1,80,4,8,66,32,128,256,82],"offset":16,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":417,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[66,1,64,4,8,80,32,128,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,3,3,3,3,2,2,0],"matrix_rows":[318,3,5,9,17,33,1,64,128],"offset":0,"phase":0,"quadratic_rows":[63,63,63,63,63,63,0,0,0]},"new":0,"old":418,"rank":8,"right":{"linear_Z4":[3,1,1,1,1,1,0,2,2],"matrix_rows":[126,125,123,119,111,95,128,256,127],"offset":62,"phase":1,"quadratic_rows":[63,63,63,63,63,63,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":418,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[65,64,66,68,72,80,96,128,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,2,2,3,2,2,0],"matrix_rows":[288,2,4,8,16,33,1,64,128],"offset":0,"phase":0,"quadratic_rows":[33,0,0,0,0,33,0,0,0]},"new":0,"old":419,"rank":8,"right":{"linear_Z4":[3,2,2,2,2,1,0,2,2],"matrix_rows":[96,2,4,8,16,65,128,256,97],"offset":32,"phase":1,"quadratic_rows":[33,0,0,0,0,33,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":419,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[65,64,2,4,8,16,96,128,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,3,2,2,2,2,0],"matrix_rows":[1,2,264,12,16,32,4,64,128],"offset":0,"phase":0,"quadratic_rows":[0,0,12,12,0,0,0,0,0]},"new":0,"old":420,"rank":8,"right":{"linear_Z4":[2,2,3,1,2,2,0,2,2],"matrix_rows":[1,2,72,68,16,32,128,256,76],"offset":8,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":420,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[68,1,2,64,72,16,32,128,256],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":15,"old":421,"rank":1,"right":{"linear_Z4":[3,0,3,3,0,0,0,0,0],"matrix_rows":[5,41,10,36,32,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[45,8,37,11,0,5,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":18,"old":421,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,3,3,2],"matrix_rows":[448,1,2,4,8,16,32,320,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,0,192,192,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":25,"old":421,"rank":1,"right":{"linear_Z4":[0,3,3,3,3,0,3,3,2],"matrix_rows":[478,1,258,260,264,272,32,320,384],"offset":1,"phase":1,"quadratic_rows":[0,222,222,222,222,0,222,222,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":26,"old":421,"rank":1,"right":{"linear_Z4":[3,0,3,0,2,0,0,0,0],"matrix_rows":[21,17,2,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":44,"old":421,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,0,3,2,0],"matrix_rows":[208,1,2,4,8,144,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,80,0,80,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":47,"old":421,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,0,3,0,2],"matrix_rows":[336,1,2,4,8,272,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,80,0,80,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":54,"old":421,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,0,2],"matrix_rows":[261,257,2,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":55,"old":421,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,2,0],"matrix_rows":[133,129,2,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":73,"old":421,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,0,0,3,2],"matrix_rows":[400,1,2,4,8,272,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,144,0,0,144,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":76,"old":421,"rank":1,"right":{"linear_Z4":[3,0,3,3,0,0,0,0,0],"matrix_rows":[5,33,10,44,32,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[37,8,45,14,0,5,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":83,"old":421,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,2,0,0],"matrix_rows":[69,65,2,68,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":84,"old":421,"rank":1,"right":{"linear_Z4":[3,3,0,3,3,0,3,3,2],"matrix_rows":[475,257,258,4,264,272,32,320,384],"offset":1,"phase":1,"quadratic_rows":[219,219,0,219,219,0,219,219,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":334,"old":421,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,0,2],"matrix_rows":[265,257,2,4,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":337,"old":421,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,2,0],"matrix_rows":[137,129,2,4,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":344,"old":421,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,3,2,0],"matrix_rows":[194,1,130,4,8,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,66,0,0,0,0,66,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":345,"old":421,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,3,0,2],"matrix_rows":[322,1,258,4,8,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,66,0,0,0,0,66,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":363,"old":421,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,2,0,0],"matrix_rows":[73,65,2,4,72,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":366,"old":421,"rank":1,"right":{"linear_Z4":[3,3,3,0,3,0,3,3,2],"matrix_rows":[471,257,258,260,8,272,32,320,384],"offset":1,"phase":1,"quadratic_rows":[215,215,215,0,215,0,215,215,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":373,"old":421,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,0,3,2],"matrix_rows":[386,1,258,4,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,130,0,0,0,0,0,130,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":374,"old":421,"rank":1,"right":{"linear_Z4":[0,0,3,3,2,0,0,0,0],"matrix_rows":[28,1,2,20,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":392,"old":421,"rank":1,"right":{"linear_Z4":[0,3,0,0,3,0,0,2,0],"matrix_rows":[146,1,130,4,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":395,"old":421,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,0,2],"matrix_rows":[268,1,2,260,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":402,"old":421,"rank":1,"right":{"linear_Z4":[0,3,0,0,3,0,0,0,2],"matrix_rows":[274,1,258,4,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":403,"old":421,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,2,0],"matrix_rows":[140,1,2,132,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[14,21,38,65,135,1,2,263,7],"offset":0,"phase":0,"quadratic_rows":[3,7,6,0,0,0,0,0,0]},"new":425,"old":421,"rank":3,"right":{"linear_Z4":[2,2,2,1,3,0,1,3,3],"matrix_rows":[218,477,223,297,322,292,32,272,384],"offset":0,"phase":0,"quadratic_rows":[42,325,34,217,216,5,218,216,258]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[11,21,35,68,2,4,135,263,7],"offset":0,"phase":0,"quadratic_rows":[3,7,6,0,0,0,0,0,0]},"new":426,"old":421,"rank":3,"right":{"linear_Z4":[2,2,2,1,1,0,3,3,3],"matrix_rows":[223,477,218,289,274,300,32,320,384],"offset":0,"phase":0,"quadratic_rows":[34,277,42,220,218,5,216,216,258]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[9,20,33,64,129,256,1,6,2],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":427,"old":421,"rank":3,"right":{"linear_Z4":[1,1,1,0,1,0,2,3,0],"matrix_rows":[21,384,258,65,386,68,8,80,32],"offset":0,"phase":0,"quadratic_rows":[85,130,85,0,85,0,21,130,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[14,23,33,70,131,1,4,263,7],"offset":0,"phase":0,"quadratic_rows":[5,6,7,0,0,0,0,0,0]},"new":433,"old":421,"rank":3,"right":{"linear_Z4":[2,3,1,2,2,0,1,3,3],"matrix_rows":[214,223,463,293,258,32,296,336,384],"offset":0,"phase":0,"quadratic_rows":[52,198,199,48,329,9,214,198,272]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[9,17,32,65,132,256,1,6,2],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":434,"old":421,"rank":3,"right":{"linear_Z4":[1,1,0,1,1,0,2,3,0],"matrix_rows":[11,384,272,65,66,4,72,400,32],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,144,0,11,144,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[8,17,33,65,1,128,260,6,2],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":435,"old":421,"rank":3,"right":{"linear_Z4":[0,1,1,1,2,0,1,3,0],"matrix_rows":[14,384,320,1,18,20,24,32,448],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,192,192,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,33,64,1,130,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":528,"old":421,"rank":2,"right":{"linear_Z4":[3,0,3,3,0,0,3,3,2],"matrix_rows":[5,448,41,10,36,32,16,320,384],"offset":3,"phase":2,"quadratic_rows":[45,8,37,11,0,5,192,192,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[6,8,18,35,65,3,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":529,"old":421,"rank":2,"right":{"linear_Z4":[3,0,3,0,1,0,1,1,2],"matrix_rows":[216,5,297,10,292,32,272,320,384],"offset":2,"phase":1,"quadratic_rows":[301,8,293,467,472,5,472,472,221]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,16,32,66,128,258,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":530,"old":421,"rank":2,"right":{"linear_Z4":[0,0,0,0,3,0,3,3,0],"matrix_rows":[384,208,1,2,4,8,400,32,448],"offset":2,"phase":1,"quadratic_rows":[0,0,0,0,336,0,336,384,208]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,32,66,128,258,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":531,"old":421,"rank":2,"right":{"linear_Z4":[3,0,3,0,3,0,3,2,2],"matrix_rows":[261,208,257,2,260,8,144,32,192],"offset":3,"phase":2,"quadratic_rows":[5,0,5,0,80,0,80,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,33,66,1,128,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":532,"old":421,"rank":2,"right":{"linear_Z4":[3,0,3,3,3,0,0,3,2],"matrix_rows":[5,400,33,10,44,32,272,64,384],"offset":3,"phase":2,"quadratic_rows":[37,8,45,14,144,5,0,144,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,32,66,128,1,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":533,"old":421,"rank":2,"right":{"linear_Z4":[3,0,3,0,3,0,2,3,2],"matrix_rows":[69,400,65,2,68,8,272,32,384],"offset":3,"phase":2,"quadratic_rows":[5,0,5,0,144,0,0,144,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[6,8,16,34,64,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":566,"old":421,"rank":2,"right":{"linear_Z4":[3,0,0,3,0,0,0,3,0],"matrix_rows":[384,137,385,2,4,392,16,32,64],"offset":2,"phase":1,"quadratic_rows":[265,0,0,265,0,0,0,384,137]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,33,64,128,258,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":567,"old":421,"rank":2,"right":{"linear_Z4":[3,3,0,3,0,0,3,2,2],"matrix_rows":[265,194,257,130,4,264,16,32,192],"offset":3,"phase":2,"quadratic_rows":[9,66,0,9,0,0,66,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,18,35,66,128,1,258,2],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":568,"old":421,"rank":2,"right":{"linear_Z4":[3,1,1,0,1,0,3,1,1],"matrix_rows":[329,222,65,258,260,328,272,32,384],"offset":1,"phase":1,"quadratic_rows":[265,478,478,215,478,0,222,478,407]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,33,64,128,1,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":569,"old":421,"rank":2,"right":{"linear_Z4":[3,3,0,3,0,0,2,3,2],"matrix_rows":[73,386,65,258,4,72,16,32,384],"offset":3,"phase":2,"quadratic_rows":[9,130,0,9,0,0,0,130,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,18,34,65,128,256,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":570,"old":421,"rank":2,"right":{"linear_Z4":[0,3,3,3,3,0,0,2,2],"matrix_rows":[146,268,1,130,260,264,144,32,64],"offset":3,"phase":2,"quadratic_rows":[0,18,12,12,18,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,16,32,66,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":571,"old":421,"rank":2,"right":{"linear_Z4":[0,3,0,0,3,0,0,3,0],"matrix_rows":[384,146,1,386,4,8,400,32,64],"offset":2,"phase":1,"quadratic_rows":[0,274,0,0,274,0,0,384,146]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[6,10,16,35,65,1,131,259,3],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":27,"old":422,"rank":2,"right":{"linear_Z4":[1,1,0,2,1,0,2,2,2],"matrix_rows":[216,219,305,290,20,264,32,320,384],"offset":0,"phase":0,"quadratic_rows":[491,507,16,259,278,3,259,259,219]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,1,32,64,130,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":28,"old":422,"rank":2,"right":{"linear_Z4":[3,3,0,2,0,0,3,3,2],"matrix_rows":[11,448,9,10,4,16,32,320,384],"offset":3,"phase":2,"quadratic_rows":[3,3,0,0,0,0,192,192,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,32,65,1,130,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":33,"old":422,"rank":2,"right":{"linear_Z4":[3,3,0,0,3,0,3,3,2],"matrix_rows":[3,448,49,34,20,8,32,320,384],"offset":3,"phase":2,"quadratic_rows":[51,35,16,0,21,3,192,192,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[6,11,17,3,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":34,"old":422,"rank":2,"right":{"linear_Z4":[3,2,3,2,3,0,3,3,0],"matrix_rows":[470,267,265,10,260,272,32,320,384],"offset":3,"phase":2,"quadratic_rows":[3,213,214,0,214,0,214,214,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":102,"old":422,"rank":1,"right":{"linear_Z4":[3,3,0,0,3,0,0,0,0],"matrix_rows":[3,33,50,4,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[35,51,0,16,26,3,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":105,"old":422,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,0,0,3,2],"matrix_rows":[388,1,2,260,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,132,0,0,0,0,132,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":112,"old":422,"rank":1,"right":{"linear_Z4":[3,3,3,3,0,0,3,3,2],"matrix_rows":[463,257,258,260,264,16,32,320,384],"offset":1,"phase":1,"quadratic_rows":[207,207,207,207,0,0,207,207,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":113,"old":422,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,2,0,0],"matrix_rows":[81,65,2,4,8,80,32,128,256],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":131,"old":422,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,0,3,0,2],"matrix_rows":[324,1,2,260,8,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,0,68,0,0,0,68,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":134,"old":422,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,0,3,2,0],"matrix_rows":[196,1,2,132,8,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,0,68,0,0,0,68,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":141,"old":422,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,2,0],"matrix_rows":[145,129,2,4,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":142,"old":422,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,0,2],"matrix_rows":[273,257,2,4,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":276,"old":422,"rank":1,"right":{"linear_Z4":[3,0,3,3,3,0,3,3,2],"matrix_rows":[477,257,2,260,264,272,32,320,384],"offset":1,"phase":1,"quadratic_rows":[221,0,221,221,221,0,221,221,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":279,"old":422,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,2,0,0],"matrix_rows":[67,65,66,4,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":286,"old":422,"rank":1,"right":{"linear_Z4":[3,3,0,0,3,0,0,0,0],"matrix_rows":[3,33,50,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[35,51,16,0,22,3,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":287,"old":422,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,0,0,3,2],"matrix_rows":[392,1,2,4,264,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,136,0,0,0,136,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":305,"old":422,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,2,0],"matrix_rows":[131,129,130,4,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":308,"old":422,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,0,2],"matrix_rows":[259,257,258,4,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":315,"old":422,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,0,3,0,2],"matrix_rows":[328,1,2,4,264,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,72,0,0,72,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":316,"old":422,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,0,3,2,0],"matrix_rows":[200,1,2,4,136,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,72,0,0,72,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,18,34,64,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":404,"old":422,"rank":2,"right":{"linear_Z4":[0,0,3,3,0,0,0,3,0],"matrix_rows":[384,140,1,2,388,392,16,32,64],"offset":2,"phase":1,"quadratic_rows":[0,0,268,268,0,0,0,384,140]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,16,32,66,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":405,"old":422,"rank":2,"right":{"linear_Z4":[0,3,0,0,3,0,0,3,0],"matrix_rows":[384,146,1,386,4,8,400,32,64],"offset":2,"phase":1,"quadratic_rows":[0,274,0,0,274,0,0,384,146]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,18,34,65,128,256,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":410,"old":422,"rank":2,"right":{"linear_Z4":[0,3,3,3,3,0,0,2,2],"matrix_rows":[274,140,1,258,132,136,272,32,64],"offset":3,"phase":2,"quadratic_rows":[0,18,12,12,18,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,18,34,65,128,256,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":411,"old":422,"rank":2,"right":{"linear_Z4":[0,3,3,3,3,0,0,2,2],"matrix_rows":[146,268,1,130,260,264,144,32,64],"offset":3,"phase":2,"quadratic_rows":[0,18,12,12,18,0,0,0,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[14,19,37,65,134,3,4,261,5],"offset":0,"phase":0,"quadratic_rows":[5,2,5,0,0,0,0,0,0]},"new":424,"old":422,"rank":3,"right":{"linear_Z4":[0,0,2,1,0,0,0,2,3],"matrix_rows":[206,17,471,291,32,260,328,304,384],"offset":2,"phase":1,"quadratic_rows":[228,24,25,398,230,17,17,25,264]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[9,16,33,68,129,256,1,6,2],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":428,"old":422,"rank":3,"right":{"linear_Z4":[1,0,1,1,1,0,2,3,0],"matrix_rows":[21,384,264,65,2,68,392,80,32],"offset":0,"phase":0,"quadratic_rows":[85,0,85,136,85,0,21,136,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[14,22,35,71,129,1,4,263,7],"offset":0,"phase":0,"quadratic_rows":[5,6,7,0,0,0,0,0,0]},"new":432,"old":422,"rank":3,"right":{"linear_Z4":[2,2,2,3,1,0,1,3,3],"matrix_rows":[220,223,475,305,290,324,264,32,384],"offset":0,"phase":0,"quadratic_rows":[52,36,323,216,217,3,220,216,260]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[18,34,72,131,257,1,3,12,4],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":437,"old":422,"rank":4,"right":{"linear_Z4":[1,1,1,2,3,0,2,3,0],"matrix_rows":[8,11,384,260,113,98,388,88,32],"offset":0,"phase":0,"quadratic_rows":[123,107,132,83,25,3,11,132,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,18,34,67,128,1,258,2],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":534,"old":422,"rank":2,"right":{"linear_Z4":[3,1,1,1,0,0,3,1,1],"matrix_rows":[337,222,65,258,260,264,336,32,384],"offset":1,"phase":1,"quadratic_rows":[273,478,478,478,207,0,222,478,399]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,18,32,65,1,128,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":535,"old":422,"rank":2,"right":{"linear_Z4":[3,3,3,0,3,0,0,3,2],"matrix_rows":[3,388,33,50,260,24,32,64,384],"offset":3,"phase":2,"quadratic_rows":[35,51,132,16,26,3,0,132,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,18,32,65,128,1,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":536,"old":422,"rank":2,"right":{"linear_Z4":[3,0,3,0,3,0,2,3,2],"matrix_rows":[81,388,65,2,260,8,80,32,384],"offset":3,"phase":2,"quadratic_rows":[17,0,132,0,17,0,0,132,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,19,35,66,2,131,259,3],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":537,"old":422,"rank":2,"right":{"linear_Z4":[3,3,2,2,3,0,2,2,1],"matrix_rows":[463,460,289,306,260,280,32,320,384],"offset":3,"phase":2,"quadratic_rows":[239,255,259,275,26,3,259,259,460]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[6,8,16,32,66,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":538,"old":422,"rank":2,"right":{"linear_Z4":[3,0,0,0,3,0,0,3,0],"matrix_rows":[384,145,385,2,4,8,400,32,64],"offset":2,"phase":1,"quadratic_rows":[273,0,0,0,273,0,0,384,145]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,18,32,64,128,258,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":539,"old":422,"rank":2,"right":{"linear_Z4":[0,0,3,0,0,0,3,3,0],"matrix_rows":[384,196,1,2,388,8,16,32,448],"offset":2,"phase":1,"quadratic_rows":[0,0,324,0,0,0,324,384,196]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,18,32,65,128,258,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":540,"old":422,"rank":2,"right":{"linear_Z4":[3,0,3,0,3,0,3,2,2],"matrix_rows":[273,196,257,2,132,8,272,32,192],"offset":3,"phase":2,"quadratic_rows":[17,0,68,0,17,0,68,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,18,32,65,128,258,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":541,"old":422,"rank":2,"right":{"linear_Z4":[3,0,3,0,3,0,3,2,2],"matrix_rows":[145,324,129,2,260,8,144,32,320],"offset":3,"phase":2,"quadratic_rows":[17,0,68,0,17,0,68,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,34,65,1,128,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":558,"old":422,"rank":2,"right":{"linear_Z4":[3,3,0,3,3,0,0,3,2],"matrix_rows":[3,392,33,50,20,264,32,64,384],"offset":3,"phase":2,"quadratic_rows":[35,51,16,136,22,3,0,136,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[7,9,18,34,66,128,3,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":559,"old":422,"rank":2,"right":{"linear_Z4":[2,3,3,3,3,0,2,3,0],"matrix_rows":[323,413,65,322,260,264,272,32,384],"offset":3,"phase":2,"quadratic_rows":[158,3,157,157,157,0,0,157,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,34,64,128,1,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":560,"old":422,"rank":2,"right":{"linear_Z4":[3,3,0,3,0,0,2,3,2],"matrix_rows":[67,392,65,66,4,264,16,32,384],"offset":3,"phase":2,"quadratic_rows":[3,3,0,136,0,0,0,136,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,35,66,2,131,259,3],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":561,"old":422,"rank":2,"right":{"linear_Z4":[1,1,0,2,1,0,2,2,2],"matrix_rows":[219,216,289,306,20,264,32,320,384],"offset":0,"phase":0,"quadratic_rows":[507,491,16,259,277,3,259,259,219]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,16,34,64,128,258,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":562,"old":422,"rank":2,"right":{"linear_Z4":[0,0,0,3,0,0,3,3,0],"matrix_rows":[384,200,1,2,4,392,16,32,448],"offset":2,"phase":1,"quadratic_rows":[0,0,0,328,0,0,328,384,200]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[6,10,16,32,64,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":563,"old":422,"rank":2,"right":{"linear_Z4":[3,3,0,0,0,0,0,3,0],"matrix_rows":[384,131,385,386,4,8,16,32,64],"offset":2,"phase":1,"quadratic_rows":[259,259,0,0,0,0,0,384,131]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,34,64,128,258,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":564,"old":422,"rank":2,"right":{"linear_Z4":[3,3,0,3,0,0,3,2,2],"matrix_rows":[259,200,257,258,4,136,16,32,192],"offset":3,"phase":2,"quadratic_rows":[3,3,0,72,0,0,72,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,34,64,128,258,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":565,"old":422,"rank":2,"right":{"linear_Z4":[3,3,0,3,0,0,3,2,2],"matrix_rows":[131,328,129,130,4,264,16,32,320],"offset":3,"phase":2,"quadratic_rows":[3,3,0,72,0,0,72,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,32,64,1,130,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":29,"old":423,"rank":2,"right":{"linear_Z4":[0,3,3,0,0,2,3,3,2],"matrix_rows":[38,448,1,34,36,8,16,320,384],"offset":3,"phase":2,"quadratic_rows":[0,6,6,0,0,0,192,192,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,35,3,66,130,258,2],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":30,"old":423,"rank":2,"right":{"linear_Z4":[0,3,3,0,0,1,1,1,2],"matrix_rows":[6,232,9,282,276,16,288,320,384],"offset":1,"phase":1,"quadratic_rows":[8,286,278,483,6,488,488,488,238]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,9,18,35,64,2,131,259,3],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":31,"old":423,"rank":2,"right":{"linear_Z4":[0,1,3,0,0,0,0,0,1],"matrix_rows":[235,461,257,290,36,264,16,320,384],"offset":2,"phase":1,"quadratic_rows":[38,459,493,38,0,461,38,38,294]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,33,1,64,130,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":32,"old":423,"rank":2,"right":{"linear_Z4":[0,3,3,3,0,0,3,3,2],"matrix_rows":[6,448,9,26,20,16,32,320,384],"offset":3,"phase":2,"quadratic_rows":[8,30,22,11,6,0,192,192,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":160,"old":423,"rank":1,"right":{"linear_Z4":[3,3,3,0,0,3,3,3,2],"matrix_rows":[487,257,258,260,8,16,288,320,384],"offset":1,"phase":1,"quadratic_rows":[231,231,231,0,0,231,231,231,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":163,"old":423,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,2,0,0],"matrix_rows":[74,1,66,4,72,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":170,"old":423,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,2,0,0,0],"matrix_rows":[44,1,2,36,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":171,"old":423,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,0,0,3,2],"matrix_rows":[385,257,2,4,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[129,0,0,0,0,0,0,129,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":189,"old":423,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,0,2,0],"matrix_rows":[138,1,130,4,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":192,"old":423,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,0,0,2],"matrix_rows":[266,1,258,4,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":199,"old":423,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,0,3,0,2],"matrix_rows":[321,257,2,4,8,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[65,0,0,0,0,0,65,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":200,"old":423,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,0,3,2,0],"matrix_rows":[193,129,2,4,8,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[65,0,0,0,0,0,65,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":218,"old":423,"rank":1,"right":{"linear_Z4":[0,3,3,3,0,0,0,0,0],"matrix_rows":[6,9,18,28,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[8,22,30,13,6,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":221,"old":423,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,3,0,3,2],"matrix_rows":[416,1,2,4,8,16,288,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,160,0,160,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":228,"old":423,"rank":1,"right":{"linear_Z4":[3,3,0,3,0,3,3,3,2],"matrix_rows":[491,257,258,4,264,16,288,320,384],"offset":1,"phase":1,"quadratic_rows":[235,235,0,235,0,235,235,235,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":229,"old":423,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,2,0,0],"matrix_rows":[70,1,66,68,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":247,"old":423,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,3,3,0,2],"matrix_rows":[352,1,2,4,8,16,288,320,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,96,96,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":250,"old":423,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,3,3,2,0],"matrix_rows":[224,1,2,4,8,16,160,192,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,96,96,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":257,"old":423,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,2,0],"matrix_rows":[134,1,130,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":258,"old":423,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,0,2],"matrix_rows":[262,1,258,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[6,8,16,32,64,130,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":406,"old":423,"rank":2,"right":{"linear_Z4":[3,0,0,0,0,3,0,3,0],"matrix_rows":[384,161,385,2,4,8,16,416,64],"offset":2,"phase":1,"quadratic_rows":[289,0,0,0,0,289,0,384,161]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,18,34,64,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":407,"old":423,"rank":2,"right":{"linear_Z4":[0,0,3,3,0,0,0,3,0],"matrix_rows":[384,140,1,2,388,392,16,32,64],"offset":2,"phase":1,"quadratic_rows":[0,0,268,268,0,0,0,384,140]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,18,34,64,129,256,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":408,"old":423,"rank":2,"right":{"linear_Z4":[3,0,3,3,0,3,0,2,2],"matrix_rows":[161,268,129,2,260,264,16,160,64],"offset":3,"phase":2,"quadratic_rows":[33,0,12,12,0,33,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,18,34,64,129,256,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":409,"old":423,"rank":2,"right":{"linear_Z4":[3,0,3,3,0,3,0,2,2],"matrix_rows":[289,140,257,2,132,136,16,288,64],"offset":3,"phase":2,"quadratic_rows":[33,0,12,12,0,33,0,0,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[15,21,34,69,2,131,4,263,7],"offset":0,"phase":0,"quadratic_rows":[5,6,7,0,0,0,0,0,0]},"new":429,"old":423,"rank":3,"right":{"linear_Z4":[3,2,1,2,0,2,1,3,3],"matrix_rows":[239,229,463,257,278,16,280,352,384],"offset":0,"phase":0,"quadratic_rows":[197,52,199,48,10,330,229,197,288]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[14,21,37,66,2,135,1,263,7],"offset":0,"phase":0,"quadratic_rows":[7,3,5,0,0,0,0,0,0]},"new":430,"old":423,"rank":3,"right":{"linear_Z4":[2,2,2,1,0,3,1,3,3],"matrix_rows":[494,233,239,321,282,276,16,288,384],"offset":0,"phase":0,"quadratic_rows":[326,25,17,234,6,232,233,232,257]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[12,18,34,64,128,258,2,5,1],"offset":0,"phase":0,"quadratic_rows":[5,2,5,0,0,0,0,0,0]},"new":431,"old":423,"rank":3,"right":{"linear_Z4":[1,1,1,0,0,1,2,3,0],"matrix_rows":[384,38,257,385,66,68,8,16,96],"offset":0,"phase":0,"quadratic_rows":[129,102,102,0,0,102,38,129,0]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,34,67,130,3,264,1,12,4],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":436,"old":423,"rank":4,"right":{"linear_Z4":[1,3,3,3,0,1,2,3,0],"matrix_rows":[1,10,384,288,69,86,16,88,416],"offset":2,"phase":1,"quadratic_rows":[69,94,7,90,10,160,11,160,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,18,34,64,2,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":542,"old":423,"rank":2,"right":{"linear_Z4":[3,0,3,3,0,2,0,3,2],"matrix_rows":[385,44,257,2,36,40,16,64,384],"offset":3,"phase":2,"quadratic_rows":[129,0,12,12,0,0,0,129,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,17,35,64,129,2,257,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":543,"old":423,"rank":2,"right":{"linear_Z4":[1,3,1,0,0,1,3,1,1],"matrix_rows":[237,330,257,66,260,328,16,288,384],"offset":2,"phase":1,"quadratic_rows":[493,266,493,231,0,493,237,493,423]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,34,64,128,2,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":544,"old":423,"rank":2,"right":{"linear_Z4":[3,3,0,3,0,0,2,3,2],"matrix_rows":[385,74,257,66,4,72,16,32,384],"offset":3,"phase":2,"quadratic_rows":[129,10,0,10,0,0,0,129,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,18,35,64,2,129,257,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":545,"old":423,"rank":2,"right":{"linear_Z4":[1,1,3,0,0,3,1,1,1],"matrix_rows":[235,300,257,258,36,296,16,320,384],"offset":2,"phase":1,"quadratic_rows":[491,491,268,231,0,235,491,491,455]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[6,8,16,32,64,128,258,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":546,"old":423,"rank":2,"right":{"linear_Z4":[3,0,0,0,0,0,3,3,0],"matrix_rows":[384,193,385,2,4,8,16,32,448],"offset":2,"phase":1,"quadratic_rows":[321,0,0,0,0,0,321,384,193]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,16,34,64,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":547,"old":423,"rank":2,"right":{"linear_Z4":[0,3,0,3,0,0,0,3,0],"matrix_rows":[384,138,1,386,4,392,16,32,64],"offset":2,"phase":1,"quadratic_rows":[0,266,0,266,0,0,0,384,138]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,34,64,128,257,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":548,"old":423,"rank":2,"right":{"linear_Z4":[3,3,0,3,0,0,3,2,2],"matrix_rows":[193,266,129,258,4,264,16,32,192],"offset":3,"phase":2,"quadratic_rows":[65,10,0,10,0,0,65,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,34,64,128,257,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":549,"old":423,"rank":2,"right":{"linear_Z4":[3,3,0,3,0,0,3,2,2],"matrix_rows":[321,138,257,130,4,136,16,32,320],"offset":3,"phase":2,"quadratic_rows":[65,10,0,10,0,0,65,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,19,33,64,129,2,257,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":550,"old":423,"rank":2,"right":{"linear_Z4":[1,3,0,1,0,1,3,1,1],"matrix_rows":[237,326,257,66,324,264,16,288,384],"offset":2,"phase":1,"quadratic_rows":[493,262,235,493,0,493,237,493,427]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,33,1,66,128,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":551,"old":423,"rank":2,"right":{"linear_Z4":[0,3,3,3,0,3,0,3,2],"matrix_rows":[6,416,9,18,28,16,288,64,384],"offset":3,"phase":2,"quadratic_rows":[8,22,30,13,6,160,0,160,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,32,64,130,1,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":552,"old":423,"rank":2,"right":{"linear_Z4":[0,3,3,0,0,3,2,3,2],"matrix_rows":[70,416,1,66,68,8,16,288,384],"offset":3,"phase":2,"quadratic_rows":[0,6,6,0,0,160,0,160,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[4,11,19,33,1,66,130,258,2],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":553,"old":423,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,1,1,1,2],"matrix_rows":[6,238,9,274,284,16,288,320,384],"offset":1,"phase":1,"quadratic_rows":[8,504,496,483,6,494,494,494,238]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,18,32,64,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":554,"old":423,"rank":2,"right":{"linear_Z4":[0,3,3,0,0,0,0,3,0],"matrix_rows":[384,134,1,386,388,8,16,32,64],"offset":2,"phase":1,"quadratic_rows":[0,262,262,0,0,0,0,384,134]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,16,32,64,130,258,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":555,"old":423,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,3,3,3,0],"matrix_rows":[384,224,1,2,4,8,16,416,448],"offset":2,"phase":1,"quadratic_rows":[0,0,0,0,0,352,352,384,224]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,32,64,130,258,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":556,"old":423,"rank":2,"right":{"linear_Z4":[0,3,3,0,0,3,3,2,2],"matrix_rows":[262,224,1,258,260,8,16,160,192],"offset":3,"phase":2,"quadratic_rows":[0,6,6,0,0,96,96,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,32,64,130,258,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":557,"old":423,"rank":2,"right":{"linear_Z4":[0,3,3,0,0,3,3,2,2],"matrix_rows":[134,352,1,130,132,8,16,288,320],"offset":3,"phase":2,"quadratic_rows":[0,6,6,0,0,96,96,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,8,18,35,67,128,256,1,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":740,"old":424,"rank":2,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,1],"matrix_rows":[281,28,129,2,256,264,272,32,64],"offset":18,"phase":0,"quadratic_rows":[409,0,280,5,5,0,0,1,261]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[7,8,17,34,66,128,256,2,3],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":741,"old":424,"rank":2,"right":{"linear_Z4":[0,0,0,1,1,0,0,0,2],"matrix_rows":[261,153,257,2,256,136,144,32,64],"offset":17,"phase":0,"quadratic_rows":[156,0,1,25,25,0,0,1,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[7,8,17,35,66,2,128,259,3],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":742,"old":424,"rank":2,"right":{"linear_Z4":[2,0,0,2,2,0,0,2,2],"matrix_rows":[429,153,257,2,288,264,32,64,384],"offset":64,"phase":3,"quadratic_rows":[52,0,137,52,169,153,0,52,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,8,18,33,67,128,1,259,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":743,"old":424,"rank":2,"right":{"linear_Z4":[2,0,0,1,0,0,0,0,1],"matrix_rows":[408,212,9,2,320,64,272,32,384],"offset":37,"phase":3,"quadratic_rows":[8,0,400,473,76,0,408,76,332]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,18,33,67,128,256,1,3],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":744,"old":424,"rank":2,"right":{"linear_Z4":[1,0,0,1,0,0,0,0,2],"matrix_rows":[153,276,129,2,256,136,272,32,64],"offset":18,"phase":0,"quadratic_rows":[25,0,16,25,141,0,0,16,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,8,17,35,66,128,256,2,3],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":745,"old":424,"rank":2,"right":{"linear_Z4":[0,0,0,0,1,0,0,2,1],"matrix_rows":[13,281,257,2,256,264,144,32,64],"offset":17,"phase":0,"quadratic_rows":[20,0,265,20,409,0,0,16,276]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,8,17,32,66,2,128,259,3],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":746,"old":424,"rank":2,"right":{"linear_Z4":[0,0,0,2,1,0,0,0,1],"matrix_rows":[165,401,257,2,288,24,32,64,384],"offset":98,"phase":3,"quadratic_rows":[52,0,385,16,441,401,0,52,308]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,2,19,35,64,128,259,3],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":747,"old":424,"rank":2,"right":{"linear_Z4":[2,0,0,2,2,0,0,2,2],"matrix_rows":[153,156,256,258,264,272,32,64,384],"offset":4,"phase":3,"quadratic_rows":[408,0,152,261,261,0,0,261,153]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,9,19,32,66,128,1,259,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":748,"old":425,"rank":2,"right":{"linear_Z4":[2,1,0,0,0,0,0,0,1],"matrix_rows":[390,212,3,64,260,8,320,32,384],"offset":13,"phase":3,"quadratic_rows":[2,455,82,0,388,0,390,82,338]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,11,17,32,66,1,128,259,3],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":749,"old":425,"rank":2,"right":{"linear_Z4":[2,2,2,0,0,0,0,2,2],"matrix_rows":[135,435,257,258,32,8,288,64,384],"offset":16,"phase":3,"quadratic_rows":[52,52,163,0,131,135,0,52,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,11,19,32,66,128,256,1,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":750,"old":425,"rank":2,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,1],"matrix_rows":[263,22,129,258,260,8,256,32,64],"offset":66,"phase":0,"quadratic_rows":[391,17,17,0,262,0,0,1,273]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[7,9,17,32,66,128,256,1,3],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":751,"old":425,"rank":2,"right":{"linear_Z4":[0,1,1,0,0,0,0,0,2],"matrix_rows":[135,273,257,130,132,8,256,32,64],"offset":66,"phase":0,"quadratic_rows":[150,7,7,0,1,0,0,1,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,11,19,33,2,64,128,259,3],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":752,"old":425,"rank":2,"right":{"linear_Z4":[2,2,2,0,0,0,0,2,2],"matrix_rows":[135,150,256,258,260,264,32,64,384],"offset":4,"phase":3,"quadratic_rows":[390,273,273,0,134,0,0,273,135]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[7,8,17,32,66,1,128,259,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":753,"old":425,"rank":2,"right":{"linear_Z4":[0,2,1,0,0,0,0,0,1],"matrix_rows":[389,177,257,6,32,8,288,64,384],"offset":25,"phase":3,"quadratic_rows":[52,4,423,0,385,389,0,52,308]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,19,32,66,128,256,1,3],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":754,"old":425,"rank":2,"right":{"linear_Z4":[1,1,0,0,0,0,0,0,2],"matrix_rows":[135,276,129,130,260,8,256,32,64],"offset":66,"phase":0,"quadratic_rows":[7,7,147,0,4,0,0,4,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[7,11,17,32,66,128,256,1,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":755,"old":425,"rank":2,"right":{"linear_Z4":[0,0,1,0,0,0,0,2,1],"matrix_rows":[263,19,257,258,132,8,256,32,64],"offset":66,"phase":0,"quadratic_rows":[20,20,391,0,259,0,0,4,276]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":764,"old":426,"rank":1,"right":{"linear_Z4":[1,1,3,0,0,0,0,3,0],"matrix_rows":[199,321,322,260,8,16,32,256,384],"offset":135,"phase":0,"quadratic_rows":[391,391,455,0,0,0,388,455,199]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":765,"old":426,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,3,3,2],"matrix_rows":[455,257,258,256,264,16,32,320,384],"offset":9,"phase":0,"quadratic_rows":[199,199,195,0,0,0,199,199,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":766,"old":426,"rank":1,"right":{"linear_Z4":[3,1,1,0,0,0,0,3,0],"matrix_rows":[199,257,322,324,8,16,32,256,384],"offset":141,"phase":0,"quadratic_rows":[455,391,391,0,0,0,385,455,199]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":767,"old":426,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,3,3,2],"matrix_rows":[455,256,258,260,8,16,288,320,384],"offset":3,"phase":0,"quadratic_rows":[198,199,199,0,0,0,199,199,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":768,"old":426,"rank":1,"right":{"linear_Z4":[1,3,3,0,0,0,1,0,0],"matrix_rows":[199,385,258,260,8,16,32,448,256],"offset":387,"phase":0,"quadratic_rows":[327,455,455,0,0,0,327,262,199]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":769,"old":426,"rank":1,"right":{"linear_Z4":[3,1,1,0,0,0,3,0,0],"matrix_rows":[199,257,386,388,8,16,32,320,256],"offset":269,"phase":0,"quadratic_rows":[455,327,327,0,0,0,455,321,199]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":770,"old":426,"rank":1,"right":{"linear_Z4":[3,3,1,0,0,0,1,0,0],"matrix_rows":[199,257,258,388,8,16,32,448,256],"offset":393,"phase":0,"quadratic_rows":[455,455,327,0,0,0,327,259,199]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":771,"old":426,"rank":1,"right":{"linear_Z4":[1,1,3,0,0,0,3,0,0],"matrix_rows":[199,385,386,260,8,16,32,320,256],"offset":263,"phase":0,"quadratic_rows":[327,327,455,0,0,0,455,324,199]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[6,11,17,32,65,128,1,259,3],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":756,"old":427,"rank":2,"right":{"linear_Z4":[1,1,3,0,3,0,0,0,3],"matrix_rows":[342,81,339,256,68,24,64,32,384],"offset":15,"phase":0,"quadratic_rows":[259,263,278,16,28,0,0,0,263]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[7,8,18,32,65,2,3,128,256],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":757,"old":427,"rank":2,"right":{"linear_Z4":[2,0,2,2,2,0,2,0,0],"matrix_rows":[97,21,81,2,32,24,96,128,256],"offset":117,"phase":3,"quadratic_rows":[36,0,49,16,44,21,0,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,34,67,2,3,128,256],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":758,"old":427,"rank":2,"right":{"linear_Z4":[3,2,3,1,0,0,0,0,0],"matrix_rows":[5,24,113,26,100,32,64,128,256],"offset":43,"phase":0,"quadratic_rows":[117,24,101,42,35,29,5,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,35,66,3,2,128,256],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":759,"old":427,"rank":2,"right":{"linear_Z4":[1,0,1,3,2,0,0,0,0],"matrix_rows":[29,24,105,2,124,32,64,128,256],"offset":55,"phase":1,"quadratic_rows":[117,0,101,56,41,29,5,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[7,8,19,34,65,2,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":760,"old":427,"rank":2,"right":{"linear_Z4":[2,0,2,0,1,0,0,0,0],"matrix_rows":[5,29,113,2,100,32,64,128,256],"offset":35,"phase":1,"quadratic_rows":[104,0,120,53,60,29,5,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,35,66,3,2,128,256],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":761,"old":427,"rank":2,"right":{"linear_Z4":[1,2,1,0,1,0,0,0,0],"matrix_rows":[29,24,105,26,124,32,64,128,256],"offset":63,"phase":0,"quadratic_rows":[117,24,101,34,51,29,5,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,18,32,66,1,3,128,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":762,"old":427,"rank":2,"right":{"linear_Z4":[0,0,1,2,3,2,1,0,0],"matrix_rows":[65,84,32,2,100,24,96,128,256],"offset":101,"phase":2,"quadratic_rows":[96,0,52,16,60,21,65,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,11,18,32,65,2,3,128,256],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":763,"old":427,"rank":2,"right":{"linear_Z4":[0,2,3,0,2,0,1,0,0],"matrix_rows":[39,83,81,70,32,24,96,128,256],"offset":26,"phase":3,"quadratic_rows":[36,48,69,16,106,83,116,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,19,32,65,1,2,128,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":732,"old":428,"rank":2,"right":{"linear_Z4":[2,3,2,0,1,3,1,0,0],"matrix_rows":[116,114,21,86,96,8,32,128,256],"offset":77,"phase":0,"quadratic_rows":[20,38,83,0,117,114,116,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[7,10,19,34,67,128,3,258,2],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":733,"old":428,"rank":2,"right":{"linear_Z4":[2,1,0,2,2,0,0,0,0],"matrix_rows":[17,23,69,270,64,256,80,32,384],"offset":43,"phase":0,"quadratic_rows":[66,283,280,6,70,0,17,0,6]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[6,8,19,33,67,128,3,257,1],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":734,"old":428,"rank":2,"right":{"linear_Z4":[3,0,0,2,0,0,1,0,0],"matrix_rows":[348,281,333,6,64,256,80,32,384],"offset":37,"phase":3,"quadratic_rows":[85,4,83,0,5,0,69,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[7,8,17,32,66,2,3,128,256],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":735,"old":428,"rank":2,"right":{"linear_Z4":[2,2,2,0,2,0,2,0,0],"matrix_rows":[97,21,69,6,96,8,32,128,256],"offset":93,"phase":3,"quadratic_rows":[48,4,50,0,37,21,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,8,17,35,66,2,3,128,256],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":736,"old":428,"rank":2,"right":{"linear_Z4":[0,0,2,2,3,0,1,0,0],"matrix_rows":[57,77,69,6,96,88,32,128,256],"offset":98,"phase":3,"quadratic_rows":[48,4,106,36,81,77,116,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,18,32,66,1,3,128,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":737,"old":428,"rank":2,"right":{"linear_Z4":[0,2,3,0,1,2,1,0,0],"matrix_rows":[65,84,32,6,96,8,112,128,256],"offset":29,"phase":2,"quadratic_rows":[96,4,54,0,52,21,65,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[7,10,17,32,67,2,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":738,"old":428,"rank":2,"right":{"linear_Z4":[2,0,1,0,2,0,0,0,0],"matrix_rows":[17,23,101,32,64,8,112,128,256],"offset":11,"phase":1,"quadratic_rows":[98,53,54,0,102,23,17,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,10,19,34,65,1,2,128,256],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":739,"old":428,"rank":2,"right":{"linear_Z4":[0,3,2,1,3,1,1,0,0],"matrix_rows":[116,42,21,86,96,88,32,128,256],"offset":114,"phase":2,"quadratic_rows":[20,126,83,122,95,42,94,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,35,64,131,256,2,3],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":724,"old":429,"rank":2,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,1],"matrix_rows":[41,298,256,130,4,264,16,288,64],"offset":5,"phase":0,"quadratic_rows":[296,426,0,3,0,3,0,2,259]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,11,16,34,64,130,256,2,3],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":725,"old":429,"rank":2,"right":{"linear_Z4":[0,0,0,1,0,1,0,0,2],"matrix_rows":[259,170,256,258,4,136,16,160,64],"offset":5,"phase":0,"quadratic_rows":[2,169,0,42,0,42,0,2,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,11,16,34,2,67,128,259,3],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":726,"old":429,"rank":2,"right":{"linear_Z4":[0,2,0,2,0,2,0,2,2],"matrix_rows":[435,170,272,258,4,16,288,64,384],"offset":32,"phase":3,"quadratic_rows":[162,25,0,178,170,25,0,25,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,16,35,64,130,2,259,3],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":727,"old":429,"rank":2,"right":{"linear_Z4":[0,2,0,0,0,1,0,0,1],"matrix_rows":[201,424,320,34,4,264,16,64,384],"offset":138,"phase":3,"quadratic_rows":[392,32,0,97,0,490,424,97,353]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,11,16,34,64,131,256,2,3],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":728,"old":429,"rank":2,"right":{"linear_Z4":[0,0,0,1,0,0,0,2,1],"matrix_rows":[35,298,256,258,4,136,16,288,64],"offset":5,"phase":0,"quadratic_rows":[290,9,0,426,0,9,0,8,265]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,35,64,130,256,2,3],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":729,"old":429,"rank":2,"right":{"linear_Z4":[0,1,0,0,0,1,0,0,2],"matrix_rows":[265,170,256,130,4,264,16,160,64],"offset":5,"phase":0,"quadratic_rows":[8,42,0,163,0,42,0,8,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,2,19,32,67,128,259,3],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":730,"old":429,"rank":2,"right":{"linear_Z4":[0,2,0,2,0,2,0,2,2],"matrix_rows":[429,170,260,4,264,16,288,64,384],"offset":8,"phase":3,"quadratic_rows":[168,172,170,7,0,7,0,7,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,11,16,32,64,130,2,259,3],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":731,"old":429,"rank":2,"right":{"linear_Z4":[0,0,0,2,0,1,0,0,1],"matrix_rows":[195,418,320,258,4,40,16,64,384],"offset":162,"phase":3,"quadratic_rows":[386,97,0,32,0,490,418,97,353]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[7,9,19,32,64,130,256,1,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":708,"old":430,"rank":2,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,1],"matrix_rows":[263,37,257,130,260,8,16,256,64],"offset":130,"phase":0,"quadratic_rows":[34,391,34,0,0,261,0,2,290]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,11,17,32,64,130,256,1,3],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":709,"old":430,"rank":2,"right":{"linear_Z4":[1,0,1,0,0,0,0,0,2],"matrix_rows":[135,290,129,258,132,8,16,256,64],"offset":130,"phase":0,"quadratic_rows":[7,165,7,0,0,2,0,2,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,11,17,32,65,2,128,259,3],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":710,"old":430,"rank":2,"right":{"linear_Z4":[2,2,2,0,0,0,0,2,2],"matrix_rows":[135,163,257,258,256,8,272,64,384],"offset":16,"phase":3,"quadratic_rows":[292,292,387,0,0,131,0,292,135]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,9,19,33,64,2,128,259,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":711,"old":430,"rank":2,"right":{"linear_Z4":[2,1,0,0,0,0,0,0,3],"matrix_rows":[390,420,3,256,260,264,16,64,384],"offset":13,"phase":3,"quadratic_rows":[2,135,290,0,0,388,0,290,420]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,19,32,64,130,256,1,3],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":712,"old":430,"rank":2,"right":{"linear_Z4":[1,1,0,0,0,0,0,0,2],"matrix_rows":[135,292,129,130,260,8,16,256,64],"offset":130,"phase":0,"quadratic_rows":[7,7,163,0,0,4,0,4,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[7,11,17,32,64,130,256,1,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":713,"old":430,"rank":2,"right":{"linear_Z4":[0,0,1,0,0,0,0,2,1],"matrix_rows":[263,35,257,258,132,8,16,256,64],"offset":130,"phase":0,"quadratic_rows":[36,36,391,0,0,259,0,4,292]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,11,17,32,65,2,128,259,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":714,"old":430,"rank":2,"right":{"linear_Z4":[2,0,1,0,0,0,0,0,3],"matrix_rows":[390,418,5,258,256,8,272,64,384],"offset":21,"phase":3,"quadratic_rows":[4,292,135,0,0,386,0,292,418]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,9,19,33,64,2,128,259,3],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":715,"old":430,"rank":2,"right":{"linear_Z4":[2,2,2,0,0,0,0,2,2],"matrix_rows":[135,165,257,256,260,264,16,64,384],"offset":8,"phase":3,"quadratic_rows":[290,389,290,0,0,133,0,290,135]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,11,18,32,66,1,3,128,256],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":700,"old":431,"rank":2,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,0],"matrix_rows":[2,38,1,98,64,40,80,128,256],"offset":104,"phase":3,"quadratic_rows":[0,68,98,32,0,76,38,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,11,17,32,67,1,2,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":701,"old":431,"rank":2,"right":{"linear_Z4":[1,1,3,0,0,1,2,0,0],"matrix_rows":[5,66,35,64,4,40,80,128,256],"offset":15,"phase":0,"quadratic_rows":[39,35,5,32,0,43,0,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[4,10,18,33,1,67,3,128,256],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":702,"old":431,"rank":2,"right":{"linear_Z4":[2,3,3,1,0,0,0,0,0],"matrix_rows":[40,6,41,114,84,16,64,128,256],"offset":39,"phase":0,"quadratic_rows":[40,118,86,25,46,19,6,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,35,3,66,2,128,256],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":703,"old":431,"rank":2,"right":{"linear_Z4":[0,1,1,3,0,2,0,0,0],"matrix_rows":[46,40,1,90,124,16,64,128,256],"offset":59,"phase":1,"quadratic_rows":[0,118,86,56,46,26,6,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[4,10,18,35,3,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":704,"old":431,"rank":2,"right":{"linear_Z4":[2,1,1,0,0,1,0,0,0],"matrix_rows":[40,46,41,90,124,16,64,128,256],"offset":63,"phase":0,"quadratic_rows":[40,118,86,17,46,51,6,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[4,11,19,34,2,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":705,"old":431,"rank":2,"right":{"linear_Z4":[0,2,2,0,0,1,0,0,0],"matrix_rows":[6,46,1,114,84,16,64,128,256],"offset":35,"phase":1,"quadratic_rows":[0,88,120,54,46,60,6,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,18,32,65,2,3,128,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":706,"old":431,"rank":2,"right":{"linear_Z4":[0,2,3,2,0,1,3,0,0],"matrix_rows":[66,100,1,64,4,40,80,128,256],"offset":113,"phase":0,"quadratic_rows":[0,0,100,32,0,108,100,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[7,11,17,32,65,2,3,128,256],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":707,"old":431,"rank":2,"right":{"linear_Z4":[2,0,3,0,0,2,3,0,0],"matrix_rows":[99,71,69,98,64,40,80,128,256],"offset":21,"phase":3,"quadratic_rows":[96,68,70,32,0,9,71,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[7,9,19,34,64,128,256,1,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":692,"old":432,"rank":2,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,1],"matrix_rows":[263,13,257,130,260,256,16,32,64],"offset":34,"phase":0,"quadratic_rows":[10,391,10,261,0,0,0,2,266]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,11,17,34,64,128,256,1,3],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":693,"old":432,"rank":2,"right":{"linear_Z4":[1,0,1,0,0,0,0,0,2],"matrix_rows":[135,266,129,258,132,256,16,32,64],"offset":34,"phase":0,"quadratic_rows":[7,141,7,2,0,0,0,2,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,11,19,34,1,64,128,259,3],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":694,"old":432,"rank":2,"right":{"linear_Z4":[2,2,2,0,0,0,0,2,2],"matrix_rows":[135,414,16,258,260,272,32,64,384],"offset":4,"phase":3,"quadratic_rows":[150,25,25,134,135,0,0,25,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[7,8,17,34,64,128,1,259,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":695,"old":432,"rank":2,"right":{"linear_Z4":[0,2,1,0,0,0,0,0,1],"matrix_rows":[389,201,257,6,64,320,16,32,384],"offset":25,"phase":3,"quadratic_rows":[76,4,455,385,0,0,389,76,332]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,11,19,34,64,128,256,1,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":696,"old":432,"rank":2,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,1],"matrix_rows":[263,14,129,258,260,256,16,32,64],"offset":34,"phase":0,"quadratic_rows":[391,9,9,262,0,0,0,1,265]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[7,9,17,34,64,128,256,1,3],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":697,"old":432,"rank":2,"right":{"linear_Z4":[0,1,1,0,0,0,0,0,2],"matrix_rows":[135,265,257,130,132,256,16,32,64],"offset":34,"phase":0,"quadratic_rows":[142,7,7,1,0,0,0,1,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,9,19,34,64,1,128,259,3],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":698,"old":432,"rank":2,"right":{"linear_Z4":[2,2,2,0,0,0,0,2,2],"matrix_rows":[135,429,257,32,260,288,16,64,384],"offset":8,"phase":3,"quadratic_rows":[42,165,42,133,0,135,0,42,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,11,17,34,64,128,1,259,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":699,"old":432,"rank":2,"right":{"linear_Z4":[2,0,1,0,0,0,0,0,1],"matrix_rows":[390,202,5,258,64,320,16,32,384],"offset":21,"phase":3,"quadratic_rows":[4,76,455,386,0,0,390,76,332]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,9,16,32,66,128,2,259,3],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":668,"old":433,"rank":2,"right":{"linear_Z4":[0,0,0,2,1,0,0,0,1],"matrix_rows":[195,401,257,320,4,24,64,32,384],"offset":98,"phase":3,"quadratic_rows":[82,385,0,16,473,0,401,82,338]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,1,19,35,64,128,259,3],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":669,"old":433,"rank":2,"right":{"linear_Z4":[2,0,0,2,2,0,0,2,2],"matrix_rows":[153,414,4,260,264,272,32,64,384],"offset":4,"phase":3,"quadratic_rows":[156,152,153,7,7,0,0,7,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,9,16,34,67,128,256,2,3],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":670,"old":433,"rank":2,"right":{"linear_Z4":[0,0,0,1,0,0,0,2,1],"matrix_rows":[19,281,257,256,4,136,272,32,64],"offset":9,"phase":0,"quadratic_rows":[10,273,0,409,10,0,0,8,266]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,35,65,128,256,1,3],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":671,"old":433,"rank":2,"right":{"linear_Z4":[1,0,0,0,1,0,0,0,2],"matrix_rows":[153,266,129,256,4,264,144,32,64],"offset":10,"phase":0,"quadratic_rows":[25,8,0,147,25,0,0,8,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,10,16,35,65,128,1,259,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":672,"old":433,"rank":2,"right":{"linear_Z4":[2,0,0,0,1,0,0,0,1],"matrix_rows":[408,202,17,320,4,264,64,32,384],"offset":69,"phase":3,"quadratic_rows":[16,392,0,82,473,0,408,82,338]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[7,9,16,34,67,2,128,259,3],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":673,"old":433,"rank":2,"right":{"linear_Z4":[2,0,0,2,2,0,0,2,2],"matrix_rows":[435,153,257,288,4,32,272,64,384],"offset":32,"phase":3,"quadratic_rows":[42,145,0,177,42,153,0,42,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,35,67,128,256,1,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":674,"old":433,"rank":2,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,1],"matrix_rows":[281,26,129,256,4,264,272,32,64],"offset":10,"phase":0,"quadratic_rows":[409,280,0,3,3,0,0,1,259]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[7,9,16,34,66,128,256,2,3],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":675,"old":433,"rank":2,"right":{"linear_Z4":[0,0,0,1,1,0,0,0,2],"matrix_rows":[259,153,257,256,4,136,144,32,64],"offset":9,"phase":0,"quadratic_rows":[154,1,0,25,25,0,0,1,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,10,19,33,66,3,128,258,2],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":676,"old":434,"rank":2,"right":{"linear_Z4":[0,1,0,3,2,1,0,0,0],"matrix_rows":[281,39,37,278,32,312,256,64,384],"offset":106,"phase":0,"quadratic_rows":[282,307,304,41,39,318,0,0,39]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[7,9,18,35,64,2,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":677,"old":434,"rank":2,"right":{"linear_Z4":[2,1,0,2,0,0,0,0,0],"matrix_rows":[9,15,99,64,32,104,16,128,256],"offset":19,"phase":1,"quadratic_rows":[100,46,43,102,0,15,9,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,35,66,1,128,258,2],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":678,"old":434,"rank":2,"right":{"linear_Z4":[1,0,3,2,3,1,0,0,1],"matrix_rows":[281,40,37,6,32,312,256,64,384],"offset":98,"phase":3,"quadratic_rows":[317,4,7,1,305,305,0,0,305]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,18,34,64,3,1,128,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":679,"old":434,"rank":2,"right":{"linear_Z4":[0,2,3,1,0,1,2,0,0],"matrix_rows":[33,44,64,6,96,104,16,128,256],"offset":29,"phase":2,"quadratic_rows":[96,4,78,76,0,33,13,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[6,8,19,35,65,3,128,257,1],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":680,"old":434,"rank":2,"right":{"linear_Z4":[3,0,0,0,2,1,0,0,0],"matrix_rows":[316,281,309,6,32,40,256,64,384],"offset":69,"phase":3,"quadratic_rows":[45,4,43,5,0,37,0,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[7,8,17,34,64,3,2,128,256],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":681,"old":434,"rank":2,"right":{"linear_Z4":[2,2,2,2,0,2,0,0,0],"matrix_rows":[97,13,37,6,96,64,16,128,256],"offset":61,"phase":3,"quadratic_rows":[72,4,74,69,0,0,13,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[6,9,19,35,65,3,128,257,1],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":682,"old":434,"rank":2,"right":{"linear_Z4":[3,1,3,0,2,1,0,0,0],"matrix_rows":[42,281,309,278,32,40,256,64,384],"offset":77,"phase":0,"quadratic_rows":[45,318,7,275,42,307,0,0,42]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,19,34,64,1,2,128,256],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":683,"old":434,"rank":2,"right":{"linear_Z4":[1,1,3,2,0,1,3,0,0],"matrix_rows":[79,108,37,46,96,64,16,128,256],"offset":2,"phase":1,"quadratic_rows":[107,99,76,69,0,35,79,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":660,"old":435,"rank":1,"right":{"linear_Z4":[1,1,1,1,0,0,0,0,2],"matrix_rows":[335,321,322,324,328,16,32,256,384],"offset":159,"phase":0,"quadratic_rows":[15,15,15,15,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":661,"old":435,"rank":1,"right":{"linear_Z4":[1,1,2,0,0,2,0,0,0],"matrix_rows":[39,33,34,32,8,48,64,128,256],"offset":8,"phase":3,"quadratic_rows":[7,7,3,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":662,"old":435,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,0,0],"matrix_rows":[13,32,2,36,40,16,64,128,256],"offset":3,"phase":0,"quadratic_rows":[44,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":663,"old":435,"rank":1,"right":{"linear_Z4":[0,1,0,1,0,0,0,0,2],"matrix_rows":[330,1,322,4,328,16,32,256,384],"offset":149,"phase":0,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":664,"old":435,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,0,0,0,2],"matrix_rows":[326,1,322,324,8,16,32,256,384],"offset":141,"phase":0,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":665,"old":435,"rank":1,"right":{"linear_Z4":[0,1,1,3,0,2,0,0,0],"matrix_rows":[38,9,34,44,32,48,64,128,256],"offset":61,"phase":1,"quadratic_rows":[8,6,14,13,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":666,"old":435,"rank":1,"right":{"linear_Z4":[1,1,0,2,0,2,0,0,0],"matrix_rows":[43,33,34,4,32,48,64,128,256],"offset":16,"phase":3,"quadratic_rows":[11,11,0,3,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":667,"old":435,"rank":1,"right":{"linear_Z4":[1,1,0,0,0,0,0,0,2],"matrix_rows":[323,321,322,4,8,16,32,256,384],"offset":135,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":716,"old":436,"rank":1,"right":{"linear_Z4":[2,1,0,2,0,0,2,0,0],"matrix_rows":[10,1,66,4,64,80,32,128,256],"offset":50,"phase":1,"quadratic_rows":[0,74,0,66,0,0,10,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":717,"old":436,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,2,0,0,0],"matrix_rows":[2,1,290,4,8,16,256,64,384],"offset":69,"phase":3,"quadratic_rows":[0,290,0,0,0,2,0,0,2]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":718,"old":436,"rank":1,"right":{"linear_Z4":[1,1,0,0,0,0,0,0,2],"matrix_rows":[291,289,290,4,8,16,256,64,384],"offset":71,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":719,"old":436,"rank":1,"right":{"linear_Z4":[3,3,0,2,0,0,2,0,0],"matrix_rows":[67,73,66,4,64,80,32,128,256],"offset":1,"phase":1,"quadratic_rows":[11,3,0,1,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":720,"old":436,"rank":1,"right":{"linear_Z4":[3,2,0,3,0,0,2,0,0],"matrix_rows":[73,67,64,68,72,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[11,1,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":721,"old":436,"rank":1,"right":{"linear_Z4":[1,0,0,1,0,0,0,0,2],"matrix_rows":[297,289,2,4,296,16,256,64,384],"offset":83,"phase":0,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":722,"old":436,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,2,0,0,0],"matrix_rows":[8,1,2,4,296,16,256,64,384],"offset":81,"phase":3,"quadratic_rows":[0,0,0,296,0,8,0,0,8]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":723,"old":436,"rank":1,"right":{"linear_Z4":[2,2,0,1,0,0,2,0,0],"matrix_rows":[10,1,64,68,72,16,32,128,256],"offset":14,"phase":1,"quadratic_rows":[0,72,0,74,0,0,10,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":684,"old":437,"rank":1,"right":{"linear_Z4":[2,1,0,2,0,0,2,0,0],"matrix_rows":[3,64,66,4,8,80,32,128,256],"offset":50,"phase":1,"quadratic_rows":[66,67,0,0,0,0,3,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":685,"old":437,"rank":1,"right":{"linear_Z4":[0,1,2,0,0,0,0,0,0],"matrix_rows":[2,1,262,256,8,16,32,64,384],"offset":13,"phase":3,"quadratic_rows":[0,262,2,0,0,0,0,0,2]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":686,"old":437,"rank":1,"right":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[8,1,10,12,64,80,96,128,256],"offset":73,"phase":3,"quadratic_rows":[0,8,8,70,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":687,"old":437,"rank":1,"right":{"linear_Z4":[2,2,0,3,0,0,0,0,0],"matrix_rows":[8,9,2,4,64,80,96,128,256],"offset":71,"phase":0,"quadratic_rows":[8,0,0,73,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":688,"old":437,"rank":1,"right":{"linear_Z4":[2,2,0,3,0,0,0,0,0],"matrix_rows":[8,1,10,4,64,80,96,128,256],"offset":39,"phase":0,"quadratic_rows":[0,8,0,74,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":689,"old":437,"rank":1,"right":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[8,9,2,12,64,80,96,128,256],"offset":41,"phase":3,"quadratic_rows":[8,0,8,69,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":690,"old":437,"rank":1,"right":{"linear_Z4":[1,0,2,0,0,0,0,0,0],"matrix_rows":[1,261,2,256,8,16,32,64,384],"offset":11,"phase":3,"quadratic_rows":[261,0,1,0,0,0,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":691,"old":437,"rank":1,"right":{"linear_Z4":[1,2,0,2,0,0,2,0,0],"matrix_rows":[3,65,64,4,8,16,96,128,256],"offset":84,"phase":1,"quadratic_rows":[67,65,0,0,0,0,3,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":445,"old":438,"rank":1,"right":{"linear_Z4":[0,3,3,3,0,0,0,3,2],"matrix_rows":[398,1,258,260,264,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,142,142,142,0,0,0,142,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":447,"old":438,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,2,0],"matrix_rows":[133,129,2,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":443,"old":439,"rank":1,"right":{"linear_Z4":[0,3,3,3,3,0,3,0,0],"matrix_rows":[30,65,194,132,200,208,32,128,256],"offset":1,"phase":1,"quadratic_rows":[64,222,158,222,222,0,91,30,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":446,"old":439,"rank":1,"right":{"linear_Z4":[2,3,1,2,3,0,3,0,2],"matrix_rows":[342,5,258,256,8,272,288,320,384],"offset":438,"phase":2,"quadratic_rows":[4,86,87,0,86,0,86,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":447,"old":440,"rank":1,"right":{"linear_Z4":[3,0,3,0,2,0,0,0,0],"matrix_rows":[21,17,2,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":448,"old":440,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,0,2],"matrix_rows":[261,257,2,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":446,"old":441,"rank":1,"right":{"linear_Z4":[1,1,0,1,1,0,1,2,2],"matrix_rows":[347,385,386,4,392,400,32,448,256],"offset":0,"phase":0,"quadratic_rows":[219,219,0,219,219,0,219,91,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":450,"old":441,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,1,1,2],"matrix_rows":[475,257,258,4,264,256,32,320,384],"offset":0,"phase":0,"quadratic_rows":[219,219,0,219,203,0,219,219,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":443,"old":442,"rank":1,"right":{"linear_Z4":[3,3,0,3,3,0,2,0,0],"matrix_rows":[91,65,66,4,72,80,32,128,256],"offset":1,"phase":1,"quadratic_rows":[27,27,0,27,27,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":448,"old":442,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,2,0,0],"matrix_rows":[69,65,2,68,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":449,"old":443,"rank":1,"right":{"linear_Z4":[1,3,2,3,3,0,2,0,0],"matrix_rows":[91,65,82,20,88,64,32,128,256],"offset":60,"phase":2,"quadratic_rows":[27,11,16,11,21,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":454,"old":443,"rank":1,"right":{"linear_Z4":[1,0,2,1,0,0,0,0,2],"matrix_rows":[9,261,2,256,264,16,288,64,384],"offset":0,"phase":0,"quadratic_rows":[269,0,1,265,0,0,0,0,9]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":445,"old":444,"rank":1,"right":{"linear_Z4":[3,3,0,3,0,0,3,3,0],"matrix_rows":[139,321,258,68,264,16,32,256,384],"offset":1,"phase":1,"quadratic_rows":[459,395,64,395,0,0,69,395,139]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":450,"old":444,"rank":1,"right":{"linear_Z4":[3,0,2,3,0,2,0,0,0],"matrix_rows":[41,37,2,32,40,48,64,128,256],"offset":1,"phase":1,"quadratic_rows":[13,0,1,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":452,"old":445,"rank":1,"right":{"linear_Z4":[2,3,1,3,0,0,0,1,2],"matrix_rows":[270,129,258,388,264,16,32,64,256],"offset":267,"phase":0,"quadratic_rows":[128,14,142,14,0,0,0,133,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":453,"old":445,"rank":1,"right":{"linear_Z4":[2,1,3,2,0,0,0,1,2],"matrix_rows":[390,5,258,256,8,272,288,320,384],"offset":250,"phase":2,"quadratic_rows":[4,134,135,0,0,0,0,134,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":451,"old":446,"rank":1,"right":{"linear_Z4":[3,3,0,3,0,0,3,0,0],"matrix_rows":[91,129,130,4,136,128,32,192,256],"offset":33,"phase":0,"quadratic_rows":[219,219,0,219,203,0,219,91,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":454,"old":446,"rank":1,"right":{"linear_Z4":[1,1,0,1,1,0,0,0,0],"matrix_rows":[91,193,194,4,200,208,32,128,256],"offset":183,"phase":0,"quadratic_rows":[155,155,0,155,155,0,128,91,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":452,"old":447,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,0,0,2],"matrix_rows":[11,257,258,4,264,16,32,64,128],"offset":0,"phase":0,"quadratic_rows":[267,267,0,267,0,0,0,0,11]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":455,"old":447,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,0,2],"matrix_rows":[261,257,2,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":449,"old":448,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":455,"old":448,"rank":1,"right":{"linear_Z4":[3,0,3,0,2,0,0,0,0],"matrix_rows":[21,17,2,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,11,19,33,66,2,131,259,3],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":456,"old":449,"rank":2,"right":{"linear_Z4":[2,2,1,2,0,0,0,0,1],"matrix_rows":[34,266,13,270,256,288,48,320,384],"offset":30,"phase":0,"quadratic_rows":[12,36,7,289,0,266,0,0,296]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[6,10,17,34,3,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":459,"old":449,"rank":2,"right":{"linear_Z4":[1,0,2,1,1,0,0,0,0],"matrix_rows":[276,271,277,272,256,280,288,320,384],"offset":1,"phase":1,"quadratic_rows":[27,29,10,31,27,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":451,"old":450,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,1,0,0],"matrix_rows":[203,385,386,4,392,16,32,448,256],"offset":407,"phase":0,"quadratic_rows":[331,331,0,331,0,0,331,256,203]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":453,"old":450,"rank":1,"right":{"linear_Z4":[3,3,0,3,0,0,0,3,0],"matrix_rows":[203,257,258,4,264,16,32,256,384],"offset":129,"phase":0,"quadratic_rows":[459,459,0,459,0,0,395,459,203]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[7,9,16,35,64,128,2,3,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":458,"old":451,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,0,0,1,0],"matrix_rows":[11,201,129,128,4,136,16,32,256],"offset":9,"phase":0,"quadratic_rows":[66,137,0,66,0,0,137,194,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,33,64,128,1,3,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":461,"old":451,"rank":2,"right":{"linear_Z4":[1,0,0,1,0,0,0,1,0],"matrix_rows":[201,2,65,128,4,72,16,32,256],"offset":10,"phase":0,"quadratic_rows":[137,128,0,137,0,0,128,203,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,11,19,33,67,130,259,3,1],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":457,"old":452,"rank":2,"right":{"linear_Z4":[2,2,1,3,0,0,0,1,0],"matrix_rows":[138,258,13,134,128,256,144,416,192],"offset":29,"phase":0,"quadratic_rows":[12,268,15,399,0,0,0,392,138]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[7,10,17,35,65,129,257,1,2],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":460,"old":452,"rank":2,"right":{"linear_Z4":[0,0,1,0,0,0,0,2,0],"matrix_rows":[137,15,389,256,128,392,144,160,192],"offset":10,"phase":0,"quadratic_rows":[258,269,270,262,0,0,0,0,15]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,33,64,128,256,1,3],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":458,"old":453,"rank":2,"right":{"linear_Z4":[1,0,0,1,0,0,0,0,1],"matrix_rows":[393,2,129,256,4,136,16,32,64],"offset":10,"phase":0,"quadratic_rows":[265,256,0,265,0,0,0,256,395]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[7,9,16,35,64,128,256,2,3],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":460,"old":453,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,1],"matrix_rows":[11,393,257,256,4,264,16,32,64],"offset":9,"phase":0,"quadratic_rows":[130,265,0,130,0,0,0,265,386]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,33,1,64,3,128,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":459,"old":454,"rank":2,"right":{"linear_Z4":[1,0,0,1,0,0,1,0,0],"matrix_rows":[89,2,17,64,4,24,32,128,256],"offset":10,"phase":0,"quadratic_rows":[73,64,0,73,64,0,91,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[7,9,16,35,2,64,3,128,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":461,"old":454,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,0,1,0,0],"matrix_rows":[11,89,65,64,4,72,32,128,256],"offset":9,"phase":0,"quadratic_rows":[18,73,0,18,73,0,82,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,19,33,67,2,131,259,3],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":456,"old":455,"rank":2,"right":{"linear_Z4":[2,1,0,1,0,0,0,0,3],"matrix_rows":[44,266,13,46,256,288,272,320,384],"offset":31,"phase":1,"quadratic_rows":[12,294,267,45,0,266,0,0,294]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,9,19,33,67,2,131,259,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":457,"old":455,"rank":2,"right":{"linear_Z4":[2,1,0,3,0,0,0,0,1],"matrix_rows":[266,292,13,294,256,288,272,320,384],"offset":31,"phase":1,"quadratic_rows":[12,46,267,47,0,266,0,0,292]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,19,35,66,1,130,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":456,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,2],"matrix_rows":[1,258,32,256,292,296,272,320,384],"offset":62,"phase":1,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":812,"old":456,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,2,36,40,16,64,128,256],"offset":26,"phase":1,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":875,"old":456,"rank":1,"right":{"linear_Z4":[1,2,0,0,0,0,0,0,0],"matrix_rows":[1,259,256,260,264,272,32,320,384],"offset":31,"phase":1,"quadratic_rows":[259,1,0,0,0,0,0,0,1]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":456,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,260,264,272,32,320,384],"offset":29,"phase":2,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,19,33,66,3,130,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":457,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[1,258,288,256,36,296,272,320,384],"offset":42,"phase":3,"quadratic_rows":[288,0,0,0,0,1,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":818,"old":457,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,2,36,40,16,64,128,256],"offset":16,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":893,"old":457,"rank":1,"right":{"linear_Z4":[1,2,0,0,0,0,0,0,0],"matrix_rows":[1,259,256,260,8,272,288,320,384],"offset":79,"phase":1,"quadratic_rows":[259,1,0,0,0,0,0,0,1]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,34,64,2,128,3,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":458,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,0,0,1,0],"matrix_rows":[129,136,160,2,164,32,16,64,256],"offset":51,"phase":0,"quadratic_rows":[32,0,0,160,0,9,0,136,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":814,"old":458,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,0],"matrix_rows":[9,129,2,4,128,16,160,64,256],"offset":64,"phase":3,"quadratic_rows":[137,0,0,129,0,0,0,9,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":881,"old":458,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,0,2,0],"matrix_rows":[9,128,2,132,136,16,32,64,256],"offset":8,"phase":3,"quadratic_rows":[136,0,0,137,0,0,0,9,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,34,3,2,64,128,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":459,"rank":2,"right":{"linear_Z4":[2,0,0,0,1,0,0,0,0],"matrix_rows":[17,24,48,2,52,32,64,128,256],"offset":51,"phase":0,"quadratic_rows":[32,0,0,48,24,9,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":810,"old":459,"rank":1,"right":{"linear_Z4":[3,0,0,2,0,2,0,0,0],"matrix_rows":[9,33,2,4,32,48,64,128,256],"offset":50,"phase":1,"quadratic_rows":[41,0,0,33,0,9,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":869,"old":459,"rank":1,"right":{"linear_Z4":[0,0,0,1,2,0,0,0,0],"matrix_rows":[9,16,2,20,24,32,64,128,256],"offset":8,"phase":3,"quadratic_rows":[24,0,0,25,9,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,34,64,2,128,256,3],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":460,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,0,0,0,1],"matrix_rows":[257,264,288,2,292,32,16,64,128],"offset":51,"phase":0,"quadratic_rows":[32,0,0,288,0,9,0,0,264]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":816,"old":460,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[9,257,2,4,256,16,288,64,128],"offset":64,"phase":3,"quadratic_rows":[265,0,0,257,0,0,0,0,9]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":887,"old":460,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,0,0,2],"matrix_rows":[9,256,2,260,264,16,32,64,128],"offset":8,"phase":3,"quadratic_rows":[264,0,0,265,0,0,0,0,9]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":460,"rank":1,"right":{"linear_Z4":[2,0,0,3,0,0,0,0,2],"matrix_rows":[264,9,2,4,256,16,288,64,128],"offset":67,"phase":3,"quadratic_rows":[8,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,34,64,2,3,128,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":461,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,0,1,0,0],"matrix_rows":[65,72,96,2,100,32,16,128,256],"offset":51,"phase":0,"quadratic_rows":[32,0,0,96,0,9,72,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":820,"old":461,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,2,0,0],"matrix_rows":[9,65,2,4,64,16,96,128,256],"offset":64,"phase":3,"quadratic_rows":[73,0,0,65,0,0,9,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":899,"old":461,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,2,0,0],"matrix_rows":[9,64,2,68,72,16,32,128,256],"offset":8,"phase":3,"quadratic_rows":[72,0,0,73,0,0,9,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":461,"rank":1,"right":{"linear_Z4":[2,0,0,3,0,0,2,0,0],"matrix_rows":[72,9,2,4,64,16,96,128,256],"offset":67,"phase":3,"quadratic_rows":[8,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":464,"old":462,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,3,0,2],"matrix_rows":[322,1,258,4,8,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,66,0,0,0,0,66,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":473,"old":462,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,1,0,2],"matrix_rows":[64,1,2,4,8,16,32,320,128],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,320,0,64]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":464,"old":463,"rank":1,"right":{"linear_Z4":[0,0,3,3,2,0,0,0,0],"matrix_rows":[28,1,2,20,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":468,"old":463,"rank":1,"right":{"linear_Z4":[3,0,3,0,2,0,0,0,0],"matrix_rows":[21,17,2,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":477,"old":464,"rank":1,"right":{"linear_Z4":[2,0,2,1,0,2,0,0,0],"matrix_rows":[40,9,2,4,32,48,64,128,256],"offset":42,"phase":3,"quadratic_rows":[8,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":480,"old":464,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,8,16,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":471,"old":465,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,0,0],"matrix_rows":[2,1,66,4,8,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,66,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":473,"old":465,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,1,2],"matrix_rows":[258,1,386,4,8,16,32,192,256],"offset":389,"phase":0,"quadratic_rows":[0,130,0,0,0,0,128,194,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":469,"old":466,"rank":1,"right":{"linear_Z4":[0,2,0,0,0,0,1,3,2],"matrix_rows":[448,1,130,4,8,16,32,320,256],"offset":260,"phase":2,"quadratic_rows":[0,128,0,0,0,0,192,194,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":472,"old":466,"rank":1,"right":{"linear_Z4":[0,2,0,0,0,0,3,1,2],"matrix_rows":[448,1,66,4,8,16,32,256,384],"offset":132,"phase":2,"quadratic_rows":[0,64,0,0,0,0,194,192,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":468,"old":467,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,3,2,0],"matrix_rows":[194,1,130,4,8,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,66,0,0,0,0,66,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":469,"old":467,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,0],"matrix_rows":[2,1,130,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,130,0,0,0,0,0,2,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":475,"old":468,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[320,1,2,4,8,16,32,256,384],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":477,"old":468,"rank":1,"right":{"linear_Z4":[3,0,3,2,0,0,0,0,0],"matrix_rows":[5,41,2,36,32,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[45,0,37,1,0,5,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":475,"old":469,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[322,1,258,4,8,16,32,256,128],"offset":0,"phase":0,"quadratic_rows":[0,66,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":476,"old":469,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,0,2],"matrix_rows":[258,1,322,4,8,16,32,256,128],"offset":0,"phase":0,"quadratic_rows":[0,66,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":471,"old":470,"rank":1,"right":{"linear_Z4":[0,0,3,3,2,0,0,0,0],"matrix_rows":[28,1,2,20,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":472,"old":470,"rank":1,"right":{"linear_Z4":[3,0,3,0,2,0,0,0,0],"matrix_rows":[21,17,2,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":474,"old":471,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[386,1,258,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,130,0,0,0,0,0,2,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":479,"old":471,"rank":1,"right":{"linear_Z4":[2,0,2,1,0,2,0,0,0],"matrix_rows":[40,9,2,4,32,48,64,128,256],"offset":42,"phase":3,"quadratic_rows":[8,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":476,"old":472,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,2],"matrix_rows":[258,1,386,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,130,0,0,0,0,0,2,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":479,"old":472,"rank":1,"right":{"linear_Z4":[3,0,3,2,0,0,0,0,0],"matrix_rows":[5,41,2,36,32,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[45,0,37,1,0,5,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":474,"old":473,"rank":1,"right":{"linear_Z4":[0,2,0,0,0,0,3,0,2],"matrix_rows":[320,1,66,4,8,16,32,256,384],"offset":388,"phase":1,"quadratic_rows":[0,64,0,0,0,0,66,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":480,"old":473,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,1,2,0],"matrix_rows":[194,1,128,4,8,16,32,192,256],"offset":0,"phase":0,"quadratic_rows":[0,64,0,0,0,0,66,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,17,32,65,1,130,256,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":459,"old":474,"rank":2,"right":{"linear_Z4":[2,0,1,2,0,2,0,0,2],"matrix_rows":[36,258,5,256,32,8,48,320,128],"offset":110,"phase":3,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,19,1,34,2,64,128,256],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":482,"old":474,"rank":2,"right":{"linear_Z4":[2,0,0,3,0,1,0,0,0],"matrix_rows":[44,36,13,2,32,48,64,128,256],"offset":23,"phase":0,"quadratic_rows":[12,0,33,41,0,44,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,19,33,3,2,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":478,"old":475,"rank":2,"right":{"linear_Z4":[2,0,0,1,2,0,0,0,0],"matrix_rows":[60,36,13,2,16,48,64,128,256],"offset":37,"phase":3,"quadratic_rows":[12,0,1,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[6,9,18,34,64,2,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":481,"old":475,"rank":2,"right":{"linear_Z4":[3,0,3,2,0,0,0,0,2],"matrix_rows":[258,5,33,256,44,32,16,64,384],"offset":11,"phase":1,"quadratic_rows":[37,0,45,4,0,5,0,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[6,9,18,34,64,2,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":481,"old":476,"rank":2,"right":{"linear_Z4":[3,0,3,2,0,0,0,2,0],"matrix_rows":[130,5,33,128,44,32,16,192,256],"offset":11,"phase":1,"quadratic_rows":[37,0,45,4,0,5,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,19,33,3,2,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":484,"old":476,"rank":2,"right":{"linear_Z4":[2,0,0,1,2,0,0,0,0],"matrix_rows":[60,36,13,2,16,48,64,128,256],"offset":37,"phase":3,"quadratic_rows":[12,0,1,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,17,32,65,1,130,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":478,"old":477,"rank":2,"right":{"linear_Z4":[2,0,3,0,0,2,0,0,2],"matrix_rows":[36,320,5,2,32,8,48,256,384],"offset":84,"phase":1,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,17,32,65,1,128,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":483,"old":477,"rank":2,"right":{"linear_Z4":[2,0,3,0,0,2,0,0,2],"matrix_rows":[36,258,5,256,32,8,48,64,384],"offset":84,"phase":1,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,17,33,64,1,128,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":478,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,2],"matrix_rows":[1,258,32,256,36,40,16,64,384],"offset":14,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":860,"old":478,"rank":1,"right":{"linear_Z4":[1,2,0,0,0,0,0,0,0],"matrix_rows":[1,259,256,4,8,16,32,64,384],"offset":7,"phase":3,"quadratic_rows":[259,1,0,0,0,0,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1019,"old":478,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,2,36,40,16,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":478,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,8,16,32,64,384],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,17,32,65,1,128,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":482,"old":479,"rank":2,"right":{"linear_Z4":[2,1,3,0,0,2,0,0,2],"matrix_rows":[36,386,5,258,32,8,48,64,256],"offset":84,"phase":1,"quadratic_rows":[4,130,5,0,0,0,0,2,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,17,32,65,1,128,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":484,"old":479,"rank":2,"right":{"linear_Z4":[2,1,3,0,0,2,0,2,2],"matrix_rows":[36,258,5,386,32,8,48,64,256],"offset":84,"phase":1,"quadratic_rows":[4,130,5,0,0,0,0,2,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,17,32,65,1,130,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":459,"old":480,"rank":2,"right":{"linear_Z4":[2,0,1,2,0,2,0,0,2],"matrix_rows":[36,320,5,2,32,8,48,256,384],"offset":230,"phase":3,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,19,1,34,2,64,128,256],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":483,"old":480,"rank":2,"right":{"linear_Z4":[2,0,0,3,0,1,0,0,0],"matrix_rows":[44,36,13,2,32,48,64,128,256],"offset":23,"phase":0,"quadratic_rows":[12,0,33,41,0,44,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,18,34,3,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":481,"rank":2,"right":{"linear_Z4":[0,0,2,0,1,0,0,0,0],"matrix_rows":[17,20,32,2,48,56,64,128,256],"offset":39,"phase":0,"quadratic_rows":[48,0,32,0,17,5,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":858,"old":481,"rank":1,"right":{"linear_Z4":[2,0,3,0,0,2,0,0,0],"matrix_rows":[5,32,2,36,8,48,64,128,256],"offset":42,"phase":1,"quadratic_rows":[36,0,37,0,0,5,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1013,"old":481,"rank":1,"right":{"linear_Z4":[1,0,0,0,2,0,0,0,0],"matrix_rows":[5,17,2,16,24,32,64,128,256],"offset":16,"phase":3,"quadratic_rows":[21,0,17,0,5,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,17,33,64,1,130,256,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":482,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,2],"matrix_rows":[1,258,32,256,36,40,16,320,128],"offset":14,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":854,"old":482,"rank":1,"right":{"linear_Z4":[1,2,0,0,0,0,0,0,0],"matrix_rows":[1,259,256,4,8,16,32,320,128],"offset":7,"phase":3,"quadratic_rows":[259,1,0,0,0,0,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1001,"old":482,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,2,36,40,16,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,33,64,1,130,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":483,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,2],"matrix_rows":[1,320,32,2,36,40,16,256,384],"offset":134,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":813,"old":483,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,2,0,0],"matrix_rows":[1,321,2,4,8,16,32,256,384],"offset":131,"phase":3,"quadratic_rows":[321,0,0,0,0,0,1,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":874,"old":483,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,2,36,40,16,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":483,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[320,1,2,4,8,16,32,256,384],"offset":129,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,17,33,64,1,130,2,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":484,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,2,0,2,0],"matrix_rows":[1,130,32,128,36,40,16,192,256],"offset":14,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":856,"old":484,"rank":1,"right":{"linear_Z4":[1,2,0,0,0,0,0,0,0],"matrix_rows":[1,131,128,4,8,16,32,192,256],"offset":7,"phase":3,"quadratic_rows":[131,1,0,0,0,0,0,1,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1007,"old":484,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,2,36,40,16,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":484,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[130,1,128,4,8,16,32,192,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":491,"old":485,"rank":1,"right":{"linear_Z4":[0,1,0,0,2,0,0,0,0],"matrix_rows":[2,1,18,4,8,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,18,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":492,"old":485,"rank":1,"right":{"linear_Z4":[2,0,2,1,0,0,0,2,0],"matrix_rows":[136,9,2,4,128,16,160,64,256],"offset":91,"phase":1,"quadratic_rows":[8,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":494,"old":486,"rank":1,"right":{"linear_Z4":[2,0,2,1,0,0,0,2,0],"matrix_rows":[136,1,2,12,128,16,160,64,256],"offset":91,"phase":1,"quadratic_rows":[0,0,8,12,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":495,"old":486,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,0,0],"matrix_rows":[2,1,66,4,8,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,66,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":495,"old":487,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,2,0],"matrix_rows":[137,129,2,4,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":502,"old":487,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,2,0],"matrix_rows":[140,1,2,132,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":494,"old":488,"rank":1,"right":{"linear_Z4":[0,3,0,0,3,0,0,0,2],"matrix_rows":[274,1,258,4,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":496,"old":488,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,3,0,2],"matrix_rows":[322,1,258,4,8,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,66,0,0,0,0,66,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":492,"old":489,"rank":1,"right":{"linear_Z4":[3,0,3,2,0,0,0,0,0],"matrix_rows":[5,41,2,36,32,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[45,0,37,1,0,5,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":496,"old":489,"rank":1,"right":{"linear_Z4":[3,0,3,2,0,0,0,0,0],"matrix_rows":[5,33,2,44,32,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[37,0,45,4,0,5,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":491,"old":490,"rank":1,"right":{"linear_Z4":[0,2,0,0,3,0,1,0,2],"matrix_rows":[336,1,18,4,8,256,32,320,128],"offset":36,"phase":2,"quadratic_rows":[0,16,0,0,82,0,80,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":502,"old":490,"rank":1,"right":{"linear_Z4":[0,2,0,0,1,0,3,0,2],"matrix_rows":[336,1,66,4,8,272,32,256,128],"offset":132,"phase":2,"quadratic_rows":[0,64,0,0,80,0,82,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":493,"old":491,"rank":1,"right":{"linear_Z4":[2,0,2,1,0,0,0,2,0],"matrix_rows":[136,9,2,4,128,16,160,64,256],"offset":91,"phase":1,"quadratic_rows":[8,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":503,"old":491,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,0,2],"matrix_rows":[258,1,322,4,8,16,32,256,128],"offset":0,"phase":0,"quadratic_rows":[0,66,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":493,"old":492,"rank":1,"right":{"linear_Z4":[0,1,0,0,2,0,0,0,0],"matrix_rows":[2,1,18,4,8,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,18,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":497,"old":492,"rank":1,"right":{"linear_Z4":[2,0,3,0,0,0,0,2,0],"matrix_rows":[132,5,2,128,8,16,160,64,256],"offset":67,"phase":3,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,17,32,64,129,258,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":498,"old":493,"rank":2,"right":{"linear_Z4":[2,1,3,0,0,0,0,2,2],"matrix_rows":[132,322,5,258,128,8,16,160,256],"offset":133,"phase":3,"quadratic_rows":[4,66,5,0,0,0,2,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,9,16,32,65,128,2,256,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":504,"old":493,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,3],"matrix_rows":[258,320,1,256,4,8,272,32,128],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,256,0,320]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":499,"old":494,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,2,0,0],"matrix_rows":[16,1,2,4,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,80,0,16,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":501,"old":494,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,0,0],"matrix_rows":[2,1,66,4,8,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,66,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":501,"old":495,"rank":1,"right":{"linear_Z4":[2,0,2,1,0,0,0,2,0],"matrix_rows":[136,1,2,12,128,16,160,64,256],"offset":91,"phase":1,"quadratic_rows":[0,0,8,12,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":505,"old":495,"rank":1,"right":{"linear_Z4":[3,0,2,3,0,0,0,0,0],"matrix_rows":[9,37,2,32,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[45,0,1,41,0,9,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":497,"old":496,"rank":1,"right":{"linear_Z4":[2,0,3,0,0,0,0,2,0],"matrix_rows":[132,5,2,128,136,16,32,64,256],"offset":19,"phase":3,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":499,"old":496,"rank":1,"right":{"linear_Z4":[0,1,0,0,2,0,3,0,2],"matrix_rows":[322,1,258,4,8,80,32,256,128],"offset":160,"phase":2,"quadratic_rows":[0,66,0,0,64,0,82,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,11,16,32,1,64,130,256,2],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":498,"old":497,"rank":2,"right":{"linear_Z4":[0,2,0,0,3,0,0,0,3],"matrix_rows":[258,338,1,274,4,8,32,256,128],"offset":0,"phase":0,"quadratic_rows":[0,320,0,0,80,0,18,0,258]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,9,16,32,65,128,2,256,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":500,"old":497,"rank":2,"right":{"linear_Z4":[0,0,0,0,3,0,2,0,3],"matrix_rows":[338,320,1,256,4,8,336,32,128],"offset":9,"phase":0,"quadratic_rows":[0,80,0,0,18,0,258,0,320]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,17,33,66,1,128,256,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":498,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,2],"matrix_rows":[1,258,32,256,36,40,272,64,128],"offset":14,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":864,"old":498,"rank":1,"right":{"linear_Z4":[1,2,0,0,0,0,0,0,0],"matrix_rows":[1,259,256,4,8,272,32,64,128],"offset":7,"phase":3,"quadratic_rows":[259,1,0,0,0,0,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1031,"old":498,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,2,36,40,16,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":498,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,8,272,32,64,128],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,17,33,66,128,256,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":500,"old":499,"rank":2,"right":{"linear_Z4":[2,0,3,0,1,0,0,2,2],"matrix_rows":[132,274,5,256,128,136,272,32,64],"offset":37,"phase":3,"quadratic_rows":[4,16,5,0,18,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,16,32,66,128,2,256,3],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":506,"old":499,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,1],"matrix_rows":[66,272,1,320,4,8,64,32,128],"offset":66,"phase":0,"quadratic_rows":[0,256,0,0,320,0,272,0,338]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,33,66,1,130,256,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":500,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,2],"matrix_rows":[1,272,32,2,36,40,256,320,128],"offset":70,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":817,"old":500,"rank":1,"right":{"linear_Z4":[1,0,0,0,2,0,0,0,0],"matrix_rows":[1,273,2,4,8,256,32,320,128],"offset":35,"phase":3,"quadratic_rows":[273,0,0,0,1,0,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":886,"old":500,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,2,36,40,16,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":500,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[272,1,2,4,8,256,32,320,128],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,17,33,66,128,256,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":482,"old":501,"rank":2,"right":{"linear_Z4":[2,1,3,0,0,0,0,2,2],"matrix_rows":[132,274,5,258,128,136,256,32,64],"offset":37,"phase":3,"quadratic_rows":[4,18,5,0,2,0,0,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,9,16,32,66,128,1,256,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":506,"old":501,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,1],"matrix_rows":[258,80,1,64,4,8,320,32,128],"offset":9,"phase":0,"quadratic_rows":[0,320,0,0,256,0,258,0,338]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":503,"old":502,"rank":1,"right":{"linear_Z4":[0,1,0,0,2,0,0,0,2],"matrix_rows":[258,1,274,4,8,256,32,64,128],"offset":0,"phase":0,"quadratic_rows":[0,18,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":505,"old":502,"rank":1,"right":{"linear_Z4":[2,0,1,2,0,0,0,2,0],"matrix_rows":[132,5,2,128,8,16,160,64,256],"offset":91,"phase":1,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,17,32,66,129,2,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":458,"old":503,"rank":2,"right":{"linear_Z4":[2,0,1,2,0,0,2,2,0],"matrix_rows":[132,66,5,64,128,8,80,160,256],"offset":191,"phase":1,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,16,33,66,129,2,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":504,"old":503,"rank":2,"right":{"linear_Z4":[2,0,2,1,0,0,2,2,0],"matrix_rows":[136,66,9,64,4,128,80,160,256],"offset":191,"phase":1,"quadratic_rows":[8,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,18,33,64,2,128,3,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":504,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,0,0,1,0],"matrix_rows":[129,132,160,2,32,168,16,64,256],"offset":51,"phase":0,"quadratic_rows":[32,0,160,0,0,5,0,132,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":857,"old":504,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,2,0],"matrix_rows":[5,128,2,132,136,16,32,64,256],"offset":16,"phase":3,"quadratic_rows":[132,0,133,0,0,0,0,5,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1006,"old":504,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,0],"matrix_rows":[5,129,2,128,8,16,160,64,256],"offset":64,"phase":3,"quadratic_rows":[133,0,129,0,0,0,0,5,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":504,"rank":1,"right":{"linear_Z4":[2,0,3,0,0,0,0,2,0],"matrix_rows":[132,5,2,128,8,16,160,64,256],"offset":67,"phase":3,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,9,16,32,66,128,1,256,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":458,"old":505,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,1],"matrix_rows":[258,80,1,64,4,8,320,32,128],"offset":9,"phase":0,"quadratic_rows":[0,320,0,0,256,0,258,0,338]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,16,33,66,129,256,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":482,"old":505,"rank":2,"right":{"linear_Z4":[2,1,0,3,0,0,0,2,2],"matrix_rows":[136,274,9,258,4,128,256,160,64],"offset":133,"phase":3,"quadratic_rows":[8,18,0,9,2,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,18,34,64,1,128,3,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":506,"rank":2,"right":{"linear_Z4":[0,0,2,0,0,0,0,1,0],"matrix_rows":[129,132,32,2,160,168,16,64,256],"offset":39,"phase":0,"quadratic_rows":[160,0,32,0,0,5,0,129,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":862,"old":506,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,2,0],"matrix_rows":[5,128,2,132,8,16,160,64,256],"offset":64,"phase":3,"quadratic_rows":[132,0,133,0,0,0,0,5,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1025,"old":506,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,0],"matrix_rows":[5,129,2,128,136,16,32,64,256],"offset":16,"phase":3,"quadratic_rows":[133,0,129,0,0,0,0,5,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":509,"old":507,"rank":1,"right":{"linear_Z4":[3,3,3,0,0,0,3,0,2],"matrix_rows":[327,257,258,260,8,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[71,71,71,0,0,0,71,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":519,"old":507,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,0,2],"matrix_rows":[268,1,2,260,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":509,"old":508,"rank":1,"right":{"linear_Z4":[3,3,0,3,0,0,3,3,0],"matrix_rows":[75,257,258,132,392,16,32,320,256],"offset":1,"phase":1,"quadratic_rows":[331,331,128,459,0,0,331,140,75]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":523,"old":508,"rank":1,"right":{"linear_Z4":[2,3,2,1,0,0,3,3,2],"matrix_rows":[458,1,258,12,256,272,288,320,384],"offset":123,"phase":0,"quadratic_rows":[0,202,8,206,0,0,202,202,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":522,"old":509,"rank":1,"right":{"linear_Z4":[3,3,1,2,0,0,3,0,2],"matrix_rows":[327,321,322,260,72,16,32,256,128],"offset":150,"phase":2,"quadratic_rows":[7,7,71,64,0,0,76,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":525,"old":509,"rank":1,"right":{"linear_Z4":[1,0,1,2,0,0,0,2,0],"matrix_rows":[5,129,2,140,128,144,160,64,256],"offset":0,"phase":0,"quadratic_rows":[133,0,141,4,0,0,0,5,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":514,"old":510,"rank":1,"right":{"linear_Z4":[1,2,1,0,1,0,1,1,0],"matrix_rows":[213,385,130,388,8,400,32,448,256],"offset":431,"phase":3,"quadratic_rows":[341,128,341,0,341,0,341,386,213]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":515,"old":510,"rank":1,"right":{"linear_Z4":[3,2,3,0,0,2,0,0,0],"matrix_rows":[39,33,32,36,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[7,5,7,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":517,"old":511,"rank":1,"right":{"linear_Z4":[3,0,3,3,0,0,0,0,2],"matrix_rows":[5,257,10,268,256,16,288,64,384],"offset":90,"phase":0,"quadratic_rows":[261,8,269,14,0,0,0,0,5]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":519,"old":511,"rank":1,"right":{"linear_Z4":[0,0,3,3,2,0,0,0,0],"matrix_rows":[28,1,2,20,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":515,"old":512,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,1,1,2],"matrix_rows":[471,257,256,260,8,272,32,320,384],"offset":0,"phase":0,"quadratic_rows":[215,213,215,0,215,0,215,215,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":523,"old":512,"rank":1,"right":{"linear_Z4":[1,1,1,0,0,0,1,1,2],"matrix_rows":[471,257,258,260,8,256,32,320,384],"offset":0,"phase":0,"quadratic_rows":[215,215,215,0,199,0,215,215,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":514,"old":513,"rank":1,"right":{"linear_Z4":[1,1,1,0,1,0,1,2,0],"matrix_rows":[87,129,130,132,8,144,32,192,256],"offset":0,"phase":0,"quadratic_rows":[215,215,215,0,215,0,215,87,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":517,"old":513,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,0],"matrix_rows":[2,1,130,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,130,0,0,0,0,0,2,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":516,"old":514,"rank":1,"right":{"linear_Z4":[2,0,2,0,3,0,3,0,2],"matrix_rows":[338,1,256,4,264,272,288,320,384],"offset":95,"phase":0,"quadratic_rows":[0,80,0,0,82,0,82,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":518,"old":514,"rank":1,"right":{"linear_Z4":[3,3,3,0,3,0,2,0,0],"matrix_rows":[23,193,130,196,8,208,32,128,256],"offset":1,"phase":1,"quadratic_rows":[215,151,215,0,215,0,21,23,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":516,"old":515,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,1,0,0],"matrix_rows":[213,385,2,388,8,400,32,448,256],"offset":427,"phase":0,"quadratic_rows":[341,0,341,0,341,0,341,256,213]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":524,"old":515,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,3,3,0],"matrix_rows":[213,257,2,260,8,256,32,320,384],"offset":33,"phase":0,"quadratic_rows":[469,0,469,0,453,0,469,469,213]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,32,65,128,2,3,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":481,"old":516,"rank":2,"right":{"linear_Z4":[1,0,1,0,0,0,0,1,0],"matrix_rows":[21,192,145,2,148,8,128,32,256],"offset":85,"phase":0,"quadratic_rows":[133,0,133,0,128,0,128,213,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[7,8,19,32,65,128,2,3,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":506,"old":516,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,0,0,1,0],"matrix_rows":[21,197,129,2,132,8,128,32,256],"offset":65,"phase":0,"quadratic_rows":[80,0,80,0,133,0,133,208,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":518,"old":517,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":520,"old":517,"rank":1,"right":{"linear_Z4":[0,1,0,0,2,0,0,0,0],"matrix_rows":[2,1,18,4,8,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,18,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,10,19,34,65,130,1,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":481,"old":518,"rank":2,"right":{"linear_Z4":[2,0,2,0,0,0,0,0,2],"matrix_rows":[21,263,337,256,340,264,64,288,384],"offset":235,"phase":0,"quadratic_rows":[66,5,66,0,64,0,21,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,8,17,33,2,64,3,128,256],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":521,"old":518,"rank":2,"right":{"linear_Z4":[2,0,3,0,3,0,3,0,0],"matrix_rows":[68,80,5,18,64,72,32,128,256],"offset":20,"phase":2,"quadratic_rows":[4,16,5,0,82,0,80,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":520,"old":519,"rank":1,"right":{"linear_Z4":[1,3,1,2,0,0,0,0,0],"matrix_rows":[15,257,266,268,256,272,288,64,384],"offset":91,"phase":1,"quadratic_rows":[271,263,263,257,0,0,0,0,15]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":522,"old":519,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,19,3,32,64,2,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":457,"old":520,"rank":2,"right":{"linear_Z4":[2,1,2,2,0,0,0,0,0],"matrix_rows":[74,68,5,78,8,16,32,128,256],"offset":29,"phase":0,"quadratic_rows":[4,6,3,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,11,17,1,32,64,2,128,256],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":521,"old":520,"rank":2,"right":{"linear_Z4":[2,2,3,3,0,0,3,0,0],"matrix_rows":[78,10,5,74,8,16,32,128,256],"offset":20,"phase":2,"quadratic_rows":[4,12,71,10,0,0,68,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,17,35,66,3,130,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":521,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[1,258,288,256,292,40,272,320,384],"offset":26,"phase":3,"quadratic_rows":[288,0,0,0,0,1,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":861,"old":521,"rank":1,"right":{"linear_Z4":[1,2,0,0,0,0,0,0,0],"matrix_rows":[1,259,256,4,264,272,288,320,384],"offset":87,"phase":1,"quadratic_rows":[259,1,0,0,0,0,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1018,"old":521,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,2,36,40,16,64,128,256],"offset":8,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":521,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,264,272,288,320,384],"offset":85,"phase":2,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,10,19,33,66,130,1,258,2],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":457,"old":522,"rank":2,"right":{"linear_Z4":[2,3,2,3,0,0,3,0,1],"matrix_rows":[332,66,13,262,320,64,272,288,384],"offset":141,"phase":0,"quadratic_rows":[12,326,259,265,0,0,66,0,270]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,10,19,33,66,130,1,258,2],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":527,"old":522,"rank":2,"right":{"linear_Z4":[2,3,2,1,0,0,3,0,1],"matrix_rows":[332,74,13,270,320,64,272,288,384],"offset":45,"phase":0,"quadratic_rows":[12,326,267,77,0,0,74,0,262]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":524,"old":523,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,3,3,0],"matrix_rows":[199,257,256,260,8,16,32,320,384],"offset":5,"phase":0,"quadratic_rows":[455,453,455,0,0,0,455,455,199]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":525,"old":523,"rank":1,"right":{"linear_Z4":[3,3,3,0,0,0,3,0,0],"matrix_rows":[199,257,258,260,8,16,32,320,256],"offset":257,"phase":0,"quadratic_rows":[455,455,455,0,0,0,455,327,199]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,32,64,128,258,1,3],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":506,"old":524,"rank":2,"right":{"linear_Z4":[1,0,1,0,0,0,0,0,1],"matrix_rows":[389,64,129,2,132,8,16,32,256],"offset":258,"phase":0,"quadratic_rows":[261,0,261,0,0,0,256,256,453]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[7,8,19,32,64,128,257,2,3],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":526,"old":524,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,1],"matrix_rows":[69,389,257,2,260,8,16,32,256],"offset":257,"phase":0,"quadratic_rows":[192,0,192,0,0,0,261,261,448]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[7,9,19,32,64,128,2,256,3],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":526,"old":525,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,1],"matrix_rows":[7,325,257,256,260,8,16,32,128],"offset":9,"phase":0,"quadratic_rows":[66,261,66,0,0,0,261,0,322]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,8,17,33,64,128,2,256,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":527,"old":525,"rank":2,"right":{"linear_Z4":[2,2,0,0,0,0,0,0,3],"matrix_rows":[260,320,5,6,256,264,16,32,128],"offset":29,"phase":0,"quadratic_rows":[4,4,3,0,0,0,256,0,320]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,18,34,64,1,128,256,3],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":526,"rank":2,"right":{"linear_Z4":[0,0,2,0,0,0,0,0,1],"matrix_rows":[257,260,32,2,288,296,16,64,128],"offset":39,"phase":0,"quadratic_rows":[288,0,32,0,0,5,0,0,257]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":865,"old":526,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,0,2],"matrix_rows":[5,256,2,260,8,16,288,64,128],"offset":64,"phase":3,"quadratic_rows":[260,0,261,0,0,0,0,0,5]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1030,"old":526,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[5,257,2,256,264,16,32,64,128],"offset":16,"phase":3,"quadratic_rows":[261,0,257,0,0,0,0,0,5]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":526,"rank":1,"right":{"linear_Z4":[2,0,3,0,0,0,0,0,2],"matrix_rows":[260,5,2,256,264,16,32,64,128],"offset":19,"phase":3,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,19,3,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":527,"rank":2,"right":{"linear_Z4":[2,0,0,2,0,0,0,0,0],"matrix_rows":[1,42,32,40,12,16,64,128,256],"offset":4,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":821,"old":527,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,2,36,40,16,64,128,256],"offset":26,"phase":1,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":898,"old":527,"rank":1,"right":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[1,11,8,12,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[11,1,0,1,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":527,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[10,1,8,12,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":35,"old":528,"rank":1,"right":{"linear_Z4":[3,0,3,0,2,0,0,0,0],"matrix_rows":[21,17,2,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,17,33,64,132,1,262,2,4],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":576,"old":528,"rank":3,"right":{"linear_Z4":[2,1,1,0,3,2,1,0,1],"matrix_rows":[34,448,400,5,38,32,8,464,256],"offset":443,"phase":3,"quadratic_rows":[4,6,7,0,80,0,336,256,448]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,18,33,2,64,3,132,260,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":580,"old":528,"rank":3,"right":{"linear_Z4":[2,0,1,2,2,1,1,1,2],"matrix_rows":[12,34,320,5,8,40,144,448,256],"offset":493,"phase":3,"quadratic_rows":[4,40,37,34,128,46,192,208,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":35,"old":529,"rank":1,"right":{"linear_Z4":[1,0,1,0,0,0,3,3,0],"matrix_rows":[213,273,2,276,8,256,32,320,384],"offset":43,"phase":0,"quadratic_rows":[453,0,453,0,448,0,469,469,213]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[15,16,39,64,131,256,5,1,7],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":648,"old":529,"rank":3,"right":{"linear_Z4":[1,0,1,0,2,0,2,1,3],"matrix_rows":[213,21,325,257,210,260,8,256,32],"offset":1,"phase":1,"quadratic_rows":[133,208,133,0,258,0,258,135,336]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[11,18,35,66,132,2,257,1,5],"offset":0,"phase":0,"quadratic_rows":[4,0,5,0,0,0,0,0,0]},"new":652,"old":529,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,2,1,2,1],"matrix_rows":[325,39,16,161,32,164,40,256,192],"offset":134,"phase":1,"quadratic_rows":[450,5,450,0,256,0,453,69,341]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":64,"old":530,"rank":1,"right":{"linear_Z4":[3,0,3,0,3,0,2,0,0],"matrix_rows":[21,321,2,324,8,336,32,256,384],"offset":1,"phase":1,"quadratic_rows":[341,0,341,0,341,0,21,0,21]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,17,35,1,64,2,132,260,4],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":572,"old":530,"rank":3,"right":{"linear_Z4":[2,1,0,3,0,3,0,0,2],"matrix_rows":[42,4,320,13,6,32,16,256,384],"offset":59,"phase":1,"quadratic_rows":[12,46,43,47,0,46,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,18,35,1,68,2,128,260,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":581,"old":530,"rank":3,"right":{"linear_Z4":[2,1,0,1,0,1,0,0,2],"matrix_rows":[44,42,272,13,46,32,256,64,384],"offset":59,"phase":1,"quadratic_rows":[12,6,43,45,0,44,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":64,"old":531,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,2,2,0],"matrix_rows":[144,65,2,68,8,208,32,128,256],"offset":0,"phase":0,"quadratic_rows":[64,0,64,0,80,0,21,0,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[8,1,16,32,66,128,4,6,256],"offset":0,"phase":0,"quadratic_rows":[0,6,6,0,0,0,0,0,0]},"new":650,"old":531,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,0,0,1,0],"matrix_rows":[2,16,192,1,4,8,128,32,256],"offset":67,"phase":1,"quadratic_rows":[0,0,0,0,128,0,128,208,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,16,37,65,130,4,258,2,5],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":656,"old":531,"rank":3,"right":{"linear_Z4":[2,2,0,1,1,0,1,2,2],"matrix_rows":[300,144,36,13,66,256,288,208,128],"offset":475,"phase":3,"quadratic_rows":[12,64,1,9,80,0,82,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":93,"old":532,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,2,0,0],"matrix_rows":[69,65,2,68,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,18,33,3,68,2,128,260,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":573,"old":532,"rank":3,"right":{"linear_Z4":[2,0,1,1,1,2,2,3,2],"matrix_rows":[36,10,400,5,32,40,272,192,256],"offset":425,"phase":1,"quadratic_rows":[4,40,13,46,144,10,128,208,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,17,33,1,70,128,2,260,4],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":577,"old":532,"rank":3,"right":{"linear_Z4":[2,1,1,2,2,0,3,0,3],"matrix_rows":[10,272,464,5,14,8,336,32,256],"offset":57,"phase":0,"quadratic_rows":[4,6,7,0,384,0,192,80,272]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":93,"old":533,"rank":1,"right":{"linear_Z4":[3,0,3,3,0,0,0,0,0],"matrix_rows":[5,33,10,44,32,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[37,8,45,14,0,5,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,20,33,65,130,1,256,4,6],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":654,"old":533,"rank":3,"right":{"linear_Z4":[3,1,3,2,0,0,0,2,3],"matrix_rows":[5,16,402,41,18,36,32,256,64],"offset":151,"phase":1,"quadratic_rows":[45,386,37,1,128,5,0,274,386]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,16,37,65,130,4,5,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":658,"old":533,"rank":3,"right":{"linear_Z4":[2,2,0,1,1,0,2,3,2],"matrix_rows":[108,400,36,13,130,64,96,272,256],"offset":345,"phase":1,"quadratic_rows":[12,128,1,9,144,0,0,146,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":122,"old":534,"rank":1,"right":{"linear_Z4":[0,0,1,3,3,0,0,1,2],"matrix_rows":[396,1,18,260,280,256,288,320,384],"offset":240,"phase":2,"quadratic_rows":[0,16,140,156,26,0,0,140,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":593,"old":534,"rank":1,"right":{"linear_Z4":[0,3,3,3,3,0,0,3,0],"matrix_rows":[30,129,258,260,264,400,32,64,256],"offset":1,"phase":1,"quadratic_rows":[128,286,286,286,414,0,0,145,30]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[18,34,68,8,129,257,1,3,14],"offset":0,"phase":0,"quadratic_rows":[3,15,14,14,0,0,0,0,0]},"new":779,"old":534,"rank":4,"right":{"linear_Z4":[1,1,0,0,0,0,0,1,2],"matrix_rows":[208,403,68,264,209,194,320,64,96],"offset":68,"phase":0,"quadratic_rows":[323,339,256,256,450,0,403,464,223]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":122,"old":535,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":595,"old":535,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,2,3,2],"matrix_rows":[388,1,2,260,8,16,32,192,256],"offset":384,"phase":2,"quadratic_rows":[0,0,132,0,0,0,128,196,0]}},{"left":{"linear_Z4":[3,3,2,2,0,0,0,0,0],"matrix_rows":[16,33,74,132,5,4,2,264,8],"offset":0,"phase":0,"quadratic_rows":[5,10,1,2,0,0,0,0,0]},"new":781,"old":535,"rank":4,"right":{"linear_Z4":[2,1,2,0,1,2,3,0,3],"matrix_rows":[34,260,24,452,3,48,324,32,256],"offset":49,"phase":3,"quadratic_rows":[2,19,384,48,58,24,192,68,260]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":122,"old":536,"rank":1,"right":{"linear_Z4":[0,0,0,1,3,0,2,0,0],"matrix_rows":[8,1,18,4,88,64,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,16,0,88,26,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":636,"old":536,"rank":1,"right":{"linear_Z4":[0,0,1,2,0,0,0,0,0],"matrix_rows":[4,1,2,12,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,12,4,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,3,0,0,0,0,0],"matrix_rows":[16,35,68,132,257,2,1,8,12],"offset":0,"phase":0,"quadratic_rows":[2,3,8,12,0,0,0,0,0]},"new":800,"old":536,"rank":4,"right":{"linear_Z4":[2,0,0,3,3,3,1,2,3],"matrix_rows":[114,66,396,384,19,96,256,392,64],"offset":119,"phase":0,"quadratic_rows":[18,65,136,12,49,48,66,260,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":122,"old":537,"rank":1,"right":{"linear_Z4":[1,1,1,1,0,0,2,1,2],"matrix_rows":[399,321,322,260,328,16,32,256,384],"offset":0,"phase":0,"quadratic_rows":[207,207,143,207,0,0,11,143,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":638,"old":537,"rank":1,"right":{"linear_Z4":[2,2,1,2,0,0,1,1,2],"matrix_rows":[452,1,2,268,256,272,288,320,384],"offset":102,"phase":0,"quadratic_rows":[0,0,204,4,0,0,196,196,0]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[19,35,65,130,258,2,4,8,15],"offset":0,"phase":0,"quadratic_rows":[15,15,15,15,0,0,0,0,0]},"new":799,"old":537,"rank":4,"right":{"linear_Z4":[2,2,0,0,0,0,0,0,1],"matrix_rows":[39,299,320,384,261,262,288,32,48],"offset":0,"phase":0,"quadratic_rows":[8,8,256,259,0,0,256,256,460]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":151,"old":538,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":585,"old":538,"rank":1,"right":{"linear_Z4":[3,3,3,3,0,0,2,0,0],"matrix_rows":[79,65,66,68,72,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[15,15,15,15,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,3,0,0,0,0,0],"matrix_rows":[16,35,75,12,133,6,4,261,5],"offset":0,"phase":0,"quadratic_rows":[12,12,15,15,0,0,0,0,0]},"new":775,"old":538,"rank":4,"right":{"linear_Z4":[2,2,3,1,0,0,0,0,0],"matrix_rows":[334,126,376,372,19,288,380,256,384],"offset":220,"phase":1,"quadratic_rows":[18,1,316,316,13,12,0,0,12]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":151,"old":539,"rank":1,"right":{"linear_Z4":[3,0,3,0,3,0,2,0,0],"matrix_rows":[21,321,2,324,8,336,32,256,384],"offset":1,"phase":1,"quadratic_rows":[341,0,341,0,341,0,21,0,21]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":587,"old":539,"rank":1,"right":{"linear_Z4":[3,3,0,0,3,0,0,0,0],"matrix_rows":[3,33,50,4,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[35,51,0,16,26,3,0,0,0]}},{"left":{"linear_Z4":[2,2,2,2,0,0,0,0,0],"matrix_rows":[17,33,68,3,130,2,8,268,12],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":777,"old":539,"rank":4,"right":{"linear_Z4":[3,3,0,1,0,0,0,0,2],"matrix_rows":[27,24,260,64,41,58,256,32,384],"offset":71,"phase":2,"quadratic_rows":[51,35,0,24,9,3,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":151,"old":540,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,2,2,0],"matrix_rows":[132,65,2,196,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[64,0,68,0,64,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":644,"old":540,"rank":1,"right":{"linear_Z4":[0,0,1,2,0,0,0,0,0],"matrix_rows":[4,1,2,12,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,12,4,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,3,0,0,0,0,0],"matrix_rows":[16,35,68,132,257,2,8,12,1],"offset":0,"phase":0,"quadratic_rows":[2,3,8,12,0,0,0,0,0]},"new":804,"old":540,"rank":4,"right":{"linear_Z4":[2,0,0,3,3,3,2,3,1],"matrix_rows":[306,258,204,192,19,288,128,200,256],"offset":119,"phase":0,"quadratic_rows":[18,257,72,12,49,48,132,192,258]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":151,"old":541,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,2,0,2],"matrix_rows":[260,65,2,324,8,80,32,256,128],"offset":0,"phase":0,"quadratic_rows":[64,0,68,0,64,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":646,"old":541,"rank":1,"right":{"linear_Z4":[0,0,1,2,0,0,0,0,0],"matrix_rows":[4,1,2,12,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,12,4,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,3,0,0,0,0,0],"matrix_rows":[16,35,68,132,257,2,8,1,12],"offset":0,"phase":0,"quadratic_rows":[2,3,8,12,0,0,0,0,0]},"new":803,"old":541,"rank":4,"right":{"linear_Z4":[2,0,0,3,3,3,2,1,3],"matrix_rows":[178,130,332,320,19,160,256,328,128],"offset":119,"phase":0,"quadratic_rows":[18,129,72,12,49,48,260,130,320]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":180,"old":542,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,2,0,0],"matrix_rows":[74,1,66,4,72,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":609,"old":542,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,2,3,2],"matrix_rows":[385,257,2,4,8,16,32,192,256],"offset":384,"phase":2,"quadratic_rows":[129,0,0,0,0,0,128,193,0]}},{"left":{"linear_Z4":[3,3,2,2,0,0,0,0,0],"matrix_rows":[25,32,70,2,132,4,1,264,8],"offset":0,"phase":0,"quadratic_rows":[9,6,2,1,0,0,0,0,0]},"new":787,"old":542,"rank":4,"right":{"linear_Z4":[2,2,0,3,0,1,3,0,3],"matrix_rows":[257,44,36,449,321,14,32,48,256],"offset":102,"phase":0,"quadratic_rows":[384,12,34,42,0,44,192,65,257]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":180,"old":543,"rank":1,"right":{"linear_Z4":[3,0,1,1,0,0,0,3,0],"matrix_rows":[173,257,2,292,296,16,256,64,384],"offset":89,"phase":0,"quadratic_rows":[429,0,397,397,0,385,0,429,173]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":611,"old":543,"rank":1,"right":{"linear_Z4":[3,0,3,3,0,3,0,3,0],"matrix_rows":[45,257,130,260,392,16,288,64,256],"offset":1,"phase":1,"quadratic_rows":[301,128,301,429,0,301,0,138,45]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,36,68,130,258,8,2,6,13],"offset":0,"phase":0,"quadratic_rows":[13,6,15,13,0,0,0,0,0]},"new":789,"old":543,"rank":4,"right":{"linear_Z4":[0,1,1,0,0,0,0,1,2],"matrix_rows":[65,200,398,288,320,202,196,64,80],"offset":17,"phase":0,"quadratic_rows":[256,326,334,452,0,256,398,456,239]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":180,"old":544,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,2,0,0,0],"matrix_rows":[44,1,2,36,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":620,"old":544,"rank":1,"right":{"linear_Z4":[0,2,2,1,0,0,2,0,0],"matrix_rows":[72,1,2,12,64,80,32,128,256],"offset":61,"phase":1,"quadratic_rows":[0,0,8,12,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,2,3,0,0,0,0,0],"matrix_rows":[17,34,66,130,2,4,256,8,9],"offset":0,"phase":0,"quadratic_rows":[9,2,0,9,0,0,0,0,0]},"new":792,"old":544,"rank":4,"right":{"linear_Z4":[0,3,2,3,0,2,0,0,1],"matrix_rows":[1,10,32,384,256,22,16,24,64],"offset":23,"phase":2,"quadratic_rows":[256,30,2,26,10,0,0,256,385]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":180,"old":545,"rank":1,"right":{"linear_Z4":[3,1,0,1,0,0,0,3,0],"matrix_rows":[203,257,322,4,328,16,32,256,384],"offset":149,"phase":0,"quadratic_rows":[459,395,0,395,0,0,385,459,203]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":622,"old":545,"rank":1,"right":{"linear_Z4":[3,2,2,1,0,0,3,3,2],"matrix_rows":[457,257,2,12,256,272,288,320,384],"offset":125,"phase":0,"quadratic_rows":[201,0,8,205,0,0,201,201,0]}},{"left":{"linear_Z4":[3,2,3,3,0,0,0,0,0],"matrix_rows":[21,32,71,130,261,5,9,1,10],"offset":0,"phase":0,"quadratic_rows":[11,13,6,11,0,0,0,0,0]},"new":791,"old":545,"rank":4,"right":{"linear_Z4":[0,2,2,1,0,3,2,1,3],"matrix_rows":[257,300,449,320,229,14,288,256,48],"offset":486,"phase":2,"quadratic_rows":[36,12,227,42,0,237,36,420,384]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":209,"old":546,"rank":1,"right":{"linear_Z4":[3,3,0,3,0,0,2,0,0],"matrix_rows":[11,321,322,4,328,16,32,256,384],"offset":1,"phase":1,"quadratic_rows":[331,331,0,331,0,0,11,0,11]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":601,"old":546,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,2,0,0,0],"matrix_rows":[44,1,2,36,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,2,0,0,0,0,0],"matrix_rows":[17,34,66,132,4,6,8,265,9],"offset":0,"phase":0,"quadratic_rows":[0,4,2,0,0,0,0,0,0]},"new":783,"old":546,"rank":4,"right":{"linear_Z4":[0,3,3,0,0,1,0,0,2],"matrix_rows":[257,46,40,64,256,50,60,16,384],"offset":23,"phase":2,"quadratic_rows":[0,30,22,34,6,40,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":209,"old":547,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":603,"old":547,"rank":1,"right":{"linear_Z4":[3,3,3,0,0,3,2,0,0],"matrix_rows":[103,65,66,68,8,16,96,128,256],"offset":1,"phase":1,"quadratic_rows":[39,39,39,0,0,39,0,0,0]}},{"left":{"linear_Z4":[3,2,2,3,0,0,0,0,0],"matrix_rows":[30,32,70,131,5,9,1,259,3],"offset":0,"phase":0,"quadratic_rows":[15,9,9,15,0,0,0,0,0]},"new":785,"old":547,"rank":4,"right":{"linear_Z4":[3,2,2,0,0,1,0,0,0],"matrix_rows":[376,357,125,345,377,14,272,256,384],"offset":185,"phase":1,"quadratic_rows":[313,12,2,35,33,313,0,0,33]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":209,"old":548,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,2,2,0],"matrix_rows":[129,193,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[65,64,0,64,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":628,"old":548,"rank":1,"right":{"linear_Z4":[0,2,2,1,0,0,0,0,2],"matrix_rows":[264,1,2,12,256,272,32,64,128],"offset":61,"phase":1,"quadratic_rows":[0,0,8,12,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,2,3,0,0,0,0,0],"matrix_rows":[17,34,66,130,2,4,8,9,256],"offset":0,"phase":0,"quadratic_rows":[9,2,0,9,0,0,0,0,0]},"new":796,"old":548,"rank":4,"right":{"linear_Z4":[0,3,2,3,0,2,0,1,0],"matrix_rows":[1,10,32,192,128,22,16,24,256],"offset":23,"phase":2,"quadratic_rows":[128,30,2,26,10,0,128,193,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":209,"old":549,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,2,0,2],"matrix_rows":[257,321,66,4,72,16,32,256,128],"offset":0,"phase":0,"quadratic_rows":[65,64,0,64,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":630,"old":549,"rank":1,"right":{"linear_Z4":[0,2,2,1,0,0,0,2,0],"matrix_rows":[136,1,2,12,128,144,32,64,256],"offset":61,"phase":1,"quadratic_rows":[0,0,8,12,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,2,3,0,0,0,0,0],"matrix_rows":[17,34,66,130,2,4,8,256,9],"offset":0,"phase":0,"quadratic_rows":[9,2,0,9,0,0,0,0,0]},"new":795,"old":549,"rank":4,"right":{"linear_Z4":[0,3,2,3,0,2,0,0,1],"matrix_rows":[1,10,32,320,256,22,16,24,128],"offset":23,"phase":2,"quadratic_rows":[256,30,2,26,10,0,256,0,321]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":238,"old":550,"rank":1,"right":{"linear_Z4":[0,1,1,3,0,3,0,3,2],"matrix_rows":[422,9,258,268,256,272,288,64,384],"offset":61,"phase":1,"quadratic_rows":[8,166,174,13,0,166,0,166,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":625,"old":550,"rank":1,"right":{"linear_Z4":[3,0,3,3,0,3,0,3,0],"matrix_rows":[45,257,130,388,264,16,288,64,256],"offset":1,"phase":1,"quadratic_rows":[301,128,429,301,0,301,0,134,45]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,36,70,132,262,8,6,2,13],"offset":0,"phase":0,"quadratic_rows":[13,6,15,13,0,0,0,0,0]},"new":795,"old":550,"rank":4,"right":{"linear_Z4":[0,1,3,1,0,0,1,0,2],"matrix_rows":[65,196,330,288,320,198,64,200,80],"offset":17,"phase":0,"quadratic_rows":[256,398,70,394,0,256,196,74,43]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":238,"old":551,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,2,0,0],"matrix_rows":[70,1,66,68,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":627,"old":551,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,1,2,3,2],"matrix_rows":[416,1,2,4,8,16,288,192,256],"offset":384,"phase":2,"quadratic_rows":[0,0,0,0,0,160,128,224,0]}},{"left":{"linear_Z4":[2,3,3,2,0,0,0,0,0],"matrix_rows":[17,32,66,3,1,140,4,264,8],"offset":0,"phase":0,"quadratic_rows":[2,3,12,4,0,0,0,0,0]},"new":797,"old":551,"rank":4,"right":{"linear_Z4":[0,2,1,1,2,2,3,0,3],"matrix_rows":[9,20,288,480,16,6,24,352,256],"offset":98,"phase":3,"quadratic_rows":[24,4,14,29,9,384,192,96,288]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":238,"old":552,"rank":1,"right":{"linear_Z4":[0,3,3,3,0,0,0,0,0],"matrix_rows":[6,9,18,28,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[8,22,30,13,6,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":604,"old":552,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,3,0,1,2],"matrix_rows":[416,33,2,4,8,16,256,64,384],"offset":66,"phase":2,"quadratic_rows":[32,0,0,0,0,161,0,160,0]}},{"left":{"linear_Z4":[3,2,2,2,0,0,0,0,0],"matrix_rows":[24,32,70,130,4,264,6,1,9],"offset":0,"phase":0,"quadratic_rows":[9,0,0,1,0,0,0,0,0]},"new":784,"old":552,"rank":4,"right":{"linear_Z4":[3,2,0,1,0,0,2,2,3],"matrix_rows":[384,92,20,417,385,14,64,80,256],"offset":426,"phase":3,"quadratic_rows":[33,12,2,10,0,129,0,288,384]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":238,"old":553,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,3,0,3,0],"matrix_rows":[230,1,322,324,8,16,288,256,384],"offset":141,"phase":0,"quadratic_rows":[0,422,422,0,0,486,416,486,230]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":606,"old":553,"rank":1,"right":{"linear_Z4":[2,3,3,0,0,1,3,3,0],"matrix_rows":[230,33,258,260,8,16,256,320,384],"offset":67,"phase":3,"quadratic_rows":[32,486,486,0,0,487,486,486,230]}},{"left":{"linear_Z4":[2,3,3,3,0,0,0,0,0],"matrix_rows":[17,35,67,129,1,258,4,8,14],"offset":0,"phase":0,"quadratic_rows":[0,14,14,14,0,0,0,0,0]},"new":783,"old":553,"rank":4,"right":{"linear_Z4":[2,0,0,0,2,0,0,0,0],"matrix_rows":[23,38,320,384,16,306,308,24,256],"offset":1,"phase":1,"quadratic_rows":[6,257,257,0,0,256,256,256,230]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":267,"old":554,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":617,"old":554,"rank":1,"right":{"linear_Z4":[3,3,0,3,0,3,2,0,0],"matrix_rows":[107,65,66,4,72,16,96,128,256],"offset":1,"phase":1,"quadratic_rows":[43,43,0,43,0,43,0,0,0]}},{"left":{"linear_Z4":[3,2,3,3,0,0,0,0,0],"matrix_rows":[26,32,71,130,5,9,1,263,7],"offset":0,"phase":0,"quadratic_rows":[11,13,6,11,0,0,0,0,0]},"new":791,"old":554,"rank":4,"right":{"linear_Z4":[2,2,0,1,0,0,3,0,1],"matrix_rows":[372,361,276,341,373,14,256,272,384],"offset":121,"phase":1,"quadratic_rows":[328,12,330,127,328,328,125,0,309]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":267,"old":555,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,3,2,0,0],"matrix_rows":[38,1,322,324,8,16,352,256,384],"offset":1,"phase":1,"quadratic_rows":[0,358,358,0,0,358,38,0,38]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":619,"old":555,"rank":1,"right":{"linear_Z4":[0,3,3,3,0,0,0,0,0],"matrix_rows":[6,9,18,28,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[8,22,30,13,6,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,2,0,0,0,0,0],"matrix_rows":[18,32,67,1,2,132,8,268,12],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":793,"old":555,"rank":4,"right":{"linear_Z4":[1,2,0,1,1,0,0,0,2],"matrix_rows":[28,25,288,64,29,14,16,256,384],"offset":247,"phase":1,"quadratic_rows":[5,12,27,30,28,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":267,"old":556,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,1,2,2,0],"matrix_rows":[160,1,66,68,8,16,224,128,256],"offset":0,"phase":0,"quadratic_rows":[0,64,64,0,0,96,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":612,"old":556,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,3,1,2,0],"matrix_rows":[224,33,2,4,8,16,128,192,256],"offset":66,"phase":2,"quadratic_rows":[32,0,0,0,0,97,96,0,0]}},{"left":{"linear_Z4":[3,2,2,2,0,0,0,0,0],"matrix_rows":[24,32,70,130,4,264,1,9,6],"offset":0,"phase":0,"quadratic_rows":[9,0,0,1,0,0,0,0,0]},"new":788,"old":556,"rank":4,"right":{"linear_Z4":[3,2,0,1,0,0,2,3,2],"matrix_rows":[192,284,20,225,193,14,256,272,128],"offset":426,"phase":3,"quadratic_rows":[33,12,2,10,0,65,160,192,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":267,"old":557,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,1,2,0,2],"matrix_rows":[288,1,66,68,8,16,352,256,128],"offset":0,"phase":0,"quadratic_rows":[0,64,64,0,0,96,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":614,"old":557,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,3,1,0,2],"matrix_rows":[352,33,2,4,8,16,256,320,128],"offset":66,"phase":2,"quadratic_rows":[32,0,0,0,0,97,96,0,0]}},{"left":{"linear_Z4":[3,2,2,2,0,0,0,0,0],"matrix_rows":[24,32,70,130,4,264,1,6,9],"offset":0,"phase":0,"quadratic_rows":[9,0,0,1,0,0,0,0,0]},"new":787,"old":557,"rank":4,"right":{"linear_Z4":[3,2,0,1,0,0,2,2,3],"matrix_rows":[320,156,20,353,321,14,128,144,256],"offset":426,"phase":3,"quadratic_rows":[33,12,2,10,0,65,288,0,320]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":296,"old":558,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,2,0,0],"matrix_rows":[67,65,66,4,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":641,"old":558,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,2,3,2],"matrix_rows":[392,1,2,4,264,16,32,192,256],"offset":384,"phase":2,"quadratic_rows":[0,0,0,136,0,0,128,200,0]}},{"left":{"linear_Z4":[3,2,3,2,0,0,0,0,0],"matrix_rows":[16,33,66,140,3,2,4,264,8],"offset":0,"phase":0,"quadratic_rows":[3,1,12,4,0,0,0,0,0]},"new":803,"old":558,"rank":4,"right":{"linear_Z4":[2,1,0,2,1,2,3,0,3],"matrix_rows":[34,20,264,456,3,48,32,328,256],"offset":49,"phase":3,"quadratic_rows":[2,19,48,384,54,20,192,72,264]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":296,"old":559,"rank":1,"right":{"linear_Z4":[1,1,0,3,3,0,0,3,2],"matrix_rows":[395,257,274,20,264,256,288,64,384],"offset":103,"phase":1,"quadratic_rows":[139,155,16,139,22,0,0,139,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":643,"old":559,"rank":1,"right":{"linear_Z4":[0,3,3,3,3,0,0,3,0],"matrix_rows":[30,129,386,260,264,272,32,64,256],"offset":1,"phase":1,"quadratic_rows":[128,414,286,286,286,0,0,131,30]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[18,35,68,8,130,259,3,1,14],"offset":0,"phase":0,"quadratic_rows":[3,15,14,14,0,0,0,0,0]},"new":805,"old":559,"rank":4,"right":{"linear_Z4":[1,3,0,0,1,0,1,0,2],"matrix_rows":[194,337,68,264,195,64,320,208,96],"offset":68,"phase":0,"quadratic_rows":[403,67,256,256,401,0,194,81,29]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":296,"old":560,"rank":1,"right":{"linear_Z4":[3,3,0,0,3,0,0,0,0],"matrix_rows":[3,33,50,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[35,51,16,0,22,3,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":588,"old":560,"rank":1,"right":{"linear_Z4":[3,3,0,0,2,0,0,0,0],"matrix_rows":[3,33,50,4,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[35,51,0,0,2,3,0,0,0]}},{"left":{"linear_Z4":[3,2,3,3,0,0,0,0,0],"matrix_rows":[17,33,2,68,129,1,256,8,12],"offset":0,"phase":0,"quadratic_rows":[1,0,12,12,0,0,0,0,0]},"new":776,"old":560,"rank":4,"right":{"linear_Z4":[3,3,2,0,2,0,0,0,1],"matrix_rows":[3,4,8,384,49,34,256,32,64],"offset":71,"phase":2,"quadratic_rows":[51,35,0,256,1,3,0,256,392]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":296,"old":561,"rank":1,"right":{"linear_Z4":[1,1,0,3,0,0,0,3,0],"matrix_rows":[203,321,322,4,264,16,32,256,384],"offset":135,"phase":0,"quadratic_rows":[395,395,0,459,0,0,392,459,203]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":590,"old":561,"rank":1,"right":{"linear_Z4":[3,3,2,0,0,2,0,0,0],"matrix_rows":[39,33,34,32,8,48,64,128,256],"offset":1,"phase":1,"quadratic_rows":[7,7,3,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,3,3,0,0,0,0,0],"matrix_rows":[16,33,64,134,1,256,10,2,15],"offset":0,"phase":0,"quadratic_rows":[14,3,13,13,0,0,0,0,0]},"new":775,"old":561,"rank":4,"right":{"linear_Z4":[2,3,2,2,3,0,2,1,2],"matrix_rows":[258,216,24,320,3,16,204,272,32],"offset":244,"phase":1,"quadratic_rows":[2,275,200,276,474,0,276,148,90]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":325,"old":562,"rank":1,"right":{"linear_Z4":[3,3,0,3,0,0,2,0,0],"matrix_rows":[11,321,322,4,328,16,32,256,384],"offset":1,"phase":1,"quadratic_rows":[331,331,0,331,0,0,11,0,11]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":633,"old":562,"rank":1,"right":{"linear_Z4":[3,3,0,0,3,0,0,0,0],"matrix_rows":[3,33,50,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[35,51,16,0,22,3,0,0,0]}},{"left":{"linear_Z4":[2,2,2,2,0,0,0,0,0],"matrix_rows":[17,33,3,68,130,2,8,268,12],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":799,"old":562,"rank":4,"right":{"linear_Z4":[3,3,1,0,0,0,0,0,2],"matrix_rows":[23,20,264,64,37,54,256,32,384],"offset":71,"phase":2,"quadratic_rows":[51,35,20,0,5,3,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":325,"old":563,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":635,"old":563,"rank":1,"right":{"linear_Z4":[3,0,3,3,3,0,2,0,0],"matrix_rows":[93,65,2,68,72,80,32,128,256],"offset":1,"phase":1,"quadratic_rows":[29,0,29,29,29,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,2,0,0,0,0,0],"matrix_rows":[30,46,7,11,65,1,3,128,256],"offset":0,"phase":0,"quadratic_rows":[14,13,3,3,0,0,0,0,0]},"new":801,"old":563,"rank":4,"right":{"linear_Z4":[3,3,0,0,2,0,1,0,0],"matrix_rows":[92,95,23,27,125,110,32,128,256],"offset":12,"phase":2,"quadratic_rows":[47,63,3,3,66,3,80,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":325,"old":564,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,2,2,0],"matrix_rows":[136,65,66,4,200,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[64,64,0,72,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":596,"old":564,"rank":1,"right":{"linear_Z4":[3,3,0,0,2,0,0,0,0],"matrix_rows":[3,33,50,4,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[35,51,0,0,2,3,0,0,0]}},{"left":{"linear_Z4":[3,2,3,3,0,0,0,0,0],"matrix_rows":[17,33,2,68,129,1,8,12,256],"offset":0,"phase":0,"quadratic_rows":[1,0,12,12,0,0,0,0,0]},"new":780,"old":564,"rank":4,"right":{"linear_Z4":[3,3,2,0,2,0,0,1,0],"matrix_rows":[3,4,8,192,49,34,128,32,256],"offset":71,"phase":2,"quadratic_rows":[51,35,0,128,1,3,128,200,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":325,"old":565,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,2,0,2],"matrix_rows":[264,65,66,4,328,16,32,256,128],"offset":0,"phase":0,"quadratic_rows":[64,64,0,72,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":598,"old":565,"rank":1,"right":{"linear_Z4":[3,3,0,0,2,0,0,0,0],"matrix_rows":[3,33,50,4,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[35,51,0,0,2,3,0,0,0]}},{"left":{"linear_Z4":[3,2,3,3,0,0,0,0,0],"matrix_rows":[17,33,2,68,129,1,8,256,12],"offset":0,"phase":0,"quadratic_rows":[1,0,12,12,0,0,0,0,0]},"new":779,"old":565,"rank":4,"right":{"linear_Z4":[3,3,2,0,2,0,0,0,1],"matrix_rows":[3,4,8,320,49,34,256,32,128],"offset":71,"phase":2,"quadratic_rows":[51,35,0,256,1,3,256,0,328]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":354,"old":566,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[10,19,34,65,4,129,3,257,1],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":574,"old":566,"rank":3,"right":{"linear_Z4":[1,0,1,2,2,0,2,0,2],"matrix_rows":[10,15,16,329,66,324,256,288,384],"offset":5,"phase":2,"quadratic_rows":[327,69,335,68,0,0,15,0,5]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[11,20,35,67,6,131,2,259,3],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":653,"old":566,"rank":3,"right":{"linear_Z4":[2,1,2,0,1,0,2,0,2],"matrix_rows":[5,85,74,265,90,260,256,288,384],"offset":234,"phase":1,"quadratic_rows":[344,18,336,17,31,0,5,0,5]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":354,"old":567,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,2,0],"matrix_rows":[130,65,194,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[64,66,0,64,0,0,11,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,18,37,65,128,4,258,2,1],"offset":0,"phase":0,"quadratic_rows":[4,0,5,0,0,0,0,0,0]},"new":578,"old":567,"rank":3,"right":{"linear_Z4":[2,1,0,3,2,3,1,2,1],"matrix_rows":[300,130,260,13,194,288,256,80,128],"offset":447,"phase":0,"quadratic_rows":[12,66,257,41,64,40,82,0,260]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[8,17,32,64,2,128,4,5,256],"offset":0,"phase":0,"quadratic_rows":[5,0,5,0,0,0,0,0,0]},"new":657,"old":567,"rank":3,"right":{"linear_Z4":[0,0,0,0,2,0,0,1,0],"matrix_rows":[2,16,192,1,128,4,8,32,256],"offset":19,"phase":1,"quadratic_rows":[0,128,0,0,0,0,128,194,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":383,"old":568,"rank":1,"right":{"linear_Z4":[0,3,1,1,0,0,0,3,0],"matrix_rows":[158,1,258,276,280,256,32,64,384],"offset":57,"phase":0,"quadratic_rows":[0,414,398,398,386,0,0,414,158]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[12,23,36,67,134,259,3,2,7],"offset":0,"phase":0,"quadratic_rows":[2,5,2,0,0,0,0,0,0]},"new":575,"old":568,"rank":3,"right":{"linear_Z4":[3,1,3,3,3,0,0,0,1],"matrix_rows":[210,258,455,329,410,324,64,320,96],"offset":362,"phase":1,"quadratic_rows":[143,399,135,155,24,0,0,15,258]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[10,19,34,65,132,257,1,3,6],"offset":0,"phase":0,"quadratic_rows":[0,4,6,0,0,0,0,0,0]},"new":649,"old":568,"rank":3,"right":{"linear_Z4":[1,2,1,0,0,0,0,2,3],"matrix_rows":[74,271,80,201,130,196,64,320,96],"offset":0,"phase":0,"quadratic_rows":[455,453,463,452,256,0,271,15,351]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":383,"old":569,"rank":1,"right":{"linear_Z4":[0,0,3,3,2,0,0,0,0],"matrix_rows":[28,1,2,20,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,20,35,65,128,2,1,260,4],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":582,"old":569,"rank":3,"right":{"linear_Z4":[2,1,0,3,2,3,1,3,2],"matrix_rows":[108,68,386,13,258,96,64,144,256],"offset":427,"phase":2,"quadratic_rows":[12,130,65,41,128,40,68,146,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,22,33,65,2,1,128,260,4],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":659,"old":569,"rank":3,"right":{"linear_Z4":[3,2,2,3,3,0,0,0,3],"matrix_rows":[9,258,402,37,274,32,40,64,256],"offset":1,"phase":1,"quadratic_rows":[45,384,1,41,144,9,0,18,258]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":412,"old":570,"rank":1,"right":{"linear_Z4":[0,1,0,0,2,0,0,2,0],"matrix_rows":[130,1,146,20,24,128,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,18,16,16,14,0,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[8,17,32,64,2,128,4,3,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":579,"old":570,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,2,1,0],"matrix_rows":[2,144,64,1,128,4,8,32,256],"offset":21,"phase":1,"quadratic_rows":[0,128,0,0,128,0,0,146,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,18,37,1,66,132,2,256,4],"offset":0,"phase":0,"quadratic_rows":[5,0,1,0,0,0,0,0,0]},"new":651,"old":570,"rank":3,"right":{"linear_Z4":[2,3,0,3,3,0,2,0,1],"matrix_rows":[268,82,260,13,66,256,80,288,128],"offset":47,"phase":1,"quadratic_rows":[12,18,257,265,18,0,0,0,268]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":412,"old":571,"rank":1,"right":{"linear_Z4":[0,3,3,3,2,0,0,0,0],"matrix_rows":[14,1,274,276,280,256,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,286,286,286,14,0,0,0,14]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,34,66,4,128,2,261,5],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":583,"old":571,"rank":3,"right":{"linear_Z4":[0,0,3,3,0,0,2,0,2],"matrix_rows":[258,76,16,1,256,68,72,32,384],"offset":19,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[8,16,35,1,64,2,4,128,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":655,"old":571,"rank":3,"right":{"linear_Z4":[2,0,0,3,0,3,2,0,0],"matrix_rows":[44,4,64,13,2,32,16,128,256],"offset":47,"phase":1,"quadratic_rows":[12,0,1,41,0,40,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":772,"old":572,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[272,1,2,4,8,256,32,64,384],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":774,"old":572,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[34,1,32,36,8,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":483,"old":573,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,1,0,2],"matrix_rows":[336,1,2,4,8,256,32,320,128],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,64,0,80,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":773,"old":573,"rank":1,"right":{"linear_Z4":[0,0,0,0,2,0,3,0,2],"matrix_rows":[320,1,2,4,8,80,32,256,384],"offset":289,"phase":3,"quadratic_rows":[0,0,0,0,64,0,80,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":772,"old":574,"rank":1,"right":{"linear_Z4":[2,2,0,0,0,0,2,0,0],"matrix_rows":[68,5,6,64,8,16,96,128,256],"offset":15,"phase":0,"quadratic_rows":[4,4,3,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":808,"old":574,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,0,0],"matrix_rows":[7,65,64,68,8,16,32,128,256],"offset":5,"phase":0,"quadratic_rows":[71,69,71,0,0,0,7,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":456,"old":575,"rank":1,"right":{"linear_Z4":[2,2,2,0,0,0,0,0,2],"matrix_rows":[260,5,6,256,8,16,288,64,128],"offset":14,"phase":3,"quadratic_rows":[4,4,3,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":807,"old":575,"rank":1,"right":{"linear_Z4":[3,2,3,0,0,0,0,2,0],"matrix_rows":[7,129,128,132,136,144,160,192,256],"offset":94,"phase":3,"quadratic_rows":[135,133,135,0,0,0,0,7,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":527,"old":576,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[144,1,2,4,8,128,32,192,256],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":773,"old":576,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[10,1,8,12,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":500,"old":577,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[34,1,32,36,8,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":772,"old":577,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[272,1,2,4,8,256,32,320,128],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":773,"old":578,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,2,0,0],"matrix_rows":[82,1,64,4,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,16,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":809,"old":578,"rank":1,"right":{"linear_Z4":[0,2,0,0,3,0,0,2,0],"matrix_rows":[144,1,18,4,8,128,32,192,256],"offset":164,"phase":1,"quadratic_rows":[0,16,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":460,"old":579,"rank":1,"right":{"linear_Z4":[2,0,1,2,0,0,0,0,2],"matrix_rows":[260,5,2,256,8,16,288,64,128],"offset":91,"phase":1,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":807,"old":579,"rank":1,"right":{"linear_Z4":[2,0,2,1,0,0,0,0,2],"matrix_rows":[264,9,2,4,256,16,288,64,128],"offset":91,"phase":1,"quadratic_rows":[8,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":500,"old":580,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,2,2,0],"matrix_rows":[144,1,2,4,8,208,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,80,0,16,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":774,"old":580,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,0,2,0],"matrix_rows":[208,1,2,4,8,144,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,80,0,16,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":483,"old":581,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[10,1,8,12,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":527,"old":581,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[320,1,2,4,8,16,32,256,384],"offset":129,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":774,"old":582,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,0,0,2],"matrix_rows":[274,1,256,4,8,272,32,64,128],"offset":0,"phase":0,"quadratic_rows":[0,16,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":809,"old":582,"rank":1,"right":{"linear_Z4":[0,2,0,0,3,0,0,0,2],"matrix_rows":[272,1,18,4,8,256,32,64,384],"offset":261,"phase":3,"quadratic_rows":[0,16,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":461,"old":583,"rank":1,"right":{"linear_Z4":[2,0,1,2,0,0,2,0,0],"matrix_rows":[68,5,2,64,8,16,96,128,256],"offset":91,"phase":1,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":808,"old":583,"rank":1,"right":{"linear_Z4":[2,0,2,1,0,0,2,0,0],"matrix_rows":[72,9,2,4,64,16,96,128,256],"offset":91,"phase":1,"quadratic_rows":[8,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":775,"old":584,"rank":1,"right":{"linear_Z4":[2,1,2,0,0,0,0,0,2],"matrix_rows":[258,3,256,4,8,16,288,64,128],"offset":74,"phase":3,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":780,"old":584,"rank":1,"right":{"linear_Z4":[2,2,2,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,264,272,288,320,384],"offset":110,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":660,"old":585,"rank":1,"right":{"linear_Z4":[3,3,0,0,2,0,0,0,2],"matrix_rows":[3,257,274,20,24,256,288,64,384],"offset":102,"phase":0,"quadratic_rows":[259,275,16,16,14,0,0,0,3]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[15,23,34,4,65,129,6,257,1],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":776,"old":585,"rank":3,"right":{"linear_Z4":[1,1,0,0,2,0,1,0,2],"matrix_rows":[3,23,91,337,322,64,256,288,384],"offset":34,"phase":0,"quadratic_rows":[287,271,83,83,13,0,76,0,3]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":777,"old":586,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[132,1,2,128,8,16,32,192,256],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":782,"old":586,"rank":1,"right":{"linear_Z4":[2,3,0,0,2,0,0,0,0],"matrix_rows":[18,3,16,4,24,32,64,128,256],"offset":22,"phase":1,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":661,"old":587,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,8,16,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,32,66,3,2,132,260,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":778,"old":587,"rank":3,"right":{"linear_Z4":[2,1,0,0,1,2,0,0,2],"matrix_rows":[34,24,320,3,48,4,32,256,384],"offset":25,"phase":3,"quadratic_rows":[2,19,0,48,58,24,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":764,"old":588,"rank":1,"right":{"linear_Z4":[0,0,2,3,0,0,0,1,2],"matrix_rows":[392,1,2,12,256,16,32,64,384],"offset":24,"phase":2,"quadratic_rows":[0,0,8,140,0,0,0,136,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,17,36,68,129,256,1,2,6],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":778,"old":588,"rank":3,"right":{"linear_Z4":[2,3,3,0,0,0,2,2,3],"matrix_rows":[66,384,396,3,64,388,256,80,32],"offset":205,"phase":3,"quadratic_rows":[2,3,12,132,0,0,0,264,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":776,"old":589,"rank":1,"right":{"linear_Z4":[2,2,0,0,1,0,2,0,0],"matrix_rows":[80,17,2,4,8,64,96,128,256],"offset":103,"phase":1,"quadratic_rows":[16,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":802,"old":589,"rank":1,"right":{"linear_Z4":[2,1,0,0,2,0,2,0,0],"matrix_rows":[66,3,64,4,8,16,96,128,256],"offset":103,"phase":1,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":765,"old":590,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,3,3,0],"matrix_rows":[203,257,258,4,256,16,32,320,384],"offset":17,"phase":0,"quadratic_rows":[459,459,0,451,0,0,459,459,203]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[9,17,32,65,128,256,2,4,7],"offset":0,"phase":0,"quadratic_rows":[7,7,7,0,0,0,0,0,0]},"new":777,"old":590,"rank":3,"right":{"linear_Z4":[1,1,0,0,0,0,0,0,0],"matrix_rows":[11,320,384,265,266,4,256,16,32],"offset":0,"phase":0,"quadratic_rows":[259,259,0,256,0,0,256,256,203]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":775,"old":591,"rank":1,"right":{"linear_Z4":[2,3,1,0,2,0,0,0,0],"matrix_rows":[22,3,16,20,8,32,64,128,256],"offset":6,"phase":2,"quadratic_rows":[2,7,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":801,"old":591,"rank":1,"right":{"linear_Z4":[2,2,2,0,0,0,0,0,2],"matrix_rows":[260,5,6,256,264,272,288,320,384],"offset":14,"phase":3,"quadratic_rows":[4,4,3,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":776,"old":592,"rank":1,"right":{"linear_Z4":[1,1,0,0,0,0,0,0,0],"matrix_rows":[67,193,194,4,8,16,32,128,256],"offset":135,"phase":0,"quadratic_rows":[131,131,0,0,0,0,128,67,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":779,"old":592,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[67,129,130,4,8,16,32,128,256],"offset":129,"phase":0,"quadratic_rows":[195,195,0,0,0,0,131,67,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":660,"old":593,"rank":1,"right":{"linear_Z4":[3,3,0,0,2,0,0,2,0],"matrix_rows":[3,129,146,20,24,128,160,192,256],"offset":102,"phase":0,"quadratic_rows":[131,147,16,16,14,0,0,3,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[15,23,34,4,65,129,257,1,6],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":780,"old":593,"rank":3,"right":{"linear_Z4":[1,1,0,0,2,0,0,2,1],"matrix_rows":[3,23,283,401,386,256,128,160,192],"offset":34,"phase":0,"quadratic_rows":[159,143,275,275,13,0,0,3,268]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":778,"old":594,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,2,0],"matrix_rows":[196,1,2,132,8,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,68,0,0,0,4,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":781,"old":594,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,2,2,0],"matrix_rows":[132,1,2,196,8,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,68,0,0,0,4,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":661,"old":595,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,1,0,2],"matrix_rows":[324,1,2,256,8,16,32,320,128],"offset":0,"phase":0,"quadratic_rows":[0,0,64,0,0,0,68,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,32,68,5,4,130,258,2],"offset":0,"phase":0,"quadratic_rows":[5,0,1,0,0,0,0,0,0]},"new":782,"old":595,"rank":3,"right":{"linear_Z4":[2,1,2,0,1,2,3,0,2],"matrix_rows":[34,320,24,3,48,68,32,256,384],"offset":315,"phase":2,"quadratic_rows":[2,19,64,48,58,24,68,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":770,"old":596,"rank":1,"right":{"linear_Z4":[0,0,2,3,0,0,1,2,0],"matrix_rows":[200,1,2,12,128,16,32,192,256],"offset":24,"phase":2,"quadratic_rows":[0,0,8,76,0,0,72,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,17,36,68,129,256,2,6,1],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":782,"old":596,"rank":3,"right":{"linear_Z4":[2,3,3,0,0,0,2,3,2],"matrix_rows":[258,192,204,3,256,196,128,272,32],"offset":205,"phase":3,"quadratic_rows":[2,3,12,68,0,0,136,192,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":780,"old":597,"rank":1,"right":{"linear_Z4":[2,2,0,0,1,0,0,0,2],"matrix_rows":[272,17,2,4,8,256,288,64,128],"offset":103,"phase":1,"quadratic_rows":[16,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":806,"old":597,"rank":1,"right":{"linear_Z4":[2,1,0,0,2,0,0,0,2],"matrix_rows":[258,3,256,4,8,16,288,64,128],"offset":103,"phase":1,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":771,"old":598,"rank":1,"right":{"linear_Z4":[0,0,2,3,0,0,1,0,2],"matrix_rows":[328,1,2,12,256,16,32,320,128],"offset":24,"phase":2,"quadratic_rows":[0,0,8,76,0,0,72,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,17,36,68,129,256,2,1,6],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":781,"old":598,"rank":3,"right":{"linear_Z4":[2,3,3,0,0,0,2,2,3],"matrix_rows":[130,320,332,3,128,324,256,144,32],"offset":205,"phase":3,"quadratic_rows":[2,3,12,68,0,0,264,0,320]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":779,"old":599,"rank":1,"right":{"linear_Z4":[2,2,0,0,1,0,0,2,0],"matrix_rows":[144,17,2,4,8,128,160,64,256],"offset":103,"phase":1,"quadratic_rows":[16,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":805,"old":599,"rank":1,"right":{"linear_Z4":[2,1,0,0,2,0,0,2,0],"matrix_rows":[130,3,128,4,8,16,160,64,256],"offset":103,"phase":1,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":783,"old":600,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,2,4,8,16,32,192,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":788,"old":600,"rank":1,"right":{"linear_Z4":[0,2,3,0,0,2,0,0,0],"matrix_rows":[36,1,6,32,40,16,64,128,256],"offset":21,"phase":3,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":662,"old":601,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,8,16,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,16,35,1,66,2,132,260,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":784,"old":601,"rank":3,"right":{"linear_Z4":[0,2,0,3,0,1,0,0,2],"matrix_rows":[44,36,320,1,14,32,48,256,384],"offset":51,"phase":0,"quadratic_rows":[0,12,34,42,0,44,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":785,"old":602,"rank":1,"right":{"linear_Z4":[2,2,1,0,0,0,0,0,2],"matrix_rows":[260,1,6,256,8,272,32,64,128],"offset":38,"phase":3,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":790,"old":602,"rank":1,"right":{"linear_Z4":[2,2,2,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,264,272,288,320,384],"offset":62,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":663,"old":603,"rank":1,"right":{"linear_Z4":[3,1,3,2,0,3,2,0,0],"matrix_rows":[103,97,66,100,40,16,64,128,256],"offset":90,"phase":2,"quadratic_rows":[7,39,7,32,0,42,0,0,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[9,23,39,66,130,4,5,258,2],"offset":0,"phase":0,"quadratic_rows":[5,2,5,0,0,0,0,0,0]},"new":786,"old":603,"rank":3,"right":{"linear_Z4":[0,1,1,2,0,0,1,0,2],"matrix_rows":[15,6,110,64,330,324,256,272,384],"offset":9,"phase":0,"quadratic_rows":[78,303,295,35,0,78,97,0,6]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":766,"old":604,"rank":1,"right":{"linear_Z4":[0,3,3,2,0,0,0,0,0],"matrix_rows":[6,1,18,28,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,22,30,4,6,0,0,0,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[9,18,34,66,2,129,256,4,5],"offset":0,"phase":0,"quadratic_rows":[4,2,5,0,0,0,0,0,0]},"new":786,"old":604,"rank":3,"right":{"linear_Z4":[0,3,3,2,0,0,0,0,3],"matrix_rows":[257,6,384,256,26,20,16,288,64],"offset":11,"phase":1,"quadratic_rows":[0,30,22,2,6,0,0,256,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":784,"old":605,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[288,1,2,4,8,16,256,64,384],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":794,"old":605,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,8,16,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":767,"old":606,"rank":1,"right":{"linear_Z4":[0,2,2,0,0,0,3,3,2],"matrix_rows":[449,256,2,4,264,272,288,320,384],"offset":63,"phase":0,"quadratic_rows":[192,0,0,0,0,0,193,193,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[8,16,34,66,128,256,5,1,6],"offset":0,"phase":0,"quadratic_rows":[5,4,7,0,0,0,0,0,0]},"new":785,"old":606,"rank":3,"right":{"linear_Z4":[0,2,3,0,0,0,0,3,3],"matrix_rows":[192,260,320,193,6,256,264,16,32],"offset":48,"phase":2,"quadratic_rows":[192,4,6,0,0,0,257,129,320]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":783,"old":607,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,0,0],"matrix_rows":[7,32,34,36,8,16,64,128,256],"offset":3,"phase":0,"quadratic_rows":[38,39,39,0,0,7,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":793,"old":607,"rank":1,"right":{"linear_Z4":[2,2,0,0,0,2,0,0,0],"matrix_rows":[36,5,6,32,40,16,64,128,256],"offset":15,"phase":0,"quadratic_rows":[4,4,3,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":784,"old":608,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,0],"matrix_rows":[193,129,2,4,8,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[65,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":787,"old":608,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,2,2,0],"matrix_rows":[129,193,2,4,8,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[65,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":662,"old":609,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,1,0,2],"matrix_rows":[321,256,2,4,8,16,32,320,128],"offset":0,"phase":0,"quadratic_rows":[64,0,0,0,0,0,65,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,16,38,2,68,4,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":788,"old":609,"rank":3,"right":{"linear_Z4":[2,2,0,3,0,1,3,0,2],"matrix_rows":[320,44,36,65,14,32,48,256,384],"offset":319,"phase":3,"quadratic_rows":[64,12,34,42,0,44,65,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":786,"old":610,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,0,0,0,0],"matrix_rows":[70,1,194,196,8,16,32,128,256],"offset":141,"phase":0,"quadratic_rows":[0,134,134,0,0,0,128,70,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":789,"old":610,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,0,0],"matrix_rows":[70,1,130,132,8,16,32,128,256],"offset":129,"phase":0,"quadratic_rows":[0,198,198,0,0,0,134,70,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":663,"old":611,"rank":1,"right":{"linear_Z4":[3,1,3,2,0,3,0,0,2],"matrix_rows":[295,289,258,292,40,16,256,64,128],"offset":90,"phase":2,"quadratic_rows":[7,39,7,32,0,42,0,0,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[9,23,39,66,130,4,258,2,5],"offset":0,"phase":0,"quadratic_rows":[5,2,5,0,0,0,0,0,0]},"new":790,"old":611,"rank":3,"right":{"linear_Z4":[0,1,1,2,0,0,0,2,1],"matrix_rows":[15,6,302,256,394,388,128,144,192],"offset":9,"phase":0,"quadratic_rows":[270,175,167,35,0,270,0,6,289]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":768,"old":612,"rank":1,"right":{"linear_Z4":[0,3,3,2,0,0,0,0,0],"matrix_rows":[6,1,18,28,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,22,30,4,6,0,0,0,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[9,18,34,66,2,129,4,5,256],"offset":0,"phase":0,"quadratic_rows":[4,2,5,0,0,0,0,0,0]},"new":790,"old":612,"rank":3,"right":{"linear_Z4":[0,3,3,2,0,0,0,3,0],"matrix_rows":[129,6,192,128,26,20,16,160,256],"offset":11,"phase":1,"quadratic_rows":[0,30,22,2,6,0,128,192,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":788,"old":613,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[160,1,2,4,8,16,128,192,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":798,"old":613,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,2,4,8,16,32,192,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":769,"old":614,"rank":1,"right":{"linear_Z4":[0,3,3,2,0,0,0,0,0],"matrix_rows":[6,1,18,28,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,22,30,4,6,0,0,0,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[9,18,34,66,2,129,4,256,5],"offset":0,"phase":0,"quadratic_rows":[4,2,5,0,0,0,0,0,0]},"new":789,"old":614,"rank":3,"right":{"linear_Z4":[0,3,3,2,0,0,0,0,3],"matrix_rows":[257,6,320,256,26,20,16,288,128],"offset":11,"phase":1,"quadratic_rows":[0,30,22,2,6,0,256,0,320]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":787,"old":615,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[288,1,2,4,8,16,256,320,128],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":797,"old":615,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,8,16,32,320,128],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":791,"old":616,"rank":1,"right":{"linear_Z4":[2,2,0,1,0,0,0,0,2],"matrix_rows":[264,1,10,4,256,272,32,64,128],"offset":38,"phase":3,"quadratic_rows":[0,8,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":796,"old":616,"rank":1,"right":{"linear_Z4":[2,2,0,2,0,0,0,0,2],"matrix_rows":[257,256,2,260,8,272,288,320,384],"offset":62,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":664,"old":617,"rank":1,"right":{"linear_Z4":[3,1,2,3,0,3,2,0,0],"matrix_rows":[107,97,66,36,104,16,64,128,256],"offset":90,"phase":2,"quadratic_rows":[11,43,32,11,0,38,0,0,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[9,23,34,71,130,4,5,258,2],"offset":0,"phase":0,"quadratic_rows":[5,2,5,0,0,0,0,0,0]},"new":792,"old":617,"rank":3,"right":{"linear_Z4":[0,1,2,1,0,0,1,0,2],"matrix_rows":[15,10,110,64,326,256,328,272,384],"offset":9,"phase":0,"quadratic_rows":[78,303,35,299,0,78,97,0,10]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":793,"old":618,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[160,1,2,4,8,16,128,192,256],"offset":65,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":798,"old":618,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[9,8,2,12,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":665,"old":619,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[288,1,2,4,8,16,256,64,384],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,16,34,3,1,64,132,260,4],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":794,"old":619,"rank":3,"right":{"linear_Z4":[0,2,1,1,2,0,0,0,2],"matrix_rows":[9,20,320,16,6,24,32,256,384],"offset":50,"phase":3,"quadratic_rows":[24,4,14,29,9,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":766,"old":620,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,2,0,0,0],"matrix_rows":[1,33,2,4,8,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[33,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,16,34,66,128,257,2,4,5],"offset":0,"phase":0,"quadratic_rows":[4,0,5,0,0,0,0,0,0]},"new":794,"old":620,"rank":3,"right":{"linear_Z4":[0,2,3,0,0,3,2,2,3],"matrix_rows":[417,68,384,256,6,64,72,16,416],"offset":91,"phase":3,"quadratic_rows":[160,4,6,0,0,33,0,257,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":786,"old":621,"rank":1,"right":{"linear_Z4":[0,2,2,1,0,0,2,0,0],"matrix_rows":[72,1,10,4,64,80,32,128,256],"offset":61,"phase":1,"quadratic_rows":[0,8,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":792,"old":621,"rank":1,"right":{"linear_Z4":[0,2,1,2,0,0,2,0,0],"matrix_rows":[68,1,6,64,8,80,32,128,256],"offset":61,"phase":1,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":767,"old":622,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,3,3,0],"matrix_rows":[199,256,258,260,8,16,32,320,384],"offset":3,"phase":0,"quadratic_rows":[454,455,455,0,0,0,455,455,199]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[8,16,33,65,128,256,2,4,7],"offset":0,"phase":0,"quadratic_rows":[6,7,7,0,0,0,0,0,0]},"new":793,"old":622,"rank":3,"right":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[260,320,384,5,6,256,264,16,32],"offset":89,"phase":0,"quadratic_rows":[4,4,3,0,0,0,256,256,192]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":785,"old":623,"rank":1,"right":{"linear_Z4":[1,2,3,2,0,0,0,0,0],"matrix_rows":[13,9,6,8,16,32,64,128,256],"offset":12,"phase":2,"quadratic_rows":[5,4,7,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":791,"old":623,"rank":1,"right":{"linear_Z4":[1,2,1,2,0,0,0,0,0],"matrix_rows":[9,13,6,8,16,32,64,128,256],"offset":15,"phase":0,"quadratic_rows":[5,4,7,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":792,"old":624,"rank":1,"right":{"linear_Z4":[0,1,0,1,0,0,0,0,0],"matrix_rows":[74,1,194,4,200,16,32,128,256],"offset":149,"phase":0,"quadratic_rows":[0,138,0,138,0,0,128,74,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":795,"old":624,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,0,0,0],"matrix_rows":[74,1,130,4,136,16,32,128,256],"offset":129,"phase":0,"quadratic_rows":[0,202,0,202,0,0,138,74,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":664,"old":625,"rank":1,"right":{"linear_Z4":[3,1,2,3,0,3,0,0,2],"matrix_rows":[299,289,258,36,296,16,256,64,128],"offset":90,"phase":2,"quadratic_rows":[11,43,32,11,0,38,0,0,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[9,23,34,71,130,4,258,2,5],"offset":0,"phase":0,"quadratic_rows":[5,2,5,0,0,0,0,0,0]},"new":796,"old":625,"rank":3,"right":{"linear_Z4":[0,1,2,1,0,0,0,2,1],"matrix_rows":[15,10,302,256,390,128,392,144,192],"offset":9,"phase":0,"quadratic_rows":[270,175,35,171,0,270,0,10,289]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":794,"old":626,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,1,0,2,0],"matrix_rows":[224,1,2,4,8,16,160,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,96,32,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":797,"old":626,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,1,2,2,0],"matrix_rows":[160,1,2,4,8,16,224,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,96,32,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":665,"old":627,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,1,0,2],"matrix_rows":[352,1,2,4,8,16,256,320,128],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,64,96,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,16,34,3,1,64,132,260,4],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":798,"old":627,"rank":3,"right":{"linear_Z4":[0,2,1,1,2,2,3,0,2],"matrix_rows":[9,20,320,16,6,24,96,256,384],"offset":374,"phase":2,"quadratic_rows":[24,4,14,29,9,64,96,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":768,"old":628,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,2,0,0,0],"matrix_rows":[1,33,2,4,8,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[33,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,16,34,66,128,257,4,5,2],"offset":0,"phase":0,"quadratic_rows":[4,0,5,0,0,0,0,0,0]},"new":798,"old":628,"rank":3,"right":{"linear_Z4":[0,2,3,0,0,3,2,3,2],"matrix_rows":[225,260,192,128,6,256,264,16,224],"offset":91,"phase":3,"quadratic_rows":[96,4,6,0,0,33,129,192,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":790,"old":629,"rank":1,"right":{"linear_Z4":[0,2,2,1,0,0,0,0,2],"matrix_rows":[264,1,10,4,256,272,32,64,128],"offset":61,"phase":1,"quadratic_rows":[0,8,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":796,"old":629,"rank":1,"right":{"linear_Z4":[0,2,1,2,0,0,0,0,2],"matrix_rows":[260,1,6,256,8,272,32,64,128],"offset":61,"phase":1,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":769,"old":630,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,2,0,0,0],"matrix_rows":[1,33,2,4,8,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[33,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,16,34,66,128,257,4,2,5],"offset":0,"phase":0,"quadratic_rows":[4,0,5,0,0,0,0,0,0]},"new":797,"old":630,"rank":3,"right":{"linear_Z4":[0,2,3,0,0,3,2,2,3],"matrix_rows":[353,132,320,256,6,128,136,16,352],"offset":91,"phase":3,"quadratic_rows":[96,4,6,0,0,33,257,0,320]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":789,"old":631,"rank":1,"right":{"linear_Z4":[0,2,2,1,0,0,0,2,0],"matrix_rows":[136,1,10,4,128,144,32,64,256],"offset":61,"phase":1,"quadratic_rows":[0,8,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":795,"old":631,"rank":1,"right":{"linear_Z4":[0,2,1,2,0,0,0,2,0],"matrix_rows":[132,1,6,128,8,144,32,64,256],"offset":61,"phase":1,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":799,"old":632,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[136,1,2,4,128,16,32,192,256],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":804,"old":632,"rank":1,"right":{"linear_Z4":[2,3,0,0,2,0,0,0,0],"matrix_rows":[18,3,16,20,8,32,64,128,256],"offset":14,"phase":1,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":666,"old":633,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[264,1,2,4,256,16,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,34,64,3,2,132,260,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":800,"old":633,"rank":3,"right":{"linear_Z4":[2,1,0,0,1,2,0,0,2],"matrix_rows":[34,20,320,3,48,32,8,256,384],"offset":25,"phase":3,"quadratic_rows":[2,19,48,0,54,20,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":801,"old":634,"rank":1,"right":{"linear_Z4":[2,2,0,0,1,0,0,0,2],"matrix_rows":[272,17,2,4,8,256,288,64,128],"offset":103,"phase":1,"quadratic_rows":[16,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":806,"old":634,"rank":1,"right":{"linear_Z4":[2,1,0,0,2,0,0,0,2],"matrix_rows":[258,3,256,260,264,16,288,320,384],"offset":511,"phase":1,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":667,"old":635,"rank":1,"right":{"linear_Z4":[2,2,0,0,1,0,2,0,0],"matrix_rows":[80,1,18,20,24,64,96,128,256],"offset":103,"phase":1,"quadratic_rows":[0,16,16,16,30,0,0,0,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[15,17,34,4,71,129,6,257,1],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":802,"old":635,"rank":3,"right":{"linear_Z4":[1,2,0,0,1,0,1,0,2],"matrix_rows":[17,23,91,323,256,64,336,288,384],"offset":34,"phase":0,"quadratic_rows":[287,13,83,83,285,0,76,0,17]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":764,"old":636,"rank":1,"right":{"linear_Z4":[2,2,0,0,1,0,2,0,0],"matrix_rows":[80,1,18,4,8,64,96,128,256],"offset":103,"phase":1,"quadratic_rows":[0,16,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,17,34,66,129,1,256,4,6],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":802,"old":636,"rank":3,"right":{"linear_Z4":[3,2,0,0,3,0,0,0,3],"matrix_rows":[17,260,384,35,32,256,264,48,64],"offset":35,"phase":1,"quadratic_rows":[51,1,0,0,49,17,0,256,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":778,"old":637,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[264,1,2,4,256,16,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":800,"old":637,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,8,16,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":765,"old":638,"rank":1,"right":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[7,33,34,32,40,48,64,128,256],"offset":17,"phase":0,"quadratic_rows":[39,39,35,0,0,7,0,0,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[11,19,35,67,131,3,261,1,4],"offset":0,"phase":0,"quadratic_rows":[5,2,5,0,0,0,0,0,0]},"new":801,"old":638,"rank":3,"right":{"linear_Z4":[2,2,3,0,0,0,3,2,3],"matrix_rows":[455,7,64,229,230,32,40,48,256],"offset":295,"phase":1,"quadratic_rows":[292,292,487,0,0,7,196,324,391]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":777,"old":639,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[7,9,10,8,16,32,64,128,256],"offset":9,"phase":0,"quadratic_rows":[15,15,11,7,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":799,"old":639,"rank":1,"right":{"linear_Z4":[1,1,0,0,0,0,0,0,0],"matrix_rows":[7,13,14,8,16,32,64,128,256],"offset":15,"phase":0,"quadratic_rows":[11,11,8,7,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":800,"old":640,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,0,2,0],"matrix_rows":[200,1,2,4,136,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,72,0,0,8,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":803,"old":640,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,2,2,0],"matrix_rows":[136,1,2,4,200,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,72,0,0,8,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":666,"old":641,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,1,0,2],"matrix_rows":[328,1,2,4,256,16,32,320,128],"offset":0,"phase":0,"quadratic_rows":[0,0,0,64,0,0,72,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,34,64,3,2,132,260,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":804,"old":641,"rank":3,"right":{"linear_Z4":[2,1,0,2,1,2,3,0,2],"matrix_rows":[34,20,320,3,48,32,72,256,384],"offset":349,"phase":2,"quadratic_rows":[2,19,48,64,54,20,72,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":802,"old":642,"rank":1,"right":{"linear_Z4":[1,0,0,0,1,0,0,0,0],"matrix_rows":[81,193,2,4,8,208,32,128,256],"offset":163,"phase":0,"quadratic_rows":[145,0,0,0,145,0,128,81,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":805,"old":642,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,0,0],"matrix_rows":[81,129,2,4,8,144,32,128,256],"offset":129,"phase":0,"quadratic_rows":[209,0,0,0,209,0,145,81,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":667,"old":643,"rank":1,"right":{"linear_Z4":[2,2,0,0,1,0,0,0,2],"matrix_rows":[272,1,18,20,24,256,288,64,128],"offset":103,"phase":1,"quadratic_rows":[0,16,16,16,30,0,0,0,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[15,17,34,4,71,129,257,1,6],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":806,"old":643,"rank":3,"right":{"linear_Z4":[1,2,0,0,1,0,0,2,1],"matrix_rows":[17,23,283,387,128,256,400,160,192],"offset":34,"phase":0,"quadratic_rows":[159,13,275,275,157,0,0,17,268]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":770,"old":644,"rank":1,"right":{"linear_Z4":[2,2,0,0,1,0,0,0,2],"matrix_rows":[272,1,18,4,8,256,288,64,128],"offset":103,"phase":1,"quadratic_rows":[0,16,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,17,34,66,129,1,4,6,256],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":806,"old":644,"rank":3,"right":{"linear_Z4":[3,2,0,0,3,0,0,3,0],"matrix_rows":[17,132,192,35,32,128,136,48,256],"offset":35,"phase":1,"quadratic_rows":[51,1,0,0,49,17,128,192,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":782,"old":645,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[136,1,2,4,128,16,32,192,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":804,"old":645,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[132,1,2,128,8,16,32,192,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":771,"old":646,"rank":1,"right":{"linear_Z4":[2,2,0,0,1,0,0,2,0],"matrix_rows":[144,1,18,4,8,128,160,64,256],"offset":103,"phase":1,"quadratic_rows":[0,16,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,17,34,66,129,1,4,256,6],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":805,"old":646,"rank":3,"right":{"linear_Z4":[3,2,0,0,3,0,0,0,3],"matrix_rows":[17,260,320,35,32,256,264,48,128],"offset":35,"phase":1,"quadratic_rows":[51,1,0,0,49,17,256,0,320]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":781,"old":647,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[264,1,2,4,256,16,32,320,128],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":803,"old":647,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,8,16,32,320,128],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":521,"old":648,"rank":1,"right":{"linear_Z4":[2,2,1,0,0,0,0,0,2],"matrix_rows":[260,5,2,256,8,16,288,64,128],"offset":70,"phase":3,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":807,"old":648,"rank":1,"right":{"linear_Z4":[2,2,2,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,264,272,288,320,384],"offset":94,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":504,"old":649,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,0,0],"matrix_rows":[7,129,128,132,8,16,32,64,256],"offset":5,"phase":0,"quadratic_rows":[135,133,135,0,0,0,0,7,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":772,"old":649,"rank":1,"right":{"linear_Z4":[2,2,0,0,0,0,0,2,0],"matrix_rows":[132,5,6,128,8,16,160,64,256],"offset":15,"phase":0,"quadratic_rows":[4,4,3,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":526,"old":650,"rank":1,"right":{"linear_Z4":[3,0,3,2,0,0,0,0,0],"matrix_rows":[5,33,2,44,32,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[37,0,45,4,0,5,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":807,"old":650,"rank":1,"right":{"linear_Z4":[3,0,3,2,0,0,0,0,0],"matrix_rows":[5,41,2,36,32,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[45,0,37,1,0,5,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":484,"old":651,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[144,1,2,4,8,128,32,192,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":773,"old":651,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[130,1,128,4,8,16,32,192,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":504,"old":652,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,0,0],"matrix_rows":[69,129,2,132,8,16,32,128,256],"offset":129,"phase":0,"quadratic_rows":[197,0,197,0,0,0,133,69,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":808,"old":652,"rank":1,"right":{"linear_Z4":[1,0,1,0,0,0,0,0,0],"matrix_rows":[69,193,2,196,8,16,32,128,256],"offset":139,"phase":0,"quadratic_rows":[133,0,133,0,0,0,128,69,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":456,"old":653,"rank":1,"right":{"linear_Z4":[2,1,1,0,0,2,0,0,0],"matrix_rows":[34,5,38,32,8,16,64,128,256],"offset":15,"phase":0,"quadratic_rows":[4,6,7,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":521,"old":653,"rank":1,"right":{"linear_Z4":[2,1,3,0,0,2,0,0,0],"matrix_rows":[38,5,34,32,8,16,64,128,256],"offset":10,"phase":2,"quadratic_rows":[4,6,7,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":498,"old":654,"rank":1,"right":{"linear_Z4":[2,0,3,0,0,0,2,0,0],"matrix_rows":[68,5,2,64,8,16,96,128,256],"offset":67,"phase":3,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":808,"old":654,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,8,272,32,64,128],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":478,"old":655,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[272,1,2,4,8,256,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":774,"old":655,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,8,16,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":484,"old":656,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,0,0],"matrix_rows":[82,1,66,4,8,64,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,18,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":809,"old":656,"rank":1,"right":{"linear_Z4":[0,1,0,0,2,0,2,0,0],"matrix_rows":[66,1,82,4,8,64,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,18,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":460,"old":657,"rank":1,"right":{"linear_Z4":[3,0,2,3,0,0,0,0,0],"matrix_rows":[9,37,2,32,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[45,0,1,41,0,9,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":526,"old":657,"rank":1,"right":{"linear_Z4":[2,0,2,1,0,0,0,0,2],"matrix_rows":[264,1,2,12,256,16,288,64,128],"offset":91,"phase":1,"quadratic_rows":[0,0,8,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":478,"old":658,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[274,1,258,4,8,256,32,64,128],"offset":0,"phase":0,"quadratic_rows":[0,18,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":809,"old":658,"rank":1,"right":{"linear_Z4":[0,1,0,0,2,0,0,0,2],"matrix_rows":[258,1,274,4,8,256,32,64,128],"offset":0,"phase":0,"quadratic_rows":[0,18,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":461,"old":659,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,8,272,32,64,128],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":498,"old":659,"rank":1,"right":{"linear_Z4":[2,0,0,3,0,0,2,0,0],"matrix_rows":[72,9,2,4,64,16,96,128,256],"offset":67,"phase":3,"quadratic_rows":[8,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[6,10,17,2,35,67,131,259,3],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":866,"old":660,"rank":2,"right":{"linear_Z4":[3,3,2,2,0,0,0,0,1],"matrix_rows":[4,267,5,6,256,272,288,320,384],"offset":114,"phase":0,"quadratic_rows":[271,271,259,259,0,0,0,0,271]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":872,"old":660,"rank":1,"right":{"linear_Z4":[0,0,3,2,0,0,0,0,2],"matrix_rows":[260,1,2,268,256,272,288,320,384],"offset":1,"phase":1,"quadratic_rows":[0,0,12,4,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[8,17,34,4,71,6,135,263,7],"offset":0,"phase":0,"quadratic_rows":[0,6,6,0,0,0,0,0,0]},"new":1035,"old":660,"rank":3,"right":{"linear_Z4":[2,1,2,2,0,3,0,0,2],"matrix_rows":[290,4,40,3,288,32,272,320,384],"offset":108,"phase":2,"quadratic_rows":[2,3,32,32,0,44,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,16,33,1,64,130,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":867,"old":661,"rank":2,"right":{"linear_Z4":[2,3,0,1,2,0,0,0,2],"matrix_rows":[26,320,3,16,4,24,32,256,384],"offset":142,"phase":2,"quadratic_rows":[2,11,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":873,"old":661,"rank":1,"right":{"linear_Z4":[3,3,0,2,0,2,0,0,0],"matrix_rows":[43,33,34,4,32,48,64,128,256],"offset":1,"phase":1,"quadratic_rows":[11,11,0,3,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,32,66,3,2,132,260,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":1035,"old":661,"rank":3,"right":{"linear_Z4":[2,1,0,0,1,2,0,0,2],"matrix_rows":[34,24,320,3,48,4,32,256,384],"offset":157,"phase":3,"quadratic_rows":[2,19,0,48,58,24,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,17,32,65,1,130,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":870,"old":662,"rank":2,"right":{"linear_Z4":[0,2,1,2,0,2,0,0,2],"matrix_rows":[36,320,1,6,32,8,48,256,384],"offset":251,"phase":1,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":876,"old":662,"rank":1,"right":{"linear_Z4":[0,3,3,2,0,2,0,0,0],"matrix_rows":[38,1,34,44,32,48,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,14,4,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,16,35,1,66,2,132,260,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":1036,"old":662,"rank":3,"right":{"linear_Z4":[0,2,0,3,0,1,0,0,2],"matrix_rows":[44,36,320,1,14,32,48,256,384],"offset":183,"phase":0,"quadratic_rows":[0,12,34,42,0,44,0,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[6,8,19,34,65,1,130,258,2],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":871,"old":663,"rank":2,"right":{"linear_Z4":[3,2,2,1,0,3,0,0,1],"matrix_rows":[292,41,261,14,288,256,48,320,384],"offset":77,"phase":0,"quadratic_rows":[301,12,267,303,0,41,0,0,269]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":877,"old":663,"rank":1,"right":{"linear_Z4":[1,2,2,1,0,0,0,0,2],"matrix_rows":[265,257,2,12,256,272,288,320,384],"offset":127,"phase":3,"quadratic_rows":[9,0,8,13,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[9,16,38,66,4,5,130,258,2],"offset":0,"phase":0,"quadratic_rows":[5,4,3,0,0,0,0,0,0]},"new":1036,"old":663,"rank":3,"right":{"linear_Z4":[0,2,2,1,1,3,0,0,1],"matrix_rows":[17,284,292,48,14,272,256,320,384],"offset":61,"phase":3,"quadratic_rows":[32,12,290,26,56,309,0,0,292]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,9,18,33,66,3,130,258,2],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":870,"old":664,"rank":2,"right":{"linear_Z4":[0,1,2,1,0,1,0,0,0],"matrix_rows":[271,292,288,294,256,296,272,320,384],"offset":2,"phase":1,"quadratic_rows":[46,43,9,47,0,43,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":877,"old":664,"rank":1,"right":{"linear_Z4":[1,1,1,2,0,2,0,0,0],"matrix_rows":[7,33,34,44,32,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[39,39,47,4,0,7,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,16,38,66,4,5,134,262,6],"offset":0,"phase":0,"quadratic_rows":[5,0,5,0,0,0,0,0,0]},"new":1036,"old":664,"rank":3,"right":{"linear_Z4":[0,2,2,3,2,1,0,0,2],"matrix_rows":[17,284,52,48,14,256,272,320,384],"offset":89,"phase":2,"quadratic_rows":[32,12,34,10,0,37,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,1,32,64,130,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":871,"old":665,"rank":2,"right":{"linear_Z4":[1,2,1,2,0,0,0,0,2],"matrix_rows":[9,320,13,6,8,16,32,256,384],"offset":159,"phase":0,"quadratic_rows":[5,4,7,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":876,"old":665,"rank":1,"right":{"linear_Z4":[2,3,3,0,2,0,0,0,0],"matrix_rows":[23,16,18,20,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[6,7,7,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,16,34,3,1,64,132,260,4],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":1036,"old":665,"rank":3,"right":{"linear_Z4":[0,2,1,1,2,0,0,0,2],"matrix_rows":[9,20,320,16,6,24,32,256,384],"offset":182,"phase":3,"quadratic_rows":[24,4,14,29,9,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,17,32,65,1,130,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":866,"old":666,"rank":2,"right":{"linear_Z4":[2,2,2,0,0,2,0,0,2],"matrix_rows":[36,320,5,6,32,8,48,256,384],"offset":158,"phase":3,"quadratic_rows":[4,4,3,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":873,"old":666,"rank":1,"right":{"linear_Z4":[3,3,2,0,0,2,0,0,0],"matrix_rows":[39,33,34,32,8,48,64,128,256],"offset":1,"phase":1,"quadratic_rows":[7,7,3,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,34,64,3,2,132,260,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":1035,"old":666,"rank":3,"right":{"linear_Z4":[2,1,0,0,1,2,0,0,2],"matrix_rows":[34,20,320,3,48,32,8,256,384],"offset":157,"phase":3,"quadratic_rows":[2,19,48,0,54,20,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,18,33,67,2,129,257,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":867,"old":667,"rank":2,"right":{"linear_Z4":[2,3,2,1,0,1,0,0,1],"matrix_rows":[42,292,3,256,32,264,304,320,384],"offset":117,"phase":3,"quadratic_rows":[2,299,256,298,0,42,0,0,270]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":872,"old":667,"rank":1,"right":{"linear_Z4":[1,1,1,2,0,2,0,0,0],"matrix_rows":[7,33,34,44,32,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[39,39,47,4,0,7,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,34,4,71,6,129,257,1],"offset":0,"phase":0,"quadratic_rows":[6,1,1,0,0,0,0,0,0]},"new":1035,"old":667,"rank":3,"right":{"linear_Z4":[2,1,2,2,0,3,0,0,2],"matrix_rows":[290,292,264,3,256,32,304,320,384],"offset":108,"phase":2,"quadratic_rows":[2,35,256,256,0,290,0,0,44]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[9,16,33,66,130,258,2,4,5],"offset":0,"phase":0,"quadratic_rows":[4,2,5,0,0,0,0,0,0]},"new":1,"old":668,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,3],"matrix_rows":[257,8,384,256,2,260,64,80,96],"offset":73,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,256,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":878,"old":668,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,2],"matrix_rows":[257,385,2,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[129,0,0,0,0,0,0,1,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":884,"old":668,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[385,257,2,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[129,0,0,0,0,0,0,1,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,16,32,65,130,257,2,4,7],"offset":0,"phase":0,"quadratic_rows":[6,5,7,0,0,0,0,0,0]},"new":1,"old":669,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[264,272,384,1,2,4,320,64,352],"offset":195,"phase":0,"quadratic_rows":[0,0,0,64,320,0,24,256,144]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":879,"old":669,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,0,0,0,0],"matrix_rows":[152,1,2,4,392,400,32,64,256],"offset":305,"phase":0,"quadratic_rows":[0,0,0,280,280,0,0,256,152]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":885,"old":669,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,0,0,0,0],"matrix_rows":[152,1,2,4,264,272,32,64,256],"offset":257,"phase":0,"quadratic_rows":[0,0,0,408,408,0,0,280,152]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,16,33,66,132,258,4,2,5],"offset":0,"phase":0,"quadratic_rows":[4,0,1,0,0,0,0,0,0]},"new":1,"old":670,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,0,2,1],"matrix_rows":[257,136,272,320,2,324,128,64,160],"offset":231,"phase":0,"quadratic_rows":[64,0,0,0,320,0,17,0,272]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":882,"old":670,"rank":1,"right":{"linear_Z4":[2,0,0,0,3,0,0,0,2],"matrix_rows":[272,17,2,4,8,256,32,320,128],"offset":131,"phase":3,"quadratic_rows":[16,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":888,"old":670,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[136,1,2,4,128,16,160,64,256],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,16,33,66,132,258,4,5,2],"offset":0,"phase":0,"quadratic_rows":[4,0,1,0,0,0,0,0,0]},"new":1,"old":671,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,0,1,2],"matrix_rows":[129,264,144,192,2,196,256,64,288],"offset":231,"phase":0,"quadratic_rows":[64,0,0,0,192,0,17,144,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":883,"old":671,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[264,1,2,4,256,16,288,64,128],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":889,"old":671,"rank":1,"right":{"linear_Z4":[2,0,0,0,3,0,0,2,0],"matrix_rows":[144,17,2,4,8,128,32,192,256],"offset":131,"phase":3,"quadratic_rows":[16,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,16,33,66,129,258,1,4,6],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":1,"old":672,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,3],"matrix_rows":[1,264,384,64,2,68,256,80,288],"offset":74,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,256,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":882,"old":672,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,0,2,2],"matrix_rows":[264,1,2,4,392,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,136,0,0,0,8,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":889,"old":672,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,0,0,2],"matrix_rows":[392,1,2,4,264,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,136,0,0,0,8,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,16,33,64,130,256,2,4,7],"offset":0,"phase":0,"quadratic_rows":[6,5,7,0,0,0,0,0,0]},"new":1,"old":673,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,272,384,320,2,324,8,64,32],"offset":139,"phase":0,"quadratic_rows":[64,0,0,0,320,0,17,256,144]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":883,"old":673,"rank":1,"right":{"linear_Z4":[1,0,0,0,1,0,0,0,0],"matrix_rows":[145,385,2,4,8,400,32,64,256],"offset":291,"phase":0,"quadratic_rows":[273,0,0,0,273,0,0,256,145]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":888,"old":673,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,0,0],"matrix_rows":[145,257,2,4,8,272,32,64,256],"offset":257,"phase":0,"quadratic_rows":[401,0,0,0,401,0,0,273,145]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,16,33,66,132,258,4,1,6],"offset":0,"phase":0,"quadratic_rows":[0,4,2,0,0,0,0,0,0]},"new":1,"old":674,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,0,0,2,1],"matrix_rows":[129,264,272,128,2,132,320,64,352],"offset":399,"phase":0,"quadratic_rows":[0,0,0,64,320,0,24,0,272]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":878,"old":674,"rank":1,"right":{"linear_Z4":[0,0,0,2,3,0,0,0,2],"matrix_rows":[272,1,2,4,24,256,32,320,128],"offset":145,"phase":3,"quadratic_rows":[0,0,0,16,24,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":885,"old":674,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,2,132,8,16,32,64,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,16,33,66,132,258,4,6,1],"offset":0,"phase":0,"quadratic_rows":[0,4,2,0,0,0,0,0,0]},"new":1,"old":675,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,0,0,1,2],"matrix_rows":[257,136,144,256,2,260,192,64,224],"offset":399,"phase":0,"quadratic_rows":[0,0,0,64,192,0,24,144,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":879,"old":675,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,260,8,16,32,64,128],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":884,"old":675,"rank":1,"right":{"linear_Z4":[0,0,0,2,3,0,0,2,0],"matrix_rows":[144,1,2,4,24,128,32,192,256],"offset":145,"phase":3,"quadratic_rows":[0,0,0,16,24,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,18,35,4,70,134,7,262,6],"offset":0,"phase":0,"quadratic_rows":[4,4,7,0,0,0,0,0,0]},"new":1,"old":676,"rank":3,"right":{"linear_Z4":[2,2,0,0,0,0,3,0,0],"matrix_rows":[321,258,72,320,256,68,272,288,384],"offset":56,"phase":1,"quadratic_rows":[0,0,0,64,0,0,72,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":890,"old":676,"rank":1,"right":{"linear_Z4":[1,1,0,2,0,0,0,0,0],"matrix_rows":[3,265,258,4,256,272,288,320,384],"offset":151,"phase":1,"quadratic_rows":[267,259,0,1,0,0,0,0,3]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":896,"old":676,"rank":1,"right":{"linear_Z4":[3,3,0,2,0,0,0,0,0],"matrix_rows":[3,257,266,4,256,272,288,320,384],"offset":1,"phase":1,"quadratic_rows":[259,267,0,2,0,0,0,0,3]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,17,32,66,132,3,2,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":677,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,1,0,0,2],"matrix_rows":[33,40,272,96,98,4,64,256,384],"offset":215,"phase":0,"quadratic_rows":[64,0,0,96,0,40,9,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":891,"old":677,"rank":1,"right":{"linear_Z4":[2,0,0,3,0,0,2,0,0],"matrix_rows":[72,9,2,4,64,16,96,128,256],"offset":82,"phase":1,"quadratic_rows":[8,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":897,"old":677,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[272,1,2,4,8,256,32,64,384],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[9,18,35,68,132,6,7,260,4],"offset":0,"phase":0,"quadratic_rows":[4,2,5,0,0,0,0,0,0]},"new":1,"old":678,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,1,1,0,3],"matrix_rows":[353,2,104,96,288,324,256,272,384],"offset":79,"phase":1,"quadratic_rows":[256,288,0,352,0,106,104,0,267]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":894,"old":678,"rank":1,"right":{"linear_Z4":[3,2,0,2,0,0,0,0,2],"matrix_rows":[257,265,2,4,256,272,288,320,384],"offset":150,"phase":0,"quadratic_rows":[9,0,0,1,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":900,"old":678,"rank":1,"right":{"linear_Z4":[3,2,0,0,0,0,0,0,2],"matrix_rows":[265,257,2,4,256,272,288,320,384],"offset":85,"phase":2,"quadratic_rows":[9,0,0,1,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,33,2,68,131,3,260,4],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":679,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,2],"matrix_rows":[2,8,272,1,64,68,256,96,384],"offset":84,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":895,"old":679,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[72,1,2,4,64,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":901,"old":679,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[272,1,2,4,8,256,32,64,384],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,18,35,4,65,134,7,257,1],"offset":0,"phase":0,"quadratic_rows":[5,2,1,0,0,0,0,0,0]},"new":1,"old":680,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,0,0,3],"matrix_rows":[1,2,264,256,320,68,272,352,384],"offset":58,"phase":2,"quadratic_rows":[256,320,0,256,0,0,2,0,267]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":894,"old":680,"rank":1,"right":{"linear_Z4":[2,2,0,1,0,0,2,0,0],"matrix_rows":[72,9,2,4,64,16,96,128,256],"offset":70,"phase":3,"quadratic_rows":[8,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":901,"old":680,"rank":1,"right":{"linear_Z4":[0,2,0,3,0,0,0,0,2],"matrix_rows":[265,256,2,260,264,272,32,320,384],"offset":15,"phase":2,"quadratic_rows":[8,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,18,35,64,132,2,3,260,4],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":1,"old":681,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,2],"matrix_rows":[97,2,272,96,32,68,8,256,384],"offset":148,"phase":3,"quadratic_rows":[0,32,0,0,0,2,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":895,"old":681,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[65,64,2,68,8,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":900,"old":681,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[272,1,2,4,8,256,32,64,384],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,35,68,131,6,7,259,3],"offset":0,"phase":0,"quadratic_rows":[7,1,1,0,0,0,0,0,0]},"new":1,"old":682,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,1,0,0,0],"matrix_rows":[33,258,296,96,352,260,320,272,384],"offset":77,"phase":0,"quadratic_rows":[64,96,0,96,0,42,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":890,"old":682,"rank":1,"right":{"linear_Z4":[2,2,0,1,0,0,2,0,0],"matrix_rows":[72,9,2,4,64,16,96,128,256],"offset":70,"phase":3,"quadratic_rows":[8,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":897,"old":682,"rank":1,"right":{"linear_Z4":[2,1,0,2,0,0,0,0,2],"matrix_rows":[258,3,256,260,8,272,288,320,384],"offset":82,"phase":3,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,35,2,68,128,1,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":683,"rank":3,"right":{"linear_Z4":[2,2,0,3,0,0,3,0,2],"matrix_rows":[73,74,272,64,8,76,256,32,384],"offset":124,"phase":1,"quadratic_rows":[8,64,0,73,0,0,74,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":891,"old":683,"rank":1,"right":{"linear_Z4":[2,3,0,2,0,0,0,0,0],"matrix_rows":[10,3,8,12,16,32,64,128,256],"offset":14,"phase":1,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":896,"old":683,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[272,1,2,4,8,256,32,64,384],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,17,34,68,4,133,5,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,4,0,0,0,0,0,0]},"new":1,"old":684,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,2],"matrix_rows":[82,260,8,1,80,256,16,96,384],"offset":98,"phase":3,"quadratic_rows":[0,0,0,16,8,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":902,"old":684,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,8,16,32,64,384],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":908,"old":684,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[66,1,64,4,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[9,18,34,68,133,6,7,258,2],"offset":0,"phase":0,"quadratic_rows":[2,3,4,0,0,0,0,0,0]},"new":1,"old":685,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,1,1,0,3],"matrix_rows":[353,98,8,96,256,260,288,336,384],"offset":31,"phase":1,"quadratic_rows":[256,352,0,288,0,106,98,0,267]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":903,"old":685,"rank":1,"right":{"linear_Z4":[3,0,0,2,0,0,0,0,2],"matrix_rows":[259,257,256,260,8,16,288,320,384],"offset":85,"phase":2,"quadratic_rows":[3,1,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":909,"old":685,"rank":1,"right":{"linear_Z4":[3,2,0,2,0,0,0,0,2],"matrix_rows":[257,259,256,260,8,16,288,320,384],"offset":150,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,70,7,132,5,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":686,"rank":3,"right":{"linear_Z4":[0,2,2,0,3,0,0,0,1],"matrix_rows":[273,274,260,320,80,256,344,288,384],"offset":112,"phase":1,"quadratic_rows":[80,320,0,0,273,0,3,0,274]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":906,"old":686,"rank":1,"right":{"linear_Z4":[2,2,2,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,264,272,288,320,384],"offset":158,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":912,"old":686,"rank":1,"right":{"linear_Z4":[2,1,2,0,2,0,0,0,0],"matrix_rows":[18,3,16,4,24,32,64,128,256],"offset":26,"phase":3,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,65,128,3,2,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":687,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,1,0,0,2],"matrix_rows":[33,34,260,96,64,256,104,16,384],"offset":119,"phase":0,"quadratic_rows":[64,96,0,0,0,34,3,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":907,"old":687,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,8,16,32,64,384],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":913,"old":687,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,2,0,0],"matrix_rows":[66,3,64,4,8,16,96,128,256],"offset":70,"phase":1,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,66,3,128,1,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":688,"rank":3,"right":{"linear_Z4":[0,2,0,0,1,0,0,0,2],"matrix_rows":[17,18,260,64,80,256,88,32,384],"offset":111,"phase":0,"quadratic_rows":[80,64,0,0,17,0,3,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":906,"old":688,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,8,16,32,64,384],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":913,"old":688,"rank":1,"right":{"linear_Z4":[2,3,0,0,2,0,0,0,0],"matrix_rows":[18,3,16,4,24,32,64,128,256],"offset":19,"phase":3,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,69,132,7,6,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":689,"rank":3,"right":{"linear_Z4":[2,0,2,0,0,3,0,0,1],"matrix_rows":[289,290,260,96,320,256,360,272,384],"offset":104,"phase":1,"quadratic_rows":[320,96,0,0,0,290,3,0,289]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":907,"old":689,"rank":1,"right":{"linear_Z4":[2,2,2,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,264,272,288,320,384],"offset":158,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":912,"old":689,"rank":1,"right":{"linear_Z4":[2,1,2,0,0,0,2,0,0],"matrix_rows":[66,3,64,4,8,16,96,128,256],"offset":79,"phase":1,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,18,33,68,5,134,7,257,1],"offset":0,"phase":0,"quadratic_rows":[3,1,4,0,0,0,0,0,0]},"new":1,"old":690,"rank":3,"right":{"linear_Z4":[0,0,0,2,1,0,1,0,3],"matrix_rows":[81,338,8,256,80,260,272,352,384],"offset":31,"phase":1,"quadratic_rows":[336,256,0,272,89,0,81,0,267]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":902,"old":690,"rank":1,"right":{"linear_Z4":[0,3,0,2,0,0,0,0,2],"matrix_rows":[259,256,258,260,8,272,32,320,384],"offset":51,"phase":2,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":909,"old":690,"rank":1,"right":{"linear_Z4":[2,1,0,2,0,0,2,0,0],"matrix_rows":[66,3,64,4,8,16,96,128,256],"offset":82,"phase":3,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,16,34,68,133,4,5,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,4,0,0,0,0,0,0]},"new":1,"old":691,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,2],"matrix_rows":[97,260,8,96,2,256,32,80,384],"offset":98,"phase":3,"quadratic_rows":[0,0,0,32,0,8,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":903,"old":691,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,8,16,32,64,384],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":908,"old":691,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[65,64,2,4,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,64,129,258,4,2,5],"offset":0,"phase":0,"quadratic_rows":[4,0,1,0,0,0,0,0,0]},"new":1,"old":692,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,0,2,1],"matrix_rows":[257,130,260,320,128,64,8,336,160],"offset":183,"phase":0,"quadratic_rows":[64,0,320,0,0,0,5,0,260]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":914,"old":692,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[130,1,128,4,8,16,160,64,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":920,"old":692,"rank":1,"right":{"linear_Z4":[2,0,3,0,0,0,0,0,2],"matrix_rows":[260,5,2,256,8,16,32,320,128],"offset":131,"phase":3,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,64,129,258,4,5,2],"offset":0,"phase":0,"quadratic_rows":[4,0,1,0,0,0,0,0,0]},"new":1,"old":693,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,0,1,2],"matrix_rows":[129,258,132,192,256,64,8,208,288],"offset":183,"phase":0,"quadratic_rows":[64,0,192,0,0,0,5,132,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":915,"old":693,"rank":1,"right":{"linear_Z4":[2,0,3,0,0,0,0,2,0],"matrix_rows":[132,5,2,128,8,16,32,192,256],"offset":131,"phase":3,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":921,"old":693,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,8,16,288,64,128],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,17,34,64,128,257,2,4,7],"offset":0,"phase":0,"quadratic_rows":[6,5,7,0,0,0,0,0,0]},"new":1,"old":694,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,260,384,1,320,64,8,16,352],"offset":51,"phase":0,"quadratic_rows":[0,64,320,0,0,0,6,256,132]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":918,"old":694,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,0,0],"matrix_rows":[134,1,258,260,8,16,32,64,256],"offset":257,"phase":0,"quadratic_rows":[0,390,390,0,0,0,0,262,134]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":924,"old":694,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,0,0,0,0],"matrix_rows":[134,1,386,388,8,16,32,64,256],"offset":269,"phase":0,"quadratic_rows":[0,262,262,0,0,0,0,256,134]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[9,18,34,64,129,258,2,4,5],"offset":0,"phase":0,"quadratic_rows":[4,2,5,0,0,0,0,0,0]},"new":1,"old":695,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,3],"matrix_rows":[257,2,384,256,64,68,8,272,96],"offset":25,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,256,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":919,"old":695,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[385,257,2,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[129,0,0,0,0,0,0,1,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":925,"old":695,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,2],"matrix_rows":[257,385,2,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[129,0,0,0,0,0,0,1,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,64,129,258,4,1,6],"offset":0,"phase":0,"quadratic_rows":[0,4,2,0,0,0,0,0,0]},"new":1,"old":696,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,0,0,2,1],"matrix_rows":[129,258,260,128,320,64,8,144,352],"offset":303,"phase":0,"quadratic_rows":[0,64,320,0,0,0,6,0,260]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":918,"old":696,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,2,4,8,144,32,64,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":925,"old":696,"rank":1,"right":{"linear_Z4":[0,2,3,0,0,0,0,0,2],"matrix_rows":[260,1,6,256,8,16,32,320,128],"offset":133,"phase":3,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,64,129,258,4,6,1],"offset":0,"phase":0,"quadratic_rows":[0,4,2,0,0,0,0,0,0]},"new":1,"old":697,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,0,0,1,2],"matrix_rows":[257,130,132,256,192,64,8,272,224],"offset":303,"phase":0,"quadratic_rows":[0,64,192,0,0,0,6,132,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":919,"old":697,"rank":1,"right":{"linear_Z4":[0,2,3,0,0,0,0,2,0],"matrix_rows":[132,1,6,128,8,16,32,192,256],"offset":133,"phase":3,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":924,"old":697,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,8,272,32,64,128],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,16,34,64,129,256,2,4,7],"offset":0,"phase":0,"quadratic_rows":[6,5,7,0,0,0,0,0,0]},"new":1,"old":698,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,260,384,320,2,64,8,336,32],"offset":43,"phase":0,"quadratic_rows":[64,0,320,0,0,0,5,256,132]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":914,"old":698,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,0,0],"matrix_rows":[133,257,2,260,8,16,32,64,256],"offset":257,"phase":0,"quadratic_rows":[389,0,389,0,0,0,0,261,133]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":921,"old":698,"rank":1,"right":{"linear_Z4":[1,0,1,0,0,0,0,0,0],"matrix_rows":[133,385,2,388,8,16,32,64,256],"offset":267,"phase":0,"quadratic_rows":[261,0,261,0,0,0,0,256,133]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,18,33,64,129,258,1,4,6],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":1,"old":699,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,3],"matrix_rows":[1,258,384,64,256,68,8,80,288],"offset":26,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,256,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":915,"old":699,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[386,1,258,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,130,0,0,0,0,0,2,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":920,"old":699,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,2],"matrix_rows":[258,1,386,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,130,0,0,0,0,0,2,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,18,32,68,134,6,4,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,4,0,0,0,0,0,0]},"new":1,"old":700,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,2,0,0,2],"matrix_rows":[257,98,8,256,96,4,64,48,384],"offset":73,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":926,"old":700,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[34,1,32,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":932,"old":700,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,8,16,32,64,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,17,34,68,135,5,6,257,1],"offset":0,"phase":0,"quadratic_rows":[3,1,4,0,0,0,0,0,0]},"new":1,"old":701,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,1,1,0,0],"matrix_rows":[353,100,8,256,258,352,288,336,384],"offset":47,"phase":1,"quadratic_rows":[96,0,256,288,0,361,353,0,108]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":927,"old":701,"rank":1,"right":{"linear_Z4":[2,0,1,2,0,0,2,0,0],"matrix_rows":[68,5,2,64,8,80,32,128,256],"offset":59,"phase":1,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":933,"old":701,"rank":1,"right":{"linear_Z4":[0,0,3,2,0,0,0,0,2],"matrix_rows":[261,256,258,260,8,272,288,64,384],"offset":83,"phase":2,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,65,135,3,5,257,1],"offset":0,"phase":0,"quadratic_rows":[0,4,2,0,0,0,0,0,0]},"new":1,"old":702,"rank":3,"right":{"linear_Z4":[2,2,2,0,0,1,1,0,2],"matrix_rows":[257,98,100,256,288,320,264,368,384],"offset":142,"phase":0,"quadratic_rows":[0,320,288,0,0,100,98,0,6]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":930,"old":702,"rank":1,"right":{"linear_Z4":[2,2,1,0,0,0,2,0,0],"matrix_rows":[68,1,6,64,8,80,32,128,256],"offset":47,"phase":1,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":936,"old":702,"rank":1,"right":{"linear_Z4":[2,2,2,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,264,272,288,320,384],"offset":206,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,70,128,4,2,257,1],"offset":0,"phase":0,"quadratic_rows":[0,4,2,0,0,0,0,0,0]},"new":1,"old":703,"rank":3,"right":{"linear_Z4":[0,2,2,0,0,3,3,0,2],"matrix_rows":[257,98,100,256,64,32,104,16,384],"offset":121,"phase":1,"quadratic_rows":[0,32,64,0,0,98,100,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":931,"old":703,"rank":1,"right":{"linear_Z4":[0,2,3,0,0,2,0,0,0],"matrix_rows":[36,1,6,32,40,16,64,128,256],"offset":28,"phase":1,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":937,"old":703,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,8,16,32,64,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,71,129,5,3,257,1],"offset":0,"phase":0,"quadratic_rows":[0,4,2,0,0,0,0,0,0]},"new":1,"old":704,"rank":3,"right":{"linear_Z4":[2,2,2,0,0,1,1,0,2],"matrix_rows":[257,98,100,256,320,288,360,272,384],"offset":78,"phase":0,"quadratic_rows":[0,288,320,0,0,98,100,0,6]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":930,"old":704,"rank":1,"right":{"linear_Z4":[2,2,1,0,0,2,0,0,0],"matrix_rows":[36,1,6,32,40,16,64,128,256],"offset":31,"phase":1,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":937,"old":704,"rank":1,"right":{"linear_Z4":[2,2,2,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,264,272,288,320,384],"offset":206,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,64,134,2,4,257,1],"offset":0,"phase":0,"quadratic_rows":[0,4,2,0,0,0,0,0,0]},"new":1,"old":705,"rank":3,"right":{"linear_Z4":[0,2,2,0,0,3,3,0,2],"matrix_rows":[257,98,100,256,32,64,8,112,384],"offset":185,"phase":1,"quadratic_rows":[0,64,32,0,0,100,98,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":931,"old":705,"rank":1,"right":{"linear_Z4":[0,2,3,0,0,0,2,0,0],"matrix_rows":[68,1,6,64,8,80,32,128,256],"offset":44,"phase":1,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":936,"old":705,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,8,16,32,64,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,16,34,68,134,4,6,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,4,0,0,0,0,0,0]},"new":1,"old":706,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,2],"matrix_rows":[257,100,8,256,2,96,32,80,384],"offset":73,"phase":3,"quadratic_rows":[0,0,0,32,0,8,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":926,"old":706,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[68,1,2,64,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":933,"old":706,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,8,16,32,64,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,18,33,68,135,6,5,257,1],"offset":0,"phase":0,"quadratic_rows":[3,1,4,0,0,0,0,0,0]},"new":1,"old":707,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,1,1,0,0],"matrix_rows":[353,98,8,256,352,260,320,304,384],"offset":31,"phase":1,"quadratic_rows":[96,256,0,320,0,353,361,0,106]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":927,"old":707,"rank":1,"right":{"linear_Z4":[2,1,0,2,0,2,0,0,0],"matrix_rows":[34,3,32,4,8,48,64,128,256],"offset":55,"phase":1,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":932,"old":707,"rank":1,"right":{"linear_Z4":[0,3,0,2,0,0,0,0,2],"matrix_rows":[259,256,258,260,8,272,32,320,384],"offset":147,"phase":2,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,66,132,256,1,2,5],"offset":0,"phase":0,"quadratic_rows":[4,0,1,0,0,0,0,0,0]},"new":1,"old":708,"rank":3,"right":{"linear_Z4":[0,0,2,0,0,0,0,2,1],"matrix_rows":[257,130,260,64,128,320,136,336,32],"offset":159,"phase":0,"quadratic_rows":[320,0,64,0,0,0,5,0,257]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":938,"old":708,"rank":1,"right":{"linear_Z4":[2,0,3,0,0,0,0,0,2],"matrix_rows":[260,5,2,256,8,272,32,64,128],"offset":35,"phase":3,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":944,"old":708,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[130,1,128,4,136,16,32,64,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,66,132,256,1,5,2],"offset":0,"phase":0,"quadratic_rows":[4,0,1,0,0,0,0,0,0]},"new":1,"old":709,"rank":3,"right":{"linear_Z4":[0,0,2,0,0,0,0,1,2],"matrix_rows":[129,258,132,64,256,192,264,208,32],"offset":159,"phase":0,"quadratic_rows":[192,0,64,0,0,0,5,129,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":939,"old":709,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,264,16,32,64,128],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":945,"old":709,"rank":1,"right":{"linear_Z4":[2,0,3,0,0,0,0,2,0],"matrix_rows":[132,5,2,128,8,144,32,64,256],"offset":35,"phase":3,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,18,32,66,128,256,1,4,7],"offset":0,"phase":0,"quadratic_rows":[6,5,7,0,0,0,0,0,0]},"new":1,"old":710,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,258,384,64,320,4,328,16,32],"offset":27,"phase":0,"quadratic_rows":[320,64,0,0,0,0,3,256,129]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":942,"old":710,"rank":1,"right":{"linear_Z4":[1,1,0,0,0,0,0,0,0],"matrix_rows":[131,385,386,4,8,16,32,64,256],"offset":263,"phase":0,"quadratic_rows":[259,259,0,0,0,0,0,256,131]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":948,"old":710,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[131,257,258,4,8,16,32,64,256],"offset":257,"phase":0,"quadratic_rows":[387,387,0,0,0,0,0,259,131]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,17,34,65,130,256,1,4,6],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":1,"old":711,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,3],"matrix_rows":[1,260,384,64,66,256,72,272,32],"offset":42,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,256,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":943,"old":711,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,2,2],"matrix_rows":[260,1,2,388,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,0,132,0,0,0,0,4,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":949,"old":711,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,0,2],"matrix_rows":[388,1,2,260,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,0,132,0,0,0,0,4,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,66,132,256,1,3,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":712,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,0,0,1,2],"matrix_rows":[129,130,260,64,192,256,200,272,32],"offset":111,"phase":0,"quadratic_rows":[192,64,0,0,0,0,3,129,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":942,"old":712,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,8,272,32,64,128],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":949,"old":712,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,0,2,0],"matrix_rows":[130,3,128,4,136,16,32,64,256],"offset":19,"phase":3,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,66,132,256,1,4,3],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":713,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,0,0,2,1],"matrix_rows":[257,258,132,64,320,128,328,144,32],"offset":111,"phase":0,"quadratic_rows":[320,64,0,0,0,0,3,0,257]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":943,"old":713,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,0,0,2],"matrix_rows":[258,3,256,4,264,16,32,64,128],"offset":19,"phase":3,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":948,"old":713,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[132,1,2,128,8,144,32,64,256],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,18,33,66,129,256,1,4,6],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":1,"old":714,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,3],"matrix_rows":[1,258,384,64,256,68,264,80,32],"offset":26,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,256,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":938,"old":714,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,2],"matrix_rows":[258,1,386,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,130,0,0,0,0,0,2,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":945,"old":714,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[386,1,258,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,130,0,0,0,0,0,2,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,16,34,64,130,256,1,4,7],"offset":0,"phase":0,"quadratic_rows":[6,5,7,0,0,0,0,0,0]},"new":1,"old":715,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,260,384,64,2,320,8,336,32],"offset":43,"phase":0,"quadratic_rows":[320,0,64,0,0,0,5,256,129]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":939,"old":715,"rank":1,"right":{"linear_Z4":[1,0,1,0,0,0,0,0,0],"matrix_rows":[133,385,2,388,8,16,32,64,256],"offset":267,"phase":0,"quadratic_rows":[261,0,261,0,0,0,0,256,133]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":944,"old":715,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,0,0],"matrix_rows":[133,257,2,260,8,16,32,64,256],"offset":257,"phase":0,"quadratic_rows":[389,0,389,0,0,0,0,261,133]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,35,64,1,132,3,260,4],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":716,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,2],"matrix_rows":[1,82,288,16,80,68,8,256,384],"offset":140,"phase":3,"quadratic_rows":[16,0,0,0,1,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":950,"old":716,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[288,1,2,4,8,16,256,64,384],"offset":65,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":956,"old":716,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[66,1,64,68,8,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,18,35,4,69,130,7,258,2],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":1,"old":717,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,0,0,0,3],"matrix_rows":[1,2,264,320,256,68,336,288,384],"offset":57,"phase":2,"quadratic_rows":[320,256,0,256,0,0,1,0,267]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":951,"old":717,"rank":1,"right":{"linear_Z4":[2,0,0,3,0,0,0,0,2],"matrix_rows":[266,1,256,260,264,16,288,320,384],"offset":15,"phase":2,"quadratic_rows":[0,8,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":957,"old":717,"rank":1,"right":{"linear_Z4":[2,2,0,1,0,0,2,0,0],"matrix_rows":[72,1,10,4,64,80,32,128,256],"offset":38,"phase":3,"quadratic_rows":[0,8,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,18,35,68,5,131,7,259,3],"offset":0,"phase":0,"quadratic_rows":[2,7,2,0,0,0,0,0,0]},"new":1,"old":718,"rank":3,"right":{"linear_Z4":[0,0,0,0,1,0,0,0,0],"matrix_rows":[257,18,280,336,80,260,320,288,384],"offset":86,"phase":0,"quadratic_rows":[80,64,0,80,25,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":954,"old":718,"rank":1,"right":{"linear_Z4":[3,2,0,3,0,0,0,0,0],"matrix_rows":[9,259,256,260,264,16,288,320,384],"offset":1,"phase":1,"quadratic_rows":[267,1,0,265,0,0,0,0,9]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":960,"old":718,"rank":1,"right":{"linear_Z4":[2,2,0,1,0,0,2,0,0],"matrix_rows":[72,1,10,4,64,80,32,128,256],"offset":38,"phase":3,"quadratic_rows":[0,8,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,35,1,64,132,2,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":719,"rank":3,"right":{"linear_Z4":[2,2,0,3,0,0,3,0,2],"matrix_rows":[73,74,288,8,64,76,16,256,384],"offset":188,"phase":1,"quadratic_rows":[64,8,0,74,0,0,73,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":955,"old":719,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[288,1,2,4,8,16,256,64,384],"offset":65,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":961,"old":719,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,2,0,0],"matrix_rows":[66,3,64,68,8,16,32,128,256],"offset":14,"phase":1,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,17,32,66,3,132,2,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":720,"rank":3,"right":{"linear_Z4":[2,0,0,0,1,0,0,0,2],"matrix_rows":[17,24,288,80,82,4,64,256,384],"offset":215,"phase":0,"quadratic_rows":[64,0,0,80,24,0,9,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":954,"old":720,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[288,1,2,4,8,16,256,64,384],"offset":65,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":961,"old":720,"rank":1,"right":{"linear_Z4":[2,0,0,3,0,0,2,0,0],"matrix_rows":[72,9,2,4,64,80,32,128,256],"offset":50,"phase":1,"quadratic_rows":[8,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,18,35,4,69,133,7,261,5],"offset":0,"phase":0,"quadratic_rows":[4,4,7,0,0,0,0,0,0]},"new":1,"old":721,"rank":3,"right":{"linear_Z4":[2,2,0,0,0,0,3,0,0],"matrix_rows":[257,322,72,256,320,68,272,288,384],"offset":56,"phase":1,"quadratic_rows":[0,0,0,64,0,0,72,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":955,"old":721,"rank":1,"right":{"linear_Z4":[3,3,0,2,0,0,0,0,0],"matrix_rows":[3,265,258,4,256,272,288,320,384],"offset":1,"phase":1,"quadratic_rows":[267,259,0,1,0,0,0,0,3]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":960,"old":721,"rank":1,"right":{"linear_Z4":[1,1,0,2,0,0,0,0,0],"matrix_rows":[3,257,266,4,256,272,288,320,384],"offset":151,"phase":1,"quadratic_rows":[259,267,0,2,0,0,0,0,3]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,18,35,68,5,132,7,260,4],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":1,"old":722,"rank":3,"right":{"linear_Z4":[2,0,0,0,1,0,1,0,3],"matrix_rows":[1,338,88,272,80,324,256,288,384],"offset":87,"phase":1,"quadratic_rows":[272,256,0,336,89,0,88,0,267]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":950,"old":722,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,0,0,2],"matrix_rows":[266,1,258,4,256,272,288,320,384],"offset":51,"phase":2,"quadratic_rows":[0,10,0,2,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":957,"old":722,"rank":1,"right":{"linear_Z4":[2,3,0,2,0,0,0,0,2],"matrix_rows":[258,1,266,4,256,272,288,320,384],"offset":150,"phase":0,"quadratic_rows":[0,10,0,2,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[9,16,33,2,67,132,3,260,4],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":723,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,2],"matrix_rows":[1,8,288,64,2,68,80,256,384],"offset":140,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":951,"old":723,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[288,1,2,4,8,16,256,64,384],"offset":65,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":956,"old":723,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[72,1,2,4,64,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,33,66,130,260,4,1,6],"offset":0,"phase":0,"quadratic_rows":[0,4,2,0,0,0,0,0,0]},"new":1,"old":724,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,0,0,2,1],"matrix_rows":[130,264,288,1,128,132,320,336,64],"offset":407,"phase":0,"quadratic_rows":[0,0,0,64,0,320,40,0,288]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":962,"old":724,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[130,1,128,132,8,16,32,64,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":968,"old":724,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,3,0,0,2],"matrix_rows":[288,1,2,4,40,16,256,320,128],"offset":145,"phase":3,"quadratic_rows":[0,0,0,32,0,40,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,33,66,130,260,4,6,1],"offset":0,"phase":0,"quadratic_rows":[0,4,2,0,0,0,0,0,0]},"new":1,"old":725,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,0,0,1,2],"matrix_rows":[258,136,160,1,256,260,192,208,64],"offset":407,"phase":0,"quadratic_rows":[0,0,0,64,0,192,40,160,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":963,"old":725,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,3,0,2,0],"matrix_rows":[160,1,2,4,40,16,128,192,256],"offset":145,"phase":3,"quadratic_rows":[0,0,0,32,0,40,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":969,"old":725,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,260,8,16,32,64,128],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,17,33,64,128,258,2,4,7],"offset":0,"phase":0,"quadratic_rows":[6,5,7,0,0,0,0,0,0]},"new":1,"old":726,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,288,384,1,320,324,8,16,64],"offset":275,"phase":0,"quadratic_rows":[0,64,0,0,0,320,34,256,160]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":966,"old":726,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,3,0,0,0],"matrix_rows":[162,1,258,4,8,16,288,64,256],"offset":257,"phase":0,"quadratic_rows":[0,418,0,0,0,418,0,290,162]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":972,"old":726,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,1,0,0,0],"matrix_rows":[162,1,386,4,8,16,416,64,256],"offset":325,"phase":0,"quadratic_rows":[0,290,0,0,0,290,0,256,162]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[8,17,33,66,130,257,1,4,6],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":1,"old":727,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,3],"matrix_rows":[2,264,384,1,64,68,256,272,96],"offset":82,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,256,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":967,"old":727,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,0,0,2],"matrix_rows":[392,1,2,4,264,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,136,0,0,0,8,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":973,"old":727,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,0,2,2],"matrix_rows":[264,1,2,4,392,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,136,0,0,0,8,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,33,66,130,260,4,2,5],"offset":0,"phase":0,"quadratic_rows":[4,0,1,0,0,0,0,0,0]},"new":1,"old":728,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,0,0,2,1],"matrix_rows":[258,136,288,1,320,324,128,144,64],"offset":359,"phase":0,"quadratic_rows":[0,64,0,0,0,320,34,0,288]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":966,"old":728,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[136,1,2,4,128,144,32,64,256],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":973,"old":728,"rank":1,"right":{"linear_Z4":[0,2,0,0,0,3,0,0,2],"matrix_rows":[288,1,34,4,8,16,256,320,128],"offset":133,"phase":3,"quadratic_rows":[0,32,0,0,0,34,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,33,66,130,260,4,5,2],"offset":0,"phase":0,"quadratic_rows":[4,0,1,0,0,0,0,0,0]},"new":1,"old":729,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,0,0,1,2],"matrix_rows":[130,264,160,1,192,196,256,272,64],"offset":359,"phase":0,"quadratic_rows":[0,64,0,0,0,192,34,160,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":967,"old":729,"rank":1,"right":{"linear_Z4":[0,2,0,0,0,3,0,2,0],"matrix_rows":[160,1,34,4,8,16,128,192,256],"offset":133,"phase":3,"quadratic_rows":[0,32,0,0,0,34,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":972,"old":729,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[264,1,2,4,256,272,32,64,128],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,16,32,65,129,258,2,4,7],"offset":0,"phase":0,"quadratic_rows":[6,5,7,0,0,0,0,0,0]},"new":1,"old":730,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[264,288,384,1,2,4,320,336,64],"offset":323,"phase":0,"quadratic_rows":[0,0,0,64,0,320,40,256,160]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":962,"old":730,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,3,0,0,0],"matrix_rows":[168,1,2,4,264,16,288,64,256],"offset":257,"phase":0,"quadratic_rows":[0,0,0,424,0,424,0,296,168]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":969,"old":730,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,1,0,0,0],"matrix_rows":[168,1,2,4,392,16,416,64,256],"offset":337,"phase":0,"quadratic_rows":[0,0,0,296,0,296,0,256,168]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[8,17,33,66,130,258,2,4,5],"offset":0,"phase":0,"quadratic_rows":[4,2,5,0,0,0,0,0,0]},"new":1,"old":731,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,3],"matrix_rows":[258,8,384,1,256,260,64,80,96],"offset":81,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,256,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":963,"old":731,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[386,1,258,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,130,0,0,0,0,0,2,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":968,"old":731,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,2],"matrix_rows":[258,1,386,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,130,0,0,0,0,0,2,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,35,68,3,128,1,260,4],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":732,"rank":3,"right":{"linear_Z4":[2,0,0,0,2,0,0,0,2],"matrix_rows":[1,82,264,64,80,20,256,32,384],"offset":76,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":974,"old":732,"rank":1,"right":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[18,1,16,20,8,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":980,"old":732,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[264,1,2,4,256,16,32,64,384],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,35,66,132,7,6,258,2],"offset":0,"phase":0,"quadratic_rows":[4,0,1,0,0,0,0,0,0]},"new":1,"old":733,"rank":3,"right":{"linear_Z4":[2,2,0,0,0,3,0,0,1],"matrix_rows":[289,258,304,96,256,356,264,320,384],"offset":56,"phase":1,"quadratic_rows":[320,0,0,0,96,304,17,0,289]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":975,"old":733,"rank":1,"right":{"linear_Z4":[2,2,0,0,1,0,2,0,0],"matrix_rows":[80,17,2,4,8,64,96,128,256],"offset":103,"phase":1,"quadratic_rows":[16,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":981,"old":733,"rank":1,"right":{"linear_Z4":[2,2,0,0,2,0,0,0,2],"matrix_rows":[258,1,256,260,264,16,288,320,384],"offset":174,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,18,35,65,4,135,6,257,1],"offset":0,"phase":0,"quadratic_rows":[5,2,1,0,0,0,0,0,0]},"new":1,"old":734,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,0,0,3],"matrix_rows":[1,2,272,256,64,324,264,352,384],"offset":58,"phase":2,"quadratic_rows":[256,64,0,0,256,0,2,0,273]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":978,"old":734,"rank":1,"right":{"linear_Z4":[2,2,0,0,1,0,2,0,0],"matrix_rows":[80,17,2,4,8,64,96,128,256],"offset":103,"phase":1,"quadratic_rows":[16,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":984,"old":734,"rank":1,"right":{"linear_Z4":[0,2,0,0,3,0,0,0,2],"matrix_rows":[273,256,2,260,264,272,288,64,384],"offset":15,"phase":2,"quadratic_rows":[16,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,18,35,68,128,3,2,260,4],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":1,"old":735,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,2,0,0,2],"matrix_rows":[97,2,264,96,64,36,256,16,384],"offset":84,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":979,"old":735,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[33,32,2,36,8,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":985,"old":735,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[264,1,2,4,256,16,32,64,384],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[9,18,35,68,132,7,6,260,4],"offset":0,"phase":0,"quadratic_rows":[4,2,5,0,0,0,0,0,0]},"new":1,"old":736,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,1,1,0,3],"matrix_rows":[353,2,104,96,320,292,256,272,384],"offset":79,"phase":1,"quadratic_rows":[256,320,0,352,0,104,106,0,267]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":978,"old":736,"rank":1,"right":{"linear_Z4":[3,2,0,2,0,0,0,0,2],"matrix_rows":[257,265,2,4,256,272,288,320,384],"offset":86,"phase":0,"quadratic_rows":[9,0,0,1,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":985,"old":736,"rank":1,"right":{"linear_Z4":[3,2,0,0,0,0,0,0,2],"matrix_rows":[265,257,2,4,256,272,288,320,384],"offset":149,"phase":2,"quadratic_rows":[9,0,0,1,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,33,66,4,133,5,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":737,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,2],"matrix_rows":[2,264,16,1,64,68,256,96,384],"offset":82,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":979,"old":737,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[80,1,2,4,8,64,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":984,"old":737,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[264,1,2,4,256,16,32,64,384],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,16,33,66,132,5,4,258,2],"offset":0,"phase":0,"quadratic_rows":[4,0,1,0,0,0,0,0,0]},"new":1,"old":738,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,1,0,0,2],"matrix_rows":[33,264,48,96,2,100,256,64,384],"offset":231,"phase":0,"quadratic_rows":[64,0,0,0,96,48,17,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":974,"old":738,"rank":1,"right":{"linear_Z4":[2,0,0,0,3,0,2,0,0],"matrix_rows":[80,17,2,4,8,64,96,128,256],"offset":98,"phase":1,"quadratic_rows":[16,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":981,"old":738,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[264,1,2,4,256,16,32,64,384],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,18,35,68,7,132,5,260,4],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":1,"old":739,"rank":3,"right":{"linear_Z4":[2,0,0,0,1,0,1,0,3],"matrix_rows":[1,338,88,320,80,276,256,288,384],"offset":87,"phase":1,"quadratic_rows":[320,256,0,336,88,0,89,0,267]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":975,"old":739,"rank":1,"right":{"linear_Z4":[2,3,0,2,0,0,0,0,2],"matrix_rows":[258,1,266,4,256,272,288,320,384],"offset":54,"phase":0,"quadratic_rows":[0,10,0,2,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":980,"old":739,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,0,0,2],"matrix_rows":[266,1,258,4,256,272,288,320,384],"offset":147,"phase":2,"quadratic_rows":[0,10,0,2,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,17,32,66,132,260,2,1,6],"offset":0,"phase":0,"quadratic_rows":[0,4,2,0,0,0,0,0,0]},"new":1,"old":740,"rank":3,"right":{"linear_Z4":[0,0,0,0,2,0,0,2,1],"matrix_rows":[129,264,272,128,130,4,64,320,352],"offset":335,"phase":0,"quadratic_rows":[0,0,0,320,64,0,24,0,264]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":986,"old":740,"rank":1,"right":{"linear_Z4":[0,0,0,2,3,0,0,0,2],"matrix_rows":[272,1,2,4,24,256,288,64,128],"offset":81,"phase":3,"quadratic_rows":[0,0,0,16,24,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":992,"old":740,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,130,4,8,16,32,64,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,17,32,66,132,260,2,6,1],"offset":0,"phase":0,"quadratic_rows":[0,4,2,0,0,0,0,0,0]},"new":1,"old":741,"rank":3,"right":{"linear_Z4":[0,0,0,0,2,0,0,1,2],"matrix_rows":[257,136,144,256,258,4,64,192,224],"offset":335,"phase":0,"quadratic_rows":[0,0,0,192,64,0,24,136,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":987,"old":741,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,258,4,8,16,32,64,128],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":993,"old":741,"rank":1,"right":{"linear_Z4":[0,0,0,2,3,0,0,2,0],"matrix_rows":[144,1,2,4,24,128,160,64,256],"offset":81,"phase":3,"quadratic_rows":[0,0,0,16,24,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,17,32,66,128,256,2,4,7],"offset":0,"phase":0,"quadratic_rows":[6,5,7,0,0,0,0,0,0]},"new":1,"old":742,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,264,384,320,322,4,64,16,32],"offset":75,"phase":0,"quadratic_rows":[64,0,0,320,0,0,9,256,136]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":990,"old":742,"rank":1,"right":{"linear_Z4":[1,0,0,1,0,0,0,0,0],"matrix_rows":[137,385,2,4,392,16,32,64,256],"offset":275,"phase":0,"quadratic_rows":[265,0,0,265,0,0,0,256,137]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":996,"old":742,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,0,0],"matrix_rows":[137,257,2,4,264,16,32,64,256],"offset":257,"phase":0,"quadratic_rows":[393,0,0,393,0,0,0,265,137]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,17,32,65,130,258,1,4,6],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":1,"old":743,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,3],"matrix_rows":[1,272,384,64,66,4,72,256,288],"offset":138,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,256,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":991,"old":743,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,0,2,2],"matrix_rows":[272,1,2,4,8,400,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,144,0,0,16,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":997,"old":743,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,0,0,2],"matrix_rows":[400,1,2,4,8,272,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,144,0,0,16,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,17,32,66,132,260,2,3,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":744,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,0,1,2],"matrix_rows":[129,136,272,192,194,4,64,256,288],"offset":215,"phase":0,"quadratic_rows":[64,0,0,192,0,0,9,136,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":990,"old":744,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[272,1,2,4,8,256,288,64,128],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":997,"old":744,"rank":1,"right":{"linear_Z4":[2,0,0,3,0,0,0,2,0],"matrix_rows":[136,9,2,4,128,16,32,192,256],"offset":131,"phase":3,"quadratic_rows":[8,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,17,32,66,132,260,2,4,3],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":745,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,0,2,1],"matrix_rows":[257,264,144,320,322,4,64,128,160],"offset":215,"phase":0,"quadratic_rows":[64,0,0,320,0,0,9,0,264]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":991,"old":745,"rank":1,"right":{"linear_Z4":[2,0,0,3,0,0,0,0,2],"matrix_rows":[264,9,2,4,256,16,32,320,128],"offset":131,"phase":3,"quadratic_rows":[8,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":996,"old":745,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[144,1,2,4,8,128,160,64,256],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[9,17,32,66,130,258,2,4,5],"offset":0,"phase":0,"quadratic_rows":[4,2,5,0,0,0,0,0,0]},"new":1,"old":746,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,3],"matrix_rows":[257,8,384,256,258,4,64,80,96],"offset":73,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,256,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":986,"old":746,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,2],"matrix_rows":[257,385,2,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[129,0,0,0,0,0,0,1,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":993,"old":746,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[385,257,2,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[129,0,0,0,0,0,0,1,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,16,32,65,130,258,1,4,7],"offset":0,"phase":0,"quadratic_rows":[6,5,7,0,0,0,0,0,0]},"new":1,"old":747,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[264,272,384,1,2,4,64,320,352],"offset":195,"phase":0,"quadratic_rows":[0,0,0,320,64,0,24,256,136]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":987,"old":747,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,0,0,0,0],"matrix_rows":[152,1,2,4,392,400,32,64,256],"offset":305,"phase":0,"quadratic_rows":[0,0,0,280,280,0,0,256,152]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":992,"old":747,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,0,0,0,0],"matrix_rows":[152,1,2,4,264,272,32,64,256],"offset":257,"phase":0,"quadratic_rows":[0,0,0,408,408,0,0,280,152]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,17,34,65,128,258,1,4,6],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":1,"old":748,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,3],"matrix_rows":[1,260,384,64,66,256,72,16,288],"offset":42,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,256,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":998,"old":748,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,0,2],"matrix_rows":[388,1,2,260,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,0,132,0,0,0,0,4,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1004,"old":748,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,2,2],"matrix_rows":[260,1,2,388,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,0,132,0,0,0,0,4,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,18,32,65,128,256,2,4,7],"offset":0,"phase":0,"quadratic_rows":[6,5,7,0,0,0,0,0,0]},"new":1,"old":749,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,258,384,320,64,4,328,16,32],"offset":27,"phase":0,"quadratic_rows":[64,320,0,0,0,0,3,256,130]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":999,"old":749,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[131,257,258,4,8,16,32,64,256],"offset":257,"phase":0,"quadratic_rows":[387,387,0,0,0,0,0,259,131]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1005,"old":749,"rank":1,"right":{"linear_Z4":[1,1,0,0,0,0,0,0,0],"matrix_rows":[131,385,386,4,8,16,32,64,256],"offset":263,"phase":0,"quadratic_rows":[259,259,0,0,0,0,0,256,131]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,65,128,260,2,1,6],"offset":0,"phase":0,"quadratic_rows":[0,4,2,0,0,0,0,0,0]},"new":1,"old":750,"rank":3,"right":{"linear_Z4":[0,0,2,0,0,0,0,2,1],"matrix_rows":[129,258,260,128,64,320,136,16,352],"offset":287,"phase":0,"quadratic_rows":[0,320,64,0,0,0,6,0,258]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1002,"old":750,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,2,4,136,16,32,64,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1008,"old":750,"rank":1,"right":{"linear_Z4":[0,2,3,0,0,0,0,0,2],"matrix_rows":[260,1,6,256,8,16,288,64,128],"offset":69,"phase":3,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,65,128,260,2,6,1],"offset":0,"phase":0,"quadratic_rows":[0,4,2,0,0,0,0,0,0]},"new":1,"old":751,"rank":3,"right":{"linear_Z4":[0,0,2,0,0,0,0,1,2],"matrix_rows":[257,130,132,256,64,192,264,16,224],"offset":287,"phase":0,"quadratic_rows":[0,192,64,0,0,0,6,130,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1003,"old":751,"rank":1,"right":{"linear_Z4":[0,2,3,0,0,0,0,2,0],"matrix_rows":[132,1,6,128,8,16,160,64,256],"offset":69,"phase":3,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1009,"old":751,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,264,16,32,64,128],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,17,34,64,128,258,1,4,7],"offset":0,"phase":0,"quadratic_rows":[6,5,7,0,0,0,0,0,0]},"new":1,"old":752,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,260,384,1,64,320,8,16,352],"offset":51,"phase":0,"quadratic_rows":[0,320,64,0,0,0,6,256,130]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1002,"old":752,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,0,0],"matrix_rows":[134,1,258,260,8,16,32,64,256],"offset":257,"phase":0,"quadratic_rows":[0,390,390,0,0,0,0,262,134]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1009,"old":752,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,0,0,0,0],"matrix_rows":[134,1,386,388,8,16,32,64,256],"offset":269,"phase":0,"quadratic_rows":[0,262,262,0,0,0,0,256,134]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[9,18,34,65,128,258,2,4,5],"offset":0,"phase":0,"quadratic_rows":[4,2,5,0,0,0,0,0,0]},"new":1,"old":753,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,3],"matrix_rows":[257,2,384,256,64,68,264,16,96],"offset":25,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,256,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1003,"old":753,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[385,257,2,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[129,0,0,0,0,0,0,1,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1008,"old":753,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,2],"matrix_rows":[257,385,2,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[129,0,0,0,0,0,0,1,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,65,128,260,2,3,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":754,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,0,1,2],"matrix_rows":[129,130,260,192,64,256,200,16,288],"offset":119,"phase":0,"quadratic_rows":[64,192,0,0,0,0,3,130,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":998,"old":754,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,0,2,0],"matrix_rows":[130,3,128,4,8,16,32,192,256],"offset":131,"phase":3,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1005,"old":754,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,8,16,288,64,128],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,65,128,260,2,4,3],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":755,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,0,2,1],"matrix_rows":[257,258,132,320,64,128,328,16,160],"offset":119,"phase":0,"quadratic_rows":[64,320,0,0,0,0,3,0,258]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":999,"old":755,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[132,1,2,128,8,16,160,64,256],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1004,"old":755,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,0,0,2],"matrix_rows":[258,3,256,4,8,16,32,320,128],"offset":131,"phase":3,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,17,34,68,5,135,6,257,1],"offset":0,"phase":0,"quadratic_rows":[3,1,4,0,0,0,0,0,0]},"new":1,"old":756,"rank":3,"right":{"linear_Z4":[0,0,0,2,1,0,1,0,0],"matrix_rows":[337,84,8,256,258,336,272,352,384],"offset":47,"phase":1,"quadratic_rows":[80,0,256,272,345,0,337,0,92]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1010,"old":756,"rank":1,"right":{"linear_Z4":[0,0,3,2,0,0,0,0,2],"matrix_rows":[261,256,258,260,8,272,288,64,384],"offset":51,"phase":2,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1016,"old":756,"rank":1,"right":{"linear_Z4":[2,0,1,2,0,0,2,0,0],"matrix_rows":[68,5,2,64,8,16,96,128,256],"offset":91,"phase":1,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,18,32,68,133,5,4,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,4,0,0,0,0,0,0]},"new":1,"old":757,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,2,0,0,2],"matrix_rows":[97,258,8,96,256,4,64,48,384],"offset":82,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1011,"old":757,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,8,16,32,64,384],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1017,"old":757,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[33,32,2,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,66,131,7,6,258,2],"offset":0,"phase":0,"quadratic_rows":[4,0,1,0,0,0,0,0,0]},"new":1,"old":758,"rank":3,"right":{"linear_Z4":[2,2,0,0,0,3,0,0,1],"matrix_rows":[289,258,292,96,256,320,264,368,384],"offset":152,"phase":1,"quadratic_rows":[320,0,96,0,0,292,5,0,289]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1014,"old":758,"rank":1,"right":{"linear_Z4":[2,2,2,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,264,272,288,320,384],"offset":174,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1020,"old":758,"rank":1,"right":{"linear_Z4":[2,2,1,0,0,0,2,0,0],"matrix_rows":[68,5,2,64,8,16,96,128,256],"offset":79,"phase":1,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,69,4,128,1,258,2],"offset":0,"phase":0,"quadratic_rows":[4,0,1,0,0,0,0,0,0]},"new":1,"old":759,"rank":3,"right":{"linear_Z4":[2,0,2,0,3,0,3,0,2],"matrix_rows":[81,258,84,64,256,16,88,32,384],"offset":122,"phase":1,"quadratic_rows":[16,0,64,0,81,0,84,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1015,"old":759,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,8,16,32,64,384],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1021,"old":759,"rank":1,"right":{"linear_Z4":[2,0,3,0,2,0,0,0,0],"matrix_rows":[20,5,2,16,24,32,64,128,256],"offset":26,"phase":1,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,64,129,5,4,258,2],"offset":0,"phase":0,"quadratic_rows":[4,0,1,0,0,0,0,0,0]},"new":1,"old":760,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,1,0,0,2],"matrix_rows":[33,258,36,96,256,64,8,112,384],"offset":183,"phase":0,"quadratic_rows":[64,0,96,0,0,36,5,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1014,"old":760,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,8,16,32,64,384],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1021,"old":760,"rank":1,"right":{"linear_Z4":[2,0,3,0,0,0,2,0,0],"matrix_rows":[68,5,2,64,8,16,96,128,256],"offset":74,"phase":1,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,71,6,130,3,258,2],"offset":0,"phase":0,"quadratic_rows":[4,0,1,0,0,0,0,0,0]},"new":1,"old":761,"rank":3,"right":{"linear_Z4":[2,2,2,0,1,0,1,0,2],"matrix_rows":[81,258,84,320,256,272,344,288,384],"offset":85,"phase":0,"quadratic_rows":[272,0,320,0,81,0,84,0,5]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1015,"old":761,"rank":1,"right":{"linear_Z4":[2,2,2,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,264,272,288,320,384],"offset":174,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1020,"old":761,"rank":1,"right":{"linear_Z4":[2,2,1,0,2,0,0,0,0],"matrix_rows":[20,5,2,16,24,32,64,128,256],"offset":31,"phase":1,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,17,34,68,4,134,6,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,4,0,0,0,0,0,0]},"new":1,"old":762,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,2],"matrix_rows":[258,84,8,1,256,80,16,96,384],"offset":81,"phase":3,"quadratic_rows":[0,0,0,16,8,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1010,"old":762,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,8,16,32,64,384],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1017,"old":762,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[68,1,2,64,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[9,18,34,68,133,7,6,258,2],"offset":0,"phase":0,"quadratic_rows":[2,3,4,0,0,0,0,0,0]},"new":1,"old":763,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,1,1,0,3],"matrix_rows":[353,98,8,96,256,260,320,304,384],"offset":31,"phase":1,"quadratic_rows":[256,352,0,320,0,98,106,0,267]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1011,"old":763,"rank":1,"right":{"linear_Z4":[3,0,0,2,0,0,0,0,2],"matrix_rows":[259,257,256,260,8,16,288,320,384],"offset":149,"phase":2,"quadratic_rows":[3,1,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1016,"old":763,"rank":1,"right":{"linear_Z4":[3,2,0,2,0,0,0,0,2],"matrix_rows":[257,259,256,260,8,16,288,320,384],"offset":86,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,3,0,0,0,0,0],"matrix_rows":[17,34,68,132,258,1,3,8,12],"offset":0,"phase":0,"quadratic_rows":[2,1,8,12,0,0,0,0,0]},"new":1,"old":764,"rank":4,"right":{"linear_Z4":[0,2,0,0,0,0,1,0,3],"matrix_rows":[65,66,260,384,32,96,256,264,112],"offset":343,"phase":0,"quadratic_rows":[96,32,0,0,0,3,65,256,384]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,18,32,65,128,1,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1022,"old":764,"rank":2,"right":{"linear_Z4":[2,3,1,0,0,0,2,2,2],"matrix_rows":[66,260,3,64,388,8,80,32,256],"offset":69,"phase":3,"quadratic_rows":[2,3,132,0,0,0,0,4,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1028,"old":764,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,0,2],"matrix_rows":[388,129,130,260,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[128,128,132,0,0,0,0,7,0]}},{"left":{"linear_Z4":[2,2,3,3,0,0,0,0,0],"matrix_rows":[17,34,64,128,258,1,4,8,15],"offset":0,"phase":0,"quadratic_rows":[14,13,15,15,0,0,0,0,0]},"new":1,"old":765,"rank":4,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,3],"matrix_rows":[257,258,320,384,32,288,4,8,304],"offset":51,"phase":0,"quadratic_rows":[288,32,0,0,0,3,256,256,449]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,32,64,128,258,1,3],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":1023,"old":765,"rank":2,"right":{"linear_Z4":[1,1,0,0,0,0,0,0,1],"matrix_rows":[387,64,129,130,4,8,16,32,256],"offset":258,"phase":0,"quadratic_rows":[259,259,0,0,0,0,256,256,451]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1029,"old":765,"rank":1,"right":{"linear_Z4":[1,1,0,0,0,0,1,2,2],"matrix_rows":[323,257,258,4,8,16,32,448,256],"offset":0,"phase":0,"quadratic_rows":[67,67,0,0,0,0,195,64,0]}},{"left":{"linear_Z4":[2,2,2,3,0,0,0,0,0],"matrix_rows":[17,34,68,132,2,257,6,8,9],"offset":0,"phase":0,"quadratic_rows":[8,4,2,9,0,0,0,0,0]},"new":1,"old":766,"rank":4,"right":{"linear_Z4":[0,0,2,0,0,0,1,0,3],"matrix_rows":[257,66,68,384,256,16,80,88,288],"offset":183,"phase":0,"quadratic_rows":[0,80,16,0,6,0,66,256,384]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,18,34,64,128,2,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1026,"old":766,"rank":2,"right":{"linear_Z4":[1,2,3,0,0,0,2,2,2],"matrix_rows":[257,68,385,6,64,72,16,32,256],"offset":42,"phase":3,"quadratic_rows":[129,4,6,0,0,0,0,1,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1032,"old":766,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[385,257,130,132,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[129,128,128,0,0,0,0,7,0]}},{"left":{"linear_Z4":[2,2,3,3,0,0,0,0,0],"matrix_rows":[16,33,66,130,1,256,4,8,15],"offset":0,"phase":0,"quadratic_rows":[14,13,15,15,0,0,0,0,0]},"new":1,"old":767,"rank":4,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,3],"matrix_rows":[258,260,320,384,1,16,272,280,32],"offset":99,"phase":0,"quadratic_rows":[0,272,16,0,6,0,256,256,450]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,32,64,128,258,1,3],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":1027,"old":767,"rank":2,"right":{"linear_Z4":[0,1,1,0,0,0,0,0,1],"matrix_rows":[390,64,1,130,132,8,16,32,256],"offset":258,"phase":0,"quadratic_rows":[0,262,262,0,0,0,256,256,454]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1033,"old":767,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,0,1,2,2],"matrix_rows":[326,1,258,260,8,16,32,448,256],"offset":0,"phase":0,"quadratic_rows":[0,70,70,0,0,0,198,64,0]}},{"left":{"linear_Z4":[2,2,2,3,0,0,0,0,0],"matrix_rows":[17,34,68,132,2,257,8,9,6],"offset":0,"phase":0,"quadratic_rows":[8,4,2,9,0,0,0,0,0]},"new":1,"old":768,"rank":4,"right":{"linear_Z4":[0,0,2,0,0,0,0,3,1],"matrix_rows":[129,258,260,192,128,16,272,280,160],"offset":183,"phase":0,"quadratic_rows":[0,272,16,0,6,0,128,192,258]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[6,8,17,33,64,128,258,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1026,"old":768,"rank":2,"right":{"linear_Z4":[1,2,3,0,0,0,0,2,2],"matrix_rows":[260,193,129,6,256,264,16,32,128],"offset":41,"phase":3,"quadratic_rows":[65,4,6,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1033,"old":768,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,1,2,0],"matrix_rows":[65,128,2,4,8,16,160,192,256],"offset":64,"phase":3,"quadratic_rows":[192,0,0,0,0,0,193,65,0]}},{"left":{"linear_Z4":[2,2,2,3,0,0,0,0,0],"matrix_rows":[17,34,68,132,2,257,8,6,9],"offset":0,"phase":0,"quadratic_rows":[8,4,2,9,0,0,0,0,0]},"new":1,"old":769,"rank":4,"right":{"linear_Z4":[0,0,2,0,0,0,0,1,3],"matrix_rows":[257,130,132,320,256,16,144,152,288],"offset":183,"phase":0,"quadratic_rows":[0,144,16,0,6,0,256,130,320]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,8,16,32,64,129,2,256,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":1027,"old":769,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,3],"matrix_rows":[257,320,256,2,4,8,16,288,128],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,256,0,320]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1032,"old":769,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[321,257,66,68,8,16,32,256,128],"offset":0,"phase":0,"quadratic_rows":[65,64,64,0,0,0,7,0,0]}},{"left":{"linear_Z4":[2,2,2,3,0,0,0,0,0],"matrix_rows":[17,34,68,132,258,1,8,12,3],"offset":0,"phase":0,"quadratic_rows":[2,1,8,12,0,0,0,0,0]},"new":1,"old":770,"rank":4,"right":{"linear_Z4":[0,2,0,0,0,0,0,3,1],"matrix_rows":[257,258,132,192,32,288,128,136,304],"offset":343,"phase":0,"quadratic_rows":[288,32,0,0,0,3,128,192,257]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,18,32,65,128,258,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1022,"old":770,"rank":2,"right":{"linear_Z4":[2,3,1,0,0,0,0,2,2],"matrix_rows":[258,196,3,256,132,8,272,32,128],"offset":69,"phase":3,"quadratic_rows":[2,3,68,0,0,0,4,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1029,"old":770,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,1,2,0],"matrix_rows":[68,1,2,128,136,16,32,192,256],"offset":16,"phase":3,"quadratic_rows":[0,0,192,0,0,0,196,68,0]}},{"left":{"linear_Z4":[2,2,2,3,0,0,0,0,0],"matrix_rows":[17,34,68,132,258,1,8,3,12],"offset":0,"phase":0,"quadratic_rows":[2,1,8,12,0,0,0,0,0]},"new":1,"old":771,"rank":4,"right":{"linear_Z4":[0,2,0,0,0,0,0,1,3],"matrix_rows":[129,130,260,320,32,160,256,264,176],"offset":343,"phase":0,"quadratic_rows":[160,32,0,0,0,3,256,129,320]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,8,17,33,64,128,2,256,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":1023,"old":771,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,3],"matrix_rows":[260,320,1,2,256,264,16,32,128],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,256,0,320]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1028,"old":771,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,0,2],"matrix_rows":[324,65,66,260,8,16,32,256,128],"offset":0,"phase":0,"quadratic_rows":[64,64,68,0,0,0,7,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":811,"old":772,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,2,36,40,16,64,128,256],"offset":16,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":868,"old":772,"rank":1,"right":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[1,35,32,36,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[35,1,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":772,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[34,1,32,36,8,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":815,"old":773,"rank":1,"right":{"linear_Z4":[1,0,0,0,2,0,0,0,0],"matrix_rows":[1,145,2,4,8,128,32,192,256],"offset":35,"phase":3,"quadratic_rows":[145,0,0,0,1,0,0,1,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":880,"old":773,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,2,36,40,16,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":773,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[144,1,2,4,8,128,32,192,256],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":819,"old":774,"rank":1,"right":{"linear_Z4":[1,0,0,0,2,0,0,0,0],"matrix_rows":[1,273,2,4,8,256,32,64,384],"offset":35,"phase":3,"quadratic_rows":[273,0,0,0,1,0,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":892,"old":774,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,2,36,40,16,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":774,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[272,1,2,4,8,256,32,64,384],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,18,34,67,3,130,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":775,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[1,260,288,290,256,264,48,320,384],"offset":26,"phase":3,"quadratic_rows":[288,0,0,0,0,1,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":824,"old":775,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,34,4,8,48,64,128,256],"offset":4,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":911,"old":775,"rank":1,"right":{"linear_Z4":[1,0,2,0,0,0,0,0,0],"matrix_rows":[1,261,2,256,264,272,288,320,384],"offset":107,"phase":1,"quadratic_rows":[261,0,1,0,0,0,0,0,1]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1035,"old":775,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,264,272,288,320,384],"offset":105,"phase":2,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,32,65,2,3,128,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":776,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,0,1,0,0],"matrix_rows":[65,66,96,32,4,8,112,128,256],"offset":75,"phase":0,"quadratic_rows":[32,96,0,0,0,3,66,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":822,"old":776,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,0,0],"matrix_rows":[3,64,66,4,8,80,32,128,256],"offset":32,"phase":3,"quadratic_rows":[66,67,0,0,0,0,3,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":905,"old":776,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,2,0,0],"matrix_rows":[3,65,64,4,8,16,96,128,256],"offset":64,"phase":3,"quadratic_rows":[67,65,0,0,0,0,3,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1035,"old":776,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,2,0,0],"matrix_rows":[66,3,64,4,8,16,96,128,256],"offset":67,"phase":3,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":823,"old":777,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,2,0,0,0],"matrix_rows":[3,32,34,4,40,16,64,128,256],"offset":22,"phase":1,"quadratic_rows":[34,35,0,0,0,3,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":904,"old":777,"rank":1,"right":{"linear_Z4":[3,2,0,0,2,0,0,0,0],"matrix_rows":[3,17,16,4,24,32,64,128,256],"offset":22,"phase":1,"quadratic_rows":[19,17,0,0,3,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1035,"old":777,"rank":1,"right":{"linear_Z4":[2,3,0,0,2,0,0,0,0],"matrix_rows":[18,3,16,4,24,32,64,128,256],"offset":22,"phase":1,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":825,"old":778,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,34,4,8,48,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":910,"old":778,"rank":1,"right":{"linear_Z4":[1,0,2,0,0,0,0,0,0],"matrix_rows":[1,261,2,256,8,16,32,64,384],"offset":11,"phase":3,"quadratic_rows":[261,0,1,0,0,0,0,0,1]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1035,"old":778,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,8,16,32,64,384],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,32,65,2,128,3,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":779,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,0,0,1,0],"matrix_rows":[129,130,160,32,4,8,176,64,256],"offset":75,"phase":0,"quadratic_rows":[32,160,0,0,0,3,0,130,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":828,"old":779,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,0],"matrix_rows":[3,128,130,4,8,144,32,64,256],"offset":32,"phase":3,"quadratic_rows":[130,131,0,0,0,0,0,3,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":923,"old":779,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,0],"matrix_rows":[3,129,128,4,8,16,160,64,256],"offset":64,"phase":3,"quadratic_rows":[131,129,0,0,0,0,0,3,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,32,65,2,128,256,3],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":780,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,0,0,0,1],"matrix_rows":[257,258,288,32,4,8,304,64,128],"offset":75,"phase":0,"quadratic_rows":[32,288,0,0,0,3,0,0,258]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":826,"old":780,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[3,257,256,4,8,16,288,64,128],"offset":64,"phase":3,"quadratic_rows":[259,257,0,0,0,0,0,0,3]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":917,"old":780,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[3,256,258,4,8,272,32,64,128],"offset":32,"phase":3,"quadratic_rows":[258,259,0,0,0,0,0,0,3]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1035,"old":780,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,0,0,2],"matrix_rows":[258,3,256,4,8,16,288,64,128],"offset":67,"phase":3,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,18,32,65,1,130,256,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":781,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,2],"matrix_rows":[1,260,32,34,256,8,48,320,128],"offset":22,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":827,"old":781,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,34,4,8,48,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":916,"old":781,"rank":1,"right":{"linear_Z4":[1,0,2,0,0,0,0,0,0],"matrix_rows":[1,261,2,256,8,16,32,320,128],"offset":11,"phase":3,"quadratic_rows":[261,0,1,0,0,0,0,0,1]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1035,"old":781,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,8,16,32,320,128],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":829,"old":782,"rank":1,"right":{"linear_Z4":[1,0,2,0,0,0,0,0,0],"matrix_rows":[1,133,2,128,8,16,32,192,256],"offset":11,"phase":3,"quadratic_rows":[133,0,1,0,0,0,0,1,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":922,"old":782,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,34,4,8,48,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1035,"old":782,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[132,1,2,128,8,16,32,192,256],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,18,34,1,3,64,128,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":783,"rank":2,"right":{"linear_Z4":[0,0,2,0,0,1,0,0,0],"matrix_rows":[34,36,1,16,48,56,64,128,256],"offset":43,"phase":0,"quadratic_rows":[0,48,16,0,6,34,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":832,"old":783,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,2,0,0,0],"matrix_rows":[6,1,34,32,40,16,64,128,256],"offset":16,"phase":3,"quadratic_rows":[0,38,34,0,0,6,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":935,"old":783,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,2,0,0,0],"matrix_rows":[6,1,32,36,8,48,64,128,256],"offset":32,"phase":3,"quadratic_rows":[0,36,38,0,0,6,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1036,"old":783,"rank":1,"right":{"linear_Z4":[0,2,3,0,0,2,0,0,0],"matrix_rows":[36,1,6,32,40,16,64,128,256],"offset":21,"phase":3,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,18,34,2,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":1,"old":784,"rank":2,"right":{"linear_Z4":[0,2,0,0,2,0,0,0,2],"matrix_rows":[257,2,256,16,20,24,32,64,384],"offset":13,"phase":3,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":830,"old":784,"rank":1,"right":{"linear_Z4":[0,2,0,0,2,0,0,0,0],"matrix_rows":[2,1,16,20,24,32,64,128,256],"offset":4,"phase":3,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":929,"old":784,"rank":1,"right":{"linear_Z4":[2,3,0,0,2,0,0,0,0],"matrix_rows":[2,3,16,20,24,32,64,128,256],"offset":6,"phase":2,"quadratic_rows":[2,19,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1036,"old":784,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,8,16,32,64,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":831,"old":785,"rank":1,"right":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[2,1,16,20,24,32,64,128,256],"offset":8,"phase":3,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":928,"old":785,"rank":1,"right":{"linear_Z4":[2,1,0,0,2,0,0,0,0],"matrix_rows":[2,3,16,20,24,32,64,128,256],"offset":10,"phase":2,"quadratic_rows":[2,19,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1036,"old":785,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,264,272,288,320,384],"offset":51,"phase":2,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,18,33,2,64,3,128,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":786,"rank":2,"right":{"linear_Z4":[0,2,0,0,0,0,1,0,0],"matrix_rows":[66,68,1,80,16,88,32,128,256],"offset":51,"phase":0,"quadratic_rows":[0,16,80,0,6,0,68,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":833,"old":786,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,0,0],"matrix_rows":[6,1,66,64,8,80,32,128,256],"offset":32,"phase":3,"quadratic_rows":[0,70,66,0,0,0,6,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":934,"old":786,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,2,0,0],"matrix_rows":[6,1,64,68,72,16,32,128,256],"offset":16,"phase":3,"quadratic_rows":[0,68,70,0,0,0,6,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1036,"old":786,"rank":1,"right":{"linear_Z4":[0,2,3,0,0,0,2,0,0],"matrix_rows":[68,1,6,64,8,80,32,128,256],"offset":37,"phase":3,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,18,34,2,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":1,"old":787,"rank":2,"right":{"linear_Z4":[0,2,0,0,2,0,0,0,2],"matrix_rows":[257,2,256,16,20,24,32,320,128],"offset":13,"phase":3,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":836,"old":787,"rank":1,"right":{"linear_Z4":[0,2,0,0,2,0,0,0,0],"matrix_rows":[2,1,16,20,24,32,64,128,256],"offset":4,"phase":3,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":947,"old":787,"rank":1,"right":{"linear_Z4":[2,3,0,0,2,0,0,0,0],"matrix_rows":[2,3,16,20,24,32,64,128,256],"offset":6,"phase":2,"quadratic_rows":[2,19,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,18,34,2,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":1,"old":788,"rank":2,"right":{"linear_Z4":[0,2,0,0,2,0,0,2,0],"matrix_rows":[129,2,128,16,20,24,32,192,256],"offset":13,"phase":3,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":834,"old":788,"rank":1,"right":{"linear_Z4":[2,3,0,0,2,0,0,0,0],"matrix_rows":[2,3,16,20,24,32,64,128,256],"offset":6,"phase":2,"quadratic_rows":[2,19,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":941,"old":788,"rank":1,"right":{"linear_Z4":[0,2,0,0,2,0,0,0,0],"matrix_rows":[2,1,16,20,24,32,64,128,256],"offset":4,"phase":3,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1036,"old":788,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,2,4,8,16,32,192,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,18,33,2,64,128,3,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":789,"rank":2,"right":{"linear_Z4":[0,2,0,0,0,0,0,1,0],"matrix_rows":[130,132,1,144,16,152,32,64,256],"offset":51,"phase":0,"quadratic_rows":[0,16,144,0,6,0,0,132,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":835,"old":789,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,0],"matrix_rows":[6,1,130,128,8,144,32,64,256],"offset":32,"phase":3,"quadratic_rows":[0,134,130,0,0,0,0,6,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":940,"old":789,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,2,0],"matrix_rows":[6,1,128,132,136,16,32,64,256],"offset":16,"phase":3,"quadratic_rows":[0,132,134,0,0,0,0,6,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1036,"old":789,"rank":1,"right":{"linear_Z4":[0,2,3,0,0,0,0,2,0],"matrix_rows":[132,1,6,128,8,144,32,64,256],"offset":37,"phase":3,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,18,33,2,64,128,256,3],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":790,"rank":2,"right":{"linear_Z4":[0,2,0,0,0,0,0,0,1],"matrix_rows":[258,260,1,272,16,280,32,64,128],"offset":51,"phase":0,"quadratic_rows":[0,16,272,0,6,0,0,0,260]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":837,"old":790,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,0,2],"matrix_rows":[6,1,256,260,264,16,32,64,128],"offset":16,"phase":3,"quadratic_rows":[0,260,262,0,0,0,0,0,6]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":946,"old":790,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[6,1,258,256,8,272,32,64,128],"offset":32,"phase":3,"quadratic_rows":[0,262,258,0,0,0,0,0,6]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1036,"old":790,"rank":1,"right":{"linear_Z4":[0,2,3,0,0,0,0,0,2],"matrix_rows":[260,1,6,256,8,272,32,64,128],"offset":37,"phase":3,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,19,34,3,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":1,"old":791,"rank":2,"right":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[257,2,256,272,20,280,288,320,384],"offset":37,"phase":3,"quadratic_rows":[0,272,0,0,2,0,0,0,2]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":840,"old":791,"rank":1,"right":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[2,1,16,20,24,32,64,128,256],"offset":16,"phase":3,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":959,"old":791,"rank":1,"right":{"linear_Z4":[2,1,0,0,2,0,0,0,0],"matrix_rows":[2,3,16,20,24,32,64,128,256],"offset":18,"phase":2,"quadratic_rows":[2,19,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1036,"old":791,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,260,8,272,288,320,384],"offset":43,"phase":2,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,34,2,64,3,128,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":792,"rank":2,"right":{"linear_Z4":[0,2,0,0,0,0,1,0,0],"matrix_rows":[66,72,1,80,84,16,32,128,256],"offset":51,"phase":0,"quadratic_rows":[0,16,0,80,10,0,72,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":838,"old":792,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,0,0],"matrix_rows":[10,1,66,4,64,80,32,128,256],"offset":32,"phase":3,"quadratic_rows":[0,74,0,66,0,0,10,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":953,"old":792,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,2,0,0],"matrix_rows":[10,1,64,68,72,16,32,128,256],"offset":8,"phase":3,"quadratic_rows":[0,72,0,74,0,0,10,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1036,"old":792,"rank":1,"right":{"linear_Z4":[0,2,0,3,0,0,2,0,0],"matrix_rows":[72,1,10,4,64,80,32,128,256],"offset":37,"phase":3,"quadratic_rows":[0,8,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":839,"old":793,"rank":1,"right":{"linear_Z4":[2,3,0,0,2,0,0,0,0],"matrix_rows":[2,3,16,20,24,32,64,128,256],"offset":30,"phase":0,"quadratic_rows":[2,19,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":952,"old":793,"rank":1,"right":{"linear_Z4":[0,2,0,0,2,0,0,0,0],"matrix_rows":[2,1,16,20,24,32,64,128,256],"offset":28,"phase":1,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1036,"old":793,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[9,8,2,12,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,33,1,66,128,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":794,"rank":2,"right":{"linear_Z4":[0,2,0,0,2,0,0,0,2],"matrix_rows":[2,288,1,16,20,24,256,64,384],"offset":74,"phase":3,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":841,"old":794,"rank":1,"right":{"linear_Z4":[0,2,0,0,2,0,0,0,0],"matrix_rows":[2,1,16,20,24,32,64,128,256],"offset":4,"phase":3,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":958,"old":794,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,2,0,0,0],"matrix_rows":[2,1,290,4,8,16,256,64,384],"offset":69,"phase":3,"quadratic_rows":[0,290,0,0,0,2,0,0,2]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1036,"old":794,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[288,1,2,4,8,16,256,64,384],"offset":65,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,34,2,64,128,3,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":795,"rank":2,"right":{"linear_Z4":[0,2,0,0,0,0,0,1,0],"matrix_rows":[130,136,1,144,148,16,32,64,256],"offset":51,"phase":0,"quadratic_rows":[0,16,0,144,10,0,0,136,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":844,"old":795,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,0],"matrix_rows":[10,1,130,4,128,144,32,64,256],"offset":32,"phase":3,"quadratic_rows":[0,138,0,130,0,0,0,10,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":971,"old":795,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,0,2,0],"matrix_rows":[10,1,128,132,136,16,32,64,256],"offset":8,"phase":3,"quadratic_rows":[0,136,0,138,0,0,0,10,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,34,2,64,128,256,3],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":796,"rank":2,"right":{"linear_Z4":[0,2,0,0,0,0,0,0,1],"matrix_rows":[258,264,1,272,276,16,32,64,128],"offset":51,"phase":0,"quadratic_rows":[0,16,0,272,10,0,0,0,264]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":842,"old":796,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,0,0,2],"matrix_rows":[10,1,256,260,264,16,32,64,128],"offset":8,"phase":3,"quadratic_rows":[0,264,0,266,0,0,0,0,10]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":965,"old":796,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[10,1,258,4,256,272,32,64,128],"offset":32,"phase":3,"quadratic_rows":[0,266,0,258,0,0,0,0,10]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1036,"old":796,"rank":1,"right":{"linear_Z4":[0,2,0,3,0,0,0,0,2],"matrix_rows":[264,1,10,4,256,272,32,64,128],"offset":37,"phase":3,"quadratic_rows":[0,8,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,33,1,66,130,256,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":797,"rank":2,"right":{"linear_Z4":[0,2,0,0,2,0,0,0,2],"matrix_rows":[2,288,1,16,20,24,256,320,128],"offset":74,"phase":3,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":843,"old":797,"rank":1,"right":{"linear_Z4":[0,2,0,0,2,0,0,0,0],"matrix_rows":[2,1,16,20,24,32,64,128,256],"offset":4,"phase":3,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":964,"old":797,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,2,0,0,0],"matrix_rows":[2,1,290,4,8,16,256,320,128],"offset":69,"phase":3,"quadratic_rows":[0,290,0,0,0,2,0,0,2]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1036,"old":797,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[288,1,2,4,8,16,256,320,128],"offset":65,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,33,1,66,130,2,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":798,"rank":2,"right":{"linear_Z4":[0,2,0,0,2,0,0,2,0],"matrix_rows":[2,160,1,16,20,24,128,192,256],"offset":74,"phase":3,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":845,"old":798,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,2,0,0,0],"matrix_rows":[2,1,162,4,8,16,128,192,256],"offset":69,"phase":3,"quadratic_rows":[0,162,0,0,0,2,0,2,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":970,"old":798,"rank":1,"right":{"linear_Z4":[0,2,0,0,2,0,0,0,0],"matrix_rows":[2,1,16,20,24,32,64,128,256],"offset":4,"phase":3,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1036,"old":798,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[160,1,2,4,8,16,128,192,256],"offset":65,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,19,32,2,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":799,"rank":2,"right":{"linear_Z4":[2,2,0,0,3,3,0,0,0],"matrix_rows":[49,50,32,16,52,8,64,128,256],"offset":28,"phase":1,"quadratic_rows":[16,32,0,0,49,50,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":848,"old":799,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,2,0,0,0],"matrix_rows":[3,32,34,36,8,16,64,128,256],"offset":14,"phase":1,"quadratic_rows":[34,35,0,0,0,3,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":983,"old":799,"rank":1,"right":{"linear_Z4":[3,2,0,0,2,0,0,0,0],"matrix_rows":[3,17,16,20,8,32,64,128,256],"offset":14,"phase":1,"quadratic_rows":[19,17,0,0,3,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1035,"old":799,"rank":1,"right":{"linear_Z4":[2,3,0,0,2,0,0,0,0],"matrix_rows":[18,3,16,20,8,32,64,128,256],"offset":14,"phase":1,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,34,65,1,128,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":800,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,2],"matrix_rows":[1,264,32,34,4,256,48,64,384],"offset":38,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":846,"old":800,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,34,4,8,48,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":977,"old":800,"rank":1,"right":{"linear_Z4":[1,0,0,2,0,0,0,0,0],"matrix_rows":[1,265,2,4,256,16,32,64,384],"offset":19,"phase":3,"quadratic_rows":[265,0,0,1,0,0,0,0,1]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1035,"old":800,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[264,1,2,4,256,16,32,64,384],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":847,"old":801,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[3,257,256,260,264,16,288,320,384],"offset":64,"phase":3,"quadratic_rows":[259,257,0,0,0,0,0,0,3]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":976,"old":801,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[3,256,258,260,264,272,32,320,384],"offset":32,"phase":3,"quadratic_rows":[258,259,0,0,0,0,0,0,3]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1035,"old":801,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,0,0,2],"matrix_rows":[258,3,256,260,264,16,288,320,384],"offset":67,"phase":3,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":849,"old":802,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,2,0,0],"matrix_rows":[17,65,2,4,8,64,96,128,256],"offset":64,"phase":3,"quadratic_rows":[81,0,0,0,65,0,17,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":982,"old":802,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,2,0,0],"matrix_rows":[17,64,66,4,8,80,32,128,256],"offset":4,"phase":3,"quadratic_rows":[80,0,0,0,81,0,17,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1035,"old":802,"rank":1,"right":{"linear_Z4":[2,0,0,0,3,0,2,0,0],"matrix_rows":[80,17,2,4,8,64,96,128,256],"offset":67,"phase":3,"quadratic_rows":[16,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,34,65,1,130,256,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":803,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,2],"matrix_rows":[1,264,32,34,4,256,48,320,128],"offset":38,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":852,"old":803,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,34,4,8,48,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":995,"old":803,"rank":1,"right":{"linear_Z4":[1,0,0,2,0,0,0,0,0],"matrix_rows":[1,265,2,4,256,16,32,320,128],"offset":19,"phase":3,"quadratic_rows":[265,0,0,1,0,0,0,0,1]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,34,65,1,130,2,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":804,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,2,0,2,0],"matrix_rows":[1,136,32,34,4,128,48,192,256],"offset":38,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":850,"old":804,"rank":1,"right":{"linear_Z4":[1,0,0,2,0,0,0,0,0],"matrix_rows":[1,137,2,4,128,16,32,192,256],"offset":19,"phase":3,"quadratic_rows":[137,0,0,1,0,0,0,1,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":989,"old":804,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,34,4,8,48,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1035,"old":804,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[136,1,2,4,128,16,32,192,256],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,32,66,2,128,3,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":805,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,0,0,1,0],"matrix_rows":[129,144,160,162,4,8,32,64,256],"offset":75,"phase":0,"quadratic_rows":[32,0,0,0,160,17,0,144,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":851,"old":805,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,0],"matrix_rows":[17,129,2,4,8,128,160,64,256],"offset":64,"phase":3,"quadratic_rows":[145,0,0,0,129,0,0,17,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":988,"old":805,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,0,2,0],"matrix_rows":[17,128,130,4,8,144,32,64,256],"offset":4,"phase":3,"quadratic_rows":[144,0,0,0,145,0,0,17,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1035,"old":805,"rank":1,"right":{"linear_Z4":[2,0,0,0,3,0,0,2,0],"matrix_rows":[144,17,2,4,8,128,160,64,256],"offset":67,"phase":3,"quadratic_rows":[16,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":853,"old":806,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,0,0,2],"matrix_rows":[17,256,258,4,8,272,32,64,128],"offset":4,"phase":3,"quadratic_rows":[272,0,0,0,273,0,0,0,17]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":994,"old":806,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[17,257,2,4,8,256,288,64,128],"offset":64,"phase":3,"quadratic_rows":[273,0,0,0,257,0,0,0,17]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1035,"old":806,"rank":1,"right":{"linear_Z4":[2,0,0,0,3,0,0,0,2],"matrix_rows":[272,17,2,4,8,256,288,64,128],"offset":67,"phase":3,"quadratic_rows":[16,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":855,"old":807,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,0,2],"matrix_rows":[5,256,2,260,264,16,32,64,128],"offset":16,"phase":3,"quadratic_rows":[260,0,261,0,0,0,0,0,5]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1000,"old":807,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[5,257,2,256,8,16,288,64,128],"offset":64,"phase":3,"quadratic_rows":[261,0,257,0,0,0,0,0,5]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":807,"rank":1,"right":{"linear_Z4":[2,0,3,0,0,0,0,0,2],"matrix_rows":[260,5,2,256,8,16,288,64,128],"offset":67,"phase":3,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":859,"old":808,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,2,0,0],"matrix_rows":[5,64,2,68,72,16,32,128,256],"offset":16,"phase":3,"quadratic_rows":[68,0,69,0,0,0,5,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1012,"old":808,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,2,0,0],"matrix_rows":[5,65,2,64,8,16,96,128,256],"offset":64,"phase":3,"quadratic_rows":[69,0,65,0,0,0,5,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":808,"rank":1,"right":{"linear_Z4":[2,0,3,0,0,0,2,0,0],"matrix_rows":[68,5,2,64,8,16,96,128,256],"offset":67,"phase":3,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":863,"old":809,"rank":1,"right":{"linear_Z4":[1,2,0,0,0,0,0,0,0],"matrix_rows":[1,131,128,4,8,144,32,64,256],"offset":7,"phase":3,"quadratic_rows":[131,1,0,0,0,0,0,1,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1024,"old":809,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,2,36,40,16,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":809,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[130,1,128,4,8,144,32,64,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":810,"rank":1,"right":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[17,16,2,20,8,32,64,128,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":811,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[34,1,32,36,8,16,64,128,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":812,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,260,264,272,32,320,384],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":813,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,260,264,16,288,320,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":814,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,2,132,8,16,32,64,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":815,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,2,132,136,144,160,192,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":816,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,260,8,16,32,64,128],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":817,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,260,264,272,288,320,128],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":818,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,260,8,272,288,320,384],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":819,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,260,264,272,288,64,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":820,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[65,64,2,68,8,16,32,128,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":821,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[10,1,8,12,16,32,64,128,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":822,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[66,1,64,4,8,16,96,128,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":823,"rank":1,"right":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[18,1,16,4,24,32,64,128,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":824,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,264,272,288,320,384],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":825,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,8,16,32,64,384],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":826,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,8,272,32,64,128],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":827,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,8,16,32,320,128],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":828,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[130,1,128,4,8,16,160,64,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":829,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,130,132,8,144,160,192,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":830,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,8,16,32,64,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":831,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,264,272,288,320,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":832,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[34,1,32,4,8,48,64,128,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":833,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[66,1,64,4,72,16,32,128,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":834,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,130,132,136,144,32,192,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":835,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[130,1,128,4,136,16,32,64,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":836,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,8,16,32,320,128],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":837,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,8,272,32,64,128],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":838,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[66,1,64,68,8,16,32,128,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":839,"rank":1,"right":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[17,16,18,4,8,32,64,128,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":840,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,260,8,272,288,320,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":841,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[288,1,2,4,8,16,256,64,384],"offset":65,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":842,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[264,1,2,4,256,272,32,64,128],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":843,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[288,1,2,4,8,16,256,320,128],"offset":65,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":844,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[130,1,128,132,8,16,32,64,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":845,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[130,1,128,132,136,144,160,192,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":846,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[264,1,2,4,256,16,32,64,384],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":847,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,260,264,272,32,320,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":848,"rank":1,"right":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[18,1,16,20,8,32,64,128,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":849,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[65,64,66,4,8,16,32,128,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":850,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,130,4,136,144,160,192,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":851,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,130,4,8,16,32,64,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":852,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[264,1,2,4,256,16,32,320,128],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":853,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[272,1,2,4,8,256,288,64,128],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":854,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,258,260,264,16,288,320,128],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":855,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,8,16,288,64,128],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":856,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,130,132,136,16,160,192,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":857,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[132,1,2,128,8,16,160,64,256],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":858,"rank":1,"right":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[20,1,2,16,24,32,64,128,256],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":859,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[68,1,2,64,8,16,96,128,256],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":860,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,258,260,264,16,288,64,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":861,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,258,260,8,272,32,320,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":862,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[132,1,2,128,136,16,32,64,256],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":863,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,130,132,136,144,160,64,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":864,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,258,260,264,272,288,64,128],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":865,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,264,16,32,64,128],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":810,"old":866,"rank":1,"right":{"linear_Z4":[3,2,0,0,0,2,0,0,0],"matrix_rows":[3,33,32,36,8,16,64,128,256],"offset":14,"phase":1,"quadratic_rows":[35,33,0,0,0,3,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":811,"old":866,"rank":1,"right":{"linear_Z4":[2,3,0,0,2,0,0,0,0],"matrix_rows":[3,16,18,20,8,32,64,128,256],"offset":14,"phase":1,"quadratic_rows":[18,19,0,0,3,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":868,"old":867,"rank":1,"right":{"linear_Z4":[3,0,0,2,0,0,0,0,0],"matrix_rows":[1,41,2,4,32,48,64,128,256],"offset":1,"phase":1,"quadratic_rows":[41,0,0,1,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":869,"old":867,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,34,4,8,48,64,128,256],"offset":4,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":868,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[9,8,10,4,16,32,64,128,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":869,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[40,1,2,4,32,48,64,128,256],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":811,"old":870,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,2,0,0,0],"matrix_rows":[10,1,34,4,32,48,64,128,256],"offset":32,"phase":3,"quadratic_rows":[0,42,0,34,0,10,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":869,"old":870,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,2,0,0,0],"matrix_rows":[10,1,32,36,40,16,64,128,256],"offset":8,"phase":3,"quadratic_rows":[0,40,0,42,0,10,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":810,"old":871,"rank":1,"right":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[2,1,16,20,24,32,64,128,256],"offset":16,"phase":3,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":868,"old":871,"rank":1,"right":{"linear_Z4":[2,1,0,0,2,0,0,0,0],"matrix_rows":[2,3,16,20,24,32,64,128,256],"offset":18,"phase":2,"quadratic_rows":[2,19,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,9,18,2,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":812,"old":872,"rank":2,"right":{"linear_Z4":[0,3,2,0,0,0,0,0,2],"matrix_rows":[7,4,256,262,8,16,288,320,384],"offset":90,"phase":2,"quadratic_rows":[262,259,265,4,0,0,0,0,7]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[6,10,17,1,34,64,130,258,2],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":813,"old":872,"rank":2,"right":{"linear_Z4":[3,0,2,0,0,0,0,0,2],"matrix_rows":[4,7,261,256,8,272,32,320,384],"offset":53,"phase":2,"quadratic_rows":[259,261,266,4,0,0,0,0,7]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,32,2,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":874,"old":873,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,32,16,4,8,64,128,256],"offset":15,"phase":0,"quadratic_rows":[32,16,0,0,2,1,0,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,11,16,32,3,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":875,"old":873,"rank":2,"right":{"linear_Z4":[1,3,0,0,0,0,0,0,2],"matrix_rows":[1,2,323,16,4,8,32,256,384],"offset":138,"phase":3,"quadratic_rows":[323,339,0,0,2,0,3,0,3]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":874,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[320,1,2,4,8,16,32,256,384],"offset":129,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":875,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,258,4,8,272,288,320,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[4,9,19,3,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":812,"old":876,"rank":2,"right":{"linear_Z4":[0,1,3,0,0,0,0,0,2],"matrix_rows":[2,4,1,326,8,16,32,256,384],"offset":146,"phase":3,"quadratic_rows":[0,326,334,4,0,0,6,0,6]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[4,9,18,2,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":874,"old":876,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,1,16,8,32,64,128,256],"offset":27,"phase":0,"quadratic_rows":[0,16,8,4,2,0,0,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[7,10,17,33,2,64,131,259,3],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":813,"old":877,"rank":2,"right":{"linear_Z4":[0,2,1,0,0,0,0,0,2],"matrix_rows":[1,7,261,16,272,280,32,320,384],"offset":44,"phase":1,"quadratic_rows":[258,21,22,0,6,0,0,0,1]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[7,9,18,34,1,64,131,259,3],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":875,"old":877,"rank":2,"right":{"linear_Z4":[0,3,0,0,0,0,0,0,2],"matrix_rows":[1,7,259,16,272,280,32,320,384],"offset":44,"phase":1,"quadratic_rows":[260,278,275,0,6,0,0,0,7]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":814,"old":878,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":16,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":815,"old":878,"rank":1,"right":{"linear_Z4":[2,0,0,3,0,0,2,0,0],"matrix_rows":[8,9,2,4,64,80,96,128,256],"offset":18,"phase":2,"quadratic_rows":[8,0,0,73,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":880,"old":879,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,0,2,0],"matrix_rows":[24,1,2,4,128,144,160,64,256],"offset":64,"phase":3,"quadratic_rows":[0,0,0,144,152,0,0,24,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":881,"old":879,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,0,2,0],"matrix_rows":[24,1,2,4,136,128,32,192,256],"offset":128,"phase":3,"quadratic_rows":[0,0,0,152,136,0,0,24,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":880,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[144,1,2,4,8,128,32,192,256],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":881,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[136,1,2,4,128,16,160,64,256],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":815,"old":882,"rank":1,"right":{"linear_Z4":[1,0,0,2,0,0,0,0,0],"matrix_rows":[1,137,2,4,128,16,160,64,256],"offset":19,"phase":3,"quadratic_rows":[137,0,0,1,0,0,0,1,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":881,"old":882,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,2,68,8,80,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":814,"old":883,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,0],"matrix_rows":[17,129,2,4,8,128,32,192,256],"offset":128,"phase":3,"quadratic_rows":[145,0,0,0,129,0,0,17,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":880,"old":883,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,0,2,0],"matrix_rows":[17,128,2,132,8,144,32,64,256],"offset":8,"phase":3,"quadratic_rows":[144,0,0,0,145,0,0,17,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":816,"old":884,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":16,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":817,"old":884,"rank":1,"right":{"linear_Z4":[2,0,0,3,0,0,2,0,0],"matrix_rows":[8,9,2,4,64,80,96,128,256],"offset":18,"phase":2,"quadratic_rows":[8,0,0,73,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":886,"old":885,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,0,0,2],"matrix_rows":[24,1,2,4,256,272,288,64,128],"offset":64,"phase":3,"quadratic_rows":[0,0,0,272,280,0,0,0,24]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":887,"old":885,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,0,0,2],"matrix_rows":[24,1,2,4,264,256,32,320,128],"offset":128,"phase":3,"quadratic_rows":[0,0,0,280,264,0,0,0,24]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":886,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[272,1,2,4,8,256,32,320,128],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":887,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[264,1,2,4,256,16,288,64,128],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":816,"old":888,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[17,257,2,4,8,256,32,320,128],"offset":128,"phase":3,"quadratic_rows":[273,0,0,0,257,0,0,0,17]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":886,"old":888,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,0,0,2],"matrix_rows":[17,256,2,260,8,272,32,64,128],"offset":8,"phase":3,"quadratic_rows":[272,0,0,0,273,0,0,0,17]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":817,"old":889,"rank":1,"right":{"linear_Z4":[1,0,0,2,0,0,0,0,0],"matrix_rows":[1,265,2,4,256,16,288,64,128],"offset":19,"phase":3,"quadratic_rows":[265,0,0,1,0,0,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":887,"old":889,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,2,68,8,80,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":818,"old":890,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[3,256,258,260,264,272,288,64,384],"offset":16,"phase":3,"quadratic_rows":[258,259,0,0,0,0,0,0,3]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":819,"old":890,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[3,257,256,260,8,272,288,320,384],"offset":128,"phase":3,"quadratic_rows":[259,257,0,0,0,0,0,0,3]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":892,"old":891,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,66,4,72,16,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":893,"old":891,"rank":1,"right":{"linear_Z4":[1,0,0,0,2,0,0,0,0],"matrix_rows":[1,273,2,4,8,256,32,64,384],"offset":35,"phase":3,"quadratic_rows":[273,0,0,0,1,0,0,0,1]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":892,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[272,1,2,4,8,256,32,64,384],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":893,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,258,4,264,272,32,320,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":819,"old":894,"rank":1,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,0],"matrix_rows":[2,1,64,68,8,16,96,128,256],"offset":76,"phase":1,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":893,"old":894,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,2,0,0],"matrix_rows":[2,3,64,68,8,16,96,128,256],"offset":78,"phase":0,"quadratic_rows":[2,67,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":818,"old":895,"rank":1,"right":{"linear_Z4":[0,1,0,0,2,0,0,0,0],"matrix_rows":[2,1,274,4,8,256,32,64,384],"offset":37,"phase":3,"quadratic_rows":[0,274,0,0,2,0,0,0,2]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":892,"old":895,"rank":1,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,0],"matrix_rows":[2,1,64,68,8,16,96,128,256],"offset":4,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":820,"old":896,"rank":1,"right":{"linear_Z4":[3,2,0,2,0,0,0,0,0],"matrix_rows":[3,9,8,12,16,32,64,128,256],"offset":14,"phase":1,"quadratic_rows":[11,9,0,3,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":821,"old":896,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,2,0,0],"matrix_rows":[3,64,66,68,8,16,32,128,256],"offset":14,"phase":1,"quadratic_rows":[66,67,0,0,0,0,3,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":898,"old":897,"rank":1,"right":{"linear_Z4":[3,0,0,2,0,0,2,0,0],"matrix_rows":[9,65,2,4,64,16,96,128,256],"offset":82,"phase":1,"quadratic_rows":[73,0,0,65,0,0,9,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":899,"old":897,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,2,0,0,0],"matrix_rows":[9,32,34,4,40,16,64,128,256],"offset":4,"phase":3,"quadratic_rows":[40,0,0,41,0,9,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":898,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[33,32,34,4,8,16,64,128,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":899,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[72,1,2,4,64,16,96,128,256],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":820,"old":900,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[2,1,64,68,8,16,96,128,256],"offset":64,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":898,"old":900,"rank":1,"right":{"linear_Z4":[2,1,0,0,0,0,2,0,0],"matrix_rows":[2,3,64,68,8,16,96,128,256],"offset":66,"phase":2,"quadratic_rows":[2,67,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":821,"old":901,"rank":1,"right":{"linear_Z4":[0,3,0,2,0,0,0,0,0],"matrix_rows":[2,1,74,4,64,16,96,128,256],"offset":1,"phase":1,"quadratic_rows":[0,74,0,2,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":899,"old":901,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[2,1,64,68,8,16,96,128,256],"offset":8,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":822,"old":902,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":32,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":823,"old":902,"rank":1,"right":{"linear_Z4":[0,2,0,1,0,0,2,0,0],"matrix_rows":[8,1,10,4,64,80,96,128,256],"offset":36,"phase":2,"quadratic_rows":[0,8,0,74,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":904,"old":903,"rank":1,"right":{"linear_Z4":[2,0,0,1,0,0,2,0,0],"matrix_rows":[8,9,2,4,64,80,96,128,256],"offset":66,"phase":2,"quadratic_rows":[8,0,0,73,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":905,"old":903,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":64,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":904,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[33,32,2,4,40,16,64,128,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":905,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[65,64,2,4,8,80,32,128,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":823,"old":906,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,2,0,0],"matrix_rows":[3,64,66,4,8,80,32,128,256],"offset":38,"phase":1,"quadratic_rows":[66,67,0,0,0,0,3,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":905,"old":906,"rank":1,"right":{"linear_Z4":[1,0,0,0,2,0,0,0,0],"matrix_rows":[3,17,16,4,24,32,64,128,256],"offset":16,"phase":3,"quadratic_rows":[19,17,0,0,3,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":822,"old":907,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,2,0,0,0],"matrix_rows":[3,32,34,4,40,16,64,128,256],"offset":16,"phase":3,"quadratic_rows":[34,35,0,0,0,3,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":904,"old":907,"rank":1,"right":{"linear_Z4":[3,2,0,0,0,0,2,0,0],"matrix_rows":[3,65,64,4,8,16,96,128,256],"offset":70,"phase":1,"quadratic_rows":[67,65,0,0,0,0,3,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":824,"old":908,"rank":1,"right":{"linear_Z4":[0,0,2,3,0,0,2,0,0],"matrix_rows":[8,1,2,12,64,80,96,128,256],"offset":24,"phase":2,"quadratic_rows":[0,0,8,76,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":825,"old":908,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":16,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":910,"old":909,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":112,"phase":1,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":911,"old":909,"rank":1,"right":{"linear_Z4":[2,0,0,3,0,0,2,0,0],"matrix_rows":[8,9,2,4,64,80,96,128,256],"offset":114,"phase":0,"quadratic_rows":[8,0,0,73,0,0,8,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":910,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,258,260,8,272,288,64,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":911,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,258,260,264,16,32,320,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":824,"old":912,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,66,4,72,16,32,128,256],"offset":4,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":910,"old":912,"rank":1,"right":{"linear_Z4":[1,0,2,0,0,0,0,0,0],"matrix_rows":[1,261,2,256,264,272,288,320,384],"offset":155,"phase":1,"quadratic_rows":[261,0,1,0,0,0,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":825,"old":913,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,66,4,72,16,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":911,"old":913,"rank":1,"right":{"linear_Z4":[1,0,2,0,0,0,0,0,0],"matrix_rows":[1,261,2,256,8,16,32,64,384],"offset":11,"phase":3,"quadratic_rows":[261,0,1,0,0,0,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":826,"old":914,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[5,257,2,256,8,16,32,320,128],"offset":128,"phase":3,"quadratic_rows":[261,0,257,0,0,0,0,0,5]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":827,"old":914,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,0,2],"matrix_rows":[5,256,2,260,8,272,32,64,128],"offset":32,"phase":3,"quadratic_rows":[260,0,261,0,0,0,0,0,5]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":916,"old":915,"rank":1,"right":{"linear_Z4":[1,2,0,0,0,0,0,0,0],"matrix_rows":[1,259,256,4,8,16,288,64,128],"offset":7,"phase":3,"quadratic_rows":[259,1,0,0,0,0,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":917,"old":915,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,2,68,8,80,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":916,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,258,260,8,272,288,320,128],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":917,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,8,16,288,64,128],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":827,"old":918,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,0,2],"matrix_rows":[6,1,256,260,8,16,288,64,128],"offset":64,"phase":3,"quadratic_rows":[0,260,262,0,0,0,0,0,6]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":917,"old":918,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[6,1,258,256,8,16,32,320,128],"offset":128,"phase":3,"quadratic_rows":[0,262,258,0,0,0,0,0,6]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":826,"old":919,"rank":1,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,0],"matrix_rows":[2,1,64,68,8,16,96,128,256],"offset":4,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":916,"old":919,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,2,0,0],"matrix_rows":[2,3,64,68,8,16,96,128,256],"offset":6,"phase":2,"quadratic_rows":[2,67,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":828,"old":920,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,2,68,8,80,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":829,"old":920,"rank":1,"right":{"linear_Z4":[1,2,0,0,0,0,0,0,0],"matrix_rows":[1,131,128,4,8,16,160,64,256],"offset":7,"phase":3,"quadratic_rows":[131,1,0,0,0,0,0,1,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":922,"old":921,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,2,0],"matrix_rows":[5,128,2,132,8,144,32,64,256],"offset":32,"phase":3,"quadratic_rows":[132,0,133,0,0,0,0,5,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":923,"old":921,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,0],"matrix_rows":[5,129,2,128,8,16,32,192,256],"offset":128,"phase":3,"quadratic_rows":[133,0,129,0,0,0,0,5,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":922,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[132,1,2,128,8,16,32,192,256],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":923,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,2,4,8,144,32,64,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":828,"old":924,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,0],"matrix_rows":[6,1,130,128,8,16,32,192,256],"offset":128,"phase":3,"quadratic_rows":[0,134,130,0,0,0,0,6,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":922,"old":924,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,2,0],"matrix_rows":[6,1,128,132,8,16,160,64,256],"offset":64,"phase":3,"quadratic_rows":[0,132,134,0,0,0,0,6,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":829,"old":925,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,2,0,0],"matrix_rows":[2,3,64,68,8,16,96,128,256],"offset":6,"phase":2,"quadratic_rows":[2,67,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":923,"old":925,"rank":1,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,0],"matrix_rows":[2,1,64,68,8,16,96,128,256],"offset":4,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":830,"old":926,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":16,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":831,"old":926,"rank":1,"right":{"linear_Z4":[2,0,0,3,0,0,2,0,0],"matrix_rows":[8,9,2,4,64,80,96,128,256],"offset":18,"phase":2,"quadratic_rows":[8,0,0,73,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":928,"old":927,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":32,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":929,"old":927,"rank":1,"right":{"linear_Z4":[2,0,0,1,0,0,2,0,0],"matrix_rows":[8,9,2,4,64,80,96,128,256],"offset":34,"phase":2,"quadratic_rows":[8,0,0,73,0,0,8,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":928,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,258,260,8,16,288,320,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":929,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,258,260,264,272,32,64,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":831,"old":930,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[2,1,64,68,8,16,96,128,256],"offset":8,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":929,"old":930,"rank":1,"right":{"linear_Z4":[2,1,0,0,0,0,2,0,0],"matrix_rows":[2,3,64,68,8,16,96,128,256],"offset":10,"phase":2,"quadratic_rows":[2,67,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":830,"old":931,"rank":1,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,0],"matrix_rows":[2,1,64,68,8,16,96,128,256],"offset":4,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":928,"old":931,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,2,0,0],"matrix_rows":[2,3,64,68,8,16,96,128,256],"offset":6,"phase":2,"quadratic_rows":[2,67,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":832,"old":932,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":112,"phase":1,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":833,"old":932,"rank":1,"right":{"linear_Z4":[0,2,0,3,0,0,2,0,0],"matrix_rows":[8,1,10,4,64,80,96,128,256],"offset":116,"phase":0,"quadratic_rows":[0,8,0,74,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":934,"old":933,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":64,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":935,"old":933,"rank":1,"right":{"linear_Z4":[0,0,2,1,0,0,2,0,0],"matrix_rows":[8,1,2,12,64,80,96,128,256],"offset":72,"phase":2,"quadratic_rows":[0,0,8,76,0,0,8,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":934,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[68,1,2,64,8,80,32,128,256],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":935,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[36,1,2,32,40,16,64,128,256],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":832,"old":936,"rank":1,"right":{"linear_Z4":[0,3,2,0,0,0,2,0,0],"matrix_rows":[6,1,66,64,8,80,32,128,256],"offset":44,"phase":1,"quadratic_rows":[0,70,66,0,0,0,6,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":934,"old":936,"rank":1,"right":{"linear_Z4":[0,2,3,0,0,2,0,0,0],"matrix_rows":[6,1,32,36,8,48,64,128,256],"offset":44,"phase":1,"quadratic_rows":[0,36,38,0,0,6,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":833,"old":937,"rank":1,"right":{"linear_Z4":[0,3,2,0,0,2,0,0,0],"matrix_rows":[6,1,34,32,40,16,64,128,256],"offset":28,"phase":1,"quadratic_rows":[0,38,34,0,0,6,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":935,"old":937,"rank":1,"right":{"linear_Z4":[0,2,3,0,0,0,2,0,0],"matrix_rows":[6,1,64,68,72,16,32,128,256],"offset":28,"phase":1,"quadratic_rows":[0,68,70,0,0,0,6,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":834,"old":938,"rank":1,"right":{"linear_Z4":[1,2,0,0,0,0,0,0,0],"matrix_rows":[1,131,128,4,136,16,32,64,256],"offset":7,"phase":3,"quadratic_rows":[131,1,0,0,0,0,0,1,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":835,"old":938,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,2,68,8,80,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":940,"old":939,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,2,0],"matrix_rows":[5,128,2,132,8,16,32,192,256],"offset":128,"phase":3,"quadratic_rows":[132,0,133,0,0,0,0,5,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":941,"old":939,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,0],"matrix_rows":[5,129,2,128,8,144,32,64,256],"offset":32,"phase":3,"quadratic_rows":[133,0,129,0,0,0,0,5,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":940,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[132,1,2,128,8,144,32,64,256],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":941,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,2,4,8,16,32,192,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":835,"old":942,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,0],"matrix_rows":[3,128,130,4,8,16,32,192,256],"offset":128,"phase":3,"quadratic_rows":[130,131,0,0,0,0,0,3,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":941,"old":942,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,0],"matrix_rows":[3,129,128,4,136,16,32,64,256],"offset":16,"phase":3,"quadratic_rows":[131,129,0,0,0,0,0,3,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":834,"old":943,"rank":1,"right":{"linear_Z4":[1,0,2,0,0,0,0,0,0],"matrix_rows":[1,133,2,128,8,144,32,64,256],"offset":11,"phase":3,"quadratic_rows":[133,0,1,0,0,0,0,1,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":940,"old":943,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,66,4,72,16,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":836,"old":944,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[5,257,2,256,8,272,32,64,128],"offset":32,"phase":3,"quadratic_rows":[261,0,257,0,0,0,0,0,5]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":837,"old":944,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,0,2],"matrix_rows":[5,256,2,260,8,16,32,320,128],"offset":128,"phase":3,"quadratic_rows":[260,0,261,0,0,0,0,0,5]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":946,"old":945,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,2,68,8,80,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":947,"old":945,"rank":1,"right":{"linear_Z4":[1,2,0,0,0,0,0,0,0],"matrix_rows":[1,259,256,4,264,16,32,64,128],"offset":7,"phase":3,"quadratic_rows":[259,1,0,0,0,0,0,0,1]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":946,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,264,16,32,64,128],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":947,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,258,260,264,272,32,320,128],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":836,"old":948,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[3,257,256,4,264,16,32,64,128],"offset":16,"phase":3,"quadratic_rows":[259,257,0,0,0,0,0,0,3]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":946,"old":948,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[3,256,258,4,8,16,32,320,128],"offset":128,"phase":3,"quadratic_rows":[258,259,0,0,0,0,0,0,3]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":837,"old":949,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,66,4,72,16,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":947,"old":949,"rank":1,"right":{"linear_Z4":[1,0,2,0,0,0,0,0,0],"matrix_rows":[1,261,2,256,8,272,32,64,128],"offset":11,"phase":3,"quadratic_rows":[261,0,1,0,0,0,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":838,"old":950,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,2,68,8,80,32,128,256],"offset":32,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":839,"old":950,"rank":1,"right":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[1,67,64,68,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[67,1,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":952,"old":951,"rank":1,"right":{"linear_Z4":[3,0,0,2,0,0,0,0,0],"matrix_rows":[1,73,2,4,64,80,32,128,256],"offset":1,"phase":1,"quadratic_rows":[73,0,0,1,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":953,"old":951,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,2,68,8,80,32,128,256],"offset":8,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":952,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[9,8,2,12,16,32,64,128,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":953,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[72,1,2,4,64,80,32,128,256],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":839,"old":954,"rank":1,"right":{"linear_Z4":[3,0,0,2,0,0,2,0,0],"matrix_rows":[9,65,2,4,64,80,32,128,256],"offset":50,"phase":1,"quadratic_rows":[73,0,0,65,0,0,9,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":953,"old":954,"rank":1,"right":{"linear_Z4":[0,0,0,1,2,0,0,0,0],"matrix_rows":[9,16,18,4,24,32,64,128,256],"offset":4,"phase":3,"quadratic_rows":[24,0,0,25,9,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":838,"old":955,"rank":1,"right":{"linear_Z4":[2,3,0,2,0,0,0,0,0],"matrix_rows":[3,8,10,12,16,32,64,128,256],"offset":14,"phase":1,"quadratic_rows":[10,11,0,3,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":952,"old":955,"rank":1,"right":{"linear_Z4":[3,2,0,0,0,0,2,0,0],"matrix_rows":[3,65,64,68,8,16,32,128,256],"offset":14,"phase":1,"quadratic_rows":[67,65,0,0,0,0,3,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":840,"old":956,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,2,0,0,0],"matrix_rows":[1,289,2,4,8,16,256,64,384],"offset":67,"phase":3,"quadratic_rows":[289,0,0,0,0,1,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":841,"old":956,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,2,68,8,80,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":958,"old":957,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,2,68,8,80,32,128,256],"offset":42,"phase":1,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":959,"old":957,"rank":1,"right":{"linear_Z4":[1,2,0,0,0,0,0,0,0],"matrix_rows":[1,259,256,260,264,272,288,64,384],"offset":47,"phase":1,"quadratic_rows":[259,1,0,0,0,0,0,0,1]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":958,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,260,264,272,288,64,384],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":959,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,258,4,264,16,288,320,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":840,"old":960,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[3,257,256,260,264,272,288,64,384],"offset":16,"phase":3,"quadratic_rows":[259,257,0,0,0,0,0,0,3]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":958,"old":960,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[3,256,258,260,8,272,288,320,384],"offset":128,"phase":3,"quadratic_rows":[258,259,0,0,0,0,0,0,3]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":841,"old":961,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,66,4,72,16,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":959,"old":961,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,2,0,0,0],"matrix_rows":[1,289,2,4,8,16,256,64,384],"offset":67,"phase":3,"quadratic_rows":[289,0,0,0,0,1,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":842,"old":962,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,0,0,2],"matrix_rows":[40,1,2,4,264,16,256,320,128],"offset":128,"phase":3,"quadratic_rows":[0,0,0,296,0,264,0,0,40]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":843,"old":962,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,1,0,0,2],"matrix_rows":[40,1,2,4,256,272,288,64,128],"offset":32,"phase":3,"quadratic_rows":[0,0,0,288,0,296,0,0,40]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":964,"old":963,"rank":1,"right":{"linear_Z4":[0,2,0,3,0,0,2,0,0],"matrix_rows":[8,1,10,4,64,80,96,128,256],"offset":20,"phase":2,"quadratic_rows":[0,8,0,74,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":965,"old":963,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":16,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":964,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,260,264,272,288,320,128],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":965,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,260,8,16,32,64,128],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":843,"old":966,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,1,0,0,2],"matrix_rows":[34,1,256,260,8,16,288,64,128],"offset":8,"phase":3,"quadratic_rows":[0,288,0,0,0,290,0,0,34]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":965,"old":966,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[34,1,258,4,8,16,256,320,128],"offset":128,"phase":3,"quadratic_rows":[0,290,0,0,0,258,0,0,34]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":842,"old":967,"rank":1,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,0],"matrix_rows":[2,1,64,68,8,16,96,128,256],"offset":4,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":964,"old":967,"rank":1,"right":{"linear_Z4":[0,1,0,2,0,0,0,0,0],"matrix_rows":[2,1,266,4,256,272,32,64,128],"offset":21,"phase":3,"quadratic_rows":[0,266,0,2,0,0,0,0,2]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":844,"old":968,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":16,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":845,"old":968,"rank":1,"right":{"linear_Z4":[0,2,0,3,0,0,2,0,0],"matrix_rows":[8,1,10,4,64,80,96,128,256],"offset":20,"phase":2,"quadratic_rows":[0,8,0,74,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":970,"old":969,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,1,0,2,0],"matrix_rows":[40,1,2,4,128,144,160,64,256],"offset":32,"phase":3,"quadratic_rows":[0,0,0,160,0,168,0,40,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":971,"old":969,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,0,2,0],"matrix_rows":[40,1,2,4,136,16,128,192,256],"offset":128,"phase":3,"quadratic_rows":[0,0,0,168,0,136,0,40,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":970,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[160,1,2,4,8,16,128,192,256],"offset":65,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":971,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[136,1,2,4,128,144,32,64,256],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":844,"old":972,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,0],"matrix_rows":[34,1,130,4,8,16,128,192,256],"offset":128,"phase":3,"quadratic_rows":[0,162,0,0,0,130,0,34,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":970,"old":972,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,1,0,2,0],"matrix_rows":[34,1,128,132,8,16,160,64,256],"offset":8,"phase":3,"quadratic_rows":[0,160,0,0,0,162,0,34,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":845,"old":973,"rank":1,"right":{"linear_Z4":[0,1,0,2,0,0,0,0,0],"matrix_rows":[2,1,138,4,128,144,32,64,256],"offset":21,"phase":3,"quadratic_rows":[0,138,0,2,0,0,0,2,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":971,"old":973,"rank":1,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,0],"matrix_rows":[2,1,64,68,8,16,96,128,256],"offset":4,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":846,"old":974,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,2,68,8,80,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":847,"old":974,"rank":1,"right":{"linear_Z4":[1,0,0,2,0,0,0,0,0],"matrix_rows":[1,265,2,4,256,16,32,64,384],"offset":19,"phase":3,"quadratic_rows":[265,0,0,1,0,0,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":976,"old":975,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,2,68,8,80,32,128,256],"offset":32,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":977,"old":975,"rank":1,"right":{"linear_Z4":[1,2,0,0,0,0,0,0,0],"matrix_rows":[1,259,256,260,264,16,288,320,384],"offset":143,"phase":1,"quadratic_rows":[259,1,0,0,0,0,0,0,1]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":976,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,260,264,16,288,320,384],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":977,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,258,4,264,272,288,64,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":847,"old":978,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[2,1,64,68,8,16,96,128,256],"offset":64,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":977,"old":978,"rank":1,"right":{"linear_Z4":[2,1,0,0,0,0,2,0,0],"matrix_rows":[2,3,64,68,8,16,96,128,256],"offset":66,"phase":2,"quadratic_rows":[2,67,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":846,"old":979,"rank":1,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,0],"matrix_rows":[2,1,64,68,8,16,96,128,256],"offset":4,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":976,"old":979,"rank":1,"right":{"linear_Z4":[0,1,0,2,0,0,0,0,0],"matrix_rows":[2,1,266,4,256,16,32,64,384],"offset":21,"phase":3,"quadratic_rows":[0,266,0,2,0,0,0,0,2]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":848,"old":980,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,2,68,8,80,32,128,256],"offset":42,"phase":1,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":849,"old":980,"rank":1,"right":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[1,19,16,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[19,1,0,0,1,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":982,"old":981,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,2,0,0,0],"matrix_rows":[17,32,2,36,8,48,64,128,256],"offset":8,"phase":3,"quadratic_rows":[48,0,0,0,49,17,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":983,"old":981,"rank":1,"right":{"linear_Z4":[3,0,0,0,2,0,2,0,0],"matrix_rows":[17,65,2,4,8,64,96,128,256],"offset":98,"phase":1,"quadratic_rows":[81,0,0,0,65,0,17,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":982,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[80,1,2,4,8,64,96,128,256],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":983,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[33,32,2,36,8,16,64,128,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":848,"old":984,"rank":1,"right":{"linear_Z4":[0,3,0,0,2,0,0,0,0],"matrix_rows":[2,1,82,4,8,64,96,128,256],"offset":1,"phase":1,"quadratic_rows":[0,82,0,0,2,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":982,"old":984,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[2,1,64,68,8,16,96,128,256],"offset":8,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":849,"old":985,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,2,0,0],"matrix_rows":[2,3,64,68,8,16,96,128,256],"offset":78,"phase":0,"quadratic_rows":[2,67,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":983,"old":985,"rank":1,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,0],"matrix_rows":[2,1,64,68,8,16,96,128,256],"offset":76,"phase":1,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":850,"old":986,"rank":1,"right":{"linear_Z4":[2,0,0,3,0,0,2,0,0],"matrix_rows":[8,9,2,4,64,80,96,128,256],"offset":18,"phase":2,"quadratic_rows":[8,0,0,73,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":851,"old":986,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":16,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":988,"old":987,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,0,2,0],"matrix_rows":[24,1,2,4,128,144,32,192,256],"offset":128,"phase":3,"quadratic_rows":[0,0,0,144,152,0,0,24,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":989,"old":987,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,0,2,0],"matrix_rows":[24,1,2,4,136,128,160,64,256],"offset":64,"phase":3,"quadratic_rows":[0,0,0,152,136,0,0,24,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":988,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[144,1,2,4,8,128,160,64,256],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":989,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[136,1,2,4,128,16,32,192,256],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":851,"old":990,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,0],"matrix_rows":[9,129,2,4,128,16,32,192,256],"offset":128,"phase":3,"quadratic_rows":[137,0,0,129,0,0,0,9,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":989,"old":990,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,0,2,0],"matrix_rows":[9,128,130,4,136,16,32,64,256],"offset":4,"phase":3,"quadratic_rows":[136,0,0,137,0,0,0,9,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":850,"old":991,"rank":1,"right":{"linear_Z4":[1,0,0,0,2,0,0,0,0],"matrix_rows":[1,145,2,4,8,128,160,64,256],"offset":35,"phase":3,"quadratic_rows":[145,0,0,0,1,0,0,1,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":988,"old":991,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,66,4,72,16,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":852,"old":992,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,0,0,2],"matrix_rows":[24,1,2,4,264,256,288,64,128],"offset":64,"phase":3,"quadratic_rows":[0,0,0,280,264,0,0,0,24]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":853,"old":992,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,0,0,2],"matrix_rows":[24,1,2,4,256,272,32,320,128],"offset":128,"phase":3,"quadratic_rows":[0,0,0,272,280,0,0,0,24]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":994,"old":993,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":16,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":995,"old":993,"rank":1,"right":{"linear_Z4":[2,0,0,3,0,0,2,0,0],"matrix_rows":[8,9,2,4,64,80,96,128,256],"offset":18,"phase":2,"quadratic_rows":[8,0,0,73,0,0,8,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":994,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,258,4,8,16,32,64,128],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":995,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,258,4,264,272,288,320,128],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":852,"old":996,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,0,0,2],"matrix_rows":[9,256,258,4,264,16,32,64,128],"offset":4,"phase":3,"quadratic_rows":[264,0,0,265,0,0,0,0,9]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":994,"old":996,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[9,257,2,4,256,16,32,320,128],"offset":128,"phase":3,"quadratic_rows":[265,0,0,257,0,0,0,0,9]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":853,"old":997,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,66,4,72,16,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":995,"old":997,"rank":1,"right":{"linear_Z4":[1,0,0,0,2,0,0,0,0],"matrix_rows":[1,273,2,4,8,256,288,64,128],"offset":35,"phase":3,"quadratic_rows":[273,0,0,0,1,0,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":854,"old":998,"rank":1,"right":{"linear_Z4":[1,0,2,0,0,0,0,0,0],"matrix_rows":[1,261,2,256,8,16,288,64,128],"offset":11,"phase":3,"quadratic_rows":[261,0,1,0,0,0,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":855,"old":998,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,66,4,72,16,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1000,"old":999,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[3,257,256,4,8,16,32,320,128],"offset":128,"phase":3,"quadratic_rows":[259,257,0,0,0,0,0,0,3]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1001,"old":999,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[3,256,258,4,264,16,32,64,128],"offset":16,"phase":3,"quadratic_rows":[258,259,0,0,0,0,0,0,3]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":1000,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,264,16,32,64,128],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":1001,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,8,16,32,320,128],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":855,"old":1002,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,0,2],"matrix_rows":[6,1,256,260,8,16,32,320,128],"offset":128,"phase":3,"quadratic_rows":[0,260,262,0,0,0,0,0,6]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1001,"old":1002,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[6,1,258,256,8,16,288,64,128],"offset":64,"phase":3,"quadratic_rows":[0,262,258,0,0,0,0,0,6]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":854,"old":1003,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,2,0,0],"matrix_rows":[2,3,64,68,8,16,96,128,256],"offset":6,"phase":2,"quadratic_rows":[2,67,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1000,"old":1003,"rank":1,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,0],"matrix_rows":[2,1,64,68,8,16,96,128,256],"offset":4,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":856,"old":1004,"rank":1,"right":{"linear_Z4":[1,0,2,0,0,0,0,0,0],"matrix_rows":[1,133,2,128,8,16,160,64,256],"offset":11,"phase":3,"quadratic_rows":[133,0,1,0,0,0,0,1,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":857,"old":1004,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,66,4,72,16,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1006,"old":1005,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,0],"matrix_rows":[3,129,128,4,8,16,32,192,256],"offset":128,"phase":3,"quadratic_rows":[131,129,0,0,0,0,0,3,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1007,"old":1005,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,0],"matrix_rows":[3,128,130,4,136,16,32,64,256],"offset":16,"phase":3,"quadratic_rows":[130,131,0,0,0,0,0,3,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":1006,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,2,4,136,16,32,64,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":1007,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[130,1,128,4,8,16,32,192,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":856,"old":1008,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,2,0,0],"matrix_rows":[2,3,64,68,8,16,96,128,256],"offset":6,"phase":2,"quadratic_rows":[2,67,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1006,"old":1008,"rank":1,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,0],"matrix_rows":[2,1,64,68,8,16,96,128,256],"offset":4,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":857,"old":1009,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,2,0],"matrix_rows":[6,1,128,132,8,16,32,192,256],"offset":128,"phase":3,"quadratic_rows":[0,132,134,0,0,0,0,6,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1007,"old":1009,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,0],"matrix_rows":[6,1,130,128,8,16,160,64,256],"offset":64,"phase":3,"quadratic_rows":[0,134,130,0,0,0,0,6,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":858,"old":1010,"rank":1,"right":{"linear_Z4":[0,0,2,1,0,0,2,0,0],"matrix_rows":[8,1,2,12,64,80,96,128,256],"offset":40,"phase":2,"quadratic_rows":[0,0,8,76,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":859,"old":1010,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":32,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1012,"old":1011,"rank":1,"right":{"linear_Z4":[2,0,0,3,0,0,2,0,0],"matrix_rows":[8,9,2,4,64,80,96,128,256],"offset":114,"phase":0,"quadratic_rows":[8,0,0,73,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1013,"old":1011,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":112,"phase":1,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":1012,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[65,64,2,4,72,16,32,128,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":1013,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[33,32,2,4,8,48,64,128,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":859,"old":1014,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,2,0,0,0],"matrix_rows":[5,32,2,36,8,48,64,128,256],"offset":32,"phase":3,"quadratic_rows":[36,0,37,0,0,5,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1013,"old":1014,"rank":1,"right":{"linear_Z4":[3,0,2,0,0,0,2,0,0],"matrix_rows":[5,65,2,64,8,16,96,128,256],"offset":74,"phase":1,"quadratic_rows":[69,0,65,0,0,0,5,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":858,"old":1015,"rank":1,"right":{"linear_Z4":[2,0,3,0,0,0,2,0,0],"matrix_rows":[5,64,2,68,72,16,32,128,256],"offset":26,"phase":1,"quadratic_rows":[68,0,69,0,0,0,5,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1012,"old":1015,"rank":1,"right":{"linear_Z4":[3,0,2,0,2,0,0,0,0],"matrix_rows":[5,17,2,16,24,32,64,128,256],"offset":26,"phase":1,"quadratic_rows":[21,0,17,0,5,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":860,"old":1016,"rank":1,"right":{"linear_Z4":[2,0,0,1,0,0,2,0,0],"matrix_rows":[8,9,2,4,64,80,96,128,256],"offset":66,"phase":2,"quadratic_rows":[8,0,0,73,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":861,"old":1016,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":64,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1018,"old":1017,"rank":1,"right":{"linear_Z4":[0,2,0,3,0,0,2,0,0],"matrix_rows":[8,1,10,4,64,80,96,128,256],"offset":20,"phase":2,"quadratic_rows":[0,8,0,74,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1019,"old":1017,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":16,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":1018,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,264,272,288,320,384],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":1019,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,8,16,32,64,384],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":860,"old":1020,"rank":1,"right":{"linear_Z4":[1,2,0,0,0,0,0,0,0],"matrix_rows":[1,259,256,4,264,272,288,320,384],"offset":167,"phase":1,"quadratic_rows":[259,1,0,0,0,0,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1018,"old":1020,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,2,68,8,80,32,128,256],"offset":8,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":861,"old":1021,"rank":1,"right":{"linear_Z4":[1,2,0,0,0,0,0,0,0],"matrix_rows":[1,259,256,4,8,16,32,64,384],"offset":7,"phase":3,"quadratic_rows":[259,1,0,0,0,0,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1019,"old":1021,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,2,68,8,80,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":862,"old":1022,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,34,4,8,48,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":863,"old":1022,"rank":1,"right":{"linear_Z4":[1,0,2,0,0,0,0,0,0],"matrix_rows":[1,133,2,128,136,16,32,64,256],"offset":11,"phase":3,"quadratic_rows":[133,0,1,0,0,0,0,1,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1024,"old":1023,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,0],"matrix_rows":[3,128,130,4,8,16,160,64,256],"offset":64,"phase":3,"quadratic_rows":[130,131,0,0,0,0,0,3,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1025,"old":1023,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,0],"matrix_rows":[3,129,128,4,8,144,32,64,256],"offset":32,"phase":3,"quadratic_rows":[131,129,0,0,0,0,0,3,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":1024,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[130,1,128,4,8,144,32,64,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":1025,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,2,4,8,16,160,64,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":863,"old":1026,"rank":1,"right":{"linear_Z4":[2,3,0,0,2,0,0,0,0],"matrix_rows":[2,3,16,20,24,32,64,128,256],"offset":6,"phase":2,"quadratic_rows":[2,19,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1025,"old":1026,"rank":1,"right":{"linear_Z4":[0,2,0,0,2,0,0,0,0],"matrix_rows":[2,1,16,20,24,32,64,128,256],"offset":4,"phase":3,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":862,"old":1027,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,2,0],"matrix_rows":[6,1,128,132,8,144,32,64,256],"offset":32,"phase":3,"quadratic_rows":[0,132,134,0,0,0,0,6,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1024,"old":1027,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,0],"matrix_rows":[6,1,130,128,136,16,32,64,256],"offset":16,"phase":3,"quadratic_rows":[0,134,130,0,0,0,0,6,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[6,11,17,33,67,128,259,3,2],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":864,"old":1028,"rank":2,"right":{"linear_Z4":[3,3,0,0,0,0,0,2,2],"matrix_rows":[6,5,263,128,384,392,144,32,192],"offset":82,"phase":3,"quadratic_rows":[259,387,128,0,0,0,0,6,3]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,19,32,66,1,131,259,3],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":865,"old":1028,"rank":2,"right":{"linear_Z4":[0,2,2,0,0,0,0,0,0],"matrix_rows":[5,6,32,288,260,8,304,320,384],"offset":71,"phase":0,"quadratic_rows":[36,292,259,0,0,3,0,0,6]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,32,65,128,258,2,1],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":1030,"old":1029,"rank":2,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[3,64,257,256,4,8,272,32,128],"offset":322,"phase":3,"quadratic_rows":[259,257,0,0,0,0,128,64,3]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,32,64,129,258,2,1],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":1031,"old":1029,"rank":2,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[3,64,256,258,4,8,16,288,128],"offset":386,"phase":3,"quadratic_rows":[258,259,0,0,0,0,128,64,3]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":1030,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,8,16,288,64,128],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":1031,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,8,272,32,64,128],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[6,11,17,33,3,64,130,258,2],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":864,"old":1032,"rank":2,"right":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[6,5,263,16,272,280,32,320,384],"offset":43,"phase":0,"quadratic_rows":[259,275,16,0,6,0,0,0,3]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[7,9,18,34,1,64,131,259,3],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":1030,"old":1032,"rank":2,"right":{"linear_Z4":[2,0,2,0,0,0,0,0,0],"matrix_rows":[3,5,257,16,272,280,32,320,384],"offset":43,"phase":0,"quadratic_rows":[262,17,273,0,6,0,0,0,5]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,32,65,128,258,2,1],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":865,"old":1033,"rank":2,"right":{"linear_Z4":[0,0,1,0,0,0,0,0,2],"matrix_rows":[6,64,1,256,260,8,272,32,128],"offset":322,"phase":3,"quadratic_rows":[0,260,262,0,0,0,128,64,6]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,33,64,128,258,2,1],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":1031,"old":1033,"rank":2,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[6,64,1,258,256,264,16,32,128],"offset":290,"phase":3,"quadratic_rows":[0,262,258,0,0,0,128,64,6]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":1034,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,2,36,40,16,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":1035,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,34,4,8,48,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":1036,"rank":1,"right":{"linear_Z4":[0,2,0,0,2,0,0,0,0],"matrix_rows":[2,1,16,20,24,32,64,128,256],"offset":4,"phase":3,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}}],"endpoint_adapters":[{"frame":7,"left":{"linear_Z4":[1,1,0,0,0,0,0,0,0],"matrix_rows":[2,1,4,11,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"port":0,"rank":0,"right":null,"role":"source"},{"frame":868,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,4,9,16,32,64,128,256],"offset":11,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":0,"rank":0,"right":null,"role":"target"},{"frame":213,"left":{"linear_Z4":[1,1,0,0,0,0,0,0,0],"matrix_rows":[2,1,4,8,19,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"port":1,"rank":0,"right":null,"role":"source"},{"frame":839,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,4,8,17,32,64,128,256],"offset":19,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":1,"rank":0,"right":null,"role":"target"},{"frame":66,"left":{"linear_Z4":[1,1,0,0,0,0,0,0,0],"matrix_rows":[2,1,4,8,16,35,64,128,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"port":2,"rank":0,"right":null,"role":"source"},{"frame":898,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,4,8,16,33,64,128,256],"offset":35,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":2,"rank":0,"right":null,"role":"target"},{"frame":270,"left":{"linear_Z4":[1,1,0,0,0,0,0,0,0],"matrix_rows":[2,1,4,8,16,32,67,128,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"port":3,"rank":0,"right":null,"role":"source"},{"frame":849,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,4,8,16,32,65,128,256],"offset":67,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":3,"rank":0,"right":null,"role":"target"},{"frame":300,"left":{"linear_Z4":[1,1,0,0,0,0,0,0,0],"matrix_rows":[2,1,4,8,16,32,64,131,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"port":4,"rank":0,"right":null,"role":"source"},{"frame":851,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,4,8,16,32,64,129,256],"offset":131,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":4,"rank":0,"right":null,"role":"target"},{"frame":298,"left":{"linear_Z4":[1,1,0,0,0,0,0,0,0],"matrix_rows":[2,1,4,8,16,32,64,128,259],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"port":5,"rank":0,"right":null,"role":"source"},{"frame":994,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,4,8,16,32,64,128,257],"offset":259,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":5,"rank":0,"right":null,"role":"target"},{"frame":210,"left":{"linear_Z4":[1,0,1,0,0,0,0,0,0],"matrix_rows":[4,2,1,13,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[5,0,5,0,0,0,0,0,0]},"port":6,"rank":0,"right":null,"role":"source"},{"frame":952,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,5,9,16,32,64,128,256],"offset":13,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":6,"rank":0,"right":null,"role":"target"},{"frame":13,"left":{"linear_Z4":[1,0,1,0,0,0,0,0,0],"matrix_rows":[4,2,1,8,21,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[5,0,5,0,0,0,0,0,0]},"port":7,"rank":0,"right":null,"role":"source"},{"frame":810,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,5,8,17,32,64,128,256],"offset":21,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":7,"rank":0,"right":null,"role":"target"},{"frame":272,"left":{"linear_Z4":[1,0,1,0,0,0,0,0,0],"matrix_rows":[4,2,1,8,16,37,64,128,256],"offset":0,"phase":0,"quadratic_rows":[5,0,5,0,0,0,0,0,0]},"port":8,"rank":0,"right":null,"role":"source"},{"frame":983,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,5,8,16,33,64,128,256],"offset":37,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":8,"rank":0,"right":null,"role":"target"},{"frame":72,"left":{"linear_Z4":[1,0,1,0,0,0,0,0,0],"matrix_rows":[4,2,1,8,16,32,69,128,256],"offset":0,"phase":0,"quadratic_rows":[5,0,5,0,0,0,0,0,0]},"port":9,"rank":0,"right":null,"role":"source"},{"frame":820,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,5,8,16,32,65,128,256],"offset":69,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":9,"rank":0,"right":null,"role":"target"},{"frame":42,"left":{"linear_Z4":[1,0,1,0,0,0,0,0,0],"matrix_rows":[4,2,1,8,16,32,64,133,256],"offset":0,"phase":0,"quadratic_rows":[5,0,5,0,0,0,0,0,0]},"port":10,"rank":0,"right":null,"role":"source"},{"frame":814,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,5,8,16,32,64,129,256],"offset":133,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":10,"rank":0,"right":null,"role":"target"},{"frame":43,"left":{"linear_Z4":[1,0,1,0,0,0,0,0,0],"matrix_rows":[4,2,1,8,16,32,64,128,261],"offset":0,"phase":0,"quadratic_rows":[5,0,5,0,0,0,0,0,0]},"port":11,"rank":0,"right":null,"role":"source"},{"frame":816,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,5,8,16,32,64,128,257],"offset":261,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":11,"rank":0,"right":null,"role":"target"},{"frame":94,"left":{"linear_Z4":[1,0,0,1,0,0,0,0,0],"matrix_rows":[8,2,4,1,16,41,64,128,256],"offset":0,"phase":0,"quadratic_rows":[9,0,0,9,0,0,0,0,0]},"port":12,"rank":0,"right":null,"role":"source"},{"frame":904,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,9,16,33,64,128,256],"offset":41,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":12,"rank":0,"right":null,"role":"target"},{"frame":355,"left":{"linear_Z4":[1,0,0,1,0,0,0,0,0],"matrix_rows":[8,2,4,1,16,32,73,128,256],"offset":0,"phase":0,"quadratic_rows":[9,0,0,9,0,0,0,0,0]},"port":13,"rank":0,"right":null,"role":"source"},{"frame":1012,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,9,16,32,65,128,256],"offset":73,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":13,"rank":0,"right":null,"role":"target"},{"frame":327,"left":{"linear_Z4":[1,0,0,1,0,0,0,0,0],"matrix_rows":[8,2,4,1,16,32,64,137,256],"offset":0,"phase":0,"quadratic_rows":[9,0,0,9,0,0,0,0,0]},"port":14,"rank":0,"right":null,"role":"source"},{"frame":1006,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,9,16,32,64,129,256],"offset":137,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":14,"rank":0,"right":null,"role":"target"},{"frame":326,"left":{"linear_Z4":[1,0,0,1,0,0,0,0,0],"matrix_rows":[8,2,4,1,16,32,64,128,265],"offset":0,"phase":0,"quadratic_rows":[9,0,0,9,0,0,0,0,0]},"port":15,"rank":0,"right":null,"role":"source"},{"frame":1000,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,9,16,32,64,128,257],"offset":265,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":15,"rank":0,"right":null,"role":"target"},{"frame":360,"left":{"linear_Z4":[1,0,0,0,1,0,0,0,0],"matrix_rows":[16,2,4,8,1,49,64,128,256],"offset":0,"phase":0,"quadratic_rows":[17,0,0,0,17,0,0,0,0]},"port":16,"rank":0,"right":null,"role":"source"},{"frame":1013,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,17,33,64,128,256],"offset":49,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":16,"rank":0,"right":null,"role":"target"},{"frame":99,"left":{"linear_Z4":[1,0,0,0,1,0,0,0,0],"matrix_rows":[16,2,4,8,1,32,81,128,256],"offset":0,"phase":0,"quadratic_rows":[17,0,0,0,17,0,0,0,0]},"port":17,"rank":0,"right":null,"role":"source"},{"frame":905,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,17,32,65,128,256],"offset":81,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":17,"rank":0,"right":null,"role":"target"},{"frame":127,"left":{"linear_Z4":[1,0,0,0,1,0,0,0,0],"matrix_rows":[16,2,4,8,1,32,64,145,256],"offset":0,"phase":0,"quadratic_rows":[17,0,0,0,17,0,0,0,0]},"port":18,"rank":0,"right":null,"role":"source"},{"frame":923,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,17,32,64,129,256],"offset":145,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":18,"rank":0,"right":null,"role":"target"},{"frame":129,"left":{"linear_Z4":[1,0,0,0,1,0,0,0,0],"matrix_rows":[16,2,4,8,1,32,64,128,273],"offset":0,"phase":0,"quadratic_rows":[17,0,0,0,17,0,0,0,0]},"port":19,"rank":0,"right":null,"role":"source"},{"frame":826,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,17,32,64,128,257],"offset":273,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":19,"rank":0,"right":null,"role":"target"},{"frame":389,"left":{"linear_Z4":[1,0,0,0,0,1,0,0,0],"matrix_rows":[32,2,4,8,16,1,64,161,256],"offset":0,"phase":0,"quadratic_rows":[33,0,0,0,0,33,0,0,0]},"port":20,"rank":0,"right":null,"role":"source"},{"frame":1025,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,33,64,129,256],"offset":161,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":20,"rank":0,"right":null,"role":"target"},{"frame":385,"left":{"linear_Z4":[1,0,0,0,0,1,0,0,0],"matrix_rows":[32,2,4,8,16,1,64,128,289],"offset":0,"phase":0,"quadratic_rows":[33,0,0,0,0,33,0,0,0]},"port":21,"rank":0,"right":null,"role":"source"},{"frame":1030,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,33,64,128,257],"offset":289,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":21,"rank":0,"right":null,"role":"target"},{"frame":186,"left":{"linear_Z4":[1,0,0,0,0,0,1,0,0],"matrix_rows":[64,2,4,8,16,32,1,193,256],"offset":0,"phase":0,"quadratic_rows":[65,0,0,0,0,0,65,0,0]},"port":22,"rank":0,"right":null,"role":"source"},{"frame":941,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,65,129,256],"offset":193,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":22,"rank":0,"right":null,"role":"target"},{"frame":188,"left":{"linear_Z4":[1,0,0,0,0,0,1,0,0],"matrix_rows":[64,2,4,8,16,32,1,128,321],"offset":0,"phase":0,"quadratic_rows":[65,0,0,0,0,0,65,0,0]},"port":23,"rank":0,"right":null,"role":"source"},{"frame":836,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,65,128,257],"offset":321,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":23,"rank":0,"right":null,"role":"target"},{"frame":158,"left":{"linear_Z4":[1,0,0,0,0,0,0,1,0],"matrix_rows":[128,2,4,8,16,32,64,1,385],"offset":0,"phase":0,"quadratic_rows":[129,0,0,0,0,0,0,129,0]},"port":24,"rank":0,"right":null,"role":"source"},{"frame":830,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,129,257],"offset":385,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":24,"rank":0,"right":null,"role":"target"},{"frame":67,"left":{"linear_Z4":[0,1,1,0,0,0,0,0,0],"matrix_rows":[1,4,2,14,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,6,6,0,0,0,0,0,0]},"port":25,"rank":0,"right":null,"role":"source"},{"frame":821,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,6,10,16,32,64,128,256],"offset":14,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":25,"rank":0,"right":null,"role":"target"},{"frame":275,"left":{"linear_Z4":[0,1,1,0,0,0,0,0,0],"matrix_rows":[1,4,2,8,22,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,6,6,0,0,0,0,0,0]},"port":26,"rank":0,"right":null,"role":"source"},{"frame":848,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,6,8,18,32,64,128,256],"offset":22,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":26,"rank":0,"right":null,"role":"target"},{"frame":10,"left":{"linear_Z4":[0,1,1,0,0,0,0,0,0],"matrix_rows":[1,4,2,8,16,38,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,6,6,0,0,0,0,0,0]},"port":27,"rank":0,"right":null,"role":"source"},{"frame":811,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,6,8,16,34,64,128,256],"offset":38,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":27,"rank":0,"right":null,"role":"target"},{"frame":216,"left":{"linear_Z4":[0,1,1,0,0,0,0,0,0],"matrix_rows":[1,4,2,8,16,32,70,128,256],"offset":0,"phase":0,"quadratic_rows":[0,6,6,0,0,0,0,0,0]},"port":28,"rank":0,"right":null,"role":"source"},{"frame":838,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,6,8,16,32,66,128,256],"offset":70,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":28,"rank":0,"right":null,"role":"target"},{"frame":246,"left":{"linear_Z4":[0,1,1,0,0,0,0,0,0],"matrix_rows":[1,4,2,8,16,32,64,134,256],"offset":0,"phase":0,"quadratic_rows":[0,6,6,0,0,0,0,0,0]},"port":29,"rank":0,"right":null,"role":"source"},{"frame":844,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,6,8,16,32,64,130,256],"offset":134,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":29,"rank":0,"right":null,"role":"target"},{"frame":244,"left":{"linear_Z4":[0,1,1,0,0,0,0,0,0],"matrix_rows":[1,4,2,8,16,32,64,128,262],"offset":0,"phase":0,"quadratic_rows":[0,6,6,0,0,0,0,0,0]},"port":30,"rank":0,"right":null,"role":"source"},{"frame":965,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,6,8,16,32,64,128,258],"offset":262,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":30,"rank":0,"right":null,"role":"target"},{"frame":97,"left":{"linear_Z4":[0,1,0,1,0,0,0,0,0],"matrix_rows":[1,8,4,2,26,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,10,0,10,0,0,0,0,0]},"port":31,"rank":0,"right":null,"role":"source"},{"frame":823,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,10,18,32,64,128,256],"offset":26,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":31,"rank":0,"right":null,"role":"target"},{"frame":154,"left":{"linear_Z4":[0,1,0,1,0,0,0,0,0],"matrix_rows":[1,8,4,2,16,32,74,128,256],"offset":0,"phase":0,"quadratic_rows":[0,10,0,10,0,0,0,0,0]},"port":32,"rank":0,"right":null,"role":"source"},{"frame":833,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,10,16,32,66,128,256],"offset":74,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":32,"rank":0,"right":null,"role":"target"},{"frame":184,"left":{"linear_Z4":[0,1,0,1,0,0,0,0,0],"matrix_rows":[1,8,4,2,16,32,64,138,256],"offset":0,"phase":0,"quadratic_rows":[0,10,0,10,0,0,0,0,0]},"port":33,"rank":0,"right":null,"role":"source"},{"frame":835,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,10,16,32,64,130,256],"offset":138,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":33,"rank":0,"right":null,"role":"target"},{"frame":182,"left":{"linear_Z4":[0,1,0,1,0,0,0,0,0],"matrix_rows":[1,8,4,2,16,32,64,128,266],"offset":0,"phase":0,"quadratic_rows":[0,10,0,10,0,0,0,0,0]},"port":34,"rank":0,"right":null,"role":"source"},{"frame":946,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,10,16,32,64,128,258],"offset":266,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":34,"rank":0,"right":null,"role":"target"},{"frame":159,"left":{"linear_Z4":[0,1,0,0,1,0,0,0,0],"matrix_rows":[1,16,4,8,2,50,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,18,0,0,18,0,0,0,0]},"port":35,"rank":0,"right":null,"role":"source"},{"frame":832,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,18,34,64,128,256],"offset":50,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":35,"rank":0,"right":null,"role":"target"},{"frame":384,"left":{"linear_Z4":[0,1,0,0,1,0,0,0,0],"matrix_rows":[1,16,4,8,2,32,64,146,256],"offset":0,"phase":0,"quadratic_rows":[0,18,0,0,18,0,0,0,0]},"port":36,"rank":0,"right":null,"role":"source"},{"frame":1024,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,18,32,64,130,256],"offset":146,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":36,"rank":0,"right":null,"role":"target"},{"frame":388,"left":{"linear_Z4":[0,1,0,0,1,0,0,0,0],"matrix_rows":[1,16,4,8,2,32,64,128,274],"offset":0,"phase":0,"quadratic_rows":[0,18,0,0,18,0,0,0,0]},"port":37,"rank":0,"right":null,"role":"source"},{"frame":1031,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,18,32,64,128,258],"offset":274,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":37,"rank":0,"right":null,"role":"target"},{"frame":100,"left":{"linear_Z4":[0,1,0,0,0,1,0,0,0],"matrix_rows":[1,32,4,8,16,2,98,128,256],"offset":0,"phase":0,"quadratic_rows":[0,34,0,0,0,34,0,0,0]},"port":38,"rank":0,"right":null,"role":"source"},{"frame":822,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,34,66,128,256],"offset":98,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":38,"rank":0,"right":null,"role":"target"},{"frame":130,"left":{"linear_Z4":[0,1,0,0,0,1,0,0,0],"matrix_rows":[1,32,4,8,16,2,64,162,256],"offset":0,"phase":0,"quadratic_rows":[0,34,0,0,0,34,0,0,0]},"port":39,"rank":0,"right":null,"role":"source"},{"frame":828,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,34,64,130,256],"offset":162,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":39,"rank":0,"right":null,"role":"target"},{"frame":128,"left":{"linear_Z4":[0,1,0,0,0,1,0,0,0],"matrix_rows":[1,32,4,8,16,2,64,128,290],"offset":0,"phase":0,"quadratic_rows":[0,34,0,0,0,34,0,0,0]},"port":40,"rank":0,"right":null,"role":"source"},{"frame":917,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,34,64,128,258],"offset":290,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":40,"rank":0,"right":null,"role":"target"},{"frame":330,"left":{"linear_Z4":[0,1,0,0,0,0,1,0,0],"matrix_rows":[1,64,4,8,16,32,2,194,256],"offset":0,"phase":0,"quadratic_rows":[0,66,0,0,0,0,66,0,0]},"port":41,"rank":0,"right":null,"role":"source"},{"frame":1007,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,66,130,256],"offset":194,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":41,"rank":0,"right":null,"role":"target"},{"frame":331,"left":{"linear_Z4":[0,1,0,0,0,0,1,0,0],"matrix_rows":[1,64,4,8,16,32,2,128,322],"offset":0,"phase":0,"quadratic_rows":[0,66,0,0,0,0,66,0,0]},"port":42,"rank":0,"right":null,"role":"source"},{"frame":1001,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,66,128,258],"offset":322,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":42,"rank":0,"right":null,"role":"target"},{"frame":359,"left":{"linear_Z4":[0,1,0,0,0,0,0,1,0],"matrix_rows":[1,128,4,8,16,32,64,2,386],"offset":0,"phase":0,"quadratic_rows":[0,130,0,0,0,0,0,130,0]},"port":43,"rank":0,"right":null,"role":"source"},{"frame":1019,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,130,258],"offset":386,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":43,"rank":0,"right":null,"role":"target"},{"frame":361,"left":{"linear_Z4":[0,0,1,1,0,0,0,0,0],"matrix_rows":[1,2,8,4,28,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,12,12,0,0,0,0,0]},"port":44,"rank":0,"right":null,"role":"source"},{"frame":858,"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,12,20,32,64,128,256],"offset":28,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":44,"rank":0,"right":null,"role":"target"},{"frame":156,"left":{"linear_Z4":[0,0,1,1,0,0,0,0,0],"matrix_rows":[1,2,8,4,16,44,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,12,12,0,0,0,0,0]},"port":45,"rank":0,"right":null,"role":"source"},{"frame":935,"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,12,16,36,64,128,256],"offset":44,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":45,"rank":0,"right":null,"role":"target"},{"frame":390,"left":{"linear_Z4":[0,0,1,1,0,0,0,0,0],"matrix_rows":[1,2,8,4,16,32,64,140,256],"offset":0,"phase":0,"quadratic_rows":[0,0,12,12,0,0,0,0,0]},"port":46,"rank":0,"right":null,"role":"source"},{"frame":862,"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,12,16,32,64,132,256],"offset":140,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":46,"rank":0,"right":null,"role":"target"},{"frame":386,"left":{"linear_Z4":[0,0,1,1,0,0,0,0,0],"matrix_rows":[1,2,8,4,16,32,64,128,268],"offset":0,"phase":0,"quadratic_rows":[0,0,12,12,0,0,0,0,0]},"port":47,"rank":0,"right":null,"role":"source"},{"frame":865,"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,12,16,32,64,128,260],"offset":268,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":47,"rank":0,"right":null,"role":"target"},{"frame":153,"left":{"linear_Z4":[0,0,1,0,1,0,0,0,0],"matrix_rows":[1,2,16,8,4,32,84,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,20,0,20,0,0,0,0]},"port":48,"rank":0,"right":null,"role":"source"},{"frame":934,"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,20,32,68,128,256],"offset":84,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":48,"rank":0,"right":null,"role":"target"},{"frame":181,"left":{"linear_Z4":[0,0,1,0,1,0,0,0,0],"matrix_rows":[1,2,16,8,4,32,64,148,256],"offset":0,"phase":0,"quadratic_rows":[0,0,20,0,20,0,0,0,0]},"port":49,"rank":0,"right":null,"role":"source"},{"frame":940,"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,20,32,64,132,256],"offset":148,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":49,"rank":0,"right":null,"role":"target"},{"frame":183,"left":{"linear_Z4":[0,0,1,0,1,0,0,0,0],"matrix_rows":[1,2,16,8,4,32,64,128,276],"offset":0,"phase":0,"quadratic_rows":[0,0,20,0,20,0,0,0,0]},"port":50,"rank":0,"right":null,"role":"source"},{"frame":837,"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,20,32,64,128,260],"offset":276,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":50,"rank":0,"right":null,"role":"target"},{"frame":358,"left":{"linear_Z4":[0,0,1,0,0,1,0,0,0],"matrix_rows":[1,2,32,8,16,4,100,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,36,0,0,36,0,0,0]},"port":51,"rank":0,"right":null,"role":"source"},{"frame":859,"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,36,68,128,256],"offset":100,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":51,"rank":0,"right":null,"role":"target"},{"frame":328,"left":{"linear_Z4":[0,0,1,0,0,1,0,0,0],"matrix_rows":[1,2,32,8,16,4,64,164,256],"offset":0,"phase":0,"quadratic_rows":[0,0,36,0,0,36,0,0,0]},"port":52,"rank":0,"right":null,"role":"source"},{"frame":857,"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,36,64,132,256],"offset":164,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":52,"rank":0,"right":null,"role":"target"},{"frame":329,"left":{"linear_Z4":[0,0,1,0,0,1,0,0,0],"matrix_rows":[1,2,32,8,16,4,64,128,292],"offset":0,"phase":0,"quadratic_rows":[0,0,36,0,0,36,0,0,0]},"port":53,"rank":0,"right":null,"role":"source"},{"frame":855,"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,36,64,128,260],"offset":292,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":53,"rank":0,"right":null,"role":"target"},{"frame":124,"left":{"linear_Z4":[0,0,1,0,0,0,1,0,0],"matrix_rows":[1,2,64,8,16,32,4,196,256],"offset":0,"phase":0,"quadratic_rows":[0,0,68,0,0,0,68,0,0]},"port":54,"rank":0,"right":null,"role":"source"},{"frame":922,"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,68,132,256],"offset":196,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":54,"rank":0,"right":null,"role":"target"},{"frame":126,"left":{"linear_Z4":[0,0,1,0,0,0,1,0,0],"matrix_rows":[1,2,64,8,16,32,4,128,324],"offset":0,"phase":0,"quadratic_rows":[0,0,68,0,0,0,68,0,0]},"port":55,"rank":0,"right":null,"role":"source"},{"frame":827,"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,68,128,260],"offset":324,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":55,"rank":0,"right":null,"role":"target"},{"frame":96,"left":{"linear_Z4":[0,0,1,0,0,0,0,1,0],"matrix_rows":[1,2,128,8,16,32,64,4,388],"offset":0,"phase":0,"quadratic_rows":[0,0,132,0,0,0,0,132,0]},"port":56,"rank":0,"right":null,"role":"source"},{"frame":825,"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,132,260],"offset":388,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":56,"rank":0,"right":null,"role":"target"},{"frame":12,"left":{"linear_Z4":[0,0,0,1,1,0,0,0,0],"matrix_rows":[1,2,4,16,8,56,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,24,24,0,0,0,0]},"port":57,"rank":0,"right":null,"role":"source"},{"frame":869,"left":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[1,2,4,8,24,40,64,128,256],"offset":56,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":57,"rank":0,"right":null,"role":"target"},{"frame":215,"left":{"linear_Z4":[0,0,0,1,1,0,0,0,0],"matrix_rows":[1,2,4,16,8,32,88,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,24,24,0,0,0,0]},"port":58,"rank":0,"right":null,"role":"source"},{"frame":953,"left":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[1,2,4,8,24,32,72,128,256],"offset":88,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":58,"rank":0,"right":null,"role":"target"},{"frame":243,"left":{"linear_Z4":[0,0,0,1,1,0,0,0,0],"matrix_rows":[1,2,4,16,8,32,64,152,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,24,24,0,0,0,0]},"port":59,"rank":0,"right":null,"role":"source"},{"frame":971,"left":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[1,2,4,8,24,32,64,136,256],"offset":152,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":59,"rank":0,"right":null,"role":"target"},{"frame":245,"left":{"linear_Z4":[0,0,0,1,1,0,0,0,0],"matrix_rows":[1,2,4,16,8,32,64,128,280],"offset":0,"phase":0,"quadratic_rows":[0,0,0,24,24,0,0,0,0]},"port":60,"rank":0,"right":null,"role":"source"},{"frame":842,"left":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[1,2,4,8,24,32,64,128,264],"offset":280,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":60,"rank":0,"right":null,"role":"target"},{"frame":69,"left":{"linear_Z4":[0,0,0,1,0,1,0,0,0],"matrix_rows":[1,2,4,32,16,8,104,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,40,0,40,0,0,0]},"port":61,"rank":0,"right":null,"role":"source"},{"frame":899,"left":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,40,72,128,256],"offset":104,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":61,"rank":0,"right":null,"role":"target"},{"frame":41,"left":{"linear_Z4":[0,0,0,1,0,1,0,0,0],"matrix_rows":[1,2,4,32,16,8,64,168,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,40,0,40,0,0,0]},"port":62,"rank":0,"right":null,"role":"source"},{"frame":881,"left":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,40,64,136,256],"offset":168,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":62,"rank":0,"right":null,"role":"target"},{"frame":40,"left":{"linear_Z4":[0,0,0,1,0,1,0,0,0],"matrix_rows":[1,2,4,32,16,8,64,128,296],"offset":0,"phase":0,"quadratic_rows":[0,0,0,40,0,40,0,0,0]},"port":63,"rank":0,"right":null,"role":"source"},{"frame":887,"left":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,40,64,128,264],"offset":296,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":63,"rank":0,"right":null,"role":"target"},{"frame":302,"left":{"linear_Z4":[0,0,0,1,0,0,1,0,0],"matrix_rows":[1,2,4,64,16,32,8,200,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,72,0,0,72,0,0]},"port":64,"rank":0,"right":null,"role":"source"},{"frame":989,"left":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,72,136,256],"offset":200,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":64,"rank":0,"right":null,"role":"target"},{"frame":304,"left":{"linear_Z4":[0,0,0,1,0,0,1,0,0],"matrix_rows":[1,2,4,64,16,32,8,128,328],"offset":0,"phase":0,"quadratic_rows":[0,0,0,72,0,0,72,0,0]},"port":65,"rank":0,"right":null,"role":"source"},{"frame":852,"left":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,72,128,264],"offset":328,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":65,"rank":0,"right":null,"role":"target"},{"frame":274,"left":{"linear_Z4":[0,0,0,1,0,0,0,1,0],"matrix_rows":[1,2,4,128,16,32,64,8,392],"offset":0,"phase":0,"quadratic_rows":[0,0,0,136,0,0,0,136,0]},"port":66,"rank":0,"right":null,"role":"source"},{"frame":846,"left":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,136,264],"offset":392,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":66,"rank":0,"right":null,"role":"target"},{"frame":269,"left":{"linear_Z4":[0,0,0,0,1,1,0,0,0],"matrix_rows":[1,2,4,8,32,16,112,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,48,48,0,0,0]},"port":67,"rank":0,"right":null,"role":"source"},{"frame":982,"left":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[1,2,4,8,16,48,80,128,256],"offset":112,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":67,"rank":0,"right":null,"role":"target"},{"frame":297,"left":{"linear_Z4":[0,0,0,0,1,1,0,0,0],"matrix_rows":[1,2,4,8,32,16,64,176,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,48,48,0,0,0]},"port":68,"rank":0,"right":null,"role":"source"},{"frame":988,"left":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[1,2,4,8,16,48,64,144,256],"offset":176,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":68,"rank":0,"right":null,"role":"target"},{"frame":299,"left":{"linear_Z4":[0,0,0,0,1,1,0,0,0],"matrix_rows":[1,2,4,8,32,16,64,128,304],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,48,48,0,0,0]},"port":69,"rank":0,"right":null,"role":"source"},{"frame":853,"left":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[1,2,4,8,16,48,64,128,272],"offset":304,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":69,"rank":0,"right":null,"role":"target"},{"frame":36,"left":{"linear_Z4":[0,0,0,0,1,0,1,0,0],"matrix_rows":[1,2,4,8,64,32,16,208,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,80,0,80,0,0]},"port":70,"rank":0,"right":null,"role":"source"},{"frame":880,"left":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,80,144,256],"offset":208,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":70,"rank":0,"right":null,"role":"target"},{"frame":37,"left":{"linear_Z4":[0,0,0,0,1,0,1,0,0],"matrix_rows":[1,2,4,8,64,32,16,128,336],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,80,0,80,0,0]},"port":71,"rank":0,"right":null,"role":"source"},{"frame":886,"left":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,80,128,272],"offset":336,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":71,"rank":0,"right":null,"role":"target"},{"frame":65,"left":{"linear_Z4":[0,0,0,0,1,0,0,1,0],"matrix_rows":[1,2,4,8,128,32,64,16,400],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,144,0,0,144,0]},"port":72,"rank":0,"right":null,"role":"source"},{"frame":892,"left":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,144,272],"offset":400,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":72,"rank":0,"right":null,"role":"target"},{"frame":240,"left":{"linear_Z4":[0,0,0,0,0,1,1,0,0],"matrix_rows":[1,2,4,8,16,64,32,224,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,96,96,0,0]},"port":73,"rank":0,"right":null,"role":"source"},{"frame":970,"left":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[1,2,4,8,16,32,96,160,256],"offset":224,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":73,"rank":0,"right":null,"role":"target"},{"frame":242,"left":{"linear_Z4":[0,0,0,0,0,1,1,0,0],"matrix_rows":[1,2,4,8,16,64,32,128,352],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,96,96,0,0]},"port":74,"rank":0,"right":null,"role":"source"},{"frame":843,"left":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[1,2,4,8,16,32,96,128,288],"offset":352,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":74,"rank":0,"right":null,"role":"target"},{"frame":212,"left":{"linear_Z4":[0,0,0,0,0,1,0,1,0],"matrix_rows":[1,2,4,8,16,128,64,32,416],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,160,0,160,0]},"port":75,"rank":0,"right":null,"role":"source"},{"frame":841,"left":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,160,288],"offset":416,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":75,"rank":0,"right":null,"role":"target"},{"frame":8,"left":{"linear_Z4":[0,0,0,0,0,0,1,1,0],"matrix_rows":[1,2,4,8,16,32,128,64,448],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,192,192,0]},"port":76,"rank":0,"right":null,"role":"source"},{"frame":874,"left":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[1,2,4,8,16,32,64,192,320],"offset":448,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":76,"rank":0,"right":null,"role":"target"},{"frame":101,"left":{"linear_Z4":[0,0,1,1,1,1,1,1,0],"matrix_rows":[1,2,248,244,236,220,188,124,508],"offset":0,"phase":0,"quadratic_rows":[0,0,252,252,252,252,252,252,0]},"port":77,"rank":0,"right":null,"role":"source"},{"frame":824,"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,12,20,36,68,132,260],"offset":508,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":77,"rank":0,"right":null,"role":"target"},{"frame":356,"left":{"linear_Z4":[0,1,0,1,1,1,1,1,0],"matrix_rows":[1,248,4,242,234,218,186,122,506],"offset":0,"phase":0,"quadratic_rows":[0,250,0,250,250,250,250,250,0]},"port":78,"rank":0,"right":null,"role":"source"},{"frame":1018,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,10,18,34,66,130,258],"offset":506,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":78,"rank":0,"right":null,"role":"target"},{"frame":71,"left":{"linear_Z4":[0,1,1,0,1,1,1,1,0],"matrix_rows":[1,244,242,8,230,214,182,118,502],"offset":0,"phase":0,"quadratic_rows":[0,246,246,0,246,246,246,246,0]},"port":79,"rank":0,"right":null,"role":"source"},{"frame":818,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,6,8,18,34,66,130,258],"offset":502,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":79,"rank":0,"right":null,"role":"target"},{"frame":268,"left":{"linear_Z4":[0,1,1,1,0,1,1,1,0],"matrix_rows":[1,236,234,230,16,206,174,110,494],"offset":0,"phase":0,"quadratic_rows":[0,238,238,238,0,238,238,238,0]},"port":80,"rank":0,"right":null,"role":"source"},{"frame":976,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,6,10,16,34,66,130,258],"offset":494,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":80,"rank":0,"right":null,"role":"target"},{"frame":14,"left":{"linear_Z4":[0,1,1,1,1,0,1,1,0],"matrix_rows":[1,220,218,214,206,32,158,94,478],"offset":0,"phase":0,"quadratic_rows":[0,222,222,222,222,0,222,222,0]},"port":81,"rank":0,"right":null,"role":"source"},{"frame":812,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,6,10,18,32,66,130,258],"offset":478,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":81,"rank":0,"right":null,"role":"target"},{"frame":211,"left":{"linear_Z4":[0,1,1,1,1,1,0,1,0],"matrix_rows":[1,188,186,182,174,158,64,62,446],"offset":0,"phase":0,"quadratic_rows":[0,190,190,190,190,190,0,190,0]},"port":82,"rank":0,"right":null,"role":"source"},{"frame":958,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,6,10,18,34,64,130,258],"offset":446,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":82,"rank":0,"right":null,"role":"target"},{"frame":239,"left":{"linear_Z4":[0,1,1,1,1,1,1,0,0],"matrix_rows":[1,124,122,118,110,94,62,128,382],"offset":0,"phase":0,"quadratic_rows":[0,126,126,126,126,126,126,0,0]},"port":83,"rank":0,"right":null,"role":"source"},{"frame":964,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,6,10,18,34,66,128,258],"offset":382,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":83,"rank":0,"right":null,"role":"target"},{"frame":241,"left":{"linear_Z4":[0,1,1,1,1,1,1,0,0],"matrix_rows":[1,124,122,118,110,94,62,254,256],"offset":0,"phase":0,"quadratic_rows":[0,126,126,126,126,126,126,0,0]},"port":84,"rank":0,"right":null,"role":"source"},{"frame":845,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,6,10,18,34,66,130,256],"offset":254,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":84,"rank":0,"right":null,"role":"target"},{"frame":155,"left":{"linear_Z4":[1,0,0,1,1,1,1,1,0],"matrix_rows":[248,2,4,241,233,217,185,121,505],"offset":0,"phase":0,"quadratic_rows":[249,0,0,249,249,249,249,249,0]},"port":85,"rank":0,"right":null,"role":"source"},{"frame":831,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,9,17,33,65,129,257],"offset":505,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":85,"rank":0,"right":null,"role":"target"},{"frame":217,"left":{"linear_Z4":[1,0,1,0,1,1,1,1,0],"matrix_rows":[244,2,241,8,229,213,181,117,501],"offset":0,"phase":0,"quadratic_rows":[245,0,245,0,245,245,245,245,0]},"port":86,"rank":0,"right":null,"role":"source"},{"frame":840,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,5,8,17,33,65,129,257],"offset":501,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":86,"rank":0,"right":null,"role":"target"},{"frame":9,"left":{"linear_Z4":[1,0,1,1,0,1,1,1,0],"matrix_rows":[236,2,233,229,16,205,173,109,493],"offset":0,"phase":0,"quadratic_rows":[237,0,237,237,0,237,237,237,0]},"port":87,"rank":0,"right":null,"role":"source"},{"frame":813,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,5,9,16,33,65,129,257],"offset":493,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":87,"rank":0,"right":null,"role":"target"},{"frame":271,"left":{"linear_Z4":[1,0,1,1,1,0,1,1,0],"matrix_rows":[220,2,217,213,205,32,157,93,477],"offset":0,"phase":0,"quadratic_rows":[221,0,221,221,221,0,221,221,0]},"port":88,"rank":0,"right":null,"role":"source"},{"frame":847,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,5,9,17,32,65,129,257],"offset":477,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":88,"rank":0,"right":null,"role":"target"},{"frame":68,"left":{"linear_Z4":[1,0,1,1,1,1,0,1,0],"matrix_rows":[188,2,185,181,173,157,64,61,445],"offset":0,"phase":0,"quadratic_rows":[189,0,189,189,189,189,0,189,0]},"port":89,"rank":0,"right":null,"role":"source"},{"frame":819,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,5,9,17,33,64,129,257],"offset":445,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":89,"rank":0,"right":null,"role":"target"},{"frame":38,"left":{"linear_Z4":[1,0,1,1,1,1,1,0,0],"matrix_rows":[124,2,121,117,109,93,61,128,381],"offset":0,"phase":0,"quadratic_rows":[125,0,125,125,125,125,125,0,0]},"port":90,"rank":0,"right":null,"role":"source"},{"frame":817,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,5,9,17,33,65,128,257],"offset":381,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":90,"rank":0,"right":null,"role":"target"},{"frame":39,"left":{"linear_Z4":[1,0,1,1,1,1,1,0,0],"matrix_rows":[124,2,121,117,109,93,61,253,256],"offset":0,"phase":0,"quadratic_rows":[125,0,125,125,125,125,125,0,0]},"port":91,"rank":0,"right":null,"role":"source"},{"frame":815,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,5,9,17,33,65,129,256],"offset":253,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":91,"rank":0,"right":null,"role":"target"},{"frame":11,"left":{"linear_Z4":[1,1,0,0,1,1,1,1,0],"matrix_rows":[242,241,4,8,227,211,179,115,499],"offset":0,"phase":0,"quadratic_rows":[243,243,0,0,243,243,243,243,0]},"port":92,"rank":0,"right":null,"role":"source"},{"frame":875,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,4,8,17,33,65,129,257],"offset":499,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":92,"rank":0,"right":null,"role":"target"},{"frame":214,"left":{"linear_Z4":[1,1,0,1,0,1,1,1,0],"matrix_rows":[234,233,4,227,16,203,171,107,491],"offset":0,"phase":0,"quadratic_rows":[235,235,0,235,0,235,235,235,0]},"port":93,"rank":0,"right":null,"role":"source"},{"frame":959,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,4,9,16,33,65,129,257],"offset":491,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":93,"rank":0,"right":null,"role":"target"},{"frame":70,"left":{"linear_Z4":[1,1,0,1,1,0,1,1,0],"matrix_rows":[218,217,4,211,203,32,155,91,475],"offset":0,"phase":0,"quadratic_rows":[219,219,0,219,219,0,219,219,0]},"port":94,"rank":0,"right":null,"role":"source"},{"frame":893,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,4,9,17,32,65,129,257],"offset":475,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":94,"rank":0,"right":null,"role":"target"},{"frame":273,"left":{"linear_Z4":[1,1,0,1,1,1,0,1,0],"matrix_rows":[186,185,4,179,171,155,64,59,443],"offset":0,"phase":0,"quadratic_rows":[187,187,0,187,187,187,0,187,0]},"port":95,"rank":0,"right":null,"role":"source"},{"frame":977,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,4,9,17,33,64,129,257],"offset":443,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":95,"rank":0,"right":null,"role":"target"},{"frame":301,"left":{"linear_Z4":[1,1,0,1,1,1,1,0,0],"matrix_rows":[122,121,4,115,107,91,59,128,379],"offset":0,"phase":0,"quadratic_rows":[123,123,0,123,123,123,123,0,0]},"port":96,"rank":0,"right":null,"role":"source"},{"frame":995,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,4,9,17,33,65,128,257],"offset":379,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":96,"rank":0,"right":null,"role":"target"},{"frame":303,"left":{"linear_Z4":[1,1,0,1,1,1,1,0,0],"matrix_rows":[122,121,4,115,107,91,59,251,256],"offset":0,"phase":0,"quadratic_rows":[123,123,0,123,123,123,123,0,0]},"port":97,"rank":0,"right":null,"role":"source"},{"frame":850,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,4,9,17,33,65,129,256],"offset":251,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":97,"rank":0,"right":null,"role":"target"},{"frame":152,"left":{"linear_Z4":[1,1,1,0,0,1,1,1,0],"matrix_rows":[230,229,227,8,16,199,167,103,487],"offset":0,"phase":0,"quadratic_rows":[231,231,231,0,0,231,231,231,0]},"port":98,"rank":0,"right":null,"role":"source"},{"frame":928,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,8,16,33,65,129,257],"offset":487,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":98,"rank":0,"right":null,"role":"target"},{"frame":357,"left":{"linear_Z4":[1,1,1,0,1,0,1,1,0],"matrix_rows":[214,213,211,8,199,32,151,87,471],"offset":0,"phase":0,"quadratic_rows":[215,215,215,0,215,0,215,215,0]},"port":99,"rank":0,"right":null,"role":"source"},{"frame":861,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,8,17,32,65,129,257],"offset":471,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":99,"rank":0,"right":null,"role":"target"},{"frame":95,"left":{"linear_Z4":[1,1,1,0,1,1,0,1,0],"matrix_rows":[182,181,179,8,167,151,64,55,439],"offset":0,"phase":0,"quadratic_rows":[183,183,183,0,183,183,0,183,0]},"port":100,"rank":0,"right":null,"role":"source"},{"frame":910,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,8,17,33,64,129,257],"offset":439,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":100,"rank":0,"right":null,"role":"target"},{"frame":123,"left":{"linear_Z4":[1,1,1,0,1,1,1,0,0],"matrix_rows":[118,117,115,8,103,87,55,128,375],"offset":0,"phase":0,"quadratic_rows":[119,119,119,0,119,119,119,0,0]},"port":101,"rank":0,"right":null,"role":"source"},{"frame":916,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,8,17,33,65,128,257],"offset":375,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":101,"rank":0,"right":null,"role":"target"},{"frame":125,"left":{"linear_Z4":[1,1,1,0,1,1,1,0,0],"matrix_rows":[118,117,115,8,103,87,55,247,256],"offset":0,"phase":0,"quadratic_rows":[119,119,119,0,119,119,119,0,0]},"port":102,"rank":0,"right":null,"role":"source"},{"frame":829,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,8,17,33,65,129,256],"offset":247,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":102,"rank":0,"right":null,"role":"target"},{"frame":98,"left":{"linear_Z4":[1,1,1,1,0,0,1,1,0],"matrix_rows":[206,205,203,199,16,32,143,79,463],"offset":0,"phase":0,"quadratic_rows":[207,207,207,207,0,0,207,207,0]},"port":103,"rank":0,"right":null,"role":"source"},{"frame":911,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,9,16,32,65,129,257],"offset":463,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":103,"rank":0,"right":null,"role":"target"},{"frame":362,"left":{"linear_Z4":[1,1,1,1,0,1,0,1,0],"matrix_rows":[174,173,171,167,16,143,64,47,431],"offset":0,"phase":0,"quadratic_rows":[175,175,175,175,0,175,0,175,0]},"port":104,"rank":0,"right":null,"role":"source"},{"frame":860,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,9,16,33,64,129,257],"offset":431,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":104,"rank":0,"right":null,"role":"target"},{"frame":332,"left":{"linear_Z4":[1,1,1,1,0,1,1,0,0],"matrix_rows":[110,109,107,103,16,79,47,128,367],"offset":0,"phase":0,"quadratic_rows":[111,111,111,111,0,111,111,0,0]},"port":105,"rank":0,"right":null,"role":"source"},{"frame":854,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,9,16,33,65,128,257],"offset":367,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":105,"rank":0,"right":null,"role":"target"},{"frame":333,"left":{"linear_Z4":[1,1,1,1,0,1,1,0,0],"matrix_rows":[110,109,107,103,16,79,47,239,256],"offset":0,"phase":0,"quadratic_rows":[111,111,111,111,0,111,111,0,0]},"port":106,"rank":0,"right":null,"role":"source"},{"frame":856,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,9,16,33,65,129,256],"offset":239,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":106,"rank":0,"right":null,"role":"target"},{"frame":157,"left":{"linear_Z4":[1,1,1,1,1,0,0,1,0],"matrix_rows":[158,157,155,151,143,32,64,31,415],"offset":0,"phase":0,"quadratic_rows":[159,159,159,159,159,0,0,159,0]},"port":107,"rank":0,"right":null,"role":"source"},{"frame":929,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,9,17,32,64,129,257],"offset":415,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":107,"rank":0,"right":null,"role":"target"},{"frame":185,"left":{"linear_Z4":[1,1,1,1,1,0,1,0,0],"matrix_rows":[94,93,91,87,79,32,31,128,351],"offset":0,"phase":0,"quadratic_rows":[95,95,95,95,95,0,95,0,0]},"port":108,"rank":0,"right":null,"role":"source"},{"frame":947,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,9,17,32,65,128,257],"offset":351,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":108,"rank":0,"right":null,"role":"target"},{"frame":187,"left":{"linear_Z4":[1,1,1,1,1,0,1,0,0],"matrix_rows":[94,93,91,87,79,32,31,223,256],"offset":0,"phase":0,"quadratic_rows":[95,95,95,95,95,0,95,0,0]},"port":109,"rank":0,"right":null,"role":"source"},{"frame":834,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,9,17,32,65,129,256],"offset":223,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":109,"rank":0,"right":null,"role":"target"},{"frame":391,"left":{"linear_Z4":[1,1,1,1,1,1,0,0,0],"matrix_rows":[62,61,59,55,47,31,64,128,319],"offset":0,"phase":0,"quadratic_rows":[63,63,63,63,63,63,0,0,0]},"port":110,"rank":0,"right":null,"role":"source"},{"frame":864,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,9,17,33,64,128,257],"offset":319,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":110,"rank":0,"right":null,"role":"target"},{"frame":387,"left":{"linear_Z4":[1,1,1,1,1,1,0,0,0],"matrix_rows":[62,61,59,55,47,31,64,191,256],"offset":0,"phase":0,"quadratic_rows":[63,63,63,63,63,63,0,0,0]},"port":111,"rank":0,"right":null,"role":"source"},{"frame":863,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,9,17,33,64,129,256],"offset":191,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":111,"rank":0,"right":null,"role":"target"}]} \ No newline at end of file diff --git a/research/gauge44-slots-t16/evidence/local/CLIFFORD-REVIEW.json b/research/gauge44-slots-t16/evidence/local/CLIFFORD-REVIEW.json new file mode 100644 index 0000000000..6b12ae0e4b --- /dev/null +++ b/research/gauge44-slots-t16/evidence/local/CLIFFORD-REVIEW.json @@ -0,0 +1,19 @@ +{ + "status": "PASS_NEW_WORD_EXACT_LOCAL_PHASE_RECIPES", + "canonical_word_sha256": "92941c2b718b533f1d3addb710d261a6e2b9ec5d19f0051d79775b08cb2571ed", + "frames": 1037, + "directed_edges": 3019, + "ranks": { + "1": 2029, + "2": 394, + "3": 412, + "8": 16, + "4": 154, + "5": 14 + }, + "endpoint_adapters": 224, + "all_child_equalities_include_global_phase": true, + "recipe_sha256": "0a60293f43d88dbb1b321f02e61204afe1b6272b1346968ef35705caea1e4771", + "seconds": 198.28347681800005, + "scope": "Every local frame and center transition. Expanded scalar-interface integration and global emitted program are separate obligations." +} diff --git a/research/gauge44-slots-t16/evidence/local/FULL-WORD.json.gz b/research/gauge44-slots-t16/evidence/local/FULL-WORD.json.gz new file mode 100644 index 0000000000..447d45d08b Binary files /dev/null and b/research/gauge44-slots-t16/evidence/local/FULL-WORD.json.gz differ diff --git a/research/gauge44-slots-t16/evidence/local/INDEPENDENT-LOCAL-REPLAY.json b/research/gauge44-slots-t16/evidence/local/INDEPENDENT-LOCAL-REPLAY.json new file mode 100644 index 0000000000..aa15edfba5 --- /dev/null +++ b/research/gauge44-slots-t16/evidence/local/INDEPENDENT-LOCAL-REPLAY.json @@ -0,0 +1,71 @@ +{ + "status": "PASS_INDEPENDENT_LOCAL_SCALAR_FRAME_AND_WRAPPER_REPLAY", + "canonical_word_sha256": "92941c2b718b533f1d3addb710d261a6e2b9ec5d19f0051d79775b08cb2571ed", + "local_programs_sha256": "172dc3d23e437909ddc01d07b12ede735afbb5bb6145f1ddf5c2e03097dfebe2", + "v": 112, + "helpers": 492, + "local": { + "forward": { + "all_exact_columns": 716, + "prefix_l1_upper": "2323449462751823289130723296176889733365478515961323543/64", + "prefix_bits_upper": 175, + "charged_payload_bits": 192, + "private_work_erased": true + }, + "backward": { + "all_exact_columns": 716, + "prefix_l1_upper": "600338326363508935771850050281004728884643/32", + "prefix_bits_upper": 134, + "charged_payload_bits": 192, + "private_work_erased": true + } + }, + "paid_profiles": { + "forward": { + "1": 2514, + "4": 160, + "8": 8, + "3": 448, + "2": 404, + "5": 56 + }, + "backward": { + "1": 2514, + "4": 160, + "8": 8, + "3": 448, + "2": 404, + "5": 56 + } + }, + "entering_helpers": 204, + "cold_hyperplane_ended_helpers": 44, + "negative_controls_rejected": [ + "wrong_scale", + "missing_center", + "wrong_common_frame", + "wrong_child_rank", + "missing_pre_wrapper", + "missing_post_wrapper", + "wrapper_with_wrong_frame", + "wrapper_in_wrong_phase", + "wrapper_on_a_data_register", + "wrapper_on_a_target_register", + "wrapper_on_a_centre_register", + "hpe_pre_wrapper_resolved_to_full_recipe", + "hpe_post_wrapper_without_terminal_frame", + "hpe_post_wrapper_wrong_terminal_frame", + "hpe_tail_gate_at_full_frame", + "hpe_tail_climb_dropped", + "hpe_helper_exit_adapter_to_full", + "hpe_tail_gate_moved_into_full_cleanup", + "cold_hpe_pre_wrapper_replaced_by_identity_entry_adapter", + "cold_hpe_pre_wrapper_dropped", + "cold_hpe_post_wrapper_replaced_by_exit_adapter", + "cold_hpe_pre_wrapper_resolved_to_cold_full_convention", + "cold_hpe_wrapper_with_nonzero_entrance", + "cold_hpe_post_wrapper_wrong_terminal_frame", + "cold_hpe_premix_gate_before_pre_wrapper" + ], + "scope": "Literal forward and inverse-transpose replay on every arbitrary data/helper column, physical frame incidence, ordered paid wrappers, cleared private work and prefix coefficients. Global hosting and outer exponent are separate." +} diff --git a/research/gauge44-slots-t16/evidence/local/LOCAL-CHECKS.json b/research/gauge44-slots-t16/evidence/local/LOCAL-CHECKS.json new file mode 100644 index 0000000000..3872f0e596 --- /dev/null +++ b/research/gauge44-slots-t16/evidence/local/LOCAL-CHECKS.json @@ -0,0 +1,36 @@ +{ + "forward": { + "sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "scalar_macros": 41570, + "real_component_primitive_bound": 420052, + "paid_profile": { + "1": 2514, + "2": 404, + "3": 448, + "4": 160, + "5": 56, + "8": 8 + }, + "all_columns": 716, + "private_centers_cleared": true, + "private_coefficient_stream_cleared_after_each_macro": true + }, + "backward": { + "sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "scalar_macros": 41570, + "real_component_primitive_bound": 420100, + "paid_profile": { + "1": 2514, + "2": 404, + "3": 448, + "4": 160, + "5": 56, + "8": 8 + }, + "all_columns": 716, + "private_centers_cleared": true, + "private_coefficient_stream_cleared_after_each_macro": true + } +} diff --git a/research/gauge44-slots-t16/evidence/local/LOCAL-PROGRAMS.json.gz b/research/gauge44-slots-t16/evidence/local/LOCAL-PROGRAMS.json.gz new file mode 100644 index 0000000000..d511f2afa4 Binary files /dev/null and b/research/gauge44-slots-t16/evidence/local/LOCAL-PROGRAMS.json.gz differ diff --git a/research/gauge44-slots-t16/evidence/local/RESIDUAL-ADAPTERS.json b/research/gauge44-slots-t16/evidence/local/RESIDUAL-ADAPTERS.json new file mode 100644 index 0000000000..9c66f92ffb --- /dev/null +++ b/research/gauge44-slots-t16/evidence/local/RESIDUAL-ADAPTERS.json @@ -0,0 +1 @@ +{"recipes":{"0:122":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[2,2,2,3,0,0,0,0,0],"matrix_rows":[18,33,68,136,10,9,11,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,8,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[1,1,3,1,1,1,2,3,2],"matrix_rows":[50,49,388,8,97,82,260,120,384],"offset":4,"phase":1,"quadratic_rows":[81,98,132,120,57,58,11,132,0]},"terminal":122,"terminal_rank":4,"terminal_vectors":[388,75,41,26],"vectors":[]},"0:151":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[3,3,3,2,0,0,0,0,0],"matrix_rows":[30,35,69,128,270,3,5,9,1],"offset":0,"phase":0,"quadratic_rows":[9,2,4,1,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[1,2,2,0,1,2,2,3,0],"matrix_rows":[390,19,21,145,481,34,68,8,496],"offset":8,"phase":1,"quadratic_rows":[375,437,467,0,375,19,21,390,151]},"terminal":151,"terminal_rank":4,"terminal_vectors":[273,145,85,51],"vectors":[]},"0:180":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[2,2,2,3,0,0,0,0,0],"matrix_rows":[17,36,66,136,14,12,10,257,1],"offset":0,"phase":0,"quadratic_rows":[0,4,2,8,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[3,1,1,1,2,1,1,3,2],"matrix_rows":[385,100,98,8,257,82,52,120,384],"offset":1,"phase":1,"quadratic_rows":[129,50,84,120,14,106,108,129,0]},"terminal":180,"terminal_rank":4,"terminal_vectors":[385,74,44,30],"vectors":[]},"0:209":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[3,3,3,2,0,0,0,0,0],"matrix_rows":[19,45,70,141,6,256,3,10,2],"offset":0,"phase":0,"quadratic_rows":[1,10,4,2,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[2,1,2,1,2,0,2,3,0],"matrix_rows":[11,389,14,138,65,466,20,472,32],"offset":8,"phase":1,"quadratic_rows":[462,351,411,351,14,0,11,389,143]},"terminal":209,"terminal_rank":4,"terminal_vectors":[266,138,75,30],"vectors":[]},"0:238":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[3,3,2,2,0,0,0,0,0],"matrix_rows":[22,33,71,5,3,136,2,264,8],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[2,3,1,2,2,3,2,3,2],"matrix_rows":[6,5,93,416,25,82,76,288,384],"offset":15,"phase":0,"quadratic_rows":[64,86,22,0,6,160,3,160,0]},"terminal":238,"terminal_rank":4,"terminal_vectors":[416,70,19,13],"vectors":[]},"0:267":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[3,3,3,2,0,0,0,0,0],"matrix_rows":[16,46,78,131,3,261,5,9,1],"offset":0,"phase":0,"quadratic_rows":[9,2,4,1,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[0,1,1,2,2,2,2,3,0],"matrix_rows":[424,14,38,134,1,466,468,24,96],"offset":8,"phase":1,"quadratic_rows":[0,382,382,438,14,462,38,424,174]},"terminal":267,"terminal_rank":4,"terminal_vectors":[262,134,102,30],"vectors":[]},"0:296":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[3,3,2,2,0,0,0,0,0],"matrix_rows":[18,41,75,132,10,1,3,260,4],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[3,2,1,3,2,2,2,3,2],"matrix_rows":[6,5,392,118,97,82,52,264,384],"offset":15,"phase":0,"quadratic_rows":[101,32,69,136,0,3,5,136,0]},"terminal":296,"terminal_rank":4,"terminal_vectors":[392,67,37,22],"vectors":[]},"0:325":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[3,3,3,2,0,0,0,0,0],"matrix_rows":[30,46,64,131,261,5,3,9,1],"offset":0,"phase":0,"quadratic_rows":[9,2,4,1,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[1,1,0,2,2,2,2,3,0],"matrix_rows":[408,11,19,131,481,482,4,72,48],"offset":8,"phase":1,"quadratic_rows":[379,379,0,467,427,19,11,408,155]},"terminal":325,"terminal_rank":4,"terminal_vectors":[259,131,75,51],"vectors":[]},"0:35":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[3,3,2,2,0,0,0,0,0],"matrix_rows":[22,37,67,7,1,2,136,264,8],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[2,2,2,2,2,2,3,3,2],"matrix_rows":[6,5,59,448,25,42,52,320,384],"offset":15,"phase":0,"quadratic_rows":[38,21,51,0,6,5,192,192,0]},"terminal":35,"terminal_rank":4,"terminal_vectors":[448,38,21,11],"vectors":[]},"0:354":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[3,3,3,2,0,0,0,0,0],"matrix_rows":[30,35,69,142,256,5,3,9,1],"offset":0,"phase":0,"quadratic_rows":[9,2,4,1,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[1,2,2,1,0,2,2,3,0],"matrix_rows":[390,11,13,137,481,66,36,488,16],"offset":8,"phase":1,"quadratic_rows":[367,461,427,367,0,13,11,390,143]},"terminal":354,"terminal_rank":4,"terminal_vectors":[265,137,75,45],"vectors":[]},"0:383":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[2,2,2,3,0,0,0,0,0],"matrix_rows":[20,34,65,136,12,13,9,258,2],"offset":0,"phase":0,"quadratic_rows":[4,0,1,8,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[1,3,1,1,1,2,1,3,2],"matrix_rows":[84,386,81,8,97,258,52,120,384],"offset":2,"phase":1,"quadratic_rows":[49,130,100,120,89,13,92,130,0]},"terminal":383,"terminal_rank":4,"terminal_vectors":[386,73,45,28],"vectors":[]},"0:412":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[3,3,3,2,0,0,0,0,0],"matrix_rows":[21,38,75,139,6,5,256,12,4],"offset":0,"phase":0,"quadratic_rows":[1,2,12,4,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[2,2,1,1,2,2,0,3,0],"matrix_rows":[13,14,387,140,33,18,436,440,64],"offset":8,"phase":1,"quadratic_rows":[430,413,319,319,14,13,0,387,143]},"terminal":412,"terminal_rank":4,"terminal_vectors":[268,140,45,30],"vectors":[]},"0:64":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[3,3,3,2,0,0,0,0,0],"matrix_rows":[30,32,78,131,261,3,5,9,1],"offset":0,"phase":0,"quadratic_rows":[9,2,4,1,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[1,0,1,2,2,2,2,3,0],"matrix_rows":[408,13,21,133,481,2,484,40,80],"offset":8,"phase":1,"quadratic_rows":[381,0,381,437,461,13,21,408,157]},"terminal":64,"terminal_rank":4,"terminal_vectors":[261,133,85,45],"vectors":[]},"0:93":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[3,3,2,2,0,0,0,0,0],"matrix_rows":[18,37,71,6,136,3,1,264,8],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[3,2,1,2,3,2,2,3,2],"matrix_rows":[6,5,110,400,97,42,76,272,384],"offset":15,"phase":0,"quadratic_rows":[101,64,37,0,144,5,3,144,0]},"terminal":93,"terminal_rank":4,"terminal_vectors":[400,69,35,14],"vectors":[]},"2":{"entrance_rank":1,"frame":2,"left":{"linear_Z4":[3,3,2,3,2,2,3,3,0],"matrix_rows":[257,2,4,8,16,32,64,128,203],"offset":0,"phase":0,"quadratic_rows":[203,203,0,203,0,0,203,203,0]},"rank":8,"right":{"linear_Z4":[0,0,2,0,2,2,0,0,0],"matrix_rows":[1,258,4,264,16,32,320,384,256],"offset":309,"phase":3,"quadratic_rows":[256,256,0,256,0,0,256,256,203]},"vectors":[459]},"3":{"entrance_rank":1,"frame":3,"left":{"linear_Z4":[3,3,2,3,2,2,2,2,0],"matrix_rows":[257,2,4,8,16,32,11,64,128],"offset":0,"phase":0,"quadratic_rows":[11,11,0,11,0,0,0,0,0]},"rank":8,"right":{"linear_Z4":[0,0,2,0,2,2,0,2,2],"matrix_rows":[1,66,4,72,16,32,128,256,64],"offset":244,"phase":1,"quadratic_rows":[64,64,0,64,0,0,11,0,0]},"vectors":[75]},"4":{"entrance_rank":1,"frame":4,"left":{"linear_Z4":[2,3,3,2,2,3,2,2,0],"matrix_rows":[1,258,4,8,16,32,38,64,128],"offset":0,"phase":0,"quadratic_rows":[0,38,38,0,0,38,0,0,0]},"rank":8,"right":{"linear_Z4":[2,0,0,2,2,0,0,2,2],"matrix_rows":[1,2,68,8,16,96,128,256,64],"offset":217,"phase":1,"quadratic_rows":[0,64,64,0,0,64,38,0,0]},"vectors":[102]},"421":{"entrance_rank":1,"frame":421,"left":{"linear_Z4":[3,2,3,3,2,2,2,2,0],"matrix_rows":[257,2,4,8,16,13,32,64,128],"offset":0,"phase":0,"quadratic_rows":[13,0,13,13,0,0,0,0,0]},"rank":8,"right":{"linear_Z4":[0,2,0,0,2,0,2,2,2],"matrix_rows":[1,2,36,40,16,64,128,256,32],"offset":242,"phase":1,"quadratic_rows":[32,0,32,32,0,13,0,0,0]},"vectors":[45]},"421:1034":{"entrance_rank":1,"frame":421,"left":{"linear_Z4":[3,2,3,2,2,2,2,0,0],"matrix_rows":[128,2,261,1,8,4,16,32,64],"offset":0,"phase":0,"quadratic_rows":[5,0,5,0,0,0,0,0,0]},"rank":7,"right":{"linear_Z4":[2,2,0,3,2,3,2,2,2],"matrix_rows":[44,2,4,16,64,128,256,13,32],"offset":511,"phase":1,"quadratic_rows":[12,0,1,41,0,40,0,0,0]},"terminal":1034,"terminal_rank":8,"terminal_vectors":[256,128,64,33,16,9,5,2],"vectors":[45]},"422":{"entrance_rank":1,"frame":422,"left":{"linear_Z4":[3,3,2,2,3,2,2,2,0],"matrix_rows":[257,2,4,8,16,19,32,64,128],"offset":0,"phase":0,"quadratic_rows":[19,19,0,0,19,0,0,0,0]},"rank":8,"right":{"linear_Z4":[0,0,2,2,0,0,2,2,2],"matrix_rows":[1,34,4,8,48,64,128,256,32],"offset":236,"phase":1,"quadratic_rows":[32,32,0,0,32,19,0,0,0]},"vectors":[51]},"422:1035":{"entrance_rank":1,"frame":422,"left":{"linear_Z4":[3,3,2,2,2,2,2,0,0],"matrix_rows":[128,259,4,8,1,2,16,32,64],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"rank":7,"right":{"linear_Z4":[2,0,2,2,3,3,2,2,2],"matrix_rows":[50,2,4,8,64,128,256,19,32],"offset":511,"phase":1,"quadratic_rows":[18,1,0,0,49,48,0,0,0]},"terminal":1035,"terminal_rank":8,"terminal_vectors":[256,128,64,33,17,8,4,3],"vectors":[51]},"423":{"entrance_rank":1,"frame":423,"left":{"linear_Z4":[2,3,3,3,2,2,2,2,0],"matrix_rows":[1,258,4,8,14,16,32,64,128],"offset":0,"phase":0,"quadratic_rows":[0,14,14,14,0,0,0,0,0]},"rank":8,"right":{"linear_Z4":[2,0,0,0,0,2,2,2,2],"matrix_rows":[1,2,20,24,32,64,128,256,16],"offset":241,"phase":1,"quadratic_rows":[0,16,16,16,14,0,0,0,0]},"vectors":[30]},"423:1036":{"entrance_rank":1,"frame":423,"left":{"linear_Z4":[2,3,3,2,2,2,2,0,0],"matrix_rows":[1,128,262,2,4,8,16,32,64],"offset":0,"phase":0,"quadratic_rows":[0,6,6,0,0,0,0,0,0]},"rank":7,"right":{"linear_Z4":[2,2,0,3,3,2,2,2,2],"matrix_rows":[1,28,4,32,64,128,256,14,16],"offset":511,"phase":1,"quadratic_rows":[0,12,2,26,24,0,0,0,0]},"terminal":1036,"terminal_rank":8,"terminal_vectors":[256,128,64,32,18,10,6,1],"vectors":[30]},"424":{"entrance_rank":4,"frame":424,"left":{"linear_Z4":[2,3,2,2,3,0,0,0,0],"matrix_rows":[33,65,2,132,264,8,4,16,31],"offset":0,"phase":0,"quadratic_rows":[30,31,27,23,31,0,0,0,0]},"rank":5,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,260,264,272,384,352,354,64,32],"offset":429,"phase":0,"quadratic_rows":[96,0,256,320,288,17,9,256,156]},"vectors":[413,72,48,3]},"425":{"entrance_rank":4,"frame":425,"left":{"linear_Z4":[2,2,2,3,3,0,0,0,0],"matrix_rows":[33,66,132,257,8,4,2,16,31],"offset":0,"phase":0,"quadratic_rows":[30,29,27,31,31,0,0,0,0]},"rank":5,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,258,260,272,384,352,64,32,360],"offset":231,"phase":0,"quadratic_rows":[96,320,288,0,256,5,3,256,150]},"vectors":[407,66,36,9]},"426":{"entrance_rank":4,"frame":426,"left":{"linear_Z4":[2,2,2,3,3,0,0,0,0],"matrix_rows":[33,66,132,260,2,1,8,16,31],"offset":0,"phase":0,"quadratic_rows":[30,29,27,31,31,0,0,0,0]},"rank":5,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,258,260,320,384,32,16,304,312],"offset":231,"phase":0,"quadratic_rows":[288,272,48,0,6,5,256,256,195]},"vectors":[455,33,18,12]},"427":{"entrance_rank":4,"frame":427,"left":{"linear_Z4":[2,2,2,3,3,0,0,0,0],"matrix_rows":[33,66,4,136,16,13,21,258,2],"offset":0,"phase":0,"quadratic_rows":[24,0,24,13,21,0,0,0,0]},"rank":5,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[33,258,100,72,80,64,256,96,384],"offset":66,"phase":0,"quadratic_rows":[96,0,96,32,64,13,21,0,0]},"vectors":[258,130,85,45]},"428":{"entrance_rank":4,"frame":428,"left":{"linear_Z4":[2,3,3,2,2,0,0,0,0],"matrix_rows":[33,66,4,136,16,19,21,264,8],"offset":0,"phase":0,"quadratic_rows":[6,19,21,0,6,0,0,0,0]},"rank":5,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[33,66,68,264,112,64,96,256,384],"offset":136,"phase":0,"quadratic_rows":[96,32,64,0,96,19,21,0,0]},"vectors":[264,136,85,51]},"429":{"entrance_rank":4,"frame":429,"left":{"linear_Z4":[3,2,2,2,3,0,0,0,0],"matrix_rows":[33,66,2,132,4,264,8,16,31],"offset":0,"phase":0,"quadratic_rows":[31,29,27,23,31,0,0,0,0]},"rank":5,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[85,258,264,288,384,340,4,16,64],"offset":462,"phase":0,"quadratic_rows":[256,260,258,272,264,320,288,256,255]},"vectors":[427,96,24,6]},"430":{"entrance_rank":4,"frame":430,"left":{"linear_Z4":[2,2,2,3,3,0,0,0,0],"matrix_rows":[33,66,132,258,4,8,1,16,31],"offset":0,"phase":0,"quadratic_rows":[30,29,27,31,31,0,0,0,0]},"rank":5,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,258,260,288,384,64,336,16,344],"offset":231,"phase":0,"quadratic_rows":[320,80,272,0,6,256,3,256,165]},"vectors":[423,65,20,10]},"431":{"entrance_rank":4,"frame":431,"left":{"linear_Z4":[2,2,2,3,3,0,0,0,0],"matrix_rows":[33,66,4,136,14,16,22,257,1],"offset":0,"phase":0,"quadratic_rows":[0,24,24,14,22,0,0,0,0]},"rank":5,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,18,84,72,96,256,64,80,384],"offset":33,"phase":0,"quadratic_rows":[0,80,80,16,14,64,38,0,0]},"vectors":[257,129,102,30]},"432":{"entrance_rank":4,"frame":432,"left":{"linear_Z4":[2,2,2,3,3,0,0,0,0],"matrix_rows":[33,66,132,264,1,2,4,16,31],"offset":0,"phase":0,"quadratic_rows":[30,29,27,31,31,0,0,0,0]},"rank":5,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[257,258,260,120,384,16,32,64,368],"offset":231,"phase":0,"quadratic_rows":[272,288,320,256,257,258,260,256,255]},"vectors":[399,68,34,17]},"433":{"entrance_rank":4,"frame":433,"left":{"linear_Z4":[2,3,2,2,3,0,0,0,0],"matrix_rows":[33,66,1,132,264,4,8,16,31],"offset":0,"phase":0,"quadratic_rows":[30,31,27,23,31,0,0,0,0]},"rank":5,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[257,102,264,272,384,4,356,32,64],"offset":429,"phase":0,"quadratic_rows":[260,256,257,288,320,264,272,256,255]},"vectors":[411,80,40,5]},"434":{"entrance_rank":4,"frame":434,"left":{"linear_Z4":[2,3,3,2,2,0,0,0,0],"matrix_rows":[33,66,4,8,144,13,11,272,16],"offset":0,"phase":0,"quadratic_rows":[6,11,13,6,0,0,0,0,0]},"rank":5,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[65,34,36,104,272,32,96,256,384],"offset":144,"phase":0,"quadratic_rows":[96,64,32,96,0,13,11,0,0]},"vectors":[272,144,75,45]},"435":{"entrance_rank":4,"frame":435,"left":{"linear_Z4":[3,3,2,2,2,0,0,0,0],"matrix_rows":[33,66,4,8,14,13,144,272,16],"offset":0,"phase":0,"quadratic_rows":[13,14,3,3,0,0,0,0,0]},"rank":5,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[1,2,52,56,320,32,16,256,384],"offset":144,"phase":0,"quadratic_rows":[32,16,48,48,14,13,0,0,0]},"vectors":[320,192,45,30]},"436":{"entrance_rank":5,"frame":436,"left":{"linear_Z4":[3,2,2,2,0,0,0,0,0],"matrix_rows":[17,34,67,4,5,136,7,264,8],"offset":0,"phase":0,"quadratic_rows":[1,4,2,0,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[0,2,0,0,3,0,3,0,2],"matrix_rows":[1,82,88,288,16,80,68,256,384],"offset":249,"phase":2,"quadratic_rows":[16,0,0,80,89,0,88,0,0]},"vectors":[288,160,75,25,7]},"437":{"entrance_rank":5,"frame":437,"left":{"linear_Z4":[2,2,2,3,0,0,0,0,0],"matrix_rows":[17,34,68,136,9,10,11,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,8,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[0,0,0,2,1,1,0,0,2],"matrix_rows":[49,50,260,8,96,80,256,112,384],"offset":127,"phase":1,"quadratic_rows":[80,96,0,112,57,58,11,0,0]},"vectors":[260,132,75,42,25]},"5":{"entrance_rank":1,"frame":5,"left":{"linear_Z4":[2,2,2,3,3,3,2,2,0],"matrix_rows":[1,2,4,264,16,32,56,64,128],"offset":0,"phase":0,"quadratic_rows":[0,0,0,56,56,56,0,0,0]},"rank":8,"right":{"linear_Z4":[2,2,2,0,0,0,0,2,2],"matrix_rows":[1,2,4,8,80,96,128,256,64],"offset":199,"phase":1,"quadratic_rows":[0,0,0,64,64,64,56,0,0]},"vectors":[120]},"6":{"entrance_rank":1,"frame":6,"left":{"linear_Z4":[3,2,3,2,3,2,2,2,0],"matrix_rows":[257,2,4,8,16,32,21,64,128],"offset":0,"phase":0,"quadratic_rows":[21,0,21,0,21,0,0,0,0]},"rank":8,"right":{"linear_Z4":[0,2,0,2,0,2,0,2,2],"matrix_rows":[1,2,68,8,80,32,128,256,64],"offset":234,"phase":1,"quadratic_rows":[64,0,64,0,64,0,21,0,0]},"vectors":[85]}},"status":"RESIDUAL_ADAPTER_RECIPES"} diff --git a/research/gauge44-slots-t16/evidence/local/SCALAR-FRAME-AUDIT.json b/research/gauge44-slots-t16/evidence/local/SCALAR-FRAME-AUDIT.json new file mode 100644 index 0000000000..23bf3d263e --- /dev/null +++ b/research/gauge44-slots-t16/evidence/local/SCALAR-FRAME-AUDIT.json @@ -0,0 +1,654 @@ +{ + "status": "PASS_CHANGED_WORD_ALL_COLUMNS_AND_NATIVE_FRAMES", + "input_content_sha256": "78c7aadacb6eec2eeecc124ca236e5bcfdba6a52b30c2971aaa596d1d119b290", + "routing_content_sha256": "7c84ac65c8b37173aa4293934f041915895e8ec30595844cc1534e2a19ae0d25", + "canonical_content_sha256": "e6daee410e04d5e023faf21144081534ad222d334ce786e6b5f52407e6b3c41f", + "live_columns_each_orientation": 716, + "helpers": 492, + "compensation_additions": 7348, + "scalar_operations": 41546, + "center_rank_sum": 64, + "local_profile": { + "1": 2514, + "2": 404, + "3": 448, + "4": 160, + "5": 56, + "8": 8 + }, + "local_rank_mass": 5650, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 9, + 8, + 9, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ], + "frames": 1037, + "directed_edges": 3019, + "tau": 43, + "target_port_order_matches_baseline": true, + "seconds": 4.39260065399958, + "scope": "Fresh exact forward and inverse-transpose scalar replay on every arbitrary input; all native frame chains and dyadic primitives. Phase lowering, wrappers, global owners and global assembly are separate.", + "hyperplane_ended_helpers": [ + 225, + 227, + 241, + 243, + 257, + 259, + 273, + 275, + 277, + 282, + 289, + 291, + 293, + 298, + 305, + 307, + 309, + 314, + 321, + 323, + 325, + 330, + 337, + 339, + 341, + 346, + 353, + 355, + 357, + 362, + 369, + 371, + 373, + 378, + 385, + 387, + 389, + 394, + 401, + 403, + 417, + 419, + 433, + 435, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 467, + 468, + 477, + 490, + 491, + 514, + 515, + 538, + 539, + 562, + 563, + 574, + 583, + 584, + 593, + 594, + 595, + 596, + 598, + 600, + 601, + 602, + 603 + ], + "early_cleanup_gates": 94, + "cold_hyperplane_ended_helpers": [ + 225, + 227, + 241, + 243, + 257, + 259, + 273, + 275, + 277, + 282, + 289, + 291, + 293, + 298, + 305, + 307, + 309, + 314, + 321, + 323, + 325, + 330, + 337, + 339, + 341, + 346, + 353, + 355, + 357, + 362, + 369, + 371, + 373, + 378, + 385, + 387, + 389, + 394, + 401, + 403, + 417, + 419, + 433, + 435 + ], + "refactored_cleanup_gates": 28150, + "refactored_cleanup": { + "exact_non_target_isolation_checked": true, + "high_inverse": "dyadic_sparse_Gauss_Jordan", + "kind": "source_branch_gauge_and_retired_completion_cold44", + "new_cold_ends": 44 + } +} diff --git a/research/gauge44-slots-t16/evidence/local/WRAPPER-CHECKS.json b/research/gauge44-slots-t16/evidence/local/WRAPPER-CHECKS.json new file mode 100644 index 0000000000..a18afd4fad --- /dev/null +++ b/research/gauge44-slots-t16/evidence/local/WRAPPER-CHECKS.json @@ -0,0 +1,413 @@ +{ + "status": "PASS_RESIDUAL_WRAPPERS_ARE_EXACT", + "frames": 22, + "hyperplane_end_pairs": [ + { + "frame": 0, + "terminal": 35, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 0, + "terminal": 64, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 0, + "terminal": 93, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 0, + "terminal": 122, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 0, + "terminal": 151, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 0, + "terminal": 180, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 0, + "terminal": 209, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 0, + "terminal": 238, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 0, + "terminal": 267, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 0, + "terminal": 296, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 0, + "terminal": 325, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 0, + "terminal": 354, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 0, + "terminal": 383, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 0, + "terminal": 412, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 421, + "terminal": 1034, + "entrance_rank": 1, + "terminal_rank": 8, + "residual_width": 7 + }, + { + "frame": 422, + "terminal": 1035, + "entrance_rank": 1, + "terminal_rank": 8, + "residual_width": 7 + }, + { + "frame": 423, + "terminal": 1036, + "entrance_rank": 1, + "terminal_rank": 8, + "residual_width": 7 + } + ], + "cold_hyperplane_end_pairs": 14, + "wrappers_reject": [ + "wrong global phase", + "wrong translation", + "wrong quadratic form", + "sides swapped", + "wrong width", + "hpe: U-wrapper decoded against a FULL ending", + "hpe: width misreported as 9 - dim E", + "hpe: wrong terminal hyperplane", + "hpe: pre wrapper resolved to the FULL recipe R_{E,FULL}", + "hpe: wrong global phase", + "cold hpe: identity pre wrapper instead of R_{0,U}", + "cold hpe: identity post wrapper instead of L_{0,U}", + "cold hpe: no wrappers (cold FULL convention L = R = I)", + "cold hpe: U-wrapper decoded against a FULL ending", + "cold hpe: width misreported as 9", + "cold hpe: wrong terminal hyperplane", + "cold hpe: wrong global phase" + ], + "all_even_weight": false, + "all_totally_isotropic": false, + "detail": [ + { + "frame": 2, + "entrance_rank": 1, + "residual_width": 8, + "vectors": [ + 459 + ], + "all_even_weight": true, + "totally_isotropic": true + }, + { + "frame": 3, + "entrance_rank": 1, + "residual_width": 8, + "vectors": [ + 75 + ], + "all_even_weight": true, + "totally_isotropic": true + }, + { + "frame": 4, + "entrance_rank": 1, + "residual_width": 8, + "vectors": [ + 102 + ], + "all_even_weight": true, + "totally_isotropic": true + }, + { + "frame": 5, + "entrance_rank": 1, + "residual_width": 8, + "vectors": [ + 120 + ], + "all_even_weight": true, + "totally_isotropic": true + }, + { + "frame": 6, + "entrance_rank": 1, + "residual_width": 8, + "vectors": [ + 85 + ], + "all_even_weight": true, + "totally_isotropic": true + }, + { + "frame": 421, + "entrance_rank": 1, + "residual_width": 8, + "vectors": [ + 45 + ], + "all_even_weight": true, + "totally_isotropic": true + }, + { + "frame": 422, + "entrance_rank": 1, + "residual_width": 8, + "vectors": [ + 51 + ], + "all_even_weight": true, + "totally_isotropic": true + }, + { + "frame": 423, + "entrance_rank": 1, + "residual_width": 8, + "vectors": [ + 30 + ], + "all_even_weight": true, + "totally_isotropic": true + }, + { + "frame": 424, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 413, + 72, + 48, + 3 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 425, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 407, + 66, + 36, + 9 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 426, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 455, + 33, + 18, + 12 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 427, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 258, + 130, + 85, + 45 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 428, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 264, + 136, + 85, + 51 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 429, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 427, + 96, + 24, + 6 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 430, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 423, + 65, + 20, + 10 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 431, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 257, + 129, + 102, + 30 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 432, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 399, + 68, + 34, + 17 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 433, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 411, + 80, + 40, + 5 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 434, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 272, + 144, + 75, + 45 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 435, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 320, + 192, + 45, + 30 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 436, + "entrance_rank": 5, + "residual_width": 4, + "vectors": [ + 288, + 160, + 75, + 25, + 7 + ], + "all_even_weight": false, + "totally_isotropic": false + }, + { + "frame": 437, + "entrance_rank": 5, + "residual_width": 4, + "vectors": [ + 260, + 132, + 75, + 42, + 25 + ], + "all_even_weight": false, + "totally_isotropic": false + } + ] +} diff --git a/research/gauge44-slots-t16/hosting/PROOF.md b/research/gauge44-slots-t16/hosting/PROOF.md new file mode 100644 index 0000000000..b551b6d3e5 --- /dev/null +++ b/research/gauge44-slots-t16/hosting/PROOF.md @@ -0,0 +1,237 @@ +# Exact owner reuse and concave-cost matching + +## 1. Objects and interface assumptions + +The parent controller has 72 ordered calls, 112 source ports, 112 target ports, +and 492 helper roles per call. The ambient dimension is 73. A pending-child +group is a triple + +$$ +g=(\text{owner replica},\text{child},\text{port}). +$$ + +The parent window catalogue gives group capacity $C_g$, together with the call +times at which its physical stream is idle. The map from a group to its +physical family is + +$$ +F(g)=896\,\text{owner replica} + +112(2\,\text{pair(child)}+\text{side(child)})+\text{port}. +$$ + +At every call in this particular parent geometry, at most one pending child of +a physical family is eligible. Both the matcher and the independent frozen +audit check this condition. They also exclude both active data families of the +call. Consequently, injective assignment to eligible groups is equivalent to +assignment to distinct idle physical families at that call. + +Helper $h$ requests an integer width $w_h$, read afresh from the new local +word as the final-frame dimension minus the start-frame dimension. Native +program profiles are also recomputed from their paid edges. The finite local +compiler supplies the normalized helper chart and verifies its warm-start +semantics. A hosted width is a reservation in the pending child's address +coordinates on an existing physical stream; it is not a new physical stream. + +This proof concerns the discrete assignment and its moment contribution. It +uses the parent windows as input. Independent global admission must verify +those windows against the actual controller and construct the actual +73-column charts for the fresh native local word. + +## 2. Feasible shrinking on the original families + +For one call, sort the old slot widths and the new helper widths increasingly, +breaking ties by the old or new helper number. Suppose the new width in each +position is no larger than its matched old width. Assign that helper to the +matched old slot. + +This operation preserves the call time, stage, replica, pending child, port, +owner replica, and physical family. It preserves the set of 492 distinct +helper-owner families at the call, so the old window and active-data +exclusions still hold. In each pending-child group, the sum of new widths is +no larger than the old sum, hence remains within capacity. + +Now order the assignments in each group consistently and replace their +offsets by consecutive prefix sums. The occupied sets become pairwise +disjoint intervals whose union is exactly a prefix of length +$U_g=\sum w_h\le C_g$. The idle child retains rank $C_g-U_g$, with pending +offset $U_g$. Thus the shrinking operation has a direct capacity proof; it +requires neither an owner solver nor any change to the controller. + +The seed constructor applies this termwise argument to the 71 former `jp8` +calls. It keeps the remaining `ck` call provisionally unchanged. Two optional +fixed-family assignment passes redistribute the available capacity before +freezing the seed. Their result is audited using the same integer constraints. + +## 3. One call with all other calls fixed + +Fix one call $t$. Remove its existing assignments while keeping every other +call fixed. For each eligible group, define the available capacity + +$$ +c_g=C_g-\sum_{\substack{\text{assignments in }g\\\text{from calls other than }t}}w. +$$ + +The call must assign each of its 492 widths to a distinct eligible group with +$w\le c_g$. Unused groups can be viewed as receiving a dummy width zero. +After the assignment, group $g$'s idle rank is $c_g-w_g$. For any function +$\phi$, the portion of the idle objective affected by the call is exactly + +$$ +\sum_{g\text{ eligible at }t}\phi(c_g-w_g). +$$ + +All other idle contributions, and all local paid-edge contributions, are +constant in this single-call problem. + +### Greedy rule + +Sort eligible capacities increasingly. At each capacity, assign the largest +remaining helper width that fits; assign zero if none fits. Continue through +the remaining capacities. + +This rule has no floating parameter. Equal-capacity tie choices are used only +to limit changes to physical owners and make the artifact deterministic. + +### Exchange lemma + +Take two capacities $c_1\le c_2$ and two widths $w_1\le w_2\le c_1$. The +assignment of $w_1$ to $c_1$ and $w_2$ to $c_2$ has residual pair + +$$ +(c_1-w_1,\ c_2-w_2). +$$ + +Exchange the widths. Feasibility is preserved, and the new pair is + +$$ +(c_1-w_2,\ c_2-w_1). +$$ + +The total is unchanged. The first new component is no larger than either old +component, and the second is no smaller than either old component. Therefore +the new pair majorizes the old pair. Every concave $\phi$ has weakly smaller +sum on the new pair. + +### Consequence: feasibility and optimality + +Start from any feasible complete assignment. At the smallest remaining +capacity, its assigned width is no larger than the largest remaining width +that fits. The greedy width occurs at some later capacity. If the two differ, +the exchange lemma moves that width to the current capacity while preserving +feasibility and weakly decreasing every concave objective. Fix this first +position and repeat on the suffix. Dummy zero widths cover unused groups. + +Thus the greedy procedure succeeds whenever a feasible assignment exists, and +its remainder vector majorizes that of every feasible assignment. It +simultaneously minimizes every concave remainder objective for this call. +This proof depends on the absence of any eligibility restriction beyond the +capacity and the already fixed call window; that property is explicitly +checked for the present geometry. + +## 4. Exact majorization receipts + +Let $a_r$ and $b_r$ be the old and new remainder histograms for one update, +including zero remainders. When the helper-width multiset is unchanged, their +total numbers of groups and total ranks agree. Every remainder lies between +0 and 48. The implementation checks, with integers, that for each +$k=0,1,\ldots,48$, + +$$ +\sum_r b_r\max(r-k,0) +\;\ge\; +\sum_r a_r\max(r-k,0). +$$ + +These are the stored stop-loss margins. Between integer breakpoints the +difference is linear, so checking all integer breakpoints checks every real +threshold. With equal sums and equal lengths, the inequalities are the +standard majorization criterion: the new vector majorizes the old one. + +The transcript contains 288 such equal-width updates: four passes through 72 +calls. A single preceding update replaces the seed's last `ck` width multiset. +That bootstrap has different total width, so it is checked for exact +feasibility and is not represented as an equal-sum majorization step. + +`reproduce.py` reruns every update and compares the full transcript's semantic +hash. Independently, `audit_frozen.py` removes each final call in turn, computes +all available capacities directly from the frozen owner map, runs a separate +histogram-only greedy calculation, and verifies that it returns exactly the +existing remainder histogram. This checks all 72 final coordinate optima +without relying on the transcript or the discovery seed. + +## 5. Relation to the global moment + +For ambient dimension $M=73$, define + +$$ +\phi_b(r)=r\bigl((73/r)^b-1\bigr) + =73^b r^{1-b}-r,\qquad \phi_b(0)=0. +$$ + +For $0 used[g]) + paid = Counter({r: 72*n for r, n in sig['profile'].items()}) + paid.update(idle) + + # Independent cost-level fixed-point check. No helper-ID or family-ID + # tie-breaking is needed: equal capacities give the same histogram. + for t in range(72): + old = {g: w for g, w in bycall[t].values()} + assert len(old) == R + before = Counter(caps[g]-used[g] for g in eligible[t]) + available = sorted(caps[g]-used[g]+old.get(g, 0) for g in eligible[t]) + want = Counter(sig['widths']) + after = Counter() + for cap in available: + width = next((w for w in sorted(want, reverse=True) if want[w] and w <= cap), 0) + if width: + want[width] -= 1 + after[cap-width] += 1 + assert not any(want.values()), 'Greedy assignment unexpectedly infeasible' + assert after == before, ('Frozen map is not callwise optimal', t) + mass = sum(r*n for r, n in paid.items()) + assert 73*7168-mass == 2560 and max(paid) == 48 + return { + 'roles': len(owners), 'calls': 72, 'fixed_point_calls_checked': 72, + 'remainder_profile': dict(sorted(idle.items())), + 'global_profile': dict(sorted(paid.items())), + 'rank_mass': mass, 'deficit': 2560, 'maxchild': 48, + 'all_footprints_disjoint_compacted_prefixes': True, + 'all_helper_families_idle_and_outside_active_data': True, + 'one_helper_per_physical_family_per_call': True, + 'every_call_optimal_for_every_concave_remainder_cost': True, + 'global_optimality_claimed': False, + } + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + add_inputs(parser) + parser.add_argument('--owners', type=Path, default=HERE/'frozen/OWNERS.json.gz') + parser.add_argument('--majorization', type=Path, default=HERE/'frozen/MAJORIZATION.json.gz') + parser.add_argument('--out', type=Path, required=True) + args = parser.parse_args() + manifest = read(HERE/'frozen/MANIFEST.json') + plan, sig, provider_path = bound_inputs(args, manifest) + assert semantic_sha(args.owners) == manifest['artifacts']['OWNERS.json.gz']['semantic_sha256'] + assert semantic_sha(args.majorization) == manifest['artifacts']['MAJORIZATION.json.gz']['semantic_sha256'] + result = audit(plan, sig, read(args.owners)) + for key in ('remainder_profile', 'global_profile'): + assert result[key] == {int(r): n for r, n in manifest[key].items()} + moves = read(args.majorization) + checked = 0 + for move in moves: + if move['equal_width_multiset']: + margins = move['integer_stoploss_margins'] + assert len(margins) == 49 and all(type(x) is int and x >= 0 for x in margins) + assert margins[0] == margins[-1] == 0 + assert move['strict_majorization'] == bool(any(margins)) + checked += 1 + else: + assert move['bootstrap'] and move['integer_stoploss_margins'] is None + assert checked == 288 and len(moves) == 289 + result.update({ + 'status': 'PASS_FROZEN_HOSTING_AND_ALL_72_CALLWISE_FIXED_POINTS', + 'parent_plan_sha256': sha(args.parent_plan), + 'parent_owners_sha256': sha(args.parent_owners), + 'owners_semantic_sha256': semantic_sha(args.owners), + 'majorization_semantic_sha256': semantic_sha(args.majorization), + 'stored_integer_majorization_steps': checked, + 'majorization_replay': 'reproduce.py re-executes every step; this audit separately checks the final fixed point.', + 'remaining_scope': 'The package global verifier checks fresh local algebra, phases, windows, invoice, moment, and outer assembly.', + }) + args.out.parent.mkdir(parents=True, exist_ok=True) + args.out.write_text(json.dumps(result, indent=2)+'\n') + print(json.dumps(result, indent=2)) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-slots-t16/hosting/expand_owners.py b/research/gauge44-slots-t16/hosting/expand_owners.py new file mode 100644 index 0000000000..ee6c4c24e6 --- /dev/null +++ b/research/gauge44-slots-t16/hosting/expand_owners.py @@ -0,0 +1,186 @@ +"""Exact callwise concave-cost owner matching over every legal idle family. + +This is a finite integer nomination algorithm, not a MILP. Each greedy +matching is optimal for every concave remainder cost. Its majorization +receipt is checked with integers, independently of floating root screens. +""" +from collections import Counter, defaultdict, deque +from pathlib import Path +import argparse +import gzip +import hashlib +import json +import time + +from reuse_owners import read, packed, sha, signature, audit_roles, rate + + +def stoploss(hist,k):return sum(n*max(r-k,0) for r,n in hist.items()) + + +def main(): + ap=argparse.ArgumentParser(description=__doc__) + ap.add_argument('--plan',type=Path,required=True) + ap.add_argument('--owners',type=Path,required=True) + ap.add_argument('--signature',action='append',required=True,help='Existing PID=verified native directory or raw/signature JSON') + ap.add_argument('--max-passes',type=int,default=8) + ap.add_argument('--out',type=Path,required=True) + a=ap.parse_args();assert 1<=a.max_passes<=12 + a.out.mkdir(parents=True,exist_ok=False);beg=time.monotonic() + plan,oldroles=read(a.plan),read(a.owners);V,M=112,73 + assert (plan['K'],plan['T'],plan['M'],plan['L'])==(4,8,73,9) + sig={pid:{'widths':desc['widths'],'profile':{int(r):n for r,n in desc['actual_paid_profile'].items()},'source':'input PLAN'} for pid,desc in plan['provider_registry'].items()} + for spec in a.signature: + pid,path=spec.split('=',1);assert pid in sig;sig[pid]=signature(path) + R=len(next(iter(sig.values()))['widths']) + for s in sig.values(): + assert len(s['widths'])==R and all(type(w) is int and 0used[g]) + + def total_profile(): + p=Counter() + for c in plan['provider_calls']:p.update(sig[c['provider']]['profile']) + p.update(idle_profile());assert M*plan['live']-sum(r*n for r,n in p.items())==2560 + return p + + def update(call,bootstrap=False): + t=calls[call]['time'];gs=eligible[t] + old=current[call] + old_by_group={g:(h,w) for h,(g,w) in old.items()} + assert len(old_by_group)==R and set(old_by_group)<=set(gs) + oldhist=Counter(caps[g]-used[g] for g in gs) + for g,(h,w) in old_by_group.items():used[g]-=w + want=defaultdict(set) + for h,w in enumerate(widths[call]):want[w].add(h) + # Equal-capacity opportunities have identical costs. Preserve old + # matching widths first, then old owners, and finally family order. + buckets=defaultdict(lambda:defaultdict(deque)) + for g in sorted(gs,key=lambda g:(families[g],g[1])): + available=caps[g]-used[g];oldw=old_by_group.get(g,(None,0))[1] + buckets[available][oldw].append(g) + result={};unassigned=R + for c in sorted(buckets): + bucket=buckets[c] + while unassigned and any(bucket.values()): + w=next((w for w in sorted(want,reverse=True) if w<=c and want[w]),None) + if w is None:break + if bucket.get(w):q=w + else:q=next(q for q in sorted(bucket,reverse=True) if bucket[q]) + g=bucket[q].popleft() + h0=old_by_group.get(g,(None,0))[0] + h=h0 if h0 in want[w] else min(want[w]) + want[w].remove(h);result[h]=(g,w);used[g]+=w;unassigned-=1 + assert used[g]<=caps[g] + assert unassigned==0,('no legal family matching',call,{w:len(h) for w,h in want.items() if h}) + assert set(result)==set(range(R)) and len({families[g] for g,w in result.values()})==R + newhist=Counter(caps[g]-used[g] for g in gs) + equal_widths=Counter(w for g,w in old.values())==Counter(widths[call]) + strict=False + if equal_widths: + assert sum(oldhist.values())==sum(newhist.values()) + assert stoploss(oldhist,0)==stoploss(newhist,0) + margins=[stoploss(newhist,k)-stoploss(oldhist,k) for k in range(49)] + assert min(margins)>=0,('greedy did not majorize old assignment',call,margins) + strict=any(margins) + else: + assert bootstrap + margins=None + changed=sum(result[h]!=old[h] for h in result) + current[call]=result + moves.append({'stage':call[0],'replica':call[1],'time':t,'bootstrap':bootstrap, + 'equal_width_multiset':equal_widths,'integer_stoploss_margins':margins, + 'strict_majorization':strict,'changed_helper_owners':changed}) + return strict,changed + + changed_calls=[c for c in order if any(current[c][h][1]!=widths[c][h] for h in range(R))] + for c in changed_calls:update(c,bootstrap=True) + p=total_profile();baseline_b=rate(p,2560,M) + rounds=[{'pass':'bootstrap','changed_provider_calls':[list(c) for c in changed_calls], + 'floating_b':baseline_b,'remainder_profile':dict(sorted(idle_profile().items()))}] + print(json.dumps({'checkpoint':'all_goal_signatures_feasible','bootstrap_calls':len(changed_calls),'floating_b':baseline_b}),flush=True) + quiet=0 + for passno in range(a.max_passes): + strict=changed=0 + for c in (order if passno%2==0 else list(reversed(order))): + s,z=update(c);strict+=bool(s);changed+=z + p=total_profile();r={'pass':passno+1,'strictly_improved_calls':strict,'changed_helper_owners':changed, + 'floating_b':rate(p,2560,M),'remainder_profile':dict(sorted(idle_profile().items()))} + rounds.append(r);print(json.dumps({k:r[k] for k in ('pass','strictly_improved_calls','changed_helper_owners','floating_b')}),flush=True) + quiet=quiet+1 if not strict else 0 + if quiet>=2 or (not strict and not changed):break + + groups=defaultdict(list);roles=[] + for call in order: + s,rep=call;t=calls[call]['time'] + for h,(g,w) in current[call].items(): + orp,ch,port=g + z={'child':ch,'copy':orp*V+port,'family':families[g],'helper':h,'offset':0, + 'owner_replica':orp,'port':port,'replica':rep,'stage':s,'time':t,'width':w} + roles.append(z);groups[g].append(z) + for g,zs in groups.items(): + off=0 + for z in sorted(zs,key=lambda z:(z['time'],z['helper'])):z['offset']=off;off+=z['width'] + assert off==used[g]<=caps[g] + roles.sort(key=lambda z:(z['time'],z['helper'])) + cells,_=audit_roles(roles,plan,widths,V,R) + for z in roles: + active=max(0,(z['stage']-1)//2) + assert not (z['owner_replica']==z['replica'] and plan['pairs'][str(z['child'])]==active) + for g in caps:assert len(cells[g])==used[g] + remainder=[] + for g in caps: + left=caps[g]-used[g] + if left: + rep,ch,port=g + remainder.append({'child':ch,'port':port,'replica':rep,'replicas':1,'family':families[g], + 'rank':left,'hosted':used[g],'pending_offset':used[g]}) + profile=dict(sorted(total_profile().items()));assert M*M>2*max(profile)**2 + raw=packed(roles);compressed=bytearray(gzip.compress(raw,mtime=0));compressed[9]=255 + (a.out/'OWNERS.json.gz').write_bytes(bytes(compressed)) + (a.out/'MAJORIZATION.json.gz').write_bytes(gzip.compress(packed(moves),mtime=0)) + (a.out/'REMAINDERS.json').write_text(json.dumps(remainder,indent=2)+'\n') + (a.out/'PROFILE.json').write_text(json.dumps(profile,indent=2)+'\n') + fields={'profile':profile,'per_call_widths':[{'stage':s,'replica':r,'widths':widths[s,r]} for s,r in order], + 'assignment_sha256':hashlib.sha256(raw).hexdigest(),'assignment_sha256_semantics':'SHA256 sorted-key compact uncompressed OWNERS array', + 'source_owners_sha256':sha(a.owners),'provider_signatures':sig} + (a.out/'PLAN-OWNER-FIELDS.json').write_text(json.dumps(fields,indent=2)+'\n') + receipt={'status':'PASS_EXPANDED_OWNER_MATCHING_EXACT_COMBINATORICS_PENDING_GLOBAL_ADMISSION', + 'source_plan':str(a.plan),'source_plan_sha256':sha(a.plan),'source_owners':str(a.owners),'source_owners_sha256':sha(a.owners), + 'owners_sha256':sha(a.out/'OWNERS.json.gz'),'source_signatures':sig, + 'roles':len(roles),'calls':len(order),'unchanged_call_order_and_windows':True, + 'all_families_idle_and_outside_active_data':True,'one_helper_per_family_per_call':True, + 'all_footprints_disjoint_compacted_prefixes':True,'integer_majorization_steps':sum(z['equal_width_multiset'] for z in moves), + 'majorization_sha256':sha(a.out/'MAJORIZATION.json.gz'),'matching_rounds':rounds, + 'global_profile':profile,'rank_mass':sum(r*n for r,n in profile.items()),'deficit':2560, + 'remainder_profile':dict(sorted(idle_profile().items())),'maxchild':max(profile), + 'candidate_floating_screen_b':rate(profile,2560,M),'seconds':time.monotonic()-beg, + 'remaining_admission':'Fresh native-provider bindings, actual 73-column owner charts, independent full controller audit, finite invoice, exact moment and outer assembly.'} + (a.out/'EXPANDED-OWNER-REUSE.json').write_text(json.dumps(receipt,indent=2)+'\n') + print(json.dumps({k:receipt[k] for k in ('status','roles','remainder_profile','rank_mass','candidate_floating_screen_b','seconds')},indent=2),flush=True) + + +if __name__=='__main__':main() diff --git a/research/gauge44-slots-t16/hosting/frozen/FROZEN-AUDIT.json b/research/gauge44-slots-t16/hosting/frozen/FROZEN-AUDIT.json new file mode 100644 index 0000000000..5f95552366 --- /dev/null +++ b/research/gauge44-slots-t16/hosting/frozen/FROZEN-AUDIT.json @@ -0,0 +1,57 @@ +{ + "roles": 35424, + "calls": 72, + "fixed_point_calls_checked": 72, + "remainder_profile": { + "1": 85, + "2": 76, + "3": 173, + "7": 7, + "8": 6, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + }, + "global_profile": { + "1": 181093, + "2": 29164, + "3": 32429, + "4": 11520, + "5": 4032, + "7": 7, + "8": 582, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + }, + "rank_mass": 520704, + "deficit": 2560, + "maxchild": 48, + "all_footprints_disjoint_compacted_prefixes": true, + "all_helper_families_idle_and_outside_active_data": true, + "one_helper_per_physical_family_per_call": true, + "every_call_optimal_for_every_concave_remainder_cost": true, + "global_optimality_claimed": false, + "status": "PASS_FROZEN_HOSTING_AND_ALL_72_CALLWISE_FIXED_POINTS", + "parent_plan_sha256": "258a8b9baa245fa4096828671e2f1d1462b5af08d56890629622ef6125eaddda", + "parent_owners_sha256": "935ff1a6823c6625daba3349b28d74acf9a3d70a5947ae155aa66c7821804add", + "owners_semantic_sha256": "c09faf298565c1388c02370fdd4e61dd542579fe1898e842d5096cc97b68191d", + "majorization_semantic_sha256": "9ed3fdb41fb8dbc6542de7701c78bb8f3bb728604057daf82a537bde182ab9fc", + "stored_integer_majorization_steps": 288, + "majorization_replay": "reproduce.py re-executes every step; this audit separately checks the final fixed point.", + "remaining_scope": "The package global verifier checks fresh local algebra, phases, windows, invoice, moment, and outer assembly." +} diff --git a/research/gauge44-slots-t16/hosting/frozen/MAJORIZATION.json.gz b/research/gauge44-slots-t16/hosting/frozen/MAJORIZATION.json.gz new file mode 100644 index 0000000000..047b1cfb67 Binary files /dev/null and b/research/gauge44-slots-t16/hosting/frozen/MAJORIZATION.json.gz differ diff --git a/research/gauge44-slots-t16/hosting/frozen/MANIFEST.json b/research/gauge44-slots-t16/hosting/frozen/MANIFEST.json new file mode 100644 index 0000000000..291005722c --- /dev/null +++ b/research/gauge44-slots-t16/hosting/frozen/MANIFEST.json @@ -0,0 +1,114 @@ +{ + "schema": "gauge44-hosting-frozen-v1", + "parent_pr": 635, + "parent_paths": { + "plan": "research/complex-571-cold14-st2/data/PLAN.json", + "owners": "research/complex-571-cold14-st2/data/OWNERS.json.gz" + }, + "parent_plan_sha256": "258a8b9baa245fa4096828671e2f1d1462b5af08d56890629622ef6125eaddda", + "parent_owners_sha256": "935ff1a6823c6625daba3349b28d74acf9a3d70a5947ae155aa66c7821804add", + "artifacts": { + "OWNERS.json.gz": { + "sha256": "90ff7657a23dcfb67532b49c0800c5fc259b27c89005081e24bf184869e1bd57", + "semantic_sha256": "c09faf298565c1388c02370fdd4e61dd542579fe1898e842d5096cc97b68191d" + }, + "SEED-OWNERS.json.gz": { + "sha256": "eb3be5eebbb84349d7e7f1bde2fc77772a12ad5bccc6dab7c4efd8d903e2a048", + "semantic_sha256": "beea695aa2e1ab973ad53f475b3e3e9cf6d0f8a9bca2033a445b64f3b3484e34" + }, + "MAJORIZATION.json.gz": { + "sha256": "ec5f94b13d190d72bc0608dc9fe2498cc43ba9deb05028159a812ec1e4dcacdf", + "semantic_sha256": "9ed3fdb41fb8dbc6542de7701c78bb8f3bb728604057daf82a537bde182ab9fc" + } + }, + "new_provider": { + "R": 492, + "h": 9, + "v": 112, + "width_histogram": { + "4": 52, + "5": 48, + "7": 34, + "8": 114, + "9": 244 + }, + "width_sum": 3794, + "profile": { + "1": 2514, + "2": 404, + "3": 448, + "4": 160, + "5": 56, + "8": 8 + }, + "rank_mass": 5650, + "raw_word_sha256": "3ef4e74e81e2f4621fc95272918ac7b8bb8858df0baa16cc6d91424d55aead9e", + "canonical_word_sha256": "92941c2b718b533f1d3addb710d261a6e2b9ec5d19f0051d79775b08cb2571ed", + "local_programs_sha256": "172dc3d23e437909ddc01d07b12ede735afbb5bb6145f1ddf5c2e03097dfebe2", + "width_vector_sha256": "b7fbefdb3af3942194ac9314c767c7812bd68adb734d4e00b70b2916bdb55de8" + }, + "seed_discovery": { + "provider_replaced": "jp8", + "unchanged_provider": "ck", + "passes": 2, + "price_b": 0.001638923, + "python": "3.12.14", + "numpy": "2.3.5", + "scipy": "1.17.0", + "note": "Only seed discovery uses floating-point Hungarian costs. Frozen seed and the expanded exact replay require the Python standard library." + }, + "expanded_replay": { + "providers_replaced": [ + "jp8", + "ck" + ], + "max_passes": 8, + "actual_passes": 4, + "integer_majorization_steps": 288, + "changed_width_bootstrap_calls": 1 + }, + "global_profile": { + "1": 181093, + "2": 29164, + "3": 32429, + "4": 11520, + "5": 4032, + "7": 7, + "8": 582, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + }, + "remainder_profile": { + "1": 85, + "2": 76, + "3": 173, + "7": 7, + "8": 6, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + }, + "live": 7168, + "roles": 35424, + "calls": 72, + "rank_mass": 520704, + "deficit": 2560, + "maxchild": 48, + "candidate_floating_screen_b": 0.0016522089943684115, + "screening_only": "The floating rate here is not a certified exponent. Exact supplier and outer admission belong to the package verifier." +} diff --git a/research/gauge44-slots-t16/hosting/frozen/MATCHING-RECEIPT.json b/research/gauge44-slots-t16/hosting/frozen/MATCHING-RECEIPT.json new file mode 100644 index 0000000000..993331090c --- /dev/null +++ b/research/gauge44-slots-t16/hosting/frozen/MATCHING-RECEIPT.json @@ -0,0 +1,1205 @@ +{ + "status": "PASS_EXPANDED_OWNER_MATCHING_EXACT_COMBINATORICS_PENDING_GLOBAL_ADMISSION", + "source_plan": "explicit parent PLAN, with a temporary signature-only seed view for expanded replay", + "source_plan_sha256": "0d2b6a12d3450cfb78e556e80d34cabb8cd1a7f8aa85c1a712a5177236672a37", + "source_owners": "frozen/SEED-OWNERS.json.gz", + "source_owners_sha256": "eb3be5eebbb84349d7e7f1bde2fc77772a12ad5bccc6dab7c4efd8d903e2a048", + "owners_sha256": "90ff7657a23dcfb67532b49c0800c5fc259b27c89005081e24bf184869e1bd57", + "source_signatures": { + "ck": { + "widths": [ + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 9, + 8, + 9, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ], + "profile": { + "1": 2514, + "4": 160, + "8": 8, + "3": 448, + "2": 404, + "5": 56 + }, + "source": "supplied new provider (raw or independently checked native)", + "canonical_sha256": "92941c2b718b533f1d3addb710d261a6e2b9ec5d19f0051d79775b08cb2571ed", + "program_sha256": "172dc3d23e437909ddc01d07b12ede735afbb5bb6145f1ddf5c2e03097dfebe2" + }, + "jp8": { + "widths": [ + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 9, + 8, + 9, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ], + "profile": { + "1": 2514, + "4": 160, + "8": 8, + "3": 448, + "2": 404, + "5": 56 + }, + "source": "supplied new provider (raw or independently checked native)", + "canonical_sha256": "92941c2b718b533f1d3addb710d261a6e2b9ec5d19f0051d79775b08cb2571ed", + "program_sha256": "172dc3d23e437909ddc01d07b12ede735afbb5bb6145f1ddf5c2e03097dfebe2" + } + }, + "roles": 35424, + "calls": 72, + "unchanged_call_order_and_windows": true, + "all_families_idle_and_outside_active_data": true, + "one_helper_per_family_per_call": true, + "all_footprints_disjoint_compacted_prefixes": true, + "integer_majorization_steps": 288, + "majorization_sha256": "ec5f94b13d190d72bc0608dc9fe2498cc43ba9deb05028159a812ec1e4dcacdf", + "matching_rounds": [ + { + "pass": "bootstrap", + "changed_provider_calls": [ + [ + 2, + 0 + ] + ], + "floating_b": 0.0016448741407332063, + "remainder_profile": { + "1": 87, + "2": 111, + "3": 191, + "4": 160, + "5": 1, + "6": 2, + "7": 50, + "8": 127, + "10": 3, + "11": 23, + "12": 25, + "13": 1, + "14": 5, + "15": 9, + "16": 107, + "18": 1, + "19": 10, + "20": 15, + "23": 2, + "24": 52, + "32": 1, + "44": 1, + "48": 2221 + } + }, + { + "pass": 1, + "strictly_improved_calls": 70, + "changed_helper_owners": 1245, + "floating_b": 0.0016518485664379205, + "remainder_profile": { + "1": 83, + "2": 92, + "3": 167, + "4": 10, + "6": 3, + "7": 9, + "8": 13, + "11": 4, + "12": 11, + "15": 1, + "16": 35, + "24": 1, + "28": 7, + "32": 57, + "44": 11, + "48": 2284 + } + }, + { + "pass": 2, + "strictly_improved_calls": 41, + "changed_helper_owners": 169, + "floating_b": 0.0016521846143978994, + "remainder_profile": { + "1": 83, + "2": 80, + "3": 171, + "7": 7, + "8": 6, + "12": 14, + "16": 33, + "19": 1, + "20": 2, + "24": 2, + "28": 3, + "32": 61, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + } + }, + { + "pass": 3, + "strictly_improved_calls": 8, + "changed_helper_owners": 13, + "floating_b": 0.0016522089943684115, + "remainder_profile": { + "1": 85, + "2": 76, + "3": 173, + "7": 7, + "8": 6, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + } + }, + { + "pass": 4, + "strictly_improved_calls": 0, + "changed_helper_owners": 0, + "floating_b": 0.0016522089943684115, + "remainder_profile": { + "1": 85, + "2": 76, + "3": 173, + "7": 7, + "8": 6, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + } + } + ], + "global_profile": { + "1": 181093, + "2": 29164, + "3": 32429, + "4": 11520, + "5": 4032, + "7": 7, + "8": 582, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + }, + "rank_mass": 520704, + "deficit": 2560, + "remainder_profile": { + "1": 85, + "2": 76, + "3": 173, + "7": 7, + "8": 6, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + }, + "maxchild": 48, + "candidate_floating_screen_b": 0.0016522089943684115, + "remaining_admission": "Fresh native-provider bindings, actual 73-column owner charts, independent full controller audit, finite invoice, exact moment and outer assembly.", + "provenance_note": "Absolute discovery paths and wall time removed; original artifact hashes and all exact combinatorial fields preserved." +} diff --git a/research/gauge44-slots-t16/hosting/frozen/OWNERS.json.gz b/research/gauge44-slots-t16/hosting/frozen/OWNERS.json.gz new file mode 100644 index 0000000000..e9c7cfc72d Binary files /dev/null and b/research/gauge44-slots-t16/hosting/frozen/OWNERS.json.gz differ diff --git a/research/gauge44-slots-t16/hosting/frozen/REPRODUCTION.json b/research/gauge44-slots-t16/hosting/frozen/REPRODUCTION.json new file mode 100644 index 0000000000..8ad59712b2 --- /dev/null +++ b/research/gauge44-slots-t16/hosting/frozen/REPRODUCTION.json @@ -0,0 +1,29 @@ +{ + "status": "PASS_FROZEN_OWNER_AND_INTEGER_MAJORIZATION_REPLAY", + "seed_mode": "included_frozen_seed", + "parent_plan_sha256": "258a8b9baa245fa4096828671e2f1d1462b5af08d56890629622ef6125eaddda", + "parent_owners_sha256": "935ff1a6823c6625daba3349b28d74acf9a3d70a5947ae155aa66c7821804add", + "owners_semantic_sha256": "c09faf298565c1388c02370fdd4e61dd542579fe1898e842d5096cc97b68191d", + "owners_gzip_sha256": "90ff7657a23dcfb67532b49c0800c5fc259b27c89005081e24bf184869e1bd57", + "majorization_semantic_sha256": "9ed3fdb41fb8dbc6542de7701c78bb8f3bb728604057daf82a537bde182ab9fc", + "global_profile": { + "1": 181093, + "2": 29164, + "3": 32429, + "4": 11520, + "5": 4032, + "7": 7, + "8": 582, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + }, + "scope": "Exact hosting nomination and callwise fixed-point replay; full supplier admission is separate." +} diff --git a/research/gauge44-slots-t16/hosting/frozen/SEED-OWNERS.json.gz b/research/gauge44-slots-t16/hosting/frozen/SEED-OWNERS.json.gz new file mode 100644 index 0000000000..d61916a156 Binary files /dev/null and b/research/gauge44-slots-t16/hosting/frozen/SEED-OWNERS.json.gz differ diff --git a/research/gauge44-slots-t16/hosting/frozen/SEED-RECEIPT.json b/research/gauge44-slots-t16/hosting/frozen/SEED-RECEIPT.json new file mode 100644 index 0000000000..82911f647b --- /dev/null +++ b/research/gauge44-slots-t16/hosting/frozen/SEED-RECEIPT.json @@ -0,0 +1,1537 @@ +{ + "status": "PASS_OWNER_REUSE_NOMINATION_COMBINATORICS_NOT_FULL_SUPPLIER_ADMISSION", + "source_plan": "explicit parent PLAN", + "source_plan_sha256": "258a8b9baa245fa4096828671e2f1d1462b5af08d56890629622ef6125eaddda", + "source_owners_sha256": "935ff1a6823c6625daba3349b28d74acf9a3d70a5947ae155aa66c7821804add", + "owners_sha256": "eb3be5eebbb84349d7e7f1bde2fc77772a12ad5bccc6dab7c4efd8d903e2a048", + "unchanged_owner_family_sets": true, + "unchanged_call_order_and_windows": true, + "all_footprints_are_disjoint_compacted_prefixes": true, + "local_signatures": { + "ck": { + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 9, + 9, + 9, + 9, + 9, + 4, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 9, + 9, + 9, + 9, + 9, + 4, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 9, + 9, + 9, + 9, + 9, + 4, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ], + "profile": { + "1": 2600, + "2": 552, + "3": 304, + "4": 164, + "5": 70, + "6": 4, + "8": 8 + }, + "source": "inherited parent PLAN signature" + }, + "jp8": { + "widths": [ + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 9, + 8, + 9, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ], + "profile": { + "1": 2514, + "2": 404, + "3": 448, + "4": 160, + "5": 56, + "8": 8 + }, + "source": "supplied new provider (raw or independently checked native)", + "source_sha256": "3ef4e74e81e2f4621fc95272918ac7b8bb8858df0baa16cc6d91424d55aead9e" + } + }, + "sorted_initial_dominance": { + "(0, 0)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(0, 1)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(1, 0)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(0, 2)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(1, 1)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(2, 0)": { + "old_total": 3854, + "new_total": 3854, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(0, 3)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(1, 2)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(2, 1)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(3, 0)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(0, 4)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(1, 3)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(2, 2)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(3, 1)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(4, 0)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(0, 5)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(1, 4)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(2, 3)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(3, 2)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(4, 1)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(5, 0)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(0, 6)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(1, 5)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(2, 4)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(3, 3)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(4, 2)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(5, 1)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(0, 7)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(6, 0)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(1, 6)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(2, 5)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(3, 4)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(4, 3)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(5, 2)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(6, 1)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(1, 7)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(7, 0)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(2, 6)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(3, 5)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(4, 4)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(5, 3)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(6, 2)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(7, 1)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(2, 7)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(8, 0)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(3, 6)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(4, 5)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(5, 4)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(6, 3)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(7, 2)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(8, 1)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(3, 7)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(4, 6)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(5, 5)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(6, 4)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(7, 3)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(8, 2)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(4, 7)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(5, 6)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(6, 5)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(7, 4)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(8, 3)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(5, 7)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(6, 6)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(7, 5)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(8, 4)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(6, 7)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(7, 6)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(8, 5)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(7, 7)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(8, 6)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(8, 7)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + } + }, + "matching_passes": [ + { + "pass": "sorted", + "touched_group_idle_pressure": 44.06409529228022, + "calls_awaiting_capacity_matching": 0 + }, + { + "pass": 1, + "accepted_calls": 71, + "touched_group_idle_pressure": 24.92521223381306, + "decrease": 19.13888305846716 + }, + { + "pass": 2, + "accepted_calls": 58, + "touched_group_idle_pressure": 23.047886627886065, + "decrease": 1.8773256059269947 + } + ], + "roles": 35424, + "calls": 72, + "remainder_children": 3197, + "remainder_profile": { + "1": 83, + "2": 99, + "3": 197, + "4": 168, + "5": 6, + "6": 13, + "7": 16, + "8": 145, + "10": 4, + "11": 24, + "12": 19, + "13": 1, + "14": 3, + "15": 9, + "16": 107, + "18": 1, + "19": 10, + "20": 15, + "23": 2, + "24": 52, + "32": 1, + "44": 1, + "48": 2221 + }, + "global_profile": { + "1": 181177, + "2": 29335, + "3": 32309, + "4": 11692, + "5": 4052, + "6": 17, + "7": 16, + "8": 721, + "10": 4, + "11": 24, + "12": 19, + "13": 1, + "14": 3, + "15": 9, + "16": 107, + "18": 1, + "19": 10, + "20": 15, + "23": 2, + "24": 52, + "32": 1, + "44": 1, + "48": 2221 + }, + "rank_mass": 520704, + "deficit": 2560, + "maxchild": 48, + "source_floating_screen_b": 0.001638923175694355, + "candidate_floating_screen_b": 0.0016446065186552388, + "remaining_admission": "Bind freshly verified provider artifacts and their hashes; regenerate the global template, actual 73-column sigmas and remainder axes with the existing emitter; run independent owner/frame audit, finite invoice, and exact moment/outer assembly.", + "provenance_note": "Absolute discovery paths and wall time removed; original artifact hashes and all exact combinatorial fields preserved." +} diff --git a/research/gauge44-slots-t16/hosting/frozen/SEED-REPRODUCTION.json b/research/gauge44-slots-t16/hosting/frozen/SEED-REPRODUCTION.json new file mode 100644 index 0000000000..91ee98cf70 --- /dev/null +++ b/research/gauge44-slots-t16/hosting/frozen/SEED-REPRODUCTION.json @@ -0,0 +1,29 @@ +{ + "status": "PASS_FROZEN_OWNER_AND_INTEGER_MAJORIZATION_REPLAY", + "seed_mode": "two_pass_hungarian_discovery_rebuilt", + "parent_plan_sha256": "258a8b9baa245fa4096828671e2f1d1462b5af08d56890629622ef6125eaddda", + "parent_owners_sha256": "935ff1a6823c6625daba3349b28d74acf9a3d70a5947ae155aa66c7821804add", + "owners_semantic_sha256": "c09faf298565c1388c02370fdd4e61dd542579fe1898e842d5096cc97b68191d", + "owners_gzip_sha256": "90ff7657a23dcfb67532b49c0800c5fc259b27c89005081e24bf184869e1bd57", + "majorization_semantic_sha256": "9ed3fdb41fb8dbc6542de7701c78bb8f3bb728604057daf82a537bde182ab9fc", + "global_profile": { + "1": 181093, + "2": 29164, + "3": 32429, + "4": 11520, + "5": 4032, + "7": 7, + "8": 582, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + }, + "scope": "Exact hosting nomination and callwise fixed-point replay; full supplier admission is separate." +} diff --git a/research/gauge44-slots-t16/hosting/reproduce.py b/research/gauge44-slots-t16/hosting/reproduce.py new file mode 100644 index 0000000000..2f29a5ff13 --- /dev/null +++ b/research/gauge44-slots-t16/hosting/reproduce.py @@ -0,0 +1,100 @@ +"""Reproduce the frozen all-cold44 owner nomination from explicit inputs. + +By default, replay the exact integer optimizer from the included frozen seed. +--rebuild-seed additionally repeats the original two floating-cost Hungarian +discovery passes; that optional route requires NumPy and SciPy. +""" +from pathlib import Path +from collections import Counter +import argparse +import copy +import json +import shutil +import subprocess +import sys + +from audit_frozen import HERE, add_inputs, bound_inputs, semantic_sha +from reuse_owners import audit_roles, read, sha + + +def run(name, *args): + subprocess.run([sys.executable, str(HERE/name), *map(str, args)], check=True) + + +def seed_plan(parent, seed_owners, new_signature): + """Build a signature-only resizer input; never an admitted provider PLAN.""" + plan = copy.deepcopy(parent) + plan['provider_registry']['jp8']['widths'] = new_signature['widths'] + plan['provider_registry']['jp8']['actual_paid_profile'] = new_signature['profile'] + call_widths = { + (c['stage'], c['replica']): plan['provider_registry'][c['provider']]['widths'] + for c in plan['provider_calls'] + } + used, families = audit_roles(seed_owners, plan, call_widths, 112, 492) + profile = Counter() + for c in plan['provider_calls']: + profile.update({int(r): n for r, n in plan['provider_registry'][c['provider']]['actual_paid_profile'].items()}) + for key, (cap, times) in plan['windows'].items(): + rep, child = map(int, key.split(',')) + for port in range(112): + left = cap-len(used[rep, child, port]) + if left: + profile[left] += 1 + assert 73*7168-sum(r*n for r, n in profile.items()) == 2560 + plan['profile'] = dict(sorted(profile.items())) + plan['per_call_widths'] = [ + {'stage': s, 'replica': r, 'widths': call_widths[s, r]} + for s, r in plan['order'] + ] + plan['status'] = 'INTERMEDIATE_SIGNATURE_ONLY_OWNER_SEED_NOT_PROVIDER_ADMISSION' + return plan + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + add_inputs(parser) + parser.add_argument('--rebuild-seed', action='store_true') + parser.add_argument('--out', type=Path, required=True, help='New output directory') + args = parser.parse_args() + manifest = read(HERE/'frozen/MANIFEST.json') + parent, sig, provider = bound_inputs(args, manifest) + args.out.mkdir(parents=True, exist_ok=False) + seed_dir = args.out/'seed' + if args.rebuild_seed: + run('reuse_owners.py', '--plan', args.parent_plan, '--owners', args.parent_owners, + '--signature', f'jp8={provider}', '--passes', '2', '--price-b', '0.001638923', '--out', seed_dir) + else: + seed_dir.mkdir() + shutil.copyfile(HERE/'frozen/SEED-OWNERS.json.gz', seed_dir/'OWNERS.json.gz') + assert semantic_sha(seed_dir/'OWNERS.json.gz') == manifest['artifacts']['SEED-OWNERS.json.gz']['semantic_sha256'], ( + 'Seed differs; use the default frozen-seed replay, or the recorded NumPy/SciPy versions for discovery replay.' + ) + plan = seed_plan(parent, read(seed_dir/'OWNERS.json.gz'), sig) + plan_path = seed_dir/'PLAN-FOR-RESIZER.json' + plan_path.write_text(json.dumps(plan, indent=2)+'\n') + final_dir = args.out/'all72' + run('expand_owners.py', '--plan', plan_path, '--owners', seed_dir/'OWNERS.json.gz', + '--signature', f'jp8={provider}', '--signature', f'ck={provider}', + '--max-passes', '8', '--out', final_dir) + for name in ('OWNERS.json.gz', 'MAJORIZATION.json.gz'): + assert semantic_sha(final_dir/name) == manifest['artifacts'][name]['semantic_sha256'], (name, 'Frozen semantic digest mismatch') + kwargs = ('--local44', args.local44) if args.local44 is not None else ('--raw-word', args.raw_word) + run('audit_frozen.py', '--parent-plan', args.parent_plan, '--parent-owners', args.parent_owners, + *kwargs, '--owners', final_dir/'OWNERS.json.gz', '--majorization', final_dir/'MAJORIZATION.json.gz', + '--out', args.out/'FROZEN-AUDIT.json') + receipt = { + 'status': 'PASS_FROZEN_OWNER_AND_INTEGER_MAJORIZATION_REPLAY', + 'seed_mode': 'two_pass_hungarian_discovery_rebuilt' if args.rebuild_seed else 'included_frozen_seed', + 'parent_plan_sha256': sha(args.parent_plan), 'parent_owners_sha256': sha(args.parent_owners), + 'owners_semantic_sha256': semantic_sha(final_dir/'OWNERS.json.gz'), + 'owners_gzip_sha256': sha(final_dir/'OWNERS.json.gz'), + 'majorization_semantic_sha256': semantic_sha(final_dir/'MAJORIZATION.json.gz'), + 'global_profile': read(final_dir/'PROFILE.json'), + 'scope': 'Exact hosting nomination and callwise fixed-point replay; full supplier admission is separate.', + } + (args.out/'REPRODUCTION.json').write_text(json.dumps(receipt, indent=2)+'\n') + print(json.dumps(receipt, indent=2)) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-slots-t16/hosting/reuse_owners.py b/research/gauge44-slots-t16/hosting/reuse_owners.py new file mode 100644 index 0000000000..234b831790 --- /dev/null +++ b/research/gauge44-slots-t16/hosting/reuse_owners.py @@ -0,0 +1,230 @@ +"""Deterministic existing-family owner reuse and optional callwise matching. + +The output is a nomination, requiring the ordinary independent owner, phase, +finite-invoice, and exact-moment admission. No MILP or new owner family is used. +""" +from collections import Counter, defaultdict +from pathlib import Path +import argparse +import copy +import gzip +import hashlib +import json +import math +import time + + +def read(path): + raw=Path(path).read_bytes() + return json.loads(gzip.decompress(raw) if str(path).endswith('.gz') else raw) + + +def packed(obj):return json.dumps(obj,sort_keys=True,separators=(',',':')).encode() +def sha(path):return hashlib.sha256(Path(path).read_bytes()).hexdigest() + + +def signature(path): + path=Path(path) + if path.is_dir(): + w=read(path/'CANONICAL-WORD.json.gz');V,R=w['v'],w['R'] + widths=[len(w['frames'][w['final'][2*V+h]])-len(w['frames'][w['start'][2*V+h]]) for h in range(R)] + programs=read(path/'LOCAL-PROGRAMS.json.gz') + profiles=[Counter(e[-1] for e in programs[o] if e[0] in ('climb','center')) for o in ('forward','backward')] + assert profiles[0]==profiles[1] + assert profiles[0]=={int(r):n for r,n in w['local_profile'].items()} + return {'widths':widths,'profile':dict(profiles[0]),'source':str(path), + 'canonical_sha256':sha(path/'CANONICAL-WORD.json.gz'), + 'program_sha256':sha(path/'LOCAL-PROGRAMS.json.gz')} + w=read(path) + if 'report' in w: + V,R=w['report']['v'],w['report']['R'] + widths=[len(w.get('helper_final',{}).get(str(2*V+h),range(9)))-len(w.get('start_extra',{}).get(str(2*V+h),[])) for h in range(R)] + profile={int(r):n for r,n in w['report']['local_profile'].items()} + else: + widths=w['widths'];profile={int(r):n for r,n in w['profile'].items()} + return {'widths':widths,'profile':profile,'source':str(path),'source_sha256':sha(path)} + + +def phi(rank,b,M):return rank*math.expm1(b*math.log(M/rank)) if rank else 0. + + +def rate(profile,deficit,M): + lo,hi=0.,.02 + for _ in range(58): + mid=(lo+hi)/2 + if sum(n*phi(r,mid,M) for r,n in profile.items())oldroles[i]['width']] + if failures: + # Keep this call's old widths provisionally; shrunk calls leave + # slack on their original owner families. A subsequent exact + # bipartite matching may use that slack for this call. + pending.append(call) + for i in ids:assigned_h[i]=oldroles[i]['helper'];assigned_w[i]=oldroles[i]['width'] + else: + for h,i in zip(helpers,slots):assigned_h[i]=h;assigned_w[i]=newwidths[call][h] + dominance[str(call)]={'old_total':sum(oldwidths[call]),'new_total':sum(newwidths[call]),'sorted_termwise_dominance':not failures,'failed_positions':failures} + used={g:sum(assigned_w[i] for i in ids) for g,ids in groups.items()} + assert all(used[g]<=cap[g] for g in groups) + cost_cache=[phi(r,a.price_b,M) for r in range(49)] + def current_cost():return sum(cost_cache[cap[g]-used[g]] for g in groups) + passes=[{'pass':'sorted','touched_group_idle_pressure':current_cost(),'calls_awaiting_capacity_matching':len(pending)}] + + if a.passes or pending: + import numpy as np + from scipy.optimize import linear_sum_assignment + def match_call(call,force=False): + ids=sorted(bycall[call],key=lambda i:oldroles[i]['helper']) + gs=[group_of[i] for i in ids] + assert len(set(gs))==R, 'one owner family per complete call is essential' + available=np.array([cap[g]-used[g]+assigned_w[i] for i,g in zip(ids,gs)],dtype=np.int64) + ws=np.array(newwidths[call],dtype=np.int64) + left=available[None,:]-ws[:,None] + matrix=np.full((R,R),np.inf) + valid=left>=0 + matrix[valid]=np.asarray(cost_cache)[left[valid]] + ri,ci=linear_sum_assignment(matrix) + assert len(ri)==R and np.all(np.isfinite(matrix[ri,ci])) + oldcost=sum(cost_cache[cap[g]-used[g]] for g in gs) + newcost=float(matrix[ri,ci].sum()) + if not force: + assert newcost<=oldcost+1e-10 + if oldcost-newcost<=1e-10:return False + for h,col in zip(ri,ci): + i=ids[int(col)];g=group_of[i];h=int(h);ww=int(ws[h]) + used[g]+=ww-assigned_w[i];assigned_w[i]=ww;assigned_h[i]=h + assert used[g]<=cap[g] + return True + for call in pending: + match_call(call,force=True) + dominance[str(call)]['capacity_matching_feasible']=True + if pending:passes.append({'pass':'capacity_bootstrap','touched_group_idle_pressure':current_cost(),'resolved_calls':[list(c) for c in pending]}) + for p in range(a.passes): + accepted=0;startcost=current_cost() + order=[tuple(k) for k in plan['order']] + if p%2:order.reverse() + for call in order: + accepted+=match_call(call) + finalcost=current_cost();assert finalcost<=startcost+1e-9 + passes.append({'pass':p+1,'accepted_calls':accepted,'touched_group_idle_pressure':finalcost,'decrease':startcost-finalcost}) + + # The inherited compiler requires each used coordinate set to be a + # prefix. Stable left compaction preserves every immutable owner field. + roles=copy.deepcopy(oldroles);matching=[] + for g,ids in groups.items(): + off=0 + for i in sorted(ids,key=lambda i:(oldroles[i]['offset'],oldroles[i]['time'],oldroles[i]['helper'])): + z=roles[i];z['helper']=assigned_h[i];z['width']=assigned_w[i];z['offset']=off;off+=z['width'] + matching.append({'stage':z['stage'],'replica':z['replica'],'old_helper':oldroles[i]['helper'], + 'new_helper':z['helper'],'old_width':oldroles[i]['width'],'new_width':z['width'], + 'family':z['family'],'child':z['child'],'old_offset':oldroles[i]['offset'],'new_offset':z['offset']}) + assert off==used[g]<=cap[g] + roles.sort(key=lambda z:(z['time'],z['helper'])) + newused,newfamilies=audit_roles(roles,plan,newwidths,V,R) + assert newfamilies==oldfamilies + paid=Counter();remainders=[] + for c in plan['provider_calls']:paid.update(signatures[c['provider']]['profile']) + idle=Counter() + for key,(capacity,window) in plan['windows'].items(): + rep,ch=map(int,key.split(',')) + for port in range(V): + occupied=len(newused[rep,ch,port]);left=capacity-occupied + if left: + family=rep*(8*V)+(2*plan['pairs'][str(ch)]+plan['sides'][str(ch)])*V+port + remainders.append({'child':ch,'port':port,'replica':rep,'replicas':1,'family':family, + 'rank':left,'hosted':occupied,'pending_offset':occupied}) + idle[left]+=1 + paid.update(idle);mass=sum(r*n for r,n in paid.items()) + assert M*plan['live']-mass==plan['deficit']==2560 + assert M*M>2*max(paid)**2 + oldprofile={int(r):n for r,n in plan['profile'].items()} + ownerraw=packed(roles);gz=bytearray(gzip.compress(ownerraw,mtime=0));gz[9]=255 + (a.out/'OWNERS.json.gz').write_bytes(bytes(gz)) + (a.out/'MATCHING.json.gz').write_bytes(gzip.compress(packed(matching),mtime=0)) + (a.out/'REMAINDERS.json').write_text(json.dumps(remainders,indent=2)+'\n') + profile=dict(sorted(paid.items())) + (a.out/'PROFILE.json').write_text(json.dumps(profile,indent=2)+'\n') + owner_fields={'profile':profile, + 'per_call_widths':[{'stage':s,'replica':r,'widths':newwidths[s,r]} for s,r in plan['order']], + 'assignment_sha256':hashlib.sha256(ownerraw).hexdigest(), + 'assignment_sha256_semantics':'SHA256 of sorted-key compact uncompressed OWNERS array', + 'source_owners_sha256':sha(a.owners), + 'provider_signatures':signatures} + (a.out/'PLAN-OWNER-FIELDS.json').write_text(json.dumps(owner_fields,indent=2)+'\n') + rec={'status':'PASS_OWNER_REUSE_NOMINATION_COMBINATORICS_NOT_FULL_SUPPLIER_ADMISSION', + 'source_plan':str(a.plan),'source_plan_sha256':sha(a.plan),'source_owners_sha256':sha(a.owners), + 'owners_sha256':sha(a.out/'OWNERS.json.gz'),'unchanged_owner_family_sets':True, + 'unchanged_call_order_and_windows':True,'all_footprints_are_disjoint_compacted_prefixes':True, + 'local_signatures':signatures,'sorted_initial_dominance':dominance,'matching_passes':passes, + 'roles':len(roles),'calls':len(calls),'remainder_children':len(remainders),'remainder_profile':dict(sorted(idle.items())), + 'global_profile':profile,'rank_mass':mass,'deficit':2560,'maxchild':max(paid), + 'source_floating_screen_b':rate(oldprofile,2560,M), + 'candidate_floating_screen_b':rate(profile,2560,M), + 'seconds':time.monotonic()-beg, + 'remaining_admission':'Bind freshly verified provider artifacts and their hashes; regenerate the global template, actual 73-column sigmas and remainder axes with the existing emitter; run independent owner/frame audit, finite invoice, and exact moment/outer assembly.'} + (a.out/'OWNER-REUSE.json').write_text(json.dumps(rec,indent=2)+'\n') + print(json.dumps({k:rec[k] for k in ('status','roles','matching_passes','remainder_profile','rank_mass','source_floating_screen_b','candidate_floating_screen_b','seconds')},indent=2),flush=True) + + +if __name__=='__main__':main() diff --git a/research/gauge44-slots-t16/independent/CENTRE-GUARD-REVIEW.md b/research/gauge44-slots-t16/independent/CENTRE-GUARD-REVIEW.md new file mode 100644 index 0000000000..6c62bd070e --- /dev/null +++ b/research/gauge44-slots-t16/independent/CENTRE-GUARD-REVIEW.md @@ -0,0 +1,79 @@ +# Independent review of the centre and admission interfaces + +**Finding:** the replacement of old local centre-carrier IDs by equality of the +eight ordered centre-frame bases preserves the inherited global contract. It +must be used together with the complete local scalar, frame, phase and wrapper +admission. No mathematical admission guard was found to have been removed. + +## Why source carriers may supply centres + +The transported gauge44 centre carriers are +`[92, 57, 81, 224, 11, 240, 9, 256]`. Five are source registers and three are +helper registers. All 112 transported port labels and all eight ordered +rank-eight centre-frame bases agree exactly with the retained parent. The +optional `--main` check in `audit_local.py` independently verifies that boundary +against a byte-pinned parent canonical word. + +The actual forward local program copies the current row of `L_r` into private +`C_k` at their common frame `F_k`. It then descends `C_k` from `F_k` to frame +zero, scatters to the targets, and clears `C_k`. The backward program performs +the corresponding reversed ascent and scatter. This construction depends on +the copied row, its frame and the exact local program, rather than on a +requirement that `r` be in the helper-ID interval. The source itself is not +cleared or treated as private work. + +The independently checked local contract retains every required obligation: +all 716 input columns in both orientations; the forward and backward shear +identities; arbitrary initial helper dirt; scalar/COPY common-frame legality; +centre lifetimes and nested steps; exact native phase identities; endpoint +and row/column cone conditions; and residual wrappers before and after every +relevant touch. Its finite invoice recounts the actual operations. + +The global controller addresses private centres by `k`, while the source or +helper `L_r` is mapped through the complete invocation's ordinary owner array. +The owner audit retains pairwise distinct owners for all active source, target +and helper roles. A helper therefore cannot borrow the family of an active +source centre. The private-centre namespace is disjoint from those owners and +the local program clears it. Each whole invocation finishes before another +begins, so no new interleaving or family lifetime assumption is introduced. + +## Admission guards and single-provider controls + +An AST comparison with PR635 found all **91 assertions in `code/assemble.py` +identical, in the same traversal order**, including constants. This includes +the unchanged PR543 bit input, deficit and surcharge, every finite-invoice +guard, both conservative and native complex moment checks, and the strict +outer assembly and its controls. The following files retain the reviewed PR635 code (the packaged +`bind_providers_portable.py` only trims trailing whitespace): `invoice_allcold.py` (67 assertions), +`bind_providers_portable.py` (22), `generated_identity.py` (4), and `witness.py` +(3). `review_guards.py` reproduces the assertion comparison and records the +file hashes. + +The controller still checks the complete serialized provider registry, +per-call program and dispatch, native phase and wrapper bindings, helper +widths, owner uniqueness, actual busy-family windows, spectator orthogonality, +and literal idle remainders. The single-provider branch replaces partner +substitutions by direct invalid-ID, program, width and hash mutations. Only +four assembly mutation scenarios requiring a second registered provider are +inapplicable. Their removal does not remove any admission predicate. Direct +forged program/phase tests, width-order and width-inventory tests, and +selected-call/order tests remain. + +## Price and bit headroom + +The frozen all72 profile gives the native complex root bracket +`(0.001652208994368411824947, 0.001652208994368411824948)` and +`kappa = 0.001649483702558979`. Both independent rational engines certify the +two signs. The seven-step outer driver passes all 47 strict constraints and +rejects its four standard mutations. The conservative complex price passes +separately at `kappa = 0.001649483699681650`. + +The achieved complex rate is below PR543's retained bit rate +`0.001653826988146798944268`. Using eumemic's independently reviewed PR555 bit +rate `0.001733052823330162099157` gives exactly the same attained kappa. PR543 +therefore remains the cited supplier for this delta; no bit improvement is +claimed here and no PR555 implementation is bundled. + +These receipts supplement the package's complete native, owner, phase and +finite-invoice replay. The inherited all-size realization and analytic +transfer assumptions remain conditional. diff --git a/research/gauge44-slots-t16/independent/GAUGE-COLD44-INDEPENDENT-AUDIT.json b/research/gauge44-slots-t16/independent/GAUGE-COLD44-INDEPENDENT-AUDIT.json new file mode 100644 index 0000000000..771faa86a7 --- /dev/null +++ b/research/gauge44-slots-t16/independent/GAUGE-COLD44-INDEPENDENT-AUDIT.json @@ -0,0 +1,137 @@ +{ + "status": "PASS_INDEPENDENT_EXACT_FORWARD_AND_DUAL_ENDPOINT_FRAMES_ENTRANCES_CONES", + "input_file": "FULL-WORD.json.gz", + "content_sha256": "78c7aadacb6eec2eeecc124ca236e5bcfdba6a52b30c2971aaa596d1d119b290", + "compressed_sha256": "3ef4e74e81e2f4621fc95272918ac7b8bb8858df0baa16cc6d91424d55aead9e", + "parent_center_interface": { + "parent_path": "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/CANONICAL-WORD.json.gz", + "parent_file_sha256": "66d3c3c70983224650643a0a05a21ac6c6959f84d0f4528650601016f5a76844", + "transport_tau": 43, + "ordered_frame_bases_match": true, + "all_ports_match": true, + "transported_centers": [ + 92, + 57, + 81, + 224, + 11, + 240, + 9, + 256 + ], + "source_centers": [ + 92, + 57, + 81, + 11, + 9 + ], + "ordered_frame_bases": [ + [ + 256, + 128, + 64, + 34, + 16, + 10, + 4, + 1 + ], + [ + 256, + 128, + 64, + 32, + 16, + 8, + 5, + 3 + ], + [ + 256, + 128, + 64, + 32, + 17, + 9, + 4, + 2 + ], + [ + 256, + 128, + 64, + 36, + 20, + 8, + 2, + 1 + ], + [ + 256, + 128, + 66, + 32, + 18, + 8, + 4, + 1 + ], + [ + 256, + 128, + 65, + 33, + 17, + 9, + 5, + 3 + ], + [ + 256, + 128, + 65, + 33, + 16, + 8, + 4, + 2 + ], + [ + 256, + 128, + 68, + 32, + 16, + 12, + 2, + 1 + ] + ] + }, + "v": 112, + "h": 9, + "R": 492, + "entering": 204, + "lowends": 78, + "coldends": 44, + "compensation_gates": 7348, + "local_profile": { + "1": 2514, + "2": 404, + "3": 448, + "4": 160, + "5": 56, + "8": 8 + }, + "width_inventory": { + "4": 52, + "5": 48, + "7": 34, + "8": 114, + "9": 244 + }, + "checked_columns": 716, + "elapsed_seconds": 3.147683588000291, + "scope": "Exact rational full scalar map in both orientations; all literal native frame chains, center levels, dyadic units, entrance-zero response, wrapper exclusion and final helper row/column cones. No global owner admission or exponent repricing." +} diff --git a/research/gauge44-slots-t16/independent/GAUGE44-GLOBAL-GUARD-REVIEW.json b/research/gauge44-slots-t16/independent/GAUGE44-GLOBAL-GUARD-REVIEW.json new file mode 100644 index 0000000000..e2df1dcca8 --- /dev/null +++ b/research/gauge44-slots-t16/independent/GAUGE44-GLOBAL-GUARD-REVIEW.json @@ -0,0 +1,47 @@ +{ + "status": "PASS_PR635_ADMISSION_ASSERTION_PRESERVATION", + "files": [ + { + "file": "code/assemble.py", + "baseline_sha256": "1b1a9024ac910dc9b9d9e30150684e1fa9cb228a4c1c275b75ab04b57fdef1dd", + "new_sha256": "7ac28118d69416e4fb67b61216285fb0823310b7635ce1b9025aa3f10119ef6a", + "byte_identical": false, + "assert_count": 91, + "all_assertions_identical_in_order": true + }, + { + "file": "code/invoice_allcold.py", + "baseline_sha256": "141bd2fd58bbfb5b8d0fc8f56f61c45586d5608a5af3487c6b883dd987f998ec", + "new_sha256": "141bd2fd58bbfb5b8d0fc8f56f61c45586d5608a5af3487c6b883dd987f998ec", + "byte_identical": true, + "assert_count": 67, + "all_assertions_identical_in_order": true + }, + { + "file": "code/bind_providers_portable.py", + "baseline_sha256": "2eb5c262bf481b3bec9ceaec654fa46ff6fc3a89b13d4906a29a55a89e35feea", + "new_sha256": "2eb5c262bf481b3bec9ceaec654fa46ff6fc3a89b13d4906a29a55a89e35feea", + "byte_identical": true, + "assert_count": 22, + "all_assertions_identical_in_order": true + }, + { + "file": "code/generated_identity.py", + "baseline_sha256": "c8af22719c0f3097a991a3f6ccac8f090afd2faba554745733d9ea88f2c25708", + "new_sha256": "c8af22719c0f3097a991a3f6ccac8f090afd2faba554745733d9ea88f2c25708", + "byte_identical": true, + "assert_count": 4, + "all_assertions_identical_in_order": true + }, + { + "file": "code/witness.py", + "baseline_sha256": "00789c911a8f32cfe9d52207c7aa78305dc3fce4a8b6305ba402b7e74117103d", + "new_sha256": "00789c911a8f32cfe9d52207c7aa78305dc3fce4a8b6305ba402b7e74117103d", + "byte_identical": true, + "assert_count": 3, + "all_assertions_identical_in_order": true + } + ], + "centre_interface_review": "CENTRE-GUARD-REVIEW.md", + "scope": "Exact syntax preservation for all admission assertions in these five files. The changed emitter/controller centre boundary and single-provider controls require the separate semantic review; assertion counts alone do not prove them." +} diff --git a/research/gauge44-slots-t16/independent/GAUGE44-INDEPENDENT-PRICE.json b/research/gauge44-slots-t16/independent/GAUGE44-INDEPENDENT-PRICE.json new file mode 100644 index 0000000000..7aa86180dd --- /dev/null +++ b/research/gauge44-slots-t16/independent/GAUGE44-INDEPENDENT-PRICE.json @@ -0,0 +1,156 @@ +{ + "status": "PASS_FROZEN_PROFILE_TWO_EXACT_ENGINE_AND_OUTER47_CROSSCHECK", + "profile_input_file": "PLAN.json", + "profile_input_sha256": "7b3122026e82b9d9e964d2a50c7bffdc976ae3dfea64bb98b2fdad5cfbdbaa20", + "global_profile": { + "1": 174763, + "2": 30105, + "3": 30275, + "4": 12240, + "5": 4896, + "7": 54, + "8": 576, + "16": 23, + "48": 2419 + }, + "live": 7168, + "m": 73, + "rank_mass": 520704, + "deficit": 2560, + "prices": { + "native": { + "root": { + "lower": "0.001674185476674086429846", + "upper": "0.001674185476674086429847", + "lower_endpoint_residual_upper": "-9.258737006004892346173061244464039982798397391664878463422077941068021E-25", + "upper_endpoint_residual_lower": "2.005290772036567694936493754533147163786510359586083088453102073919377E-24", + "strict_rational_signs": true + }, + "exact_moments": [ + { + "endpoint": "837092738337043214923/500000000000000000000000", + "accept": true, + "mercator_residual": [ + "-24961505588706589063536270371864708160498115/26959946667150639794667015087019630673637144422540572481103610249216", + "-24961505588706589063536270371864708160498113/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "base_two_residual": [ + "-462937/500000000000000000000000000000", + "-925873/1000000000000000000000000000000" + ] + }, + { + "endpoint": "1674185476674086429847/1000000000000000000000000", + "accept": false, + "mercator_residual": [ + "54062532266235196619370246291034158858524675/26959946667150639794667015087019630673637144422540572481103610249216", + "54062532266235196619370246291034158858524677/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "base_two_residual": [ + "200529/100000000000000000000000000000", + "2005291/1000000000000000000000000000000" + ] + } + ], + "outer_with_bit": { + "complex_b": "837092738337043214923/500000000000000000000000", + "bit_c": "1733427039589844234749/1000000000000000000000000", + "kappa": "835693632195073/500000000000000000", + "kappa_decimal": "0.001671387264390146", + "binding": "complex", + "strict_constraints_passed": 47, + "controls_rejected": [ + "next_grid", + "zero_eta", + "zero_beta", + "unit_beta" + ] + } + }, + "conservative": { + "root": { + "lower": "0.001674185473814575474867", + "upper": "0.001674185473814575474868", + "lower_endpoint_residual_upper": "-4.932703074050864500363221905991238131757959051186123070698964701314504E-25", + "upper_endpoint_residual_lower": "2.437894165237372647986425295760776771093048289170590753978317997095726E-24", + "strict_rational_signs": true + }, + "exact_moments": [ + { + "endpoint": "1674185473814575474867/1000000000000000000000000", + "accept": true, + "mercator_residual": [ + "-6649270590065065997663222052892326679295837/13479973333575319897333507543509815336818572211270286240551805124608", + "-1662317647516266499415805513223081669823959/3369993333393829974333376885877453834204643052817571560137951281152" + ], + "base_two_residual": [ + "-246635539906040992121/500000000000000000000000000000000000000000000", + "-2466350399060409921139/5000000000000000000000000000000000000000000000" + ] + }, + { + "endpoint": "418546368453643868717/250000000000000000000000", + "accept": false, + "mercator_residual": [ + "65725496674957295861389862879254608557678601/26959946667150639794667015087019630673637144422540572481103610249216", + "65725496674957295861389862879254608557678603/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "base_two_residual": [ + "12189469601119396732213/5000000000000000000000000000000000000000000000", + "24378949202238793464567/10000000000000000000000000000000000000000000000" + ] + } + ], + "outer_with_bit": { + "complex_b": "1674185473814575474867/1000000000000000000000000", + "bit_c": "1733427039589844234749/1000000000000000000000000", + "kappa": "835693630770093/500000000000000000", + "kappa_decimal": "0.001671387261540186", + "binding": "complex", + "strict_constraints_passed": 47, + "controls_rejected": [ + "next_grid", + "zero_eta", + "zero_beta", + "unit_beta" + ] + } + } + }, + "bit_supplier_pr": 589, + "bit_deficit": 10272, + "bit_moments_with_surcharge": [ + { + "endpoint": "1733427039589844234749/1000000000000000000000000", + "accept": true, + "mercator_residual": [ + "-43100600330766044577088869872467188970742291/26959946667150639794667015087019630673637144422540572481103610249216", + "-43100600330766044577088869872467188970742289/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "base_two_residual": [ + "-799345163337715793503/500000000000000000000000000000000000000000000", + "-3197378653350863173989/2000000000000000000000000000000000000000000000" + ] + }, + { + "endpoint": "6933708158359376939/4000000000000000000000", + "accept": false, + "mercator_residual": [ + "22502934905675809315035333485365686073718547/13479973333575319897333507543509815336818572211270286240551805124608", + "5625733726418952328758833371341421518429637/3369993333393829974333376885877453834204643052817571560137951281152" + ], + "base_two_residual": [ + "8346798366759439729359/5000000000000000000000000000000000000000000000", + "16693606733518879458833/10000000000000000000000000000000000000000000000" + ] + } + ], + "gain_over_pr635_percent": "2.14795693544613460937516788041147829054201996498013663108098185775358537919", + "input_sha256": { + "research/complex-k492-owner-repair/vendor/multicold/engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "research/complex-k492-owner-repair/vendor/multicold/engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "research/complex-k492-owner-repair/vendor/multicold/engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "package:inputs/PR589-EXPECTED.json": "b9f0e5ca038abe837b0007c8fe006f366a6f02009244ac57705a8a200e2301f4" + }, + "scope": "Independent arithmetic for the exact nominated all72 profile. Complete local, controller and finite invoice admission are separately replayed by the package driver; this receipt does not replace them. The cited PR589 bit supplier is unchanged and its exceptional-residue surcharge is retained. Any alternative c is only a headroom comparison." +} diff --git a/research/gauge44-slots-t16/independent/README.md b/research/gauge44-slots-t16/independent/README.md new file mode 100644 index 0000000000..f97dcf81b1 --- /dev/null +++ b/research/gauge44-slots-t16/independent/README.md @@ -0,0 +1,43 @@ +# Independent checks + +Prepared for icekylinx with OpenAI GPT-6 Astra assistance. Apache-2.0, under the +package license. The scalar/frame audit imports no generator or supplier +checker. Pricing uses the pinned inherited rational engines and the retained +PR635 outer formula, with their original notices preserved in the main +dependency tree. + +From the delta package directory, using the pinned checkouts and a rebuilt +word: + +```sh +python independent/audit_local.py \ + --word /path/to/rebuild/cold44/FULL-WORD.json.gz \ + --main /path/to/main \ + --output /path/to/output/LOCAL-AUDIT.json + +python independent/price_profile.py \ + --main /path/to/main \ + --output /path/to/output/PRICE.json + +python independent/review_guards.py \ + --pr635 /path/to/pr635 \ + --output /path/to/output/GUARD-REVIEW.json +``` + +`audit_local.py` can run without `--main`; including it also verifies the +transported centre-frame and port boundary against the pinned parent. Its +receipt authenticates the supplied word by its content SHA256, independent +of its location. `price_profile.py` defaults to the package's `data/PLAN.json`; +`--profile` accepts another explicit profile for arithmetic only. The bit side is the cited merged PR589 supplier +(`inputs/PR589-EXPECTED.json`, git blob `e293ddc5…`); its rank-mass deficit +`T(2Kv - L*cst) = 32*(8*111 - 9*63) = 10272` is re-derived independently of +`code/assemble.py`, and the outer receipt key is `outer_with_bit`. The retained +`GAUGE44-INDEPENDENT-PRICE.json` is #645/PR543 historical evidence unless regenerated. The optional +`--headroom-c 0.001733052823330162099157` reproduces the unchanged-kappa +comparison with the reviewed PR555 rate without importing a second supplier. + +The retained receipts are `GAUGE-COLD44-INDEPENDENT-AUDIT.json`, +`GAUGE44-INDEPENDENT-PRICE.json`, and `GAUGE44-GLOBAL-GUARD-REVIEW.json`. +[CENTRE-GUARD-REVIEW.md](CENTRE-GUARD-REVIEW.md) gives the semantic argument +behind the changed centre boundary and the single-provider control branch. +The main package driver performs the separate complete global admission. diff --git a/research/gauge44-slots-t16/independent/audit_local.py b/research/gauge44-slots-t16/independent/audit_local.py new file mode 100644 index 0000000000..4744d8783c --- /dev/null +++ b/research/gauge44-slots-t16/independent/audit_local.py @@ -0,0 +1,171 @@ +"""Independent exact scalar/frame audit of the changed forward supplier. + +This does not import a generator, builder, stored compensation, or price. +All claimed endpoint matrices are derived from the input word's gates. +Optional --main checks the transported boundary against the pinned parent. +Prepared for icekylinx with OpenAI GPT-6 Astra assistance. Apache-2.0. +""" +import argparse,gzip,json,hashlib,time +from pathlib import Path +from fractions import Fraction as F +from collections import Counter + +def require(x,label): + if not x:raise RuntimeError(label) + +def basis(vs): + piv={} + for a in vs: + while a: + bit=a.bit_length()-1 + if bit in piv:a^=piv[bit] + else: + piv[bit]=a;break + for k in sorted(piv): + for j in piv: + if j>k and piv[j]>>k&1:piv[j]^=piv[k] + return tuple(piv[k] for k in sorted(piv,reverse=True)) + +def contained(a,b):return basis(a+b)==b + +def registers(e):return e[1:3] if e[0]=='add' else e[1:2] + +def apply(e,rows,dual=False): + if e[0]=='add': + t,s=e[1:3];q=F(e[3],e[4]);require(t!=s,'self add') + if dual:t,s,q=s,t,-q + dst=rows[t] + for k,x in list(rows[s].items()): + a=dst.get(k,F(0))+q*x + if a:dst[k]=a + else:dst.pop(k,None) + elif e[0]=='scale': + t=e[1];q=F(e[2],e[3]);require(q!=0,'zero scale') + if dual:q=1/q + rows[t]={k:q*x for k,x in rows[t].items()} + else:raise RuntimeError('unknown scalar primitive') + +def invert(e): + r=list(e) + if r[0]=='add':r[3]=-r[3] + else:r[2],r[3]=r[3],r[2] + return r + +def check_parent_interface(word,main): + # Read only the retained boundary data. No builder or local checker is imported. + relative="research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/CANONICAL-WORD.json.gz" + path=main/relative;raw=path.read_bytes() + require(hashlib.sha256(raw).hexdigest()=="66d3c3c70983224650643a0a05a21ac6c6959f84d0f4528650601016f5a76844",'parent canonical input pin') + parent=json.loads(gzip.decompress(raw)) + tau=lambda x:x^(43 if (x&43).bit_count()%2 else 0) + ports=parent['ports'];v=word['report']['v'] + require(len(ports)==len(set(ports))==v,'parent port count') + require(set(map(tau,word['ports']))==set(ports),'transported source/target ports') + moved={i:ports.index(tau(p)) for i,p in enumerate(word['ports'])} + centers=[moved.get(r,r) for r in word['centers']] + actual=[list(basis([tau(x) for x in frame])) for frame in word['center_frames']] + expected=[parent['frames'][f] for f in parent['center_frames']] + require(len(centers)==len(set(centers))==len(actual)==8,'eight distinct centre carriers') + require(actual==expected and all(len(f)==8 for f in actual),'ordered centre frame interface') + return dict(parent_path=relative,parent_file_sha256=hashlib.sha256(raw).hexdigest(), + transport_tau=43,ordered_frame_bases_match=True,all_ports_match=True, + transported_centers=centers,source_centers=[r for r in centers if r=2*v} + for e in w['precondition']:apply(e,dirt) + compensation=[['add',y,k,-a.numerator,a.denominator,[]] for y in range(v,2*v) for k,a in sorted(dirt[y].items())] + entering=set(map(int,w.get('start_extra',{})));lowends=set(map(int,w.get('helper_final',{}))) + coldends=lowends-entering + require(not any(e[2] in entering for e in compensation),'nonzero entrance response') + require(not any(r in entering|coldends for e in w['precondition']+compensation for r in registers(e)), 'pre-wrapper touch of residual helper') + require(all(e[-1]==[] for e in w['precondition']+compensation),'nonzero frame precondition') + early=w.get('early_cleanup',[]);earlyids={i for i,U in early} + require(len(earlyids)==len(early),'duplicate early cleanup gate') + tail=[w['cleanup'][i][:-1]+[U] for i,U in early] + cleanup=[e for i,e in enumerate(w['cleanup']) if i not in earlyids] + prefix=w['precondition']+compensation+main + program=prefix+tail+cleanup + for dual in (False,True): + actual=ident() + for e in program:apply(e,actual,dual) + expected=ident() + for t in range(v):expected[t if dual else v+t][v+t if dual else t]=F(-1 if dual else 1) + bad=[i for i in range(n) if actual[i]!=expected[i]] + require(not bad,'all-column endpoint failure '+str((dual,bad[:8]))) + print('endpoint', 'dual' if dual else 'forward','PASS',flush=True) + full=basis([1< 2*max(H)**2, 'halving guard') + rows = [] + for z, accept in [(lower, True), (lower+Q(1, 10**24), False)]: + l, u = M.moment(H, m, W, z, bad) + ll, uu = B.moment(m, W, list(H.items()), z) + if bad: + fl, fu = B.moment(m, W, [(1, 32*m*m*sum(H.values()))], z) + ll, uu = ll+fl/10**16, uu+fu/10**16 + require((u < 1 and uu < 1) if accept else (l > 1 and ll > 1), 'two exact moment signs') + rows.append(dict(endpoint=str(z), accept=accept, + mercator_residual=[str(l-1), str(u-1)], + base_two_residual=[str(ll-1), str(uu-1)])) + return rows + + +def outer47(c, b, engine): + eta = beta = Q(1, 10**24) + s = min(c, (1-beta)*b)-Q(1, 10**27) + require(0 < s < c and s < (1-beta)*b, 'strict common saving') + a = Q(384599, 10**10) + for _ in range(7): + old = a + a = (1-s)*s+s*old + gap = min(s-a, 1-a-s, 1-a-s*(1-old), 1-s) + require(old < a < s < 1-a and gap > 0, 'bootstrap gap') + ceil = lambda x: -(-x.numerator//x.denominator) + cut = max(ceil(36/gap**2), ceil(2*(4+512)/gap)) + require(cut*gap**2 >= 36 and cut*gap >= 2*(4+512), 'finite bootstrap cutoff') + q = a*(1-2*eta) + margin = (1-eta)*q/(1+q) + ticks = margin*10**18 + k = Q((ticks.numerator-1)//ticks.denominator, 10**18) + bridge = {'semantic': {'C0': {'base': 2, 'exponent': 210000}, 'strict_literal_gap': 1}, + 'rows': {'degree_gap': Q(10**6)-Q(51*20161, 25)}} + result = engine.assembly(a, b, bridge, k, eta=eta, beta=beta) + require(len(result['strict_constraints']) == 47, '47 outer constraints') + require(all(x > 0 for x in result['strict_constraints'].values()), 'strict outer constraints') + rejected = [] + for name, kk, ee, be in [('next_grid', k+Q(1, 10**18), eta, beta), + ('zero_eta', k, Q(0), beta), ('zero_beta', k, eta, Q(0)), + ('unit_beta', k, eta, Q(1))]: + try: + engine.assembly(a, b, bridge, kk, eta=ee, beta=be) + except AssertionError: + rejected.append(name) + else: + raise RuntimeError('accepted negative control: '+name) + return dict(complex_b=str(b), bit_c=str(c), kappa=str(k), kappa_decimal=decimal(k), + binding='bit' if c < (1-beta)*b else 'complex', + strict_constraints_passed=47, controls_rejected=rejected) + + +def main(): + require(__debug__, 'Do not use python -O: the retained outer engine requires assertions') + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--main', type=Path, required=True, help='Pinned main checkout') + parser.add_argument('--profile', type=Path, default=HERE.parent/'data/PLAN.json', + help='Raw profile or a JSON object containing profile/global_profile') + parser.add_argument('--output', type=Path, required=True) + parser.add_argument('--headroom-c', help='Optional alternative bit saving, for comparison only') + args = parser.parse_args() + inputs = json.loads((HERE.parent/'data/UPSTREAM-PINS.json').read_text()) + selected = [SOURCE/'engines'/(n+'.py') for n in ('moment', 'base_two_moment', 'outer')] + for relative in selected: + require(sha(args.main/relative) == inputs[relative.as_posix()], 'pinned input '+str(relative)) + M, B, A = [load(args.main/SOURCE/'engines', n) for n in ('moment', 'base_two_moment', 'outer')] + supplied = json.loads(args.profile.read_text()) + H = {int(r): n for r, n in supplied.get('profile', supplied.get('global_profile', supplied)).items()} + bit_data = BIT_PATH.read_bytes() + require(hashlib.sha1(b'blob '+str(len(bit_data)).encode()+b'\0'+bit_data).hexdigest() == BIT_BLOB, 'PR589 blob pin') + record = json.loads(bit_data) + bit = record['nine'] + require('nine-stage' in bit['pipeline'] and '32 replicas' in bit['pipeline'], 'nine-stage bit record') + bit_deficit = pr589_deficit(record['word'], bit['bit']['live']) + require(sum(int(r)*n for r, n in bit['profile'].items()) == bit['bit']['rank_mass'], 'bit rank mass') + c = Q(bit['bit_lower']) + bit_checks = moment_checks(M, B, {int(r): n for r, n in bit['profile'].items()}, + 64, bit['bit']['live'], c, bit_deficit, True) + prices = {} + for mode, bad in [('native', False), ('conservative', True)]: + root = M.certify(H, 73, 7168, bad) + root = {key: root[key] for key in ('lower', 'upper', 'lower_endpoint_residual_upper', + 'upper_endpoint_residual_lower', 'strict_rational_signs')} + b = Q(root['lower']) + row = dict(root=root, exact_moments=moment_checks(M, B, H, 73, 7168, b, 2560, bad), + outer_with_bit=outer47(c, b, A)) + if args.headroom_c: + alternate = outer47(Q(args.headroom_c), b, A) + require(alternate['kappa'] == row['outer_with_bit']['kappa'], 'headroom comparison changed kappa') + row.update(outer_with_alternative_bit_rate=alternate, same_kappa_with_either_bit_rate=True) + prices[mode] = row + native_k = Q(prices['native']['outer_with_bit']['kappa']) + result = dict(status='PASS_FROZEN_PROFILE_TWO_EXACT_ENGINE_AND_OUTER47_CROSSCHECK', + profile_input_file=args.profile.name, profile_input_sha256=sha(args.profile), + global_profile=H, live=7168, m=73, rank_mass=sum(r*n for r, n in H.items()), deficit=2560, + prices=prices, bit_supplier_pr=589, bit_deficit=bit_deficit, bit_moments_with_surcharge=bit_checks, + gain_over_pr635_percent=decimal(100*(native_k/Q('0.001636241501576388')-1)), + input_sha256={**{relative.as_posix(): sha(args.main/relative) for relative in selected}, 'package:inputs/PR589-EXPECTED.json': sha(BIT_PATH)}, + scope='Independent arithmetic for the exact nominated all72 profile. Complete local, controller and finite invoice admission are separately replayed by the package driver; this receipt does not replace them. The cited PR589 bit supplier is unchanged and its exceptional-residue surcharge is retained. Any alternative c is only a headroom comparison.') + args.output.write_text(json.dumps(result, indent=2)+'\n') + print(result['status'], prices['native']['outer_with_bit']['kappa_decimal'], result['gain_over_pr635_percent']) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-slots-t16/independent/review_guards.py b/research/gauge44-slots-t16/independent/review_guards.py new file mode 100644 index 0000000000..086dcf3d11 --- /dev/null +++ b/research/gauge44-slots-t16/independent/review_guards.py @@ -0,0 +1,46 @@ +"""Reproduce the assertion-preservation part of the independent guard review. + +This compares complete assertion ASTs in their traversal order. It supplements +the semantic centre-interface argument in CENTRE-GUARD-REVIEW.md. +Prepared for icekylinx with OpenAI GPT-6 Astra assistance. Apache-2.0. +""" +import argparse +import ast +import hashlib +import json +from pathlib import Path + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--pr635', type=Path, required=True, help='Pinned PR635 checkout or supplier directory') + parser.add_argument('--delta', type=Path, default=Path(__file__).resolve().parents[1]) + parser.add_argument('--output', type=Path, required=True) + args = parser.parse_args() + old = args.pr635 + if not (old/'code/assemble.py').exists(): + old = old/'research/complex-571-cold14-st2' + names = ['assemble.py', 'invoice_allcold.py', 'bind_providers_portable.py', + 'generated_identity.py', 'witness.py'] + records = [] + for name in names: + a, b = (old/'code'/name).read_bytes(), (args.delta/'code'/name).read_bytes() + assertions = lambda data: [ast.dump(n, include_attributes=False) for n in ast.walk(ast.parse(data)) + if isinstance(n, ast.Assert)] + aa, bb = assertions(a), assertions(b) + if aa != bb: + raise RuntimeError('Assertion sequence changed: '+name) + records.append(dict(file='code/'+name, baseline_sha256=hashlib.sha256(a).hexdigest(), + new_sha256=hashlib.sha256(b).hexdigest(), byte_identical=a == b, + assert_count=len(aa), all_assertions_identical_in_order=True)) + if records[0]['assert_count'] != 91: + raise RuntimeError('The expected PR635 assembly has 91 assertions') + result = dict(status='PASS_PR635_ADMISSION_ASSERTION_PRESERVATION', files=records, + centre_interface_review='CENTRE-GUARD-REVIEW.md', + scope='Exact syntax preservation for all admission assertions in these five files. The changed emitter/controller centre boundary and single-provider controls require the separate semantic review; assertion counts alone do not prove them.') + args.output.write_text(json.dumps(result, indent=2)+'\n') + print(result['status'], [r['assert_count'] for r in records]) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-slots-t16/inputs/PR589-EXPECTED.json b/research/gauge44-slots-t16/inputs/PR589-EXPECTED.json new file mode 100644 index 0000000000..e293ddc557 --- /dev/null +++ b/research/gauge44-slots-t16/inputs/PR589-EXPECTED.json @@ -0,0 +1,222 @@ +{ + "word": { + "file": "tune/bitE8mut-p111-tuned.json.gz", + "file_sha256": "e3e301e62bc2b41dbf1ceac0acf3d35824ebeab1848c5a2142d4577b109da52f", + "content_sha256": "5642fd0e35a1acc11acff8d0c08350c1617e95f310d4d35ad63a651f9eeeba0b", + "v": 111, + "R": 439, + "punctured": [ + 10, + 15, + 51, + 53, + 56, + 66, + 72, + 89, + 111 + ], + "retained_totals": 9, + "copy_ranks": [ + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7 + ], + "decoder_constant": 63, + "gates": { + "D": 111, + "A": 2075, + "B": 712, + "C": 2574 + }, + "local_histogram": { + "1": 1323, + "2": 1342, + "3": 79, + "4": 44, + "5": 102, + "6": 11, + "7": 19 + }, + "legality": { + "records": 27234, + "common_frame_ADDs": 24305, + "rank_mass": 5129 + }, + "five_stage_columns": 883, + "five_stage_payload_bits": 93, + "nine_stage_columns": 1327, + "nine_stage_payload_bits": 93, + "eleven_stage_columns": 1549, + "eleven_stage_payload_bits": 93, + "base_content_sha256": "d0df3c89ae84989f4045ba1681a5e2e9fcdfa38ed0301c8abf5185537155cbe3" + }, + "interface": { + "hypotheses": { + "H1_no_target_feeds_z": true, + "H2_D_frame0_targets_from_helpers": true, + "H3_A_z_only_scatter_targets_B_split": true, + "H4_C_literal_reverse_at_full": true, + "H5_V_identity": true + }, + "conclusion": { + "U_block_form": true, + "J_identity": true, + "K_equals_D": true, + "C_is_U_inverse": true + }, + "interleaving": { + "z_gates_A": 2075, + "source_writes_A": 0, + "z_gates_B": 499, + "source_writes_B": 483, + "helper_writes_B": 16, + "sources_rewritten_B": 108, + "B_z_write_frame_dims": { + "4": 388, + "6": 111 + }, + "B_z_operand_kinds": { + "helper<-helper": 3, + "helper<-source": 13, + "source<-helper": 108, + "source<-source": 375 + }, + "B_z_operand_kinds_by_dim": { + "dim4:helper<-source": 13, + "dim4:source<-source": 375, + "dim6:helper<-helper": 3, + "dim6:source<-helper": 108 + }, + "B_z_writes_after_a_target_read_of_the_same_register": 454, + "B_target_reads_of_registers_rewritten_earlier_in_B": 111, + "target_reads_of_targets": 0, + "cleanup_gates": 2574 + } + }, + "nine": { + "pipeline": "PR #510 (PR #463 nine-stage template, 32 replicas, PR #442 hosting, PR #493 outer assembly), parameterised for v <= 120 by code/adapt9p.py", + "bit_lower": "1733427039589844234749/1000000000000000000000000", + "bit_lower_decimal": "0.001733427039589844234749", + "profile": { + "1": 381024, + "2": 400416, + "3": 22752, + "4": 26880, + "5": 29376, + "6": 17376, + "7": 26784, + "42": 288 + }, + "bit": { + "live": 28416, + "physical": 28425, + "maxchild": 42, + "rank_mass": 1808352, + "hosted_residuals": 126432, + "bank_assignments": 0, + "prefix_bits": 177, + "charged_prefix_bits": 192, + "coefficient_bits": 177, + "two_level_coefficient_bits": 393, + "charged_two_level_coefficient_bits": 512, + "row_coefficient": 18355, + "halving_depth": 2 + }, + "kappa": { + "pr548": { + "kappa": "49718254847979/31250000000000000", + "kappa_decimal": "0.001590984155135328", + "complex_lower": "796759709641153381751/500000000000000000000000", + "binding_component": "complex" + }, + "pr544": { + "kappa": "397677800014309/250000000000000000", + "kappa_decimal": "0.001590711200057236", + "complex_lower": "31864911873350496687/20000000000000000000000", + "binding_component": "complex" + }, + "pr535": { + "kappa": "793733736881443/500000000000000000", + "kappa_decimal": "0.001587467473762886", + "complex_lower": "1589991533606044174031/1000000000000000000000000", + "binding_component": "complex" + }, + "pr531": { + "kappa": "1517760977820331/1000000000000000000", + "kappa_decimal": "0.001517760977820331", + "complex_lower": "304013615566499291631/200000000000000000000000", + "binding_component": "complex" + } + } + }, + "eleven": { + "pipeline": "PR #493 (PR #445 geometry, PR #472 emitter, audit and invoice, PR #442 hosting), parameterised by PR #545's code/adapt.py", + "bit_lower": "855475950388791987811/500000000000000000000000", + "bit_lower_decimal": "0.001710951900777583975622", + "profile": { + "1": 116424, + "2": 121648, + "3": 6952, + "4": 7424, + "5": 8976, + "6": 4520, + "7": 8776, + "56": 2600 + }, + "bit": { + "live": 8880, + "physical": 8889, + "maxchild": 56, + "rank_mass": 689304, + "hosted_residuals": 38632, + "prefix_bits": 4304, + "charged_prefix_bits": 4352, + "coefficient_bits": 4304, + "three_level_coefficient_bits": 12966, + "charged_three_level_coefficient_bits": 12992, + "row_coefficient": 19431, + "halving_depth": 3 + }, + "emitted_program_sha256": "793b6f40c9aa4b8db57fec0ac0973e16884dae28707e482ee8f7a2349a5d5a4b", + "kappa": { + "pr548": { + "kappa": "49718254847979/31250000000000000", + "kappa_decimal": "0.001590984155135328", + "complex_lower": "796759709641153381751/500000000000000000000000", + "binding_component": "complex" + }, + "pr544": { + "kappa": "397677800014309/250000000000000000", + "kappa_decimal": "0.001590711200057236", + "complex_lower": "31864911873350496687/20000000000000000000000", + "binding_component": "complex" + }, + "pr535": { + "kappa": "793733736881443/500000000000000000", + "kappa_decimal": "0.001587467473762886", + "complex_lower": "1589991533606044174031/1000000000000000000000000", + "binding_component": "complex" + }, + "pr531": { + "kappa": "1517760977820331/1000000000000000000", + "kappa_decimal": "0.001517760977820331", + "complex_lower": "304013615566499291631/200000000000000000000000", + "binding_component": "complex" + } + } + }, + "base": { + "nine_bit_lower": "1733052823330162099157/1000000000000000000000000", + "nine_bit_lower_decimal": "0.001733052823330162099157", + "eleven_bit_lower": "427652201524503168379/250000000000000000000000", + "eleven_bit_lower_decimal": "0.001710608806098012673516", + "note": "PR #555's EXPECTED.json (untuned word); the tune/ pipeline is the same, with the same frozen hosting selections" + } +} diff --git a/research/gauge44-slots-t16/t16/NOTICE.md b/research/gauge44-slots-t16/t16/NOTICE.md new file mode 100644 index 0000000000..403f4afffb --- /dev/null +++ b/research/gauge44-slots-t16/t16/NOTICE.md @@ -0,0 +1,39 @@ +# Attribution and license + +Apache-2.0. New construction and integration: Hao Yan (@FanPUYen), 2026. +Prepared with substantial OpenAI Codex assistance, including separately tasked +AI agents for owner construction, independent mathematical/code checking and +native verification. These are not claims of independent human peer review. + +The exact local supplier is Jeremy Kothe's accepted PR799 X4 word, layered on +Chafik Boukhalfa's PR741 frame changes and PR685 owner construction. Chafik's +PR795 fixed-inventory optimality result motivated changing the replica count. +The original owner bytes, scalar program, local frame and width inventory, +native phase and wrapper implementations retain their existing authorship. + +Credit icekylinx for the source gauge and supplier/admission pipeline; +DreamingOfClouds for the PR589 bit transport and inherited cold-end work; +eumemic for the PR555 bit supplier and earlier supplier work; Rohan Arun for +the native exact-complex recurrence correction; Jeremy Diviney, jaymosley07, +and the other retained owner/allocation contributors; and the complete +PR514/PR484/PR507/PR558 controller, physical hosting and verification lineage. +This list is cumulative credit, not approval of every claim in those PRs. + +All original notices and licenses remain in the referenced source packages: + +- `research/gauge44-frames-x/{NOTICE,UPSTREAM-NOTICE}.md` +- `research/complex-sw4-frame8/PROVENANCE.md` +- `research/e8-bit-p111-tuned/tune/README.md` +- the repository `CONTRIBUTORS.md` and source-package licenses. + +The verifier copies pinned global source files into an external replay +directory and applies an explicit checked edit list. Original attribution +comments are preserved in those generated derivatives. No original source +file or historical certificate is rewritten. + +The optional ancestry-reuse coverage guard addresses the omission issue +identified by Lucas (@ljste) in PR838 and the related PR847 integration by +Chinmay (@chinmayarvind23). Its fixed inventories were read from the accepted +PR741 source; no pending implementation is imported. Charles Bethin's +concurrent PR850 strengthens the fixed-inventory owner-profile theorem and +was checked for overlap before publication; that inventory is changed here. diff --git a/research/gauge44-slots-t16/t16/build_parent.py b/research/gauge44-slots-t16/t16/build_parent.py new file mode 100644 index 0000000000..bd9e28bd2d --- /dev/null +++ b/research/gauge44-slots-t16/t16/build_parent.py @@ -0,0 +1,281 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 Hao Yan (@FanPUYen) +"""Lift the PR741 controller and PR799 provider plan to sixteen replicas. + +Authored with OpenAI Codex assistance. Precursor credit: the PR514/PR484/PR507 +controller lineage, PR558/PR589 admission, Chafik Boukhalfa's PR741 frames +and owner map, and Jeremy Kothe's PR799 paired-read-exchange provider. +This script changes only the global replica namespace and the nominated owner +map; it reuses the exact local programs and exact data-phase recipes. +""" +import argparse +import copy +import gzip +import hashlib +import json +from collections import Counter +from pathlib import Path + +SOURCE_PLAN_SHA256 = '5f40e7ccfca61f298539b4f41286d2a9d62caf947057f9cec82aa53f73f707fd' +SOURCE_OWNERS_SHA256 = '99d1c4caf85855c353d30f122d9efbd9e51562914facded13027f347b18a6082' + + +def require(condition, reason): + if not condition: + raise ValueError(reason) + + +def read(path): + raw = Path(path).read_bytes() + return json.loads(gzip.decompress(raw) if str(path).endswith('.gz') else raw) + + +def canonical(value): + return json.dumps(value, sort_keys=True, separators=(',', ':')).encode() + + +def portable_gzip(raw): + compressed = bytearray(gzip.compress(raw, mtime=0)) + compressed[9] = 255 # RFC1952 OS=unknown, independent of zlib/Python platform. + return bytes(compressed) + + +def sha(path): + return hashlib.sha256(Path(path).read_bytes()).hexdigest() + + +def content_sha(value): + return hashlib.sha256(canonical(value)).hexdigest() + + +def lift_parent(source, copies=2): + """A direct sum of bank/data stocks; erased private streams are shared. + + copies=1 is deliberately the identity, byte-for-byte after canonicalization. + The helper routes retain replica lanes 0..7 in each *separate* bank group. + No axis index is inferred from the new global replica label 8..15. + """ + require(type(copies) is int and copies in (1, 2), 'only identity or T16 lift') + t = copy.deepcopy(source) + if copies == 1: + return t + require(source['m'] == 73, 'source dimension') + require(len(source['calls']) == 72, 'source calls') + data = 8*8*112 + bank_stock = source['live'] - data + private_stock = source['physical'] - source['live'] + require((bank_stock, private_stock) == (9*504, 504+8+2), 'source namespace') + require({(c['stage'], c['replica']) for c in source['calls']} == + {(s, r) for s in range(9) for r in range(8)}, 'source coverage') + new_data = copies*data + new_live = copies*source['live'] + new_physical = new_live + private_stock + t['calls'] = [] + for c in source['calls']: + for group in range(copies): + new = copy.deepcopy(c) + new['replica'] = c['replica'] + 8*group + owners = [] + for family, route in c['owners']: + require(0 <= family < source['live'], 'owner outside live stock') + mapped = (family + data*group if family < data else + new_data + group*bank_stock + family - data) + owners.append([mapped, copy.deepcopy(route)]) + new['owners'] = owners + t['calls'].append(new) + # Every data/idle recipe is a portwise direct sum, hence only multiplicity + # changes. Its local axis labels and exact phase words stay unchanged. + for child in t['idle_children']: + require(child['replicas'] == 8, 'source idle multiplicity') + child['replicas'] *= copies + for event in t['execution_schedule']: + if 'replicas' in event: + require(event['replicas'] == list(range(8)), 'source sweep replicas') + event['replicas'] = list(range(8*copies)) + if event['kind'] == 'bank_padding_cover_sweep': + event['families'] = [new_data, new_live] + elif event['kind'] == 'translate_every_live_family': + event['families'] = [0, new_live] + event['charged_calls_per_cover'] = new_live + t['bank_padding']['families'] = [] + t['bank_padding']['children'] = [] + for group in range(copies): + for family in source['bank_padding']['families']: + t['bank_padding']['families'].append(new_data + group*bank_stock + family - data) + for child in source['bank_padding']['children']: + new = copy.deepcopy(child) + new['family'] = new_data + group*bank_stock + child['family'] - data + t['bank_padding']['children'].append(new) + t['cover_final_correction'].update(families=[0, new_live], charged_calls_per_cover=new_live) + t['private_namespace'] = { + key: [new_live + x - source['live'] for x in interval] + for key, interval in source['private_namespace'].items() + } + t.update(live=new_live, physical=new_physical, + version='t16-direct-sum-two-bank-groups-parent-v1') + t['route_semantics']['helper'] = ( + 'Two independent groups of nine dedicated banks. Group floor(replica/8) ' + 'selects the bank namespace; the stored original helper route retains ' + 'lane replica%8. All original residual/spectator axes are unchanged.') + t['loop_order'] = ( + 'For each recipe phase: the explicit calls order, then every cover class d; ' + 'each local invocation completes before the next. Each original replica ' + 'has a disjoint data and bank namespace in its group; private erased ' + 'streams are reused between completed calls.') + t['replica_lift'] = dict( + source_template_content_sha256=content_sha(source), groups=copies, + source_replicas=8, replicas=8*copies, data_stock=new_data, + bank_stock=copies*bank_stock, banks_per_stage=copies*504, + private_helpers=504, local_programs_content_sha256=content_sha(source['local_programs']), + construction='direct sum of data and dedicated banks; share only restored private streams', + phase_recipe_unchanged=True) + # Source data and helper owner routes are preserved literally in each copy. + for c in t['calls']: + group, replica = divmod(c['replica'], 8) + old = next(z for z in source['calls'] if (z['stage'], z['replica']) == (c['stage'], replica)) + require([r for f, r in c['owners']] == [r for f, r in old['owners']], 'route changed') + require(c['window'] == old['window'], 'local window changed') + require(len({f for f, r in c['owners']}) == len(c['owners']), 'per-call owner alias') + require(t['local_programs'] == source['local_programs'], 'program changed') + require(t['recipe'] == source['recipe'], 'data recipe changed') + require(len(t['bank_padding']['children']) == copies*bank_stock, 'bank padding count') + require(t['physical'] == t['live']+514, 'private namespace size') + return t + + +def expanded_schedule(parent, order): + blocks = {} + globals_ = [] + stage = None + for index, event in enumerate(parent['execution_schedule']): + if event['kind'] in ('bank_padding_cover_sweep', 'translate_every_live_family'): + globals_.append((index, event)) + continue + if event['kind'] == 'local_cover_sweep': + stage = event['stage'] + blocks[stage] = [] + require(stage is not None, 'event precedes first stage') + blocks[stage].append((index, event)) + schedule = [] + for time, (stage, replica) in enumerate(order): + for index, event in blocks[stage]: + new = copy.deepcopy(event) + new.update(source_event=index, replica=replica, replicas=[replica], time=time) + schedule.append(new) + for index, event in globals_: + schedule.append(dict(event, source_event=index)) + return schedule + + +def actual_windows(parent, order): + ranks = {c['child']: c['rank'] for c in parent['idle_children']} + stage_pair = {e['stage']: e['pair'] for e in parent['recipe'] if e['kind'] == 'local'} + last, intervals, callpos, perrep = {}, {}, {}, {} + schedule = expanded_schedule(parent, order) + for pos, event in enumerate(schedule): + if 'replica' not in event: + continue + replica = event['replica'] + perrep.setdefault(replica, []).append(event['source_event']) + if event['kind'] == 'local_cover_sweep': + last[replica, stage_pair[event['stage']]] = pos + callpos[event['time']] = pos + elif event['kind'] == 'bridge': + last[replica, event['src']] = last[replica, event['dst']] = pos + elif event['kind'] == 'idle_cover_sweep': + for child in event['child_indices']: + if child in ranks: + intervals[replica, child] = (last.get((replica, event['pair']), -1), pos) + require(all(events == list(range(30)) for events in perrep.values()), 'per-replica projection') + require([e['source_event'] for e in schedule if 'replica' not in e] == [30, 31], 'global tail') + require(set(callpos) == set(range(len(order))), 'complete schedule') + windows = {f'{replica},{child}': [ranks[child], [time for time, pos in sorted(callpos.items()) if start < pos < stop]] + for (replica, child), (start, stop) in intervals.items()} + return windows, schedule + + +def lift_plan(source, parent, owners, source_plan_sha, source_owners_sha, owners_sha): + p = copy.deepcopy(source) + require(source['T'] == 8 and len(source['order']) == 72, 'source plan dimensions') + order = [[stage, replica + 8*group] for stage, replica in source['order'] for group in range(2)] + windows, schedule = actual_windows(parent, order) + # These windows are recomputed from actual source-event touches, not copied + # from the old nomination. Their T8 restriction must recover the old plan. + rank = Counter({int(k): 2*v for k, v in source['profile'].items()}) + rank.update({48: 1, 44: -1, 3: -2, 2: 1}) + rank = +rank + p.update(status='FROZEN_EXPLICIT_T16_TWO_BANK_DIRECT_SUM_OWNER_NOMINATION', + mode='gauge44-all144-t16-idle-concentration', T=16, live=14336, + deficit=5120, profile=dict(sorted(rank.items())), order=order, windows=windows, + solver_status='explicit two-role augmenting path and two-bin recombination', gap=None, + source_plan_sha256=source_plan_sha, source_owners_sha256=source_owners_sha, + assignment_sha256=owners_sha, assignment_content_sha256=content_sha(owners)) + for field in ('provider_calls', 'per_call_widths'): + p[field] = [] + for old in source[field]: + for group in range(2): + new = copy.deepcopy(old) + new['replica'] += 8*group + if 'time' in new: + new['time'] = 2*old['time']+group + p[field].append(new) + at = {tuple(x): i for i, x in enumerate(order)} + for field in ('provider_calls', 'per_call_widths'): + p[field].sort(key=lambda c: at[c['stage'], c['replica']]) + p['replica_lift'] = dict(groups=2, source_replicas=8, replicas=16, + parent_template_content_sha256=content_sha(parent), owners_file_sha256=owners_sha, + window_semantics='strict physical source-event touch intervals, including bridges', + schedule_content_sha256=content_sha(schedule)) + require(len(owners) == 144*504, 'owner role count') + for role in owners: + require(role['time'] == at[role['stage'], role['replica']], 'role call time') + require(role['time'] in windows[f"{role['owner_replica']},{role['child']}"][1], + 'owner outside actual source-event window') + require(sum(int(k)*v for k,v in p['profile'].items()) == 73*p['live']-p['deficit'], 'rank mass') + return p, schedule + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--base', type=Path, required=True) + parser.add_argument('--source-plan', type=Path, required=True) + parser.add_argument('--source-owners', type=Path, required=True) + parser.add_argument('--owners', type=Path, required=True) + parser.add_argument('--out', type=Path, required=True) + args = parser.parse_args() + require(not args.out.exists(), 'output directory already exists') + require(sha(args.source_plan) == SOURCE_PLAN_SHA256, 'source plan byte pin') + require(sha(args.source_owners) == SOURCE_OWNERS_SHA256, 'source owners byte pin') + source_path = args.base/'split-centres/GLOBAL-TEMPLATE.json.gz' + source = read(source_path) + original_plan = read(args.source_plan) + require(lift_parent(source, 1) == source, 'T8 identity control') + require(actual_windows(source, original_plan['order'])[0] == original_plan['windows'], 'T8 source-window replay') + require(source['exact_data_phase_recipe_sha256'] == sha(args.base/'work/complex-nine-native/DATA-PHASES.json'), 'source exact data-phase binding') + parent = lift_parent(source) + owners = read(args.owners) + plan, schedule = lift_plan(original_plan, parent, owners, sha(args.source_plan), sha(args.source_owners), sha(args.owners)) + args.out.mkdir(parents=True) + (args.out/'GLOBAL-TEMPLATE.json.gz').write_bytes(portable_gzip(canonical(parent))) + (args.out/'PLAN.json').write_bytes((json.dumps(plan, indent=2)+'\n').encode('utf-8')) + receipt = dict(status='PASS_T16_DIRECT_SUM_PARENT_AND_LITERAL_SOURCE_WINDOWS', + source_template_file_sha256=sha(source_path), source_template_content_sha256=content_sha(source), + source_plan_sha256=sha(args.source_plan), source_owners_sha256=sha(args.source_owners), + owners_sha256=sha(args.owners), + parent_template_file_sha256=sha(args.out/'GLOBAL-TEMPLATE.json.gz'), + parent_template_content_sha256=content_sha(parent), plan_sha256=sha(args.out/'PLAN.json'), + T8_identity_control=True, T8_source_window_identity=True, + local_programs_identical=True, exact_data_phases_identical=True, + parent_live=parent['live'], parent_physical=parent['physical'], + bank_stock=9072, banks_per_stage=1008, private_helpers=504, + source_idle_children_charged=sum(c['replicas'] for c in parent['idle_children']), + events=len(schedule), replica_source_events=30, global_source_events=[30,31], + calls=len(plan['order']), roles=len(owners), actual_window_membership_checked=len(owners), + scope='Legal direct-sum parent namespace and actual source-event windows; full global emitter, geometry, finite invoice, and recurrence admission remain separate checks.') + (args.out/'PARENT-LIFT-RECEIPT.json').write_bytes((json.dumps(receipt, indent=2)+'\n').encode('utf-8')) + print(json.dumps(receipt, indent=2)) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-slots-t16/t16/indep16.py b/research/gauge44-slots-t16/t16/indep16.py new file mode 100644 index 0000000000..81e1e9fe15 --- /dev/null +++ b/research/gauge44-slots-t16/t16/indep16.py @@ -0,0 +1,306 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +# Prepared for haoyan with substantial OpenAI Codex assistance. +"""Independent T16 event-window, whole-helper, chart and finite-reserve audit. + +Inputs are read-only. No owner constructor or controller auditor is imported. +--word is the canonical local supplier JSON.gz, with frame IDs and a native +INDEPENDENT-LOCAL-REPLAY.json alongside it (override with --local-replay). +--baseline-parent is the original eight-replica GLOBAL-TEMPLATE.json.gz. +Its sibling CANONICAL-WORD.json.gz supplies ports; DATA-PHASES.json defaults +to ../work/complex-nine-native/DATA-PHASES.json (override with --phases). +The PR741 and PR799/X4 suppliers share this width/owner interface. Their +local paid profiles and prefix exponents are read and recounted from the +provided canonical word and hash-bound native replay, never fixed to PR741. +--out names a JSON receipt. Checks remain enabled under python -O. +""" +import argparse +from collections import Counter, defaultdict +import gzip +import hashlib +import json +from pathlib import Path + +V, H, M, T, R = 112, 9, 73, 16, 504 +import os +EXPECTED_IDLE = {int(k): v for k, v in json.loads(os.environ['T16_EXPECTED_IDLE']).items()} +EXPECTED_WIDTHS = {int(k): v for k, v in json.loads(os.environ['T16_EXPECTED_WIDTHS']).items()} + + +def require(condition, message): + if not condition: + raise ValueError(message) + + +def read(path): + data = path.read_bytes() + return json.loads(gzip.decompress(data) if path.suffix == '.gz' else data) + + +def filehash(path): + return hashlib.sha256(path.read_bytes()).hexdigest() + + +def basis(vectors): + pivots = {} + for x in vectors: + require(type(x) is int and 0 <= x < 1 << H, 'invalid local frame vector') + while x: + bit = x.bit_length() - 1 + if bit in pivots: + x ^= pivots[bit] + else: + pivots[bit] = x + break + for bit in sorted(pivots): + for upper in pivots: + if upper > bit and pivots[upper] >> bit & 1: + pivots[upper] ^= pivots[bit] + return tuple(pivots[bit] for bit in sorted(pivots, reverse=True)) + + +def local_inventory(word, replay): + global RH + require((word['v'], word['h']) == (V, H) and 0 < word['R'] <= R, 'local supplier dimensions') + RH = word['R'] + frames = [basis(frame) for frame in word['frames']] + n = 2 * V + RH + require(len(word['start']) == len(word['final']) == n, 'local frame vector lengths') + current = [frames[f] for f in word['start']] + paid = Counter() + + def climb(register, frame): + require(basis(current[register] + frame) == frame, 'nonmonotone local frame') + jump = len(frame) - len(current[register]) + if jump: + paid[jump] += 1 + current[register] = frame + + require(not word['target_levels'], 'this audit requires the current zero-level centre interface') + for section in ('A', 'B', 'tail'): + if section == 'B': + require(all(current[t] == () for t in range(V, 2 * V)), 'target centre level') + for q, frame_id in zip(word['centers'], word['center_frames']): + require(current[q] == frames[frame_id], 'centre carrier frame') + paid[len(frames[frame_id])] += 1 + for gate in word[section]: + registers = gate[1:3] if gate[0] == 'add' else gate[1:2] + require(gate[0] in ('add', 'scale'), 'unknown scalar gate') + for register in registers: + climb(register, frames[gate[-1]]) + for register, frame_id in enumerate(word['final']): + climb(register, frames[frame_id]) + require(dict(paid) == {int(r): count for r, count in word['local_profile'].items()}, 'local paid-profile recount') + for orientation in ('forward', 'backward'): + require(dict(paid) == {int(r): count for r, count in replay['paid_profiles'][orientation].items()}, 'local replay profile binding') + widths = [len(frames[word['final'][q]]) - len(frames[word['start'][q]]) for q in range(2 * V, n)] + require(Counter(widths) == EXPECTED_WIDTHS, 'current supplier width inventory') + return widths, paid + + +def make_context(parent, phases, ports, word, replay, roles): + widths, paid = local_inventory(word, replay) + require(len(parent['calls']) == 72 and {(c['stage'], c['replica']) for c in parent['calls']} == {(s, r) for s in range(9) for r in range(8)}, 'original eight-replica baseline calls') + require(len(roles) == 9 * T * RH, 'complete helper role count') + address = {} + for role in roles: + key = (role['stage'], role['replica']) + time = role['time'] + require(time not in address or address[time] == key, 'inconsistent invocation time address') + address[time] = key + require(set(address) == set(range(9 * T)), 'contiguous invocation times') + order = [address[t] for t in range(9 * T)] + require(set(order) == {(s, r) for s in range(9) for r in range(T)}, 'stage/replica inventory') + require(all(order[2*t+1] == (order[2*t][0], order[2*t][1]+8) and order[2*t][1] < 8 for t in range(72)), 'two-copy interleaving') + rank = {child['child']: child['rank'] for child in parent['idle_children']} + source = parent['execution_schedule'] + blocks, stage = {}, None + for index, event in enumerate(source): + if event['kind'] in ('bank_padding_cover_sweep', 'translate_every_live_family'): + continue + if event['kind'] == 'local_cover_sweep': + stage = event['stage'] + blocks[stage] = [] + require(stage is not None, 'source event before first invocation') + blocks[stage].append((index, event)) + require(set(blocks) == set(range(9)), 'source stage inventory') + events = [(index, event, replica, time) for time, (stage, replica) in enumerate(order) for index, event in blocks[stage]] + projections = defaultdict(list) + for index, event, replica, time in events: + projections[replica].append(index) + require(set(projections) == set(range(T)) and all(p == list(range(30)) for p in projections.values()), 'per-replica source-event projection') + stage_pair = {e['stage']: e['pair'] for e in parent['recipe'] if e['kind'] == 'local'} + last, windows, callpos, child_pair, side = {}, {}, {}, {}, {} + bridges = 0 + for position, (_, event, replica, _) in enumerate(events): + kind = event['kind'] + if kind == 'local_cover_sweep': + stage = event['stage'] + callpos[stage, replica] = position + last[replica, stage_pair[stage]] = position + elif kind == 'bridge': + last[replica, event['src']] = last[replica, event['dst']] = position + bridges += 1 + elif kind == 'idle_cover_sweep': + for sd, child in enumerate(event['child_indices']): + if child in rank: + windows[replica, child] = (last.get((replica, event['pair']), -1), position) + child_pair[child], side[child] = event['pair'], sd + require(len(windows) == T * len(rank), 'actual window inventory') + require(len(ports) == V, 'port count') + bases = [] + for q in ports: + zero = next(i for i in range(H) if not (q >> i & 1)) + correction = q ^ (1 << zero) + axes = list(range(H)) + axes[0], axes[zero] = axes[zero], axes[0] + frame = [(1 << i) ^ (correction if correction >> i & 1 else 0) for i in axes] + [1 << i for i in range(H, M)] + require(all((x & y).bit_count() % 2 == int(i == j) for i, x in enumerate(frame) for j, y in enumerate(frame)), 'nonorthogonal owner basis') + bases.append(frame) + return dict(widths=widths, paid=paid, order=order, at={key:t for t,key in enumerate(order)}, rank=rank, + windows=windows, callpos=callpos, child_pair=child_pair, side=side, stage_pair=stage_pair, + bases=bases, phases=phases, bridges=bridges, event_count=len(events), replay=replay) + + +def check_roles(context, roles): + c = context + live, physical = T * 8 * V, T * 8 * V + 8 + R + 2 + require(len(roles) == 9 * T * RH, 'complete helper role count') + helpers, families, used = defaultdict(set), defaultdict(set), defaultdict(set) + charts, chart_cache = set(), {} + for z in roles: + s, r, helper = z['stage'], z['replica'], z['helper'] + owner, child, port = z['owner_replica'], z['child'], z['port'] + offset, width, family = z['offset'], z['width'], z['family'] + call = (s, r) + require(call in c['at'] and 0 <= helper < RH and 0 <= owner < T and 0 <= port < V, 'role coordinates') + require(z['time'] == c['at'][call], 'role invocation time') + require(width == c['widths'][helper], 'whole-helper residual width') + require(0 <= family < live, 'private-namespace collision') + require(child in c['rank'], 'unknown idle child') + require(z['copy'] == V * owner + port and family == owner * 896 + (2 * c['child_pair'][child] + c['side'][child]) * V + port, 'physical family identity') + lo, hi = c['windows'][owner, child] + require(lo < c['callpos'][call] < hi, 'strict bridge-aware idle window') + require(family // 224 != r * 4 + c['stage_pair'][s], 'helper aliases active data pair') + require(helper not in helpers[call] and family not in families[call], 'duplicate helper or family within whole invocation') + helpers[call].add(helper) + families[call].add(family) + cells = set(range(offset, offset + width)) + bin_key = (owner, child, port) + require(offset >= 0 and offset + width <= c['rank'][child] and not used[bin_key] & cells, 'overlapping or out-of-capacity slice') + used[bin_key].update(cells) + chart_key = (port, child, offset, width) + if chart_key not in chart_cache: + frame = c['bases'][port] + pending = list(map(int, c['phases']['recipes'][port]['idle_children'][child]['orthogonal_axes'])) + require(len(pending) == c['rank'][child], 'phase child rank') + occupied = [frame.index(x) for x in pending[offset:offset + width]] + spectators = [i for i in range(M) if i not in occupied][:H - width] + permutation = occupied + spectators + [i for i in range(M) if i not in occupied and i not in spectators] + require(len(occupied) == width and len(set(occupied + spectators)) == H and sorted(permutation) == list(range(M)), 'residual/spectator permutation') + require([frame[i] for i in permutation[:width]] == pending[offset:offset + width], 'pending-axis binding') + chart_cache[chart_key] = tuple(frame[i] for i in permutation) + charts.add(chart_cache[chart_key]) + require(set(helpers) == set(c['order']) and all(h == set(range(RH)) for h in helpers.values()), 'complete per-call helper inventory') + idle = Counter() + for owner, child in c['windows']: + for port in range(V): + cells = used[owner, child, port] + require(cells == set(range(len(cells))), 'gap in pending prefix') + left = c['rank'][child] - len(cells) + if left: + idle[left] += 1 + require(idle == EXPECTED_IDLE, 'nominated idle profile') + profile = Counter({rank: 9 * T * count for rank, count in c['paid'].items()}) + profile.update(idle) + mass = sum(rank * count for rank, count in profile.items()) + require(M * live - mass == 5120, 'doubled rank deficit') + require(c['bridges'] == 144, 'actual bridge count') + localbits = max(x['prefix_bits_upper'] for x in c['replay']['local'].values()) + prefix = localbits + (M + 1) // 2 + len(c['order']) + c['bridges'] + 4 + group = 2 ** (36 * 36) + for i in range(1, 37): + group *= 2 ** (2 * i) - 1 + stock = group * physical + row = 2 * stock.bit_length() + 9909 + 252 + 2 * 512 + require(prefix < 512, 'prefix reserve') + require(row < 20161 and M * M > 2 * max(profile) ** 2, 'row or halving reserve') + return dict(status='PASS_INDEPENDENT_T16_LITERAL_WINDOWS_CHARTS_PREFIX_ROW', roles=len(roles), calls=len(c['order']), + source_events_per_replica=30, expanded_replica_events=c['event_count'], bridge_events=c['bridges'], + literal_windows=len(c['windows']), checked_whole_helper_widths=len(roles), checked_busy_family_windows=len(roles), + orthogonal_port_bases=len(c['bases']), actual_73_axis_charts=len(charts), checked_slice_prefixes=len(c['windows']) * V, + local_profile=dict(sorted(c['paid'].items())), width_inventory=dict(sorted(Counter(c['widths']).items())), + idle=dict(sorted(idle.items())), profile=dict(sorted(profile.items())), live=live, physical=physical, + rank_mass=mass, deficit=5120, namespace={'data':[0,live], 'centres':[live,live+8], 'tableau':[live+8,live+8+R], 'coefficient':[live+8+R,physical]}, + local_prefix_bits=localbits, local_prefix_from_native_receipt=True, local_profile_recounted=True, + prefix_formula=dict(local_scalar=localbits, input_l2=(M + 1) // 2, invocations=len(c['order']), bridges=c['bridges'], margin=4), + prefix_bits=prefix, charged_prefix_bits=512, physical_stock_bits=stock.bit_length(), + physical_row_coefficient=row, row_limit=20161, + scope='Finite role/window/chart and inherited prefix/row obligations. Requires separately admitted local supplier and emitted controller, complete finite invoice, exact moments and outer assembly; no all-size theorem is asserted.') + + +def controls(context, roles): + candidates = [] + first = roles[0] + bad = dict(first, family=14336) + candidates.append(('private_namespace_collision', [bad] + roles[1:], 'private-namespace collision')) + index = next(i for i, z in enumerate(roles) if z['replica'] >= 8) + bad = dict(roles[index], replica=roles[index]['replica'] - 8) + candidates.append(('copy_replica_alias', [bad] + roles[:index] + roles[index+1:], 'role invocation time')) + candidates.append(('missing_whole_helper', roles[1:], 'complete helper role count')) + split = dict(first, width=first['width'] - 1) + fragment = dict(first, offset=first['offset'] + first['width'] - 1, width=1) + candidates.append(('split_whole_helper', [split, fragment] + roles[1:], 'complete helper role count')) + candidates.append(('truncated_helper_width', [split] + roles[1:], 'whole-helper residual width')) + # Keep the family and chart valid, but move one complete role past its + # actual idle event. Freeze the original invocation order for controls. + crossing = None + for index, z in enumerate(roles): + lo, hi = context['windows'][z['owner_replica'], z['child']] + later = next((key for key in context['order'] if context['callpos'][key] >= hi), None) + if later is not None: + crossing = [dict(z, stage=later[0], replica=later[1], time=context['at'][later])] + roles[:index] + roles[index+1:] + break + require(crossing is not None, 'no idle-boundary control could be constructed') + candidates.append(('cross_idle_boundary', crossing, 'strict bridge-aware idle window')) + rejected = [] + for name, bad, expected in candidates: + try: + check_roles(context, bad) + except ValueError as exc: + require(str(exc) == expected, 'control rejected at unexpected predicate: ' + name) + rejected.append(dict(name=name, reason=str(exc))) + else: + raise ValueError('accepted negative control: ' + name) + return rejected + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--baseline-parent', type=Path, required=True) + parser.add_argument('--owners', type=Path, required=True) + parser.add_argument('--word', type=Path, required=True) + parser.add_argument('--phases', type=Path) + parser.add_argument('--local-replay', type=Path) + parser.add_argument('--out', type=Path, required=True) + args = parser.parse_args() + phases_path = args.phases or args.baseline_parent.parent.parent / 'work/complex-nine-native/DATA-PHASES.json' + canonical_path = args.baseline_parent.parent / 'CANONICAL-WORD.json.gz' + replay_path = args.local_replay or args.word.parent / 'INDEPENDENT-LOCAL-REPLAY.json' + parent, phases, canonical, word, replay, roles = map(read, (args.baseline_parent, phases_path, canonical_path, args.word, replay_path, args.owners)) + require(replay['status'] == 'PASS_INDEPENDENT_LOCAL_SCALAR_FRAME_AND_WRAPPER_REPLAY', 'local replay status') + require(replay['canonical_word_sha256'] == filehash(args.word), 'local word/replay hash binding') + require(set(replay['local']) == {'forward', 'backward'}, 'both native prefix orientations') + require(word['ports'] == canonical['ports'], 'local/controller port interface') + require(len(word['center_frames']) == len(canonical['center_frames']) == 8, 'eight centre interfaces') + require([basis(word['frames'][f]) for f in word['center_frames']] == [basis(canonical['frames'][f]) for f in canonical['center_frames']], 'ordered centre-frame interface') + context = make_context(parent, phases, canonical['ports'], word, replay, roles) + receipt = check_roles(context, roles) + receipt['controls_rejected'] = controls(context, roles) + receipt['input_sha256'] = {str(path): filehash(path) for path in (args.baseline_parent, phases_path, canonical_path, args.word, replay_path, args.owners)} + args.out.write_text(json.dumps(receipt, indent=2) + '\n', encoding='utf-8') + print(receipt['status'], 'roles=' + str(receipt['roles']), 'controls=' + str(len(receipt['controls_rejected']))) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-slots-t16/t16/lift16.py b/research/gauge44-slots-t16/t16/lift16.py new file mode 100644 index 0000000000..613c4bdb3c --- /dev/null +++ b/research/gauge44-slots-t16/t16/lift16.py @@ -0,0 +1,102 @@ +"""lift16.py BASE8 PLAN8 OWNERS8 OWNERS16 OUT +Generic T16 lift (after #858 build_parent.py): direct-sum two-bank parent, actual +source-event windows, T16 PLAN with profile recomputed from the T16 owner map. +BASE8 = bound T8 global base (has split-centres/GLOBAL-TEMPLATE.json.gz).""" +import copy, gzip, hashlib, json, sys +from collections import Counter +from pathlib import Path +sys.path.insert(0, str(Path(__file__).resolve().parent)) +from build_parent import lift_parent, actual_windows, read, canonical, portable_gzip, sha, content_sha, require + + +def idle_profile(owners, windows): + used = {} + for r in owners: + key = (r['owner_replica'], r['child'], r['port']) + cells = used.setdefault(key, set()) + new = set(range(r['offset'], r['offset'] + r['width'])) + require(not cells & new, 'overlap') + cells |= new + idle = Counter() + for key, (cap, _) in windows.items(): + rep, ch = map(int, key.split(',')) + for port in range(112): + c = used.get((rep, ch, port), set()) + require(c == set(range(len(c))), 'non-prefix') + if len(c) < cap: + idle[cap - len(c)] += 1 + return idle + + +def interleave(order8): + return [[s, r + 8 * g] for s, r in order8 for g in range(2)] + + +def lift_plan(source, parent, owners8, owners, plan_sha, owners8_sha, owners_sha): + p = copy.deepcopy(source) + require(source['T'] == 8 and len(source['order']) == 72, 'source plan dimensions') + order = interleave(source['order']) + windows, schedule = actual_windows(parent, order) + idle8 = idle_profile(owners8, source['windows']) + paid = Counter({int(k): v for k, v in source['profile'].items()}) + paid.subtract(idle8) + require(all(v >= 0 for v in paid.values()), 'T8 idle not within profile') + idle16 = idle_profile(owners, windows) + prof = Counter({k: 2 * v for k, v in paid.items()}) + prof.update(idle16) + prof = +prof + p.update(status='FROZEN_EXPLICIT_T16_TWO_BANK_DIRECT_SUM_OWNER_NOMINATION', + mode='gauge44-all144-t16-idle-concentration', T=16, live=14336, deficit=5120, + profile={str(k): prof[k] for k in sorted(prof)}, order=order, windows=windows, + solver_status='exact pattern-flow LNS on the T16 actual-window geometry', gap=None, + source_plan_sha256=plan_sha, source_owners_sha256=owners8_sha, + assignment_sha256=owners_sha, assignment_content_sha256=content_sha(owners)) + for field in ('provider_calls', 'per_call_widths'): + p[field] = [] + for old in source[field]: + for group in range(2): + new = copy.deepcopy(old) + new['replica'] += 8 * group + if 'time' in new: + new['time'] = 2 * old['time'] + group + p[field].append(new) + at = {tuple(x): i for i, x in enumerate(order)} + for field in ('provider_calls', 'per_call_widths'): + p[field].sort(key=lambda c: at[c['stage'], c['replica']]) + p['replica_lift'] = dict(groups=2, source_replicas=8, replicas=16, + parent_template_content_sha256=content_sha(parent), owners_file_sha256=owners_sha, + window_semantics='strict physical source-event touch intervals, including bridges', + schedule_content_sha256=content_sha(schedule)) + require(len(owners) == 144 * len(source['provider_registry']['gauge44']['widths']), 'owner role count') + for role in owners: + require(role['time'] == at[role['stage'], role['replica']], 'role call time') + require(role['time'] in windows[f"{role['owner_replica']},{role['child']}"][1], 'owner outside actual window') + require(sum(int(k) * v for k, v in p['profile'].items()) == 73 * p['live'] - p['deficit'], 'rank mass') + return p, schedule, idle8, idle16 + + +def main(base, plan8p, own8p, own16p, out): + base, out = Path(base), Path(out) + require(not out.exists(), 'out exists') + src_path = base / 'split-centres/GLOBAL-TEMPLATE.json.gz' + source = read(src_path) + plan8 = read(plan8p) + require(lift_parent(source, 1) == source, 'T8 identity control') + require(actual_windows(source, plan8['order'])[0] == plan8['windows'], 'T8 source-window replay') + require(source['exact_data_phase_recipe_sha256'] == sha(base / 'work/complex-nine-native/DATA-PHASES.json'), 'data-phase binding') + parent = lift_parent(source) + owners8, owners = read(own8p), read(own16p) + plan, schedule, idle8, idle16 = lift_plan(plan8, parent, owners8, owners, sha(plan8p), sha(own8p), sha(own16p)) + out.mkdir(parents=True) + (out / 'GLOBAL-TEMPLATE.json.gz').write_bytes(portable_gzip(canonical(parent))) + (out / 'PLAN.json').write_bytes((json.dumps(plan, indent=2) + '\n').encode()) + rec = dict(status='PASS_T16_DIRECT_SUM_PARENT_AND_LITERAL_SOURCE_WINDOWS', T8_identity_control=True, + T8_source_window_identity=True, idle8=dict(sorted(idle8.items())), idle16=dict(sorted(idle16.items())), + profile=plan['profile'], parent_live=parent['live'], parent_physical=parent['physical'], + actual_window_membership_checked=len(owners), events=len(schedule)) + (out / 'PARENT-LIFT-RECEIPT.json').write_text(json.dumps(rec, indent=2) + '\n') + print(json.dumps(rec)) + + +if __name__ == '__main__': + main(*sys.argv[1:6]) diff --git a/research/gauge44-slots-t16/verify_manifest.py b/research/gauge44-slots-t16/verify_manifest.py new file mode 100644 index 0000000000..8c2441d392 --- /dev/null +++ b/research/gauge44-slots-t16/verify_manifest.py @@ -0,0 +1,19 @@ +"""Verify the submitted package's exact file inventory and SHA256 bindings.""" +from hashlib import sha256 +import json +from pathlib import Path + +root = Path(__file__).resolve().parent +expected = json.loads((root / 'MANIFEST.json').read_text()) +actual = { + p.relative_to(root).as_posix(): sha256(p.read_bytes()).hexdigest() + for p in root.rglob('*') + if p.is_file() and '__pycache__' not in p.parts + and p != root / 'MANIFEST.json' +} +if actual != expected: + missing = sorted(expected.keys() - actual.keys()) + extra = sorted(actual.keys() - expected.keys()) + changed = sorted(k for k in expected.keys() & actual.keys() if expected[k] != actual[k]) + raise SystemExit(f'Manifest mismatch: missing={missing}, extra={extra}, changed={changed}') +print(f'PASS package manifest: {len(actual)} files') diff --git a/research/gauge44-slots-t16/verify_t16.py b/research/gauge44-slots-t16/verify_t16.py new file mode 100644 index 0000000000..4794150c4c --- /dev/null +++ b/research/gauge44-slots-t16/verify_t16.py @@ -0,0 +1,122 @@ +"""Strict T16 replay: the T8 package's frozen admission, then the sixteen-replica two-bank controller. + +Credit: the T16 controller, source adapters, direct-sum parent lift, actual-window reconstruction and the +independent T16 checker are Hao Yan's (@FanPUYen) PR #858 (research/complex-double-replica-owners, Apache-2.0), +vendored in t16/ with only the documented generalisations (word-derived R/widths/idle profile, owner-derived PLAN profile). +The adapted controller code/ is byte-identical to the signed research/gauge44-barch-t16 code (#870's T16 code). + +Stages (strict only, no discovery, no optimizer): + restore-parent, bind8 (T8 SPEC data/SPEC-T8.json, T8 PLAN/OWNERS data/T8/: replays the gauge44-slots admission), + lift16 (direct-sum parent and actual source-event windows; every one of the frozen data/OWNERS.json.gz roles is checked + inside its owner's actual window; the lifted PLAN must equal data/PLAN.json). data/OWNERS.json.gz is frozen data (an exact + pattern-flow LNS repack on the T16 geometry); it is checked by lift16, the controller audit and independent-t16. No + owner constructor or optimizer runs. bind, emit, audit, invoice, assembly, admission-controls, + bit-supplier-controls (code/ = pinned gauge44 code + #858's exact multiplicity-checked T16 edits), independent-t16. +""" +import argparse, gzip, hashlib, json, os, shutil, subprocess, sys, time +from fractions import Fraction +from pathlib import Path + +assert __debug__, 'Assertions required' +PKG = Path(__file__).resolve().parent +sha = lambda p: hashlib.sha256(Path(p).read_bytes()).hexdigest() +rd = lambda p: json.loads(gzip.decompress(Path(p).read_bytes()) if str(p).endswith('.gz') else Path(p).read_bytes()) +ap = argparse.ArgumentParser(description=__doc__) +ap.add_argument('--main', type=Path, required=True) +ap.add_argument('--local', type=Path, required=True) +ap.add_argument('--work', type=Path, required=True) +a = ap.parse_args() +main, local, work = a.main.resolve(), a.local.resolve(), a.work.resolve() +assert not work.exists(), 'Output directory must be new' +source = main / 'research/complex-k492-owner-repair/vendor/multicold' +baseline = main / 'research/community-k492-audit/pr622/replay/baseline558' +vendor = source / 'vendor/pr558/vendor/pr552/complex-global/vendor531' +for rel, expected in rd(PKG / 'data/UPSTREAM-PINS.json').items(): + assert sha(main / rel) == expected, 'Upstream dependency changed: ' + rel +work.mkdir(parents=True) +env0 = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONUTF8='1', PYTHONINTMAXSTRDIGITS='0', + MULTICOLD_SOURCE=str(source), GAIN_PR564_SOURCE=str(source)) +for k in ('PYTHONOPTIMIZE', 'WITNESS_DISCOVER', 'WITNESS_RECORD', 'WITNESS_SPEC'): + env0.pop(k, None) +stages = [] +SPEC8, SPEC16 = PKG / 'data/SPEC-T8.json', PKG / 'data/SPEC.json' +PLAN8, OWN8 = PKG / 'data/T8/PLAN.json', PKG / 'data/T8/OWNERS.json.gz' + + +def run(name, script, *args, spec=SPEC16, extra=None): + t0 = time.monotonic() + log = work / (name + '.log') + with log.open('w') as s: + rc = subprocess.run([sys.executable, '-B', str(source / 'code/run_portable.py'), str(script), *map(str, args)], + env=dict(env0, WITNESS_SPEC=str(spec), **(extra or {})), stdout=s, stderr=subprocess.STDOUT).returncode + stages.append(dict(name=name, seconds=round(time.monotonic() - t0, 3), exit_code=rc, log_sha256=sha(log))) + (work / 'STAGES.json').write_text(json.dumps(stages, indent=2) + '\n') + if rc: + raise RuntimeError(name + ' failed:\n' + log.read_text()[-6000:]) + print('PASS', name, stages[-1]['seconds'], flush=True) + + +code, t16 = PKG / 'code', PKG / 't16' +R16 = len(rd(PLAN8)['provider_registry']['gauge44']['widths']) +run('restore-parent', code / 'restore_parent.py', '--source', source, '--baseline', baseline, '--out', work / 'parent558', spec=SPEC8) +run('bind8', code / 'bind_providers_portable.py', '--baseline', work / 'parent558', '--provider', 'gauge44=' + str(local), + '--plan', PLAN8, '--out', work / 'global8', spec=SPEC8) + +run('lift16', t16 / 'lift16.py', work / 'global8/base', PLAN8, OWN8, PKG / 'data/OWNERS.json.gz', work / 'lift', spec=SPEC8) +assert rd(work / 'lift/PLAN.json') == rd(PKG / 'data/PLAN.json'), 'lifted PLAN differs from data/PLAN.json' +parent16 = work / 'parent16' +shutil.copytree(work / 'parent558', parent16) +shutil.copyfile(work / 'lift/GLOBAL-TEMPLATE.json.gz', parent16 / 'complex-global/base/split-centres/GLOBAL-TEMPLATE.json.gz') +g = work / 'global' +run('bind', code / 'bind_providers_portable.py', '--baseline', parent16, '--provider', 'gauge44=' + str(local), + '--plan', PKG / 'data/PLAN.json', '--out', g) +run('emit', code / 'emit_allcold.py', '--base', g / 'base', '--owners', PKG / 'data/OWNERS.json.gz', '--plan', g / 'PLAN.json', '--out', g / 'hosted') +run('audit', code / 'audit_allcold.py', g / 'base', g / 'hosted', g / 'audit/ASYNC-AUDIT.json', '--mutation-controls') +run('invoice', code / 'invoice_allcold.py', '--base', g / 'base', '--hosted', g / 'hosted', '--audit', g / 'audit', + '--out', g / 'audit', '--retained-invoice', vendor / 'evidence/audit/PREFIX-AND-INVOICE.json') +run('assembly', code / 'assemble.py', source, g, work / 'ASSEMBLY.json') +for nm, sc, out in (('admission-controls', 'assembly_controls.py', 'ADMISSION-CONTROLS.json'), + ('bit-supplier-controls', 'bit_supplier_controls.py', 'BIT-SUPPLIER-CONTROLS.json')): + run(nm, code / sc, '--source-package', source, '--owner', g / 'audit/OWNERS-AND-PROFILE.json', + '--invoice', g / 'audit/PREFIX-AND-INVOICE.json', '--out', work / out) +lift = rd(work / 'lift/PARENT-LIFT-RECEIPT.json') +run('independent-t16', t16 / 'indep16.py', '--baseline-parent', work / 'global8/base/split-centres/GLOBAL-TEMPLATE.json.gz', + '--owners', PKG / 'data/OWNERS.json.gz', '--word', local / 'CANONICAL-WORD.json.gz', '--out', work / 'INDEPENDENT-T16.json', + extra={'T16_EXPECTED_IDLE': json.dumps(rd(SPEC16)['expected']['idle_remainder_profile']), + 'T16_EXPECTED_WIDTHS': json.dumps(rd(SPEC16)['providers']['gauge44']['inventory'])}) +asm, ind = rd(work / 'ASSEMBLY.json'), rd(work / 'INDEPENDENT-T16.json') +inv = rd(g / 'audit/PREFIX-AND-INVOICE.json') +bc, ac = rd(work / 'BIT-SUPPLIER-CONTROLS.json'), rd(work / 'ADMISSION-CONTROLS.json') +assert asm['status'] == 'PASS_GAUGE44_NATIVE_EXACT_GLOBAL_ASSEMBLY' and asm['kappa'] == rd(SPEC16)['expected']['kappa'] +assert bc['status'] == 'PASS_PR589_BIT_SUPPLIER_DERIVED_DEFICIT_NEGATIVE_CONTROLS' and len(bc['rejected_controls']) == 12 and bc['derived_deficit'] == 10272 +assert not ac['discovery_accepted_controls'] and len(ac['rejected_controls']) == 69 +assert ind['status'] == 'PASS_INDEPENDENT_T16_LITERAL_WINDOWS_CHARTS_PREFIX_ROW' and len(ind['controls_rejected']) == 6 +assert ind['profile'] == asm['complex_profile'] and {str(k): v for k, v in lift['idle16'].items()} == {str(k): v for k, v in ind['idle'].items()} +assert ind['prefix_bits'] == inv['global_prefix_bits'] < 512 and ind['physical_row_coefficient'] < 20161 +# Final binding (as #858 verify.py final_binding). +owner, audit = rd(g / 'audit/OWNERS-AND-PROFILE.json'), rd(g / 'audit/ASYNC-AUDIT.json') +assert ind['physical_row_coefficient'] == inv['finite']['physical_row_coefficient'] < inv['finite']['retained_row_coefficient'] == 20161 +assert inv['charged_prefix_bits'] == 512 +assert ind['rank_mass'] == owner['rank_mass'] == 1041408 and ind['deficit'] == owner['deficit'] == 5120 +assert inv['strict_checks'] and all(inv['strict_checks'].values()), 'every finite invoice inequality' +assert len(asm['outer']) == 47 and all(Fraction(v) > 0 for v in asm['outer'].values()), 'all 47 strict outer margins' +assert audit['mutation_controls_run'] and len(audit['mutations_rejected']) == 15 +assert ind['roles'] == owner['hosted_residuals'] == audit['complex_hosted_residuals'] == 144 * R16 +assert ind['calls'] == audit['complete_invocations'] == inv['complete_invocation_sweeps'] == 144 +assert ind['actual_73_axis_charts'] == owner['actual_73column_sigmas'] == audit['actual_orthogonal_73column_maps'] +assert lift['actual_window_membership_checked'] == 144 * R16 and lift['T8_identity_control'] and lift['T8_source_window_identity'] +for name in ('CANONICAL-WORD.json.gz', 'LOCAL-PROGRAMS.json.gz', 'LOCAL-CHECKS.json', 'INDEPENDENT-LOCAL-REPLAY.json', + 'RESIDUAL-ADAPTERS.json', 'CLIFFORD-RECIPES.json', 'CLIFFORD-REVIEW.json'): + assert rd(g / 'base/providers/gauge44' / name) == rd(local / name), 'provider content binding: ' + name +assert asm['template_sha256'] == owner['template_sha256'] == inv['template_sha256'] +assert inv['owner_audit_sha256'] == sha(g / 'audit/OWNERS-AND-PROFILE.json') and inv['controller_audit_sha256'] == sha(g / 'audit/ASYNC-AUDIT.json') +assert Fraction(asm['kappa']) > Fraction(rd(SPEC8)['expected']['kappa']), 'T16 must strictly improve the T8 package' +res = dict(status='PASS_GAUGE44_T16_STRICT_GLOBAL_REPLAY', kappa=asm['kappa'], kappa_decimal=asm['kappa_decimal'], + conservative_kappa_decimal=asm['conservative_kappa_decimal'], complex_lower=asm['complex_lower'], bit_lower=asm['bit_lower'], + complex_profile=asm['complex_profile'], idle_remainder_profile=ind['idle'], complete_invocations=144, roles=ind['roles'], + prefix_bits=ind['prefix_bits'], charged_prefix_bits=512, physical_row_coefficient=ind['physical_row_coefficient'], + retained_row_coefficient=20161, actual_73_axis_charts=ind['actual_73_axis_charts'], + controls=dict(admission=69, bit_supplier=12, independent_t16=6, controller_mutations=15), + t8_kappa=rd(SPEC8)['expected']['kappa'], spec_sha256=sha(SPEC16), stages=stages, scope=asm['scope']) +(work / 'REPLAY.json').write_text(json.dumps(res, indent=2) + '\n') +print(res['status'], res['kappa_decimal'], flush=True) diff --git a/research/gauge44-slots/CONSTRUCTION.md b/research/gauge44-slots/CONSTRUCTION.md new file mode 100644 index 0000000000..fa15676366 --- /dev/null +++ b/research/gauge44-slots/CONSTRUCTION.md @@ -0,0 +1,210 @@ +# Gauge44: a changed factory forward map with 44 rank-four cold ends + +Prepared for icekylinx with OpenAI GPT-6 Astra assistance. Apache-2.0. This note describes the new complex local construction. The package's global evidence supplies the resulting global bound and retains the upstream conditional assumptions. + +## 1. Exact result and comparison + +The final word has 112 source ports, 112 target ports and 492 helper registers. It implements the same arbitrary-dirt scalar endpoint as the upstream word, + +$$ +(X,Y,H)\longmapsto(X,Y+X,H), +$$ + +and its inverse-transpose orientation is checked separately. All 204 nonzero entrance frames remain valid. The new ending set consists of **44 cold helpers at rank-four frames**, together with the 34 entering-helper ends inherited from the JP8 HPE stage. + +The precise comparison is with the JP8 provider reconstructed from PR635, commit `a6895a69f8ad98ab45777b03e9e6f48888c39f6f`: + +| Local quantity | PR635 JP8 | Gauge44 | +|---|---:|---:| +| Helpers | 492 | 492 | +| Nonzero entrance frames | 204 | 204 | +| Rank-four cold ends | 22 | 44 | +| Rank-seven cold ends | 2 | 0 | +| Rank-eight cold ends | 4 | 0 | +| Entering helpers ending below FULL | 36 | 34 | +| Total residual helper width | 3894 | **3794** | +| Local paid rank mass | 5750 | **5650** | + +Thus the new word saves **100 units of residual width per invocation** against the complete PR635 provider. It replaces that provider's cold-end construction; the old six higher-rank cold ends and two additional entering ends are not added to the new count. + +The exact paid-child profiles are: + +| Child rank | PR635 count | Gauge44 count | +|---:|---:|---:| +| 1 | 2518 | 2514 | +| 2 | 402 | 404 | +| 3 | 448 | 448 | +| 4 | 164 | 160 | +| 5 | 68 | 56 | +| 6 | 4 | 0 | +| 8 | 8 | 8 | + +The final residual-width inventory is `{4:52, 5:48, 7:34, 8:114, 9:244}`. Both the profile and the inventory are recomputed from the literal native frame chains. They are not inferred from the nominal number of ended helpers. + +## 2. What changes in the forward factory + +The inherited K-triangle schedule and its 492-helper allocation remain the starting construction. Within each of the fourteen eight-source packet factories, three changes alter the arbitrary-dirt forward map while retaining the required clean packet values. + +### A. Exchange a source with an equal clean copy + +After the sixteen initial copy gates, local source position `j` and its two helper copies have clean values `(x_j,x_j,x_j)`. For positions `j = 4,5,6,7`, exchange the original source register with its second helper copy. The exact register pair in the constructor is `mp[j]` and `mp[2*j+9]`. + +For arbitrary helper dirt the triple is instead + +$$ +(x_j,\;x_j+h_{j,1},\;x_j+h_{j,2}). +$$ + +The exchange changes where the second dirty direction enters the subsequent factory. It does not change any clean operand. Both exchanged registers already have the same rank-one frame, so the exchange adds no frame climb. Each exchange is emitted as three additions and one sign change; these scalar operations remain part of the finite implementation invoice. + +This is a change of the forward map, not an output relabeling. In particular, the inverse recovery functional for the original source changes from the original branch to a different combination of the three equal-clean branches. That changes which cold input directions can have their entire final support inside a low frame. + +### B. Change the complement to the four coordinate totals + +Eight retired factory rows already span the eight source coordinates. The first four rows of their replacement basis are the four required coordinate totals. The remaining four rows are chosen by exact row-rank extension, first using the ordered clean linear forms recorded in `construction/COMPLETION-PRIORITY.json`, then using coordinate rows if an extension is still needed. + +These candidate forms are the future low-frame leaver forms used during discovery. The frozen priority data are the complete input to the final constructor: no discovery search is run in reproduction. Every accepted row must increase the rational rank; the resulting eight-by-eight basis is explicitly applied by elementary operations. + +All eight retired registers are already at the block's rank-four frame. Consequently this basis replacement also adds no frame climb. It gives the low final rows more independent linear combinations that annihilate the original source data. + +### C. Place coordinate totals on the available source carriers + +The retired registers are ordered with source registers first. Three available source carriers and one helper carry the four coordinate totals, leaving the four complementary rows on physical helper registers. This lets the new cold directions end on helper wires under the unchanged native endpoint interface. + +A carrier permutation alone does not increase the available cold space. Its role here is to realize the independent directions created jointly by the source-copy exchange and the new complementary basis. + +## 3. Exact cold-space calculation + +Let `P` be the non-target forward matrix after parts A and B and the 34 inherited HPE tail gates. It has 604 rows and columns: 112 original sources and 492 helpers. Let `J` be the 316 protected initial columns consisting of the 112 original sources and all 204 entering helpers. + +For a block frame `F`, let `I` be every non-target output register whose current frame is contained in `F`. Source output rows are included in this set. Define + +$$ +L=\operatorname{leftker} P[I,J],\qquad +K=\ker P^{-1}[J,I]. +$$ + +Rows of `L` are low output linear forms with no protected initial dependence. Columns of `K` are low-supported output directions whose inverse images have no protected component. The rank of the pairing `LK` counts the simultaneously usable cold directions in this fixed forward word. + +The changed forward map has the following exact block data: + +| Block indices | Number of blocks | Low registers `|I|` | `dim L` | `dim K` | `rank(LK)` | +|---|---:|---:|---:|---:|---:| +| 0, 1, 2, 11, 12, 13 | 6 | 6 | 2 | 4 | **2** | +| 3 through 10 | 8 | 8 | 4 | 4 | **4** | + +The count is therefore `6*2 + 8*4 = 44`. The fixed upstream rank-four cold construction supplied one and two directions respectively, for `6*1 + 8*2 = 22`. + +The complement change by itself improves the available low annihilating rows but leaves the inverse-support obstruction. The source-copy exchanges remove that obstruction: `K` has dimension four in every block and pairs with all the available rows of `L`. + +## 4. Realizing the directions with legal dyadic operations + +`construction/build_gauge_cold44.py` recomputes these spaces over exact rational numbers. It selects columns of `K` and normalizes them to a matrix `U` satisfying + +$$ +LU=I_r, +\qquad q=P^{-1}[:,I]U. +$$ + +The constructor checks that `q` is supported entirely on that block's sixteen initially cold factory helpers, denoted `H_b`. Put + +$$ +R_b=LP[I,H_b]. +$$ + +Then `R_b q[H_b,:] = I_r`. A sixteen-by-sixteen input basis `Q_b` places the columns `q[H_b,:]` at the designated ended-helper positions and fills the other columns with a basis of `ker R_b`. The resulting input basis is explicitly invertible. + +For the low-frame output transformation, the ended-helper rows are replaced by the rows of `L`; each remaining low row `i` becomes + +$$ +e_i-U_iL. +$$ + +The actual chosen helper positions give an invertible tail matrix. Its nonsingularity and dyadic implementation are checked by exact elimination, rather than assumed from a dimension count. The construction receipt records every `Q_b`, tail matrix and selected endpoint. + +Every `Q_b` is emitted at frame zero, at the head of A **after** the entry normalization wrappers. Every low tail is emitted at its block frame. The remaining cleanup is rebuilt as an exact dyadic Gauss-Jordan inverse on the non-ended registers at FULL. It is not obtained by blindly reversing a changed partial schedule. + +Before forming the FULL inverse, the constructor verifies both the row and the column identity of each of the 78 ended helpers. Thus no protected data or other helper dirt remains in an ended helper, and its initial dirt remains nowhere else. The FULL inverse skips these isolated rows and columns entirely. + +The realized word has: + +| Construction component | Scalar gates | +|---|---:| +| Frame-zero helper premix | 1489 | +| New rank-four tail | 60 | +| Inherited HPE tail | 34 | +| Refactored FULL inverse | 28056 | +| Additional target compensation after wrappers | **0** | + +All selected new cold directions have zero target response. The independent scalar auditor nevertheless recomputes the complete existing dirty-response compensation, obtaining 7348 additions, and checks both orientations on all 716 input columns. + +Relative to the HPE-stage word before any cold-end construction, the aggregate chain delta is `N_1 += 44, N_6 -= 44`, reducing rank mass and residual width by 220. PR635 had already saved 120 units through its complete cold/extra-HPE construction. The net new saving is therefore 100. There is no omitted cost for lifting the low tails: their rank-one increments are included explicitly. + +## 5. Native interface and validation + +The transport preserves the exact ordered list of 112 ports and the exact ordered eight center frames. The center carriers change because some totals now reside on sources. In native coordinates they are + +``` +[92, 57, 81, 224, 11, 240, 9, 256] +``` + +A global interface check must compare the ordered center frames and port geometry, and use the provider's actual center carriers. Equality of carrier numbers with an old provider is not a mathematical requirement. The local event ledgers explicitly clear all private center channels in both orientations. + +Completed checks for the frozen word include exact forward and inverse-transpose scalar replay on all 716 columns; every literal native frame chain; the 204 zero-response entrance conditions; the 44 cold and 34 entering endpoint cones; wrapper placement and normalized wrapper identities; both emitted local ledgers; and exact phase lowering for 3019 directed edges and 224 endpoint adapters. The independent audit does not import the new constructor. + +This local result does not by itself certify a global exponent. Physical whole-family owners, actual residual/spectator routing, idle remainders, global scalar assembly and the complete finite invoice are the separate global checks reported elsewhere in the package. + +## 6. Compact reproduction + +Only Python's standard library is needed for this construction and the retained local pipeline. Do not use `python -O`. The reproduction driver checks byte hashes of every named upstream input and the changed code, then checks the content hash after each construction step. Its two source checkouts are: + +| Argument | Repository commit | +|---|---| +| `--main` | `17ce0c79b7b51c2634b439ea5a2b754f09909693` | +| `--pr635` | `a6895a69f8ad98ab45777b03e9e6f48888c39f6f` | + +Starting from a clone of `https://github.com/CrocSwap/integer-mult-bounds` containing those commits, prepare detached worktrees: + +```bash +git -C integer-mult-bounds fetch origin main refs/pull/635/head +git -C integer-mult-bounds worktree add --detach ../integer-main 17ce0c79b7b51c2634b439ea5a2b754f09909693 +git -C integer-mult-bounds worktree add --detach ../integer-pr635 a6895a69f8ad98ab45777b03e9e6f48888c39f6f +``` + +From the directory containing those worktrees and this delta package, run: + +```bash +python -B research/gauge44-global/construction/reproduce.py \ + --main integer-main \ + --pr635 integer-pr635 \ + --out gauge44-reproduction +``` + +The default stops after regenerating the exact final scalar word and comparing the newly derived cold recipe with the frozen recipe. It rebuilds only the two short shadow steps needed by the four port transfers. It does not rerun the ancestor admission stack, search for a basis, optimize owners, or replay global assembly. + +Use `--frozen-cold` to splice the included recipe instead of re-deriving its small exact linear systems. Use `--until local` to add native transport, emitted ledgers, independent local replay and wrappers. Use `--until phases` to add the complete phase lowering. Every invocation needs a fresh output directory; these are alternatives, not resumable increments. On the research machine, exact cold derivation took about 2.6 seconds, native transport/ledgers/replay/wrappers about 41 seconds, and complete phase lowering about 198 seconds. + +The exact dependency chain is: + +1. Construct the changed raw R492 factory from the pinned Hamming inputs, frozen priority and pinned K-triangle schedule. +2. Apply the four inherited port stages. +3. Apply the inherited B-frame regroup and 34-HPE construction. +4. Derive the exact block premixes, cold44 tails and FULL inverse. +5. Optionally emit and check the native ledgers, wrappers and complete phase lowering. + +`construction/INPUTS.json` gives the input hashes and every intermediate content hash. The key decompressed content identities are: + +| Word | SHA-256 | +|---|---| +| Changed raw factory | `0ac47f92fc2e3f5aa457d78f7b8a5c785bf140c546932b9dfcd9e610ad319180` | +| Changed HPE forward | `42fb8b3aa314593fe976820cf65824f5fce0ee4f95281796992d4809709864cc` | +| Final cold44 word | `78c7aadacb6eec2eeecc124ca236e5bcfdba6a52b30c2971aaa596d1d119b290` | +| Native canonical word | `e6daee410e04d5e023faf21144081534ad222d334ce786e6b5f52407e6b3c41f` | + +## 7. Attribution + +The original 504-helper factory and borrowed-register construction are icekylinx's PR531 lineage, prepared with OpenAI Codex/GPT assistance and retaining the earlier PR425/PR514 credits. The inherited K-triangle atom and frozen read schedule are credited in PR635 to AtomScout, a Claude Code research agent. The porting routine is credited there to Port480. This package does not claim those as new work. + +The reused JP8 ancestry includes the PR558/PR552 supplier, the earlier-cut and multicold kernels, and the joint prefix adapted from Dominik Scholz's PR571 work. Native HPE and cold-end transport, frame and wrapper machinery come from the credited PR635 lineage, including DreamingOfClouds, jeremykothe2, chafreaky and their disclosed assistants. The retained `construction/UPSTREAM-NOTICE.md` and `construction/LICENSE` preserve the upstream notice and Apache-2.0 license. + +The new contribution here is the combination of source-copy exchange, changed retired-row completion, source-carried coordinate totals, and the explicit exact cold44 realization. Those changes were developed for icekylinx with OpenAI GPT-6 Astra assistance. The upstream notices, proof scope and conditional assumptions continue to apply. diff --git a/research/gauge44-slots/LICENSE b/research/gauge44-slots/LICENSE new file mode 100644 index 0000000000..261eeb9e9f --- /dev/null +++ b/research/gauge44-slots/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/research/gauge44-slots/LOCAL-VALIDATION.json b/research/gauge44-slots/LOCAL-VALIDATION.json new file mode 100644 index 0000000000..5973645e1a --- /dev/null +++ b/research/gauge44-slots/LOCAL-VALIDATION.json @@ -0,0 +1,356 @@ +{ + "status": "PASS_LOCAL_INCREMENTAL_GAUGE44", + "python": "3.14.8", + "upstream_main": "17ce0c79b7b51c2634b439ea5a2b754f09909693", + "pr635": "a6895a69f8ad98ab45777b03e9e6f48888c39f6f", + "construction_steps": [ + { + "step": "shadow-early", + "exit_code": 0, + "seconds": 0.322 + }, + { + "step": "shadow-prefix", + "exit_code": 0, + "seconds": 0.429 + }, + { + "step": "gauge-forward", + "exit_code": 0, + "seconds": 0.474 + }, + { + "step": "port0", + "exit_code": 0, + "seconds": 0.388 + }, + { + "step": "port1", + "exit_code": 0, + "seconds": 0.407 + }, + { + "step": "port2", + "exit_code": 0, + "seconds": 0.403 + }, + { + "step": "port3", + "exit_code": 0, + "seconds": 0.389 + }, + { + "step": "cold44-exact", + "exit_code": 0, + "seconds": 2.544 + }, + { + "step": "native", + "exit_code": 0, + "seconds": 3.63 + }, + { + "step": "ledgers", + "exit_code": 0, + "seconds": 2.759 + }, + { + "step": "local-replay", + "exit_code": 0, + "seconds": 15.924 + }, + { + "step": "wrappers", + "exit_code": 0, + "seconds": 2.706 + }, + { + "step": "phases", + "exit_code": 0, + "seconds": 186.772 + } + ], + "five_mathematical_local_artifacts_match_frozen_evidence": true, + "phase_edges": 3019, + "endpoint_adapters": 224, + "independent_scalar_audit": { + "status": "PASS_INDEPENDENT_EXACT_FORWARD_AND_DUAL_ENDPOINT_FRAMES_ENTRANCES_CONES", + "input_file": "FULL-WORD.json.gz", + "content_sha256": "78c7aadacb6eec2eeecc124ca236e5bcfdba6a52b30c2971aaa596d1d119b290", + "compressed_sha256": "0ad202612f010df4ab66432a628247b37ad8b497dd6b27595b1685cbd7eb119e", + "parent_center_interface": { + "parent_path": "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/CANONICAL-WORD.json.gz", + "parent_file_sha256": "66d3c3c70983224650643a0a05a21ac6c6959f84d0f4528650601016f5a76844", + "transport_tau": 43, + "ordered_frame_bases_match": true, + "all_ports_match": true, + "transported_centers": [ + 92, + 57, + 81, + 224, + 11, + 240, + 9, + 256 + ], + "source_centers": [ + 92, + 57, + 81, + 11, + 9 + ], + "ordered_frame_bases": [ + [ + 256, + 128, + 64, + 34, + 16, + 10, + 4, + 1 + ], + [ + 256, + 128, + 64, + 32, + 16, + 8, + 5, + 3 + ], + [ + 256, + 128, + 64, + 32, + 17, + 9, + 4, + 2 + ], + [ + 256, + 128, + 64, + 36, + 20, + 8, + 2, + 1 + ], + [ + 256, + 128, + 66, + 32, + 18, + 8, + 4, + 1 + ], + [ + 256, + 128, + 65, + 33, + 17, + 9, + 5, + 3 + ], + [ + 256, + 128, + 65, + 33, + 16, + 8, + 4, + 2 + ], + [ + 256, + 128, + 68, + 32, + 16, + 12, + 2, + 1 + ] + ] + }, + "v": 112, + "h": 9, + "R": 492, + "entering": 204, + "lowends": 78, + "coldends": 44, + "compensation_gates": 7348, + "local_profile": { + "1": 2514, + "2": 404, + "3": 448, + "4": 160, + "5": 56, + "8": 8 + }, + "width_inventory": { + "4": 52, + "5": 48, + "7": 34, + "8": 114, + "9": 244 + }, + "checked_columns": 716, + "elapsed_seconds": 2.443164045999765, + "scope": "Exact rational full scalar map in both orientations; all literal native frame chains, center levels, dyadic units, entrance-zero response, wrapper exclusion and final helper row/column cones. No global owner admission or exponent repricing." + }, + "independent_guard_review": { + "status": "PASS_PR635_ADMISSION_ASSERTION_PRESERVATION", + "files": [ + { + "file": "code/assemble.py", + "baseline_sha256": "1b1a9024ac910dc9b9d9e30150684e1fa9cb228a4c1c275b75ab04b57fdef1dd", + "new_sha256": "7ac28118d69416e4fb67b61216285fb0823310b7635ce1b9025aa3f10119ef6a", + "byte_identical": false, + "assert_count": 91, + "all_assertions_identical_in_order": true + }, + { + "file": "code/invoice_allcold.py", + "baseline_sha256": "141bd2fd58bbfb5b8d0fc8f56f61c45586d5608a5af3487c6b883dd987f998ec", + "new_sha256": "141bd2fd58bbfb5b8d0fc8f56f61c45586d5608a5af3487c6b883dd987f998ec", + "byte_identical": true, + "assert_count": 67, + "all_assertions_identical_in_order": true + }, + { + "file": "code/bind_providers_portable.py", + "baseline_sha256": "2eb5c262bf481b3bec9ceaec654fa46ff6fc3a89b13d4906a29a55a89e35feea", + "new_sha256": "7c9aba6c7f138d270852d859d902f905a15598b6263567700b5b08a153823cb6", + "byte_identical": false, + "assert_count": 22, + "all_assertions_identical_in_order": true + }, + { + "file": "code/generated_identity.py", + "baseline_sha256": "c8af22719c0f3097a991a3f6ccac8f090afd2faba554745733d9ea88f2c25708", + "new_sha256": "c8af22719c0f3097a991a3f6ccac8f090afd2faba554745733d9ea88f2c25708", + "byte_identical": true, + "assert_count": 4, + "all_assertions_identical_in_order": true + }, + { + "file": "code/witness.py", + "baseline_sha256": "00789c911a8f32cfe9d52207c7aa78305dc3fce4a8b6305ba402b7e74117103d", + "new_sha256": "00789c911a8f32cfe9d52207c7aa78305dc3fce4a8b6305ba402b7e74117103d", + "byte_identical": true, + "assert_count": 3, + "all_assertions_identical_in_order": true + } + ], + "centre_interface_review": "CENTRE-GUARD-REVIEW.md", + "scope": "Exact syntax preservation for all admission assertions in these five files. The changed emitter/controller centre boundary and single-provider controls require the separate semantic review; assertion counts alone do not prove them." + }, + "owner_replay": { + "status": "PASS_FROZEN_OWNER_AND_INTEGER_MAJORIZATION_REPLAY", + "seed_mode": "included_frozen_seed", + "parent_plan_sha256": "258a8b9baa245fa4096828671e2f1d1462b5af08d56890629622ef6125eaddda", + "parent_owners_sha256": "935ff1a6823c6625daba3349b28d74acf9a3d70a5947ae155aa66c7821804add", + "owners_semantic_sha256": "c09faf298565c1388c02370fdd4e61dd542579fe1898e842d5096cc97b68191d", + "owners_gzip_sha256": "90ff7657a23dcfb67532b49c0800c5fc259b27c89005081e24bf184869e1bd57", + "majorization_semantic_sha256": "9ed3fdb41fb8dbc6542de7701c78bb8f3bb728604057daf82a537bde182ab9fc", + "global_profile": { + "1": 181093, + "2": 29164, + "3": 32429, + "4": 11520, + "5": 4032, + "7": 7, + "8": 582, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + }, + "scope": "Exact hosting nomination and callwise fixed-point replay; full supplier admission is separate." + }, + "global_replay": { + "status": "PASS_GAUGE44_STRICT_GLOBAL_REPLAY", + "kappa": "1649483702558979/1000000000000000000", + "kappa_decimal": "0.001649483702558979", + "complex_lower": "1652208994368411824947/1000000000000000000000000", + "bit_lower": "413456747036699736067/250000000000000000000000", + "gain_over_pr635_percent": "0.8093060205252829126484020359439672024956960385078942889840023844750830", + "spec_sha256": "fee57674a7f36b30b1e7eb96a8f567a90a522217bc644c1a6a1f8bff85196fbf", + "stages": [ + { + "name": "restore-parent", + "seconds": 2.089, + "exit_code": 0, + "log_sha256": "fc3a01967636bd3173ee7e5049fae45b890e1fad4564b6acdd6aaca30a4e4ea5" + }, + { + "name": "bind", + "seconds": 0.962, + "exit_code": 0, + "log_sha256": "71f679ce5a123fb58397fd6852ba64ce3832fd20e81a096bfda9a1cf3237237a" + }, + { + "name": "emit", + "seconds": 4.817, + "exit_code": 0, + "log_sha256": "90ce07d06a8eaffdb66201e8346021183e5a803395fb9f6d8ceb0e5ff068ef2c" + }, + { + "name": "audit", + "seconds": 19.625, + "exit_code": 0, + "log_sha256": "66b4abb2a88a4eaba8a8baa3585ef4aa819be5f8acb7947bae734b3478280456" + }, + { + "name": "invoice", + "seconds": 1.804, + "exit_code": 0, + "log_sha256": "5d10712d494304287749dd7a6c3369f9b707bba30e9f567b68230669dcf5418a" + }, + { + "name": "assembly", + "seconds": 0.808, + "exit_code": 0, + "log_sha256": "768d3215f1918117dc6c33b4cfeaf0b5f5da9ba5c77178db4bb1d08d000e226f" + }, + { + "name": "admission-controls", + "seconds": 0.885, + "exit_code": 0, + "log_sha256": "051d242318154827c1672ffbb63ad2bdc8ecc4033be650b791dd69cd57d716b3" + } + ], + "scope": "Conditional native exact-complex witness after complete conservative admission, moment and outer checks; PR559 exact-cover recurrence correction only, bit bad-residue surcharge and H1-H5 retained. The new source-branch gauge and retired-basis completion, 44 cold dimension-four ends, and explicit all72 whole-owner dispatch are composed with the same cited unchanged PR543 bit supplier as PR635. All-size compiler, common-label/mutable-source realization, whole-call hosting, precision/tape and analytic transfer remain assumptions. No unconditional theorem or full Lean certification." + }, + "admission_mutations_rejected": 69, + "controller_mutations_rejected": 15, + "frozen_template_content_sha256": "0c2aab7dc120f5882a0171496cbbe819cac81373dcb425802a15f45e36898a46", + "fresh_template_content_sha256": "a1692259fb5a06bbebdc1049a7f757c6d2fc79ff8c31ed0c25b38fe9f98ed051", + "template_comparison": { + "sole_changed_field": "async_schedule.source_plan_sha256", + "frozen_plan_sha256": "609adb126d7d3de2abdd9275f9015589c0b137d0d19821c2c3e7c1a8541c18d2", + "fresh_plan_sha256": "b2e4b1f063250c40e0087f77e896882c60f36ed8764e86ba1610dec9bdff7394", + "explanation": "Fresh phase review differs only in its measured seconds. Runtime provider binding consequently changes the plan byte hash. All remaining serialized template fields match exactly; each runtime hash is checked against its own file." + }, + "assembly_matches_frozen_rates_and_profile": true, + "post_replay_packaging": "Four files received trailing-whitespace cleanup only; complete parsed ASTs were checked unchanged. Constructor input pin refreshed. Admission assertion comparison rerun.", + "scope": "Changed construction and exact recipe, fresh native ledgers/wrappers/phases, independent scalar and guard audits, integer owner reproduction, strict global admission and independent pricing. No predecessor full replay, seed-discovery optimizer or PDF generation. Local Python 3.14; Python 3.11 is covered by CI." +} diff --git a/research/gauge44-slots/MANIFEST.json b/research/gauge44-slots/MANIFEST.json new file mode 100644 index 0000000000..6daa9abfd6 --- /dev/null +++ b/research/gauge44-slots/MANIFEST.json @@ -0,0 +1,174 @@ +{ + "CONSTRUCTION.md": "7d96eb958a6b4274ea4c4c539b585f8ae2e89363b76aef930f90d2d513e164ea", + "LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "LOCAL-VALIDATION.json": "f81fbd98eb608b8119f03f89a5692bcd610845fc97022337931586d8582b706e", + "NOTICE.md": "7a8d17b04da1e6c9d0ec217fb5bda72faa09d9a21695128722dd1e2827870fcf", + "PROOF-NOTE-BARCH.md": "c24f211b09358b25d6cf47dd18e4bbd8bcf4ecf279e6f1c6c90613cfa230818d", + "PROOF-NOTE-BIT.md": "dd771adb12f6f0bef0e2931c28b21b243b04d5f512370cbad1207275c342aaf7", + "PROOF-NOTE-FRAMES-X4.md": "39c50420ebb6e8813706a49b2cf759f277c4afac9f6780fc0a7ac6a5fb86e036", + "PROOF-NOTE-LAYERS.md": "92bb85b056803770882afa916277c5b49a7027159c113a106e7b2b33e57c097f", + "PROOF-NOTE-LEAVER.md": "e4f9482ef551d6d4300d8ed8bb7c34dc9327fbcfa30a502bf3476b78468e60c3", + "PROOF-NOTE-NOTRI.md": "774d1ff7b77844990da7bc1feff7f9ffff8b1f4f9b03232a620f1f9a29935414", + "PROOF-NOTE-P6N.md": "cef8fad3d6644b4376ed15c4c5c46c68324009ab8f42d10bfa2da4b505b2c26d", + "PROOF-NOTE-PROMO.md": "c170e5196d3081f86ac377c6fe614ca17f6281972837580275ce5af41cbc64ae", + "PROOF-NOTE-SW4.md": "d7bb225f1a7f9fd363e819a67e92a5fe14c0942f6c3616d73609cc48042daf3d", + "README.md": "bd4248499e577321f17aacba1d7815a5eb0f9cbe88faeb8fef38b71bdf3a684c", + "RESULT.json": "6cbc5f16cb2bdc279cf518b8670cedec1869069daa609a6803d4d377f13b813c", + "SOURCES.json": "abb903d9b46388f99325a3939eb68171ac163c66b4b62b7961ea46daa20a88f0", + "UPSTREAM-NOTICE.md": "a75967ebc34e3bf2ff2c25c08e6c7f1a61b0c0d171cfd1b62196ae2caaf2c610", + "code/assemble.py": "4c270a996b380ab712f72b81173ab24f1c73203a33578f261bfbaa7e67d75aec", + "code/assembly_controls.py": "e4c0f7828af64fdaef1896e4448d0212bd3041805097140b8cfafd098f8a6162", + "code/audit_allcold.py": "a87d7f4844ca963516637d249b14a0654f67f8047b6b265ae25b0cf30963e503", + "code/bind_providers_portable.py": "1d39bcc7b63ac158e021454beaae897d123e174360573762aecade3cd43193f6", + "code/bit_supplier_controls.py": "e6d33fb61a570c3f50669412acc467a3fd06ef0b806da6a75bc296c6ba2142a5", + "code/emit_allcold.py": "17c110c7c8d219e79e7dce36b19c4781e7effa800086cec03384387ad9acc7aa", + "code/freeze_spec.py": "f96c2b9cd886596bc7ab267f77abe9d16b6cbb5a724a5ad0a1d18d540369ed93", + "code/generated_identity.py": "c8af22719c0f3097a991a3f6ccac8f090afd2faba554745733d9ea88f2c25708", + "code/invoice_allcold.py": "141bd2fd58bbfb5b8d0fc8f56f61c45586d5608a5af3487c6b883dd987f998ec", + "code/prepare_global.py": "8c0dae301a8f34b77a5a462f840952d08ed120576212adf5051bc09bcad874dc", + "code/restore_parent.py": "69b7b25ff85e9b8160e233c1d415cc6a0272019e5c486dcec14cb6c349e7024d", + "code/witness.py": "779c5172894b992131e85be1e592ed2a1aec8c287b872ff42007d36a7291e444", + "construction/COLD44-RECIPE.json.gz": "22d0e01e990c0f1c588607a095271f7844851a437ba07174505e98e9528aed4c", + "construction/COMPLETION-PRIORITY.json": "0274ffca1725e7460aaf7b672bc1248aa6dfdec11e5f0fec91af18b829f8ba47", + "construction/INPUTS.json": "edd32ad9a55d3c508ca2ad90c74b5c87c7f7ca509d96b856a2176fa452780f99", + "construction/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "construction/NOTICE.md": "defe7e44af610e25a6c50c1c3b2efd0972d0690574995c0c872fc50eebf4c816", + "construction/REBUILD-CHECKS.json": "1f9d754c89cfed632a6eee919a42d00c6677a8fb4fe1d40615c903242addbc91", + "construction/UPSTREAM-NOTICE.md": "a75967ebc34e3bf2ff2c25c08e6c7f1a61b0c0d171cfd1b62196ae2caaf2c610", + "construction/barch/LOCAL-PINS-barch-U8.json": "2d16f99e1f71fd66378f5f767cf4cfa2a58264919a95074c7b31029f39a3c9f5", + "construction/barch/RECIPE-U8.json": "292f0e9f82824c4111728cf4de929bf6e43320fbbdc77658aae9681906b0d652", + "construction/barch/build_tri.py": "0fba65b31c2fd71864c291358bb0ad8d5f7e1be07e21df23f0ae73d7b966002e", + "construction/barch/reproduce_barch.py": "19bc970aa6af25ab0e7fa96fb65c64dd0c5243976d8f2cb733cba839155482c1", + "construction/barch/run_controls.py": "42639bf62bf57795e3ea615c1944c67efed00f28591333daeb3139bf63d04476", + "construction/build_gauge_cold44.py": "ec730a4d3ff12fb058780718b1d5a7afe61243c532679ef347a5a48e2af0a3bb", + "construction/construct_gauge_xcentre.py": "d8d295566ef2399af2da0707a4adc83e07aa26d2344c01a66bd0ca7684cf9217", + "construction/frames/FRAME-RECIPE-sw4.json": "a2c7ca4d44671386d05974e2627645b42bbb7da7a35cefff6e9fa158b6ac8473", + "construction/frames/LOCAL-PINS-frames-sw4.json": "bc416b8f6443d59c715fb358c4d70fa27eae2d306388ffe0e2a303f60d929f7f", + "construction/frames/build_frames.py": "200847a7e8b3125cbeea0765dad67650e0bf83d32b66d72ba4977e99b8ee8eeb", + "construction/frames/frame_controls.py": "477de854ec9184a2c73d6ac3857a9d0cbd6bc04b71d10a105e7344434b492a77", + "construction/frames/reproduce_frames.py": "dc39ada9a2eb387310be181f3cea5dbd4b538632a888cd7372ece5e38a771832", + "construction/jx/LOCAL-PINS-jx-X4.json": "95c5114c8e937c2737a1b9f9da97303f2e5e129d39e6dfcc4010e99bfdb9c974", + "construction/jx/RECIPE-X4.json": "9d42c6b38e8124f5ffe15da56c260a7fba7260626bf3c5f8cbd93aa4a71ceadd", + "construction/jx/build_jx.py": "3cc7550b0c24bb54e245c6f7f16de489fd7844721fbb64aac628f38f43887916", + "construction/jx/reproduce_jx.py": "5c7afebb4eb7fcdeb7e971cfbc457cf071850e2da21c3c71295efdd453c2399c", + "construction/layers/build_pivot_swap.py": "8e8bced88be2e592ded40929499bac385ca92fcc1fa59183c22229dbf34093b8", + "construction/layers/layer_end_controls.py": "7829187bfc8f909948d5250e0ec00f02c89f5fe98306a3ed88daee36cb3c92ef", + "construction/layers/reproduce_layers.py": "435699f6f79c6c7fb8d6cc5a8382576d6ac88747583a975ff671e45440b93c4e", + "construction/layers_np/COLD-LAYERS-RECIPE-NP.json.gz": "3164cfb71baaeba4ac43427bc14075a225fc3a32ecd9341e58aa52c03a4ee2c0", + "construction/layers_np/HPE-RECIPE-NP.json": "43900139f618bdc06b8319098fb8dccaf4fc315b43ef7c067ca2cd778cdba2c1", + "construction/layers_np/PIVOT-SWAP-NP.json": "d49b8d316da1cbdaf995dd0e8314d3c67cc9cd4d5902e9d85ccb907be645bef5", + "construction/layers_np/reproduce_np.py": "1a304144a250d00d14154692ba522365b036777cf2b6fac466095e8ba733c16c", + "construction/layers_p6n/COLD-LAYERS-RECIPE-P6N.json.gz": "17e218a17e47c58fe2cde775ab2314d3d84030a61327b7f13da61cae3b374ad4", + "construction/layers_p6n/P6N-SPEC.json": "132a59635077d6afe80f99964a6935fce1dc2ece6587d74209c6f9c60025c8f1", + "construction/layers_p6n/layer_end_controls.py": "fc58c5699ba6191c1163a3041241f6f0b619626c4462cd99bcf88210bac9e81e", + "construction/layers_p6n/reproduce_p6n.py": "aa7d6bcbed05aa1c689437c07a26e5c95be3c700c0c1fb7bcf91c432a88436ca", + "construction/leaver/CHAIN-PINS-k8.json": "9dfcecf963d8fa6d1cf5ba212336437a51f03c1444a1c6d33e54d2bf762970a9", + "construction/leaver/CODED-CELLS-k8.json": "7347f814850a838bd617bc7a55c307cec2b72becde2f12ea3e2e1af344b43563", + "construction/leaver/COLD-LAYERS-RECIPE-NP-k8.json.gz": "6416043008fca68463c0026fb7be500bafbf6b592b1caf42701101531814df33", + "construction/leaver/COLD-LAYERS-RECIPE-P6N-k8.json.gz": "24a304493f28d7b419d3023598ff728deb63e1582cd65011e438951ae22c0beb", + "construction/leaver/FRAME-RECIPE-LV-k8.json": "b53b97ecbefb60cddceec08172438f1902178d9438bcd98ecc736c43773c3065", + "construction/leaver/HPE-RECIPE-k8.json": "907db3b20e2e54e230567259575ac89e7eac2b60ce0daac11b6b98849ce45ee9", + "construction/leaver/LEAVER-PINS-k8.json": "ab6ce39246d102f55d63c819c4cded2450c515b0e99afe5023f726054afc73f6", + "construction/leaver/LEC-REASON-PINS-STACK-k8.json": "d87ed7b5869bed4a3d266f0ce5fc784cbe88340a625d22ab9f580fa00872df19", + "construction/leaver/LEC-REASON-PINS-k8.json": "b07279e41ec9d8f89e8509081e1e7f2c8e8b062fd951b22608a03ac461982914", + "construction/leaver/PIVOT-SWAP-k8.json": "3ef7acf0cf67442a532f25b53d5fbeda76d3a84524118df8e003ca69b5cac0bb", + "construction/leaver/PROMO-RECIPE-k8.json": "bc017d6d5126f5f975e7fdae84642963c86ff74f7056ec4764192b5f4497dc83", + "construction/leaver/RECIPE-U8-k8.json": "51e5e37bfcd1dd1f4e2ce1bb60d23f645e5881e36f3aa556f1533543a40e548e", + "construction/leaver/RECIPE-X4-k8.json": "4199b9b6bb28f3f79fa01744a0520a60fdf783eddca459f86830535f759b67c1", + "construction/leaver/REGROUP-LEAVER-k8.json": "b846ea56bc8c58d2513b257f9bea7de5136484b7d66c5bf3d8e3211fc48e4b8e", + "construction/leaver/TRI-LEAVER-k8.json": "b22e6ecf76104de66844bd617c4ca80f5546ba0966a50e5e9aa0ffea4976cb30", + "construction/leaver/build_frames_lv.py": "2eb80d612aa59a7bd8b04a122045e3bd2b83a21954e3164943cd20cf6050a21b", + "construction/leaver/cells-k8/CORE-01+.json": "3d2afc4986f1f3aceacd1e0572daebfb79134ba6af7677150083d0912676427c", + "construction/leaver/cells-k8/CORE-01-.json": "8f8620f47ce5ba5abf6179d1a5a986c25903ba71b6711a7035815968b5888927", + "construction/leaver/cells-k8/CORE-23+.json": "53b65cbaeb24bb2a4625f107a39c0ba3797f37aa4980096f22dff7cdbd76440d", + "construction/leaver/cells-k8/CORE-23-.json": "e34431338f5527838c6e0d0caff885bde82624b0791f2a072c5b4e49faa6b98d", + "construction/leaver/cells-k8/CORE-45+.json": "ba8f3aa26032dc36e2db4073e2cac9fc61d7a475d534a749bdfcbecf3aa103a9", + "construction/leaver/cells-k8/CORE-45-.json": "302024488efff30c820b5bbf6b422c6106bb5a9ee851bef8fccc16512ca789e7", + "construction/leaver/cells-k8/CORE-67+.json": "0a7aa4ee46e7f05c9cf0c1a36791d49e439c0c9c473e76cf954b0655463dae05", + "construction/leaver/cells-k8/CORE-67-.json": "0a7aa4ee46e7f05c9cf0c1a36791d49e439c0c9c473e76cf954b0655463dae05", + "construction/leaver/cgx_leaver.py": "3af491c63dd96204a7c36006c7e419c2e5ce77e5bc453ccd2495c1e41f83f87c", + "construction/leaver/layer_end_controls_leaver.py": "4ba676f1ea326b739a64c3477f64eeb295f8151514f78fa7e62b71e4373a6206", + "construction/leaver/reproduce_leaver.py": "831bfdf2247b5d864b74c3b2b6a475718053d48570851d48bd1c5471d410ee30", + "construction/leaver/reproduce_leaver_chain.py": "2bc3fc3f32e0f957a0731b79254c553ca48fc6d4d47c4f99d6cd31e1901d85b5", + "construction/notri/PRIO6.json": "de0412511b0dd1af13e9717bc791126ac0e91c569b5391fd6c70268083045d15", + "construction/notri/cgx.py": "3da039d4184097c14802f9dbf972520d5b807671196f5e47a2247bc9f29bb418", + "construction/notri/cold44x.py": "f0bc3500efb2c839a0f8cb03dbb9ea0a54f1dfc71ef81e5373b3d638ac5b8296", + "construction/notri/port_stage_x.py": "38310744d054e393ea35e996047cddeb2d212141aaaaa4b07f7a4663b11db8e7", + "construction/notri/reproduce_notri.py": "90148c2a0422b4f92164298a283de73d413ab3d4cb7151a0e6b643a37ea025a8", + "construction/promo/LOCAL-PINS-p6n-k4.json": "a92bb02266596956bd53e9c86e8bbcc6639c92b4a4a248a1521f8eb79228271f", + "construction/promo/PROMO-RECIPE-p6n-k4.json": "fa6065d142646f7ab1f268912ce0cf5a1a6cd33c3994ff96bd6e204cf16b3e90", + "construction/promo/build_promotion.py": "9c9e2001b8d68bbe934d136026276fe97bd9bf6f94d4d78441fc28e14aca4daf", + "construction/promo/make_recipe.py": "ba9e4fdc0c1be7f6a150a5a50909911257a1a8c7cc5d03d61f541178fc07c122", + "construction/promo/promo_controls.py": "786c51f84b53698c2c833083506c4432c30eb0ed3b71e7dbe458a70c7413c372", + "construction/promo/reproduce_promo.py": "f979be666c3f5cf57e342a8427863c0b35b67ca4d3be495ac386f6870deb2026", + "construction/reproduce.py": "047bb9b3536b0b16bb08a21cd9fd80404ca9d022345f1aeab34b21dffc281c92", + "construction/slots/RECIPE-SLOTS-k8.json": "0bfffa6a90a3a9635d168f7f55e2003c773c422ded75822b6947cf499f59a55b", + "construction/slots/SLOT-PINS-k8.json": "55dd229684febecb80638eff9c6b3986623e8539c6c956753b350209c3e0efe2", + "construction/slots/verify_slots.py": "bc1c0e3e3d7c81dc1649f5be82cdd2399e543d46c24879cb975877bf9b7957be", + "construction/sw4/LOCAL-PINS-sw4-P6k4.json": "3c06bf68b28ff125a6a2372bb70cefd76fb9fe1333438cd34dfb5b617cd70327", + "construction/sw4/NOTES.md": "3a3ddb0c77b188e67fc453ccb3efe9323f87028092a6ce4d259b7dc99d702446", + "construction/sw4/SW4-RECIPE-P6k4.json": "fa58d0ffc95d10b7453daefe4b34404a52895f94126ef973e92e92106cd615fa", + "construction/sw4/build_sw4.py": "9a295f3d534594a6b1326d8a6647e947670d1c6fbc92f37f5169661fde4c8f66", + "construction/sw4/reproduce_sw4.py": "3d082e0cc576fb1b4fb9e5dd11d63bab697c8a8626e2837813cd00d100b1aeac", + "data/FRONTIER.json": "56bed9070d5f0b7585d7b7fd62984696dbc5158e5187663030920a57e1cbfab2", + "data/OWNERS.json.gz": "32ca30cd1c652ef6ad43657273a08a157e1df3545e759ab36306a0d0b516fb4a", + "data/PLAN.json": "1dec4ca3af6d45d82286005cae4c5e56e7253adefb117d797da55c55c891af08", + "data/PREPARATION.json": "1d576298bfafc509992113fdd58b5482655a88e321cbfafe9386588eb6fbb6e9", + "data/SPEC.json": "8e95ae8087124189cbd366d0e9d1c5ebededff536ff3501927b4b2a2e8dac70e", + "data/UPSTREAM-PINS.json": "ccc37ab7fbf78947fe02c7f57ea672d2e4eae8454cb1158ed964c75bf423869b", + "evidence/ADMISSION-CONTROLS.json": "5ebcc945c53f8279ac3bb6249e1d46422b7c7ddeb41c580ab5cbb3ca886dcf28", + "evidence/ASSEMBLY.json": "847f339db218f62ffabacb4655ba4dc6e8a15f67014ca01b1146083f393b009f", + "evidence/BINDING.json": "f80ad585c9cf94989d459971189fbb176084aedbe27edf5b5cccc5c2a44de43b", + "evidence/CENTER-COMPATIBILITY.json": "c66c7da1099ac8618381e2a7cb48b09b43ccf8d125ff124e129aba8ddb922cf3", + "evidence/LOCAL-STAGES.json": "64165b81b7119a2b23e99d3f3dfe8aa1702f373efe90d82d136c17786ffb6591", + "evidence/REPLAY.json": "45a6065c41df0c2b04e185b4727c7ad8eac5ebeb637dbb7bebffc184415b49a2", + "evidence/STAGES.json": "09d7c6daf1e93c58863267141dedc3873264d3baede0cddefda0d56ecb560458", + "evidence/audit/ASYNC-AUDIT.json": "df19a41a599bf24fd1efaeb2394af63208f95b9e3ca4f83c6f23e9641fb3d662", + "evidence/audit/GLOBAL-PREFIX.json": "5a6fd0d91a650ad5aa830771fb4333b015f06bc4ded02807d65aee260ce9e671", + "evidence/audit/IDLE-REMAINDER-FRAMES.json": "95f5165a10dd187000dba9e55afbc1b7dce5a315cfedfa72e4f8344471149048", + "evidence/audit/OWNERS-AND-PROFILE.json": "a32ecc0d5387d65648e1ff284209122860ee37aaba43ce2dd12024c4bc394313", + "evidence/audit/PREFIX-AND-INVOICE.json": "14b0f41c88209e800236ce4ebbf91d83537e22e18807153d90013f7eee57a582", + "evidence/global/ACTUAL-SIGMAS.json.gz": "bf3b7814b54b30c726cae1dfabd3c09211c8f34cc943534565b131a0006b483f", + "evidence/global/GLOBAL-TEMPLATE.json.gz": "f713f8e66aaeaebb8202fe72bf36c7d23497152497342c27892e0fda3092f95b", + "evidence/global/HOSTED.json": "60866eb6ced5b9eb259bfc1d59ea7b80fb439164b629e868586ad5bef845a88e", + "evidence/global/IDLE-REMAINDER-FRAMES.json.gz": "734fd9bbe0afa2cc1e492bb7effef1aa8f0d8926ab1d9420d64c30045b30e784", + "evidence/layers/LOCAL-AUDIT-LAYERED.json": "a596d7262374a023ae079e0da41d20189bd3ca4594101e5e6f402ce5799df9ff", + "evidence/leaver/CELL-MUTANTS-LV.json": "308975b8288cb9c853ee6b69e68b25e6f3727d259dccfb7509042f103bb03220", + "evidence/leaver/FRAME-CONTROLS-LV-k8.json": "9629e499a7f01f2db1e41873344a1476708f41698a0b145888ee569e580a31dd", + "evidence/local/CANONICAL-WORD.json.gz": "92941c2b718b533f1d3addb710d261a6e2b9ec5d19f0051d79775b08cb2571ed", + "evidence/local/CLIFFORD-RECIPES.json": "0a60293f43d88dbb1b321f02e61204afe1b6272b1346968ef35705caea1e4771", + "evidence/local/CLIFFORD-REVIEW.json": "4e3cdd616d105a49bbf1948bb53e49938d515c42f1c026781d1b5e9cb636db12", + "evidence/local/FULL-WORD.json.gz": "0ad202612f010df4ab66432a628247b37ad8b497dd6b27595b1685cbd7eb119e", + "evidence/local/INDEPENDENT-LOCAL-REPLAY.json": "18d68326ce0aca76911d561e79a817bce90cb8adfe053e19621c7ae0298b842e", + "evidence/local/LOCAL-CHECKS.json": "2b8a6a6854b8df8ecd84d8ff2b92f720c81454636988e6a0dfdc1f6c29d1c82c", + "evidence/local/LOCAL-PROGRAMS.json.gz": "172dc3d23e437909ddc01d07b12ede735afbb5bb6145f1ddf5c2e03097dfebe2", + "evidence/local/RESIDUAL-ADAPTERS.json": "bb6c23ba1b8dd5d2016724c3348b4e91a6b91daaa3f56bbd5216cb7a96bf5c94", + "evidence/local/SCALAR-FRAME-AUDIT.json": "cfc73040079b43ea82a42f3cf4c910edda1362deb09ec21c816c329347313bcb", + "evidence/local/WRAPPER-CHECKS.json": "84c727930f85f1c91900d6d12c523735c8b5d6907cd3eb1bd1030fe1fd4161d7", + "hosting/PROOF.md": "45bb3de8a10298a4cf5a278c3343be22a7d2e735be93a4e9454f24df7275faf0", + "hosting/README.md": "004bcdf6c78bd0316f0606d9e636511f94e1e80cbd79cce1a7e3bc55076d9bf1", + "hosting/audit_frozen.py": "a8d9c7c894cb44453aea93b33141559824f6c3ff81a85a6d066f4a10a2757659", + "hosting/expand_owners.py": "0f826377881d0c9405f90d9f5feac857c7c7cf8aef5bcf22d326bc274f038a70", + "hosting/frozen/FROZEN-AUDIT.json": "df6c7181a097900ee9d37db17bd25436a570f21caaa0cc2108712907ab02904b", + "hosting/frozen/MAJORIZATION.json.gz": "ec5f94b13d190d72bc0608dc9fe2498cc43ba9deb05028159a812ec1e4dcacdf", + "hosting/frozen/MANIFEST.json": "9df028adfa5120c60d2c78bfab06822cf4e6ed55502816b7d6dec19c1a2e4967", + "hosting/frozen/MATCHING-RECEIPT.json": "e1af2ac2c6e2457646d52dd693fb961f6279e10fe50eae9873f2ed149b6735b2", + "hosting/frozen/OWNERS.json.gz": "90ff7657a23dcfb67532b49c0800c5fc259b27c89005081e24bf184869e1bd57", + "hosting/frozen/REPRODUCTION.json": "8354f63148621c5fcf09cd16b496dedd677d813f83974e1f341ce38a1fffec81", + "hosting/frozen/SEED-OWNERS.json.gz": "eb3be5eebbb84349d7e7f1bde2fc77772a12ad5bccc6dab7c4efd8d903e2a048", + "hosting/frozen/SEED-RECEIPT.json": "aecfef753379106f5289f31251584c642e2cf7e4fa2d0886bb4ef9e922f8d9ba", + "hosting/frozen/SEED-REPRODUCTION.json": "4f6d49a85f43c98c816877d783470ca717be2349caceb991bf756eedece1b194", + "hosting/reproduce.py": "7551004d8d15cebcecc6793ebd17385830390935ccd1a8957f1c5472bce6ec82", + "hosting/reuse_owners.py": "2106fe79bd89071e62a3a25c1e444531e14fb89f88b4bdeb72d7b40c91266402", + "independent/CENTRE-GUARD-REVIEW.md": "7b82518d7ddf042d6e71174bc286311fa72127e0dc6dc9e500025fcf7abbf897", + "independent/GAUGE-COLD44-INDEPENDENT-AUDIT.json": "9fb5265c4d2ddf3d615e46600954c79cd1a42481500a0973a5695fcb9f2558c9", + "independent/GAUGE44-GLOBAL-GUARD-REVIEW.json": "631107a9a9acb02441ce80298f815e0c624f811b0d58c6fd78f8dc58d564bb5b", + "independent/GAUGE44-INDEPENDENT-PRICE.json": "6e222b252f3453446d0e41b08f00a9bf9449ce3588b6ddc00c9accc1c00e7683", + "independent/README.md": "25668a62d8c91f6860f8412cf2fc750ba41bf1085dad3709ad5067c7956eac89", + "independent/audit_local.py": "03afcfc9da428b3f6edac81c1fee7f277ab81b64998efae78380b63498dec6cd", + "independent/price_profile.py": "d2f548ad6b99f64a8ca5fbaf822a89560bb99359957ce3420b497f6a46fc0acf", + "independent/review_guards.py": "b83164d6c0122a055b3281f3381b305683a875760a2d727dd0188bb2aa59d67d", + "inputs/PR589-EXPECTED.json": "b9f0e5ca038abe837b0007c8fe006f366a6f02009244ac57705a8a200e2301f4", + "verify_global.py": "16bd5e54598592e92e210f99065348c5df261b8350fdc688072ce053d15b088a", + "verify_manifest.py": "723d726dbbe5b65a49caecae0f1aab664a1413fb639abfd3e826a5a538e14e5b" +} diff --git a/research/gauge44-slots/NOTICE.md b/research/gauge44-slots/NOTICE.md new file mode 100644 index 0000000000..30d0c8cd3c --- /dev/null +++ b/research/gauge44-slots/NOTICE.md @@ -0,0 +1,24 @@ +# Gauge44 attribution and scope + +New contributions by icekylinx, with OpenAI GPT-6 Astra assistance. +Local review and packaging used OpenAI Codex. Apache-2.0 applies; +the license is included. The full original PR635 notice is preserved as +UPSTREAM-NOTICE.md and construction/UPSTREAM-NOTICE.md. + +The new contribution is the changed source-branch gauge and retired-row +completion, source-carried coordinate totals, exact 44-cold-end realization, +and explicit all72 whole-family assignment using concave capacity matching +with integer majorization certificates. The center-carrier generalization +retains the exact ordered common frames and complete native local contract. +Independent local, price, interface and owner fixed-point checks are included. + +The construction retains the credited PR635 K-triangle and porting machinery, +earlier joint-prefix/HPE/frame ancestry and icekylinx's prior factory work. +#645 used the same cited PR543 bit supplier as PR635. This package (research/gauge44-leaver8) cites the merged PR589 bit supplier instead, with a derived rank-mass deficit (PROOF-NOTE-BIT.md); #645's retained PR543-based evidence is historical. It builds #645's word without K-triangles (PartialK) and stacks earlier community jp8 layers on it (G44Stack), adds the p6n ends (NoTriReopen), entrance promotions (BlockInvert) a read-set exchange (BRoute), chafreaky's #741 frames, JointXF's joint exchange, NewBArch's triangle-hybrid B rewrite and LeaverSAT's eight k8 leaver cells (with LeaverSAT2's frame re-optimisation); see README. All-size, realization, +hosting, precision/tape, analytic-transfer and bit H1-H5 assumptions remain +conditional. No upstream license, credit, source pin or AI disclosure is +replaced by this notice. + +PR641 and PR642 were checked as concurrent reported frontier comparisons. +Their endpoints and owner maps are not included here. See CONSTRUCTION.md, +hosting/PROOF.md, independent/ and README.md for the exact contribution scope. diff --git a/research/gauge44-slots/PROOF-NOTE-BARCH.md b/research/gauge44-slots/PROOF-NOTE-BARCH.md new file mode 100644 index 0000000000..8cea5a6846 --- /dev/null +++ b/research/gauge44-slots/PROOF-NOTE-BARCH.md @@ -0,0 +1,43 @@ +# PROOF-NOTE-BARCH: width-neutral triangle-hybrid B-delivery rewrite (U8) + +Construction by NewBArch (`construction/barch/`, builder `build_tri.py`, controls `run_controls.py`, recipe +`RECIPE-U8.json`). Driver: `construction/barch/reproduce_barch.py`, chained after `construction/jx`. + +## The move +On research/gauge44-frames-x's X4 word (`1e1d99ba…`), eight disjoint slots are rewritten. In each slot X an entering +copy E donates into a halves-copy X: 231 (E 450), 230 (E 452), 232 (E 454), 236 (E 456), 226 (E 451), 228 (E 453), 62 (E 455), 238 (E 457). That way, so that one target +read takes X + H in a single gate. A holder pair (for example 496/484) carries the value. Each holder is restored by a +low-end tail at its frame (early cleanup) and a FULL-cleanup restore. Entrance pre-reads keep the entering helper's +start value away from every target. + +The recipe is explicit, with every index referring to the X4 word: +- 40 B deletions; +- 40 B insertions, each with its frame; +- 32 explicit re-chosen B frames; +- 8 early-cleanup tails; +- 8 FULL-cleanup restores. + +The A section and X4's tail frames are untouched. The width is unchanged at 3778. The profile goes +{1:2548, 2:338, 3:430, 4:194, 5:56, 8:8} → {1:2548, 2:338, 3:446, 4:162, 5:72, 8:8}, a delta of {3:+16, 4:−32, 5:+16}. +The eight slots are additive (8 × 3.925e-8 ideal = 3.140e-7). Output word `090fd574…`. U8 contains B0's four slots +(231, 230, 226, 228) plus 232, 236, 62 and 238. + +## Checks rerun on every rebuild +- `build_tri.py` (standard library only) checks the base sha (`1e1d99ba…`) and the result sha (`090fd574…`). +- `run_controls.py` produces 38 outcomes, all required. The control set is pinned in `LOCAL-PINS-barch-U8.json`. + - C0 identity reproduces the input. + - The recipe word PASSes #645's independent `audit_local.py`. + - Four mutants must each FAIL `audit_local` with a pinned message, both globally and for each of the eight slots + (NAME@X): + - drop_restore: the holder is not restored, giving "all-column endpoint failure"; + - restore_full: the low-end restore is moved into the FULL cleanup, giving "all-column endpoint failure"; + - drop_preread: the inserted entrance pre-reads are omitted, giving "nonzero entrance response"; + - donation_after: the donation is placed after the target read, giving "nonzero entrance response". +- The per-end layer-end controls (`../layers_p6n/layer_end_controls.py`) reject 95. +- PR635's native chain runs, with the canonical word, local programs and Clifford recipes pinned. + +## Strict +NewBArch's strict replay: the #741 map (`G44Pack/m741`, byte-identical OWNERS) is rebound to the U8 locals with +`rewidth.py` and admitted with this package's own code (NEWWORD `admit645.py` on research/gauge44-frames-x's tree). +The result is κ 0.001661948695165034, +3.1404e-7 over research/gauge44-frames-x. The four-slot subset B0 strict-passes +at 0.001661791659578416 and the single slot V1 at 0.001661673902364948. diff --git a/research/gauge44-slots/PROOF-NOTE-BIT.md b/research/gauge44-slots/PROOF-NOTE-BIT.md new file mode 100644 index 0000000000..da06360da0 --- /dev/null +++ b/research/gauge44-slots/PROOF-NOTE-BIT.md @@ -0,0 +1,112 @@ +# PROOF-NOTE-BIT: citing the PR589 bit supplier with a derived rank-mass deficit (gauge44) + +This note is BitCap's `PROOF-NOTE-BIT.md` from `complex-571-cold14-k492-bit589`, adapted to the gauge44 package. It +covers the only verifier change relative to #645's package (`research/gauge44-global`): the bit supplier changes from +PR543 to PR589. The complex side is #645's construction, unchanged: supplier word, recipes and every complex check in +`code/assemble.py`. The only complex-side change is the repacked owner map (`data/PLAN.json`, `data/OWNERS.json.gz`), +with expected values re-derived in `data/SPEC.json`. + +## Changed sites + +The changes are in `code/assemble.py`, plus one new stage in `verify_global.py` and a new file +`code/bit_supplier_controls.py`. The independent (non-verifier) `independent/price_profile.py` is ported to PR589 as well. Every other `.py` file equals #645's. + +| # | site | before (#645) | after | +|---|---|---|---| +| S1 | bit input | `inputs/PR543-EXPECTED.json` from the multicold source, blob pin `b61d8598…` | `inputs/PR589-EXPECTED.json`, shipped in this package, blob pin `e293ddc5…`, through `load_bit` | +| S2 | bit deficit | literal `9984` | `bit_deficit(word, live)` = T(2Kv − L·cst), with L = 9, T = 32, K = (L−1)/2 = 4 | +| S3 | profile binding | (none) | Σ r·n of the bit profile = `bit.rank_mass`; moment width `BIT_M = 1 + 7L` asserted = 64 | +| S4 | pipeline binding | (none) | the record's `nine.pipeline` names the nine-stage template with 32 replicas | +| S5 | citation / receipt | input hash names the PR543 file | `bit_supplier` cites PR589 (head `a5afc8c6`, merged as `b3eb785a`, path `research/e8-bit-p111-tuned/tune/EXPECTED.json`) and records v = 111, cst = 63, COPY ranks [7×9] and the derived deficit 10272 | +| S6 | `verify_global.py` | (none) | stage `bit-supplier-controls` runs `code/bit_supplier_controls.py`; it requires status `PASS_PR589_BIT_SUPPLIER_DERIVED_DEFICIT_NEGATIVE_CONTROLS`, exactly 12 rejected controls and derived deficit 10272 | + +The shipped `inputs/PR589-EXPECTED.json` has git blob `e293ddc557742637f9f679f083a1a282d87b1b13`, which equals +`origin/main:research/e8-bit-p111-tuned/tune/EXPECTED.json`. + +## Why the derived deficit is correct + +**The identity.** The rank-mass identity of #545 and #555 is M·live − mass = T(2Kv − L·cst). Its source is +#555's README, "Rank-mass identity", and `code/adapt9p.py`, whose audit carries `DEFICIT=T*(2*K*V-L*CST)`. + +**The parameters.** The bit word has v live ports and decoder constant cst, the sum of the nine retained totals' COPY +ranks. The nine-stage chain is #463/#510 with 32 replicas, so L = 9, T = 32, K = 4 and M = 1 + 7L = 64. The live data +wires number 2KvT. + +**The constraints checked.** The verifier asserts all of: +1. cst = Σ copy_ranks, with exactly `retained_totals` = 9 entries, each in (0, 8]. +2. live = 2KvT. For #589: 2·4·111·32 = 28416. +3. Σ r·n over the priced profile = the record's `rank_mass` = 1808352. +4. M·live − Σ r·n = T(2Kv − L·cst). For #589: 64·28416 − 1808352 = 10272 = 32·(888 − 567). + +Check (4) is #645's `check_moment` guard, unchanged. So v, cst, the profile and live must all agree. + +**PR543 consistency.** The same formula reproduces #645's constant: PR543 has live = 30720, so v = 120; its nine +totals have COPY rank 8, so cst = 72; 32·(960 − 648) = 9984. + +**The deficit does not raise c.** `check_moment` uses the deficit only as an equality guard. The moment engines +compute from (profile, m = 64, live, z) and never read it. The bit value c is established only by the unchanged +acceptance tests at the same exact endpoints, with the bit bad-residue surcharge retained: accept at c and reject at +c + 10⁻²⁴, by both engines. + +## Effect on the outer chain (differs from the k492 package) + +In the k492 package the complex side bound under either supplier, so κ did not move. Here it does. With the +gm3 map the complex side certifies b = 0.001654663299688920102557, with research/gauge44-bit589's dz1 map +b = 0.00165526410310589140991, and with research/gauge44-bit589b's L1g4 map b = 0.001655496738330440231813. PR543's c = 0.001653826988146798944268 is +below b, so under PR543 the bit side would bind. BitCap's table gives the PR543 bit-side κ cap as +0.001651096360425895, which is exactly the κ of `research/gauge44-repack`. PR589's c = 0.001733427039589844234749 +exceeds b, so the complex side binds again (`binding = complex` in `ASSEMBLY.json`): κ = 0.001651929911890057 for gm3 +(conservative 0.001651929909011672) κ = 0.001652528731617094 for dz1 (conservative 0.001652528728737236), and +κ = 0.001652760598550299 for L1g4 (conservative 0.001652760595670246). +Bit589Reviewer recomputed both suppliers with the outer engine and confirmed this. The gain over gauge44-repack therefore depends on this change and on the +assumptions below. + +## Negative controls (all must be rejected; the verifier requires exactly these 12) + +Each control runs the real `assemble()` on the fresh owner/invoice receipts with one input mutated. The strict run's +`BIT-SUPPLIER-CONTROLS.json` lists all 12 as rejected. + +| control | site | rejected at | +|---|---|---| +| `revert_hardcoded_9984` | S2 | `check_moment` deficit guard (10272 ≠ 9984) | +| `ports_112` | S2 | `bit_deficit`: live ≠ 2KvT | +| `decoder_constant_64_copy_ranks_unchanged` | S2 | `bit_deficit`: cst ≠ Σ COPY ranks | +| `decoder_constant_64_with_one_copy_rank_8` (derives exactly 9984) | S2 | `check_moment` deficit guard | +| `eight_retained_totals` | S2 | `bit_deficit`: totals count ≠ 9 | +| `live_minus_one` | S2 | `bit_deficit`: live ≠ 2KvT | +| `profile_rank_mass_plus_one` | S2/S3 | `check_moment` deficit guard | +| `profile_rank_mass_receipt_mismatch` | S3 | profile mass ≠ `rank_mass` | +| `bit_lower_next_grid` | endpoint | `check_moment` reject-side moment test | +| `not_nine_stage_record` | S4 | pipeline binding | +| `tampered_bytes_next_grid` | S1 | blob pin | +| `pr543_file_under_pr589_pin` | S1 | blob pin | + +Bit589Reviewer re-traced all 12 rejection sites on the gauge44 word (b589gm3), and they match the table: `code/assemble.py` L191 (`revert_hardcoded_9984`, `decoder_constant_64_with_one_copy_rank_8`, `profile_rank_mass_plus_one`), L48 (`ports_112`, `live_minus_one`), L47 (`decoder_constant_64_copy_ranks_unchanged`, `eight_retained_totals`), L201 (`profile_rank_mass_receipt_mismatch`), L197 (`bit_lower_next_grid`), L179 (`not_nine_stage_record`) and L39 (both blob controls). dz1 and L1g4 run the same code. + +The ported `independent/price_profile.py` re-derives the deficit separately (`pr589_deficit`) and checks the same blob pin. Its regenerated receipt on this package's PLAN gives the same κ. + +## Inherited assumptions + +**PR merge status (`gh pr view`, 2026-10-13):** #589 MERGED 2026-10-12T17:00:38Z. #555 was merged 2026-10-12. #645 +is OPEN. Main's review replayed #589 freshly as "supplier-only headroom", and main's *selected* composition still +cites #543. + +**Unmerged assumptions:** +1. **#645 itself (open):** the gauge44 factory, its construction steps and all of its retained interfaces and notes. + These are unchanged here. +2. **This verifier change (S1–S6):** under review (Bit589Reviewer). The PR589 record replaces PR543 as an *input of + the gauge44 assembly*, a composition main has not selected. + +**Assumptions carried by #555/#589 (merged, stated there as review points, not theorems):** +3. #545's punctured unit: a 111-port unit with decoder constant 63 is an admissible bit supplier on the same hypotheses + as v = 120. +4. #510's nine-stage chain as re-parameterised for v ≤ 120 by #555's `code/adapt9p.py`, including the rank-mass + identity used in S2. +5. #543's interleaved scalar-interface lemma (H1–H5) for phase-B source rewrites. This is not new: #645 already + inherits it through PR543. +6. #589's two A-section transports. +7. The same bit bad-residue surcharge model as PR543 (`surcharge_model = {'complex': False, 'bit': True}`). + +## Result + +The bit-supplier change is the same as in research/gauge44-bit589 and gauge44-bit589b: the code is byte-identical and was signed by Bit589Reviewer. For this package (k8 leaver word db2c7cfb, K8c8 map), the complex side certifies b = 0.001674185476674086429846 and binds under PR589. Under PR543 the bit side would cap κ at 0.001651096360425895. κ is given in the README and `RESULT.json`. diff --git a/research/gauge44-slots/PROOF-NOTE-FRAMES-X4.md b/research/gauge44-slots/PROOF-NOTE-FRAMES-X4.md new file mode 100644 index 0000000000..a456a8127b --- /dev/null +++ b/research/gauge44-slots/PROOF-NOTE-FRAMES-X4.md @@ -0,0 +1,58 @@ +# PROOF-NOTE-FRAMES-X4: chafreaky's #741 frames and JointXF's joint exchange (X4) + +Two construction steps on top of research/gauge44-promo-p6k4sw's SW4 word P6k4sw4 (`d232183f…`). + +## 1. #741's eight B frames (`construction/frames/`) +The eight B-gate frame raises are by **chafreaky**, [#741](https://github.com/CrocSwap/integer-mult-bounds/pull/741) +(`research/complex-sw4-frame8`, commit e516b146). `FRAME-RECIPE-sw4.json` is byte-identical to #741's +`data/FRAME-RECIPE.json` (a2c7ca4d…). CompetitorMine ported #741's builder and controls; only package paths are adapted. +The step applies the frames with BlockInvert's `build_promotion.apply` and checks: +- the scalar program of A, cut, B, precondition and cleanup is unchanged; +- start and end frames are unchanged; +- the profile, the widths and the output word `e7804702…` are pinned; +- 3 pin controls are rejected; +- #741's 10 focused native controls are rejected (8 frames emptied, a changed read coefficient, paid-profile tampering); +- the per-end layer-end controls reject 95; +- the native chain matches its pins. + +The rebuilt locals equal G44Pack's F741 locals except the `seconds` field in CLIFFORD-REVIEW. +This step reproduces #741's word. The final word is built by step 2, which contains these frames. + +## 2. Joint exchange X4 (`construction/jx/`, JointXF) +There are four disjoint instances of BRoute's sw4 read-set exchange rule. Each one exchanges *two* copy pairs that +share targets: (448, 472), (458, 592), (470, 604) and (482, 614), with face registers 235, 267, 58, 427, 26, 443, 18 +and 50. #741's eight frames sit on top. The 16 moved reads keep their original stored dim-6 frames: they are +monotone-repaired rather than refitted to the plain join. The recipe `RECIPE-X4.json` is explicit: +- 32 replaced gates, 16 deleted gates and 16 inserted gates, each with its old gate asserted; +- #741's 8 frames, listed with their source; +- 16 explicit frames at the moved reads, each asserted equal to the recomputed frame. + +The builder `build_jx.py` uses only the standard library. It checks: +- target frames lie inside u_t^⊥; +- tails and ends; +- exactness of the whole B segment's rational linear map against the input (a Fraction replay); +- the recomputed paid profile and the output sha `1e1d99ba…`. + +Effect against #741's word: the profile goes {1:2556, 2:334, 3:430, 4:194, 5:56, 8:8} → {1:2548, 2:338, 3:430, +4:194, 5:56, 8:8}. The width inventory is unchanged, and each instance gives +1.0798e-7 at ideal, exactly additive. + +**Controls**, each pinned in the recipe and rerun by `reproduce_jx.py`: + +| control | outcome | +|---|---| +| C0 identity | returns the input `d232183f` | +| C1 #741 only | `e7804702`, #741's word (ties step 1 to step 2) | +| M1 one pair (448) with frames retained | `5fb6fb2e`, neutral (profile = #741) | +| N1 pre-read dropped | rejected: exactness rows [132, 135] | +| N2 pre-read with wrong sign | rejected: exactness rows [132, 135] | +| N3 plain-join refit of the moved reads | `7241cd59`, strictly worse | +| N4 a raise made dim-7 at B855 | rejected: cap at (1302, 174) | + +N3 and M1 are pinned-outcome controls (a specific different word), not rejections. They show the gain needs both the +target-sharing pair and the retained frames. + +**Other checks (JointXF):** +- `audit_local` PASS; +- native chain PASS; +- FrameCoal's global frame optimiser reaches the same profile on this move set, so X4 is frame-optimal for these moves; +- SW4Extend found the same word independently. diff --git a/research/gauge44-slots/PROOF-NOTE-LAYERS.md b/research/gauge44-slots/PROOF-NOTE-LAYERS.md new file mode 100644 index 0000000000..c4b4e85b6a --- /dev/null +++ b/research/gauge44-slots/PROOF-NOTE-LAYERS.md @@ -0,0 +1,129 @@ +# PROOF-NOTE-LAYERS: earlier jp8 layers, here stacked on the no-triangle gauge44 word + +> In this package the layers sit on the no-triangle word (R = 504), not on #645's 492-helper word. The mapping, the +> NP chain (regroup `864ff4a1` → swap `beb3579f` → layered `a9de804f`), the per-layer status on this base and the +> checks are in `PROOF-NOTE-NOTRI.md` ("Layers on this word"). The text below is research/gauge44-layered's note. It +> describes the same layers and controls on the 492-helper word; its word shas, helper numbers, counts and result +> table refer to that word. + + +This note covers the second change of research/gauge44-layered relative to research/gauge44-bit589. The first change, +the PR589 bit supplier, is covered unchanged by `PROOF-NOTE-BIT.md`. Here the community jp8 layers that were reviewed +on the k492 words (#629/#637/#641 lineage) are re-applied to #645's gauge44 provider word. The layers, their +construction code and their recipes were all reviewed earlier, on k492 words. This note says what carries over +unchanged, what is re-checked on the gauge44 word, and what is new. Sources: G44Stack's report (porting and checks on +gauge44); PivotReviewer's report (sections 1-4, Addenda 3-5); H4aReviewer's report (Addenda 7-8); JP8Ends' report. + +## What the layered word is + +`construction/layers/reproduce_layers.py` builds the layered word from a fresh `construction/reproduce.py --until word` +output. Each step is checked exactly: + +1. **Pivot swaps** (`build_pivot_swap.py`, PR641's constructor, LF sha256 `8e8bced8…`, the file PivotReviewer signed for + st2s4). It reads `PIVOT-SWAP-S6.json` and runs on #645's `regroup/FULL-WORD`. There are six pivot-role swaps: 488→560, + 489→561, 500→572, 501→573 (s4) and 513→537, 525→549 (s6). The `swaps` list is identical, gate for gate, to S6Ship's + s6/s6j3 recipe (`k492-jp8-pivot_swap.json`); only `input_content_sha256` differs, because the base word is #645's + regroup word. The constructor replays the zero response exactly, keeps the profile and width multiset unchanged, and + rejects its 30 negative controls. +2. **HPE.** PR635's `build_hpe.apply` applies the inherited jp8 hyperplane-end changes (`HYPERPLANE-END-S6.json`). Its + LF sha256 `23c9d7ce…` equals the k492 jp8 hyperplane_end recipe committed in s6j3 and earlier. +3. **cold44, exactly.** #645's `build_gauge_cold44.py` runs on the swapped HPE word. Its 44 rank-four cold ends, premix + and low tails must equal the unswapped (pinned) cold44 construction; only the FULL inverse differs. Consequently the + swaps touch no factory block. +4. **Layers.** PR635's unchanged `build_cold_end.apply(HPE, COLD-LAYERS-RECIPE)` applies the cold44 recipe plus: + - 8 entering ends: 560/561/572/573 at U24 (s4) and 597/599/537/549 at U30 (x30: #629's E1 pair, which #645 dropped, + plus s6's two ends); + - 10 factored dim-8 cold ends: p123 (310/506, 311/504, 516/327) and q4 (579, 592, 589, 518). + The output word's sha256 is pinned (`0be48b1d…`), as are its local profile `{1:2542, 2:414, 3:434, 4:154, 5:56, + 8:8}` and width inventory `{4:52, 5:48, 7:42, 8:116, 9:234}`. The recipe's `refactored_cleanup` meta lists the 8 + entering ends in `entering_low_frame_ended_helpers` (LayerReviewer's fix). That meta is copied into the word, which + is why the pinned word sha moved from `b25f0ed9…` to `0be48b1d…`; gates, frames and report are unchanged. +5. **Layer-end controls** (`layer_end_controls.py`, LayerReviewer's adaptation of PR635's `cold_end_controls.py` + d966e29a). These are raw-word negative controls on the layered word, judged by PR635's unchanged + `hpe_audit_and_transport.py`. Each mutant must be rejected at its pinned reason. The adaptation has three parts: the + lower→FULL mutant is pinned at "cleanup on non-FULL end", where gauge44 rejects it; entering ends come from the + recipe meta; and the premix-gate controls are skipped for entering ends that have no premix gate. `reproduce_layers.py` + requires exactly 59 rejections. +6. **Native locals.** PR635's native audit and transport, ledgers, local replay (the 192-bit payload bound), wrappers and + phases all pass. The result is the `--local` that `verify_global.py` consumes. + +G44Stack's run of this driver (`rlayers2`, all steps exit 0, 59 controls rejected) reproduces `locs/pq/local`, the +local G44Pack's strict runs used. Every SPEC-pinned artifact is byte-identical: CANONICAL-WORD, LOCAL-PROGRAMS, +LOCAL-CHECKS, INDEPENDENT-LOCAL-REPLAY, CLIFFORD-RECIPES, RESIDUAL-ADAPTERS and WRAPPER-CHECKS. CLIFFORD-REVIEW differs +only in a seconds field; its semantic hash is what SPEC pins. The two unpinned files that embed the word, +FULL-WORD and SCALAR-FRAME-AUDIT, differ because of the meta. + +## Per-layer status on gauge44 (G44Stack, ideal Δκ at ×72) + +| layer | prior review (k492 words) | on gauge44 | per-call Δ profile | ideal Δκ | +|---|---|---|---|---| +| pivot swaps (6) | PivotReviewer §1-2 (s4), Addenda 4-5 (s6): exact; omitting any rewritten gate is rejected; cost-neutral | all 6 recipe `before` gates match the regroup word; 30 controls rejected; cold44 rebuilds the same 44 ends | neutral | 0 | +| s4 ends 560/561/572/573 @U24 | PivotReviewer §3: (N) exact for ([24], U24) and its canonical pair; climbs paid | positive | {1:+8, 2:−4, 3:+4, 4:−4}, w −4 | +7.0e-8 | +| x30: E1 597/599 + 537/549 @U30 | #629 (E1); PivotReviewer Addenda 4-5 (537/549 end monotonically at the E1 hyperplane, whose (N) is exact) | positive | {1:+10, 2:−6, 3:+2, 4:−2}, w −4 | +2.0e-7 | +| p123 | H4aReviewer Addendum 7: 0 bad rows, dyadic, exact in all 3 orientations; (N) for (0,1039)-(0,1041); Δ recomputed | positive | {1:+6, 2:+12, 3:−12}, w −6 | +2.0e-8 | +| q4 (after p123) | H4aReviewer Addendum 8 (n_q4): exact; (N) for the 310/311/327 frames and 518's (0,1042); independent of u4 | positive | {1:+4, 2:+8, 3:−8}, w −4 | +1.4e-8 | +| **stack T_pq** | — | built and audited | {1:+28, 2:+10, 3:−14, 4:−6}, w 3794→3776 | **+3.08e-7** | + +These layers were left out because they are negative or dead on gauge44: u4 (−1.2e-6), the 249 end (−3.2e-7), a joint +p123+q4 (−2.6e-7, worse than sequential), and #627's dim-7 ends 581/590 (no dyadic basis). j3 is dead: its st2 partner +403 is one of #645's 44 ends, and cold44's block premix uses up the row space. + +**Payload.** H4aReviewer's Addendum 8 correction found that the k492 word n_q4 broke the 192-bit local payload bound +(backward prefix 280 bits). On gauge44 the layered word passes PR635's `hpe_audit_local.py` local-replay stage +(`prefix < 2**192`), both in G44Stack's `localchain.py` and as step 5 of `reproduce_layers.py`. So the q4 layer here +does not repeat that failure. + +## Verifier changes (spot widths) + +A swapped-out pivot p becomes an ordinary cold helper, and its width goes from 8 to 9. #645's global code checks the +spot helpers' widths as all 8, so the five global files gain the spot-width rule PivotReviewer signed as SOUND for +S4Ship (Addendum 3), ported to gauge44: + +- `code/witness.py`: `spot_widths(v)` gives 9 at a spot helper h with 2v+h among the swapped-out pivots and 8 + elsewhere. The swapped-out pivots are read from the recipe that SPEC key `pivot_swap` names (path and sha256; the + sha256 is asserted). Without `pivot_swap` the tuple is all 8, the same as #645. +- `code/bind_providers_portable.py`, `code/audit_allcold.py`, `code/assemble.py`: the `all(... == 8)` spot checks become + tuple equality with `spot_widths()`, which pins every spot width exactly. +- `code/assembly_controls.py`: the `cold_swap` control picks a swap partner whose width differs, so the mutant can + never be the identity. + +Here the spot helpers 264 and 276 (pivots 488 and 500) expect width 9 and the other spot helpers expect 8. The k492 +spot-width review (PivotReviewer Addendum 3) covered the same rule on k492 code. Its gauge44 port is part of this +package's review (LayerReviewer). + +## Controls and what is not re-run + +- The pivot-swap constructor's 30 controls run inside `reproduce_layers.py` (step 1). +- `verify_global.py`'s strict controls are unchanged, including the 12 bit-supplier controls and #645's admission + controls. They run on the layered locals. +- Layer-end controls: 59 raw-word mutants, all rejected at pinned reasons, run as step 5 of `reproduce_layers.py` + (see above). They cover the cold low-frame ends, the refactored cleanup, every entering end (its lower-frame gate, + profile pin and hyperplane, plus its premix gate where it has one) and each distinct dim-8 frame. LayerReviewer ran + them on the layered word (59 rejected). The k492 version (d966e29a) rejected 103-112 on the p123/q4 words; the + k492-only primitives (absorptions, factored accumulators, target writes) are absent from this word. +- #645's independent audit `independent/audit_local.py` on the layered word: PASS, with 204 entering helpers, 96 low ends, + 54 cold ends and 716 columns. Its receipt is `evidence/layers/LOCAL-AUDIT-LAYERED.json` (word `0be48b1d…`, run with + `--main`). The README's clean-clone command reruns it; only `elapsed_seconds` varies. The other `independent/` + receipts are #645's own. +- The prior (N), exactness and pricing checks for each layer were done on k492 words. On gauge44 they are covered by + the native chain (native audit, local replay, wrappers, phases) on the layered word, together with the pinned + profile and width inventory. + +## Inherited assumptions + +These are the same as `PROOF-NOTE-BIT.md` (#645 open; PR589 citation; #545/#555/#589 review points; H1-H5). In +addition: + +1. **(N) for the entering-end pairs outside #599's three Lean-covered pairs** (U24, U30, the dim-8 frames). As on + k492, these are covered by the tool check (clifford_exact / `nchk.py`) and by the native wrappers, not by a Lean + proof (PivotReviewer §3). +2. **The reviews of PR641's pivot-swap constructor and PR635's `build_cold_end.apply` / `build_hpe.apply`**, which this + package uses unchanged. + +## Result + +| | gauge44-bit589b (L1g4 map) | this package (layered, LN5c map) | +|---|---|---| +| κ | 0.001652760598550299 | 0.00165395497190225 | +| per-call width | 3794 | 3776 | +| local profile | #645's {1:2514, 2:404, 3:448, 4:160, 5:56, 8:8} | {1:2542, 2:414, 3:434, 4:154, 5:56, 8:8} | diff --git a/research/gauge44-slots/PROOF-NOTE-LEAVER.md b/research/gauge44-slots/PROOF-NOTE-LEAVER.md new file mode 100644 index 0000000000..b34a289c48 --- /dev/null +++ b/research/gauge44-slots/PROOF-NOTE-LEAVER.md @@ -0,0 +1,82 @@ +# PROOF-NOTE-LEAVER: no-helper mutable-leaver all-K cells, re-stacked layers, hybrids and a frame re-optimisation (k8) + +Construction: LeaverSAT (cells, layer re-indexing, frozen recipes) and LeaverSAT2 (frame re-optimisation). +Drivers: `construction/leaver/reproduce_leaver.py` (cell word) and `construction/leaver/reproduce_leaver_chain.py` +(everything after it). Reviews: PromoReviewer (leaver chain, k8 cells and frames, k8 clean rebuild), SW4Reviewer (hybrid structure), Q6Reviewer +(`layer_end_controls_leaver.py` v2, `LEC-REASON-PINS-k8.json`), LecReviewer (`LEC-REASON-PINS-STACK-k8.json`). + +## 1. The cell (set model, LeaverSAT) +In #781's all-K cell, a pair p with sign e replaces three face events and three packet copies. Direct delivery uses +15 reads y_i += c x_j. LeaverSAT's 21-gate circuit uses the six leaver sources x_j (face-event operands with no later +reads, restored at FULL by the inherited cleanup) as mutable intermediates. It has 3 leaver gates x_k += c x_m, +3 target gates y_a += c y_b (inverted at frame zero in the precondition and scatter, #781's recipe) and 15 reads. +Coefficients are rescaled exactly per cell, C_ij = r_i c_j. The driver re-derives the scaled gates from the unit +circuit and checks the clean map Y_i = Σ_j C_ij X_j in exact rationals. + +Native legality needs one relabelling: the plain circuit fails the native audit, because a y += y source carries +port-stage entering-helper dirt. Each cell is therefore relabelled by S6 so that y–y sources avoid targets carrying +entering dirt at that time. + +**Set k8:** all eight cells (01±, 23±, 45±, 67±), R = 480. The cores are in `construction/leaver/cells-k8/` (documentary; +the driver re-derives every scaled gate from `CODED-CELLS-k8.json`). The regroup word is `00aeefe0…` and the cell word is +cold44 `58e14a02…`. Its pairing ranks are pinned to [0,0,0,4,4,4,4,4,4,4,4,0,0,0] in `cold44x.py` and checked again in +the driver. + +## 2. Re-stacked layers (LeaverSAT; signed builders unchanged, recipes re-indexed) +| step | recipe (data) | word | +|---|---|---| +| pivot swaps (6), mapped through the leaver helper map | `PIVOT-SWAP-k8.json` | `377ab10c…` | +| HPE, greedy (22) | `HPE-RECIPE-k8.json` | `598543fa…` | +| cold44, exact (same ends, premix and tails as the unswapped cell word) | — | — | +| NP layers (s4, x30, b6, q4) | `COLD-LAYERS-RECIPE-NP-k8` | `2c1740f6…` | +| p6n ends | `COLD-LAYERS-RECIPE-P6N-k8` | `25c40614…` | +| promotions (16, minimal) | `PROMO-RECIPE-k8.json` | `84d4da2e…` | +| joint exchange (re-indexed X4) | `RECIPE-X4-k8.json` | `84d4da2e…` (identity) | +| U8-style hybrids ×6 (NewBArch's builder; instances 62, 226, 228, 230, 231, 232) | `RECIPE-U8-k8.json` | `c836d892…` | +| frame re-optimisation (exact global frame optimum, gopt2; 137 B and 2 T frames) | `FRAME-RECIPE-LV-k8.json` | **`db2c7cfb…`** | + +Three steps don't apply to k8. The sw4 exchanges use copy helpers 461, 581, 591 and 603, which the cells drop. Of +#741's eight frames, none survives. All four X4 exchange groups use dropped helpers, so the joint exchange is the +identity (0 raises, 0 frames); it is still run, with its three remaining controls (C0, C1, N3) at their pins. + +The two cold-layer recipes are LeaverSAT's frozen k8 recipes (`fea82fb8…`, `76aedf23…` as .gz) with one key added, +`input_content_sha256` = the swapped HPE word `598543fa…`, as in the k5 package. Removing the key gives the frozen +recipe content exactly. + +## 3. Controls rerun on every rebuild +- **Cell stage:** the exact clean-map check; native audit, ledgers, local replay, wrappers and phases on the cell word. +- **Pivot swaps:** the swap constructor's 30 controls. +- **Promotions:** BlockInvert's `promo_controls.py`, 11 mutants rejected at pinned sites. +- **Joint exchange:** the 3 `RECIPE-X4-k8` controls reproduce their pinned outcomes. +- **Hybrids:** `run_controls.py` gives 30 outcomes, all required. These are C0, the recipe word passing audit_local, + and 4 mutants, each run both globally and per instance. +- **Frames:** `build_frames_lv.py`'s 3 pin controls. LeaverSAT2's 6 frame-recipe mutants are rejected by the builder; + that receipt was reviewed by PromoReviewer and is not rerun. +- **Layer-end controls:** `layer_end_controls_leaver.py` v2 (`4ba676f1…`), Q6Reviewer-signed. It is the signed + per-end controls with per-word reason re-pins and **declared not-applicable sites**. A vacuous mutant site is never + skipped silently: the pins file must declare it, the declared set must equal the detected set, an identity is proven by + sha equality of the mutated and honest words, and a same-class substitute mutant is built and must be rejected at the + class's pinned reason. The count stays 95 on every word. The controls run on all five words: + - p6n, promoted, jx and hybrid words, with `LEC-REASON-PINS-STACK-k8.json`: `extra_end` only. h0 273's first + premixed partner 282 is already cold-ended at h0's frame, so the mutant is the identity (sha-proven per word); the + substitute is partner 281, cold-ended at h0's frame. + - the re-framed final word, with `LEC-REASON-PINS-k8.json`: `extra_end` as above, and `other_hp:554`. The frame + re-optimisation lowers entering end 554's tail frame to dimension 5, and no helper_final frame has dimension 5, so + the 'end at another hyperplane' mutant cannot be built; the substitute moves 554's end to another dim-8 frame and + must be rejected at the cone pre-check. This replaces the interim skip of research/gauge44-leaver. + No reason re-pins are needed on the k8 words. The receipts (`COLD-END-CONTROLS.json`) carry the not-applicable list; + the counts, the not-applicable sites with their reasons and the sha256 of each pins file (`LEC-REASON-PINS-STACK-k8.json` + d87ed7b5…, signed by LecReviewer; `LEC-REASON-PINS-k8.json` b07279e4…, signed by Q6Reviewer) are pinned in + `CHAIN-PINS-k8.json`. +- **Native chain on the final word:** the canonical word, local programs and Clifford recipes are pinned in + `CHAIN-PINS-k8.json`, which also pins every count above. + +## 4. Cell mutants (evidence, not rerun) +LeaverSAT2's `CELL-MUTANTS-LV.json` (in `evidence/leaver/`) records PromoReviewer's cell mutants M1–M6, generalised +to every cell sign. All 42 are rejected by both audit_local and the native audit, on single-cell builds. + +## 5. Strict +The owner map is G44Pack3's K8c8: its pattern-flow LNS on the R = 480 k8 word. Admitted on this package's own code, +with SPEC `width_spot_helpers` [258,270,282,294] and `pivot_swap` → `construction/leaver/PIVOT-SWAP-k8.json` (NEWWORD +discovery, freeze, strict), it gives κ 0.001671387264390146. That is +7.154e-6 over research/gauge44-leaver (k5, +0.001664233607446043). diff --git a/research/gauge44-slots/PROOF-NOTE-NOTRI.md b/research/gauge44-slots/PROOF-NOTE-NOTRI.md new file mode 100644 index 0000000000..54bd84e01d --- /dev/null +++ b/research/gauge44-slots/PROOF-NOTE-NOTRI.md @@ -0,0 +1,53 @@ +# PROOF-NOTE-NOTRI: #645's gauge44 word without K-triangles (R = 504) + +Construction by PartialK; review by NotriReviewer (scratch/NotriReviewer/FINAL-REPORT.md). Drivers: +`construction/notri/reproduce_notri.py` (this word) and `construction/layers_np/reproduce_np.py` (layers on it). + +## Why the triangles were the blocker +- In #645's gauge44, a K-block has I = 6 low registers with rank C = 4, so L = 2. Only the 2-row priority completion + fits there. The (p,−) triangle reads climb copies loc17/19/21 and source loc2. +- Without the triangles, I = 8. With the 2-row completion, rank C stays 6 (L = 2), which is why the plain removal sweep + restored nothing. With the 6-row completion (`PRIO6.json`, the list blocks 3–10 already use), rank C = 4, so L = 4, + the cap. All 14 blocks then pair at rank 4: 56 rank-four cold ends, R = 504, width 3818, profile + {1:2506, 2:336, 3:472, 4:184, 5:56, 8:8}, rank mass 5674. + +## Constructor changes (NotriReviewer §1) +- **`cgx.py`** is #645's `construct_gauge_xcentre.py`, parameterised by XPARAM. On this path the only change that takes + effect is the K-block priority: `PRIO[c]` is placed in front of the inherited rows. The prepended rows equal the + shared 6-row list of blocks 3–10 (all 8 lists identical). Every completion assert is kept (`qr_rank(M)==4`, + `len(M)==8`, the exact block-total rows). An empty TRI schedule is an input #645 already supports (`NH = 504 − 3·0`). + `HELPER-MAP` is the identity on 728. The `exch`, `COPYL` and `hyb` branches are inert here (defaults, empty, not + reached). +- **`port_stage_x.py`** is PR635's `build_port_stage.py`. The helper map only has to be injective rather than onto; + with no triangles it is onto again. +- **`cold44x.py`** is #645's `build_gauge_cold44.py`. Its per-block pin `r == len(L) == (2 if K-block else 4)` is + replaced by `r == len(L)` together with the explicit per-block pin `PAIRING_RANKS` (set by the driver to [4]*14, + and to #645's pattern in `--control-g44`). Helpers outside the 224+16b ranges join their blocks (EXTRAH, empty here). + Every other assert is kept (U, nonlocal premix, `rank(Qmat) == NB`). +- **Control.** `reproduce_notri.py --control-g44` runs the same scripts with #645's four triangles and no XPARAM. It + reproduces #645's gauge44 word `78c7aada…` exactly, with ranks [2,2,2,4,4,4,4,4,4,4,4,2,2,2]. + +## Exactness and locals (NotriReviewer §2) +- Replay: 0 bad rows over 27,932 gates, all dyadic; forward, inverse and adjoint are exact. None of the 6,448 + compensation additions reads an ended helper, and the precondition never touches one. +- 0 FULL-remainder gates touch an ended helper; E⊂U holds for every entering end. The delta against gauge44 + ({1:−8, 2:−68, 3:+24, 4:+24}, width +24) matches the reported profiles. +- (N): all 17 pairs pass (14 cold dim-4 pairs with 4 helpers each, plus 3 dim-8 entering pairs). +- `audit_local.py --main`: PASS. Payload: prefix bits 66 forward and 72 backward, against 192. +- Native locals: 25 controls rejected, Lemma A on 22 frames, 17 wrapper mutants rejected. The rebuilt locals equal + the strict locals (`PartialK/runs/none_p6/local`): byte-identical except CLIFFORD-REVIEW and SCALAR-FRAME-AUDIT, + which differ only in their `seconds` field. + +## Layers on this word (G44Stack) +The layers are research/gauge44-layered's (see `PROOF-NOTE-LAYERS.md`), mapped to the 504 numbering: +- the 6 pivot swaps 494→566, 495→567, 506→578, 507→579, 519→543, 531→555, which are neutral (same 46 HPE helpers, + same 56 cold ends); +- s4 566/567/578/579 at U24; +- x30 608/610/543/555 at U30; +- BlockCombine's b6; +- q4. + +p123 is negative on this base and dropped; j3 is dead (L = 0 at U24 and U30). The chain is regroup `864ff4a1` → swap +`beb3579f` → layered `a9de804f`, with profile {1:2534, 2:346, 3:458, 4:178, 5:56, 8:8} and width 3800. On that word +the signed `layer_end_controls.py` rejects 59/59 and `audit_local.py` passes with 216 entering helpers, 120 low ends, +66 cold ends and 728 columns. NotriReviewer independently reproduced a9de804f from the packaged recipes. diff --git a/research/gauge44-slots/PROOF-NOTE-P6N.md b/research/gauge44-slots/PROOF-NOTE-P6N.md new file mode 100644 index 0000000000..bef9ad2de0 --- /dev/null +++ b/research/gauge44-slots/PROOF-NOTE-P6N.md @@ -0,0 +1,34 @@ +# PROOF-NOTE-P6N: six b-type dim-8 cold ends on the layered no-triangle word (p6n) + +Construction by NoTriReopen. Driver: `construction/layers_p6n/reproduce_p6n.py`. Review: Q6Reviewer. + +## What p6n adds +On research/gauge44-notri-layered's word NP (`a9de804f…`), p123's lane is rebuilt as three factored dim-8 pairs +(`P6N-SPEC.json`): +- [512, 513] at U = (256,128,66,34,16,8,6,1). The old pair [310,512] split a rank-3 end; [512,513] replaces it; +- [311, 510] at U = (256,128,72,40,24,4,2,1); +- [522, 327] at U = (256,128,66,34,18,10,6,1). + +They are built with the same premix-only factored construction as p123/q4/b6 (JP8Ends' stackJ/stackE, CarrierBypass +pattern; PR635's unchanged `build_cold_end.apply`). The cold-layer recipe `COLD-LAYERS-RECIPE-P6N.json.gz` is NP's +recipe plus these six ends; its meta lists 72 cold ends and the 8 entering ends. Applied to NP's swapped HPE word, it +gives p6n `34b683fa…`: +- profile {1:2540, 2:358, 3:446, 4:178, 5:56, 8:8}; +- widths {4:64, 5:48, 7:54, 8:122, 9:216}; +- width 3794 (NP 3800); +- Δ per call {1:+6, 2:+12, 3:−12}, w −6, every end b-type. + +## Checks +- **NoTriReopen:** native chain including phases PASS; audit_local PASS; 95/95 layer-end controls rejected. +- **Q6Reviewer:** + - exact; + - (N) passes on all 21 pairs; + - payload 55/72 bits, against 192; + - the per-end control variant `layer_end_controls.py` (fc58c569…, which Q6Reviewer signed for research/gauge44-pq6) rejects 95/95; + - 165 further mutants on the six ends are all rejected. + The LayerReviewer-signed `../layers/layer_end_controls.py` controls one end per dim-8 frame family, so it would not + control each new end. This package therefore uses the per-end variant for p6n and for the promoted word built on it. +- **Rebuild:** `reproduce_p6n.py` pins the input NP word, the output sha, profile and widths, and 95 controls. + +## Remaining capacity (NoTriReopen) +After p6n, the only residual cold capacity on the word is 2 a-type units, and every end there prices about −9e-7. diff --git a/research/gauge44-slots/PROOF-NOTE-PROMO.md b/research/gauge44-slots/PROOF-NOTE-PROMO.md new file mode 100644 index 0000000000..8233bbd6b8 --- /dev/null +++ b/research/gauge44-slots/PROOF-NOTE-PROMO.md @@ -0,0 +1,46 @@ +# PROOF-NOTE-PROMO: entrance promotions E4 → E5 on the p6n word + +Construction by BlockInvert (`construction/promo/`); driver `construction/promo/reproduce_promo.py`. + +## What a promotion is +An entering helper h starts at an entrance frame E (its `start_extra`) and climbs to its final frame. Promotion +enlarges E to E′ ⊃ E (here dim 4 → dim 5). That removes one paid climb from h's chain (width −1 per helper) at the +cost of re-choosing the frames of the gates on h's early chain. It is the time-reverse dual of end deepening. Two +conditions make it legal: +1. **Zero target response for h's dirt.** This condition does not depend on E, so it is inherited unchanged from the + input word. +2. **Monotone frames.** Every gate's frame must contain its registers' current frames. +Only frame annotations and start frames change. The scalar program (every gate's registers and coefficients) is +untouched, so the endpoint, every cone and the compensation are those of the input word. + +## The recipe (`PROMO-RECIPE-p6n-k4.json`, data only, minimal) +- Input: the p6n word `34b683fa…` (`PROOF-NOTE-P6N.md`), pinned. +- `entrances`: the 16 entering helpers 627, 629–631, 635, 637–639, 651, 653–655, 659 and 661–663 (four E4 kernel groups) go E4 → E5. +- `gate_frames`: 48 frame re-choices, the promotion's own entry-gate raises (12 per group); each records the old frame, + which must equal the input's exactly. This is BlockInvert's **minimal** recipe: the deterministic rule + E′ = E + ⟨smallest x⟩ on each group's entry gates (PromoReviewer). Unlike research/gauge44-promo's k3 recipe, it + carries none of the 72 price-neutral CP-SAT re-choices. +- `expected`: output `0390ec65…`, profile {1:2572, 2:326, 3:430, 4:194, 5:56, 8:8}, widths + {4:80, 5:32, 7:54, 8:122, 9:216} (width 3778). Against p6n the delta is {1:+32, 2:−32, 3:−16, 4:+16}, width −16. + +## Checks rerun on every rebuild (`reproduce_promo.py`) +- `build_promotion.py`: input pin; each old frame matches; each new entrance strictly contains the old one; the + profile and widths are recomputed from the chains, including target end climbs; output pins. +- `promo_controls.py`: the honest word passes #645's independent `audit_local.py` (exact forward and dual endpoint + frames, entrances, cones). For p6n-k4, 11 mutants are rejected at pinned sites (the count is pinned in `LOCAL-PINS-p6n-k4.json`): + - entrance outside the first gate frame; + - raised gate missing, once per promoted group; + - entrance reverted, so the profile does not match; + - ungrouped promotion; + - a recipe gate whose old frame is wrong; + - a recipe entry that is not a promotion; + - a tampered input word (the constructor's own `__main__` must refuse it at the input pin); + - a scalar tamper on a raised gate. +- The per-end layer-end controls (`../layers_p6n/layer_end_controls.py`, Q6Reviewer-signed): 95 rejected. +- PR635's native chain: transport audit (all columns, native frames), ledgers, local replay (192-bit payload), + wrappers and phases, with the canonical word, local programs and Clifford recipes pinned (`LOCAL-PINS-p6n-k4.json`). + +## Search (not run by the rebuild) +`make_recipe.py` writes the recipe from BlockInvert's CP-SAT solution (`prom.py` with `exactframe2.py`, using MinCutSel's +chain model). These promotions were priced negative before (MinCutSel #3, under a fixed-window arc-flow packer). Under +near-ideal packing (G44Pack's dissolve/gapmerge) they price positive; the strict replay confirms the gain. diff --git a/research/gauge44-slots/PROOF-NOTE-SW4.md b/research/gauge44-slots/PROOF-NOTE-SW4.md new file mode 100644 index 0000000000..a064cc54cc --- /dev/null +++ b/research/gauge44-slots/PROOF-NOTE-SW4.md @@ -0,0 +1,44 @@ +# PROOF-NOTE-SW4: read-set exchange on four entering-copy pairs + +Construction by BRoute (`construction/sw4/`, with the author's notes in `construction/sw4/NOTES.md`). Driver: +`construction/sw4/reproduce_sw4.py`. + +## The move +In P6k4 (`0390ec65…`; research/gauge44-promo-p6sw applied the same exchange to P6k3 `a38bb414…`), each of four entering packet copies h is written first as h = E_h + r: copy gate add(h, r, 1) +from a non-target face register r, with E_h being h's entering content. The pairs are (h, r) = +(461, 25), (581, 89), (591, 415), (603, 431). For each pair the read sets of h and r are exchanged in phase B: +- every post-copy target read add(t, h, c) becomes add(t, r, c), and t's entrance pre-read add(t, h, −c) (taken + while h = E_h) is deleted; +- every target read add(t, r, c) becomes add(t, h, c), with a pre-read add(t, h, −c) inserted after h's last existing + pre-read and before h's copy gate. + +Since h − r = E_h after the copy, each target's value is unchanged at the end of B. The builder checks this for every +register mod p (p = 2147483629). Moved and inserted gates take the plain join of their operands' current frames. +Every other B gate and every early-cleanup tail keeps span(old frame + current operand frames). Targets must stay +inside u_t^⊥, and tails and ends must contain the current frame. start_extra, helper_final, cleanup and the helper +numbering are unchanged. + +## Effect +Output `d232183f…`. Width 3778 is unchanged. The profile goes from {1:2572, 2:326, 3:430, 4:194, 5:56, 8:8} to +{1:2548, 2:342, 3:438, 4:186, 5:56, 8:8}, a delta of {1:−24, 2:+16, 3:+8, 4:−8}, the same as on P6k3. The four +exchanges are additive. The fourth promotion group (659, 661–663; gates B420–431) commutes exactly with the exchange: +there is no index or register overlap, and SW4Reviewer checked that applying the k3→k4 frame and start differences +to f35a852b gives d232183f. Ideal κ +3.271e-7 over P6k4. + +## Checks rerun on every rebuild +- `build_sw4.py` (standard library only): the input sha pin; the 16 explicit moves of `SW4-RECIPE-P6k4.json`; B-end + state exactness mod p; frame caps, tails and ends; the output sha, profile and W. It also runs 4 controls, all of + which must hold, each at the exact site pinned in the recipe's `rejection_expected` (all three keys N1, N2 and N3 are required): + - C0: the identity recipe reproduces the input B and early_cleanup byte for byte; + - N1: h2r without deleting the pre-read is rejected by exactness, with changed B-end rows exactly {168, 171}; + - N2: a partial exchange (one read only) is rejected by the frame cap, first at ('cap', B1192, register 169), 10 violations; + - N3: an inserted pre-read with the wrong sign is rejected by exactness, with changed rows exactly {129, 130, 169, 170}. +- The per-end layer-end controls (`../layers_p6n/layer_end_controls.py`, Q6Reviewer-signed): 95 rejected. +- PR635's native chain, with the canonical word, local programs and Clifford recipes pinned (`LOCAL-PINS-sw4-P6k4.json`). + The native transport audit re-checks every column and native frame of the exchanged word. + +## Scope of the search (BRoute) +The search was exhaustive within the single-pair family only. NP has 107 copy pairs, and 54 of them have movable +reads. Over those, every nonempty subset of one pair's movable reads gives 602 candidates: 564 are frame-illegal, and +the 38 legal ones are all full single-pair exchanges, of which exactly these 4 are positive. Cross-pair combinations +of partial moves were not enumerated. diff --git a/research/gauge44-slots/README.md b/research/gauge44-slots/README.md new file mode 100644 index 0000000000..8b48510939 --- /dev/null +++ b/research/gauge44-slots/README.md @@ -0,0 +1,265 @@ +# Seven triangle-hybrid slots on the k8 leaver word: conditional κ = 0.00167166528321877 + +This package adds one construction layer to [research/gauge44-leaver8](../gauge44-leaver8) (#1005): seven +additional triangle-hybrid B-delivery slots on #1005's final word `db2c7cfb…`. **Credit:** the slot search and +the first two slots (X = 444, 446) are **rohanarun's #987**; the other five (X = 236, 238, 434, 436, 439) were found by +running #987's search on the k8 word. The mechanism is NewBArch's #869 triangle-hybrid delivery. + +- **κ = 0.00167166528321877**. That is +2.78×10⁻⁷ over #1005 (0.001671387264390146). The complex side binds; the bit + supplier is PR589's, unchanged. +- **Construction:** #1005's reviewed `construction/barch/build_tri.py` and `run_controls.py`, both **unchanged**, + with the new recipe `construction/slots/RECIPE-SLOTS-k8.json`. The output word is `c2b29430…`, profile + `{1:2412, 2:418, 3:432, 4:142, 5:82, 8:8}`, and widths are unchanged. +- **Controls:** 34. These are C0 identity, the recipe, and the four mutants (`drop_restore`, `restore_full`, `drop_preread`, + `donation_after`) applied globally and to each of the seven slots. Every mutant is rejected and pinned in + `construction/slots/SLOT-PINS-k8.json`. +- **Frames:** the exact global frame optimiser (gopt2) finds no gain on the slot word, so there is no frame step. +- **Owners:** #1005's K8c8 owner map is rebound to the new word (widths and idle counts are unchanged). The admitted + data in `data/` passes the strict replay. + +## Verification (explicit reuse of a completed #1005 replay, as research/complex-t37-owners does for #799) + +```sh +# Completed #1005 chain (the README commands of research/gauge44-leaver8), or any completed run of it: +python -B research/gauge44-leaver8/construction/leaver/reproduce_leaver_chain.py \ + --main . --pr635 /tmp/gauge44-pr635 --leaver-dir /tmp/lv --hamming /tmp/notri-base/hamming --id k8 --out /tmp/lvc +# This package (about 3 minutes): +python -B research/gauge44-slots/verify_manifest.py +python -B research/gauge44-slots/construction/slots/verify_slots.py \ + --main . --pr635 /tmp/gauge44-pr635 --baseline /tmp/lvc --work /tmp/slots +# PASS_SLOTS_ON_CHECKED_K8_BASELINE 0.00167166528321877 +``` + +`verify_slots.py` rechecks the baseline: its complete step receipt (every chain step exited 0), the final word against +#1005's frame-recipe pin, its canonical, program and Clifford locals against `CHAIN-PINS-k8`, and all five +layer-end control counts. It then rebuilds only the slot layer and its controls, the native locals of the new word, the +independent `audit_local`, and the strict global replay of this package's data. Everything below is #1005's README, +unchanged; this package differs from it only in `construction/slots/`, `data/`, this section, `RESULT.json` and `MANIFEST.json`. + +--- + +# Gauge44 without K-triangles, with earlier jp8 layers, the p6n ends, entrance promotions, a read-set exchange, #741's frames, a joint exchange, a triangle-hybrid B rewrite, no-helper mutable-leaver cells and PR589's bit supplier: conditional κ = 0.001671387264390146 + +Under the retained all-size compiler, common-label/mutable-source realization, whole-call hosting, precision/tape, exact-recovery, analytic-transfer and bit H1–H5 interfaces (as in #645), and the PR589 bit supplier, + +$$ +T(n)=O\!\left(n(\log n)^{1-\kappa}\right),\qquad +\kappa=\frac{1671387264390146}{10^{18}}=0.001671387264390146. +$$ + +**The construction is icekylinx's [#645](https://github.com/CrocSwap/integer-mult-bounds/pull/645) (`research/gauge44-global`).** This package builds the research/gauge44-barch construction (items 1–8) and then rebuilds its word around **no-helper mutable-leaver cells** (item 9): +1. **No-triangle word (PartialK).** #645's gauge44 chain is run with **none** of the four (p,−1) K-triangles, so there are R = 504 helpers. In the six K-blocks {0,1,2,11,12,13}, the completion priority is extended by the 6-row list `construction/notri/PRIO6.json`. Every block then pairs at rank 4, giving **56** rank-four cold ends instead of 44. `construction/notri/reproduce_notri.py` rebuilds this word from a #645 `reproduce.py --until word` output. It uses PartialK's generalisations of #645's and PR635's constructors (`cgx.py`, `port_stage_x.py`, `cold44x.py`; each differs from its original only in the documented parameters). It pins: + - the pairing ranks [4]*14, inside `cold44x.py` and again in the driver; + - the word (`3e99ba77…`); + - the canonical word, the local programs and the Clifford recipes. + `--control-g44` instead rebuilds #645's own gauge44 word (`78c7aada…`) with the same scripts. +2. **Layers on the no-triangle word (G44Stack).** `construction/layers_np/reproduce_np.py` applies to the no-triangle regroup word (`864ff4a1…`): + - research/gauge44-layered's six pivot swaps, mapped to the 504-helper numbering (`PIVOT-SWAP-NP.json`, swap word `beb3579f…`); + - the greedy HPE (46, `HPE-RECIPE-NP.json`); + - the exact cold44 (same 56 ends); + - the entering ends s4 (566/567/578/579 at U24) and x30 (608/610/543/555 at U30), plus BlockCombine's b6 and q4 dim-8 cold ends (`COLD-LAYERS-RECIPE-NP.json.gz`). p123 is negative on this base and dropped; j3 is dead. + The layered word is pinned (`a9de804f…`): profile `{1:2534, 2:346, 3:458, 4:178, 5:56, 8:8}`, width 3800. The signed research/gauge44-layered files `construction/layers/build_pivot_swap.py` and `construction/layers/layer_end_controls.py` are used unchanged, and the latter must reject exactly 59 controls. The global code is research/gauge44-layered's (spot-width rule): SPEC `width_spot_helpers` [270,282,294,306] and `pivot_swap` → `construction/layers_np/PIVOT-SWAP-NP.json`, giving spot widths [9,9,8,8]. +3. **p6n ends (NoTriReopen).** `construction/layers_p6n/reproduce_p6n.py` applies `COLD-LAYERS-RECIPE-P6N.json.gz` to the NP swapped HPE word with PR635's unchanged `build_cold_end.apply`. That is NP's cold-layer recipe plus six b-type dim-8 cold ends: [512,513], [311,510] and [522,327], which rebuild p123's lane as clean pairs. The result is the p6n word (`34b683fa…`): profile `{1:2540, 2:358, 3:446, 4:178, 5:56, 8:8}`, width 3794. The per-end layer-end controls (`construction/layers_p6n/layer_end_controls.py`, the variant Q6Reviewer signed for research/gauge44-pq6) must reject exactly 95 mutants. See `PROOF-NOTE-P6N.md`. +4. **Entrance promotions (BlockInvert).** `construction/promo/reproduce_promo.py --base p6n --k p6n-k4` applies the minimal recipe `PROMO-RECIPE-p6n-k4.json` to the p6n word with BlockInvert's deterministic constructor `build_promotion.py`. The recipe promotes the 16 entering helpers 627, 629–631, 635, 637–639, 651, 653–655, 659 and 661–663 (four E4 kernel groups) from E4 to E5, the time-reverse dual of end deepening. It re-chooses the frames of the gates affected. Only frame annotations and start frames move; the scalar program is unchanged. The promoted word is pinned (`0390ec65…`): profile `{1:2572, 2:326, 3:430, 4:194, 5:56, 8:8}`, widths `{4:80, 5:32, 7:54, 8:122, 9:216}`, width 3778. BlockInvert's `promo_controls.py` runs #645's independent `audit_local.py` on the honest word and must reject 11 recipe- and word-level mutants at pinned sites. The per-end layer-end controls (95) and the native chain then run with pins. The recipe is minimal: 48 entry-gate frame raises and no other frame re-choices. See `PROOF-NOTE-PROMO.md`. +5. **Read-set exchange (BRoute).** `construction/sw4/reproduce_sw4.py` runs BRoute's standard-library builder `build_sw4.py` with `SW4-RECIPE-P6k4.json`, 16 explicit moves, on the promoted word (`0390ec65…`). For the entering-copy pairs (h, r) = (461,25), (581,89), (591,415) and (603,431), the phase-B target read sets of h and its face register r are exchanged. The entrance pre-reads are deleted or inserted so that every register's value at the end of B is unchanged; the builder checks this mod p. Frames are repaired monotonically, and the width is unchanged. The SW4 word is pinned (`d232183f…`): profile `{1:2548, 2:342, 3:438, 4:186, 5:56, 8:8}`, width 3778. Four controls (C0 identity, N1 kept pre-read, N2 partial exchange, N3 wrong sign) must all hold, each at its exact rejection site pinned in the recipe. The per-end layer-end controls (95) and the native chain then run with pins. See `PROOF-NOTE-SW4.md` and `construction/sw4/NOTES.md`. +6. **#741's eight B frames (chafreaky).** `construction/frames/reproduce_frames.py` applies chafreaky's [#741](https://github.com/CrocSwap/integer-mult-bounds/pull/741) frame recipe, `FRAME-RECIPE-sw4.json`, byte-identical to #741's. Ported by CompetitorMine, it raises eight B-gate frames with the scalar program unchanged, giving #741's word `e7804702…`. It runs 3 pin controls, #741's 10 focused native controls, 95 layer-end controls and the native chain with pins. +7. **Joint exchange X4 (JointXF).** `construction/jx/reproduce_jx.py` runs JointXF's standard-library builder `build_jx.py` with `RECIPE-X4.json` on #741's word (step 6's output). It makes four disjoint instances of the read-set exchange, each over two target-sharing copy pairs: (448,472), (458,592), (470,604) and (482,614). The moved reads keep their stored frames, and #741's frames are included. All edits are explicit, and B-segment exactness is checked by Fraction replay. The final word is pinned (`1e1d99ba…`): profile `{1:2548, 2:338, 3:430, 4:194, 5:56, 8:8}`, width 3778. All seven pinned controls are rerun; C1 reproduces #741's word. See `PROOF-NOTE-FRAMES-X4.md`. +8. **Triangle-hybrid B rewrite (NewBArch).** `construction/barch/reproduce_barch.py` runs NewBArch's standard-library builder `build_tri.py` with `RECIPE-U8.json` on the X4 word (step 7's output). Eight disjoint slots receive a width-neutral B-delivery rewrite: an entering copy donates into a halves-copy so that one target read gets X+H, with holder restores and entrance pre-reads. The U8 word is pinned (`090fd574…`): profile `{1:2548, 2:338, 3:446, 4:162, 5:72, 8:8}`, width 3778. All 38 pinned controls are rerun (identity, the recipe word passing audit_local, and four audit_local-rejected mutants, globally and per slot). See `PROOF-NOTE-BARCH.md`. +9. **Leaver cells, re-stacked (LeaverSAT, LeaverSAT2).** `construction/leaver/reproduce_leaver.py --id k8` replaces the no-triangle word's construction with all eight all-K cells (01±, 23±, 45±, 67±). Each cell is LeaverSAT's 21-gate circuit, which uses the face-event leaver sources as mutable intermediates (R = 480, cell word `58e14a02…`). `construction/leaver/reproduce_leaver_chain.py --id k8` then re-applies items 2–8 with the signed builders unchanged and LeaverSAT's re-indexed recipes: swap, HPE, cold44, NP, p6n, 16 promotions, the re-indexed X4 exchange (the identity on this word) and 6 U8-style hybrids (`c836d892…`). It adds LeaverSAT2's exact global frame re-optimisation (`FRAME-RECIPE-LV-k8.json`), which gives the final word **`db2c7cfb…`**. Every intermediate word, control count and native pin is pinned (`LEAVER-PINS-k8.json`, `CHAIN-PINS-k8.json`). The per-word layer-end controls are the Q6Reviewer-signed `layer_end_controls_leaver.py` v2 (95 each), on the p6n, promoted, jx and hybrid words (`LEC-REASON-PINS-STACK-k8.json`) and on the re-framed final word (`LEC-REASON-PINS-k8.json`); its declared not-applicable sites are sha-proven identities or unbuildable mutants, each replaced by a same-class substitute that must be rejected. Items 5 and 6 don't apply on this word: the sw4 copies are dropped, and none of #741's frames survive. Items 1–8 remain in the package as the construction record of research/gauge44-barch. See `PROOF-NOTE-LEAVER.md`. +10. **Owner map (chafreaky's [#685](https://github.com/CrocSwap/integer-mult-bounds/pull/685), adapted by G44Pack).** The map is G44Pack3's K8c8, from its pattern-flow LNS (`pflns`) on the R = 480 k8 word. Its lineage is the #685/#741 map (chafreaky) via G44Pack's relabel and rewidth, followed by G44Pack3's LNS. It was admitted with this package's own code (NEWWORD discovery, `freeze_spec.py`, strict) at κ 0.001671387264390146. Only PLAN and OWNERS change. These are search inputs only; no verifier reads them. +11. **Expected values.** `data/SPEC.json` is re-derived by #645's discovery → `code/freeze_spec.py` → strict chain. + +- **κ = 0.001671387264390146** (conservative 0.001671387261540186). That is +0.4298% over research/gauge44-leaver (k5 cells, κ 0.001664233607446043; same chain on five cells, FO_c1 map) and +0.5672% over [#942](https://github.com/CrocSwap/integer-mult-bounds/pull/942) (κ 0.001661960547713947) and +1.3279% over #645, +0.9174% over research/gauge44-notri-layered (0.001656193765416678) and +0.7701% over research/gauge44-promo (0.00165861362787227) and +0.7273% over research/gauge44-promo-p6 (0.001659319032684569) and +0.7075% over research/gauge44-promo-p6sw (0.001659645685315104) and +0.5869% over research/gauge44-frames-x (0.001661634653669567) and +0.5679% over research/gauge44-barch (0.001661948695165034) and +0.6131% over [#741](https://github.com/CrocSwap/integer-mult-bounds/pull/741) (chafreaky, κ 0.001661202643272239) and +0.6654% over [#685](https://github.com/CrocSwap/integer-mult-bounds/pull/685) (chafreaky, κ 0.001660339298410333). The complex side certifies 0.001674185476674086429846 and PR589's bit supplier gives 0.001733427039589844234749, so **the complex side binds**. Under PR543 the bit side would cap κ at 0.001651096360425895 (`PROOF-NOTE-BIT.md`). +- **Evidence.** This package's own code admitted G44Pack3's K8c8 map (NEWWORD discovery → `freeze_spec.py` → strict): `verify_global.py` passes (`PASS_GAUGE44_STRICT_GLOBAL_REPLAY`, κ 0.001671387264390146) against G44Pack3's k8 locals, with SPEC `width_spot_helpers` [258,270,282,294] and `pivot_swap` → `construction/leaver/PIVOT-SWAP-k8.json`. It equals G44Pack3's own strict κ for K8c8. `RESULT.json` is that replay's `REPLAY.json`, converted to LF. The locals rebuilt by `reproduce_leaver_chain.py --id k8` match G44Pack3's strict locals byte for byte in every file except CLIFFORD-REVIEW and SCALAR-FRAME-AUDIT. Those two differ only in their `seconds` field, and the comparison normalises only that field (canonical `d1bf3c6f…`, programs `683f8323…`/`2d184e4d…`, Clifford `e3bfdfa2…`, pinned in `CHAIN-PINS-k8.json`). For this package, `data/SPEC.json` and a fresh `verify_global.py` replay on locals rebuilt by the two drivers are the binding record. +- **Independent price.** `independent/GAUGE44-INDEPENDENT-PRICE.json` is regenerated on this package's `data/PLAN.json` with the ported `independent/price_profile.py`: `PASS_FROZEN_PROFILE_TWO_EXACT_ENGINE_AND_OUTER47_CROSSCHECK`, κ equal to the strict replay. +- **Independent local audit.** `evidence/layers/LOCAL-AUDIT-LAYERED.json` is #645's `independent/audit_local.py`, run with `--main` on the final leaver word (content `db2c7cfb…`): `PASS_INDEPENDENT_EXACT_FORWARD_AND_DUAL_ENDPOINT_FRAMES_ENTRANCES_CONES`, 192 entering helpers, 78 low ends, 48 cold ends, 704 checked columns. Rerunning it reproduces the receipt except `elapsed_seconds` and, across zlib versions, `compressed_sha256`. +- **Historical #645 files (PR543-based, 492 helpers).** These are #645's files, retained unchanged and **not** updated for this package: `LOCAL-VALIDATION.json`, `CONSTRUCTION.md`, `hosting/`, `evidence/` (except `evidence/layers/`), the rest of `independent/`, `construction/reproduce.py` and its inputs, and `code/prepare_global.py`. They describe #645's word, owner map, PR543 supplier and κ 0.001649483702558979. `code/prepare_global.py` is #645's one-shot owner-map preparer, hard-wired to #645's parent plan and R = 492. No verifier imports it. This package's PLAN/OWNERS are frozen search output, and the strict replay checks them. `construction/reproduce.py` is still used for its `--until word` shadow and hamming inputs; its 492-word output is then superseded by `construction/notri/`. `construction/layers/reproduce_layers.py` is research/gauge44-layered's driver for the 492-helper layered word, shipped unchanged as signed; it is not used here. +- **Construction and code files** by committed LF SHA-256: + - `construction/notri/reproduce_notri.py` 90148c2a0422b4f92164298a283de73d413ab3d4cb7151a0e6b643a37ea025a8 (no-triangle driver) + - `construction/notri/cgx.py` 3da039d4184097c14802f9dbf972520d5b807671196f5e47a2247bc9f29bb418 (PartialK's generalised construct_gauge_xcentre.py) + - `construction/notri/port_stage_x.py` 38310744d054e393ea35e996047cddeb2d212141aaaaa4b07f7a4663b11db8e7 (PartialK's generalised build_port_stage.py) + - `construction/notri/cold44x.py` f0bc3500efb2c839a0f8cb03dbb9ea0a54f1dfc71ef81e5373b3d638ac5b8296 (PartialK's generalised build_gauge_cold44.py plus the PAIRING_RANKS pin) + - `construction/notri/PRIO6.json` de0412511b0dd1af13e9717bc791126ac0e91c569b5391fd6c70268083045d15 (completion priority) + - `construction/layers_np/reproduce_np.py` 1a304144a250d00d14154692ba522365b036777cf2b6fac466095e8ba733c16c (NP layer driver) + - `construction/layers_np/PIVOT-SWAP-NP.json` d49b8d316da1cbdaf995dd0e8314d3c67cc9cd4d5902e9d85ccb907be645bef5 (layer input) + - `construction/layers_np/HPE-RECIPE-NP.json` 43900139f618bdc06b8319098fb8dccaf4fc315b43ef7c067ca2cd778cdba2c1 (layer input) + - `construction/layers_np/COLD-LAYERS-RECIPE-NP.json.gz` 3164cfb71baaeba4ac43427bc14075a225fc3a32ecd9341e58aa52c03a4ee2c0 (layer input) + - `construction/layers/build_pivot_swap.py` 8e8bced88be2e592ded40929499bac385ca92fcc1fa59183c22229dbf34093b8 (signed, unchanged) + - `construction/layers/layer_end_controls.py` 7829187bfc8f909948d5250e0ec00f02c89f5fe98306a3ed88daee36cb3c92ef (signed, unchanged) + - `construction/layers/reproduce_layers.py` 435699f6f79c6c7fb8d6cc5a8382576d6ac88747583a975ff671e45440b93c4e (signed, unchanged, unused here) + - `construction/promo/reproduce_promo.py` f979be666c3f5cf57e342a8427863c0b35b67ca4d3be495ac386f6870deb2026 (promotion driver) + - `construction/promo/build_promotion.py` 9c9e2001b8d68bbe934d136026276fe97bd9bf6f94d4d78441fc28e14aca4daf (BlockInvert's constructor) + - `construction/promo/promo_controls.py` 786c51f84b53698c2c833083506c4432c30eb0ed3b71e7dbe458a70c7413c372 (BlockInvert's controls) + - `construction/promo/make_recipe.py` ba9e4fdc0c1be7f6a150a5a50909911257a1a8c7cc5d03d61f541178fc07c122 (discovery-side recipe writer (search, not run)) + - `construction/promo/PROMO-RECIPE-p6n-k4.json` fa6065d142646f7ab1f268912ce0cf5a1a6cd33c3994ff96bd6e204cf16b3e90 (minimal recipe) + - `construction/promo/LOCAL-PINS-p6n-k4.json` a92bb02266596956bd53e9c86e8bbcc6639c92b4a4a248a1521f8eb79228271f (native pins) + - `construction/layers_p6n/reproduce_p6n.py` aa7d6bcbed05aa1c689437c07a26e5c95be3c700c0c1fb7bcf91c432a88436ca (p6n driver) + - `construction/layers_p6n/layer_end_controls.py` fc58c5699ba6191c1163a3041241f6f0b619626c4462cd99bcf88210bac9e81e (per-end controls (Q6Reviewer-signed variant)) + - `construction/layers_p6n/COLD-LAYERS-RECIPE-P6N.json.gz` 17e218a17e47c58fe2cde775ab2314d3d84030a61327b7f13da61cae3b374ad4 (p6n recipe) + - `construction/layers_p6n/P6N-SPEC.json` 132a59635077d6afe80f99964a6935fce1dc2ece6587d74209c6f9c60025c8f1 (p6n end spec) + - `construction/sw4/reproduce_sw4.py` 3d082e0cc576fb1b4fb9e5dd11d63bab697c8a8626e2837813cd00d100b1aeac (SW4 driver) + - `construction/sw4/build_sw4.py` 9a295f3d534594a6b1326d8a6647e947670d1c6fbc92f37f5169661fde4c8f66 (BRoute's builder (stdlib)) + - `construction/sw4/SW4-RECIPE-P6k4.json` fa58d0ffc95d10b7453daefe4b34404a52895f94126ef973e92e92106cd615fa (16-move recipe with pinned rejection sites) + - `construction/sw4/LOCAL-PINS-sw4-P6k4.json` 3c06bf68b28ff125a6a2372bb70cefd76fb9fe1333438cd34dfb5b617cd70327 (native pins) + - `construction/frames/reproduce_frames.py` dc39ada9a2eb387310be181f3cea5dbd4b538632a888cd7372ece5e38a771832 (#741 frames driver) + - `construction/frames/build_frames.py` 200847a7e8b3125cbeea0765dad67650e0bf83d32b66d72ba4977e99b8ee8eeb (#741's builder (chafreaky; ported)) + - `construction/frames/frame_controls.py` 477de854ec9184a2c73d6ac3857a9d0cbd6bc04b71d10a105e7344434b492a77 (#741's controls (chafreaky; ported)) + - `construction/frames/FRAME-RECIPE-sw4.json` a2c7ca4d44671386d05974e2627645b42bbb7da7a35cefff6e9fa158b6ac8473 (#741's recipe, byte-identical) + - `construction/frames/LOCAL-PINS-frames-sw4.json` bc416b8f6443d59c715fb358c4d70fa27eae2d306388ffe0e2a303f60d929f7f (native pins) + - `construction/jx/reproduce_jx.py` 5c7afebb4eb7fcdeb7e971cfbc457cf071850e2da21c3c71295efdd453c2399c (X4 driver) + - `construction/jx/build_jx.py` 3cc7550b0c24bb54e245c6f7f16de489fd7844721fbb64aac628f38f43887916 (JointXF's builder (stdlib)) + - `construction/jx/RECIPE-X4.json` 9d42c6b38e8124f5ffe15da56c260a7fba7260626bf3c5f8cbd93aa4a71ceadd (explicit recipe with pinned controls) + - `construction/jx/LOCAL-PINS-jx-X4.json` 95c5114c8e937c2737a1b9f9da97303f2e5e129d39e6dfcc4010e99bfdb9c974 (native pins) + - `construction/barch/reproduce_barch.py` 19bc970aa6af25ab0e7fa96fb65c64dd0c5243976d8f2cb733cba839155482c1 (U8 driver) + - `construction/barch/build_tri.py` 0fba65b31c2fd71864c291358bb0ad8d5f7e1be07e21df23f0ae73d7b966002e (NewBArch's builder (stdlib)) + - `construction/barch/run_controls.py` 42639bf62bf57795e3ea615c1944c67efed00f28591333daeb3139bf63d04476 (NewBArch's controls (38 outcomes)) + - `construction/barch/RECIPE-U8.json` 292f0e9f82824c4111728cf4de929bf6e43320fbbdc77658aae9681906b0d652 (explicit recipe) + - `construction/barch/LOCAL-PINS-barch-U8.json` 2d16f99e1f71fd66378f5f767cf4cfa2a58264919a95074c7b31029f39a3c9f5 (control set and native pins) + - `construction/leaver/reproduce_leaver.py` 831bfdf2247b5d864b74c3b2b6a475718053d48570851d48bd1c5471d410ee30 (cell driver) + - `construction/leaver/cgx_leaver.py` 3af491c63dd96204a7c36006c7e419c2e5ce77e5bc453ccd2495c1e41f83f87c (cell constructor) + - `construction/leaver/reproduce_leaver_chain.py` 2bc3fc3f32e0f957a0731b79254c553ca48fc6d4d47c4f99d6cd31e1901d85b5 (chain driver) + - `construction/leaver/layer_end_controls_leaver.py` 4ba676f1ea326b739a64c3477f64eeb295f8151514f78fa7e62b71e4373a6206 (per-word reason re-pins and declared not-applicable sites, v2 (Q6Reviewer-signed)) + - `construction/leaver/build_frames_lv.py` 2eb80d612aa59a7bd8b04a122045e3bd2b83a21954e3164943cd20cf6050a21b (LeaverSAT2's frame builder) + The global code is research/gauge44-layered's, unchanged: assemble 4c270a99, assembly_controls e4c0f782, audit_allcold a87d7f48, bind 1d39bcc7, witness 779c5172. The bit-supplier code is research/gauge44-bit589's, unchanged: verify_global 16bd5e54, bit_supplier_controls e6d33fb6, price_profile d2f548ad. +- **Line endings.** These files had CRLF in the admitted trees and are committed as LF only (`crlf.replace(b'\r\n', b'\n') == lf`, no lone `\r`): + - `construction/jx/build_jx.py`: CRLF 775c2ae60eec9abc…, committed (LF) 3cc7550b0c24bb54… + - `construction/jx/RECIPE-X4.json`: CRLF 228079b304358500…, committed (LF) 9d42c6b38e8124f5… + - `construction/barch/build_tri.py`: CRLF 2432372f148a4d34…, committed (LF) 0fba65b31c2fd718… + - `construction/barch/run_controls.py`: CRLF 18e1f5953403784f…, committed (LF) 42639bf62bf57795… + - `construction/barch/RECIPE-U8.json`: CRLF 3e97088ad641eb6e…, committed (LF) 292f0e9f82824c41… + - `data/SPEC.json`: CRLF b2515d29d54e5027…, committed (LF) 1208c7c3ae84c158… + - `RESULT.json`: CRLF 454c25d5b0cd7df7…, committed (LF) 72bf797ce995ff61… + - `independent/GAUGE44-INDEPENDENT-PRICE.json`: CRLF 0b8482888e64327f…, committed (LF) 6e222b252f345344… + - `evidence/layers/LOCAL-AUDIT-LAYERED.json`: CRLF 6b63fc2bbea96cb5…, committed (LF) a596d7262374a023… + + +Clean-clone verification, from the repository root (Python 3.11+, assertions on; prepare the pinned #635 supplier as in the #645 section below): + +```sh +python -B research/gauge44-leaver8/verify_manifest.py +python -B research/gauge44-leaver8/construction/reproduce.py \ + --main . --pr635 /tmp/gauge44-pr635 --out /tmp/notri-base --until word +python -B research/gauge44-leaver8/construction/notri/reproduce_notri.py \ + --main . --pr635 /tmp/gauge44-pr635 --word-dir /tmp/notri-base --out /tmp/notri-word --word-only +python -B research/gauge44-leaver8/construction/layers_np/reproduce_np.py \ + --main . --pr635 /tmp/gauge44-pr635 --notri-dir /tmp/notri-word --hamming /tmp/notri-base/hamming --out /tmp/notri-np +python -B research/gauge44-leaver8/construction/layers_p6n/reproduce_p6n.py \ + --main . --pr635 /tmp/gauge44-pr635 --np-dir /tmp/notri-np --out /tmp/p6n +python -B research/gauge44-leaver8/construction/promo/reproduce_promo.py \ + --main . --pr635 /tmp/gauge44-pr635 --base p6n --base-dir /tmp/p6n --k p6n-k4 --out /tmp/promo +python -B research/gauge44-leaver8/construction/sw4/reproduce_sw4.py \ + --main . --pr635 /tmp/gauge44-pr635 --promo-dir /tmp/promo --recipe P6k4 --out /tmp/sw4 +python -B research/gauge44-leaver8/construction/frames/reproduce_frames.py \ + --main . --pr635 /tmp/gauge44-pr635 --sw4-dir /tmp/sw4 --out /tmp/frames +python -B research/gauge44-leaver8/construction/jx/reproduce_jx.py \ + --main . --pr635 /tmp/gauge44-pr635 --frames-dir /tmp/frames --out /tmp/x4 +python -B research/gauge44-leaver8/construction/leaver/reproduce_leaver.py \ + --main . --pr635 /tmp/gauge44-pr635 --word-dir /tmp/notri-base --id k8 --out /tmp/lv --word-only +python -B research/gauge44-leaver8/construction/leaver/reproduce_leaver_chain.py \ + --main . --pr635 /tmp/gauge44-pr635 --leaver-dir /tmp/lv --hamming /tmp/notri-base/hamming --id k8 --out /tmp/lvc +python -B research/gauge44-leaver8/independent/audit_local.py \ + --word /tmp/lvc/frames/FULL-WORD.json.gz --main . --output /tmp/lvc-audit.json +python -B research/gauge44-leaver8/verify_global.py \ + --main . --local /tmp/lvc/local --work /tmp/lvc-global +# kappa 0.001671387264390146 +``` + +Optional control: `reproduce_notri.py ... --control-g44 --out /tmp/notri-ctl` rebuilds #645's gauge44 word `78c7aada…`. + +## Predecessor: #645's README (unchanged below; paths read `research/gauge44-global`) + +### Gauge44: conditional κ = 0.001649483702558979 + +New contributions by **icekylinx**, with **OpenAI GPT-6 Astra** assistance. +Local review and packaging used OpenAI Codex. Original notices and Apache-2.0 licenses are retained. + +Under the retained all-size compiler, common-label/mutable-source realization, +whole-call hosting, precision/tape, exact-recovery, analytic-transfer and bit +H1–H5 interfaces, + +$$ +T(n)=O\!\left(n(\log n)^{1-\kappa_{645}}\right),\qquad +\kappa_{645}=\frac{1649483702558979}{10^{18}}=0.001649483702558979 +$$ + +(This is #645's own κ. **This package's κ is the one at the top of this README.**) + +The certified complex saving is `0.001652208994368411824947`. The unchanged +[#543](https://github.com/CrocSwap/integer-mult-bounds/pull/543) bit supplier gives +`0.001653826988146798944268`, so the complex side binds. The conservative complex +model separately certifies κ `0.001649483699681650`. + +### Construction + +This replaces the local supplier and all 72 owner assignments of pinned +[#635](https://github.com/CrocSwap/integer-mult-bounds/pull/635). Source/copy exchanges +at equal rank-one frames alter the factory's arbitrary-helper-input propagation. +An invertible completion of the retired rows and source-carried coordinate totals +then expose 44 rank-four cold endpoints. Exact input premixes, low-frame tails +and a recomputed full inverse realize them. + +| Per-invocation quantity | Complete #635 JP8 | Gauge44 | +| --- | ---: | ---: | +| Source / target ports | 112 / 112 | 112 / 112 | +| Helpers | 492 | 492 | +| Rank-four cold endpoints | 22 | 44 | +| Helper residual width | 3,894 | 3,794 | +| Paid local rank mass | 5,750 | 5,650 | + +The new paid local profile is `{1:2514, 2:404, 3:448, 4:160, 5:56, 8:8}`. +The explicit whole-family assignment covers 35,424 helper roles on 7,168 live +and 7,670 physical families. It retains the rank deficit 2,560 and charges every +idle remainder. Exact integer majorization certificates justify the owner +updates; the resulting map is a coordinate fixed point, with no claim of joint +optimality. + +The assembled κ is 0.809306% above #635. `data/FRONTIER.json` records Pro's dated +comparison snapshot; it is not a live ranking of community results. + +### Proof and evidence + +- `CONSTRUCTION.md`: exact cold-space calculation, dyadic realization and attribution. +- `hosting/PROOF.md`: capacity, exchange and majorization arguments. +- `independent/CENTRE-GUARD-REVIEW.md`: ordered center-frame interface and source carriers. +- `data/SPEC.json`, `evidence/ASSEMBLY.json`: strict component moments and outer parameters. +- `evidence/audit/`: actual controller, physical charts and finite invoice. +- `construction/INPUTS.json`, `data/UPSTREAM-PINS.json`: inherited input hashes. +- `MANIFEST.json`, `SOURCES.json`, `LOCAL-VALIDATION.json`: submitted bytes, provenance and local checks. + +Original Pro run receipts are retained as evidence; their raw logs remain in +the original archive outside the submission. Fresh replay writes new logs to +the selected output directory. + +### Incremental reproduction + +Use Python 3.11 or newer with assertions enabled. The required replay uses only +the standard library. The optional historical seed-discovery optimizer is not +part of admission. + +Prepare the pinned #635 supplier in a separate directory (the main dependencies +are already present in this repository): + +```sh +git fetch https://github.com/CrocSwap/integer-mult-bounds.git a6895a69f8ad98ab45777b03e9e6f48888c39f6f +mkdir -p /tmp/gauge44-pr635 +git archive FETCH_HEAD research/complex-571-cold14-st2 | tar -x -C /tmp/gauge44-pr635 +``` + +From the repository root, with fresh output directories: + +```sh +python -B research/gauge44-global/verify_manifest.py +python -B research/gauge44-global/construction/reproduce.py \ + --main . --pr635 /tmp/gauge44-pr635 \ + --out /tmp/gauge44-local --until phases +python -B research/gauge44-global/verify_global.py \ + --main . --local /tmp/gauge44-local/local --work /tmp/gauge44-global +``` + +The dedicated workflow also runs the independent literal-word audit, exact owner +reproduction, preserved-assertion comparison and independent pricing on Python +3.11 and 3.14. `hosting/README.md` and `independent/README.md` give those commands. +No ancestral full replay, optimizer search or PDF generation is required. + +The result remains a finite conditional witness. It does not establish an +unconditional multiplication theorem or a complete Lean formalization. diff --git a/research/gauge44-slots/RESULT.json b/research/gauge44-slots/RESULT.json new file mode 100644 index 0000000000..89be708d9c --- /dev/null +++ b/research/gauge44-slots/RESULT.json @@ -0,0 +1,86 @@ +{ + "status": "PASS_GAUGE44_STRICT_GLOBAL_REPLAY", + "kappa": "167166528321877/100000000000000000", + "kappa_decimal": "0.00167166528321877", + "complex_lower": "837232213634911250061/500000000000000000000000", + "bit_lower": "1733427039589844234749/1000000000000000000000000", + "bit_supplier": { + "pr": 589, + "repository": "CrocSwap/integer-mult-bounds", + "commit": "a5afc8c6169ea61ba7c51dfd3cade02cc7b13b46", + "merged_as": "b3eb785ac5b4b1ca2beea0f80db078a505626a90", + "path": "research/e8-bit-p111-tuned/tune/EXPECTED.json", + "git_blob_sha1": "e293ddc557742637f9f679f083a1a282d87b1b13", + "word": { + "v": 111, + "decoder_constant": 63, + "copy_ranks": [ + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7 + ] + }, + "derived_deficit": 10272, + "deficit_formula": "T(2Kv-L*cst), L=9 T=32 K=4 M=64", + "replay_scope": "Cited unchanged supplier; this assembly reprices its full profile and does not rebuild its bit circuit." + }, + "gain_over_pr635_percent": "2.164948243169117498148727559671554388312775174640418891709408020842883", + "spec_sha256": "d77c577278e68874444e1619e0762d0f3daa5d8d2bc985bb64eabae7e5ef3c44", + "stages": [ + { + "name": "restore-parent", + "seconds": 1.406, + "exit_code": 0, + "log_sha256": "3aea2a4b68e7aaeadd9ffef649be0d25e2dff1535d9a61bffeaf6d92e55ba6a8" + }, + { + "name": "bind", + "seconds": 0.437, + "exit_code": 0, + "log_sha256": "78a081673d6b4fde10a86e6f767d53648b868d1f0cac2441d12951434ad7341b" + }, + { + "name": "emit", + "seconds": 2.891, + "exit_code": 0, + "log_sha256": "faeccc2ac1d112bac2aa82080c12e064130fa3a86c07649abcc8e7fa1378a49c" + }, + { + "name": "audit", + "seconds": 12.484, + "exit_code": 0, + "log_sha256": "bdafdea32540bcb0d099a42bf4885382696f24741313b6f046d6a73f666525cf" + }, + { + "name": "invoice", + "seconds": 1.016, + "exit_code": 0, + "log_sha256": "439ce483feb3c79a1c8da5015e86db0958c0e5d91bf6f5b2f23c9f0c11b26531" + }, + { + "name": "assembly", + "seconds": 0.343, + "exit_code": 0, + "log_sha256": "2f59f1b00b2f789547daaf9a0480e866e30a5e3ee13ca0a17503e5728a47fa44" + }, + { + "name": "admission-controls", + "seconds": 0.422, + "exit_code": 0, + "log_sha256": "34527ddfe1e53bec71dc5759eb9a26417be6d4e93e76cbf80575d9bafebd876b" + }, + { + "name": "bit-supplier-controls", + "seconds": 0.625, + "exit_code": 0, + "log_sha256": "c648542cd6dddbb154af7d02a41aaed1025603d9a4ab54f7c249d2b683e22249" + } + ], + "scope": "Conditional native exact-complex witness after complete conservative admission, moment and outer checks; PR559 exact-cover recurrence correction only, bit bad-residue surcharge and H1-H5 retained. The new source-branch gauge and retired-basis completion, 44 cold dimension-four ends, and explicit all72 whole-owner dispatch are composed with the cited unchanged merged PR589 bit supplier (PR555 punctured R439 word; derived bit deficit T(2Kv-L*cst)), replacing the PR543 supplier of PR635; this bit composition is unreviewed. All-size compiler, common-label/mutable-source realization, whole-call hosting, precision/tape and analytic transfer remain assumptions. No unconditional theorem or full Lean certification." +} diff --git a/research/gauge44-slots/SOURCES.json b/research/gauge44-slots/SOURCES.json new file mode 100644 index 0000000000..0d69845db9 --- /dev/null +++ b/research/gauge44-slots/SOURCES.json @@ -0,0 +1,36 @@ +{ + "contributor": "icekylinx", + "research_assistance": "OpenAI GPT-6 Astra", + "local_review_and_packaging": "OpenAI Codex", + "original_archive": { + "filename": "integer_mult_round23_gauge44_delta.zip", + "sha256": "40a20a120f51cbed3c9ae4017603be74a9e9332ad4068bd914bf3e81bf8be6b4", + "manifest_sha256": "ffa23eb668ad558ebb5601470fc1997a9fb8cea0e188aa3c5d61318be9000603" + }, + "upstream_main": "17ce0c79b7b51c2634b439ea5a2b754f09909693", + "construction_parent": { + "pr": 635, + "commit": "a6895a69f8ad98ab45777b03e9e6f48888c39f6f" + }, + "bit_supplier_pr": 589, + "packaging_changes": [ + "Omit original run logs; retain their original receipts as historical evidence.", + "Use repository paths and dollar-delimited Markdown mathematics.", + "Add manifest verification, incremental CI and local validation record.", + "Trim trailing whitespace in four Python files; complete ASTs are unchanged. Refresh the corresponding constructor input hash.", + "research/gauge44-bit589: PR589 bit supplier (G44Stack port, Bit589Reviewer SOUND-WITH-FIXES), G44Pack dz1 owner map, re-derived SPEC, LF line endings, regenerated MANIFEST.", + "research/gauge44-leaver: research/gauge44-barch tree plus construction/leaver (k5 cells, chain, frames); G44Pack3 FO_c1 owner map, re-derived SPEC, regenerated independent price receipt, RESULT.json = strict REPLAY, LF, regenerated MANIFEST.", + "research/gauge44-leaver8: research/gauge44-leaver tree with the k8 cell set (all eight cells, R = 480) and its chain recipes (LeaverSAT/LeaverSAT2 pkg_k8), layer_end_controls_leaver v2 with declared not-applicable sites on all five stack words (replacing the final-word interim skip), CHAIN-PINS-k8; G44Pack3 K8c8 owner map, re-derived SPEC, regenerated independent price receipt and local audit, RESULT.json = strict REPLAY, LF, regenerated MANIFEST." + ], + "attribution": "Original notices and licenses retained. See NOTICE.md, UPSTREAM-NOTICE.md and CONSTRUCTION.md.", + "whitespace_only_python_files": [ + "code/audit_allcold.py", + "code/bind_providers_portable.py", + "construction/construct_gauge_xcentre.py", + "independent/audit_local.py" + ], + "historical_bit_supplier_pr": 543, + "bit_supplier_note": "This package cites PR589 (inputs/PR589-EXPECTED.json, git blob e293ddc5…). PR543 is the supplier of #645's retained historical evidence (LOCAL-VALIDATION.json, independent/ audit files, hosting/, evidence/). RESULT.json is this package's strict replay.", + "owner_map": "G44Pack/G44Pack3: The map is G44Pack3's K8c8, from its pattern-flow LNS (`pflns`) on the R = 480 k8 word. Its lineage is the #685/#741 map (chafreaky) via G44Pack's relabel and rewidth, followed by G44Pack3's LNS. It was admitted with this package's own code (NEWWORD discovery, `freeze_spec.py`, strict) at κ 0.001671387264390146.", + "construction_changes": "PartialK: no-triangle gauge44 word (R=504, PRIO6, ranks [4]*14); G44Stack: layers on it (pivot swaps, s4, x30, b6, q4); LeaverSAT: no-helper mutable-leaver cells and re-stacked recipes, LeaverSAT2: frame re-optimisation (construction/leaver); NewBArch: triangle-hybrid B rewrite U8 (construction/barch); chafreaky #741: eight B frames (construction/frames, ported by CompetitorMine) and the owner map; JointXF: joint exchange X4 (construction/jx); BRoute: read-set exchange SW4 (construction/sw4); NoTriReopen: p6n ends (construction/layers_p6n); BlockInvert: entrance promotions E4->E5 (construction/promo, minimal recipe p6n-k4); drivers construction/notri/reproduce_notri.py, construction/layers_np/reproduce_np.py, construction/promo/reproduce_promo.py" +} diff --git a/research/gauge44-slots/UPSTREAM-NOTICE.md b/research/gauge44-slots/UPSTREAM-NOTICE.md new file mode 100644 index 0000000000..ebc24a0168 --- /dev/null +++ b/research/gauge44-slots/UPSTREAM-NOTICE.md @@ -0,0 +1,34 @@ +# Attribution and scope + +Four verified provider types are offered to every call: PR571's prefix word with twelve multi-cut cold kernels (PR568's unchanged constructor), the same word with forty width-five entrance promotions (PR569's unchanged frame constructor) before those kernels, PR575's plain joint-prefix provider, and PR568's eight-cold provider. A window MILP with an exact per-pattern model chooses the dispatch and a literal owner map. PR583's six source-bound kernel frame coalescences (its unchanged constructor and negative controls) are applied to every PR571-prefix provider word (ck and atm3), followed by two further coalescences that each first move one addition past two commuting additions (package code/build_gate_moves.py, extending PR583's constructor); a final hyperplane_end step (package code/build_hpe.py) then runs 46 single-gate cleanups h -= p right after part B at the dim-8 join U of their registers, so 46 width-8 entering helpers per call end at U with width 7; each such gate commutes with every earlier cleanup gate on its registers (for 8 of them the partner's one earlier gate x -= p only reads p), and the reordered program is replayed exactly. A window MILP (exact windows, RINS around an LP vertex) gives the dispatch ck 45 / atm3 21 / jp8 6 and the literal owner map. + +Pinned external sources (unchanged; `verify.py` checks their manifests and every file it uses): +- PR568 (`research/complex-multicold`, commit `71c99ac935a33bb7b59a1b4a7af8725a939b0b90`). +- PR571 (`research/structural-gain`, commit `b7bdc5a8de18fcf418cfb9c7d83a2b1097a5e4a3`). +- PR569 (`research/larger-gain`, commit `897213a855b7fb8a1b8b0e552a2f5c42e6c1b326`). +- PR575 (`research/complex-joint-prefix`, commit `eac6f7e378ab622dac50a2fd4b7ef6eab014de44`). +- PR583 (`research/kernel-frame-coalescing`, commit `89be768f0157f5a3d8e4db69cf1748768605eac9`). + +Provider construction is described as typed steps in `data/SPEC.json` (`build`); `verify.py` runs only allowlisted step types with their paired omission audits and checks every input and output content hash. `code/` holds the spec-driven global admission scripts adapted from PR571's `frontier-composition/global-code/` (OpenAI Codex assisted, Apache-2.0): every expected value is read from `data/SPEC.json` and compared only after independent recomputation. `code/generated_identity.py` and `code/generated_identity_controls.py`, and the decompressed-content artifact identities in the bind, audit, invoice, assembly and phase-timing scripts, are taken unchanged from PR586 by chafreaky (`research/promoted-kernel-coalescing`, commit `4846fee5b06af770e9b3a10c36200f673d656725`, OpenAI Codex assisted, Apache-2.0), including its proof-content and reference/metadata mutation controls; the normalization of descriptive width metadata after frame changes follows the same PR. + +In PR601, the owner map was nominated by a HiGHS window MILP (adapted from PR569's `global/nominate_width7.py`) with lazy cross-time Hall cuts; this package's re-solved map is described below. Neither is an admission dependency. + +DreamingOfClouds with Claude Opus 5.5 (Anthropic), via Claude Code. (The PR601 package this one starts from states: "Prepared by Claude Code (Anthropic) research agents.") Apache-2.0 applies; LICENSE is included. All notices, licenses, source pins and AI disclosures of the pinned sources and their ancestry are retained in those packages and are not replaced by this notice. All inherited conditional assumptions remain conditional. + +**This package (complex-571-cold14, DreamingOfClouds).** It starts from PR601 (jeremykothe2, `research/complex-571-hpem46`, commit `529ab7dcb59d5ea7a5798e9e06cf5b3aee8a1550`). Everything above is kept unchanged except the following: +- every provider chain (ck, atm3, jp8) gains the typed step `cold_end` (`code/build_cold_end.py`, `code/cold_end_controls.py`; recipes `data/recipes/*-cold_end.json.gz`); +- the generalised native chain and the global admission scripts accept cold helpers that end below FULL (with `0:U` wrappers), a refactored exact cleanup, and check the wrapper order; +- `data/PLAN.json` / `data/OWNERS.json.gz` (dispatch and literal owner map) come from a relocate/swap/ejection-chain/provider-flip annealing search started from PR601's map, refined by an exact pattern-restricted owner model (CP-SAT) with a literal edge-colouring expansion (not an admission dependency); +- `data/SPEC.json` holds the expected values, recorded by a discovery run and then checked by a strict run. + +The cold-end construction (a row-plus-column cone condition for low-frame ends, a rank-0 dirt-spread premix and multi-gate lower-frame cleanup) builds on PR591 / PR592 / PR593 / PR601 (jeremykothe2) and our PR599 (Lean: multi-gate and cold hyperplane-end tails). DreamingOfClouds with Claude Opus 5.5 (Anthropic), via Claude Code. Build on this at your own risk. + +**This package (complex-571-cold14-b3, jeremykothe2).** It is PR604's `complex-571-cold14` (DreamingOfClouds) with ColdBeyond's second cold end per block (two new `cold_end` A-gate primitives, `PROOF-NOTE.md`), ColdSupply's E1 entering pair and reviewed controls, a free dispatch (jp8 ×60, atm3 ×12) and a literal owner map from an exact per-time-Hall window MIP. All other construction, code, controls and proofs are PR604's and earlier contributors', unchanged. + +**This package (complex-571-cold14-k492).** It is complex-571-cold14-b3 with these changes: +- **K-triangle base words.** The leaver-read K-triangle skeleton atom and its read schedule (`data/TRI-SCHEDULE.json`) are by AtomScout, a Claude Code research agent. `code/construct_k_triangle.py` is PR531's `code/construct_504.py` (icekylinx, OpenAI Codex / GPT assisted, Apache-2.0; pinned source `direct_delivery`) extended with that atom. +- **Ported chains.** The PR604/B3 chains are ported stage by stage onto the K-triangle words by `code/build_port_stage.py` (Port480, a Claude Code research agent). `code/build_frame_regroup.py` extends PR583's `build_frames.py` (chafreaky). +- **Helper count R.** The generalisation of the global scripts to the provider helper count R is by GlobalR (a Claude Code research agent), with AtomReviewer's fixes (PROOF-NOTE-R.md). +- **Owner map.** The owner map, the cold_end recipes on the K-triangle words and the package assembly are by Stack492, Port480 and ColdBeyond (Claude Code research agents). + +Build on this at your own risk. diff --git a/research/gauge44-slots/code/assemble.py b/research/gauge44-slots/code/assemble.py new file mode 100644 index 0000000000..8cee90b50e --- /dev/null +++ b/research/gauge44-slots/code/assemble.py @@ -0,0 +1,241 @@ +"""Gauge44 complete global admission with the retained native exact-complex moment. + +Prepared with OpenAI Codex assistance. The rational engines and outer +constraints are retained from PR547/PR548 and their preserved ancestry. +The bit operator is the cited unchanged PR589 supplier (PR555's punctured +R439 word, v = 111, decoder constant 63, two A-section transports), shipped +as inputs/PR589-EXPECTED.json and pinned by git blob id. Its rank-mass +deficit is derived from the word's parameters, T(2Kv - L*cst) at nine +stages (PR545/PR555 rank-mass identity), not hard-coded. The complex owner +and invoice inputs must be freshly emitted by the packaged physical replay. +All conservative admission guards and conservative moment/outer witnesses run +before the PR559 native-complex correction. The bit surcharge is retained. +""" +from pathlib import Path +from fractions import Fraction as Q +from decimal import Decimal, localcontext +import argparse,json,hashlib,importlib.util,os,sys +from collections import Counter +assert __debug__, 'Assertions required' +P=Path(sys.argv[1] if __name__=='__main__' else os.environ['GAIN_PR564_SOURCE']).resolve() +read=lambda p:json.loads(p.read_text()) +sha=lambda p:hashlib.sha256(p.read_bytes()).hexdigest() +hash_ok=lambda x:isinstance(x,str) and len(x)==64 and all(t in '0123456789abcdef'for t in x) +digest=lambda x:hashlib.sha256(json.dumps(x,separators=(',',':')).encode()).hexdigest() +def load(n): + s=importlib.util.spec_from_file_location(n,P/'engines'/(n+'.py'));m=importlib.util.module_from_spec(s);s.loader.exec_module(m);return m +M,B,A=[load(n)for n in ('moment','base_two_moment','outer')] +def dec(x): + with localcontext()as ctx:ctx.prec=70;return str(Decimal(x.numerator)/Decimal(x.denominator)) +from witness import DISPATCH,CALL_ORDER,COUNTS,PIDS,X,DISCOVER,pin,SPOT,spot_widths +# Cited bit supplier: PR589's tune/EXPECTED.json (merged on main as research/e8-bit-p111-tuned/tune/EXPECTED.json). +BIT_PATH=Path(__file__).resolve().parents[1]/'inputs/PR589-EXPECTED.json' +BIT_BLOB='e293ddc557742637f9f679f083a1a282d87b1b13' +# Nine-stage bit template (PR463/PR510 chain, 32 replicas): L stages, T replicas, K=(L-1)//2 pairs, moment width M=1+7L. +BIT_L,BIT_T=9,32;BIT_K=(BIT_L-1)//2;BIT_M=1+7*BIT_L +def git_blob(data):return hashlib.sha1(b'blob '+str(len(data)).encode()+b'\0'+data).hexdigest() +def load_bit(data): + """The pinned supplier record: its full record (word parameters) and its nine-stage price.""" + assert git_blob(data)==BIT_BLOB,'bit supplier blob pin' + return json.loads(data) +def bit_deficit(word,live): + """Rank-mass deficit M*live - mass = T(2Kv - L*cst) of a v-port bit word with decoder constant cst (PR545/PR555). + cst is the sum of the retained totals' COPY ranks and live = 2KvT data wires; both are cross-checked here, and the + caller checks the result against the priced profile, so neither v nor cst is free.""" + v,cst,ranks=word['v'],word['decoder_constant'],word['copy_ranks'] + assert type(v)is int and type(cst)is int and all(type(r)is int and 00;return d + + +def assemble(owner,invoice,owner_sha,invoice_sha): + # These are admission receipts, not optional collections of successful rows. + # Require both orientations and every finite check before pricing anything. + assert owner['status']=='PASS_INDEPENDENT_ASYNC_OWNERS_AND_PROFILE' + assert invoice['status']=='PASS_INDEPENDENT_MIXED_ASYNC_SCALAR_PREFIX_AND_FINITE_INVOICE' + assert all(hash_ok(x)for x in (owner_sha,invoice_sha,owner['template_sha256'],owner['controller_audit_sha256'],invoice['parent_template_sha256'])) + checks={'local_primitive_bound','logical','router','literal','mass','precision','tape','row','halving'} + assert set(invoice['strict_checks'])==checks + assert all(invoice['strict_checks'][name] is True for name in checks) + assert set(invoice['providers'])==set(PIDS) + assert invoice['provider_counts']==COUNTS + assert owner['all_live_owners_per_call_distinct'] is True + # R (helpers per provider word) is read from the invoice and must be shared by every provider; n=2v+R. + R=invoice['helpers'];assert type(R) is int and R>0 and all(p['helpers']==R for p in invoice['providers'].values()) + assert owner['owners_per_call']==2*112+R and owner['actual_helper_owner_charts']==owner['hosted_residuals']==72*R==pin('expected.hosted_residuals',owner['hosted_residuals']) + pin('expected.rank_mass',owner['rank_mass']) + pin('expected.actual_73column_sigmas',owner['actual_73column_sigmas']);pin('expected.cross_replica_helper_roles',owner['cross_replica_helper_roles']) + pin('expected.idle_remainders',owner['explicit_idle_remainder_children']) + assert invoice['complete_invocation_sweeps']==invoice['bridge_sweeps']==72 + assert invoice['live']==owner['live'] and invoice['physical']==owner['physical'] + assert invoice['centres']==8 + assert invoice['physical_stock_identity']==dict(data_and_owner_families=7168,local_helpers=R,private_centres=8,coefficient_work=2) + assert sum(invoice['physical_stock_identity'].values())==invoice['physical'] + assert invoice['controller_audit_sha256']==owner['controller_audit_sha256'] + for pid,p in invoice['providers'].items(): + assert set(p['local'])=={'forward','backward'} + assert p['helpers']==R and p['centres']==8 and p['n']==2*112+R and p['v']==112 and p['h']==9 + K='providers.'+pid+'.';pin(K+'entering',p['entering_helpers']);pin(K+'entrance',p['entrance_rank']) + pin(K+'inventory',p['width_inventory']) + assert all(type(w) is int and 0=0 for n in idle.values()) + idle=+idle;assert sum(idle.values())==owner['explicit_idle_remainder_children'] + pin('expected.idle_remainder_profile',{str(r):n for r,n in sorted(idle.items())}) + paid.update(idle) + assert dict(paid)=={int(r):n for r,n in owner['paid_profile'].items()} + assert invoice['compiler']==64*74**3 + assert invoice['local_adapters']==max(p['local_adapters']for p in invoice['providers'].values()) + assert invoice['local_primitive_bound']==max(p['local_primitive_bound']for p in invoice['providers'].values()) + # Recount the retained dedicated-bank envelope independently. Its geometry + # stays fixed, while every local primitive and wrapper comes from the actual + # selected provider/orientation sums above. + parent_live,parent_physical,parent_idle=11704,12218,16128 + parent_banks,rem=divmod(parent_live-2*112*4*8,9);assert rem==0 and parent_physical==parent_live+parent_banks+8+2 # parent R0=504 dedicated helpers per stage bank + assert owner['source_idle_children_charged']==parent_idle + bridges,shifts=2*112*72,4*112*8;moves=2*shifts + nonlocal_items=(4*112*8*9+2*112*8*9+2*72*R+parent_idle+9*parent_banks+bridges+shifts+moves+parent_live+parent_physical+invoice['wrapper_elementary_factors_charged']) + outside=8*nonlocal_items+64*73 + pervertex=(invoice['selected_real_component_primitives']+bridges+shifts+moves+parent_live+(72*invoice['local_adapters']+outside)*invoice['compiler']+64*parent_physical) + rebased=pervertex+65*(invoice['physical']-parent_physical)+(invoice['live']-parent_live) + assert invoice['unhosted_pervertex']==pervertex and invoice['hosted_rebased_pervertex']==rebased + used=max(pervertex,rebased) + prior=invoice['retained_prior_overcharge'] + if prior is not None: + assert hash_ok(prior['sha256']) and type(prior['previous_pervertex_allowance']) is int and prior['previous_pervertex_allowance']>0 + assert prior['added_complete_new_pervertex']==pervertex + assert prior['policy']=='Retain old allowance and add entire fresh mixed recount.' + used=max(used,prior['previous_pervertex_allowance']+pervertex) + assert invoice['conservative_pervertex_used']==used + finite=invoice['finite'] + assert 02*48*48) + assert actual_checks==invoice['strict_checks'] and all(actual_checks.values()) + bit_record=load_bit(BIT_PATH.read_bytes()) + bit=bit_record['nine'] + assert 'nine-stage' in bit['pipeline'] and '32 replicas' in bit['pipeline'] + c=Q(bit['bit_lower']) + bit_D=bit_deficit(bit_record['word'],bit['bit']['live']) + H={int(r):n for r,n in owner['paid_profile'].items()};pin('expected.global_profile',owner['paid_profile']) + # Claimed lower endpoints come from the spec; discovery derives them with the same certified moment engine. + # Either way they are verified below (accepted at b, rejected at b+1e-24). + if DISCOVER:b=Q(M.certify(H,73,owner['live'],False)['lower']);conservative_b=Q(M.certify(H,73,owner['live'],True)['lower']) + else:b=Q(X['complex_lower']);conservative_b=Q(X['conservative_complex_lower']) + assert owner['template_sha256']==invoice['template_sha256'] and owner_sha==invoice['owner_audit_sha256'] + pin('expected.live',owner['live']);pin('expected.physical',owner['physical']);assert owner['deficit']==2560 + assert owner['banked_residuals']==0 + def check_moment(side,h,m,W,lower,deficit,bad): + assert m*W-sum(r*n for r,n in h.items())==deficit and m*m>2*max(h)**2 + rows=[] + for z,accept in [(lower,True),(lower+Q(1,10**24),False)]: + l,u=M.moment(h,m,W,z,bad);ll,uu=B.moment(m,W,list(h.items()),z) + if bad: + fl,fu=B.moment(m,W,[(1,32*m*m*sum(h.values()))],z);ll+=fl/10**16;uu+=fu/10**16 + assert (u<1 and uu<1)if accept else(l>1 and ll>1) + rows.append(dict(side=side,surcharge=bad,endpoint=str(z),accept=accept,mercator=[str(l-1),str(u-1)],base_two=[str(ll-1),str(uu-1)])) + return rows + bitH={int(r):n for r,n in bit['profile'].items()} + assert BIT_M==64 and sum(r*n for r,n in bitH.items())==bit['bit']['rank_mass'] + bit_moments=check_moment('bit',bitH,BIT_M,bit['bit']['live'],c,bit_D,True) + conservative_moments=check_moment('conservative_complex',H,73,owner['live'],conservative_b,2560,True) + assert bit['bit']['two_level_coefficient_bits']0 + ceil=lambda x:-(-x.numerator//x.denominator);cut=max(ceil(36/gap**2),ceil(2*(4+512)/gap));assert cut*gap**2>=36 and cut*gap>=2*(4+512) + cuts.append(dict(exponent=str(a),gap=str(gap),cutoff_log2=str(cut)));chain.append(a) + q=chain[-1]*(1-2*eta);margin=(1-eta)*q/(1+q);ticks=margin*10**18;k=Q((ticks.numerator-1)//ticks.denominator,10**18) + bridge={'semantic':{'C0':{'base':2,'exponent':210000},'strict_literal_gap':1},'rows':{'degree_gap':Q(10**6)-Q(51*20161,25)}} + outer=A.assembly(chain[-1],bb,bridge,k,eta=eta,beta=beta);assert len(outer['strict_constraints'])==47 and all(v>0 for v in outer['strict_constraints'].values()) + controls=[] + for name,kk,ee,be in [('next_grid',k+Q(1,10**18),eta,beta),('zero_eta',k,Q(0),beta),('zero_beta',k,eta,Q(0)),('unit_beta',k,eta,Q(1))]: + try:A.assembly(chain[-1],bb,bridge,kk,eta=ee,beta=be) + except AssertionError:controls.append(name) + else:raise AssertionError(name) + return k,cuts,outer,controls + conservative_k,conservative_cuts,conservative_outer,conservative_controls=outer_witness(conservative_b) + pin('expected.conservative_kappa_decimal',dec(conservative_k)) + # Only after every conservative supplier/admission/outer check succeeds is + # the reviewed native exact-complex recurrence selected. Bit charge stays. + native_moments=check_moment('complex',H,73,owner['live'],b,2560,False) + k,cuts,outer,controls=outer_witness(b) + pin('expected.kappa_decimal',dec(k)) + assert M.moment(H,73,owner['live'],b,True)[0]>1 + assert M.moment(bitH,64,bit['bit']['live'],c+Q(1,10**24),False)[1]<1 + model_controls=['native_complex_endpoint_rejected_with_old_surcharge','omitting_bit_surcharge_would_fail_next_endpoint_rejection'] + moments=bit_moments+native_moments + input_hashes={'owner_audit':owner_sha,'fresh_invoice':invoice_sha,'package:inputs/PR589-EXPECTED.json':sha(BIT_PATH)} + input_hashes.update({'engines/'+name+'.py':sha(P/'engines'/(name+'.py'))for name in ('moment','base_two_moment','outer')}) + return dict(status='PASS_GAUGE44_NATIVE_EXACT_GLOBAL_ASSEMBLY',kappa=str(k),kappa_decimal=dec(k),complex_lower=str(b),complex_decimal=dec(b),bit_lower=str(c),bit_decimal=dec(c),binding='complex',gain_over_pr635_percent=dec(100*(k/Q(X['gain_baseline_kappa'])-1)),complex_profile=H,provider_counts=invoice['provider_counts'],surcharge_model={'complex':False,'bit':True},conservative_complex_lower=str(conservative_b),conservative_complex_decimal=dec(conservative_b),conservative_kappa=str(conservative_k),conservative_kappa_decimal=dec(conservative_k),conservative_moments=conservative_moments,conservative_bootstrap=conservative_cuts,conservative_outer={n:str(v)for n,v in conservative_outer['strict_constraints'].items()},conservative_controls=conservative_controls,model_controls=model_controls,native_correction_gain=dec(k-conservative_k),template_sha256=owner['template_sha256'],input_sha256=input_hashes,bit_supplier=dict(pr=589,repository='CrocSwap/integer-mult-bounds',commit='a5afc8c6169ea61ba7c51dfd3cade02cc7b13b46',merged_as='b3eb785ac5b4b1ca2beea0f80db078a505626a90',path='research/e8-bit-p111-tuned/tune/EXPECTED.json',git_blob_sha1=BIT_BLOB,word=dict(v=bit_record['word']['v'],decoder_constant=bit_record['word']['decoder_constant'],copy_ranks=bit_record['word']['copy_ranks']),derived_deficit=bit_D,deficit_formula='T(2Kv-L*cst), L=%d T=%d K=%d M=%d'%(BIT_L,BIT_T,BIT_K,BIT_M),replay_scope='Cited unchanged supplier; this assembly reprices its full profile and does not rebuild its bit circuit.'),moments=moments,bootstrap=cuts,outer={n:str(v)for n,v in outer['strict_constraints'].items()},controls=controls,scope='Conditional native exact-complex witness after complete conservative admission, moment and outer checks; PR559 exact-cover recurrence correction only, bit bad-residue surcharge and H1-H5 retained. The new source-branch gauge and retired-basis completion, 44 cold dimension-four ends, and explicit all72 whole-owner dispatch are composed with the cited unchanged merged PR589 bit supplier (PR555 punctured R439 word; derived bit deficit T(2Kv-L*cst)), replacing the PR543 supplier of PR635; this bit composition is unreviewed. All-size compiler, common-label/mutable-source realization, whole-call hosting, precision/tape and analytic transfer remain assumptions. No unconditional theorem or full Lean certification.') +if __name__=='__main__': + import sys + package,C,out=map(Path,sys.argv[1:4]);assert package.resolve()==P and not out.exists() + owner_path=C/'audit/OWNERS-AND-PROFILE.json';invoice_path=C/'audit/PREFIX-AND-INVOICE.json' + owner,invoice=read(owner_path),read(invoice_path) + assert owner['template_sha256']==read(C/'hosted/HOSTED.json')['template_sha256'] + r=assemble(owner,invoice,sha(owner_path),sha(invoice_path));out.write_text(json.dumps(r,indent=2)+'\n');print(r['status'],r['kappa_decimal']) diff --git a/research/gauge44-slots/code/assembly_controls.py b/research/gauge44-slots/code/assembly_controls.py new file mode 100644 index 0000000000..93bca1ce6f --- /dev/null +++ b/research/gauge44-slots/code/assembly_controls.py @@ -0,0 +1,260 @@ +"""Independent admission controls for the N-provider native-complex assembly (per-provider controls). + +Prepared with OpenAI Codex assistance; Apache-2.0. Mutation receipts are +rebound to their new owner digest, so unrelated stale hashes cannot conceal +an incomplete width, provider, orientation, paid-profile or finite check. +The fresh physical replay remains a separate prerequisite. +""" +import argparse +import copy +import itertools +import math +import hashlib +import json +import os +from pathlib import Path +import sys as _s,pathlib as _p;_s.path.insert(0,str(_p.Path(__file__).resolve().parent)) +from witness import * + +assert __debug__, 'Assertions required' +P = Path(__file__).resolve().parent +sha = lambda p: hashlib.sha256(p.read_bytes()).hexdigest() +digest = lambda x: hashlib.sha256(json.dumps(x, sort_keys=True, separators=(',', ':')).encode()).hexdigest() + + +def verify(owner_path, invoice_path, source_package): + os.environ['GAIN_PR564_SOURCE'] = str(source_package.resolve()) + from assemble import assemble + owner = json.loads(owner_path.read_text()) + invoice = json.loads(invoice_path.read_text()) + baseline = assemble(owner, invoice, sha(owner_path), sha(invoice_path)) + + def empty_maps(o, i): + i['strict_checks'] = {} + i['providers'] = {} + + def understated_stock(o, i): + o['physical'] -= 1 + i['physical'] -= 1 + i['physical_stock_identity']['coefficient_work'] -= 1 + + def changed_profile(o, i): + o['paid_profile']['1'] += 2 + o['paid_profile']['2'] -= 1 + + def wrong_orientation(o, i): + c = next(c for c in i['selected_calls'] if c['stage'] == 0) + c['orientation'] = 'backward' + p = i['providers'][c['provider_id']] + z = p['local']['backward'] + c['program_sha256'] = p['program_hashes']['backward'] + for name in ('events', 'macros', 'real_component_primitives', + 'coefficient_work_primitive_count', 'pre_wrappers', 'post_wrappers'): + c[name] = z[name] + i['selected_real_component_primitives'] = sum(c['real_component_primitives'] for c in i['selected_calls']) + i['selected_coefficient_work_primitive_count'] = sum(c['coefficient_work_primitive_count'] for c in i['selected_calls']) + + def understated_prefix(o, i): + for p in i['providers'].values(): + for z in p['local'].values(): + z['prefix_bits'], z['prefix_l1'] = 1, '1' + i['global_prefix_bits'] = 1 + 37 + 72 + 72 + 4 + + def reordered_calls(o, i): + i['selected_calls'][0], i['selected_calls'][1] = i['selected_calls'][1], i['selected_calls'][0] + + def no_cold_wrappers(o, i): + for p in i['providers'].values(): + p['entering_helpers'] -= 4 + for z in p['local'].values():z['pre_wrappers'] = z['post_wrappers'] = p['entering_helpers'] + for c in i['selected_calls']: + c['entering_helpers'] = c['pre_wrappers'] = c['post_wrappers'] = i['providers'][c['provider_id']]['entering_helpers'] + i['wrapper_elementary_factors_charged'] = sum(2*c['pre_wrappers'] for c in i['selected_calls'])*i['factors_per_wrapper'] + + controls = [ + ('empty_certification_maps', empty_maps), + ('failed_invoice_status', lambda o, i: i.__setitem__('status', 'FAIL')), + ('nonboolean_precision_check', lambda o, i: i['strict_checks'].__setitem__('precision', 'true')), + ('wrong_owner_role_count', lambda o, i: o.__setitem__('actual_helper_owner_charts', o['actual_helper_owner_charts'] - 1)), + ('understated_physical_stock', understated_stock), + ('changed_profile_same_rank_mass', changed_profile), + ('insufficient_finite_C0', lambda o, i: i['finite'].__setitem__('required_C0_bits', 210001)), + ('missing_finite_check', lambda o, i: i['strict_checks'].pop('halving')), + ('wrong_reflected_orientation_selfconsistent_totals', wrong_orientation), + ('missing_selected_call', lambda o, i: i['selected_calls'].pop()), + ('wrong_selected_primitive_sum', lambda o, i: i.__setitem__('selected_real_component_primitives', i['selected_real_component_primitives'] - 1)), + ('wrong_selected_coefficient_work_sum', lambda o, i: i.__setitem__('selected_coefficient_work_primitive_count', i['selected_coefficient_work_primitive_count'] - 1)), + ('unpaid_wrapper_factors', lambda o, i: i.__setitem__('wrapper_elementary_factors_charged', i['wrapper_elementary_factors_charged'] - 144)), + ('wrong_global_compiler', lambda o, i: i.__setitem__('compiler', 1)), + ('wrong_global_adapter_maximum', lambda o, i: i.__setitem__('local_adapters', 1)), + ('understated_exact_prefix_and_global_sum', understated_prefix), + ('wrong_global_prefix_sum', lambda o, i: i.__setitem__('global_prefix_bits', 224)), + ('wrong_row_prefix_reserve', lambda o, i: i.__setitem__('row_prefix_extra', 0)), + ('wrong_parent_geometry_charge', lambda o, i: i.__setitem__('unhosted_pervertex', 1)), + ('wrong_rebased_geometry_charge', lambda o, i: i.__setitem__('hosted_rebased_pervertex', 1)), + ('wrong_complete_pervertex_envelope', lambda o, i: i.__setitem__('conservative_pervertex_used', 1)), + ('wrong_prior_added_complete_invoice', lambda o, i: i['retained_prior_overcharge'].__setitem__('added_complete_new_pervertex', 1)), + ('wrong_finite_router_bits', lambda o, i: i['finite'].__setitem__('router_bits', 1)), + ('wrong_finite_literal_bits', lambda o, i: i['finite'].__setitem__('literal_bits', 1)), + ('wrong_finite_physical_stock_bits', lambda o, i: i['finite'].__setitem__('physical_stock_bits', 1)), + ('wrong_finite_row_coefficient', lambda o, i: i['finite'].__setitem__('physical_row_coefficient', 1)), + ('reordered_complete_calls', reordered_calls), + ('understated_explicit_idle_remainders', lambda o, i: o.__setitem__('explicit_idle_remainder_children', o['explicit_idle_remainder_children']-1)), + ('understated_actual_chart_types', lambda o, i: o.__setitem__('actual_73column_sigmas', o['actual_73column_sigmas']-1)), + ('wrong_cross_replica_role_count', lambda o, i: o.__setitem__('cross_replica_helper_roles', o['cross_replica_helper_roles']-1)), + ('old_no_cold_wrapper_counts_selfconsistent', no_cold_wrappers), + ] + + def resync(i, c): + p = i['providers'][c['provider_id']] + c['program_sha256'] = p['program_hashes'][c['orientation']] + c['entering_helpers'], c['entrance_rank'] = p['entering_helpers'], p['entrance_rank'] + for name in ('events','macros','real_component_primitives','coefficient_work_primitive_count','pre_wrappers','post_wrappers'): + c[name] = p['local'][c['orientation']][name] + + # Every provider gets the full per-provider control set, substituting a partner provider where needed. + for P in PIDS: + Qp = partner(P) if len(PIDS)>1 else '__unregistered__' + widths = invoice['providers'][P]['widths'] + + def forged_program_hash(o, i, P=P): + i['providers'][P]['program_hashes']['forward'] = '0' * 64 + for c in i['selected_calls']: + if c['provider_id'] == P: + c['program_sha256'] = '0' * 64 + + def wrong_selected_call(o, i, P=P): + c = next(c for c in i['selected_calls'] if c['provider_id'] == P) + d = next(d for d in i['selected_calls'] if d is not c and (d['provider_id'] != P or len(PIDS)==1) and (d['stage'] - c['stage']) % 2 == 0) + c['stage'], d['stage'], c['replica'], d['replica'] = d['stage'], c['stage'], d['replica'], c['replica'] + + def stale_program(o, i, P=P, Qp=Qp): + p = i['providers'][P] + p['program_hashes'] = copy.deepcopy(i['providers'][Qp]['program_hashes']) + for c in i['selected_calls']: + if c['provider_id'] == P: + c['program_sha256'] = p['program_hashes'][c['orientation']] + + def stale_profile(o, i, P=P, Qp=Qp): + p = i['providers'][P] + p['paid_profile'] = copy.deepcopy(i['providers'][Qp]['paid_profile']) + p['children'] = sum(p['paid_profile'].values()) + + def moved(o, i, P=P): + a = next(c for c in i['selected_calls'] if c['provider_id'] == P) + b = next(c for c in i['selected_calls'] if c['provider_id'] != P and c['orientation'] == a['orientation']) + a['provider_id'], b['provider_id'] = b['provider_id'], a['provider_id'] + resync(i, a); resync(i, b) + + def compensating(o, i, P=P, Qp=Qp): + # Two dishonest profiles that cancel exactly in the dispatch-weighted aggregate. + g = math.gcd(COUNTS[P], COUNTS[Qp]); dp, dq = COUNTS[Qp] // g, COUNTS[P] // g + p, q = i['providers'][P], i['providers'][Qp] + p['paid_profile']['1'] += dp; q['paid_profile']['1'] -= dq + p['children'] += dp; q['children'] -= dq + + def forged_recipe(o, i, P=P): + name = 'CLIFFORD-RECIPES.json' + i['providers'][P]['artifacts'][name] = '0'*64 + o['source_artifacts']['providers/'+P+'/'+name] = '0'*64 + + def forged_phase(o, i, P=P): + i['providers'][P]['semantic_artifact_sha256']['CLIFFORD-REVIEW.json'] = '0'*64 + o['provider_phase_semantic_sha256'][P] = i['provider_phase_semantic_sha256'][P] = '0'*64 + + controls += [ + (P + ':missing_provider', lambda o, i, P=P: i['providers'].pop(P)), + (P + ':missing_backward_orientation', lambda o, i, P=P: i['providers'][P]['local'].pop('backward')), + (P + ':unpaid_scalar_primitive', lambda o, i, P=P: i['providers'][P]['local']['forward'].__setitem__('real_component_primitives', i['providers'][P]['local']['forward']['real_component_primitives'] - 1)), + (P + ':wrong_local_artifact_binding', lambda o, i, P=P: i['providers'][P]['artifacts'].__setitem__('LOCAL-PROGRAMS.json.gz', '0' * 64)), + (P + ':false_dirty_restoration', lambda o, i, P=P: i['providers'][P]['local']['backward'].__setitem__('all_dirty_helper_columns_restored', False)), + (P + ':wrong_declared_provider_count', lambda o, i, P=P: i['provider_counts'].__setitem__(P, i['provider_counts'][P] + 1)), + (P + ':wrong_local_compiler', lambda o, i, P=P: i['providers'][P].__setitem__('compiler', 1)), + (P + ':wrong_local_adapter_charge', lambda o, i, P=P: i['providers'][P].__setitem__('local_adapters', 1)), + (P + ':wrong_local_primitive_bound', lambda o, i, P=P: i['providers'][P].__setitem__('local_primitive_bound', 1)), + (P + ':forged_provider_and_call_program_hash', forged_program_hash), + (P + ':provider_at_wrong_call', wrong_selected_call), + (P + ':stale_partner_program_consistent_call_hashes', stale_program), + (P + ':stale_partner_profile_consistent_child_total', stale_profile), + (P + ':relocated_against_partner_same_counts', moved), + (P + ':compensating_false_profiles_with_' + Qp, compensating), + (P + ':synchronized_forged_source_recipe_hash', forged_recipe), + (P + ':synchronized_forged_phase_review_semantics', forged_phase), + ] + if len(PIDS)==1: + # Cross-provider substitutions require a second actual supplier. + # All single-provider program, phase, profile and dispatch bindings + # retain their direct mutations above and in the controller audit. + partner_only = {P+':stale_partner_program_consistent_call_hashes', + P+':stale_partner_profile_consistent_child_total', + P+':relocated_against_partner_same_counts', + P+':compensating_false_profiles_with_'+Qp} + controls = [(name, fn) for name, fn in controls if name not in partner_only] + # Width order and inventory: swap the first helper of every pair of distinct widths (same inventory), + # and shift one unit between them (same total). + first = {} + for h, w in enumerate(widths): + first.setdefault(w, h) + for wa, wb in itertools.combinations(sorted(first), 2): + def swap(o, i, P=P, a=first[wa], b=first[wb]): + w = i['providers'][P]['widths']; w[a], w[b] = w[b], w[a] + def shift(o, i, P=P, a=first[wa], b=first[wb]): + w = i['providers'][P]['widths']; w[a] += 1; w[b] -= 1 + controls.append((P + ':width_order_swap_%d_%d' % (wa, wb), swap)) + controls.append((P + ':width_inventory_shift_%d_%d' % (wa, wb), shift)) + for h in SPOT: + def cold_swap(o, i, P=P, h=h): + w = i['providers'][P]['widths']; j = w.index(9 if w[h] != 9 else 8); w[h], w[j] = w[j], w[h] # never the identity + controls.append((P + ':cold_helper_width_swap_%d' % h, cold_swap)) + rejected = [] + accepted = [] + for name, mutate in controls: + o, i = copy.deepcopy(owner), copy.deepcopy(invoice) + mutate(o, i) + oh = digest(o) + i['owner_audit_sha256'] = oh + try: + assemble(o, i, oh, digest(i)) + except (AssertionError, KeyError): + rejected.append(name) + else: + # Discovery has no pinned values to reject spec-only mutations; the strict run must reject every control. + if not DISCOVER: + raise AssertionError('Invalid admission receipt accepted: ' + name) + accepted.append(name) + try: + assemble(owner, invoice, '0' * 64, sha(invoice_path)) + except AssertionError: + rejected.append('wrong_owner_receipt_hash') + else: + raise AssertionError('Wrong owner digest accepted') + pin('expected.assembly_controls_rejected', len(rejected)) + assert baseline['controls'] == ['next_grid', 'zero_eta', 'zero_beta', 'unit_beta'] + assert baseline['conservative_controls'] == baseline['controls'] + assert baseline['surcharge_model'] == {'complex': False, 'bit': True} + assert len(baseline['model_controls']) == 2 + return dict( + status='PASS_EXACT_MIXED_048_ALLCOLD_NATIVE_ASSEMBLY_ADMISSION_NEGATIVE_CONTROLS', + valid_receipt_kappa=baseline['kappa'], + input_sha256=baseline['input_sha256'], + assembler_sha256=sha(Path(__file__).resolve().parent / 'assemble.py'), + rejected_controls=rejected, + discovery_accepted_controls=accepted, + exact_outer_controls=baseline['controls'], + conservative_outer_controls=baseline['conservative_controls'], + recurrence_model_controls=baseline['model_controls'], + scope='Complete receipt schema; ordered widths and both reflected providers; exact program, work and paid-profile binding; independently recounted compiler, conservative envelope and finite inequalities. Does not replace fresh physical replay.', + ) + + +if __name__ == '__main__': + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--source-package', type=Path, required=True) + ap.add_argument('--owner', type=Path, required=True) + ap.add_argument('--invoice', type=Path, required=True) + ap.add_argument('--out', type=Path, required=True) + a = ap.parse_args() + assert not a.out.exists() + result = verify(a.owner, a.invoice, a.source_package) + a.out.write_text(json.dumps(result, indent=2) + '\n') + print(result['status'], len(result['rejected_controls'])) diff --git a/research/gauge44-slots/code/audit_allcold.py b/research/gauge44-slots/code/audit_allcold.py new file mode 100644 index 0000000000..c86f7b0235 --- /dev/null +++ b/research/gauge44-slots/code/audit_allcold.py @@ -0,0 +1,254 @@ +"""OpenAI Codex independent serialized ASYNCHRONOUS controller/spectator audit. +Imports no emitter, optimizer, expander, edge-coloring, or source hosting code. +CLI: BASE HOSTED REPORT [--mutation-controls] +Each provider is independently read from BASE/providers, never from a baseline width histogram. +OpenAI Codex two-provider width-seven extension; retains all inherited independent controller checks. +The exact 63 width-seven and 9 plain calls are frozen below. +""" +import sys,json,gzip,hashlib,copy +assert __debug__, 'Assertions must remain enabled' +from pathlib import Path +from collections import Counter,defaultdict +import sys as _s,pathlib as _p;_s.path.insert(0,str(_p.Path(__file__).resolve().parent)) +from witness import * +from generated_identity import artifact_identities +BASE,OUT,REPORT=map(lambda p:Path(p).resolve(),sys.argv[1:4]);read=lambda p:json.loads(gzip.decompress(p.read_bytes())if p.suffix=='.gz'else p.read_bytes()) +parent=read(BASE/'split-centres/GLOBAL-TEMPLATE.json.gz') +ph=read(BASE/'work/complex-nine-native/DATA-PHASES.json') +ct=read(OUT/'GLOBAL-TEMPLATE.json.gz');summary=read(OUT/'HOSTED.json') +sha=lambda p:hashlib.sha256(p.read_bytes()).hexdigest() +provider_ids=PIDS +providers={};registry={};phase_semantic_hashes={};artifact_semantic_hashes={} +required_artifacts={'work/complex-nine-native/DATA-PHASES.json'} +provider_files=('CANONICAL-WORD.json.gz','LOCAL-PROGRAMS.json.gz','LOCAL-CHECKS.json', + 'INDEPENDENT-LOCAL-REPLAY.json','RESIDUAL-ADAPTERS.json','CLIFFORD-RECIPES.json','CLIFFORD-REVIEW.json') +for pid in provider_ids: + p=BASE/'providers'/pid + c=read(p/'CANONICAL-WORD.json.gz');checks=read(p/'LOCAL-CHECKS.json') + programs=read(p/'LOCAL-PROGRAMS.json.gz');replay=read(p/'INDEPENDENT-LOCAL-REPLAY.json') + phase=read(p/'CLIFFORD-REVIEW.json');adapters=read(p/'RESIDUAL-ADAPTERS.json')['recipes'] + widths=[len(c['frames'][c['final'][2*c['v']+h]])-len(c['frames'][c['start'][2*c['v']+h]])for h in range(c['R'])] # HPE: residual width |final|-|start| + assert tuple(widths[h]for h in SPOT)==spot_widths();pin('providers.%s.inventory'%pid,{str(k):v for k,v in sorted(Counter(widths).items())}) + canonical_sha=sha(p/'CANONICAL-WORD.json.gz');programs_sha=sha(p/'LOCAL-PROGRAMS.json.gz') + assert replay['status']=='PASS_INDEPENDENT_LOCAL_SCALAR_FRAME_AND_WRAPPER_REPLAY' + assert replay['canonical_word_sha256']==canonical_sha and replay['local_programs_sha256']==programs_sha + assert replay['v']==c['v'] and replay['helpers']==c['R'] + assert set(programs)==set(checks)==set(replay['local'])==set(replay['paid_profiles'])=={'forward','backward'} + for orientation,events in programs.items(): + ck=checks[orientation];rr=replay['local'][orientation] + assert hashlib.sha256(json.dumps(events,sort_keys=True,separators=(',',':')).encode()).hexdigest()==ck['sha256'] + assert ck['events']==len(events) and ck['all_columns']==2*c['v']+c['R'] + assert ck['private_centers_cleared'] and ck['private_coefficient_stream_cleared_after_each_macro'] + assert rr['all_exact_columns']==2*c['v']+c['R'] and rr['private_work_erased'] + literal=Counter(e[-1]for e in events if e[0]in('climb','center')) + assert dict(literal)=={int(r):n for r,n in ck['paid_profile'].items()}=={int(r):n for r,n in c['local_profile'].items()} + assert ck['paid_profile']==replay['paid_profiles'][orientation] + assert phase['canonical_word_sha256']==canonical_sha and phase['recipe_sha256']==sha(p/'CLIFFORD-RECIPES.json') + assert phase['all_child_equalities_include_global_phase'] + artifact_semantic_hashes[pid]=artifact_identities(p) + pin('providers.%s.artifact_semantic_sha256'%pid,artifact_semantic_hashes[pid]) + phase_semantic_hashes[pid]=artifact_semantic_hashes[pid]['CLIFFORD-REVIEW.json'] + for h,w in enumerate(widths): + assert 0>i)&1==0);a=q^(1<>i&1 else 0)for i in order]+[1<2*max(paid)**2 + return dict(profile=dict(sorted(paid.items())),mass=mass,hosted=HOSTED,entering=entering,cross_replica=cross,sigma_digest=digest.hexdigest(),sigmas=sigmas,idle_remainders=len(wanted),busy_family_checks=len(roles),invocations=72) + +r=audit(ct);raw=gzip.decompress((OUT/'GLOBAL-TEMPLATE.json.gz').read_bytes());assert hashlib.sha256(raw).hexdigest()==summary['template_sha256'];assert r['profile']=={int(k):v for k,v in summary['global_profile'].items()};assert r['sigmas']==read(OUT/'ACTUAL-SIGMAS.json.gz');assert r['sigma_digest']==summary['sigma_stream_sha256'] +assert all(hashlib.sha256((BASE/name).read_bytes()).hexdigest()==value for name,value in summary['source_artifacts'].items()) +controls=[] +def reject(name,mut): + if '--mutation-controls' not in sys.argv[4:]:return + q=copy.deepcopy(ct);mut(q) + try:audit(q) + except(AssertionError,KeyError,IndexError,ValueError,TypeError):controls.append(name) + else:raise AssertionError('ACCEPTED '+name) +enter=lambda q:next(o for c in q['calls']for o in c['owners'][(2*V):]if o[1][0]==4) +reject('alias two whole owners',lambda q:q['calls'][0]['owners'].__setitem__((2*V+1),q['calls'][0]['owners'][(2*V)])) +reject('helper on active data family',lambda q:q['calls'][0]['owners'][(2*V)].__setitem__(0,q['calls'][0]['owners'][0][0])) +reject('owner in private namespace',lambda q:q['calls'][0]['owners'][(2*V)].__setitem__(0,DATA)) +reject('wrong residual width',lambda q:enter(q)[1].__setitem__(3,enter(q)[1][3]-1)) +reject('wrong spectator coordinate',lambda q:enter(q)[1][4].__setitem__(0,72)) +reject('omit idle remainder',lambda q:q['idle_children'].pop()) +reject('understate physical reserve',lambda q:q.__setitem__('physical',PHYSICAL-1)) +# Single-provider dispatch still has all source/program/width binding controls. +if len(provider_ids)==1: + P=provider_ids[0] + at_p=lambda q:next(c for c in q['calls']if c['provider_id']==P) + narrow=next(h for h in range(R)if providers[P]['widths'][h]<9) + reject(P+': wrong provider at its invocation',lambda q:at_p(q).__setitem__('provider_id','__unregistered__')) + reject(P+': stale per-call local program hash',lambda q:at_p(q).__setitem__('local_program_sha256','0'*64)) + reject(P+': stale serialized provider program',lambda q:q['local_providers'][P]['local_programs']['forward'].pop()) + reject(P+': unbound residual adapter hash',lambda q:q['local_providers'][P].__setitem__('residual_adapter_sha256','0'*64)) + reject(P+': wrong provider width registry',lambda q:q['local_providers'][P]['widths'].__setitem__(narrow,providers[P]['widths'][narrow]-1)) + reject(P+': wrong per-call residual width',lambda q:at_p(q)['owners'][2*V+narrow][1].__setitem__(3,at_p(q)['owners'][2*V+narrow][1][3]-1)) + reject(P+': wrong sweep provider',lambda q:next(e for e in q['execution_schedule']if e['kind']=='local_cover_sweep').__setitem__('provider_id','__unregistered__')) + reject(P+': entering helper width silently restored to nine',lambda q:q['local_providers'][P]['widths'].__setitem__(narrow,9)) +else: + # Per-provider substitution controls: every provider is swapped against a partner provider. + for P in provider_ids: + Qp=partner(P) + at_p=lambda q,P=P:next(c for c in q['calls']if c['provider_id']==P) + diff=[h for h in range(R)if providers[P]['widths'][h]!=providers[Qp]['widths'][h]] + narrow=next(h for h in range(R)if providers[P]['widths'][h]<9) + reject(P+': wrong provider at its invocation',lambda q,P=P,Qp=Qp,at_p=at_p:at_p(q).__setitem__('provider_id',Qp)) + reject(P+': stale per-call local program hash',lambda q,Qp=Qp,at_p=at_p:at_p(q).__setitem__('local_program_sha256',registry[Qp]['local_program_checks'][at_p(q)['orientation']]['sha256'])) + reject(P+': stale serialized provider program',lambda q,P=P,Qp=Qp:q['local_providers'][P].__setitem__('local_programs',registry[Qp]['local_programs'])) + reject(P+': unbound residual adapter hash',lambda q,P=P:q['local_providers'][P].__setitem__('residual_adapter_sha256','0'*64)) + if diff:reject(P+': partner width in provider width registry',lambda q,P=P,Qp=Qp,h=diff[0]:q['local_providers'][P]['widths'].__setitem__(h,providers[Qp]['widths'][h])) + reject(P+': wrong per-call residual width',lambda q,at_p=at_p,h=narrow:at_p(q)['owners'][2*V+h][1].__setitem__(3,at_p(q)['owners'][2*V+h][1][3]-1)) + reject(P+': wrong sweep provider',lambda q,P=P,Qp=Qp:next(e for e in q['execution_schedule']if e['kind']=='local_cover_sweep'and DISPATCH[e['stage'],e['replica']]==P).__setitem__('provider_id',Qp)) + reject(P+': entering helper width silently restored to nine',lambda q,P=P,h=narrow:q['local_providers'][P]['widths'].__setitem__(h,9)) + +report=dict(status='PASS_INDEPENDENT_ASYNC_WHOLE_OWNER_CONTROLLER_PHASES_AND_SPECTATORS',template_sha256=summary['template_sha256'],complex_template_sha256=summary['template_sha256'],complex_live=DATA,complex_profile=r['profile'],complex_hosted_residuals=HOSTED,physical=PHYSICAL,rank_mass=r['mass'],deficit=2560,entering_helper_roles=r['entering'],cross_replica_helper_roles=r['cross_replica'],one_owner_per_complete_invocation=True,helper_busy_family_window_checks=r['busy_family_checks'],complete_invocations=r['invocations'],actual_orthogonal_73column_maps=len(r['sigmas']),actual_sigma_stream_sha256=r['sigma_digest'],all_actual_residual_and_spectator_charts=True,idle_remainders=r['idle_remainders'],mutations_rejected=controls,mutation_controls_run='--mutation-controls' in sys.argv[4:],provider_phase_semantic_sha256=phase_semantic_hashes,provider_artifact_semantic_sha256=artifact_semantic_hashes,widths_by_provider={pid:dict(sorted(Counter(providers[pid]['widths']).items()))for pid in provider_ids},provider_counts=dict(Counter(c['provider_id']for c in ct['calls'])),all_provider_program_phase_and_wrapper_bindings=True,scope='Independent exact asynchronous chronology, per-replica phase projection, owner/chart/paid-profile audit. Uses per-invocation local providers bound by exact scalar, phase and residual-wrapper receipts; all-size compilation and complete coefficient invoice are separate inherited obligations.') +REPORT.parent.mkdir(parents=True,exist_ok=True) +REPORT.write_text(json.dumps(report,indent=2)+'\n');print(json.dumps(report,indent=2)) + +owners=dict(status='PASS_INDEPENDENT_ASYNC_OWNERS_AND_PROFILE',template_sha256=summary['template_sha256'],paid_profile=r['profile'],live=DATA,physical=PHYSICAL,rank_mass=r['mass'],deficit=2560,hosted_residuals=HOSTED,banked_residuals=0,all_live_owners_per_call_distinct=True,owners_per_call=N,actual_helper_owner_charts=HOSTED,actual_73column_sigmas=len(r['sigmas']),cross_replica_helper_roles=r['cross_replica'],explicit_idle_remainder_children=r['idle_remainders'],source_idle_children_charged=sum(x['replicas']for x in parent['idle_children']),source_artifacts=summary['source_artifacts'],provider_phase_semantic_sha256=phase_semantic_hashes,provider_artifact_semantic_sha256=artifact_semantic_hashes,controller_audit_sha256=hashlib.sha256(REPORT.read_bytes()).hexdigest()) +(REPORT.parent/'OWNERS-AND-PROFILE.json').write_text(json.dumps(owners,indent=2)+'\n') + +# Literal residual frames are a compact export of the already checked offsets, +# not another global replay. Every row names its actual inherited axes. +frames=[] +for z in ct['idle_children']: + axes=list(map(int,ph['recipes'][z['port']]['idle_children'][z['child']]['orthogonal_axes'])) + tail=axes[z['pending_offset']:] + assert len(tail)==z['rank'] + frames.append(dict(z,orthogonal_axes=tail)) +frame_raw=json.dumps(frames,sort_keys=True,separators=(',',':')).encode() +portable=bytearray(gzip.compress(frame_raw,mtime=0));portable[9]=255 +(OUT/'IDLE-REMAINDER-FRAMES.json.gz').write_bytes(bytes(portable)) +frame_receipt=dict(status='PASS_LITERAL_IDLE_REMAINDER_FRAMES',template_sha256=summary['template_sha256'], + uncompressed_frames_sha256=hashlib.sha256(frame_raw).hexdigest(),children=len(frames), + rank_profile=dict(sorted(Counter(z['rank']for z in frames).items())), + source_data_phase_sha256=hashlib.sha256((BASE/'work/complex-nine-native/DATA-PHASES.json').read_bytes()).hexdigest(), + scope='Actual orthogonal axes after the independently checked whole-owner prefix in each inherited pending child.') +(REPORT.parent/'IDLE-REMAINDER-FRAMES.json').write_text(json.dumps(frame_receipt,indent=2)+'\n') diff --git a/research/gauge44-slots/code/bind_providers_portable.py b/research/gauge44-slots/code/bind_providers_portable.py new file mode 100644 index 0000000000..97e28da17e --- /dev/null +++ b/research/gauge44-slots/code/bind_providers_portable.py @@ -0,0 +1,67 @@ +"""Bind freshly verified plain and width-seven four-cold providers to the frozen literal owner plan. +Prepared with OpenAI Codex assistance; Apache-2.0. All byte-stable native +files are pinned to the plan. Only validated phase-receipt timing/serialization +and directory fields are rebound; no dispatch, width or owner choice changes. +""" +import argparse,copy,gzip,hashlib,json,shutil +from collections import Counter +from pathlib import Path +import sys as _s,pathlib as _p;_s.path.insert(0,str(_p.Path(__file__).resolve().parent)) +from witness import * +from generated_identity import artifact_identities +assert __debug__, 'Assertions required' +ap=argparse.ArgumentParser(description=__doc__) +for name in ('baseline','plan','out'):ap.add_argument('--'+name,type=Path,required=True) +ap.add_argument('--provider',action='append',required=True,help='PID=DIR');a=ap.parse_args();assert not a.out.exists();a.out.mkdir(parents=True) +def read(p):return json.loads(gzip.decompress(p.read_bytes())if p.suffix=='.gz'else p.read_bytes()) +def sha(p):return hashlib.sha256(p.read_bytes()).hexdigest() +base=a.out/'base';shutil.copytree(a.baseline/'complex-global/base',base) +ap2=dict(x.split('=',1)for x in a.provider);dirs={k:Path(v)for k,v in ap2.items()};assert set(dirs)==set(PIDS) +for pid,src in dirs.items():shutil.copytree(src,base/'providers'/pid) +pin('data.plan_sha256',sha(a.plan)) +plan=read(a.plan);original=copy.deepcopy(plan);sources={};helpers=set() # R: helper count per provider word; all providers must agree +assert set(plan['provider_registry'])==set(dirs) +assert {(c['stage'],c['replica']):c['provider']for c in plan['provider_calls']}==DISPATCH,'PLAN dispatch differs from spec dispatch' +stable=('CANONICAL-WORD.json.gz','LOCAL-PROGRAMS.json.gz','LOCAL-CHECKS.json','INDEPENDENT-LOCAL-REPLAY.json','CLIFFORD-RECIPES.json','RESIDUAL-ADAPTERS.json') +for pid,desc in plan['provider_registry'].items(): + d=base/'providers'/pid + word,program,checks,native,phase=[read(d/name)for name in('CANONICAL-WORD.json.gz','LOCAL-PROGRAMS.json.gz','LOCAL-CHECKS.json','INDEPENDENT-LOCAL-REPLAY.json','CLIFFORD-REVIEW.json')] + assert (word['v'],word['h'],len(word['centers']))==(112,9,8) and type(word['R']) is int and word['R']>0;helpers.add(word['R']) + assert word['ports']==desc['ports'] and word['centers']==desc['centers'] + widths=[len(word['frames'][word['final'][r]])-len(word['frames'][word['start'][r]])for r in range(2*112,2*112+word['R'])] # HPE: residual width |final|-|start| + assert tuple(widths[h]for h in SPOT)==spot_widths() + assert widths==desc['widths'];pin('providers.%s.inventory'%pid,{str(k):v for k,v in sorted(Counter(widths).items())}) + assert native['status']=='PASS_INDEPENDENT_LOCAL_SCALAR_FRAME_AND_WRAPPER_REPLAY' + pin('providers.%s.native_negative_controls'%pid,len(native['negative_controls_rejected'])) + assert native['canonical_word_sha256']==sha(d/'CANONICAL-WORD.json.gz') and native['local_programs_sha256']==sha(d/'LOCAL-PROGRAMS.json.gz') + assert phase['status']=='PASS_NEW_WORD_EXACT_LOCAL_PHASE_RECIPES' + assert phase['canonical_word_sha256']==sha(d/'CANONICAL-WORD.json.gz') and phase['recipe_sha256']==sha(d/'CLIFFORD-RECIPES.json') + assert phase['all_child_equalities_include_global_phase'] is True and phase['endpoint_adapters']==224 + pin('providers.%s.phase_edges'%pid,phase['directed_edges']) + assert set(program)==set(checks)=={'forward','backward'} + expected={int(r):n for r,n in checks['forward']['paid_profile'].items()};pin('providers.%s.expected_profile'%pid,checks['forward']['paid_profile']) + for orientation,events in program.items(): + profile=Counter() + for e in events: + if e[0]=='climb':profile[e[5]]+=1 + elif e[0]=='center':profile[e[4]]+=1 + assert dict(profile)==expected=={int(r):n for r,n in checks[orientation]['paid_profile'].items()}=={int(r):n for r,n in native['paid_profiles'][orientation].items()} + assert hashlib.sha256(json.dumps(events,separators=(',',':')).encode()).hexdigest()==checks[orientation]['sha256'] + identities=artifact_identities(d) + pin('providers.%s.artifact_semantic_sha256'%pid,identities) + assert identities==desc['artifact_semantic_sha256'] + for name in ('LOCAL-CHECKS.json','CLIFFORD-RECIPES.json','RESIDUAL-ADAPTERS.json'): + assert sha(d/name)==desc['artifact_sha256'][name],(pid,name,'changed non-reference artifact') + for c in plan['provider_calls']: + if c['provider']==pid: + assert c['orientation']==('forward'if c['stage']%2==0 else'backward') + assert c['local_program_sha256']==checks[c['orientation']]['sha256'] + desc['directory']='providers/'+pid + desc['artifact_sha256']={name:sha(d/name)for name in desc['artifact_sha256']} + sources[pid]=dict(artifact_sha256=desc['artifact_sha256'],canonical_content_sha256=hashlib.sha256(json.dumps(word,sort_keys=True,separators=(',',':')).encode()).hexdigest(),all_phase_edges=phase['directed_edges']) +assert len(helpers)==1,'providers disagree on helper count R: %s'%sorted(helpers) +plan['runtime_source_plan_sha256']=sha(a.plan) +(a.out/'PLAN.json').write_text(json.dumps(plan,indent=2)+'\n') +receipt=dict(status='PASS_FROZEN_048_ALLCOLD_DISPATCH_FRESH_PROVIDER_BINDING',source_plan_sha256=sha(a.plan),runtime_plan_sha256=sha(a.out/'PLAN.json'),providers=sources,only_rebound_fields=['provider_registry.directory','provider_registry.artifact_sha256','runtime_source_plan_sha256']) +(a.out/'BINDING.json').write_text(json.dumps(receipt,indent=2)+'\n') +print(receipt['status']) diff --git a/research/gauge44-slots/code/bit_supplier_controls.py b/research/gauge44-slots/code/bit_supplier_controls.py new file mode 100644 index 0000000000..e86b8527b4 --- /dev/null +++ b/research/gauge44-slots/code/bit_supplier_controls.py @@ -0,0 +1,111 @@ +"""Negative controls for the cited PR589 bit supplier and its derived rank-mass deficit. + +Apache-2.0. Each control mutates one input of the changed bit-supplier sites in assemble.py (the pinned record, the +deficit derivation from the word's parameters, the profile/live binding, the claimed endpoint) and runs the unchanged +assemble() on the fresh owner/invoice receipts. Every control must be rejected; the unmutated run must pass. +`revert_hardcoded_9984` restores the PR543 constant the parent package hard-coded: with PR589's word it must fail. +""" +import argparse +import copy +import hashlib +import json +import os +import tempfile +from fractions import Fraction as Q +from pathlib import Path +import sys as _s,pathlib as _p;_s.path.insert(0,str(_p.Path(__file__).resolve().parent)) + +assert __debug__, 'Assertions required' +sha = lambda p: hashlib.sha256(p.read_bytes()).hexdigest() + + +def verify(owner_path, invoice_path, source_package): + os.environ['GAIN_PR564_SOURCE'] = str(source_package.resolve()) + import assemble as A + owner = json.loads(owner_path.read_text()) + invoice = json.loads(invoice_path.read_text()) + args = (owner, invoice, sha(owner_path), sha(invoice_path)) + baseline = A.assemble(*args) + data = A.BIT_PATH.read_bytes() + record = A.load_bit(data) + word = record['word'] + assert A.bit_deficit(word, record['nine']['bit']['live']) == 10272 == 32 * (8 * 111 - 9 * 63) + + real_load, real_deficit = A.load_bit, A.bit_deficit + + def with_record(mutate): + def load(d): + r = copy.deepcopy(real_load(d)); mutate(r); return r + return load + + def shift_profile(r): # one rank-1 child becomes rank 2: rank mass +1, totals unchanged + p = r['nine']['profile']; p['1'] -= 1; p['2'] += 1; r['nine']['bit']['rank_mass'] += 1 + + bumped = data.replace(record['nine']['bit_lower'].encode(), + str(Q(record['nine']['bit_lower']) + Q(1, 10**24)).encode(), 1) + assert bumped != data + pr543 = (source_package / 'inputs/PR543-EXPECTED.json').read_bytes() + controls = [ + # deficit site: the parent's hard-coded constant, restored + ('revert_hardcoded_9984', dict(bit_deficit=lambda w, live: 9984)), + # deficit site: each word parameter perturbed alone + ('ports_112', dict(load_bit=with_record(lambda r: r['word'].__setitem__('v', 112)))), + ('decoder_constant_64_copy_ranks_unchanged', dict(load_bit=with_record(lambda r: r['word'].__setitem__('decoder_constant', 64)))), + # v=111, cst=64 derives 32*(888-576)=9984: consistent word, wrong for the priced profile + ('decoder_constant_64_with_one_copy_rank_8', dict(load_bit=with_record(lambda r: (r['word'].__setitem__('decoder_constant', 64), r['word']['copy_ranks'].__setitem__(0, 8))))), + ('eight_retained_totals', dict(load_bit=with_record(lambda r: (r['word'].__setitem__('copy_ranks', [7] * 8), r['word'].__setitem__('decoder_constant', 56))))), + ('live_minus_one', dict(load_bit=with_record(lambda r: r['nine']['bit'].__setitem__('live', r['nine']['bit']['live'] - 1)))), + # profile binding: same totals, rank mass +1 + ('profile_rank_mass_plus_one', dict(load_bit=with_record(shift_profile))), + ('profile_rank_mass_receipt_mismatch', dict(load_bit=with_record(lambda r: r['nine']['bit'].__setitem__('rank_mass', r['nine']['bit']['rank_mass'] + 1)))), + # endpoint: the next 1e-24 grid point + ('bit_lower_next_grid', dict(load_bit=with_record(lambda r: r['nine'].__setitem__('bit_lower', str(Q(r['nine']['bit_lower']) + Q(1, 10**24)))))), + ('not_nine_stage_record', dict(load_bit=with_record(lambda r: r['nine'].__setitem__('pipeline', r['nine']['pipeline'].replace('nine-stage', 'eleven-stage'))))), + # pinned-input site: tampered bytes and the parent's PR543 file under the PR589 pin + ('tampered_bytes_next_grid', dict(read=bumped)), + ('pr543_file_under_pr589_pin', dict(read=pr543)), + ] + rejected = [] + scratch = Path(tempfile.mkdtemp(prefix='bitctl-')) + for name, patch in controls: + saved_path = A.BIT_PATH + try: + if 'read' in patch: + tmp = scratch / (name + '.json'); tmp.write_bytes(patch['read']); A.BIT_PATH = tmp + A.load_bit = patch.get('load_bit', real_load) + A.bit_deficit = patch.get('bit_deficit', real_deficit) + try: + A.assemble(*args) + except (AssertionError, KeyError): + rejected.append(name) + else: + raise AssertionError('Invalid bit supplier accepted: ' + name) + finally: + A.load_bit, A.bit_deficit, A.BIT_PATH = real_load, real_deficit, saved_path + if 'read' in patch: + tmp.unlink() + scratch.rmdir() + assert rejected == [n for n, _ in controls] + again = A.assemble(*args) + assert again['kappa'] == baseline['kappa'] and again['bit_lower'] == baseline['bit_lower'] + return dict( + status='PASS_PR589_BIT_SUPPLIER_DERIVED_DEFICIT_NEGATIVE_CONTROLS', + kappa=baseline['kappa_decimal'], bit_lower=baseline['bit_lower'], bit_decimal=baseline['bit_decimal'], + binding=baseline['binding'], bit_supplier=baseline['bit_supplier'], + derived_deficit=baseline['bit_supplier']['derived_deficit'], + rejected_controls=rejected, + assembler_sha256=sha(Path(__file__).resolve().parent / 'assemble.py'), + ) + + +if __name__ == '__main__': + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--source-package', type=Path, required=True) + ap.add_argument('--owner', type=Path, required=True) + ap.add_argument('--invoice', type=Path, required=True) + ap.add_argument('--out', type=Path, required=True) + a = ap.parse_args() + assert not a.out.exists() + result = verify(a.owner, a.invoice, a.source_package) + a.out.write_text(json.dumps(result, indent=2) + '\n', newline='\n') + print(result['status'], len(result['rejected_controls'])) diff --git a/research/gauge44-slots/code/emit_allcold.py b/research/gauge44-slots/code/emit_allcold.py new file mode 100644 index 0000000000..8e147f80a6 --- /dev/null +++ b/research/gauge44-slots/code/emit_allcold.py @@ -0,0 +1,150 @@ +"""Two-provider width-seven whole-owner derivative, adapted with OpenAI Codex assistance. +Based on PR514 and its credited PR484/507 lineage. +CLI: --base VERIFIED_VARIANT --owners ASYNC-OWNERS.json.gz --plan ASYNC-PLAN.json --out OUT +No optimizer or unpublished word builder runs. The frozen map explicitly names +one whole helper per family per complete invocation, plus borrowed spectators. +""" +import sys,json,gzip,hashlib,copy,argparse +from pathlib import Path +from collections import Counter,defaultdict +import sys as _s,pathlib as _p;_s.path.insert(0,str(_p.Path(__file__).resolve().parent)) +from witness import * +parser=argparse.ArgumentParser(description=__doc__) +parser.add_argument('--base',type=Path,required=True);parser.add_argument('--owners',type=Path,required=True);parser.add_argument('--plan',type=Path,required=True);parser.add_argument('--out',type=Path,required=True) +a=parser.parse_args();BASE,MAP,PLAN,OUT=(p.resolve()for p in(a.base,a.owners,a.plan,a.out));assert not OUT.exists();OUT.mkdir(parents=True) +class OH: + @staticmethod + def idle_basis(q): + z=next(i for i in range(9)if not(q>>i)&1);u=q^(1<>i&1 else 0)for i in order]+[1<0 and all(x['R']==R for x in registry.values()),'providers disagree on helper count R' + assert replay['status']=='PASS_INDEPENDENT_LOCAL_SCALAR_FRAME_AND_WRAPPER_REPLAY' + assert replay['canonical_word_sha256']==sha(directory/'CANONICAL-WORD.json.gz')and replay['local_programs_sha256']==sha(directory/'LOCAL-PROGRAMS.json.gz') + widths=[len(pc['frames'][pc['final'][2*V+h]])-len(pc['frames'][pc['start'][2*V+h]])for h in range(R)] # HPE: residual width |final|-|start| + assert widths==plan['provider_registry'][provider_id]['widths'] + for name in provider_files: + value=sha(directory/name);assert value==plan['provider_registry'][provider_id]['artifact_sha256'][name] + source_artifacts[f'providers/{provider_id}/{name}']=value + registry[provider_id]=dict(local_programs=programs,canonical_word_sha256=sha(directory/'CANONICAL-WORD.json.gz'),local_programs_sha256=sha(directory/'LOCAL-PROGRAMS.json.gz'),local_program_checks=checks,exact_local_clifford_recipe_sha256=sha(directory/'CLIFFORD-RECIPES.json'),residual_adapter_sha256=sha(directory/'RESIDUAL-ADAPTERS.json'),v=V,h=9,R=R,ports=pc['ports'],centers=pc['centers'],widths=widths) +assert len(roles)==72*R # one whole-owner role per (call, provider helper) +selected={(c['stage'],c['replica']):c for c in plan['provider_calls']} +assert len(selected)==72 and set(selected)==set(call_order) +assert Counter(c['provider']for c in selected.values())==COUNTS +per_call_widths={(c['stage'],c['replica']):c['widths']for c in plan['per_call_widths']} +for key,c in selected.items(): + assert c['time']==at[key] and c['provider']in registry + assert per_call_widths[key]==registry[c['provider']]['widths'] +for key in('local_programs','exact_local_clifford_recipe_sha256','residual_adapter_sha256'):t.pop(key) +t['local_providers']=registry +rank={z['child']:z['rank']for z in parent['idle_children']};side={};pairs={} +for e in parent['execution_schedule']: + if e['kind']=='idle_cover_sweep': + for sd,ch in enumerate(e['child_indices']):side[ch]=sd;pairs[ch]=e['pair'] +bycall=defaultdict(dict);used=defaultdict(set);sigmas={};digest=hashlib.sha256();entering=0 +for z in roles: + s,rep,h=z['stage'],z['replica'],z['helper'];i,cp,off,w,f=z['child'],z['copy'],z['offset'],z['width'],z['family'];orp,port=divmod(cp,V) + assert 0<=s<9 and 0<=rep=0 and off+w<=rank[i] + assert z['time']==at[s,rep] and z['time'] in plan['windows'][f'{orp},{i}'][1] + B=OH.idle_basis(canon['ports'][port]);pending=list(map(int,ph['recipes'][port]['idle_children'][i]['orthogonal_axes']));assert len(pending)==rank[i] + occ=[B.index(v)for v in pending[off:off+w]];sp=OH.spectators(canon['ports'][port],pending,off,w)if w<9 else[] + order=occ+sp+[j for j in range(M)if j not in occ and j not in sp];assert len(order)==len(set(order))==M + sigma=[B[j]for j in order];sigmahash=hashlib.sha256(json.dumps(sigma,separators=(',',':')).encode()).hexdigest();sigmas[sigmahash]=sigma + route=[4,i,off,w,sp]if w<9 else[3,i,off];bycall[s,rep][h]=[f,route];entering+=w<9 + cells=set(range(off,off+w));assert not used[i,orp,port]&cells;used[i,orp,port]|=cells + digest.update(json.dumps([s,rep,h,f,sigmahash],separators=(',',':')).encode()+b'\n') +for c in t['calls']: + k=(c['stage'],c['replica']);assert set(bycall[k])==set(range(R)) + c['owners']=c['owners'][:(2*V)]+[bycall[k][h]for h in range(R)];assert len({f for f,r in c['owners']})==2*V+R and all(f2*max(paid)**2 + +assert all(c['local_program_sha256']==registry[c['provider_id']]['local_program_checks'][c['orientation']]['sha256']for c in t['calls']) +t['provider_dispatch']='For each indivisible local_cover_sweep, execute local_providers[call.provider_id].local_programs[call.orientation] with that provider residual adapters and Clifford recipes. The sweep provider_id must equal its call provider_id.' +raw=json.dumps(t,sort_keys=True,separators=(',',':')).encode();(OUT/'GLOBAL-TEMPLATE.json.gz').write_bytes(gzip.compress(raw,mtime=0)) +res=dict(status='EMITTED_MIXED_PROVIDER_ASYNCHRONOUS_WHOLE_OWNER_COMPLEX_TEMPLATE', + template_sha256=hashlib.sha256(raw).hexdigest(), + parent_template_sha256=hashlib.sha256(gzip.decompress((BASE/'split-centres/GLOBAL-TEMPLATE.json.gz').read_bytes())).hexdigest(), + live=DATA,physical=physical,global_profile=dict(sorted(paid.items())), + rank_mass=sum(r*n for r,n in paid.items()),deficit=2560,maxchild=max(paid), + hosted_residuals=len(roles),banks_per_stage=[0]*9,entering_helper_roles=entering, + unique_actual_73column_sigmas=len(sigmas),sigma_stream_sha256=digest.hexdigest(), + cross_replica_helper_roles=sum(z['replica']!=z['owner_replica']for z in roles), + asynchronous_order_sha256=hashlib.sha256(json.dumps(call_order,separators=(',',':')).encode()).hexdigest(), + source_artifacts=source_artifacts,provider_counts=dict(Counter(c['provider_id']for c in t['calls'])), + scope='Two actual verified plain/width-seven providers dispatched per complete invocation; independent controller/spectator/normalization and complete finite invoice admission required.') +(OUT/'HOSTED.json').write_text(json.dumps(res,indent=2)+'\n');(OUT/'ACTUAL-SIGMAS.json.gz').write_bytes(gzip.compress(json.dumps(sigmas,separators=(',',':')).encode(),mtime=0));print(json.dumps(res,indent=2)) diff --git a/research/gauge44-slots/code/freeze_spec.py b/research/gauge44-slots/code/freeze_spec.py new file mode 100644 index 0000000000..dd0358d396 --- /dev/null +++ b/research/gauge44-slots/code/freeze_spec.py @@ -0,0 +1,29 @@ +"""Freeze independently recomputed discovery values before strict replay.""" +import argparse +import json +from pathlib import Path + +ap = argparse.ArgumentParser(description=__doc__) +ap.add_argument('--spec', type=Path, required=True) +ap.add_argument('--discovery', type=Path, required=True) +a = ap.parse_args() +spec = json.loads(a.spec.read_text()) +for line in (a.discovery/'WITNESS-RECORD.jsonl').read_text().splitlines(): + key, value = json.loads(line) + parts = key.split('.') + if len(parts)>3 and parts[0]=='providers' and parts[2]=='artifacts': + parts = parts[:3] + ['.'.join(parts[3:])] + target = spec + for part in parts[:-1]: + target = target.setdefault(part, {}) + if parts[-1] in target: + assert target[parts[-1]]==value, 'Conflicting independent recomputations: '+key + target[parts[-1]] = value +assembly = json.loads((a.discovery/'ASSEMBLY.json').read_text()) +for key in ('complex_lower','conservative_complex_lower','kappa','kappa_decimal','conservative_kappa_decimal'): + spec['expected'][key] = assembly[key] +spec['expected']['assembly_controls_rejected'] = 69 +spec['expected']['provider_counts'] = {'gauge44':72} +spec['expected']['mutations_rejected'] = 15 +a.spec.write_text(json.dumps(spec, indent=2)+'\n') +print('Frozen exact witness for strict replay:', assembly['kappa_decimal']) diff --git a/research/gauge44-slots/code/generated_identity.py b/research/gauge44-slots/code/generated_identity.py new file mode 100644 index 0000000000..74a9b60479 --- /dev/null +++ b/research/gauge44-slots/code/generated_identity.py @@ -0,0 +1,62 @@ +"""Proof-relevant identities for generated artifacts, independent of gzip streams. + +Immutable source archives retain their exact byte hashes. For freshly emitted +artifacts, gzip identity is the exact decompressed payload and JSON identity +retains every field. Only CLIFFORD-REVIEW's root timing field is excluded. +Literal receipt references are checked against actual files before replacing +the three gzip references (and the phase recipe reference) with content hashes. +Prepared with OpenAI Codex assistance; Apache-2.0. +""" +from pathlib import Path +import copy +import gzip +import hashlib +import json +import math + +if not __debug__: + raise RuntimeError('Assertions must remain enabled') + +FILES=('CANONICAL-WORD.json.gz','LOCAL-PROGRAMS.json.gz','LOCAL-CHECKS.json', + 'INDEPENDENT-LOCAL-REPLAY.json','CLIFFORD-RECIPES.json', + 'CLIFFORD-REVIEW.json','RESIDUAL-ADAPTERS.json') + +def sha(path): + return hashlib.sha256(Path(path).read_bytes()).hexdigest() + +def json_identity(value): + return hashlib.sha256(json.dumps(value,sort_keys=True,separators=(',',':'),allow_nan=False).encode('utf-8')).hexdigest() + +def payload_identity(path): + return hashlib.sha256(gzip.decompress(Path(path).read_bytes())).hexdigest() + +def phase_value(directory,value=None): + directory=Path(directory) + value=copy.deepcopy(json.loads((directory/'CLIFFORD-REVIEW.json').read_bytes())if value is None else value) + assert value['canonical_word_sha256']==sha(directory/'CANONICAL-WORD.json.gz'),'stale phase canonical word reference' + assert value['recipe_sha256']==sha(directory/'CLIFFORD-RECIPES.json'),'stale phase recipe reference' + seconds=value.pop('seconds') + assert type(seconds)in(int,float) and math.isfinite(seconds) and seconds>=0,'invalid phase timing metadata' + value['canonical_word_sha256']=payload_identity(directory/'CANONICAL-WORD.json.gz') + value['recipe_sha256']=json_identity(json.loads((directory/'CLIFFORD-RECIPES.json').read_bytes())) + return value + +def native_value(directory,value=None): + directory=Path(directory) + value=copy.deepcopy(json.loads((directory/'INDEPENDENT-LOCAL-REPLAY.json').read_bytes())if value is None else value) + for field,name in [('canonical_word_sha256','CANONICAL-WORD.json.gz'),('local_programs_sha256','LOCAL-PROGRAMS.json.gz')]: + assert value[field]==sha(directory/name),'stale native artifact reference: '+field + value[field]=payload_identity(directory/name) + return value + +def artifact_identities(directory): + directory=Path(directory) + result={} + for name in FILES: + path=directory/name + if name.endswith('.gz'): + result[name]=payload_identity(path) + else: + value=phase_value(directory)if name=='CLIFFORD-REVIEW.json'else native_value(directory)if name=='INDEPENDENT-LOCAL-REPLAY.json'else json.loads(path.read_bytes()) + result[name]=json_identity(value) + return result diff --git a/research/gauge44-slots/code/invoice_allcold.py b/research/gauge44-slots/code/invoice_allcold.py new file mode 100644 index 0000000000..b244cd5994 --- /dev/null +++ b/research/gauge44-slots/code/invoice_allcold.py @@ -0,0 +1,329 @@ +"""Fresh call-specific mixed-provider finite invoice. + +Prepared with OpenAI Codex assistance, Apache-2.0. The scalar/Horner recount +and finite inequalities are adapted from the retained PR558 -> PR552 -> +PR531 invoice_final.py, whose notices and sources are preserved in the package. +Every call selects a hash-bound provider. Shared compiler reserves use maxima; +primitive work, coefficient work, local children and wrappers are also summed +from actual selected provider/orientation records. +""" +import argparse, gzip, hashlib, json +import sys as _s,pathlib as _p;_s.path.insert(0,str(_p.Path(__file__).resolve().parent)) +from witness import * +from generated_identity import artifact_identities +from collections import Counter +from fractions import Fraction as Q +from pathlib import Path +assert __debug__, 'Assertions required' + +def read(path): + data=path.read_bytes() + return json.loads(gzip.decompress(data) if path.suffix=='.gz' else data) +def filehash(path): return hashlib.sha256(path.read_bytes()).hexdigest() +def contenthash(path): + data=path.read_bytes() + return hashlib.sha256(gzip.decompress(data) if path.suffix=='.gz' else data).hexdigest() +def programhash(events): + return hashlib.sha256(json.dumps(events,separators=(',',':')).encode()).hexdigest() + +def recount_provider(local_dir, registry): + cp=local_dir/'CANONICAL-WORD.json.gz'; pp=local_dir/'LOCAL-PROGRAMS.json.gz' + rp=local_dir/'INDEPENDENT-LOCAL-REPLAY.json' + w,programs,replay=read(cp),read(pp),read(rp) + checks=read(local_dir/'LOCAL-CHECKS.json') + assert set(programs)=={'forward','backward'} + assert replay['status']=='PASS_INDEPENDENT_LOCAL_SCALAR_FRAME_AND_WRAPPER_REPLAY' + assert replay['canonical_word_sha256']==filehash(cp)==registry['canonical_word_sha256'] + assert replay['local_programs_sha256']==filehash(pp)==registry['local_programs_sha256'] + assert programs==registry['local_programs'] + assert checks==registry['local_program_checks'] + assert filehash(local_dir/'CLIFFORD-RECIPES.json')==registry['exact_local_clifford_recipe_sha256'] + assert filehash(local_dir/'RESIDUAL-ADAPTERS.json')==registry['residual_adapter_sha256'] + v,helpers,h,m=w['v'],w['R'],w['h'],73 + assert (v,h)==(112,9) and type(helpers) is int and helpers>0 + assert registry['v']==v and registry['R']==helpers and registry['h']==h + assert registry['ports']==w['ports'] and registry['centers']==w['centers'] + assert replay['v']==v and replay['helpers']==helpers + n=2*v+helpers + widths = [len(w['frames'][w['final'][r]])-len(w['frames'][w['start'][r]]) for r in range(2*v, 2*v+helpers)] # HPE: |final|-|start| + terminal_codim = sum(h-len(w['frames'][w['final'][r]]) for r in range(2*v, 2*v+helpers)) # HPE: 0 for FULL-ended helpers + ends = {r: f for r, f in enumerate(w['final']) if r >= 2*v and f != 1} + assert len(widths) == helpers + entrances = {r: f for r, f in enumerate(w['start']) if r >= 2*v and f != 0} + entering = len(entrances) + wrapped = {**entrances, **{r: 0 for r in ends if r not in entrances}} # COLD-HPE: cold hyperplane-ended helpers carry wrappers too + cold_ends = len(wrapped) - len(entrances) + assert entering == replay['entering_helpers'] + local = {} + for orientation, events in programs.items(): + # Endpoint equality and native frames were already independently + # replayed on all n columns in the hash-bound receipt above. + env = {('L', r): Q(1) for r in range(n)} + peak = Q(1) + real = macros = workops = 0 + paid = Counter() + wrappers = {'pre': set(), 'post': set()} + for event in events: + tag = event[0] + if tag == 'climb': + paid[event[5]] += 1 + elif tag == 'center': + paid[event[4]] += 1 + elif tag == 'residual_adapter': + _, kind, register, frame, *end = event + assert kind in wrappers and wrapped.get(register) == frame + assert end == ([ends[register]] if register in ends else []) # HPE: R_{E,U}^-1 and L_{E,U}^-1 name U + assert register not in wrappers[kind] + wrappers[kind].add(register) + elif tag == 'scalar': + macros += 1 + scalar = event[1] + op, target = scalar[0], tuple(scalar[1]) + if op == 'clear': + env[target] = Q(0) + count = 1 + elif op == 'copy': + env[target] = env[tuple(scalar[2])] + count = 1 + elif op == 'scale': + q = Q(scalar[2], scalar[3]) + numerator, denominator = abs(q.numerator), q.denominator + assert numerator and numerator & (numerator-1) == 0 + assert denominator & (denominator-1) == 0 + env[target] *= abs(q) + count = abs(numerator.bit_length()-denominator.bit_length()) + int(q < 0) + elif op == 'add': + source = tuple(scalar[2]) + q = Q(scalar[3], scalar[4]) + numerator, denominator = abs(q.numerator), q.denominator + assert source != target and numerator > 0 + assert denominator & (denominator-1) == 0 + acc, count = 0, 1 # clear coefficient work + for i, bit in enumerate(bin(numerator)[2:]): + if i: + acc *= 2 + count += 1 + peak = max(peak, acc*env[source]) + if bit == '1': + acc += 1 + count += 1 + peak = max(peak, acc*env[source]) + value = Q(acc) + for _ in range(denominator.bit_length()-1): + value /= 2 + count += 1 + peak = max(peak, value*env[source]) + assert value == abs(q) + count += 2 # signed accumulation and work clear + env[target] = env.get(target, Q(0)) + abs(q)*env[source] + workops += count + else: + raise AssertionError(op) + real += 2*count + peak = max(peak, env[target]) + else: + assert tag in ('adapter', 'phase') + assert wrappers['pre'] == wrappers['post'] == set(wrapped) + assert all(value == 0 for register, value in env.items() if register[0] == 'C') + prior = replay['local'][orientation] + assert prior['all_exact_columns'] == n and prior['private_work_erased'] + assert peak == Q(prior['prefix_l1_upper']) and peak < 2**prior['charged_payload_bits'] + bits = peak.numerator.bit_length()-peak.denominator.bit_length()+1 + assert bits == prior['prefix_bits_upper'] + assert real == checks[orientation]['real_component_primitive_bound'] + assert macros == checks[orientation]['scalar_macros'] + assert dict(paid) == {int(r): count for r, count in checks[orientation]['paid_profile'].items()} + assert dict(paid) == {int(r): count for r, count in replay['paid_profiles'][orientation].items()} + local[orientation] = dict( + events=len(events), macros=macros, real_component_primitives=real, + prefix_l1=str(peak), prefix_bits=bits, + coefficient_work_primitive_count=workops, all_exact_columns=n, + dirty_helper_columns=helpers, all_dirty_helper_columns_restored=True, + private_centres_and_coefficient_work_cleared=True, + pre_wrappers=len(wrappers['pre']), post_wrappers=len(wrappers['post']), + endpoint_evidence='Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json') + + centres = len(w['centers']) + children = sum(checks['forward']['paid_profile'].values()) + assert checks['forward']['paid_profile'] == checks['backward']['paid_profile'] + macro_bound = max(row['macros'] for row in local.values()) + compiler = 64*(m+1)**3 + adapters = 16*(macro_bound+children+n+centres)+64*m + primitive_bound = max(row['real_component_primitives'] for row in local.values())+adapters*compiler + + assert widths==registry['widths'] + artifacts={f.name:filehash(f) for f in local_dir.iterdir() if f.is_file()} + phase_review=read(local_dir/'CLIFFORD-REVIEW.json') + return dict(local=local,helpers=helpers,centres=centres,v=v,h=h,n=n, + entering_helpers=entering,entrance_rank=sum(len(w['frames'][f]) for f in w['start'][2*v:]), + terminal_codimension=terminal_codim, hyperplane_ended_helpers=len(ends), # HPE: always reported (0 for FULL-ended words) + **({'cold_hyperplane_ended_helpers': cold_ends} if cold_ends else {}), # COLD-HPE: absent without cold ends + width_inventory=dict(sorted(Counter(widths).items())),widths=widths, + local_adapters=adapters,local_primitive_bound=primitive_bound, + compiler=compiler,children=children,artifacts=artifacts, + paid_profile=checks['forward']['paid_profile'], + program_hashes={o:programhash(events) for o,events in programs.items()},semantic_artifact_sha256=artifact_identities(local_dir)) + + +def run(base, hosted, audit, out, retained_invoice=None): + local_dir=base/'split-centres' + parent=read(local_dir/'GLOBAL-TEMPLATE.json.gz') + template_path=hosted/'GLOBAL-TEMPLATE.json.gz' + template=read(template_path); summary=read(hosted/'HOSTED.json') + owners=read(audit/'OWNERS-AND-PROFILE.json'); control=read(audit/'ASYNC-AUDIT.json') + template_hash=contenthash(template_path) + assert template_hash==control['complex_template_sha256']==owners['template_sha256']==summary['template_sha256'] + assert owners['status']=='PASS_INDEPENDENT_ASYNC_OWNERS_AND_PROFILE' + assert template['recipe']==parent['recipe'] + assert 'local_programs' not in template + assert set(template['local_providers'])==set(PIDS) + providers={pid:recount_provider(base/'providers'/pid,registry) + for pid,registry in template['local_providers'].items()} + for pid,p in providers.items(): + assert owners['provider_phase_semantic_sha256'][pid]==control['provider_phase_semantic_sha256'][pid]==p['semantic_artifact_sha256']['CLIFFORD-REVIEW.json'] + # The fresh controller admission must cite precisely these provider bytes. + for name in ('CANONICAL-WORD.json.gz','LOCAL-PROGRAMS.json.gz','LOCAL-CHECKS.json', + 'INDEPENDENT-LOCAL-REPLAY.json','CLIFFORD-RECIPES.json', + 'CLIFFORD-REVIEW.json','RESIDUAL-ADAPTERS.json'): + path='providers/'+pid+'/'+name + assert summary['source_artifacts'][path]==p['artifacts'][name] + assert owners['source_artifacts'][path]==p['artifacts'][name] + # R is read from the provider words (all must agree); the parent dedicated-bank + # envelope keeps its own helper count R0 from the parent split-centres word. + assert len({p['helpers'] for p in providers.values()})==1,'providers disagree on helper count R' + v,h,m,centres=112,9,73,8 + helpers=next(iter(providers.values()))['helpers']; n=2*v+helpers + assert all((p['v'],p['h'],p['centres'],p['n'])==(v,h,centres,n) for p in providers.values()) + parent_helpers=read(local_dir/'CANONICAL-WORD.json.gz')['R'] + stages,replicas,blocks_per_stream=9,8,4 + call_count=len(template['calls']) + assert call_count==stages*replicas==control['complete_invocations'] + assert control['one_owner_per_complete_invocation'] + assert len({(c['stage'],c['replica']) for c in template['calls']})==call_count + parent_calls={(c['stage'],c['replica']):c for c in parent['calls']} + sweeps=[e for e in template['execution_schedule'] if e['kind']=='local_cover_sweep'] + assert len(sweeps)==call_count + selected=[]; selected_paid=Counter(); provider_counts=Counter(); orientation_counts=Counter() + scalar=coefficient_work=macros=0; wrapper_factors=0 + factors_per_wrapper=2*(m-1) + for c in template['calls']: + pid,orientation=c['provider_id'],c['orientation']; p=providers[pid] + old=parent_calls[(c['stage'],c['replica'])] + assert orientation==old['orientation'] and c['owners'][:2*v]==old['owners'][:2*v] + assert c['local_program_sha256']==p['program_hashes'][orientation] + r=p['local'][orientation] + scalar+=r['real_component_primitives']; coefficient_work+=r['coefficient_work_primitive_count']; macros+=r['macros'] + wrapper_factors+=(r['pre_wrappers']+r['post_wrappers'])*factors_per_wrapper + provider_counts[pid]+=1; orientation_counts[(pid,orientation)]+=1 + selected_paid.update({int(k):v for k,v in p['paid_profile'].items()}) + selected.append(dict(stage=c['stage'],replica=c['replica'],provider_id=pid,orientation=orientation, + program_sha256=c['local_program_sha256'],events=r['events'],macros=r['macros'], + real_component_primitives=r['real_component_primitives'], + coefficient_work_primitive_count=r['coefficient_work_primitive_count'], + entering_helpers=p['entering_helpers'],entrance_rank=p['entrance_rank'], + pre_wrappers=r['pre_wrappers'],post_wrappers=r['post_wrappers'])) + assert provider_counts==COUNTS + # The sweep registry is executable: no hidden use of the historical supplier. + by_call={(c['stage'],c['replica']):c for c in template['calls']} + for e in sweeps: + c=by_call[(e['stage'],e['replica'])] + assert e['provider_id']==c['provider_id'] + assert set(p['compiler'] for p in providers.values())=={64*(m+1)**3} + compiler=64*(m+1)**3 + adapters=max(p['local_adapters'] for p in providers.values()) + primitive_bound=max(p['local_primitive_bound'] for p in providers.values()) + bridge_steps=sum(event['kind']=='bridge' for event in parent['recipe']) + bridge_sweeps=sum(event['kind']=='bridge' for event in template['execution_schedule']) + assert bridge_sweeps==replicas*bridge_steps + bridge_additions=2*v*bridge_sweeps + shifts=blocks_per_stream*v*replicas; moves=2*shifts + parent_live,parent_physical=parent['live'],parent['physical'] + data_stock=2*v*blocks_per_stream*replicas + assert (parent_live-data_stock)%stages==0 + parent_banks=(parent_live-data_stock)//stages + assert parent_banks>=0 and parent_physical==parent_live+parent_helpers+centres+2 + nonlocal_items=(4*v*replicas*stages+2*v*replicas*stages+2*call_count*helpers + +sum(child['replicas'] for child in parent['idle_children'])+stages*parent_banks + +bridge_additions+shifts+moves+parent_live+parent_physical+wrapper_factors) + outside=8*nonlocal_items+64*m + parent_pervertex=(scalar+bridge_additions+shifts+moves+parent_live + +(call_count*adapters+outside)*compiler+64*parent_physical) + live,physical=template['live'],template['physical'] + mass,profile=owners['rank_mass'],owners['paid_profile'] + assert m*live-mass==owners['deficit']==2560 + assert mass==sum(int(r)*count for r,count in profile.items()) + assert physical==live+helpers+centres+2 + assert live==owners['live'] and physical==owners['physical'] + assert live<=parent_live and physical<=parent_physical + assert not template['bank_padding']['families'] + assert owners['explicit_idle_remainder_children']<=owners['source_idle_children_charged'] + # The old dedicated-bank geometry is only a conservative reserve envelope. + # Its singular program is never used as evidence for a mixed invocation. + rebased=parent_pervertex+65*(physical-parent_physical)+(live-parent_live) + used=max(rebased,parent_pervertex); retained=None; payload=512 + if retained_invoice is not None: + previous=read(retained_invoice) + assert previous['compiler']==compiler and previous['charged_prefix_bits']==payload + previous_bound=previous['conservative_pervertex_used'] + used=max(used,previous_bound+parent_pervertex) + retained=dict(sha256=filehash(retained_invoice),previous_pervertex_allowance=previous_bound, + added_complete_new_pervertex=parent_pervertex,policy='Retain old allowance and add entire fresh mixed recount.') + half=m//2; group=2**(half*half) + for i in range(1,half+1): group*=2**(2*i)-1 + stock,streamed_mass=group*physical,group*mass + logical=group*used+64; router=compiler*(logical+1)*(stock+1)**2 + g_bound,e_bound,c0=2**30000,2**100000,2**210000 + total_mass=streamed_mass+e_bound + literal=2*g_bound*stock**2+8*streamed_mass+4*stock+4+32*m + row=2*stock.bit_length()+9909+252+2*payload + maxchild=max(map(int,profile)) + inequalities=dict(local_primitive_bound=primitive_bound<2**48, + logical=logical<2**6050,router=router2*maxchild*maxchild) + assert all(inequalities.values()) + localbits=max(r['prefix_bits'] for p in providers.values() for r in p['local'].values()) + input_l2_bits=(m+1)//2 + required_prefix=localbits+input_l2_bits+call_count+bridge_sweeps+4 + assert required_prefix R helper map +# (verify.py checks the spec value against the constructor's HELPER-MAP.json) +SPOT=tuple(SPEC.get('width_spot_helpers',(270,282,294,306))) +# A pivot swap moves a kernel family's pivot role p -> x; the old pivot p becomes an ordinary cold helper and its width +# goes 8 -> 9 (construction/layers, PR641 PROOF-NOTE-PIVOT). Expected spot widths are derived from the package's pinned +# pivot-swap recipe (path and sha256 in the spec), not from free data: 9 at a swapped-out pivot, 8 otherwise. +_PKG=Path(os.environ['WITNESS_SPEC']).resolve().parents[1] +def _old_pivots(): + ps=SPEC.get('pivot_swap') + if not ps:return frozenset() + raw=(_PKG/ps['recipe']).read_bytes();import hashlib + assert hashlib.sha256(raw).hexdigest()==ps['sha256'],'pivot-swap recipe pin' + return frozenset(s['pivot']for s in json.loads(raw)['swaps']) +OLD_PIVOTS=_old_pivots() +def spot_widths(v=112): + """Expected residual widths at the spot helpers (helper indices) of the gauge44 provider.""" + return tuple(9 if 2*v+h in OLD_PIVOTS else 8 for h in SPOT) +PIDS=tuple(sorted(set(DISPATCH.values()))) +COUNTS=dict(Counter(DISPATCH.values())) +assert DISCOVER or set(PROVIDERS)==set(PIDS),'spec providers differ from dispatch providers' +def lookup(key): + """Dotted spec path; a segment may itself contain dots when it names a file (split at most once per known file suffix).""" + v=SPEC;parts=key.split('.') + while parts: + for n in range(len(parts),0,-1): + k='.'.join(parts[:n]) + if isinstance(v,dict) and k in v:v=v[k];parts=parts[n:];break + else:raise KeyError('spec has no key %s'%key) + return v +def pin(key,got): + """Strict mode: got must equal the spec value at dotted key; the failure names the key.""" + if DISCOVER: + if os.environ.get('WITNESS_RECORD'): # discovery bookkeeping only: append (key, value) for the spec writer + with open(os.environ['WITNESS_RECORD'],'a')as f:f.write(json.dumps([key,got],default=str)+chr(10)) + return got + want=lookup(key) + assert got==want,'SPEC MISMATCH %s: expected %s got %s'%(key,json.dumps(want)[:400],json.dumps(got,default=str)[:400]) + return got +def partner(pid): + """A different provider for substitution controls (next in sorted order).""" + assert len(PIDS)>1 + return PIDS[(PIDS.index(pid)+1)%len(PIDS)] diff --git a/research/gauge44-slots/construction/COLD44-RECIPE.json.gz b/research/gauge44-slots/construction/COLD44-RECIPE.json.gz new file mode 100644 index 0000000000..6f59d88920 Binary files /dev/null and b/research/gauge44-slots/construction/COLD44-RECIPE.json.gz differ diff --git a/research/gauge44-slots/construction/COMPLETION-PRIORITY.json b/research/gauge44-slots/construction/COMPLETION-PRIORITY.json new file mode 100644 index 0000000000..e0df30aeef --- /dev/null +++ b/research/gauge44-slots/construction/COMPLETION-PRIORITY.json @@ -0,0 +1,746 @@ +{ + "0,1,2,3": { + "rows": [ + [ + "1", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0" + ] + ], + "registers": [ + 64, + 67 + ] + }, + "0,1,4,5": { + "rows": [ + [ + "1", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0" + ] + ], + "registers": [ + 32, + 35 + ] + }, + "0,1,6,7": { + "rows": [ + [ + "1", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0" + ] + ], + "registers": [ + 24, + 27 + ] + }, + "0,2,4,6": { + "rows": [ + [ + "1", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "1" + ], + [ + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2" + ] + ], + "registers": [ + 16, + 18, + 19, + 297, + 301, + 303 + ] + }, + "0,2,5,7": { + "rows": [ + [ + "1", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "1" + ], + [ + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2" + ] + ], + "registers": [ + 40, + 42, + 43, + 313, + 317, + 319 + ] + }, + "0,3,4,7": { + "rows": [ + [ + "1", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "1" + ], + [ + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2" + ] + ], + "registers": [ + 72, + 74, + 75, + 329, + 333, + 335 + ] + }, + "0,3,5,6": { + "rows": [ + [ + "1", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "1" + ], + [ + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2" + ] + ], + "registers": [ + 112, + 114, + 115, + 345, + 349, + 351 + ] + }, + "1,2,4,7": { + "rows": [ + [ + "1", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "1" + ], + [ + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2" + ] + ], + "registers": [ + 8, + 10, + 11, + 361, + 365, + 367 + ] + }, + "1,2,5,6": { + "rows": [ + [ + "1", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "1" + ], + [ + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2" + ] + ], + "registers": [ + 48, + 50, + 51, + 377, + 381, + 383 + ] + }, + "1,3,4,6": { + "rows": [ + [ + "1", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "1" + ], + [ + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2" + ] + ], + "registers": [ + 80, + 82, + 83, + 393, + 397, + 399 + ] + }, + "1,3,5,7": { + "rows": [ + [ + "1", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "1" + ], + [ + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2" + ] + ], + "registers": [ + 104, + 106, + 107, + 409, + 413, + 415 + ] + }, + "2,3,4,5": { + "rows": [ + [ + "1", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0" + ] + ], + "registers": [ + 96, + 99 + ] + }, + "2,3,6,7": { + "rows": [ + [ + "1", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0" + ] + ], + "registers": [ + 88, + 91 + ] + }, + "4,5,6,7": { + "rows": [ + [ + "1", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0" + ] + ], + "registers": [ + 56, + 59 + ] + } +} \ No newline at end of file diff --git a/research/gauge44-slots/construction/INPUTS.json b/research/gauge44-slots/construction/INPUTS.json new file mode 100644 index 0000000000..2b12294b58 --- /dev/null +++ b/research/gauge44-slots/construction/INPUTS.json @@ -0,0 +1,65 @@ +{ + "schema": "gauge44-compact-construction-v1", + "repository": "https://github.com/CrocSwap/integer-mult-bounds", + "commits": { + "main": "17ce0c79b7b51c2634b439ea5a2b754f09909693", + "pr635": "a6895a69f8ad98ab45777b03e9e6f48888c39f6f" + }, + "files": { + "main": { + "research/complex-k492-owner-repair/vendor/direct_delivery/inputs/hamming/PACKET-PROGRAMS.json.gz": "d833ae0390d165d7da0c639a3c7aeb77156c2ddb52447087cb49b9d03b19e9b9", + "research/complex-k492-owner-repair/vendor/direct_delivery/inputs/hamming/PROTOTYPE.json": "327d2a868043e846381aa58a33053c24425e8cad522ff401b10ec8af1d649a3f", + "research/complex-k492-owner-repair/vendor/joint_prefix/code/build_joint_prefix.py": "d7804669e528b6fd8d80195a4a2e76efac9bc67440b82c73973f4bc9fe273783", + "research/complex-k492-owner-repair/vendor/joint_prefix/data/JOINT-PREFIX.json": "0fddbd3f482b72a5197eacd75abe192e1d92f83aa2cde33a76dbc7be1682bcf2", + "research/complex-k492-owner-repair/vendor/multicold/code/build_cold_kernel.py": "aa556a1988f7d4c52bd82fd2a648769f7094bd75ba79582c15ec441d710e213b", + "research/complex-k492-owner-repair/vendor/multicold/code/run_portable.py": "322d29d43dbee8130cde15d4bf05396698b5e3dfe3735813899db91cc0ba7955", + "research/complex-k492-owner-repair/vendor/multicold/data/EIGHT-COLD.json": "089617bdc33fd9f27b7fc8e9ae9e01c8e65a86a57c4b6f180f4f378f3f0e6160", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/code/phases_full.py": "a273c325ffd6793d5b63b79a289a9d2bbc9292e6940fb5a926924f3708627af4", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/vendor/clifford/clifford_exact.py": "2982ead07721e83358dc67c6f49c2b4c16a236a6bebdfd72f58221be1f5d0962", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/inputs/phase-baseline/CANONICAL-WORD.json.gz": "e070ae2c78b4a1b644b418774af62b40d8d16e6ba89602f0474afb557d507c37", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/gk/gk_common.py": "e68d190fd436b2f3955decb590adb53344d5d4ea0a19d62d86df1e4b55ecd198", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/gk/gk_word.py": "f027a9273bcf4e0971258c160b7d3b3c196366b32a529cff6e6a0e666b03826b", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/inputs/RAW504.json.gz": "1c6144791dbedf6427e3ee7b4c24fb05b5bf407f6346592f50f8dd8d9638108d", + "research/structural-gain/frontier-composition/global-replay/base/split-centres/FULL-WORD.json.gz": "375bd23001cd805707968005a9342827d5464e3f8e3a754197b31c46fc3f63c2", + "research/structural-gain/frontier-composition/multicold-eight-word/FULL-WORD.json.gz": "4d4a59db7f74d7505447fbb2aa87735771cca1d04a0afafa455d21bd8dbf1f77" + }, + "pr635": { + "research/complex-571-cold14-st2/code/build_cold_end.py": "864b4701dd73afd0c9d99761b7a749f3354c48985730f17054e18c052996a668", + "research/complex-571-cold14-st2/code/build_hpe.py": "ba2001695d8c7547a82260c3b016e01dac686e95a61757ca124eb9879078ea8e", + "research/complex-571-cold14-st2/code/build_port_stage.py": "beb0d30fde1b9a30db091880b38c4a8ec906da3f715c43de7db8bf7932526e72", + "research/complex-571-cold14-st2/code/hpe_adapters_local.py": "eb0b5c6c7161e18dc22168da3211448d321586edd15bcfb4b4741174d36993cf", + "research/complex-571-cold14-st2/code/hpe_audit_and_transport.py": "c9a05ff291016b870b4fc925b317abd9c3a604c73ffc8920dfdbbeb475e20aa3", + "research/complex-571-cold14-st2/code/hpe_audit_local.py": "6bd9a1e279c9c9e4f3767d9f82e537b559292906feb2ddab02f380fb6523a810", + "research/complex-571-cold14-st2/code/hpe_emit_local.py": "7e4a6fbc38c8228157b6311457d1496bf460291393043932d2c365f004f77805", + "research/complex-571-cold14-st2/data/TRI-SCHEDULE.json": "94da9d5575f5b237097a77ac7dd09aff594322dd9c35138bfd34ffc5e1a7a51e", + "research/complex-571-cold14-st2/data/recipes/k492-jp8-frame_regroup.json": "9bd347334de643f29865290be1ed37289f9cae6cd339547ac89b45fa7aaee65a", + "research/complex-571-cold14-st2/data/recipes/k492-jp8-hyperplane_end.json": "e4d4dfd83d0c64cb0a8ee8c8bbd95d0510ee68699859e568fe201cd6f8d250c1" + }, + "delta": { + "COLD44-RECIPE.json.gz": "22d0e01e990c0f1c588607a095271f7844851a437ba07174505e98e9528aed4c", + "COMPLETION-PRIORITY.json": "0274ffca1725e7460aaf7b672bc1248aa6dfdec11e5f0fec91af18b829f8ba47", + "build_gauge_cold44.py": "ec730a4d3ff12fb058780718b1d5a7afe61243c532679ef347a5a48e2af0a3bb", + "construct_gauge_xcentre.py": "d8d295566ef2399af2da0707a4adc83e07aa26d2344c01a66bd0ca7684cf9217", + "reproduce.py": "047bb9b3536b0b16bb08a21cd9fd80404ca9d022345f1aeab34b21dffc281c92" + } + }, + "word_content_sha256": { + "shadow-early": "edb55811a9d38802c311c74bdd2d4d1b2f3eaf37d06e4178eef0785c2fa4b57d", + "shadow-prefix": "6c361b33967bb62d878b3acef44a4ac2c70970e99f36a11906b03811495de533", + "raw": "0ac47f92fc2e3f5aa457d78f7b8a5c785bf140c546932b9dfcd9e610ad319180", + "port0": "7086d4309f145f0bf85b97f567e2cbeeaca9fc5011f62c86c805bfadeb0300fc", + "port1": "8f47545698a11072f8c6a0b50ae9c8acf8e4e2b0e35a0e8c672bbca216b04534", + "port2": "4e4919c140e07f6c820bea4aae83565b3b4967ffbfbb907611216ff6e2e6105d", + "port3": "9774dca3e4295e2eb9171a9cf34e1973bc72bad38eddec2cc0fc498bd9e041f3", + "regroup": "989082402d2292a18328e86927c0a12d34fcab18ef4ff724bd1ce691cf4e7531", + "hpe": "42fb8b3aa314593fe976820cf65824f5fce0ee4f95281796992d4809709864cc", + "cold44": "78c7aadacb6eec2eeecc124ca236e5bcfdba6a52b30c2971aaa596d1d119b290" + }, + "helper_map_sha256": "688d5115b221be68c96970822cc04ff698e2a84432fa7db9cb59057f6fe55def", + "canonical_content_sha256": "e6daee410e04d5e023faf21144081534ad222d334ce786e6b5f52407e6b3c41f", + "local_program_sha256": { + "forward": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "backward": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4" + }, + "clifford_recipes_sha256": "0a60293f43d88dbb1b321f02e61204afe1b6272b1346968ef35705caea1e4771" +} diff --git a/research/gauge44-slots/construction/LICENSE b/research/gauge44-slots/construction/LICENSE new file mode 100644 index 0000000000..261eeb9e9f --- /dev/null +++ b/research/gauge44-slots/construction/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/research/gauge44-slots/construction/NOTICE.md b/research/gauge44-slots/construction/NOTICE.md new file mode 100644 index 0000000000..16b0507070 --- /dev/null +++ b/research/gauge44-slots/construction/NOTICE.md @@ -0,0 +1,9 @@ +# Construction delta notice + +Prepared for icekylinx with OpenAI GPT-6 Astra assistance. Apache-2.0. + +`construct_gauge_xcentre.py` modifies PR635's credited `construct_k_triangle.py`, which in turn extends icekylinx's PR531/PR514/PR425 factory lineage. Its original source comments are retained. The K-triangle schedule and the upstream porting, JP8 frame, kernel and HPE procedures are reused from the pinned source checkouts and are not new contributions of this delta. + +The new source-copy exchanges, complementary factory basis, carrier assignment, exact cold44 constructor and compact reproduction driver are described in `../CONSTRUCTION.md`. + +`UPSTREAM-NOTICE.md` is the complete unmodified notice from the pinned PR635 package. `LICENSE` is that package's Apache-2.0 license. All further notices and source credits of the referenced upstream packages remain applicable and are retained in the source checkouts rather than vendored again here. diff --git a/research/gauge44-slots/construction/REBUILD-CHECKS.json b/research/gauge44-slots/construction/REBUILD-CHECKS.json new file mode 100644 index 0000000000..0801f35da7 --- /dev/null +++ b/research/gauge44-slots/construction/REBUILD-CHECKS.json @@ -0,0 +1,51 @@ +{ + "status": "PASS_COMPACT_SCALAR_REPRODUCTION_AND_FROZEN_RECIPE_SPLICE", + "steps": [ + { + "step": "shadow-early", + "exit_code": 0, + "seconds": 0.355 + }, + { + "step": "shadow-prefix", + "exit_code": 0, + "seconds": 0.511 + }, + { + "step": "gauge-forward", + "exit_code": 0, + "seconds": 0.527 + }, + { + "step": "port0", + "exit_code": 0, + "seconds": 0.468 + }, + { + "step": "port1", + "exit_code": 0, + "seconds": 0.636 + }, + { + "step": "port2", + "exit_code": 0, + "seconds": 0.474 + }, + { + "step": "port3", + "exit_code": 0, + "seconds": 0.497 + }, + { + "step": "cold44-exact", + "exit_code": 0, + "seconds": 2.754 + } + ], + "constructor_seconds": 6.222, + "word_content_sha256": "78c7aadacb6eec2eeecc124ca236e5bcfdba6a52b30c2971aaa596d1d119b290", + "all_step_input_and_output_pins_checked": true, + "regenerated_recipe_equals_frozen_recipe": true, + "frozen_splice_matches_exact_constructor": true, + "scope": "One portable scalar reconstruction from pinned main and PR635 inputs; existing native and independent mathematical receipts accompany the package separately." +} diff --git a/research/gauge44-slots/construction/UPSTREAM-NOTICE.md b/research/gauge44-slots/construction/UPSTREAM-NOTICE.md new file mode 100644 index 0000000000..ebc24a0168 --- /dev/null +++ b/research/gauge44-slots/construction/UPSTREAM-NOTICE.md @@ -0,0 +1,34 @@ +# Attribution and scope + +Four verified provider types are offered to every call: PR571's prefix word with twelve multi-cut cold kernels (PR568's unchanged constructor), the same word with forty width-five entrance promotions (PR569's unchanged frame constructor) before those kernels, PR575's plain joint-prefix provider, and PR568's eight-cold provider. A window MILP with an exact per-pattern model chooses the dispatch and a literal owner map. PR583's six source-bound kernel frame coalescences (its unchanged constructor and negative controls) are applied to every PR571-prefix provider word (ck and atm3), followed by two further coalescences that each first move one addition past two commuting additions (package code/build_gate_moves.py, extending PR583's constructor); a final hyperplane_end step (package code/build_hpe.py) then runs 46 single-gate cleanups h -= p right after part B at the dim-8 join U of their registers, so 46 width-8 entering helpers per call end at U with width 7; each such gate commutes with every earlier cleanup gate on its registers (for 8 of them the partner's one earlier gate x -= p only reads p), and the reordered program is replayed exactly. A window MILP (exact windows, RINS around an LP vertex) gives the dispatch ck 45 / atm3 21 / jp8 6 and the literal owner map. + +Pinned external sources (unchanged; `verify.py` checks their manifests and every file it uses): +- PR568 (`research/complex-multicold`, commit `71c99ac935a33bb7b59a1b4a7af8725a939b0b90`). +- PR571 (`research/structural-gain`, commit `b7bdc5a8de18fcf418cfb9c7d83a2b1097a5e4a3`). +- PR569 (`research/larger-gain`, commit `897213a855b7fb8a1b8b0e552a2f5c42e6c1b326`). +- PR575 (`research/complex-joint-prefix`, commit `eac6f7e378ab622dac50a2fd4b7ef6eab014de44`). +- PR583 (`research/kernel-frame-coalescing`, commit `89be768f0157f5a3d8e4db69cf1748768605eac9`). + +Provider construction is described as typed steps in `data/SPEC.json` (`build`); `verify.py` runs only allowlisted step types with their paired omission audits and checks every input and output content hash. `code/` holds the spec-driven global admission scripts adapted from PR571's `frontier-composition/global-code/` (OpenAI Codex assisted, Apache-2.0): every expected value is read from `data/SPEC.json` and compared only after independent recomputation. `code/generated_identity.py` and `code/generated_identity_controls.py`, and the decompressed-content artifact identities in the bind, audit, invoice, assembly and phase-timing scripts, are taken unchanged from PR586 by chafreaky (`research/promoted-kernel-coalescing`, commit `4846fee5b06af770e9b3a10c36200f673d656725`, OpenAI Codex assisted, Apache-2.0), including its proof-content and reference/metadata mutation controls; the normalization of descriptive width metadata after frame changes follows the same PR. + +In PR601, the owner map was nominated by a HiGHS window MILP (adapted from PR569's `global/nominate_width7.py`) with lazy cross-time Hall cuts; this package's re-solved map is described below. Neither is an admission dependency. + +DreamingOfClouds with Claude Opus 5.5 (Anthropic), via Claude Code. (The PR601 package this one starts from states: "Prepared by Claude Code (Anthropic) research agents.") Apache-2.0 applies; LICENSE is included. All notices, licenses, source pins and AI disclosures of the pinned sources and their ancestry are retained in those packages and are not replaced by this notice. All inherited conditional assumptions remain conditional. + +**This package (complex-571-cold14, DreamingOfClouds).** It starts from PR601 (jeremykothe2, `research/complex-571-hpem46`, commit `529ab7dcb59d5ea7a5798e9e06cf5b3aee8a1550`). Everything above is kept unchanged except the following: +- every provider chain (ck, atm3, jp8) gains the typed step `cold_end` (`code/build_cold_end.py`, `code/cold_end_controls.py`; recipes `data/recipes/*-cold_end.json.gz`); +- the generalised native chain and the global admission scripts accept cold helpers that end below FULL (with `0:U` wrappers), a refactored exact cleanup, and check the wrapper order; +- `data/PLAN.json` / `data/OWNERS.json.gz` (dispatch and literal owner map) come from a relocate/swap/ejection-chain/provider-flip annealing search started from PR601's map, refined by an exact pattern-restricted owner model (CP-SAT) with a literal edge-colouring expansion (not an admission dependency); +- `data/SPEC.json` holds the expected values, recorded by a discovery run and then checked by a strict run. + +The cold-end construction (a row-plus-column cone condition for low-frame ends, a rank-0 dirt-spread premix and multi-gate lower-frame cleanup) builds on PR591 / PR592 / PR593 / PR601 (jeremykothe2) and our PR599 (Lean: multi-gate and cold hyperplane-end tails). DreamingOfClouds with Claude Opus 5.5 (Anthropic), via Claude Code. Build on this at your own risk. + +**This package (complex-571-cold14-b3, jeremykothe2).** It is PR604's `complex-571-cold14` (DreamingOfClouds) with ColdBeyond's second cold end per block (two new `cold_end` A-gate primitives, `PROOF-NOTE.md`), ColdSupply's E1 entering pair and reviewed controls, a free dispatch (jp8 ×60, atm3 ×12) and a literal owner map from an exact per-time-Hall window MIP. All other construction, code, controls and proofs are PR604's and earlier contributors', unchanged. + +**This package (complex-571-cold14-k492).** It is complex-571-cold14-b3 with these changes: +- **K-triangle base words.** The leaver-read K-triangle skeleton atom and its read schedule (`data/TRI-SCHEDULE.json`) are by AtomScout, a Claude Code research agent. `code/construct_k_triangle.py` is PR531's `code/construct_504.py` (icekylinx, OpenAI Codex / GPT assisted, Apache-2.0; pinned source `direct_delivery`) extended with that atom. +- **Ported chains.** The PR604/B3 chains are ported stage by stage onto the K-triangle words by `code/build_port_stage.py` (Port480, a Claude Code research agent). `code/build_frame_regroup.py` extends PR583's `build_frames.py` (chafreaky). +- **Helper count R.** The generalisation of the global scripts to the provider helper count R is by GlobalR (a Claude Code research agent), with AtomReviewer's fixes (PROOF-NOTE-R.md). +- **Owner map.** The owner map, the cold_end recipes on the K-triangle words and the package assembly are by Stack492, Port480 and ColdBeyond (Claude Code research agents). + +Build on this at your own risk. diff --git a/research/gauge44-slots/construction/barch/LOCAL-PINS-barch-U8.json b/research/gauge44-slots/construction/barch/LOCAL-PINS-barch-U8.json new file mode 100644 index 0000000000..4028b95c0e --- /dev/null +++ b/research/gauge44-slots/construction/barch/LOCAL-PINS-barch-U8.json @@ -0,0 +1,50 @@ +{ + "word": "U8", + "barch_controls": [ + "C0_identity", + "recipe", + "drop_restore", + "restore_full", + "drop_preread", + "donation_after", + "drop_restore@231", + "restore_full@231", + "drop_preread@231", + "donation_after@231", + "drop_restore@230", + "restore_full@230", + "drop_preread@230", + "donation_after@230", + "drop_restore@232", + "restore_full@232", + "drop_preread@232", + "donation_after@232", + "drop_restore@236", + "restore_full@236", + "drop_preread@236", + "donation_after@236", + "drop_restore@226", + "restore_full@226", + "drop_preread@226", + "donation_after@226", + "drop_restore@228", + "restore_full@228", + "drop_preread@228", + "donation_after@228", + "drop_restore@62", + "restore_full@62", + "drop_preread@62", + "donation_after@62", + "drop_restore@238", + "restore_full@238", + "drop_preread@238", + "donation_after@238" + ], + "layer_controls": 95, + "canonical_sha256": "24db880b7dab31e6af4eec8a1aba1bbbae29cd50d9a7b77cf0e9b571b3e5ae7c", + "program_sha256": { + "forward": "83d65a63f51bd1ce7f3dd4e4d3597311e065b4775796cd87aea3e3a62689047c", + "backward": "e4e483b764e9a85f84a04425e57d73ecdcc72eb2e4d97a64f17d9da58fa5ace0" + }, + "clifford_recipes_sha256": "4629507dcbdd516457c001ff8f9dbe750d1a0cbfa5cfa3c6be003d45804ba0c5" +} diff --git a/research/gauge44-slots/construction/barch/RECIPE-U8.json b/research/gauge44-slots/construction/barch/RECIPE-U8.json new file mode 100644 index 0000000000..ee215a805a --- /dev/null +++ b/research/gauge44-slots/construction/barch/RECIPE-U8.json @@ -0,0 +1,1528 @@ +{ + "base_sha256": "1e1d99ba7aab877d6b573c41f7030ee73de9a52fee51d0a822ddaae71251999f", + "B_delete": [ + 5, + 7, + 9, + 11, + 13, + 15, + 17, + 19, + 878, + 880, + 886, + 888, + 894, + 896, + 902, + 904, + 910, + 912, + 918, + 920, + 926, + 928, + 934, + 936, + 1215, + 1217, + 1223, + 1225, + 1231, + 1233, + 1239, + 1241, + 1247, + 1249, + 1255, + 1257, + 1263, + 1265, + 1271, + 1273 + ], + "B_insert": [ + [ + 5, + [ + "add", + 125, + 450, + 1, + 2, + [ + 24 + ] + ] + ], + [ + 7, + [ + "add", + 121, + 451, + 1, + 2, + [ + 24 + ] + ] + ], + [ + 9, + [ + "add", + 181, + 452, + 1, + 2, + [ + 30 + ] + ] + ], + [ + 11, + [ + "add", + 177, + 453, + 1, + 2, + [ + 30 + ] + ] + ], + [ + 13, + [ + "add", + 117, + 454, + -1, + 1, + [ + 30 + ] + ] + ], + [ + 15, + [ + "add", + 113, + 455, + -1, + 1, + [ + 30 + ] + ] + ], + [ + 17, + [ + "add", + 189, + 456, + -1, + 1, + [ + 24 + ] + ] + ], + [ + 19, + [ + "add", + 185, + 457, + -1, + 1, + [ + 24 + ] + ] + ], + [ + 676, + [ + "add", + 484, + 231, + 1, + 1, + [ + 386, + 64, + 34, + 24, + 4, + 1 + ] + ] + ], + [ + 677, + [ + "add", + 485, + 226, + 1, + 1, + [ + 388, + 68, + 32, + 24, + 2, + 1 + ] + ] + ], + [ + 693, + [ + "add", + 496, + 450, + 1, + 1, + [ + 260, + 132, + 70, + 38, + 24, + 1 + ] + ] + ], + [ + 694, + [ + "add", + 497, + 451, + 1, + 1, + [ + 260, + 132, + 64, + 32, + 24, + 1 + ] + ] + ], + [ + 711, + [ + "add", + 508, + 230, + 1, + 1, + [ + 390, + 70, + 38, + 20, + 10, + 1 + ] + ] + ], + [ + 712, + [ + "add", + 509, + 228, + 1, + 1, + [ + 390, + 64, + 32, + 20, + 10, + 1 + ] + ] + ], + [ + 729, + [ + "add", + 520, + 452, + 1, + 1, + [ + 268, + 140, + 64, + 38, + 30, + 1 + ] + ] + ], + [ + 730, + [ + "add", + 521, + 453, + 1, + 1, + [ + 266, + 138, + 70, + 32, + 30, + 1 + ] + ] + ], + [ + 747, + [ + "add", + 532, + 232, + -2, + 1, + [ + 385, + 64, + 33, + 18, + 11, + 7 + ] + ] + ], + [ + 748, + [ + "add", + 533, + 62, + -2, + 1, + [ + 385, + 65, + 32, + 19, + 10, + 7 + ] + ] + ], + [ + 763, + [ + "add", + 544, + 454, + -2, + 1, + [ + 267, + 139, + 65, + 33, + 25, + 7 + ] + ] + ], + [ + 764, + [ + "add", + 545, + 455, + -2, + 1, + [ + 267, + 139, + 64, + 32, + 25, + 7 + ] + ] + ], + [ + 779, + [ + "add", + 556, + 236, + -2, + 1, + [ + 385, + 65, + 33, + 24, + 4, + 3 + ] + ] + ], + [ + 780, + [ + "add", + 557, + 238, + -2, + 1, + [ + 385, + 64, + 32, + 24, + 4, + 3 + ] + ] + ], + [ + 795, + [ + "add", + 568, + 456, + -2, + 1, + [ + 258, + 130, + 64, + 33, + 24, + 7 + ] + ] + ], + [ + 796, + [ + "add", + 569, + 457, + -2, + 1, + [ + 259, + 131, + 65, + 32, + 24, + 7 + ] + ] + ], + [ + 1215, + [ + "add", + 125, + 450, + -1, + 2, + [ + 256, + 128, + 66, + 34, + 24, + 4, + 1 + ] + ] + ], + [ + 1217, + [ + "add", + 121, + 451, + -1, + 2, + [ + 260, + 132, + 64, + 32, + 24, + 2, + 1 + ] + ] + ], + [ + 1223, + [ + "add", + 149, + 231, + -1, + 2, + [ + 258, + 128, + 64, + 34, + 24, + 4, + 1 + ] + ] + ], + [ + 1225, + [ + "add", + 145, + 226, + -1, + 2, + [ + 256, + 132, + 68, + 32, + 24, + 2, + 1 + ] + ] + ], + [ + 1231, + [ + "add", + 181, + 452, + -1, + 2, + [ + 262, + 134, + 64, + 38, + 20, + 10, + 1 + ] + ] + ], + [ + 1233, + [ + "add", + 177, + 453, + -1, + 2, + [ + 256, + 128, + 70, + 32, + 20, + 10, + 1 + ] + ] + ], + [ + 1239, + [ + "add", + 221, + 230, + -1, + 2, + [ + 256, + 134, + 70, + 38, + 20, + 10, + 1 + ] + ] + ], + [ + 1241, + [ + "add", + 217, + 228, + -1, + 2, + [ + 262, + 128, + 64, + 32, + 20, + 10, + 1 + ] + ] + ], + [ + 1247, + [ + "add", + 117, + 454, + 1, + 1, + [ + 256, + 128, + 65, + 33, + 18, + 11, + 7 + ] + ] + ], + [ + 1249, + [ + "add", + 113, + 455, + 1, + 1, + [ + 257, + 129, + 64, + 32, + 19, + 10, + 7 + ] + ] + ], + [ + 1255, + [ + "add", + 157, + 232, + 1, + 1, + [ + 257, + 128, + 64, + 33, + 18, + 11, + 7 + ] + ] + ], + [ + 1257, + [ + "add", + 153, + 62, + 1, + 1, + [ + 256, + 129, + 65, + 32, + 19, + 10, + 7 + ] + ] + ], + [ + 1263, + [ + "add", + 189, + 456, + 1, + 1, + [ + 257, + 129, + 64, + 33, + 24, + 4, + 3 + ] + ] + ], + [ + 1265, + [ + "add", + 185, + 457, + 1, + 1, + [ + 256, + 128, + 65, + 32, + 24, + 4, + 3 + ] + ] + ], + [ + 1271, + [ + "add", + 213, + 236, + 1, + 1, + [ + 256, + 129, + 65, + 33, + 24, + 4, + 3 + ] + ] + ], + [ + 1273, + [ + "add", + 209, + 238, + 1, + 1, + [ + 257, + 128, + 64, + 32, + 24, + 4, + 3 + ] + ] + ] + ], + "B_frames": { + "1340": [ + 256, + 128, + 66, + 34, + 24, + 4, + 1 + ], + "1343": [ + 256, + 128, + 64, + 32, + 24, + 4, + 1 + ], + "1346": [ + 260, + 132, + 68, + 36, + 24, + 2, + 1 + ], + "1349": [ + 260, + 132, + 64, + 32, + 24, + 2, + 1 + ], + "1352": [ + 258, + 128, + 64, + 34, + 24, + 4, + 1 + ], + "1355": [ + 260, + 128, + 68, + 32, + 24, + 2, + 1 + ], + "1358": [ + 256, + 130, + 64, + 34, + 24, + 4, + 1 + ], + "1361": [ + 256, + 132, + 68, + 32, + 24, + 2, + 1 + ], + "1364": [ + 262, + 134, + 64, + 38, + 20, + 10, + 1 + ], + "1367": [ + 262, + 134, + 70, + 32, + 18, + 12, + 1 + ], + "1370": [ + 256, + 128, + 64, + 38, + 18, + 12, + 1 + ], + "1373": [ + 256, + 128, + 70, + 32, + 20, + 10, + 1 + ], + "1376": [ + 256, + 134, + 70, + 38, + 20, + 10, + 1 + ], + "1379": [ + 256, + 134, + 64, + 32, + 20, + 10, + 1 + ], + "1382": [ + 262, + 128, + 70, + 38, + 20, + 10, + 1 + ], + "1385": [ + 262, + 128, + 64, + 32, + 20, + 10, + 1 + ], + "1388": [ + 256, + 128, + 65, + 33, + 18, + 11, + 7 + ], + "1391": [ + 256, + 128, + 64, + 32, + 18, + 11, + 7 + ], + "1394": [ + 257, + 129, + 65, + 33, + 19, + 10, + 7 + ], + "1397": [ + 257, + 129, + 64, + 32, + 19, + 10, + 7 + ], + "1400": [ + 257, + 128, + 64, + 33, + 18, + 11, + 7 + ], + "1403": [ + 257, + 128, + 65, + 32, + 19, + 10, + 7 + ], + "1406": [ + 256, + 129, + 64, + 33, + 18, + 11, + 7 + ], + "1409": [ + 256, + 129, + 65, + 32, + 19, + 10, + 7 + ], + "1412": [ + 257, + 129, + 64, + 33, + 24, + 4, + 3 + ], + "1415": [ + 257, + 129, + 65, + 32, + 24, + 5, + 2 + ], + "1418": [ + 256, + 128, + 64, + 33, + 24, + 5, + 2 + ], + "1421": [ + 256, + 128, + 65, + 32, + 24, + 4, + 3 + ], + "1424": [ + 256, + 129, + 65, + 33, + 24, + 4, + 3 + ], + "1427": [ + 256, + 129, + 64, + 32, + 24, + 4, + 3 + ], + "1430": [ + 257, + 128, + 65, + 33, + 24, + 4, + 3 + ], + "1433": [ + 257, + 128, + 64, + 32, + 24, + 4, + 3 + ] + }, + "tail_insert": [ + [ + 7, + [ + "add", + 496, + 450, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + ] + ], + [ + 6, + [ + "add", + 497, + 451, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + ] + ], + [ + 5, + [ + "add", + 520, + 452, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ] + ], + [ + 4, + [ + "add", + 521, + 453, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ] + ], + [ + 3, + [ + "add", + 544, + 454, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ] + ], + [ + 2, + [ + "add", + 545, + 455, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ] + ], + [ + 1, + [ + "add", + 568, + 456, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + ] + ], + [ + 0, + [ + "add", + 569, + 457, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + ] + ] + ], + "cleanup_prepend": [ + [ + "add", + 484, + 231, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 485, + 226, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 508, + 230, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 509, + 228, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 532, + 232, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 533, + 62, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 556, + 236, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 557, + 238, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ] + ], + "local_profile": { + "1": 2548, + "2": 338, + "3": 446, + "4": 162, + "5": 72, + "8": 8 + }, + "expect_sha256": "090fd574747fbf9628e70cb9beb792732914cfa52e1df147579fe4dbccc68c5a", + "priced": { + "dk_ideal": 3.140480230774418e-07, + "dP": { + "5": 16, + "4": -32, + "3": 16 + } + }, + "variants": [ + { + "X": 231, + "E": 450, + "dsides": [ + 878, + 886 + ], + "donors": [ + 450, + 231 + ], + "hold": [ + 496, + 484 + ], + "kept": { + "1215": 450, + "1223": 231 + }, + "when": "mid" + }, + { + "X": 230, + "E": 452, + "dsides": [ + 894, + 902 + ], + "donors": [ + 452, + 230 + ], + "hold": [ + 520, + 508 + ], + "kept": { + "1231": 452, + "1239": 230 + }, + "when": "mid" + }, + { + "X": 232, + "E": 454, + "dsides": [ + 910, + 918 + ], + "donors": [ + 454, + 232 + ], + "hold": [ + 544, + 532 + ], + "kept": { + "1247": 454, + "1255": 232 + }, + "when": "mid" + }, + { + "X": 236, + "E": 456, + "dsides": [ + 926, + 934 + ], + "donors": [ + 456, + 236 + ], + "hold": [ + 568, + 556 + ], + "kept": { + "1263": 456, + "1271": 236 + }, + "when": "mid" + }, + { + "X": 226, + "E": 451, + "dsides": [ + 880, + 888 + ], + "donors": [ + 451, + 226 + ], + "hold": [ + 497, + 485 + ], + "kept": { + "1217": 451, + "1225": 226 + }, + "when": "mid" + }, + { + "X": 228, + "E": 453, + "dsides": [ + 896, + 904 + ], + "donors": [ + 453, + 228 + ], + "hold": [ + 521, + 509 + ], + "kept": { + "1233": 453, + "1241": 228 + }, + "when": "mid" + }, + { + "X": 62, + "E": 455, + "dsides": [ + 912, + 920 + ], + "donors": [ + 455, + 62 + ], + "hold": [ + 545, + 533 + ], + "kept": { + "1249": 455, + "1257": 62 + }, + "when": "mid" + }, + { + "X": 238, + "E": 457, + "dsides": [ + 928, + 936 + ], + "donors": [ + 457, + 238 + ], + "hold": [ + 569, + 557 + ], + "kept": { + "1265": 457, + "1273": 238 + }, + "when": "mid" + } + ] +} \ No newline at end of file diff --git a/research/gauge44-slots/construction/barch/build_tri.py b/research/gauge44-slots/construction/barch/build_tri.py new file mode 100644 index 0000000000..11c4371114 --- /dev/null +++ b/research/gauge44-slots/construction/barch/build_tri.py @@ -0,0 +1,87 @@ +#!/usr/bin/env python3 +"""build_tri.py BASE_WORD RECIPE OUT_WORD [--control NAME] + +Standard library only. Applies a NewBArch triangle-hybrid recipe to the X4 word (1e1d99ba) and writes a FULL-WORD.json.gz. +Recipe keys (all indices refer to the BASE word): + base_sha256 sha256 of the decompressed base JSON (checked) + B_delete list of B indices removed + B_insert list of [pos, gate]: gate (with frame) inserted before base B gate pos (list order kept) + B_frames {index: frame}: explicit re-chosen frame of a kept base B gate + tail_insert list of [early_index, gate]: gates appended to cleanup in list order, then registered as early cleanup at early_index (ascending) + cleanup_prepend list of gates prepended to the full cleanup (early indices are shifted) + local_profile report.local_profile of the result + expect_sha256 sha256 of the decompressed result (checked unless a control is requested) +Controls (each must be REJECTED by audit_local; see controls.json): + drop_restore omit cleanup_prepend (end value of the holder not restored) + restore_full move tail_insert gates into the full cleanup (FULL frame) instead of early cleanup + drop_preread omit the inserted entrance pre-reads (inserted target += E gates at pos < first donation) + donation_after insert each donation after its reading target's read instead of before it + NAME@X the same control restricted to the instance whose packet register is X (recipe 'variants') +""" +import sys, json, gzip, hashlib, copy + +FULL = [256, 128, 64, 32, 16, 8, 4, 2, 1] + +def load(p): + raw = gzip.decompress(open(p, 'rb').read()); return json.loads(raw), hashlib.sha256(raw).hexdigest() + +def apply(w, rc, control=None): + w = copy.deepcopy(w); B = w['B'] + S = None + if control and '@' in control: # per-instance control: name@X mutates only instance X's gates + control, x = control.split('@'); x = int(x) + vv = [s for s in rc['variants'] if s['X'] == x][0]; S = {vv['X'], vv['E'], *vv['hold']} + sel = lambda g: S is None or bool({g[1], g[2]} & S) + dele = set(rc['B_delete']); fr = {int(k): f for k, f in rc['B_frames'].items()} + ins = [list(x) for x in rc['B_insert']] + don = [x for x in ins if not (112 <= x[1][1] < 224)] # donations: destination is not a target + first_don = min(p for p, _ in don) if don else 0 + if control == 'drop_preread': + ins = [x for x in ins if not (x[0] < first_don and 112 <= x[1][1] < 224 and sel(x[1]))] + if control == 'donation_after': + new = [] + for p, g in ins: + if g in [d[1] for d in don] and sel(g): + rd = [i for i, e in enumerate(B) if i >= p and e[0] == 'add' and e[2] == g[1] and 112 <= e[1] < 224] + p = rd[0] + 1 + new.append([p, g]) + ins = new + at = {} + for p, g in ins: at.setdefault(p, []).append(list(g)) + out = [] + for i, e in enumerate(B): + out.extend(at.get(i, [])) + if i in dele: continue + e = list(e) + if i in fr: e = e[:-1] + [list(fr[i])] + out.append(e) + out.extend(at.get(len(B), [])) + w['B'] = out + pre = [list(g) for g in rc['cleanup_prepend'] if not (control == 'drop_restore' and sel(g))] + tails = [list(x) for x in rc['tail_insert']] + if control == 'restore_full': + pre = pre + [g[1][:-1] + [FULL] for g in tails if sel(g[1])]; tails = [g for g in tails if not sel(g[1])] + C = pre + w['cleanup']; sh = len(pre) + early = [[i + sh, U] for i, U in w['early_cleanup']] + idx = [] + for j, g in tails: C.append(list(g)); idx.append((j, len(C) - 1, list(g[-1]))) # appended in recipe order + for j, ci, U in sorted(idx): early.insert(j, [ci, U]) # then registered at their early index + w['cleanup'] = C; w['early_cleanup'] = early + w['report'] = dict(w['report']); w['report']['local_profile'] = rc['local_profile'] + return w + +def main(): + a = sys.argv[1:]; control = None + if '--control' in a: k = a.index('--control'); control = a[k + 1]; del a[k:k + 2] + base, out = a[0], a[2] + w, sha = load(base); rc = json.load(open(a[1])) + if sha != rc['base_sha256']: raise SystemExit('base sha mismatch ' + sha) + w2 = apply(w, rc, control) + raw = json.dumps(w2, separators=(',', ':')).encode() + open(out, 'wb').write(gzip.compress(raw, mtime=0)) + s = hashlib.sha256(raw).hexdigest() + if control is None and s != rc['expect_sha256']: raise SystemExit('result sha mismatch ' + s) + print(json.dumps(dict(control=control, sha256=s))) + +if __name__ == '__main__': + main() diff --git a/research/gauge44-slots/construction/barch/reproduce_barch.py b/research/gauge44-slots/construction/barch/reproduce_barch.py new file mode 100644 index 0000000000..22f15b491d --- /dev/null +++ b/research/gauge44-slots/construction/barch/reproduce_barch.py @@ -0,0 +1,92 @@ +#!/usr/bin/env python3 +"""Rebuild the B0 word (NewBArch's width-neutral triangle-hybrid B-delivery rewrite on X4) and its native locals. + +Input: a fresh `construction/jx/reproduce_jx.py` output directory; its X4 word (1e1d99ba...) is pinned there and by +RECIPE-B0.json (base_sha256). Steps, each checked exactly: + 1. barch: build_tri.py (standard library only; NewBArch) applies the recipe's explicit B deletes and inserts (with frames), + re-chosen B frames, early-cleanup tails and FULL-cleanup restores; it checks the base and result shas (d9ba0942...). + 2. barch-controls: run_controls.py rebuilds C0 (identity, must reproduce the input), the recipe word (must PASS #645's + independent audit_local.py) and four mutants (drop_restore, restore_full, drop_preread, donation_after), globally + and for each recipe variant (NAME@X); each mutant must FAIL audit_local with its pinned message. Every outcome is + required and the control set is pinned (LOCAL-PINS). + 3. layer-end-controls: ../layers_p6n/layer_end_controls.py (per-end variant) on the B0 word; count pinned. + 4. native, ledgers, local-replay, wrappers, phases: PR635's native local programs; canonical word, local programs and + Clifford recipes pinned (LOCAL-PINS-barch-.json). +Apache-2.0. Driver by ColdWitness around NewBArch's builder and controls. +""" +import argparse, gzip, hashlib, json, os, subprocess, sys, time +from pathlib import Path + +HERE = Path(__file__).resolve().parent +PKG = HERE.parents[1] +P6 = HERE.parent / 'layers_p6n' +MUTANTS = ('drop_restore', 'restore_full', 'drop_preread', 'donation_after') + + +def read(p): + raw = Path(p).read_bytes() + return json.loads(gzip.decompress(raw) if str(p).endswith('.gz') else raw) + + +def main(): + assert __debug__, 'Assertions are required' + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--main', type=Path, required=True) + ap.add_argument('--pr635', type=Path, required=True) + ap.add_argument('--jx-dir', type=Path, required=True, help='construction/jx/reproduce_jx.py output') + ap.add_argument('--recipe', default='U8', help='RECIPE-.json and LOCAL-PINS-barch-.json') + ap.add_argument('--out', type=Path, required=True) + ap.add_argument('--skip-phases', action='store_true') + a = ap.parse_args() + out = a.out.resolve(); assert not out.exists(); out.mkdir(parents=True) + up = a.pr635.resolve() / 'research/complex-571-cold14-st2' + src = a.main.resolve() / 'research/complex-k492-owner-repair/vendor/multicold' + base = src / 'vendor/pr558'; parent = base / 'vendor/pr552' + rfile = HERE / ('RECIPE-%s.json' % a.recipe); rec = read(rfile); pins = read(HERE / ('LOCAL-PINS-barch-%s.json' % a.recipe)) + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONUTF8='1', PYTHONINTMAXSTRDIGITS='0', + MULTICOLD_SOURCE=str(src), GAIN_PR564_SOURCE=str(src)) + for k in ('PYTHONOPTIMIZE', 'XPARAM', 'EXTRAH', 'PAIRING_RANKS', 'DIAG', 'HYBBUDGET', 'PR635_CODE'): env.pop(k, None) + steps = [] + + def run(label, script, *args, portable=True): + t = time.monotonic() + cmd = [sys.executable, '-B'] + ([str(src / 'code/run_portable.py')] if portable else []) + [str(script), *map(str, args)] + with (out / (label + '.log')).open('w') as f: + rc = subprocess.call(cmd, env=env, stdout=f, stderr=subprocess.STDOUT) + steps.append(dict(step=label, exit_code=rc, seconds=round(time.monotonic() - t, 3))) + (out / 'STEPS.json').write_text(json.dumps(steps, indent=2) + '\n') + assert rc == 0, label + print('PASS', label, flush=True) + + inp = a.jx_dir.resolve() / 'jx/FULL-WORD.json.gz' + assert hashlib.sha256(gzip.decompress(inp.read_bytes())).hexdigest() == rec['base_sha256'], 'input must be the pinned X4 word' + (out / 'barch').mkdir(); word = out / 'barch/FULL-WORD.json.gz' + run('barch', HERE / 'build_tri.py', inp, rfile, word, portable=False) + assert hashlib.sha256(gzip.decompress(word.read_bytes())).hexdigest() == rec['expect_sha256'] + run('barch-controls', HERE / 'run_controls.py', inp, rfile, PKG / 'independent/audit_local.py', out / 'barch-controls', portable=False) + res = read(out / 'barch-controls/controls.json') + want = ['C0_identity', 'recipe', *MUTANTS] + [m + '@' + str(v['X']) for v in rec.get('variants', []) for m in MUTANTS] + assert sorted(res) == sorted(want) == sorted(pins['barch_controls']) and all(x['ok'] for x in res.values()), res + routing = parent / 'complex-local/inputs/phase-baseline/CANONICAL-WORD.json.gz' + env['PR635_CODE'] = str(up / 'code') + run('layer-end-controls', P6 / 'layer_end_controls.py', word, routing, out / 'controls') + env.pop('PR635_CODE') + ctl = read(out / 'controls/COLD-END-CONTROLS.json') + assert ctl['status'] == 'PASS_COLD_END_RAW_WORD_CONTROLS' and len(ctl['rejected']) == pins['layer_controls'], len(ctl['rejected']) + local = out / 'local' + run('native', up / 'code/hpe_audit_and_transport.py', '--raw', word, '--routing', routing, '--out', local) + assert hashlib.sha256(gzip.decompress((local / 'CANONICAL-WORD.json.gz').read_bytes())).hexdigest() == pins['canonical_sha256'], 'canonical word' + run('ledgers', up / 'code/hpe_emit_local.py', local) + run('local-replay', up / 'code/hpe_audit_local.py', local) + run('wrappers', up / 'code/hpe_adapters_local.py', local / 'CANONICAL-WORD.json.gz', + local / 'RESIDUAL-ADAPTERS.json', local / 'WRAPPER-CHECKS.json') + checks = read(local / 'LOCAL-CHECKS.json') + for o, s in pins['program_sha256'].items(): assert checks[o]['sha256'] == s, ('local program', o) + if not a.skip_phases: + run('phases', base / 'code/phases_full.py', local, parent / 'complex-global/vendor531/vendor/clifford') + assert hashlib.sha256((local / 'CLIFFORD-RECIPES.json').read_bytes()).hexdigest() == pins['clifford_recipes_sha256'], 'clifford recipes' + print('DONE', local, flush=True) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-slots/construction/barch/run_controls.py b/research/gauge44-slots/construction/barch/run_controls.py new file mode 100644 index 0000000000..f1ce999bfb --- /dev/null +++ b/research/gauge44-slots/construction/barch/run_controls.py @@ -0,0 +1,33 @@ +#!/usr/bin/env python3 +"""run_controls.py BASE_WORD RECIPE AUDIT_LOCAL_PY OUTDIR : C0 identity, the recipe word (must PASS) and the four negative +controls (each must FAIL audit_local with its pinned message prefix). Standard library only; writes OUTDIR/controls.json.""" +import sys, json, subprocess, os, gzip, hashlib +base, recipe, audit, out = sys.argv[1:5] +here = os.path.dirname(os.path.abspath(__file__)); os.makedirs(out, exist_ok=True) +# pinned rejection sites (observed on RECIPE-V1 and RECIPE-B0; the failing rows are recorded in controls.json): the holder 485 is not restored; the low-end restore 497-=451 moved to the +# FULL cleanup runs after 451's own tail and leaves 497 wrong; without the pre-read (or with the donation after the read) +# the entering helper's start value reaches a target. +EXPECT = {None: 'PASS', 'drop_restore': 'all-column endpoint failure (False, ', + 'restore_full': 'all-column endpoint failure (False, ', + 'drop_preread': 'nonzero entrance response', 'donation_after': 'nonzero entrance response'} +res = {} +ident = os.path.join(out, 'C0.json') +json.dump(dict(json.load(open(recipe)), B_delete=[], B_insert=[], B_frames={}, tail_insert=[], cleanup_prepend=[], + local_profile=json.loads(gzip.decompress(open(base, 'rb').read()))['report']['local_profile'], + expect_sha256=hashlib.sha256(gzip.decompress(open(base, 'rb').read())).hexdigest()), open(ident, 'w')) +r = subprocess.run([sys.executable, '-B', os.path.join(here, 'build_tri.py'), base, ident, os.path.join(out, 'C0.json.gz')], capture_output=True, text=True) +res['C0_identity'] = dict(ok=r.returncode == 0, out=r.stdout.strip() or r.stderr.strip()[-200:]) +ctls = list(EXPECT) + [c + '@' + str(s['X']) for s in json.load(open(recipe)).get('variants', []) for c in EXPECT if c] +for ctl in ctls: + name = ctl or 'recipe'; wp = os.path.join(out, name + '.json.gz') + cmd = [sys.executable, '-B', os.path.join(here, 'build_tri.py'), base, recipe, wp] + (['--control', ctl] if ctl else []) + b = subprocess.run(cmd, capture_output=True, text=True) + if b.returncode: res[name] = dict(ok=False, build=b.stderr[-300:]); continue + a = subprocess.run([sys.executable, '-B', audit, '--word', wp, '--output', os.path.join(out, name + '.audit.json')], capture_output=True, text=True) + txt = a.stdout + a.stderr + if ctl is None: ok = a.returncode == 0 and 'PASS_INDEPENDENT' in txt + else: ok = a.returncode != 0 and EXPECT[ctl.split('@')[0]] in txt + res[name] = dict(ok=ok, build=json.loads(b.stdout), audit_tail=txt.strip().splitlines()[-1][:200]) +json.dump(res, open(os.path.join(out, 'controls.json'), 'w'), indent=1) +print(json.dumps({k: x['ok'] for k, x in res.items()})) +sys.exit(0 if all(x['ok'] for x in res.values()) else 1) diff --git a/research/gauge44-slots/construction/build_gauge_cold44.py b/research/gauge44-slots/construction/build_gauge_cold44.py new file mode 100644 index 0000000000..72d2945f6b --- /dev/null +++ b/research/gauge44-slots/construction/build_gauge_cold44.py @@ -0,0 +1,210 @@ +"""Exact dyadic cold-end realization of the source-branch/factory-completion word. +Prepared for icekylinx with OpenAI Codex assistance; Apache-2.0. +This is a constructor: independent endpoint/frame audits remain required. +""" +from pathlib import Path +from fractions import Fraction as Q +from collections import Counter +import copy,gzip,json,hashlib,time,sys,argparse,importlib.util +D=Path(__file__).resolve().parent +ap=argparse.ArgumentParser(description=__doc__) +for name in ('input','out','hamming','upstream-package'):ap.add_argument('--'+name,type=Path,required=True) +args=ap.parse_args();WPATH=args.input;OUT=args.out +assert __debug__, 'Assertions are required' +OUT.mkdir(exist_ok=False,parents=True) +def rd(p):return json.loads(gzip.decompress(p.read_bytes()) if p.suffix=='.gz' else p.read_bytes()) +w=rd(WPATH);v=w['report']['v'];n=2*v+w['report']['R'];N=list(range(v))+list(range(2*v,n));ix={x:i for i,x in enumerate(N)} +F9=[256,128,64,32,16,8,4,2,1];t0=time.monotonic() +def basis(vs): + d={} + for a in vs: + for k in sorted(d,reverse=True): + if a>>k&1:a^=d[k] + if a: + k=a.bit_length()-1 + for j in d: + if d[j]>>k&1:d[j]^=a + d[k]=a + return tuple(d[k] for k in sorted(d,reverse=True)) +def inside(a,b):return basis(a+b)==b +def regs(e):return e[1:3] if e[0]=='add' else e[1:2] +def inverse(e): + e=copy.deepcopy(e) + if e[0]=='add':e[3]=-e[3] + else:e[2],e[3]=e[3],e[2] + return e +def apply(e,M,mapping=None): + t=mapping[e[1]] if mapping is not None else e[1] + if e[0]=='add': + s=mapping[e[2]] if mapping is not None else e[2];q=Q(e[3],e[4]) + for j,a in M[s].items(): + x=M[t].get(j,Q(0))+q*a + if x:M[t][j]=x + else:M[t].pop(j,None) + else: + q=Q(e[2],e[3]);M[t]={j:q*a for j,a in M[t].items()} +def rref(A): + a=[list(map(Q,row)) for row in A];nr=len(a);nc=len(a[0]) if nr else 0;row=0;piv=[] + for c in range(nc): + k=next((i for i in range(row,nr) if a[i][c]),None) + if k is None:continue + a[row],a[k]=a[k],a[row];q=a[row][c];a[row]=[x/q for x in a[row]] + for i in range(nr): + if i!=row and a[i][c]:q=a[i][c];a[i]=[x-q*y for x,y in zip(a[i],a[row])] + piv.append(c);row+=1 + if row==nr:break + return a,piv +def rank(A):return len(rref(A)[1]) +def null(A,nc=None): + if A:a,piv=rref(A);nc=len(a[0]) + else:a=[];piv=[];assert nc is not None + free=[j for j in range(nc) if j not in piv];out=[[Q(0) for j in free] for i in range(nc)] + for k,c in enumerate(free):out[c][k]=Q(1) + for i,c in enumerate(piv): + for k,j in enumerate(free):out[c][k]=-a[i][j] + return out +def mm(A,B): + if not A:return [] + if not B:return [[] for row in A] + bt=list(zip(*B));return [[sum((a*b for a,b in zip(row,col)),Q(0)) for col in bt] for row in A] +def tr(A):return list(map(list,zip(*A))) +def inv(A): + n0=len(A);a,p=rref([row+[Q(i==j) for j in range(n0)] for i,row in enumerate(A)]) + assert p[:n0]==list(range(n0)) + return [row[n0:] for row in a] +def unit(q): + if not q:return False + a=abs(q.numerator);b=q.denominator + return not a&(a-1) and not b&(b-1) +def dyadic(q):return not q.denominator&(q.denominator-1) +def opadd(t,s,q,F):return ['add',t,s,q.numerator,q.denominator,list(F)] +def opscale(t,q,F):return ['scale',t,q.numerator,q.denominator,list(F)] +def eliminate(M,ids,F,skip=()): + """Return legal dyadic row operations taking an invertible sparse matrix to I.""" + skip=set(skip);ops=[];dim=len(M) + def add(i,j,q): + if q: + assert dyadic(q);e=opadd(ids[i],ids[j],q,F);ops.append(e) + for c,x in M[j].items(): + z=M[i].get(c,Q(0))+q*x + if z:M[i][c]=z + else:M[i].pop(c,None) + def scale(i,q): + if q!=1: + assert unit(q);ops.append(opscale(ids[i],q,F));M[i]={c:q*x for c,x in M[i].items()} + def swap(i,j): + if i!=j: + add(i,j,Q(1));add(j,i,Q(-1));add(i,j,Q(1));scale(j,Q(-1)) + for c in range(dim): + if c in skip: + assert M[c]=={c:Q(1)} and all(not M[i].get(c) for i in range(dim) if i!=c) + continue + cand=[i for i in range(c,dim) if i not in skip and M[i].get(c)] + k=next((i for i in cand if unit(M[i][c])),None) + if k is None: + # Elementary Euclidean row additions reduce the pivot-column numerator gcd. + assert cand,('singular',c) + while k is None: + cand.sort(key=lambda i:abs(M[i][c]));a=cand[0] + b=next((i for i in cand[1:] if M[i][c]),None) + if b is None:raise ValueError(('non-dyadic determinant pivot',c,M[a][c])) + rat=M[b][c]/M[a][c];q=rat.numerator//rat.denominator + if q==0:q=1 if rat>0 else -1 + add(b,a,Q(-q));cand=[i for i in cand if M[i].get(c)] + k=next((i for i in cand if unit(M[i][c])),None) + swap(c,k);scale(c,1/M[c][c]) + for i in range(dim): + if i!=c and M[i].get(c): + assert i not in skip + add(i,c,-M[i][c]) + assert all(row=={i:Q(1)} for i,row in enumerate(M)) + return ops +def realize(A,ids,F): + M=[{j:Q(x) for j,x in enumerate(row) if x} for row in A] + return [inverse(e) for e in reversed(eliminate(M,ids,F))] +# Reconstruct the actual non-target map after the inherited HPE tail. +inherited_tail=[w['cleanup'][i][:-1]+[list(f)] for i,f in w.get('early_cleanup',[])] +mainN=[e for e in w['A']+w['B'] if not v<=e[1]<2*v] +M=[{i:Q(1)} for i in range(len(N))] +for e in mainN+inherited_tail:apply(e,M,ix) +MI=[{i:Q(1)} for i in range(len(N))] +for e in reversed(mainN+inherited_tail):apply(inverse(e),MI,ix) +cur={x:(w['ports'][x],) if xlen(ih):ih.append(j) + if len(ih)==r:break + assert len(ih)==r + endhs=[N[I[j]] for j in ih];endhidx=[hs.index(h) for h in endhs] + kerR=null(RR,16);Qmat=[[Q(0) for j in range(16)] for i in range(16)] + for j,hj in enumerate(endhidx): + for i in range(16):Qmat[i][hj]=qH[i][j] + other=[j for j in range(16) if j not in endhidx] + for k,j in enumerate(other): + for i in range(16):Qmat[i][j]=kerR[i][k] + assert rank(Qmat)==16 + pops=realize(Qmat,hs,());premix+=pops + T=[[Q(i==j)-sum((U[i][k]*L[k][j] for k in range(r)),Q(0)) for j in range(len(I))] for i in range(len(I))] + for k,i in enumerate(ih):T[i]=L[k] + tops=realize(T,[N[i] for i in I],F);tail+=tops + # Right-compose this initial helper premix; other blocks have disjoint H sets. + for row in Mafter: + vals=[row.get(h,Q(0)) for h in H] + if any(vals): + for hj in H:row.pop(hj,None) + for j,hj in enumerate(H): + z=sum((vals[i]*Qmat[i][j] for i in range(16)),Q(0)) + if z:row[hj]=z + for e in tops:apply(e,Mafter,ix) + ends.update({h:list(F) for h in endhs}) + plans.append(dict(block=b,frame=list(F),registers=[N[i] for i in I],ends=endhs,pairing_rank=r,premix_gates=len(pops),tail_gates=len(tops),Q=[[str(x) for x in row] for row in Qmat],T=[[str(x) for x in row] for row in T])) + print('BLOCK',b,'ends',endhs,'Qops',len(pops),'Tops',len(tops),flush=True) +# Check actual post-tail isolation before constructing the high-frame inverse. +allends=set(ends)|set(map(int,w.get('helper_final',{}))) +for h in allends: + j=ix[h];assert Mafter[j]=={j:Q(1)},('row not isolated',h,Mafter[j]);assert all(not row.get(j) for i,row in enumerate(Mafter) if i!=j),('column not isolated',h) +print('EXACT_ISOLATED',len(ends),'new;',len(allends),'total',round(time.monotonic()-t0,3),flush=True) +fullops=eliminate(copy.deepcopy(Mafter),N,F9,[ix[x] for x in allends]) +print('FULL_INVERSE',len(fullops),round(time.monotonic()-t0,3),flush=True) +# Cancel new cold-axis target responses inside A, after their wrappers. +Dirt=[({h:Q(1)} if h in ends else {}) for h in range(n)] +for e in premix+w['A']+w['cut']+w['B']:apply(e,Dirt) +for e in w['precondition']:apply(e,Dirt) +postcomp=[opadd(y,h,-a,()) for y in range(v,2*v) for h,a in sorted(Dirt[y].items()) if a] +assert all(h in ends for e in postcomp for h in [e[2]]) +new=copy.deepcopy(w);new['A']=postcomp+premix+w['A'];new['cleanup']=inherited_tail+tail+fullops +new['early_cleanup']=[[i,e[-1]] for i,e in enumerate(inherited_tail+tail)] +new['helper_final'].update({str(h):f for h,f in ends.items()}) +new['refactored_cleanup']={'kind':'source_branch_gauge_and_retired_completion_cold44','new_cold_ends':len(ends),'exact_non_target_isolation_checked':True,'high_inverse':'dyadic_sparse_Gauss_Jordan'} +# Derive paid profile by subtracting and adding literal frame-chain counts. +spec=importlib.util.spec_from_file_location('upstream_cold_end',args.upstream_package/'code/build_cold_end.py') +profile_module=importlib.util.module_from_spec(spec);spec.loader.exec_module(profile_module) +oldprof,_=profile_module.chain_profile(w);newprof,_=profile_module.chain_profile(new) +prof=Counter({int(k):z for k,z in w['report']['local_profile'].items()});prof.subtract(oldprof);prof.update(newprof) +widths=Counter(len(basis(new['helper_final'].get(str(h),F9)))-len(basis(new.get('start_extra',{}).get(str(h),[]))) for h in range(224,n)) +new['report'].update(local_profile={str(k):z for k,z in sorted(prof.items()) if z},local_rank_mass=sum(k*z for k,z in prof.items()),width_inventory={str(k):z for k,z in sorted(widths.items()) if z},status='EXACT_COLD44_CONSTRUCTED_PENDING_INDEPENDENT_AUDIT') +raw=json.dumps(new,sort_keys=True,separators=(',',':')).encode();sha=hashlib.sha256(raw).hexdigest();(OUT/'FULL-WORD.json.gz').write_bytes(gzip.compress(raw,mtime=0)) +recipe={'premix':postcomp+premix,'cleanup':new['cleanup'],'early_cleanup':new['early_cleanup'],'cold_ends':{str(h):f for h,f in ends.items()},'refactored_cleanup':new['refactored_cleanup'],'output_content_sha256':sha} +(OUT/'RECIPE.json.gz').write_bytes(gzip.compress(json.dumps(recipe,sort_keys=True,separators=(',',':')).encode(),mtime=0)) +receipt=dict(input_content_sha256=hashlib.sha256(gzip.decompress(WPATH.read_bytes())).hexdigest(),output_content_sha256=sha,blocks=plans,new_cold_ends=len(ends),all_low_ended_helpers=len(allends),premix_gates=len(premix),postwrapper_compensation_gates=len(postcomp),tail_gates=len(tail),inherited_tail_gates=len(inherited_tail),full_inverse_gates=len(fullops),profile=new['report']['local_profile'],width_inventory=new['report']['width_inventory'],rank_mass=new['report']['local_rank_mass'],seconds=time.monotonic()-t0) +(OUT/'CONSTRUCTION.json').write_text(json.dumps(receipt,indent=2)+'\n') +print(json.dumps({k:z for k,z in receipt.items() if k!='blocks'},indent=2),flush=True) diff --git a/research/gauge44-slots/construction/construct_gauge_xcentre.py b/research/gauge44-slots/construction/construct_gauge_xcentre.py new file mode 100644 index 0000000000..1010d86746 --- /dev/null +++ b/research/gauge44-slots/construction/construct_gauge_xcentre.py @@ -0,0 +1,381 @@ +# Round20 early-coordinate-center / own-Y variant, prepared for icekylinx +# with OpenAI Codex assistance. Apache-2.0. Scalar elementary-operation +# helpers below are retained from the attributed PR514 construct_partial.py. +# Adapted by OpenAI Codex for isolated structural research. +# Modified from PR425 by icekylinx with Codex assistance. +"""Full discovery word for Hamming packets with borrowed X and Y registers. + +This changes the scalar architecture. It is not accepted by the old restricted +gx interface: source bases may change until full-frame cleanup, and targets use +an explicitly inverted output basis. No supplier admission is asserted. +""" +import copy,gzip,json,math,time +import itertools as it +from collections import Counter,defaultdict +from fractions import Fraction as Q +from pathlib import Path + +import sys +INPUT=Path(sys.argv[1]);OUT=Path(sys.argv[2]);OUT.mkdir(parents=True,exist_ok=False);D=json.loads((INPUT/'PROTOTYPE.json').read_text()) +P=D['binary_ports'];R=D['root_lines'];v=120;h=9 +modules=json.load(gzip.open(INPUT/'PACKET-PROGRAMS.json.gz')) +# AtomScout: leaver-read K-triangles (schedule from atom1.py / rog.py CP-SAT) +TRI=json.loads(Path(sys.argv[3]).read_text()) +FULLT={(tuple(tr['p']),tr['e']) for tr in TRI['triangles']} +TRI_COORDS={t+8 for tr in TRI['triangles'] for t,_,_ in tr['reads']} +COPYL=[] +NH=504-3*len(FULLT)+len(COPYL) + +def basis(vectors): + b={} + for x in vectors: + for p in sorted(b,reverse=True): + if x>>p&1:x^=b[p] + if x: + p=x.bit_length()-1 + for q in b: + if b[q]>>p&1:b[q]^=x + b[p]=x + return tuple(b[p] for p in sorted(b,reverse=True)) +def inside(a,b):return basis(a+b)==b +def hyper(p):return basis([x for x in range(1,512) if (x&p).bit_count()%2==0]) +FULL=basis([1<=v,r)) + for col,s in enumerate(ids): + k=next(i for i in range(col,len(regs)) if rows[regs[i]].get(s,Q(0))) + swap(regs[k],regs[col],F) + scale(regs[col],1/rows[regs[col]][s],F) + for i in range(len(regs)): + if i!=col and rows[regs[i]].get(s,Q(0)):add(regs[i],regs[col],-rows[regs[i]][s],F) + assert all(rows[regs[i]]=={s:Q(1)} for i,s in enumerate(ids)) + M=[[Q(R[s][i]) for s in ids] for i in c] + def qr_rank(rs): + bs={} + for r in rs: + r=r.copy() + for i,b in sorted(bs.items()): + if r[i]:q=r[i];r=[x-q*y for x,y in zip(r,b)] + i=next((i for i,x in enumerate(r) if x),None) + if i is not None:q=r[i];bs[i]=[x/q for x in r] + return len(bs) + assert qr_rank(M)==4 + for rr0 in PRIORITY[",".join(map(str,c))]["rows"]: + rr=list(map(Q,rr0)) + if qr_rank(M+[rr])>len(M):M.append(rr) + if len(M)==8:break + for i in range(8): + if len(M)==8:break + rr=[Q(i==j) for j in range(8)] + if qr_rank(M+[rr])>len(M):M.append(rr) + if len(M)==8:break + assert len(M)==8 + linear(regs,M,F) + for i,r in zip(c,regs): + assert rows[r]=={s:Q(R[s][i]) for s in ids} + block_totals[c,i]=r + +# All centers are complete while Y is still at zero. This is the crucial +# difference from an illegal early-own-Y prefix using the old center order. +centers=[] +for i in range(8): + regs=[block_totals[c,i] for c in sorted(blocks) if i in c] + F=hyper(P[frame[i]]);a=regs[0] + for b in regs[1:]:add(a,b,1,F) + centers.append(a) +centers += [frame[i] for i in range(8)] +center_frames=[cur[r] for r in centers] +assert list(map(len,center_frames))==[8]*8+[1]*8 +assert all(cur[v+t]==() for t in range(v)) + +phase=B +for t,(r,coef,F) in sorted(own_rows.items()): + if t in TRI_COORDS:continue + assert cur[r]==F + add(v+t,r,coef,F) +# requests are needed for TRI coefficients +requests=defaultdict(list) +for pid,pair in enumerate(pairs): + if not pair['selected']:continue + (t,u),(key1,key2),mat=pair['targets'],pair['keys'],pair['matrix'] + requests[key1].append((t,-Q(mat[0][0],2))) + requests[key2].append((u,-Q(mat[0][1],2))) +reqcoef={t:(key,coef) for key,reqs in requests.items() for t,coef in reqs} +def face_info(c,p,eps): + z=blocks[c];keys=[(pp,ee) for pp in it.combinations(c,2) for ee in (-1,1)] + r_local,alpha=z['outputs'][keys.index((p,eps))] + j=[j for j in range(40,len(z['events'])) if z['events'][j][0]==r_local];assert len(j)==1 + return j[0],Q(alpha) +tri_join_counts=Counter() +lcopy={} +for s8 in COPYL: + r=s8+8;c=alloc();add(c,r,1,cur[r]);lcopy[r]=c +for tr in TRI['triangles']: + p,eps=tuple(tr['p']),tr['e'] + for t8,blk,loc in tr['reads']: + t=t8+8;blk=tuple(blk);r=maps[blk][loc];r0=r;r=lcopy.get(r,r) + key,coef=reqcoef[t];assert key[1]==p and key[2]==eps,(key,p,eps) + if blk==key[0]: + rr,c0,F0=own_rows[t];assert rr==r0;q=c0 + else: + j,alpha=face_info(blk,p,eps);ev=blocks[blk]['events'][j];assert loc in ev[:2] + q=coef*alpha + F=basis(cur[v+t]+cur[r]);assert inside(F,hyper(P[t])),('TRI frame',t) + tri_join_counts[len(F)]+=1;add(v+t,r,q,F) + +packets={} +for c,z in sorted(blocks.items()): + mp=maps[c] + keys=[(p,eps) for p in it.combinations(c,2) for eps in (-1,1)] + skipev={face_info(c,p,eps)[0] for p,eps in keys if (p,eps) in FULLT} + for j,(e,F) in enumerate(list(zip(z['events'],z['event_frames']))[40:]): + if j not in early[c] and 40+j not in skipev: + t,s,a,b=e;add(mp[t],mp[s],Q(a,b),tuple(F)) + for key,(r,alpha) in zip(keys,z['outputs']): + if tuple(key) in FULLT:skip();continue + a=mp[r];b=alloc();add(b,a,1,cur[a]) + consumers=sorted(d for d in blocks if d!=c and set(key[0])<=set(d)) + assert len(consumers)==2 + for target,r in zip(consumers,(a,b)):packets[c,key[0],key[1],target]=(r,Q(alpha)) + +# Both tetrahedra use the same partition. A selected key has exactly two +# selected Y loads and no ordinary M consumer. Supply its two raw halves in +# opposite orders and never form that M. Other keys retain the old M path. +second=[];first_join_counts=Counter() +for key,reqs in sorted(requests.items()): + assert len(reqs)==2 + c,p,eps=key + if (p,eps) in FULLT:continue + ds=sorted(d for d in blocks if d!=c and set(p)<=set(d));a,b=ds + for j,(target,coef) in enumerate(sorted(reqs)): + first_source,second_source=(a,b) if j==0 else (b,a) + r,alpha=packets[first_source,p,eps,second_source] + F=basis(cur[v+target]+cur[r]);assert inside(F,hyper(P[target])) + first_join_counts[len(F)]+=1;add(v+target,r,coef*alpha,F) + r,alpha=packets[second_source,p,eps,c] + second.append((target,r,coef*alpha)) + +Ms={} +for c in sorted(blocks): + for p in it.combinations(c,2): + ds=sorted(d for d in blocks if d!=c and set(p)<=set(d)) + for eps in (-1,1): + if (c,p,eps) in requests:continue + (a,alpha),(b,beta)=[packets[d,p,eps,c] for d in ds] + F=basis(cur[a]+cur[b]);add(a,b,beta/alpha,F) + Ms[c,p,eps]=(a,alpha) + +consumers=defaultdict(list) +for pid,pair in enumerate(pairs): + for key in pair['keys']:consumers[key].append(pid) +slots={} +for key,uses in sorted(consumers.items()): + assert len(uses)==2 + if key in requests: + assert all(pairs[i]['selected'] for i in uses) + continue + assert all(not pairs[i]['selected'] for i in uses) + a,alpha=Ms[key] + for j,pid in enumerate(uses): + if j==0:r=a + else:r=alloc();add(r,a,1,cur[a]) + slots[pid,key]=(r,alpha) +assert len(cur)-240==NH,len(cur)-240 + +selected_join_counts=Counter() +for target,r,coef in second: + F=basis(cur[v+target]+cur[r]);assert inside(F,hyper(P[target])) + selected_join_counts[len(F)]+=1;add(v+target,r,coef,F) +output_basis=[] +for pair in pairs: + if not pair['selected']:continue + (t,u),mat=pair['targets'],pair['matrix'] + F=basis(cur[v+t]+cur[v+u]);assert inside(F,hyper(P[t])) and inside(F,hyper(P[u])) + add(v+t,v+u,1,F);add(v+u,v+t,-Q(1,2),F) + z=-Q(2*mat[1][0],mat[0][0]);scale(v+u,z,F);output_basis.append((t,u,z)) + +for pid,pair in enumerate(pairs): + if pair['selected']:continue + (t,u),(key1,key2),mat=pair['targets'],pair['keys'],pair['matrix'] + (a,alpha),(b,beta)=slots[pid,key1],slots[pid,key2] + F=basis(cur[a]+cur[b]);aa,ab=Q(mat[0][0])*alpha,Q(mat[0][1])*beta + ba,bb=Q(mat[1][0])*alpha,Q(mat[1][1])*beta + add(a,b,ab/aa,F);q=ba/(bb-ba*ab/aa);add(b,a,q,F) + add(v+t,a,-aa/2,hyper(P[t]));add(v+u,b,-(bb-ba*ab/aa)/2,hyper(P[u])) + +for t in range(v): + expected={s:-Q(G[t][s],2) for s in range(v) if s!=t and G[t][s] and s not in frame.values()} if t not in frame.values() else {} + assert rows[v+t]==expected,('side identity',t) + +scatter=[[Q(r[i],4) if t not in frame.values() else Q(0) for i in range(8)]+[Q(t==frame[i]) for i in range(8)] for t,r in enumerate(R)] +precondition=[] +for t,u,z in output_basis: + a,b=scatter[t].copy(),scatter[u].copy() + scatter[t]=[x/2-y/z for x,y in zip(a,b)] + scatter[u]=[x/2+y/z for x,y in zip(a,b)] + precondition.extend([['scale',v+u,(1/z).numerator,(1/z).denominator,[]], + ['add',v+u,v+t,1,2,[]],['add',v+t,v+u,-1,1,[]]]) +for r in range(len(cur)):climb(r,hyper(P[r-v]) if v<=r<2*v else FULL) +H[8]+=8;H[1]+=8 +assert sum(r*z for r,z in H.items())==9*NH+240*8+72,sum(r*z for r,z in H.items()) + +def apply(e,matrix): + if e[0]=='add': + _,t,s,a,b,*_=e;q=Q(a,b) + for j,x in list(matrix[s].items()): + z=matrix[t].get(j,Q(0))+q*x + if z:matrix[t][j]=z + else:matrix[t].pop(j,None) + else: + _,t,a,b,*_=e;q=Q(a,b);matrix[t]={j:q*x for j,x in matrix[t].items()} +def inverse(e): + e=copy.deepcopy(e) + if e[0]=='add':e[3]*=-1 + else:e[2],e[3]=e[3],e[2] + e[-1]=list(FULL);return e +cut=[['add',v+t,centers[i],q.numerator,q.denominator,None] for t,row in enumerate(scatter) for i,q in enumerate(row) if q] +cleanup=[inverse(e) for e in reversed(A+B) if not v<=e[1]<2*v] +matrix=[{r:Q(1)} if r.json. Steps, each checked exactly: + 1. frames: build_frames.py (standard library only) applies the eight 'B' gate_frames with BlockInvert's + build_promotion.apply. Scalar program, start and end frames unchanged; profile, widths and output sha pinned; + three pin controls must be rejected (count pinned). + 2. frame-controls: frame_controls.py, PR741's ten focused mutants judged by PR635's unchanged native audit. + 3. layer-end-controls: ../layers_p6n/layer_end_controls.py (per-end variant) on the SW4F8 word; count pinned. + 4. native, ledgers, local-replay, wrappers, phases: PR635's native local programs, with the canonical word, local + programs and Clifford recipes pinned (LOCAL-PINS-frames-.json). +Apache-2.0. +""" +import argparse, gzip, hashlib, json, os, subprocess, sys, time +from pathlib import Path + +HERE = Path(__file__).resolve().parent +P6 = HERE.parent / 'layers_p6n' + + +def read(p): + raw = Path(p).read_bytes() + return json.loads(gzip.decompress(raw) if str(p).endswith('.gz') else raw) + + +def main(): + assert __debug__, 'Assertions are required' + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--main', type=Path, required=True) + ap.add_argument('--pr635', type=Path, required=True) + ap.add_argument('--sw4-dir', type=Path, required=True, help='construction/sw4/reproduce_sw4.py output') + ap.add_argument('--out', type=Path, required=True) + ap.add_argument('--recipe', default='sw4', help='FRAME-RECIPE-.json and LOCAL-PINS-frames-.json') + ap.add_argument('--skip-phases', action='store_true') + a = ap.parse_args() + out = a.out.resolve(); assert not out.exists(); out.mkdir(parents=True) + up = a.pr635.resolve() / 'research/complex-571-cold14-st2' + src = a.main.resolve() / 'research/complex-k492-owner-repair/vendor/multicold' + base = src / 'vendor/pr558'; parent = base / 'vendor/pr552' + rfile = HERE / ('FRAME-RECIPE-%s.json' % a.recipe); rec = read(rfile); pins = read(HERE / ('LOCAL-PINS-frames-%s.json' % a.recipe)) + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONUTF8='1', PYTHONINTMAXSTRDIGITS='0', + MULTICOLD_SOURCE=str(src), GAIN_PR564_SOURCE=str(src)) + for k in ('PYTHONOPTIMIZE', 'XPARAM', 'EXTRAH', 'PAIRING_RANKS', 'DIAG', 'HYBBUDGET', 'PR635_CODE'): env.pop(k, None) + steps = [] + + def run(label, script, *args, portable=True): + t = time.monotonic() + cmd = [sys.executable, '-B'] + ([str(src / 'code/run_portable.py')] if portable else []) + [str(script), *map(str, args)] + with (out / (label + '.log')).open('w') as f: + rc = subprocess.call(cmd, env=env, stdout=f, stderr=subprocess.STDOUT) + steps.append(dict(step=label, exit_code=rc, seconds=round(time.monotonic() - t, 3))) + (out / 'STEPS.json').write_text(json.dumps(steps, indent=2) + '\n') + assert rc == 0, label + print('PASS', label, flush=True) + + inp = a.sw4_dir.resolve() / 'sw4/FULL-WORD.json.gz' + assert hashlib.sha256(gzip.decompress(inp.read_bytes())).hexdigest() == rec['input_content_sha256'], 'input must be the pinned SW4 word' + run('frames', HERE / 'build_frames.py', inp, out / 'frames', rfile, portable=False) + b = read(out / 'frames/BUILD.json') + assert b['status'] == 'PASS_EIGHT_FRAME_EXACT_CONSTRUCTION' and len(b['rejected_controls']) == pins['frame_build_controls'], b + word = out / 'frames/FULL-WORD.json.gz' + assert hashlib.sha256(gzip.decompress(word.read_bytes())).hexdigest() == rec['expected']['output_content_sha256'] + routing = parent / 'complex-local/inputs/phase-baseline/CANONICAL-WORD.json.gz' + env['PR635_CODE'] = str(up / 'code') + run('frame-controls', HERE / 'frame_controls.py', word, routing, out / 'FRAME-CONTROLS.json', rfile, portable=False) + fc = read(out / 'FRAME-CONTROLS.json') + assert fc['status'] == 'PASS_FOCUSED_EIGHT_FRAME_NATIVE_CONTROLS' and len(fc['rejected']) == pins['frame_controls'], len(fc['rejected']) + run('layer-end-controls', P6 / 'layer_end_controls.py', word, routing, out / 'controls') + env.pop('PR635_CODE') + ctl = read(out / 'controls/COLD-END-CONTROLS.json') + assert ctl['status'] == 'PASS_COLD_END_RAW_WORD_CONTROLS' and len(ctl['rejected']) == pins['layer_controls'], len(ctl['rejected']) + local = out / 'local' + run('native', up / 'code/hpe_audit_and_transport.py', '--raw', word, '--routing', routing, '--out', local) + assert hashlib.sha256(gzip.decompress((local / 'CANONICAL-WORD.json.gz').read_bytes())).hexdigest() == pins['canonical_sha256'], 'canonical word' + run('ledgers', up / 'code/hpe_emit_local.py', local) + run('local-replay', up / 'code/hpe_audit_local.py', local) + run('wrappers', up / 'code/hpe_adapters_local.py', local / 'CANONICAL-WORD.json.gz', + local / 'RESIDUAL-ADAPTERS.json', local / 'WRAPPER-CHECKS.json') + checks = read(local / 'LOCAL-CHECKS.json') + for o, s in pins['program_sha256'].items(): assert checks[o]['sha256'] == s, ('local program', o) + if not a.skip_phases: + run('phases', base / 'code/phases_full.py', local, parent / 'complex-global/vendor531/vendor/clifford') + assert hashlib.sha256((local / 'CLIFFORD-RECIPES.json').read_bytes()).hexdigest() == pins['clifford_recipes_sha256'], 'clifford recipes' + print('DONE', local, flush=True) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-slots/construction/jx/LOCAL-PINS-jx-X4.json b/research/gauge44-slots/construction/jx/LOCAL-PINS-jx-X4.json new file mode 100644 index 0000000000..417e4ba7a1 --- /dev/null +++ b/research/gauge44-slots/construction/jx/LOCAL-PINS-jx-X4.json @@ -0,0 +1,11 @@ +{ + "word": "X4", + "jx_controls": 7, + "layer_controls": 95, + "canonical_sha256": "1c0e9da767d4418f70016af599e4a447a3f7777acabe930318459c0fbbd260aa", + "program_sha256": { + "forward": "076a2d428f97abb30473df05110998efbe5ac809885bae4ceb1b8bd81329a1e6", + "backward": "7915679ee305927463d19725360cc15132dd21ede18897d09a935dca1df0d55d" + }, + "clifford_recipes_sha256": "20dddfce0ded7e41dc507939df7297bd98aec1286e05d7dbf18000d57e69a0b7" +} diff --git a/research/gauge44-slots/construction/jx/RECIPE-X4.json b/research/gauge44-slots/construction/jx/RECIPE-X4.json new file mode 100644 index 0000000000..30f7fa5948 --- /dev/null +++ b/research/gauge44-slots/construction/jx/RECIPE-X4.json @@ -0,0 +1,1412 @@ +{ + "input_content_sha256": "d232183f233899961bf55cac67a18545ed33548d9a7ca7078990d1a83d557c59", + "input_word": "P6k4sw4 (BRoute w/P6k4sw4, d232183f)", + "frames_741_source": { + "pr": 741, + "commit": "e516b146", + "recipe": "scratch/WasteAttack/FRAME-RECIPE-741.json", + "frames_only_output_sha": "e78047028c7dcd25fb1b6216c2b53eda76d2f91292b21d43f5d1903cc13a5c6c" + }, + "frames_741": [ + [ + 856, + [ + 272, + 144, + 64, + 8, + 6, + 1 + ] + ], + [ + 860, + [ + 256, + 128, + 65, + 16, + 9, + 6 + ] + ], + [ + 868, + [ + 256, + 144, + 81, + 33, + 9, + 6 + ] + ], + [ + 873, + [ + 320, + 192, + 32, + 16, + 6, + 1 + ] + ], + [ + 876, + [ + 273, + 144, + 64, + 33, + 9, + 6 + ] + ], + [ + 953, + [ + 265, + 137, + 73, + 32, + 25, + 6 + ] + ], + [ + 961, + [ + 265, + 128, + 64, + 41, + 16, + 6 + ] + ], + [ + 965, + [ + 257, + 128, + 73, + 40, + 17, + 6 + ] + ] + ], + "raises": [ + [ + 855, + [ + 280, + 128, + 64, + 40, + 6, + 1 + ] + ], + [ + 859, + [ + 256, + 129, + 65, + 40, + 25, + 6 + ] + ], + [ + 862, + [ + 280, + 144, + 80, + 56, + 6, + 1 + ] + ], + [ + 863, + [ + 272, + 136, + 80, + 56, + 6, + 1 + ] + ], + [ + 867, + [ + 256, + 136, + 64, + 41, + 16, + 6 + ] + ], + [ + 870, + [ + 256, + 200, + 40, + 16, + 6, + 1 + ] + ], + [ + 875, + [ + 272, + 144, + 80, + 49, + 8, + 6 + ] + ], + [ + 942, + [ + 256, + 136, + 72, + 33, + 25, + 6 + ] + ], + [ + 943, + [ + 320, + 193, + 33, + 16, + 9, + 6 + ] + ], + [ + 946, + [ + 256, + 129, + 64, + 41, + 16, + 6 + ] + ], + [ + 947, + [ + 273, + 128, + 81, + 33, + 9, + 6 + ] + ], + [ + 950, + [ + 257, + 193, + 33, + 16, + 9, + 6 + ] + ], + [ + 954, + [ + 272, + 129, + 80, + 49, + 8, + 6 + ] + ], + [ + 955, + [ + 256, + 128, + 64, + 33, + 17, + 6 + ] + ], + [ + 958, + [ + 257, + 128, + 81, + 33, + 9, + 6 + ] + ], + [ + 962, + [ + 273, + 128, + 64, + 33, + 8, + 6 + ] + ] + ], + "edits": { + "replace": [ + { + "h": 448, + "i": 862, + "old": [ + "add", + 140, + 448, + -1, + 2 + ], + "new": [ + "add", + 140, + 235, + -1, + 2 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 448, + "i": 1207, + "old": [ + "add", + 133, + 448, + -1, + 2 + ], + "new": [ + "add", + 133, + 235, + -1, + 2 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 448, + "i": 870, + "old": [ + "add", + 132, + 235, + -1, + 2 + ], + "new": [ + "add", + 132, + 448, + -1, + 2 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 448, + "i": 1199, + "old": [ + "add", + 141, + 235, + -1, + 2 + ], + "new": [ + "add", + 141, + 448, + -1, + 2 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 472, + "i": 855, + "old": [ + "add", + 173, + 472, + -1, + 2 + ], + "new": [ + "add", + 173, + 267, + -1, + 2 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 472, + "i": 1198, + "old": [ + "add", + 140, + 472, + -1, + 2 + ], + "new": [ + "add", + 140, + 267, + -1, + 2 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 472, + "i": 863, + "old": [ + "add", + 141, + 267, + -1, + 2 + ], + "new": [ + "add", + 141, + 472, + -1, + 2 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 472, + "i": 1190, + "old": [ + "add", + 172, + 267, + -1, + 2 + ], + "new": [ + "add", + 172, + 472, + -1, + 2 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 458, + "i": 942, + "old": [ + "add", + 204, + 458, + 1, + 1 + ], + "new": [ + "add", + 204, + 58, + 1, + 1 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 458, + "i": 1287, + "old": [ + "add", + 197, + 458, + 1, + 1 + ], + "new": [ + "add", + 197, + 58, + 1, + 1 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 458, + "i": 950, + "old": [ + "add", + 196, + 58, + 1, + 1 + ], + "new": [ + "add", + 196, + 458, + 1, + 1 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 458, + "i": 1279, + "old": [ + "add", + 205, + 58, + 1, + 1 + ], + "new": [ + "add", + 205, + 458, + 1, + 1 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 592, + "i": 859, + "old": [ + "add", + 174, + 592, + -1, + 2 + ], + "new": [ + "add", + 174, + 427, + -1, + 2 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 592, + "i": 1278, + "old": [ + "add", + 204, + 592, + -1, + 2 + ], + "new": [ + "add", + 204, + 427, + -1, + 2 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 592, + "i": 943, + "old": [ + "add", + 205, + 427, + -1, + 2 + ], + "new": [ + "add", + 205, + 592, + -1, + 2 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 592, + "i": 1194, + "old": [ + "add", + 170, + 427, + -1, + 2 + ], + "new": [ + "add", + 170, + 592, + -1, + 2 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 470, + "i": 946, + "old": [ + "add", + 202, + 470, + 1, + 1 + ], + "new": [ + "add", + 202, + 26, + 1, + 1 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 470, + "i": 1295, + "old": [ + "add", + 165, + 470, + 1, + 1 + ], + "new": [ + "add", + 165, + 26, + 1, + 1 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 470, + "i": 958, + "old": [ + "add", + 164, + 26, + 1, + 1 + ], + "new": [ + "add", + 164, + 470, + 1, + 1 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 470, + "i": 1283, + "old": [ + "add", + 206, + 26, + 1, + 1 + ], + "new": [ + "add", + 206, + 470, + 1, + 1 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 604, + "i": 867, + "old": [ + "add", + 142, + 604, + -1, + 2 + ], + "new": [ + "add", + 142, + 443, + -1, + 2 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 604, + "i": 1282, + "old": [ + "add", + 202, + 604, + -1, + 2 + ], + "new": [ + "add", + 202, + 443, + -1, + 2 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 604, + "i": 947, + "old": [ + "add", + 206, + 443, + -1, + 2 + ], + "new": [ + "add", + 206, + 604, + -1, + 2 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 604, + "i": 1202, + "old": [ + "add", + 138, + 443, + -1, + 2 + ], + "new": [ + "add", + 138, + 604, + -1, + 2 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 482, + "i": 954, + "old": [ + "add", + 194, + 482, + 1, + 1 + ], + "new": [ + "add", + 194, + 18, + 1, + 1 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 482, + "i": 1299, + "old": [ + "add", + 166, + 482, + 1, + 1 + ], + "new": [ + "add", + 166, + 18, + 1, + 1 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 482, + "i": 962, + "old": [ + "add", + 162, + 18, + 1, + 1 + ], + "new": [ + "add", + 162, + 482, + 1, + 1 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 482, + "i": 1291, + "old": [ + "add", + 198, + 18, + 1, + 1 + ], + "new": [ + "add", + 198, + 482, + 1, + 1 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 614, + "i": 875, + "old": [ + "add", + 134, + 614, + 1, + 1 + ], + "new": [ + "add", + 134, + 50, + 1, + 1 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 614, + "i": 1290, + "old": [ + "add", + 194, + 614, + 1, + 1 + ], + "new": [ + "add", + 194, + 50, + 1, + 1 + ], + "why": "h2r: read of h -> read of r" + }, + { + "h": 614, + "i": 955, + "old": [ + "add", + 198, + 50, + 1, + 1 + ], + "new": [ + "add", + 198, + 614, + 1, + 1 + ], + "why": "r2h: read of r -> read of h" + }, + { + "h": 614, + "i": 1210, + "old": [ + "add", + 130, + 50, + 1, + 1 + ], + "new": [ + "add", + 130, + 614, + 1, + 1 + ], + "why": "r2h: read of r -> read of h" + } + ], + "delete": [ + { + "h": 448, + "i": 1, + "old": [ + "add", + 140, + 448, + 1, + 2 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 448, + "i": 0, + "old": [ + "add", + 133, + 448, + 1, + 2 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 472, + "i": 33, + "old": [ + "add", + 173, + 472, + 1, + 2 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 472, + "i": 32, + "old": [ + "add", + 140, + 472, + 1, + 2 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 458, + "i": 21, + "old": [ + "add", + 204, + 458, + -1, + 1 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 458, + "i": 20, + "old": [ + "add", + 197, + 458, + -1, + 1 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 592, + "i": 64, + "old": [ + "add", + 174, + 592, + 1, + 2 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 592, + "i": 65, + "old": [ + "add", + 204, + 592, + 1, + 2 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 470, + "i": 29, + "old": [ + "add", + 202, + 470, + -1, + 1 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 470, + "i": 28, + "old": [ + "add", + 165, + 470, + -1, + 1 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 604, + "i": 72, + "old": [ + "add", + 142, + 604, + 1, + 2 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 604, + "i": 73, + "old": [ + "add", + 202, + 604, + 1, + 2 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 482, + "i": 37, + "old": [ + "add", + 194, + 482, + -1, + 1 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 482, + "i": 36, + "old": [ + "add", + 166, + 482, + -1, + 1 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 614, + "i": 95, + "old": [ + "add", + 134, + 614, + -1, + 1 + ], + "why": "h2r: delete t pre-read of h" + }, + { + "h": 614, + "i": 96, + "old": [ + "add", + 194, + 614, + -1, + 1 + ], + "why": "h2r: delete t pre-read of h" + } + ], + "insert": [ + { + "h": 448, + "before": 2, + "gate": [ + "add", + 132, + 448, + 1, + 2 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 448, + "before": 2, + "gate": [ + "add", + 141, + 448, + 1, + 2 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 472, + "before": 34, + "gate": [ + "add", + 141, + 472, + 1, + 2 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 472, + "before": 34, + "gate": [ + "add", + 172, + 472, + 1, + 2 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 458, + "before": 22, + "gate": [ + "add", + 196, + 458, + -1, + 1 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 458, + "before": 22, + "gate": [ + "add", + 205, + 458, + -1, + 1 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 592, + "before": 66, + "gate": [ + "add", + 205, + 592, + 1, + 2 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 592, + "before": 66, + "gate": [ + "add", + 170, + 592, + 1, + 2 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 470, + "before": 30, + "gate": [ + "add", + 164, + 470, + -1, + 1 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 470, + "before": 30, + "gate": [ + "add", + 206, + 470, + -1, + 1 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 604, + "before": 74, + "gate": [ + "add", + 206, + 604, + 1, + 2 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 604, + "before": 74, + "gate": [ + "add", + 138, + 604, + 1, + 2 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 482, + "before": 38, + "gate": [ + "add", + 162, + 482, + -1, + 1 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 482, + "before": 38, + "gate": [ + "add", + 198, + 482, + -1, + 1 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 614, + "before": 97, + "gate": [ + "add", + 198, + 614, + -1, + 1 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + }, + { + "h": 614, + "before": 97, + "gate": [ + "add", + 130, + 614, + -1, + 1 + ], + "why": "r2h: pre-read of h (h = E_h) after h last pre-read" + } + ] + }, + "pairs": { + "448": 235, + "458": 58, + "470": 26, + "472": 267, + "482": 18, + "592": 427, + "604": 443, + "614": 50 + }, + "expected": { + "output_content_sha256": "1e1d99ba7aab877d6b573c41f7030ee73de9a52fee51d0a822ddaae71251999f", + "local_profile": { + "1": 2548, + "2": 338, + "3": 430, + "4": 194, + "5": 56, + "8": 8 + } + }, + "controls": { + "C0_identity": { + "mutation": { + "kind": "empty" + }, + "expected_sha": "d232183f233899961bf55cac67a18545ed33548d9a7ca7078990d1a83d557c59", + "local_profile": { + "1": 2548, + "2": 342, + "3": 438, + "4": 186, + "5": 56, + "8": 8 + } + }, + "C1_741_only": { + "mutation": { + "kind": "only_edits_of", + "h": [], + "raises": [] + }, + "expected_sha": "e78047028c7dcd25fb1b6216c2b53eda76d2f91292b21d43f5d1903cc13a5c6c", + "local_profile": { + "1": 2556, + "2": 334, + "3": 430, + "4": 194, + "5": 56, + "8": 8 + } + }, + "M1_one_pair_448": { + "mutation": { + "kind": "only_edits_of", + "h": [ + 448 + ], + "raises": [ + 862, + 870 + ] + }, + "expected_sha": "5fb6fb2e5e63d18b865535c1dbd3dbaddab530c39429a4b09f11ac96723257c9", + "local_profile": { + "1": 2556, + "2": 334, + "3": 430, + "4": 194, + "5": 56, + "8": 8 + } + }, + "N1_drop_preread": { + "mutation": { + "kind": "drop_insert", + "k": 0 + }, + "rejection_expected": [ + "exactness rows", + [ + 132, + 135 + ] + ] + }, + "N2_wrong_sign_preread": { + "mutation": { + "kind": "flip_insert_sign", + "k": 0 + }, + "rejection_expected": [ + "exactness rows", + [ + 132, + 135 + ] + ] + }, + "N3_plain_join_moved_reads": { + "mutation": { + "kind": "drop_raises" + }, + "expected_sha": "7241cd59dd0376e0b2e1b5ba8403c5423d247ddd7cbcc2f02bdc353752806f30", + "local_profile": { + "1": 2532, + "2": 378, + "3": 430, + "4": 178, + "5": 56, + "8": 8 + } + }, + "N4_raise_dim7_at_855": { + "mutation": { + "kind": "frame", + "i": 855, + "frame": [ + 280, + 128, + 64, + 40, + 4, + 2, + 1 + ] + }, + "rejection_expected": [ + "cap", + 1302, + 174 + ] + } + } +} \ No newline at end of file diff --git a/research/gauge44-slots/construction/jx/build_jx.py b/research/gauge44-slots/construction/jx/build_jx.py new file mode 100644 index 0000000000..f8d74a6324 --- /dev/null +++ b/research/gauge44-slots/construction/jx/build_jx.py @@ -0,0 +1,167 @@ +#!/usr/bin/env python3 +"""build_jx.py --input WORD --recipe RECIPE.json --out OUT.json.gz [--control NAME] [--no-pin] + +Stdlib-only builder: joint read-set exchange (copy pairs, BRoute sw4 rule) + explicit B frame raises on P6k4sw4. +Steps: + 1. input content sha256 must equal recipe.input_content_sha256. + 2. explicit B edits: replace (old gate asserted), delete (old gate asserted), insert (before an original index). + 3. frames: replaced/inserted gates take the plain join of their operands' current frames; gates listed in + frames_741 / raises take base = the listed frame and the resulting frame must EQUAL it (explicit frames); + every other gate keeps span(stored frame + operand frames) (monotone repair). Early cleanup likewise. + 4. legality: target frames inside u_t^perp at every gate; tails inside helper_final; every end frame contains the + final frame; the explicit frame must contain the join (enforced by equality in 3). + 5. exactness: the rational linear map of the whole B segment is identical to the input's (Fraction replay). + 6. paid profile recomputed (A + centre levels + B + tails + ends) and written to report.local_profile. +Output: canonical json (sort_keys, compact) gzip mtime=0. Exit 0 and prints output sha; exit 2 with the first +rejection (site) on failure. --control applies a named mutation from recipe.controls (expected to be rejected +or to give a pinned sha).""" +import argparse, gzip, json, hashlib, sys, copy +from fractions import Fraction as Fr +from collections import Counter + +V, H = 112, 9 + +def basis(vs): + piv = {} + for a in vs: + while a: + b = a.bit_length() - 1 + if b in piv: a ^= piv[b] + else: piv[b] = a; break + for k in sorted(piv): + for j in sorted(piv): + if j > k and (piv[j] >> k) & 1: piv[j] ^= piv[k] + return tuple(piv[k] for k in sorted(piv, reverse=True)) + +def contained(a, b): return basis(list(a) + list(b)) == tuple(b) +def registers(e): return e[1:3] if e[0] == 'add' else e[1:2] +def hyper(p): return basis([x for x in range(1, 1 << H) if (x & p).bit_count() % 2 == 0]) +FULL = basis([1 << i for i in range(H)]) +def csha(w): return hashlib.sha256(json.dumps(w, sort_keys=True, separators=(',', ':')).encode()).hexdigest() + +class Reject(Exception): pass + +def symstate(gs): + rows = {} + for e in gs: + for q in registers(e): rows.setdefault(q, {q: Fr(1)}) + if e[0] == 'add': + t, s = e[1], e[2]; c = Fr(e[3], e[4]); d = rows[t] + for k, x in list(rows[s].items()): + a = d.get(k, 0) + c * x + if a: d[k] = a + else: d.pop(k, None) + else: + t = e[1]; c = Fr(e[2], e[3]); rows[t] = {k: c * x for k, x in rows[t].items()} + return rows + +def build(w, rc, control=None): + w = copy.deepcopy(w); B0 = w['B'] + edits = copy.deepcopy(rc['edits']); explicit = {int(i): f for i, f in rc['frames_741']} + for i, f in rc['raises']: + if int(i) in explicit: raise Reject(('duplicate frame', i)) + explicit[int(i)] = f + if control: + c = rc['controls'][control]['mutation'] + if c['kind'] == 'drop_insert': edits['insert'] = [x for k, x in enumerate(edits['insert']) if k != c['k']] + elif c['kind'] == 'flip_insert_sign': edits['insert'][c['k']]['gate'][3] *= -1 + elif c['kind'] == 'frame': explicit[c['i']] = c['frame'] + elif c['kind'] == 'drop_edits': edits = dict(replace=[], delete=[], insert=[]) + elif c['kind'] == 'drop_raises': explicit = {int(i): f for i, f in rc['frames_741']} + elif c['kind'] == 'only_edits_of': + hs = set(c['h']) + edits = {k: [x for x in v if x['h'] in hs] for k, v in edits.items()} + explicit = {i: f for i, f in explicit.items() if i in {int(j) for j, _ in rc['frames_741']} or i in set(c['raises'])} + elif c['kind'] == 'empty': edits = dict(replace=[], delete=[], insert=[]); explicit = {} + else: raise SystemExit('unknown control') + B = [list(e) for e in B0]; tag = set(); dele = set(); ins = {} + for x in edits['replace']: + i = x['i'] + if B[i][:-1] != x['old']: raise Reject(('replace old mismatch', i)) + B[i] = list(x['new']) + [B[i][-1]]; tag.add(i) + for x in edits['delete']: + i = x['i'] + if B[i][:-1] != x['old']: raise Reject(('delete old mismatch', i)) + dele.add(i) + for x in edits['insert']: ins.setdefault(x['before'], []).append(list(x['gate']) + [None]) + NB, nt, key = [], set(), [] + for i, e in enumerate(B): + for g in ins.get(i, []): nt.add(len(NB)); NB.append(g); key.append(None) + if i in dele: continue + if i in tag: nt.add(len(NB)) + NB.append(e); key.append(i) + # frames + paid + R = w['report']['R']; n = 2 * V + R + END = [FULL] * V + [hyper(p) for p in w['ports']] + [FULL] * R + for q, U in w['helper_final'].items(): END[int(q)] = basis(U) + cur = [(p,) for p in w['ports']] + [()] * (V + R) + for q, U in w['start_extra'].items(): cur[int(q)] = basis(U) + paid = Counter() + for e in w['A']: + for q in registers(e): + U = basis(e[-1]); d = len(U) - len(cur[q]) + if d: paid[d] += 1 + cur[q] = U + lev = {int(t): basis(U) for t, U in w.get('target_levels', {}).items()} + for q, U in zip(w['centers'], w['center_frames']): + U = basis(U); served = {lev.get(e[1] - V, ()) for e in w['cut'] if e[2] == q} + for T in sorted(served, key=lambda x: -len(x)): + if T != U: paid[len(U) - len(T)] += 1 + U = T + used = set() + for j, e in enumerate(NB): + rs = registers(e); k = key[j] + if k is not None and k in explicit: base = list(explicit[k]); used.add(k) + elif j in nt or e[-1] is None: base = [] + else: base = list(e[-1]) + F = basis(base + [x for q in rs for x in cur[q]]) + if k is not None and k in explicit and F != basis(explicit[k]): raise Reject(('explicit frame below join', k)) + for q in rs: + if V <= q < 2 * V and not contained(F, END[q]): raise Reject(('cap', j, q)) + d = len(F) - len(cur[q]) + if d: paid[d] += 1 + cur[q] = F + NB[j] = list(e[:-1]) + [list(F)] + if used != set(explicit): raise Reject(('unused explicit frame', sorted(set(explicit) - used))) + newearly = [] + for i, U in w['early_cleanup']: + rs = registers(w['cleanup'][i]); F = basis(list(U) + [x for q in rs for x in cur[q]]) + for q in rs: + if w['helper_final'].get(str(q)) is not None and not contained(F, END[q]): raise Reject(('tailend', i, q)) + d = len(F) - len(cur[q]) + if d: paid[d] += 1 + cur[q] = F + newearly.append([i, list(F)]) + for q in range(n): + if not contained(cur[q], END[q]): raise Reject(('end', q)) + d = len(END[q]) - len(cur[q]) + if d: paid[d] += 1 + # exactness of the B segment + a, b = symstate([e[:-1] for e in B0]), symstate([e[:-1] for e in NB]) + bad = sorted(q for q in set(a) | set(b) if a.get(q, {q: Fr(1)}) != b.get(q, {q: Fr(1)})) + if bad: raise Reject(('exactness rows', bad)) + w['B'] = NB; w['early_cleanup'] = newearly + w['report'] = dict(w['report']); w['report']['local_profile'] = {str(k): v for k, v in sorted(paid.items())} + return w + +def main(): + ap = argparse.ArgumentParser(); ap.add_argument('--input', required=True); ap.add_argument('--recipe', required=True) + ap.add_argument('--out'); ap.add_argument('--control'); ap.add_argument('--no-pin', action='store_true') + a = ap.parse_args() + w = json.loads(gzip.decompress(open(a.input, 'rb').read())); rc = json.load(open(a.recipe)) + if csha(w) != rc['input_content_sha256']: print('REJECT input pin'); sys.exit(2) + pin = rc['controls'][a.control].get('rejection_expected') if a.control else None + try: o = build(w, rc, a.control) + except Reject as r: + got = json.loads(json.dumps(r.args[0])); print('REJECT', json.dumps(got)) + if pin is not None: + print('CONTROL', 'PINNED' if got == pin else 'PIN MISMATCH %s' % json.dumps(pin)); sys.exit(0 if got == pin else 4) + sys.exit(2) + if pin is not None and not a.no_pin: print('CONTROL NOT REJECTED, pinned', json.dumps(pin)); sys.exit(4) + s = csha(o) + exp = rc['controls'][a.control].get('expected_sha') if a.control else rc['expected']['output_content_sha256'] + print('OK', s, o['report']['local_profile']) + if a.out: open(a.out, 'wb').write(gzip.compress(json.dumps(o, sort_keys=True, separators=(',', ':')).encode(), mtime=0)) + if not a.no_pin and exp and s != exp: print('REJECT output pin', exp); sys.exit(3) + +if __name__ == '__main__': main() diff --git a/research/gauge44-slots/construction/jx/reproduce_jx.py b/research/gauge44-slots/construction/jx/reproduce_jx.py new file mode 100644 index 0000000000..6829a1b25d --- /dev/null +++ b/research/gauge44-slots/construction/jx/reproduce_jx.py @@ -0,0 +1,99 @@ +#!/usr/bin/env python3 +"""Rebuild the X4 word (JointXF: joint read-set exchange on four further copy-pair instances plus explicit B frame +raises, including chafreaky's PR741 eight frames) and its native locals. + +Input: a fresh `construction/sw4/reproduce_sw4.py --recipe P6k4` output directory; its SW4 word (d232183f...) is pinned +there and by RECIPE-X4.json. Steps, each checked exactly: + 1. jx: build_jx.py (standard library only; JointXF) applies the recipe's explicit B edits (replace / delete / insert, + each old gate asserted), the PR741 frames and the explicit raises, repairs all other frames monotonically, checks + target frames inside u_t^perp, tails and ends, and the exactness of the whole B segment (rational replay), and + pins the output sha. + 2. jx-controls: every control in the recipe is rebuilt and must reproduce its pinned outcome exactly: a pinned + rejection site (exit 0 with CONTROL PINNED) or a pinned output sha. C1_741_only must reproduce PR741's word + e78047028c... (the construction/frames step's output); C0_identity reproduces the input. + 3. layer-end-controls: ../layers_p6n/layer_end_controls.py (per-end variant) on the X4 word; count pinned. + 4. native, ledgers, local-replay, wrappers, phases: PR635's native local programs; canonical word, local programs + and Clifford recipes pinned (LOCAL-PINS-jx-X4.json). +Apache-2.0. Driver by ColdWitness around JointXF's builder. +""" +import argparse, gzip, hashlib, json, os, subprocess, sys, time +from pathlib import Path + +HERE = Path(__file__).resolve().parent +P6 = HERE.parent / 'layers_p6n' + + +def read(p): + raw = Path(p).read_bytes() + return json.loads(gzip.decompress(raw) if str(p).endswith('.gz') else raw) + + +def main(): + assert __debug__, 'Assertions are required' + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--main', type=Path, required=True) + ap.add_argument('--pr635', type=Path, required=True) + ap.add_argument('--sw4-dir', type=Path, required=True, help='construction/sw4/reproduce_sw4.py output') + ap.add_argument('--recipe', default='X4', help='RECIPE-.json and LOCAL-PINS-jx-.json') + ap.add_argument('--out', type=Path, required=True) + ap.add_argument('--skip-phases', action='store_true') + a = ap.parse_args() + out = a.out.resolve(); assert not out.exists(); out.mkdir(parents=True) + up = a.pr635.resolve() / 'research/complex-571-cold14-st2' + src = a.main.resolve() / 'research/complex-k492-owner-repair/vendor/multicold' + base = src / 'vendor/pr558'; parent = base / 'vendor/pr552' + rfile = HERE / ('RECIPE-%s.json' % a.recipe); rec = read(rfile); pins = read(HERE / ('LOCAL-PINS-jx-%s.json' % a.recipe)) + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONUTF8='1', PYTHONINTMAXSTRDIGITS='0', + MULTICOLD_SOURCE=str(src), GAIN_PR564_SOURCE=str(src)) + for k in ('PYTHONOPTIMIZE', 'XPARAM', 'EXTRAH', 'PAIRING_RANKS', 'DIAG', 'HYBBUDGET', 'PR635_CODE'): env.pop(k, None) + steps = [] + + def run(label, script, *args, portable=True, ok=(0,)): + t = time.monotonic() + cmd = [sys.executable, '-B'] + ([str(src / 'code/run_portable.py')] if portable else []) + [str(script), *map(str, args)] + with (out / (label + '.log')).open('w') as f: + rc = subprocess.call(cmd, env=env, stdout=f, stderr=subprocess.STDOUT) + steps.append(dict(step=label, exit_code=rc, seconds=round(time.monotonic() - t, 3))) + (out / 'STEPS.json').write_text(json.dumps(steps, indent=2) + '\n') + assert rc in ok, (label, rc) + print('PASS', label, flush=True) + return (out / (label + '.log')).read_text() + + inp = a.sw4_dir.resolve() / 'sw4/FULL-WORD.json.gz' + assert hashlib.sha256(gzip.decompress(inp.read_bytes())).hexdigest() == rec['input_content_sha256'], 'input must be the pinned SW4 word' + (out / 'jx').mkdir(); word = out / 'jx/FULL-WORD.json.gz' + run('jx', HERE / 'build_jx.py', '--input', inp, '--recipe', rfile, '--out', word, portable=False) + assert hashlib.sha256(gzip.decompress(word.read_bytes())).hexdigest() == rec['expected']['output_content_sha256'] + assert len(rec['controls']) == pins['jx_controls'], len(rec['controls']) + results = {} + for name, c in sorted(rec['controls'].items()): + log = run('jx-control-' + name, HERE / 'build_jx.py', '--input', inp, '--recipe', rfile, '--control', name, portable=False) + if 'rejection_expected' in c: + assert 'CONTROL PINNED' in log, (name, log[-300:]); results[name] = dict(rejected=c['rejection_expected']) + else: + assert ('OK ' + c['expected_sha']) in log, (name, log[-300:]); results[name] = dict(sha=c['expected_sha']) + assert rec['controls']['C1_741_only']['expected_sha'] == rec['frames_741_source']['frames_only_output_sha'] + (out / 'JX-CONTROLS.json').write_text(json.dumps(dict(status='PASS_JX_PINNED_CONTROLS', controls=results), indent=1) + '\n') + routing = parent / 'complex-local/inputs/phase-baseline/CANONICAL-WORD.json.gz' + env['PR635_CODE'] = str(up / 'code') + run('layer-end-controls', P6 / 'layer_end_controls.py', word, routing, out / 'controls') + env.pop('PR635_CODE') + ctl = read(out / 'controls/COLD-END-CONTROLS.json') + assert ctl['status'] == 'PASS_COLD_END_RAW_WORD_CONTROLS' and len(ctl['rejected']) == pins['layer_controls'], len(ctl['rejected']) + local = out / 'local' + run('native', up / 'code/hpe_audit_and_transport.py', '--raw', word, '--routing', routing, '--out', local) + assert hashlib.sha256(gzip.decompress((local / 'CANONICAL-WORD.json.gz').read_bytes())).hexdigest() == pins['canonical_sha256'], 'canonical word' + run('ledgers', up / 'code/hpe_emit_local.py', local) + run('local-replay', up / 'code/hpe_audit_local.py', local) + run('wrappers', up / 'code/hpe_adapters_local.py', local / 'CANONICAL-WORD.json.gz', + local / 'RESIDUAL-ADAPTERS.json', local / 'WRAPPER-CHECKS.json') + checks = read(local / 'LOCAL-CHECKS.json') + for o, s in pins['program_sha256'].items(): assert checks[o]['sha256'] == s, ('local program', o) + if not a.skip_phases: + run('phases', base / 'code/phases_full.py', local, parent / 'complex-global/vendor531/vendor/clifford') + assert hashlib.sha256((local / 'CLIFFORD-RECIPES.json').read_bytes()).hexdigest() == pins['clifford_recipes_sha256'], 'clifford recipes' + print('DONE', local, flush=True) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-slots/construction/layers/build_pivot_swap.py b/research/gauge44-slots/construction/layers/build_pivot_swap.py new file mode 100644 index 0000000000..b225601c01 --- /dev/null +++ b/research/gauge44-slots/construction/layers/build_pivot_swap.py @@ -0,0 +1,160 @@ +"""Cost-neutral pivot-role swaps inside existing entrance-kernel families. Apache-2.0. Prepared with Claude Code +assistance. The pivot/donor role exchange follows PR266's "pivot role is moved" idea (bit side), applied here to the +complex supplier's multicut kernel families (PR568 build_multicut_kernels.py shape). + +A kernel family on the input word is an entering helper p (start_extra E) together with the gates that read p at frame +E before any other touch of p: d += c_d * p @E (d a helper or, in B, a target). They cancel p's complete dirty +response: col(p) + sum_d c_d * col_{g_d}(d) = 0, where col_{g}(d) is d's suffix response from gate g on. + +Swap to the new pivot x (a helper donor of the family with exactly one family gate g_x = x's FIRST touch, and no other +touch of x up to the family's last gate): + g_x : x += c_x p -> p += (1/c_x) x + g_d : d += c_d p -> d += (c_d/c_x) x (d != x, same position and frame E) + start_extra: p -> x (same E); cleanup regenerated by the inherited inverse rule. +Exactness (PROOF-NOTE-PIVOT.md): x holds only its initial dirt at every rewritten gate, and p holds only its initial dirt +until g_x, so x's new response is col(x) + col(p)/c_x + sum_d (c_d/c_x) col_{g_d}(d) = (c_x col(x) + col(p) + +sum_d c_d col_{g_d}(d)) / c_x = 0, because col(x) = col_{g_x}(x). This script checks it by exact rational replay anyway. +Cost: the frame chains of p and x are exchanged (p now climbs [] -> E at g_x where x did; x starts at E where p did), so +gk_word.profile and the width multiset are unchanged; both are asserted. + +Recipe: {input_content_sha256, output_content_sha256, swaps: [{pivot, new_pivot, entrance, gates: [{part, index, +before, after}]}]}. Every expected `after` gate is recomputed from the rule above and must equal the recipe. + +Negative controls (--controls): mutated recipes/words that must be rejected at pinned reasons: + * nonzero response: another family gate's rescaled coefficient has the wrong sign; + * wrong pivot coefficient: g_x's new coefficient doubled; + * wrong entrance: the recipe's entrance is not p's start_extra; + * non-family gate: a recipe gate whose `before` is not the word's gate; + * new pivot touched in the window: x replaced by a family donor that is not a fresh helper (a target donor, or the + first other helper donor when the family has no target donor). +""" +from pathlib import Path +from collections import Counter +from fractions import Fraction as Q +import argparse, copy, gzip, hashlib, json, sys +assert __debug__, 'Assertions required' +ap = argparse.ArgumentParser() +for k in ('--input', '--recipe', '--gk-dir', '--out'): ap.add_argument(k, type=Path, required=True) +a = ap.parse_args(); assert not a.out.exists() +sys.path.insert(0, str(a.gk_dir)); import gk_word as G, gk_common as C +G.V = C.V = 112; G.DATA = C.DATA = 7168 +V = 112 +raw = json.loads(gzip.decompress(a.input.read_bytes())); recipe = json.loads(a.recipe.read_text()) +enc = lambda x: json.dumps(x, sort_keys=True, separators=(',', ':')).encode(); sha = lambda x: hashlib.sha256(x).hexdigest() +regs = lambda e: [e[1]] + ([e[2]] if e[0] == 'add' else []) +inv_rule = lambda w: [G.inverse(e, G.FULL) for e in reversed(w['A'] + w['B']) if not V <= e[1] < 2 * V] +dy = lambda q: q != 0 and q.denominator & (q.denominator - 1) == 0 + + +def response(w, h): + rows = {} + def get(r): return rows.setdefault(r, {r: Q(1)}) + for e in w['A'] + w['cut'] + w['B']: + if e[0] == 'scale': + q = Q(e[2], e[3]); rows[e[1]] = {j: q * x for j, x in get(e[1]).items()} + else: + t, s = e[1], e[2]; q = Q(e[3], e[4]); src = get(s); tgt = get(t) + for j, x in list(src.items()): + z = tgt.get(j, Q(0)) + q * x + if z: tgt[j] = z + else: tgt.pop(j, None) + return {r: rows[r][h] for r in range(V, 2 * V) if r in rows and rows[r].get(h)} + + +def build(w0, rec): + w = copy.deepcopy(w0); n = 2 * V + w['report']['R'] + assert w['cleanup'] == inv_rule(w), 'input cleanup is not the inherited inverse rule' + P0 = G.profile(w); W0 = Counter(C.widths_of(w)) + AB = [('A', i) for i in range(len(w['A']))] + [('B', i) for i in range(len(w['B']))] + pos = {k: j for j, k in enumerate(AB)} + seen = set(); receipts = []; rules = [] + for s in rec['swaps']: + p, x, E = s['pivot'], s['new_pivot'], s['entrance'] + assert 2 * V <= p < n and w['start_extra'].get(str(p)) == E, 'pivot is not an entering helper at the entrance' + assert 2 * V <= x < n and x not in w['centers'], 'new pivot must be a helper' + assert str(x) not in w['start_extra'], 'new pivot already entering' + assert not {p, x} & seen, 'registers shared between swaps'; seen |= {p, x} + gs = s['gates']; ks = [pos[(g['part'], g['index'])] for g in gs] + assert ks == sorted(ks) and len(set(ks)) == len(ks) + for g in gs: + e = w[g['part']][g['index']] + assert e == g['before'], 'recipe gate is not the word gate' + assert e[0] == 'add' and e[2] == p and e[1] != p and list(e[-1]) == list(E), 'not a family gate (d += c p @E)' + touch = lambda r: [j for j, (part, i) in enumerate(AB) if r in regs(w[part][i])] + tp = touch(p); assert tp[:len(ks)] == ks, 'family gates must be all touches of the pivot up to its first other touch' + gx = [k for k, g in zip(ks, gs) if g['before'][1] == x]; assert len(gx) == 1, 'new pivot must have exactly one family gate' + tx = touch(x); assert tx[0] == gx[0], 'new pivot touched before its family gate' + assert len(tx) == 1 or tx[1] > ks[-1], 'new pivot touched inside the family window' + cx = Q(*[g['before'][3:5] for g in gs if g['before'][1] == x][0]) + for g in gs: + d, f = g['before'][1], g['after'] + assert f[0] == 'add' and list(f[-1]) == list(E) and (f[1:3] == [p, x] if d == x else f[1:3] == [d, x]), 'after-gate shape' + assert dy(Q(f[3], f[4])), 'non-dyadic swapped coefficient' + w[g['part']][g['index']] = f + q = 1 / cx if d == x else Q(g['before'][3], g['before'][4]) / cx + rules.append((f, ['add', p, x, q.numerator, q.denominator, list(E)] if d == x else ['add', d, x, q.numerator, q.denominator, list(E)])) + w['start_extra'][str(x)] = w['start_extra'].pop(str(p)) + receipts.append(dict(pivot=p, new_pivot=x, entrance=E, family_gates=len(gs))) + w['cleanup'] = inv_rule(w) + for s in rec['swaps']: + assert not response(w, s['new_pivot']), 'new pivot dirty response not zero' + assert all(f == e for f, e in rules), 'recipe after-gate is not the swap rule' + P1 = G.profile(w) + assert P1 == P0, 'paid profile not identical (swap is not cost-neutral)' + assert Counter(C.widths_of(w)) == W0, 'width multiset changed' + w['report']['local_profile'] = {str(k): v for k, v in sorted(P1.items())} + w['report']['local_rank_mass'] = sum(k * v for k, v in P1.items()) + return w, receipts + + +assert sha(enc(raw)) == recipe['input_content_sha256'], 'input content' +out, receipts = build(raw, recipe) +o = enc(out); assert sha(o) == recipe['output_content_sha256'], sha(o) + +# ---- negative controls ------------------------------------------------------------------------------------------- +WHY = dict(nonzero='new pivot dirty response not zero', coef='new pivot dirty response not zero', + entrance='paid profile not identical', nonfamily='recipe gate is not the word gate', + window='new pivot') +controls = [] + + +def reject(name, mut, why): + r = copy.deepcopy(recipe); w = copy.deepcopy(raw) + mut(r, w) + try: + build(w, r) + except AssertionError as ex: + msg = str(ex) + assert why in msg, ('control rejected for the wrong reason', name, msg) + controls.append(dict(control=name, reason=msg)); return + raise AssertionError('control accepted: ' + name) + + +for si, s in enumerate(recipe['swaps']): + x = s['new_pivot']; tag = '%d->%d' % (s['pivot'], x) + def m_other(r, w, si=si): + g = [g for g in r['swaps'][si]['gates'] if g['before'][1] != r['swaps'][si]['new_pivot']][0] + g['after'] = list(g['after']); g['after'][3] = -g['after'][3] + def m_coef(r, w, si=si): + g = [g for g in r['swaps'][si]['gates'] if g['before'][1] == r['swaps'][si]['new_pivot']][0] + g['after'] = list(g['after']); g['after'][3] *= 2 + def m_nonfamily(r, w, si=si): + g = r['swaps'][si]['gates'][0]; g['before'] = list(g['before']); g['before'][3] = -g['before'][3] + def m_window(r, w, si=si): + S = r['swaps'][si]; S['new_pivot'] = [g['before'][1] for g in S['gates'] if g['before'][1] != S['new_pivot']][0] + def m_entrance(r, w, si=si): + S = r['swaps'][si]; S['entrance'] = [1] + reject('swap %s: another family gate keeps a wrong (unrescaled-sign) coefficient: new pivot response nonzero' % tag, m_other, WHY['nonzero']) + reject('swap %s: wrong pivot coefficient (1/c doubled) on the new pivot gate' % tag, m_coef, WHY['coef']) + reject('swap %s: non-family gate in the recipe' % tag, m_nonfamily, WHY['nonfamily']) + reject('swap %s: new pivot replaced by another family donor (not a fresh cold helper)' % tag, m_window, WHY['window']) + reject('swap %s: wrong entrance frame for the moved entrance' % tag, m_entrance, 'pivot is not an entering helper at the entrance') +controls_receipt = list(controls) + +a.out.mkdir(parents=True); (a.out / 'FULL-WORD.json.gz').write_bytes(gzip.compress(o, mtime=0)) +rc = dict(status='PASS_COST_NEUTRAL_PIVOT_SWAPS', input_content_sha256=recipe['input_content_sha256'], + output_content_sha256=recipe['output_content_sha256'], swaps=receipts, local_profile=out['report']['local_profile'], + negative_controls_rejected=controls_receipt, + scope='Exact family rewrite, exact zero dirty response of every new pivot, identical paid profile and widths, ' + 'regenerated inverse-rule cleanup. Native all-column audit, HPE/cold steps and global checks remain separate.') +(a.out / 'PIVOT-SWAP.json').write_text(json.dumps(rc, indent=2, sort_keys=True) + '\n', newline='\n'); print(json.dumps(rc, indent=2)) diff --git a/research/gauge44-slots/construction/layers/layer_end_controls.py b/research/gauge44-slots/construction/layers/layer_end_controls.py new file mode 100644 index 0000000000..317da36d95 --- /dev/null +++ b/research/gauge44-slots/construction/layers/layer_end_controls.py @@ -0,0 +1,201 @@ +"""layer_end_controls.py LAYERED-WORD.json.gz ROUTING OUTDIR (env PR635_CODE): adapted PR635 cold_end_controls.py (LayerReviewer): raw-word negative controls for the cold low-frame ends and the +refactored cleanup accepted by hpe_audit_and_transport.py. Every mutation MUST be rejected (AssertionError); the +unmutated word MUST pass. Apache-2.0. DreamingOfClouds with Claude Opus 5.5 (Anthropic), via Claude Code.""" +import copy, gzip, json, shutil, sys, tempfile +from pathlib import Path +import os +sys.path.insert(0, os.environ['PR635_CODE']) # PR635's unchanged hpe_audit_and_transport.py +import hpe_audit_and_transport as atc + +src, routing, outdir = Path(sys.argv[1]), Path(sys.argv[2]), Path(sys.argv[3]) +word = json.load(gzip.open(src)) +v, R = word['report']['v'], word['report']['R']; n = 2*v + R +regs = lambda e: [e[1]] + ([e[2]] if e[0] == 'add' else []) +meta = word['refactored_cleanup'] +cold = [int(h) for h in meta['cold_low_frame_ended_helpers']] +npre = meta['premix_gates']; nlow = meta['lower_frame_gates'] +early = word['early_cleanup']; eidx = {i for i, _ in early} +rest = [i for i in range(len(word['cleanup'])) if i not in eidx] + + +def trial(w): + """None if the transport audit accepts w, else the AssertionError message.""" + tmp = Path(tempfile.mkdtemp()) + p = tmp/'w.json.gz'; p.write_bytes(gzip.compress(json.dumps(w).encode(), mtime=0)) + try: + atc.run(p, routing, tmp/'out') + return None + except AssertionError as e: + return repr(e.args[0]) if e.args else 'AssertionError' + finally: + shutil.rmtree(tmp, ignore_errors=True) + + +# Pinned rejection reasons: each mutant must fail at this assertion of hpe_audit_and_transport.py (message substring). +ENDPOINT, COLDPRE, CONE = "'arbitrary-dirt endpoint'", 'touches a cold hyperplane-ended helper', 'hpe cone pre-check (row / column)' +WHY = dict(premix_to_precondition=COLDPRE, premix_dropped=COLDPRE, e_premix_dropped=ENDPOINT, lower_dropped=ENDPOINT, + remainder_dropped=ENDPOINT, coefficient=ENDPOINT, into_full='cleanup on non-FULL end', dyadic=ENDPOINT, frame_below="'nonmonotone'", + nonmonotone="'nonmonotone'", other_frame=CONE, cone=CONE, extra_end=COLDPRE, marker='cleanup is not the literal reversed inverse', + target='refactored cleanup touches a target', profile_pin='paid local profile differs from the reported local_profile', + entering_precondition='zero-frame precondition/compensation touches an entering helper') +assert trial(word) is None, 'unmutated cold-end word must pass' +results = [] + + +def reject(name, mut, why): + """the mutation must be rejected, and for the pinned reason (a substring of the audit's assertion message).""" + w = copy.deepcopy(word); mut(w) + msg = trial(w) + assert msg is not None, 'cold-end mutation accepted: ' + name + assert why in msg, 'cold-end mutation %r rejected for the wrong reason: %s' % (name, msg[:300]) + results.append(name); print('rejected', name, '|', why, flush=True) + + +h0 = cold[0] +i0, U0 = next((i, f) for i, f in early if h0 in regs(word['cleanup'][i])) +r0 = rest[len(rest)//2] + + +def premix_to_precondition(w): # premix before the wrappers; compensation then reads the cold ends + w['precondition'] = w['precondition'] + w['A'][:npre]; w['A'] = w['A'][npre:] + + +def lower_gate_into_full(w): # a lower-frame gate on a cold-ended helper executed in the FULL remainder instead + w['early_cleanup'] = [x for x in w['early_cleanup'] if x[0] != i0] + + +def drop_cleanup_gate(w, i): # remove the gate AND its early_cleanup entry: a structurally valid word missing one gate + w['cleanup'].pop(i) + w['early_cleanup'] = [[j - (j > i), f] for j, f in w['early_cleanup'] if j != i] + + +def other_frame(w): # a different frame of the same dimension as the cold end (another cold helper's) + f = next(w['helper_final'][str(h)] for h in cold if w['helper_final'][str(h)] != w['helper_final'][str(h0)]) + w['helper_final'][str(h0)] = f + + +def extra_cold_end(w): # declare a premixed partner of h0 cold-ended at h0's frame: fails the row/column cone + p = next(r for e in w['A'][:npre] for r in regs(e) if r != h0 and h0 in regs(e)) + w['helper_final'][str(p)] = w['helper_final'][str(h0)] + + +reject('premix placed in the zero-frame precondition (before the cold wrappers)', premix_to_precondition, WHY['premix_to_precondition']) +reject('one premix gate dropped (the compensation then reads a cold-ended helper)', lambda w: w['A'].pop(npre - 1), WHY['premix_dropped']) +reject('one lower-frame cleanup gate dropped (gate and its early_cleanup entry)', lambda w: drop_cleanup_gate(w, i0), WHY['lower_dropped']) +reject('one FULL-remainder gate dropped', lambda w: drop_cleanup_gate(w, r0), WHY['remainder_dropped']) +reject('lower-frame gate coefficient changed', lambda w: w['cleanup'][i0].__setitem__(3, w['cleanup'][i0][3] * 2), WHY['coefficient']) +reject('lower-frame gate moved into the FULL remainder (touches a cold-ended helper at FULL)', lower_gate_into_full, WHY['into_full']) +reject('lower-frame gate frame below its registers\' frames', lambda w: next(x for x in w['early_cleanup'] if x[0] == i0).__setitem__(1, U0[:-1]), WHY['frame_below']) +reject('cold end at another dim-4 frame', other_frame, WHY['other_frame']) +# PROFILE-PIN control: without its helper_final entry the cold-ended helper is a valid FULL-ended helper; the word is +# rejected because its reported paid profile (which counts the low end) no longer matches the frame chains. +reject('profile pin: cold end dropped (valid FULL end, but the reported profile counts the low end)', lambda w: w['helper_final'].pop(str(h0)), WHY['profile_pin']) +reject('extra cold end on a premixed partner (the compensation reads it before its wrapper)', extra_cold_end, WHY['extra_end']) +reject('refactored-cleanup marker removed (literal-inverse rule applies)', lambda w: w.pop('refactored_cleanup'), WHY['marker']) +reject('remainder gate retargeted to a target register', lambda w: w['cleanup'][r0].__setitem__(1, v + 3), WHY['target']) +reject('non-dyadic remainder coefficient', lambda w: w['cleanup'][r0].__setitem__(4 if w['cleanup'][r0][0] == 'add' else 3, 3 * w['cleanup'][r0][4 if w['cleanup'][r0][0] == 'add' else 3]), WHY['dyadic']) +reject('profile not updated (paid climbs misreported)', lambda w: w['report']['local_profile'].__setitem__('5', w['report']['local_profile']['5'] - 1), WHY['profile_pin']) +ent = [int(h) for h in sys.argv[4].split(',')] if len(sys.argv) > 4 else [int(h) for h in meta.get('entering_low_frame_ended_helpers', [])] +for e0 in ent: # ENTERING LOW-FRAME ENDS (ColdSupply extension; every entering end; absent for words without them) + j0 = next((i for i, e in enumerate(word['A'][:npre]) if e0 in regs(e)), None) + print('entering end', e0, 'premix gate', j0, flush=True) + k0, Ue = next((i, f) for i, f in early if e0 in regs(word['cleanup'][i])) + def to_pre(w, j0=j0): w['precondition'].append(w['A'][j0]); w['A'].pop(j0) + def other_hp(w, e0=e0, Ue=Ue): w['helper_final'][str(e0)] = next(f for h, f in w['helper_final'].items() if len(f) == len(Ue) and sorted(f) != sorted(Ue)) + if j0 is not None: reject('entering end %d: premix gate dropped' % e0, lambda w, j0=j0: w['A'].pop(j0), WHY['e_premix_dropped']) + if j0 is not None: reject('entering end %d: premix gate at frame [] instead of its entrance E' % e0, lambda w, j0=j0: w['A'][j0].__setitem__(-1, []), WHY['nonmonotone']) + if j0 is not None: reject('entering end %d: premix gate moved into the zero-frame precondition' % e0, to_pre, WHY['entering_precondition']) + reject('entering end %d: lower-frame gate dropped (gate and its early_cleanup entry)' % e0, lambda w, k0=k0: drop_cleanup_gate(w, k0), WHY['lower_dropped']) + reject('entering end %d: profile pin: end dropped (valid FULL end, but the reported profile counts the low end)' % e0, lambda w, e0=e0: w['helper_final'].pop(str(e0)), WHY['profile_pin']) + reject('entering end %d: end at another hyperplane' % e0, other_hp, WHY['cone']) +# Pinned rejection reasons of the COLD-BEYOND mutants (substrings of hpe_audit_and_transport.py assertion messages). +MYWHY = dict(tw_precondition=COLDPRE, tw_dropped=COLDPRE, tw_coefficient=COLDPRE, tw_other_block=COLDPRE, + tw_entering='zero-frame compensation reads an entering helper', + ab_dropped=ENDPOINT, ab_coefficient=ENDPOINT, ab_early=ENDPOINT, ab_live=ENDPOINT, ab_centre=ENDPOINT, + ab_lower="'nonmonotone'", ab_higher="'nonmonotone'", + sh_dropped=ENDPOINT, sh_coefficient=ENDPOINT, rel_dropped=ENDPOINT, rel_coefficient=ENDPOINT, rel_live=ENDPOINT, + h8_other=CONE, h8_lower=ENDPOINT) +# COLD-BEYOND primitives (present only when the word carries them): frame-[] target writes in the premix (explicit +# post-wrapper compensation of an ended helper's dirt) and forward absorptions into dead registers. +nw = meta.get('premix_target_writes', 0) +if nw: + wi = [i for i in range(npre) if v <= word['A'][i][1] < 2*v] + assert len(wi) == nw + + def writes_to_precondition(w): # the target writes run before the cold wrappers (inside the zero-frame precondition) + g = [w['A'][i] for i in wi]; w['precondition'] = w['precondition'] + g + w['A'] = [e for i, e in enumerate(w['A']) if i not in set(wi)] + reject('premix target writes placed in the zero-frame precondition (before the cold wrappers)', writes_to_precondition, MYWHY['tw_precondition']) + reject('one premix target write dropped (compensation must read an ended helper)', lambda w: w['A'].pop(wi[0]), MYWHY['tw_dropped']) + reject('premix target write coefficient changed', lambda w: w['A'][wi[0]].__setitem__(3, w['A'][wi[0]][3] * 2), MYWHY['tw_coefficient']) + # (reading another register that carries the SAME weight of the ended helper's dirt is a valid variant, so the mutant reads + # the same factory slot of the next block, which carries none of it) + entering_regs = sorted(int(r) for r in word.get('start_extra', {})) + reject('premix target write reads an entering helper', lambda w: w['A'][wi[0]].__setitem__(2, entering_regs[0]), MYWHY['tw_entering']) + reject('premix target write reads a cold helper of another block', lambda w: w['A'][wi[0]].__setitem__(2, 2*v + (w['A'][wi[0]][2] - 2*v + 16) % 224), MYWHY['tw_other_block']) +ab = meta.get('forward_absorption_A_indices', []) +if any(len(word['helper_final'][str(h)]) == 8 for h in cold): + # with dim-8 cold ends, the centre-retargeted absorption first leaks an ended helper's dirt into the cut's targets + MYWHY['ab_centre'] = COLDPRE +if ab: + # the ColdBeyond U_b absorption (q += -1/2 g); ColdThird's extra absorptions have their own controls below + a0 = next(a for a in ab if word['A'][a][3] * 2 == -word['A'][a][4]); g0 = word['A'][a0] + + def absorption_moved_early(w): # absorbed before the absorbed register's last kernel write + e = w['A'].pop(a0); j = max(i for i in range(npre, a0) if g0[2] == w['A'][i][1] and w['A'][i][-1] == g0[-1]) + w['A'].insert(j, e) + + def absorption_into_live(w): # q += a g moved right after g's previous frame-mate gate, while q is still live + e = w['A'].pop(a0); j = max(i for i in range(npre, a0) if g0[1] in regs(w['A'][i])) + w['A'].insert(j, e) + reject('forward absorption dropped', lambda w: w['A'].pop(a0), MYWHY['ab_dropped']) + reject('forward absorption into a centre (a live register read by the cut)', lambda w: w['A'][a0].__setitem__(1, next(c for c in word['centers'] if c not in g0[1:3] and c not in cold)), MYWHY['ab_centre']) + reject('forward absorption coefficient changed', lambda w: w['A'][a0].__setitem__(3, w['A'][a0][3] * 2), MYWHY['ab_coefficient']) + reject('forward absorption placed before the absorbed register\'s last kernel write', absorption_moved_early, MYWHY['ab_early']) + reject('forward absorption placed while the absorbing register is still live', absorption_into_live, MYWHY['ab_live']) + reject('forward absorption at a lower frame than its registers', lambda w: w['A'][a0].__setitem__(-1, w['A'][a0][-1][:-1]), MYWHY['ab_lower']) + reject('forward absorption at a higher frame (FULL) than its registers', lambda w: w['A'][a0].__setitem__(-1, [256, 128, 64, 32, 16, 8, 4, 2, 1]), MYWHY['ab_higher']) +# COLD-THIRD primitives (present only when the word carries them): several absorptions after one input gate, dirt-release +# absorptions (a dead port takes a live helper's value so that a hyperplane unit's column has no dirt on it), and cold ends at +# a dim-8 frame with lifted partners. +hyper = [h for h in cold if len(word['helper_final'][str(h)]) == 8] +if hyper and ab: + sh = next(a for a, b in zip(ab, ab[1:]) if b == a + 1) # two absorptions sharing one input anchor + rel = next(a for a in ab if a - 1 not in ab and a + 1 not in ab and word['A'][a][2] in hyper and word['A'][a][3] * 2 != -word['A'][a][4]) + hh = hyper[0]; ih = next(i for i, f in early if hh in regs(word['cleanup'][i])) + reject('second absorption sharing an input anchor dropped', lambda w: w['A'].pop(sh + 1), MYWHY['sh_dropped']) + reject('shared-anchor absorption coefficient changed', lambda w: w['A'][sh + 1].__setitem__(3, w['A'][sh + 1][3] * 2), MYWHY['sh_coefficient']) + reject('dirt-release absorption dropped', lambda w: w['A'].pop(rel), MYWHY['rel_dropped']) + reject('dirt-release absorption coefficient changed', lambda w: w['A'][rel].__setitem__(3, w['A'][rel][3] * 2), MYWHY['rel_coefficient']) + jr = max(i for i in range(npre, rel) if word['A'][i][0] == 'add' and word['A'][i][2] == word['A'][rel][1]) + + def release_while_read(w): # the release runs before a kernel gate that still READS the port (port live) + e = w['A'].pop(rel); w['A'].insert(jr, e) + reject('dirt-release absorption moved before a kernel gate that still reads the port', release_while_read, MYWHY['rel_live']) +if hyper: + # dim-8 cold-end controls once PER DISTINCT dim-8 terminal frame (each family of dim-8 cold ends keeps its own controls) + fams = [] + for h in hyper: + if sorted(word['helper_final'][str(h)]) not in [sorted(word['helper_final'][str(x)]) for x in fams]: fams.append(h) + for hh in fams: + ih = next(i for i, f in early if hh in regs(word['cleanup'][i])) + Uh = word['helper_final'][str(hh)] + reject('dim-8 cold end %d (frame %s) at another dim-8 frame' % (hh, Uh), lambda w, hh=hh: w['helper_final'].__setitem__(str(hh), next(f for h, f in w['helper_final'].items() if len(f) == 8 and sorted(f) != sorted(w['helper_final'][str(hh)]))), MYWHY['h8_other']) + reject('dim-8 cold end %d (frame %s): one lower-frame gate dropped (gate and its early_cleanup entry)' % (hh, Uh), lambda w, ih=ih: drop_cleanup_gate(w, ih), MYWHY['h8_lower']) + reject('dim-8 cold end %d (frame %s): profile pin (end dropped)' % (hh, Uh), lambda w, hh=hh: w['helper_final'].pop(str(hh)), WHY['profile_pin']) +# FACTORED ACCUMULATOR (CarrierBypass; present only when the word carries one): a lower-frame tail gate a += x*g on two +# non-ended registers whose accumulator a is afterwards read by a dim-8 cold end's tail gate (h += y*a at its U). +ended_all = {int(h) for h in word['helper_final']} +tailg = [(i, word['cleanup'][i]) for i, _ in early] +accs = [] # EVERY factored accumulator gate (one per accumulator register a), each controlled on its own +for k, (i, e) in enumerate(tailg): + if e[0] == 'add' and e[1] not in ended_all and e[2] not in ended_all and len(next(f for j, f in early if j == i)) < 8: + if e[1] not in [word['cleanup'][j][1] for j in accs] and any(t[0] == 'add' and t[2] == e[1] and t[1] in hyper for _, t in tailg[k + 1:]): + accs.append(i) +for acc in accs: + a = word['cleanup'][acc][1] + reject('factored accumulator %d (gate %d) zeroed' % (a, acc), lambda w, acc=acc: w['cleanup'][acc].__setitem__(3, 0), ENDPOINT) + reject('factored accumulator %d (gate %d) coefficient doubled' % (a, acc), lambda w, acc=acc: w['cleanup'][acc].__setitem__(3, w['cleanup'][acc][3] * 2), ENDPOINT) +outdir.mkdir(parents=True, exist_ok=True) +(outdir/'COLD-END-CONTROLS.json').write_text(json.dumps(dict(status='PASS_COLD_END_RAW_WORD_CONTROLS', word=str(src), rejected=results), indent=1) + '\n') +print('PASS', len(results), 'cold-end raw-word mutations rejected') diff --git a/research/gauge44-slots/construction/layers/reproduce_layers.py b/research/gauge44-slots/construction/layers/reproduce_layers.py new file mode 100644 index 0000000000..ed517ba1dd --- /dev/null +++ b/research/gauge44-slots/construction/layers/reproduce_layers.py @@ -0,0 +1,105 @@ +#!/usr/bin/env python3 +"""Rebuild the layered gauge44 word (pivot swaps + entering ends + factored dim-8 cold ends) and its native locals. + +Input: a fresh `construction/reproduce.py --until word` output directory (its regroup/ and cold44/ words are pinned +by reproduce.py itself). Steps, each checked exactly: + 1. pivot-swap: construction/layers/build_pivot_swap.py on regroup/FULL-WORD (six cost-neutral pivot-role swaps, + exact zero-response replay, unchanged profile and width multiset, 30 negative controls); + 2. hpe: the inherited jp8 hyperplane-end changes (HYPERPLANE-END-S6.json) applied with PR635's build_hpe.apply; + 3. cold44-exact: #645's build_gauge_cold44.py on the swapped HPE word; its 44 rank-four cold ends, premix and tail + must equal the unswapped cold44 construction's (the swaps touch no factory block); + 4. layers: PR635's unchanged build_cold_end.apply(HPE, COLD-LAYERS-RECIPE) - the cold44 recipe plus 8 entering ends + (560/561/572/573 at U24, 597/599/537/549 at U30) and 10 factored dim-8 cold ends; output sha pinned; + 5. layer-end-controls: raw-word negative controls on the layered word (PR635 cold_end_controls adapted by + LayerReviewer: lower->FULL pinned at 'cleanup on non-FULL end', entering ends from the recipe); 59 rejected; + 6. native, ledgers, local-replay, wrappers, phases: PR635's native local programs (as in reproduce.py). +""" +import argparse, gzip, hashlib, importlib.util, json, os, subprocess, sys, time +from pathlib import Path + +HERE = Path(__file__).resolve().parent +LAYERED_SHA = '0be48b1d8a6105059addf3f0d5e420c27ae3398b3a1186b6b11e9c4aa9e3f3d4' +LAYER_CONTROLS = 59 + + +def read(p): + raw = Path(p).read_bytes() + return json.loads(gzip.decompress(raw) if str(p).endswith('.gz') else raw) + + +def enc(x): return json.dumps(x, sort_keys=True, separators=(',', ':')).encode() + + +def load(name, path): + s = importlib.util.spec_from_file_location(name, path); m = importlib.util.module_from_spec(s); s.loader.exec_module(m); return m + + +def main(): + assert __debug__, 'Assertions are required' + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--main', type=Path, required=True) + ap.add_argument('--pr635', type=Path, required=True) + ap.add_argument('--word-dir', type=Path, required=True, help='construction/reproduce.py --until word output') + ap.add_argument('--out', type=Path, required=True) + ap.add_argument('--skip-phases', action='store_true') + a = ap.parse_args() + out = a.out.resolve(); assert not out.exists(); out.mkdir(parents=True) + up = a.pr635.resolve() / 'research/complex-571-cold14-st2' + src = a.main.resolve() / 'research/complex-k492-owner-repair/vendor/multicold' + base = src / 'vendor/pr558'; parent = base / 'vendor/pr552'; gk = parent / 'complex-local/static44/gk' + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONUTF8='1', PYTHONINTMAXSTRDIGITS='0', + MULTICOLD_SOURCE=str(src), GAIN_PR564_SOURCE=str(src)) + env.pop('PYTHONOPTIMIZE', None) + steps = [] + + def run(label, script, *args): + t = time.monotonic() + with (out / (label + '.log')).open('w') as f: + rc = subprocess.call([sys.executable, '-B', str(src / 'code/run_portable.py'), str(script), *map(str, args)], + env=env, stdout=f, stderr=subprocess.STDOUT) + steps.append(dict(step=label, exit_code=rc, seconds=round(time.monotonic() - t, 3))) + (out / 'STEPS.json').write_text(json.dumps(steps, indent=2) + '\n') + assert rc == 0, label + print('PASS', label, flush=True) + + wd = a.word_dir.resolve() + run('pivot-swap', HERE / 'build_pivot_swap.py', '--input', wd / 'regroup/FULL-WORD.json.gz', + '--recipe', HERE / 'PIVOT-SWAP-S6.json', '--gk-dir', gk, '--out', out / 'swap') + hpe = load('upstream_hpe', up / 'code/build_hpe.py') + w = hpe.apply(read(out / 'swap/FULL-WORD.json.gz'), read(HERE / 'HYPERPLANE-END-S6.json')['changes']) + (out / 'hpe').mkdir(); (out / 'hpe/FULL-WORD.json.gz').write_bytes(gzip.compress(enc(w), mtime=0)) + run('cold44-exact', HERE.parent / 'build_gauge_cold44.py', '--input', out / 'hpe/FULL-WORD.json.gz', + '--out', out / 'cold44', '--hamming', wd / 'hamming', '--upstream-package', up) + new, old = read(out / 'cold44/RECIPE.json.gz'), read(wd / 'cold44/RECIPE.json.gz') + # The swaps touch no factory block: the 44 ends, their premix and their low tails are identical; only the FULL + # inverse (rebuilt from the whole word) differs. + for key in ('premix', 'early_cleanup', 'cold_ends'): + assert new[key] == old[key], ('swapped cold44 differs from the pinned cold44 construction', key) + tail = len(new['early_cleanup']); assert new['cleanup'][:tail] == old['cleanup'][:tail], 'low tails' + bce = load('upstream_cold', up / 'code/build_cold_end.py') + layered = bce.apply(w, read(HERE / 'COLD-LAYERS-RECIPE.json.gz')) + raw = enc(layered); assert hashlib.sha256(raw).hexdigest() == LAYERED_SHA, 'layered word' + rep = layered['report'] + assert rep['local_profile'] == {'1': 2542, '2': 414, '3': 434, '4': 154, '5': 56, '8': 8}, rep['local_profile'] + assert rep['width_inventory'] == {'4': 52, '5': 48, '7': 42, '8': 116, '9': 234}, rep['width_inventory'] + (out / 'layers').mkdir(); word = out / 'layers/FULL-WORD.json.gz'; word.write_bytes(gzip.compress(raw, mtime=0)) + print('PASS layered scalar word', word, flush=True) + routing = parent / 'complex-local/inputs/phase-baseline/CANONICAL-WORD.json.gz' + env['PR635_CODE'] = str(up / 'code') + run('layer-end-controls', HERE / 'layer_end_controls.py', word, routing, out / 'controls') + ctl = json.loads((out / 'controls/COLD-END-CONTROLS.json').read_text()) + assert ctl['status'] == 'PASS_COLD_END_RAW_WORD_CONTROLS' and len(ctl['rejected']) == LAYER_CONTROLS, len(ctl['rejected']) + local = out / 'local' + run('native', up / 'code/hpe_audit_and_transport.py', '--raw', word, + '--routing', routing, '--out', local) + run('ledgers', up / 'code/hpe_emit_local.py', local) + run('local-replay', up / 'code/hpe_audit_local.py', local) + run('wrappers', up / 'code/hpe_adapters_local.py', local / 'CANONICAL-WORD.json.gz', + local / 'RESIDUAL-ADAPTERS.json', local / 'WRAPPER-CHECKS.json') + if not a.skip_phases: + run('phases', base / 'code/phases_full.py', local, parent / 'complex-global/vendor531/vendor/clifford') + print('DONE', local, flush=True) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-slots/construction/layers_np/COLD-LAYERS-RECIPE-NP.json.gz b/research/gauge44-slots/construction/layers_np/COLD-LAYERS-RECIPE-NP.json.gz new file mode 100644 index 0000000000..f9155e3079 Binary files /dev/null and b/research/gauge44-slots/construction/layers_np/COLD-LAYERS-RECIPE-NP.json.gz differ diff --git a/research/gauge44-slots/construction/layers_np/HPE-RECIPE-NP.json b/research/gauge44-slots/construction/layers_np/HPE-RECIPE-NP.json new file mode 100644 index 0000000000..2605d199ed --- /dev/null +++ b/research/gauge44-slots/construction/layers_np/HPE-RECIPE-NP.json @@ -0,0 +1 @@ +{"changes": [{"helper": 448, "cleanup_index": 674, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 449, "cleanup_index": 673, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 450, "cleanup_index": 672, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 451, "cleanup_index": 671, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 452, "cleanup_index": 670, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 453, "cleanup_index": 669, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 454, "cleanup_index": 668, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 455, "cleanup_index": 667, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 456, "cleanup_index": 666, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 457, "cleanup_index": 665, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 458, "cleanup_index": 664, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 459, "cleanup_index": 663, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 460, "cleanup_index": 658, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 461, "cleanup_index": 657, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 470, "cleanup_index": 648, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 471, "cleanup_index": 647, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 472, "cleanup_index": 642, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 473, "cleanup_index": 641, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 482, "cleanup_index": 632, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 483, "cleanup_index": 631, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 496, "cleanup_index": 609, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 497, "cleanup_index": 608, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 520, "cleanup_index": 573, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 521, "cleanup_index": 572, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 544, "cleanup_index": 539, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 545, "cleanup_index": 538, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 568, "cleanup_index": 507, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 569, "cleanup_index": 506, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 580, "cleanup_index": 491, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 581, "cleanup_index": 490, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 590, "cleanup_index": 481, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 591, "cleanup_index": 480, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 592, "cleanup_index": 475, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 593, "cleanup_index": 474, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 602, "cleanup_index": 465, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 603, "cleanup_index": 464, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 604, "cleanup_index": 459, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 605, "cleanup_index": 458, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 606, "cleanup_index": 457, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 607, "cleanup_index": 456, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 609, "cleanup_index": 454, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 611, "cleanup_index": 452, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 612, "cleanup_index": 451, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 613, "cleanup_index": 450, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 614, "cleanup_index": 449, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}, {"helper": 615, "cleanup_index": 448, "frame": [256, 128, 64, 32, 16, 8, 6, 1]}]} \ No newline at end of file diff --git a/research/gauge44-slots/construction/layers_np/PIVOT-SWAP-NP.json b/research/gauge44-slots/construction/layers_np/PIVOT-SWAP-NP.json new file mode 100644 index 0000000000..4e0d846426 --- /dev/null +++ b/research/gauge44-slots/construction/layers_np/PIVOT-SWAP-NP.json @@ -0,0 +1,588 @@ +{ + "input_content_sha256": "864ff4a19987bcb27016367801a98ca50dae69eafe01d3614f8bae69f5713d6d", + "output_content_sha256": "beb3579fce83cb3b70f4e85761cbb3b8c91d711d4b9cf473074269b8447fc4e4", + "swaps": [ + { + "pivot": 494, + "new_pivot": 566, + "entrance": [ + 24 + ], + "gates": [ + { + "part": "B", + "index": 379, + "before": [ + "add", + 566, + 494, + -1, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 494, + 566, + -1, + 1, + [ + 24 + ] + ] + }, + { + "part": "B", + "index": 380, + "before": [ + "add", + 640, + 494, + 2, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 640, + 566, + -2, + 1, + [ + 24 + ] + ] + }, + { + "part": "B", + "index": 381, + "before": [ + "add", + 642, + 494, + -2, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 642, + 566, + 2, + 1, + [ + 24 + ] + ] + }, + { + "part": "B", + "index": 382, + "before": [ + "add", + 688, + 494, + 1, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 688, + 566, + -1, + 1, + [ + 24 + ] + ] + }, + { + "part": "B", + "index": 383, + "before": [ + "add", + 690, + 494, + -1, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 690, + 566, + 1, + 1, + [ + 24 + ] + ] + } + ] + }, + { + "pivot": 495, + "new_pivot": 567, + "entrance": [ + 24 + ], + "gates": [ + { + "part": "B", + "index": 516, + "before": [ + "add", + 123, + 495, + 1, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 123, + 567, + -1, + 1, + [ + 24 + ] + ] + }, + { + "part": "B", + "index": 584, + "before": [ + "add", + 187, + 495, + -1, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 187, + 567, + 1, + 1, + [ + 24 + ] + ] + }, + { + "part": "B", + "index": 686, + "before": [ + "add", + 567, + 495, + -1, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 495, + 567, + -1, + 1, + [ + 24 + ] + ] + } + ] + }, + { + "pivot": 506, + "new_pivot": 578, + "entrance": [ + 24 + ], + "gates": [ + { + "part": "B", + "index": 176, + "before": [ + "add", + 652, + 506, + 2, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 652, + 578, + -2, + 1, + [ + 24 + ] + ] + }, + { + "part": "B", + "index": 178, + "before": [ + "add", + 652, + 506, + -2, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 652, + 578, + 2, + 1, + [ + 24 + ] + ] + }, + { + "part": "B", + "index": 278, + "before": [ + "add", + 700, + 506, + -2, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 700, + 578, + 2, + 1, + [ + 24 + ] + ] + }, + { + "part": "B", + "index": 280, + "before": [ + "add", + 700, + 506, + 2, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 700, + 578, + -2, + 1, + [ + 24 + ] + ] + }, + { + "part": "B", + "index": 702, + "before": [ + "add", + 578, + 506, + -1, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 506, + 578, + -1, + 1, + [ + 24 + ] + ] + } + ] + }, + { + "pivot": 507, + "new_pivot": 579, + "entrance": [ + 24 + ], + "gates": [ + { + "part": "B", + "index": 93, + "before": [ + "add", + 211, + 507, + -1, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 211, + 579, + 1, + 1, + [ + 24 + ] + ] + }, + { + "part": "B", + "index": 541, + "before": [ + "add", + 147, + 507, + 1, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 147, + 579, + -1, + 1, + [ + 24 + ] + ] + }, + { + "part": "B", + "index": 704, + "before": [ + "add", + 579, + 507, + -1, + 1, + [ + 24 + ] + ], + "after": [ + "add", + 507, + 579, + -1, + 1, + [ + 24 + ] + ] + } + ] + }, + { + "pivot": 519, + "new_pivot": 543, + "entrance": [ + 30 + ], + "gates": [ + { + "part": "B", + "index": 507, + "before": [ + "add", + 115, + 519, + -1, + 1, + [ + 30 + ] + ], + "after": [ + "add", + 115, + 543, + 1, + 1, + [ + 30 + ] + ] + }, + { + "part": "B", + "index": 575, + "before": [ + "add", + 179, + 519, + 1, + 1, + [ + 30 + ] + ], + "after": [ + "add", + 179, + 543, + -1, + 1, + [ + 30 + ] + ] + }, + { + "part": "B", + "index": 722, + "before": [ + "add", + 543, + 519, + -1, + 1, + [ + 30 + ] + ], + "after": [ + "add", + 519, + 543, + -1, + 1, + [ + 30 + ] + ] + } + ] + }, + { + "pivot": 531, + "new_pivot": 555, + "entrance": [ + 30 + ], + "gates": [ + { + "part": "B", + "index": 550, + "before": [ + "add", + 155, + 531, + -1, + 1, + [ + 30 + ] + ], + "after": [ + "add", + 155, + 555, + 1, + 1, + [ + 30 + ] + ] + }, + { + "part": "B", + "index": 617, + "before": [ + "add", + 219, + 531, + 1, + 1, + [ + 30 + ] + ], + "after": [ + "add", + 219, + 555, + -1, + 1, + [ + 30 + ] + ] + }, + { + "part": "B", + "index": 740, + "before": [ + "add", + 555, + 531, + -1, + 1, + [ + 30 + ] + ], + "after": [ + "add", + 531, + 555, + -1, + 1, + [ + 30 + ] + ] + } + ] + } + ] +} diff --git a/research/gauge44-slots/construction/layers_np/reproduce_np.py b/research/gauge44-slots/construction/layers_np/reproduce_np.py new file mode 100644 index 0000000000..79cb6fa912 --- /dev/null +++ b/research/gauge44-slots/construction/layers_np/reproduce_np.py @@ -0,0 +1,149 @@ +#!/usr/bin/env python3 +"""Rebuild the layered no-triangle word (NP) and its native locals. + +Input: a fresh `construction/notri/reproduce_notri.py --word-only` output directory. That driver pins the +no-triangle word (3e99ba77...) and writes its regroup/ and cold44/ words. Steps, each checked exactly: + 1. pivot-swap: ../layers/build_pivot_swap.py (PR641's constructor, signed, unchanged) on the no-triangle regroup word, with PIVOT-SWAP-NP.json: + the six pivot-role swaps of research/gauge44-layered, mapped through the 504-helper map (494->566, 495->567, + 506->578, 507->579, 519->543, 531->555). Exact zero-response replay, unchanged profile and width multiset, + 30 negative controls. + 2. hpe: PR635's build_hpe.candidates, greedy with disjoint registers. Must equal HPE-RECIPE-NP.json (46 changes, + the same helpers as the unswapped word); applied with build_hpe.apply. + 3. cold44-exact: notri/cold44x.py on the swapped HPE word, pairing ranks pinned [4]*14. Its 56 cold ends, premix + and low tails must equal the unswapped no-triangle construction's. + 4. layers: PR635's unchanged build_cold_end.apply(HPE, COLD-LAYERS-RECIPE-NP): cold44 plus the entering ends + 566/567/578/579 at U24 (s4) and 608/610/543/555 at U30 (x30), BlockCombine's b6 and the q4 dim-8 cold ends. + The output word sha and its profile and widths are pinned. + 5. layer-end-controls: ../layers/layer_end_controls.py (LayerReviewer's signed adaptation of PR635's + cold_end_controls.py, unchanged) on the layered word; exactly 59 rejections at pinned reasons. +../layers/reproduce_layers.py is research/gauge44-layered's driver for the 492-helper word, shipped unchanged as +signed; it is not used for this word. + 6. native, ledgers, local-replay, wrappers, phases: PR635's native local programs, with pins. +Apache-2.0. Driver by ColdWitness after G44Stack's NP chain (NP/chain.py, seq.py). +""" +import argparse, gzip, hashlib, importlib.util, json, os, subprocess, sys, time +from pathlib import Path + +HERE = Path(__file__).resolve().parent +NOTRI = HERE.parent / 'notri' +LAYERS = HERE.parent / 'layers' # the signed research/gauge44-layered files, unchanged +REGROUP_SHA = '864ff4a1' # prefix; full value checked against PIVOT-SWAP-NP.json's input_content_sha256 +SWAP_SHA = 'beb3579f' +NP_SHA = 'a9de804f194eeb39f52a4c6e54c14d93e881bec4b632694249733ed410b58113' +LAYER_CONTROLS = 59 +CANONICAL_SHA = '1ae812a336178760071efe347e876e0102b5b71f799d957db15c5f3004c19d7a' +PROGRAM_SHA = {'forward': 'a3882a428bdafab888072211d4ed8d34572746873d77c6ef900495853cc3fa11', + 'backward': 'f67a3dc20c27fb39295b8030e951e9779109ef1537f6f8de9d08510b9ad6792a'} +CLIFFORD_SHA = '890b60fc4ae183c773c51405e0f4ef6a945dc2aae55ba2480f134602e8296cda' + + +def read(p): + raw = Path(p).read_bytes() + return json.loads(gzip.decompress(raw) if str(p).endswith('.gz') else raw) + + +def enc(x): return json.dumps(x, sort_keys=True, separators=(',', ':')).encode() + + +def dump(p, v): + p.parent.mkdir(parents=True, exist_ok=True); p.write_bytes(gzip.compress(enc(v), mtime=0)) + + +def load(name, path): + s = importlib.util.spec_from_file_location(name, path); m = importlib.util.module_from_spec(s); s.loader.exec_module(m); return m + + +def main(): + assert __debug__, 'Assertions are required' + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--main', type=Path, required=True) + ap.add_argument('--pr635', type=Path, required=True) + ap.add_argument('--notri-dir', type=Path, required=True, help='construction/notri/reproduce_notri.py --word-only output') + ap.add_argument('--hamming', type=Path, required=True, help='hamming/ of the construction/reproduce.py --until word output') + ap.add_argument('--out', type=Path, required=True) + ap.add_argument('--skip-phases', action='store_true') + a = ap.parse_args() + out = a.out.resolve(); assert not out.exists(); out.mkdir(parents=True) + up = a.pr635.resolve() / 'research/complex-571-cold14-st2' + src = a.main.resolve() / 'research/complex-k492-owner-repair/vendor/multicold' + base = src / 'vendor/pr558'; parent = base / 'vendor/pr552'; gk = parent / 'complex-local/static44/gk' + nd = a.notri_dir.resolve() + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONUTF8='1', PYTHONINTMAXSTRDIGITS='0', + MULTICOLD_SOURCE=str(src), GAIN_PR564_SOURCE=str(src)) + for k in ('PYTHONOPTIMIZE', 'XPARAM', 'EXTRAH', 'PAIRING_RANKS', 'DIAG', 'HYBBUDGET'): env.pop(k, None) + steps = [] + + def run(label, script, *args): + t = time.monotonic() + with (out / (label + '.log')).open('w') as f: + rc = subprocess.call([sys.executable, '-B', str(src / 'code/run_portable.py'), str(script), *map(str, args)], + env=env, stdout=f, stderr=subprocess.STDOUT) + steps.append(dict(step=label, exit_code=rc, seconds=round(time.monotonic() - t, 3))) + (out / 'STEPS.json').write_text(json.dumps(steps, indent=2) + '\n') + assert rc == 0, label + print('PASS', label, flush=True) + + # the input must be the pinned no-triangle construction + nr = load('notri_driver', NOTRI / 'reproduce_notri.py') + assert hashlib.sha256(enc(read(nd / 'cold44/FULL-WORD.json.gz'))).hexdigest() == nr.NOTRI_SHA, 'notri word' + # 1. pivot swaps on the regroup word + rg = hashlib.sha256(enc(read(nd / 'regroup/FULL-WORD.json.gz'))).hexdigest() + assert rg.startswith(REGROUP_SHA) and rg == read(HERE / 'PIVOT-SWAP-NP.json')['input_content_sha256'], ('regroup word', rg) + run('pivot-swap', LAYERS / 'build_pivot_swap.py', '--input', nd / 'regroup/FULL-WORD.json.gz', + '--recipe', HERE / 'PIVOT-SWAP-NP.json', '--gk-dir', gk, '--out', out / 'swap') + w = read(out / 'swap/FULL-WORD.json.gz') + sw = hashlib.sha256(enc(w)).hexdigest(); assert sw.startswith(SWAP_SHA) and sw == read(HERE / 'PIVOT-SWAP-NP.json')['output_content_sha256'], ('swap word', sw) + # 2. HPE (greedy, must equal the pinned recipe) + h = load('upstream_hpe', up / 'code/build_hpe.py') + used, ch = set(), [] + for c in h.candidates(w): + rs = set(h.regs(w['cleanup'][c['cleanup_index']])) + if rs & used: continue + used |= rs; ch.append(c) + assert ch == read(HERE / 'HPE-RECIPE-NP.json')['changes'], 'HPE recipe' + w = h.apply(w, ch); dump(out / 'hpe/FULL-WORD.json.gz', w) + # 3. cold44 on the swapped word: same ends, premix and tails as the unswapped no-triangle construction + hm = set(read(nd / 'raw/HELPER-MAP.json')['map'].values()) + env['EXTRAH'] = json.dumps(sorted(set(range(224, 224 + w['report']['R'])) - hm)) + env['PAIRING_RANKS'] = json.dumps([4] * 14) + run('cold44-exact', NOTRI / 'cold44x.py', '--input', out / 'hpe/FULL-WORD.json.gz', '--out', out / 'cold44', + '--hamming', a.hamming.resolve(), '--upstream-package', up) + for k in ('EXTRAH', 'PAIRING_RANKS'): env.pop(k) + new, old = read(out / 'cold44/RECIPE.json.gz'), read(nd / 'cold44/RECIPE.json.gz') + for key in ('premix', 'early_cleanup', 'cold_ends'): + assert new[key] == old[key], ('swapped cold44 differs from the pinned no-triangle construction', key) + tail = len(new['early_cleanup']); assert new['cleanup'][:tail] == old['cleanup'][:tail], 'low tails' + # 4. layers + bce = load('upstream_cold', up / 'code/build_cold_end.py') + layered = bce.apply(w, read(HERE / 'COLD-LAYERS-RECIPE-NP.json.gz')) + raw = enc(layered); assert hashlib.sha256(raw).hexdigest() == NP_SHA, ('layered word', hashlib.sha256(raw).hexdigest()) + rep = layered['report'] + assert rep['local_profile'] == {'1': 2534, '2': 346, '3': 458, '4': 178, '5': 56, '8': 8}, rep['local_profile'] + assert rep['width_inventory'] == {'4': 64, '5': 48, '7': 54, '8': 116, '9': 222}, rep['width_inventory'] + (out / 'layers').mkdir(); word = out / 'layers/FULL-WORD.json.gz'; word.write_bytes(gzip.compress(raw, mtime=0)) + print('PASS layered no-triangle word', NP_SHA, flush=True) + # 5. layer-end controls + routing = parent / 'complex-local/inputs/phase-baseline/CANONICAL-WORD.json.gz' + env['PR635_CODE'] = str(up / 'code') + run('layer-end-controls', LAYERS / 'layer_end_controls.py', word, routing, out / 'controls') + env.pop('PR635_CODE') + ctl = json.loads((out / 'controls/COLD-END-CONTROLS.json').read_text()) + assert ctl['status'] == 'PASS_COLD_END_RAW_WORD_CONTROLS' and len(ctl['rejected']) == LAYER_CONTROLS, len(ctl['rejected']) + # 6. native locals + local = out / 'local' + run('native', up / 'code/hpe_audit_and_transport.py', '--raw', word, '--routing', routing, '--out', local) + assert hashlib.sha256(gzip.decompress((local / 'CANONICAL-WORD.json.gz').read_bytes())).hexdigest() == CANONICAL_SHA, 'canonical word' + run('ledgers', up / 'code/hpe_emit_local.py', local) + run('local-replay', up / 'code/hpe_audit_local.py', local) + run('wrappers', up / 'code/hpe_adapters_local.py', local / 'CANONICAL-WORD.json.gz', + local / 'RESIDUAL-ADAPTERS.json', local / 'WRAPPER-CHECKS.json') + checks = read(local / 'LOCAL-CHECKS.json') + for o, s in PROGRAM_SHA.items(): assert checks[o]['sha256'] == s, ('local program', o) + if not a.skip_phases: + run('phases', base / 'code/phases_full.py', local, parent / 'complex-global/vendor531/vendor/clifford') + assert hashlib.sha256((local / 'CLIFFORD-RECIPES.json').read_bytes()).hexdigest() == CLIFFORD_SHA, 'clifford recipes' + print('DONE', local, flush=True) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-slots/construction/layers_p6n/COLD-LAYERS-RECIPE-P6N.json.gz b/research/gauge44-slots/construction/layers_p6n/COLD-LAYERS-RECIPE-P6N.json.gz new file mode 100644 index 0000000000..a408c95816 Binary files /dev/null and b/research/gauge44-slots/construction/layers_p6n/COLD-LAYERS-RECIPE-P6N.json.gz differ diff --git a/research/gauge44-slots/construction/layers_p6n/P6N-SPEC.json b/research/gauge44-slots/construction/layers_p6n/P6N-SPEC.json new file mode 100644 index 0000000000..43c3ec265c --- /dev/null +++ b/research/gauge44-slots/construction/layers_p6n/P6N-SPEC.json @@ -0,0 +1 @@ +{"ends":[{"U":[256,128,66,34,16,8,6,1],"labels":[512,513]},{"U":[256,128,72,40,24,4,2,1],"labels":[311,510]},{"U":[256,128,66,34,18,10,6,1],"labels":[522,327]}]} diff --git a/research/gauge44-slots/construction/layers_p6n/layer_end_controls.py b/research/gauge44-slots/construction/layers_p6n/layer_end_controls.py new file mode 100644 index 0000000000..dd321fe255 --- /dev/null +++ b/research/gauge44-slots/construction/layers_p6n/layer_end_controls.py @@ -0,0 +1,199 @@ +"""layer_end_controls.py LAYERED-WORD.json.gz ROUTING OUTDIR (env PR635_CODE): adapted PR635 cold_end_controls.py (LayerReviewer): raw-word negative controls for the cold low-frame ends and the +refactored cleanup accepted by hpe_audit_and_transport.py. Every mutation MUST be rejected (AssertionError); the +unmutated word MUST pass. Apache-2.0. DreamingOfClouds with Claude Opus 5.5 (Anthropic), via Claude Code.""" +import copy, gzip, json, shutil, sys, tempfile +from pathlib import Path +import os +sys.path.insert(0, os.environ['PR635_CODE']) # PR635's unchanged hpe_audit_and_transport.py +import hpe_audit_and_transport as atc + +src, routing, outdir = Path(sys.argv[1]), Path(sys.argv[2]), Path(sys.argv[3]) +word = json.load(gzip.open(src)) +v, R = word['report']['v'], word['report']['R']; n = 2*v + R +regs = lambda e: [e[1]] + ([e[2]] if e[0] == 'add' else []) +meta = word['refactored_cleanup'] +cold = [int(h) for h in meta['cold_low_frame_ended_helpers']] +npre = meta['premix_gates']; nlow = meta['lower_frame_gates'] +early = word['early_cleanup']; eidx = {i for i, _ in early} +rest = [i for i in range(len(word['cleanup'])) if i not in eidx] + + +def trial(w): + """None if the transport audit accepts w, else the AssertionError message.""" + tmp = Path(tempfile.mkdtemp()) + p = tmp/'w.json.gz'; p.write_bytes(gzip.compress(json.dumps(w).encode(), mtime=0)) + try: + atc.run(p, routing, tmp/'out') + return None + except AssertionError as e: + return repr(e.args[0]) if e.args else 'AssertionError' + finally: + shutil.rmtree(tmp, ignore_errors=True) + + +# Pinned rejection reasons: each mutant must fail at this assertion of hpe_audit_and_transport.py (message substring). +ENDPOINT, COLDPRE, CONE = "'arbitrary-dirt endpoint'", 'touches a cold hyperplane-ended helper', 'hpe cone pre-check (row / column)' +WHY = dict(premix_to_precondition=COLDPRE, premix_dropped=COLDPRE, e_premix_dropped=ENDPOINT, lower_dropped=ENDPOINT, + remainder_dropped=ENDPOINT, coefficient=ENDPOINT, into_full='cleanup on non-FULL end', dyadic=ENDPOINT, frame_below="'nonmonotone'", + nonmonotone="'nonmonotone'", other_frame=CONE, cone=CONE, extra_end=COLDPRE, marker='cleanup is not the literal reversed inverse', + target='refactored cleanup touches a target', profile_pin='paid local profile differs from the reported local_profile', + entering_precondition='zero-frame precondition/compensation touches an entering helper') +assert trial(word) is None, 'unmutated cold-end word must pass' +results = [] + + +def reject(name, mut, why): + """the mutation must be rejected, and for the pinned reason (a substring of the audit's assertion message).""" + w = copy.deepcopy(word); mut(w) + msg = trial(w) + assert msg is not None, 'cold-end mutation accepted: ' + name + assert why in msg, 'cold-end mutation %r rejected for the wrong reason: %s' % (name, msg[:300]) + results.append(name); print('rejected', name, '|', why, flush=True) + + +h0 = cold[0] +i0, U0 = next((i, f) for i, f in early if h0 in regs(word['cleanup'][i])) +r0 = rest[len(rest)//2] + + +def premix_to_precondition(w): # premix before the wrappers; compensation then reads the cold ends + w['precondition'] = w['precondition'] + w['A'][:npre]; w['A'] = w['A'][npre:] + + +def lower_gate_into_full(w): # a lower-frame gate on a cold-ended helper executed in the FULL remainder instead + w['early_cleanup'] = [x for x in w['early_cleanup'] if x[0] != i0] + + +def drop_cleanup_gate(w, i): # remove the gate AND its early_cleanup entry: a structurally valid word missing one gate + w['cleanup'].pop(i) + w['early_cleanup'] = [[j - (j > i), f] for j, f in w['early_cleanup'] if j != i] + + +def other_frame(w): # a different frame of the same dimension as the cold end (another cold helper's) + f = next(w['helper_final'][str(h)] for h in cold if w['helper_final'][str(h)] != w['helper_final'][str(h0)]) + w['helper_final'][str(h0)] = f + + +def extra_cold_end(w): # declare a premixed partner of h0 cold-ended at h0's frame: fails the row/column cone + p = next(r for e in w['A'][:npre] for r in regs(e) if r != h0 and h0 in regs(e)) + w['helper_final'][str(p)] = w['helper_final'][str(h0)] + + +reject('premix placed in the zero-frame precondition (before the cold wrappers)', premix_to_precondition, WHY['premix_to_precondition']) +reject('one premix gate dropped (the compensation then reads a cold-ended helper)', lambda w: w['A'].pop(npre - 1), WHY['premix_dropped']) +reject('one lower-frame cleanup gate dropped (gate and its early_cleanup entry)', lambda w: drop_cleanup_gate(w, i0), WHY['lower_dropped']) +reject('one FULL-remainder gate dropped', lambda w: drop_cleanup_gate(w, r0), WHY['remainder_dropped']) +reject('lower-frame gate coefficient changed', lambda w: w['cleanup'][i0].__setitem__(3, w['cleanup'][i0][3] * 2), WHY['coefficient']) +reject('lower-frame gate moved into the FULL remainder (touches a cold-ended helper at FULL)', lower_gate_into_full, WHY['into_full']) +reject('lower-frame gate frame below its registers\' frames', lambda w: next(x for x in w['early_cleanup'] if x[0] == i0).__setitem__(1, U0[:-1]), WHY['frame_below']) +reject('cold end at another dim-4 frame', other_frame, WHY['other_frame']) +# PROFILE-PIN control: without its helper_final entry the cold-ended helper is a valid FULL-ended helper; the word is +# rejected because its reported paid profile (which counts the low end) no longer matches the frame chains. +reject('profile pin: cold end dropped (valid FULL end, but the reported profile counts the low end)', lambda w: w['helper_final'].pop(str(h0)), WHY['profile_pin']) +reject('extra cold end on a premixed partner (the compensation reads it before its wrapper)', extra_cold_end, WHY['extra_end']) +reject('refactored-cleanup marker removed (literal-inverse rule applies)', lambda w: w.pop('refactored_cleanup'), WHY['marker']) +reject('remainder gate retargeted to a target register', lambda w: w['cleanup'][r0].__setitem__(1, v + 3), WHY['target']) +reject('non-dyadic remainder coefficient', lambda w: w['cleanup'][r0].__setitem__(4 if w['cleanup'][r0][0] == 'add' else 3, 3 * w['cleanup'][r0][4 if w['cleanup'][r0][0] == 'add' else 3]), WHY['dyadic']) +reject('profile not updated (paid climbs misreported)', lambda w: w['report']['local_profile'].__setitem__('5', w['report']['local_profile']['5'] - 1), WHY['profile_pin']) +ent = [int(h) for h in sys.argv[4].split(',')] if len(sys.argv) > 4 else [int(h) for h in meta.get('entering_low_frame_ended_helpers', [])] +for e0 in ent: # ENTERING LOW-FRAME ENDS (ColdSupply extension; every entering end; absent for words without them) + j0 = next((i for i, e in enumerate(word['A'][:npre]) if e0 in regs(e)), None) + print('entering end', e0, 'premix gate', j0, flush=True) + k0, Ue = next((i, f) for i, f in early if e0 in regs(word['cleanup'][i])) + def to_pre(w, j0=j0): w['precondition'].append(w['A'][j0]); w['A'].pop(j0) + def other_hp(w, e0=e0, Ue=Ue): w['helper_final'][str(e0)] = next(f for h, f in w['helper_final'].items() if len(f) == len(Ue) and sorted(f) != sorted(Ue)) + if j0 is not None: reject('entering end %d: premix gate dropped' % e0, lambda w, j0=j0: w['A'].pop(j0), WHY['e_premix_dropped']) + if j0 is not None: reject('entering end %d: premix gate at frame [] instead of its entrance E' % e0, lambda w, j0=j0: w['A'][j0].__setitem__(-1, []), WHY['nonmonotone']) + if j0 is not None: reject('entering end %d: premix gate moved into the zero-frame precondition' % e0, to_pre, WHY['entering_precondition']) + reject('entering end %d: lower-frame gate dropped (gate and its early_cleanup entry)' % e0, lambda w, k0=k0: drop_cleanup_gate(w, k0), WHY['lower_dropped']) + reject('entering end %d: profile pin: end dropped (valid FULL end, but the reported profile counts the low end)' % e0, lambda w, e0=e0: w['helper_final'].pop(str(e0)), WHY['profile_pin']) + reject('entering end %d: end at another hyperplane' % e0, other_hp, WHY['cone']) +# Pinned rejection reasons of the COLD-BEYOND mutants (substrings of hpe_audit_and_transport.py assertion messages). +MYWHY = dict(tw_precondition=COLDPRE, tw_dropped=COLDPRE, tw_coefficient=COLDPRE, tw_other_block=COLDPRE, + tw_entering='zero-frame compensation reads an entering helper', + ab_dropped=ENDPOINT, ab_coefficient=ENDPOINT, ab_early=ENDPOINT, ab_live=ENDPOINT, ab_centre=ENDPOINT, + ab_lower="'nonmonotone'", ab_higher="'nonmonotone'", + sh_dropped=ENDPOINT, sh_coefficient=ENDPOINT, rel_dropped=ENDPOINT, rel_coefficient=ENDPOINT, rel_live=ENDPOINT, + h8_other=CONE, h8_lower=ENDPOINT) +# COLD-BEYOND primitives (present only when the word carries them): frame-[] target writes in the premix (explicit +# post-wrapper compensation of an ended helper's dirt) and forward absorptions into dead registers. +nw = meta.get('premix_target_writes', 0) +if nw: + wi = [i for i in range(npre) if v <= word['A'][i][1] < 2*v] + assert len(wi) == nw + + def writes_to_precondition(w): # the target writes run before the cold wrappers (inside the zero-frame precondition) + g = [w['A'][i] for i in wi]; w['precondition'] = w['precondition'] + g + w['A'] = [e for i, e in enumerate(w['A']) if i not in set(wi)] + reject('premix target writes placed in the zero-frame precondition (before the cold wrappers)', writes_to_precondition, MYWHY['tw_precondition']) + reject('one premix target write dropped (compensation must read an ended helper)', lambda w: w['A'].pop(wi[0]), MYWHY['tw_dropped']) + reject('premix target write coefficient changed', lambda w: w['A'][wi[0]].__setitem__(3, w['A'][wi[0]][3] * 2), MYWHY['tw_coefficient']) + # (reading another register that carries the SAME weight of the ended helper's dirt is a valid variant, so the mutant reads + # the same factory slot of the next block, which carries none of it) + entering_regs = sorted(int(r) for r in word.get('start_extra', {})) + reject('premix target write reads an entering helper', lambda w: w['A'][wi[0]].__setitem__(2, entering_regs[0]), MYWHY['tw_entering']) + reject('premix target write reads a cold helper of another block', lambda w: w['A'][wi[0]].__setitem__(2, 2*v + (w['A'][wi[0]][2] - 2*v + 16) % 224), MYWHY['tw_other_block']) +ab = meta.get('forward_absorption_A_indices', []) +if any(len(word['helper_final'][str(h)]) == 8 for h in cold): + # with dim-8 cold ends, the centre-retargeted absorption first leaks an ended helper's dirt into the cut's targets + MYWHY['ab_centre'] = COLDPRE +if ab: + # the ColdBeyond U_b absorption (q += -1/2 g); ColdThird's extra absorptions have their own controls below + a0 = next(a for a in ab if word['A'][a][3] * 2 == -word['A'][a][4]); g0 = word['A'][a0] + + def absorption_moved_early(w): # absorbed before the absorbed register's last kernel write + e = w['A'].pop(a0); j = max(i for i in range(npre, a0) if g0[2] == w['A'][i][1] and w['A'][i][-1] == g0[-1]) + w['A'].insert(j, e) + + def absorption_into_live(w): # q += a g moved right after g's previous frame-mate gate, while q is still live + e = w['A'].pop(a0); j = max(i for i in range(npre, a0) if g0[1] in regs(w['A'][i])) + w['A'].insert(j, e) + reject('forward absorption dropped', lambda w: w['A'].pop(a0), MYWHY['ab_dropped']) + reject('forward absorption into a centre (a live register read by the cut)', lambda w: w['A'][a0].__setitem__(1, next(c for c in word['centers'] if c not in g0[1:3] and c not in cold)), MYWHY['ab_centre']) + reject('forward absorption coefficient changed', lambda w: w['A'][a0].__setitem__(3, w['A'][a0][3] * 2), MYWHY['ab_coefficient']) + reject('forward absorption placed before the absorbed register\'s last kernel write', absorption_moved_early, MYWHY['ab_early']) + reject('forward absorption placed while the absorbing register is still live', absorption_into_live, MYWHY['ab_live']) + reject('forward absorption at a lower frame than its registers', lambda w: w['A'][a0].__setitem__(-1, w['A'][a0][-1][:-1]), MYWHY['ab_lower']) + reject('forward absorption at a higher frame (FULL) than its registers', lambda w: w['A'][a0].__setitem__(-1, [256, 128, 64, 32, 16, 8, 4, 2, 1]), MYWHY['ab_higher']) +# COLD-THIRD primitives (present only when the word carries them): several absorptions after one input gate, dirt-release +# absorptions (a dead port takes a live helper's value so that a hyperplane unit's column has no dirt on it), and cold ends at +# a dim-8 frame with lifted partners. +hyper = [h for h in cold if len(word['helper_final'][str(h)]) == 8] +if hyper and ab: + sh = next(a for a, b in zip(ab, ab[1:]) if b == a + 1) # two absorptions sharing one input anchor + rel = next(a for a in ab if a - 1 not in ab and a + 1 not in ab and word['A'][a][2] in hyper and word['A'][a][3] * 2 != -word['A'][a][4]) + hh = hyper[0]; ih = next(i for i, f in early if hh in regs(word['cleanup'][i])) + reject('second absorption sharing an input anchor dropped', lambda w: w['A'].pop(sh + 1), MYWHY['sh_dropped']) + reject('shared-anchor absorption coefficient changed', lambda w: w['A'][sh + 1].__setitem__(3, w['A'][sh + 1][3] * 2), MYWHY['sh_coefficient']) + reject('dirt-release absorption dropped', lambda w: w['A'].pop(rel), MYWHY['rel_dropped']) + reject('dirt-release absorption coefficient changed', lambda w: w['A'][rel].__setitem__(3, w['A'][rel][3] * 2), MYWHY['rel_coefficient']) + jr = max(i for i in range(npre, rel) if word['A'][i][0] == 'add' and word['A'][i][2] == word['A'][rel][1]) + + def release_while_read(w): # the release runs before a kernel gate that still READS the port (port live) + e = w['A'].pop(rel); w['A'].insert(jr, e) + reject('dirt-release absorption moved before a kernel gate that still reads the port', release_while_read, MYWHY['rel_live']) +if hyper: + # dim-8 cold-end controls for EVERY dim-8 cold end of the word (read from the word's helper_final and the recipe meta's + # cold_low_frame_ended_helpers), not one representative per terminal frame + for hh in hyper: + ih = next(i for i, f in early if hh in regs(word['cleanup'][i])) + Uh = word['helper_final'][str(hh)] + reject('dim-8 cold end %d (frame %s) at another dim-8 frame' % (hh, Uh), lambda w, hh=hh: w['helper_final'].__setitem__(str(hh), next(f for h, f in w['helper_final'].items() if len(f) == 8 and sorted(f) != sorted(w['helper_final'][str(hh)]))), MYWHY['h8_other']) + reject('dim-8 cold end %d (frame %s): one lower-frame gate dropped (gate and its early_cleanup entry)' % (hh, Uh), lambda w, ih=ih: drop_cleanup_gate(w, ih), MYWHY['h8_lower']) + reject('dim-8 cold end %d (frame %s): profile pin (end dropped)' % (hh, Uh), lambda w, hh=hh: w['helper_final'].pop(str(hh)), WHY['profile_pin']) +# FACTORED ACCUMULATOR (CarrierBypass; present only when the word carries one): a lower-frame tail gate a += x*g on two +# non-ended registers whose accumulator a is afterwards read by a dim-8 cold end's tail gate (h += y*a at its U). +ended_all = {int(h) for h in word['helper_final']} +tailg = [(i, word['cleanup'][i]) for i, _ in early] +accs = [] # EVERY factored accumulator gate (one per accumulator register a), each controlled on its own +for k, (i, e) in enumerate(tailg): + if e[0] == 'add' and e[1] not in ended_all and e[2] not in ended_all and len(next(f for j, f in early if j == i)) < 8: + if e[1] not in [word['cleanup'][j][1] for j in accs] and any(t[0] == 'add' and t[2] == e[1] and t[1] in hyper for _, t in tailg[k + 1:]): + accs.append(i) +for acc in accs: + a = word['cleanup'][acc][1] + reject('factored accumulator %d (gate %d) zeroed' % (a, acc), lambda w, acc=acc: w['cleanup'][acc].__setitem__(3, 0), ENDPOINT) + reject('factored accumulator %d (gate %d) coefficient doubled' % (a, acc), lambda w, acc=acc: w['cleanup'][acc].__setitem__(3, w['cleanup'][acc][3] * 2), ENDPOINT) +outdir.mkdir(parents=True, exist_ok=True) +(outdir/'COLD-END-CONTROLS.json').write_text(json.dumps(dict(status='PASS_COLD_END_RAW_WORD_CONTROLS', word=str(src), rejected=results), indent=1) + '\n') +print('PASS', len(results), 'cold-end raw-word mutations rejected') diff --git a/research/gauge44-slots/construction/layers_p6n/reproduce_p6n.py b/research/gauge44-slots/construction/layers_p6n/reproduce_p6n.py new file mode 100644 index 0000000000..f9eb173bc1 --- /dev/null +++ b/research/gauge44-slots/construction/layers_p6n/reproduce_p6n.py @@ -0,0 +1,78 @@ +#!/usr/bin/env python3 +"""Rebuild the p6n word (NoTriReopen): the layered no-triangle word with p123's lane rebuilt as three factored dim-8 pairs. + +Input: a fresh `construction/layers_np/reproduce_np.py` output directory. Its swapped HPE word (hpe/) and its +layered word a9de804f... are pinned there. Steps, each checked exactly: + 1. layers: PR635's unchanged build_cold_end.apply(swapped HPE word, COLD-LAYERS-RECIPE-P6N.json.gz). The recipe is + NP's cold-layer recipe (cold44, s4, x30, b6, q4) plus the six cold ends of P6N-SPEC.json, built by NoTriReopen + with JP8Ends' stackJ/stackE (the CarrierBypass premix-only factored construction): [512,513] at + U(256,128,66,34,16,8,6,1), [311,510] at U(256,128,72,40,24,4,2,1), [522,327] at U(256,128,66,34,18,10,6,1). + The output word sha (34b683fa...), profile and widths are pinned. + 2. layer-end-controls: layer_end_controls.py (Q6Reviewer-signed variant fc58c569..., which controls every dim-8 + cold end individually) on the p6n word; exactly 95 rejections at pinned reasons. +The promotion step (construction/promo/reproduce_promo.py --base p6n) builds the final word and its native locals. +Apache-2.0. Driver by ColdWitness after NoTriReopen's runspec.py. +""" +import argparse, gzip, hashlib, importlib.util, json, os, subprocess, sys, time +from pathlib import Path + +HERE = Path(__file__).resolve().parent +NP_SHA = 'a9de804f194eeb39f52a4c6e54c14d93e881bec4b632694249733ed410b58113' +P6N_SHA = '34b683fa08f0' # prefix; full value is the recipe's output_content_sha256 (asserted equal below) +LAYER_CONTROLS = 95 + + +def read(p): + raw = Path(p).read_bytes() + return json.loads(gzip.decompress(raw) if str(p).endswith('.gz') else raw) + + +def enc(x): return json.dumps(x, sort_keys=True, separators=(',', ':')).encode() + + +def load(name, path): + s = importlib.util.spec_from_file_location(name, path); m = importlib.util.module_from_spec(s); s.loader.exec_module(m); return m + + +def main(): + assert __debug__, 'Assertions are required' + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--main', type=Path, required=True) + ap.add_argument('--pr635', type=Path, required=True) + ap.add_argument('--np-dir', type=Path, required=True, help='construction/layers_np/reproduce_np.py output') + ap.add_argument('--out', type=Path, required=True) + a = ap.parse_args() + out = a.out.resolve(); assert not out.exists(); out.mkdir(parents=True) + up = a.pr635.resolve() / 'research/complex-571-cold14-st2' + src = a.main.resolve() / 'research/complex-k492-owner-repair/vendor/multicold' + parent = src / 'vendor/pr558/vendor/pr552' + npd = a.np_dir.resolve() + assert hashlib.sha256(enc(read(npd / 'layers/FULL-WORD.json.gz'))).hexdigest() == NP_SHA, 'np-dir must hold the pinned NP word' + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONUTF8='1', PYTHONINTMAXSTRDIGITS='0', + MULTICOLD_SOURCE=str(src), GAIN_PR564_SOURCE=str(src), PR635_CODE=str(up / 'code')) + for k in ('PYTHONOPTIMIZE', 'XPARAM', 'EXTRAH', 'PAIRING_RANKS', 'DIAG', 'HYBBUDGET'): env.pop(k, None) + bce = load('upstream_cold', up / 'code/build_cold_end.py') + rec = read(HERE / 'COLD-LAYERS-RECIPE-P6N.json.gz') + w = bce.apply(read(npd / 'hpe/FULL-WORD.json.gz'), rec) + raw = enc(w); got = hashlib.sha256(raw).hexdigest() + assert got == rec['output_content_sha256'] and got.startswith(P6N_SHA), ('p6n word', got) + rep = w['report'] + assert rep['local_profile'] == {'1': 2540, '2': 358, '3': 446, '4': 178, '5': 56, '8': 8}, rep['local_profile'] + assert rep['width_inventory'] == {'4': 64, '5': 48, '7': 54, '8': 122, '9': 216}, rep['width_inventory'] + (out / 'p6n').mkdir(); word = out / 'p6n/FULL-WORD.json.gz'; word.write_bytes(gzip.compress(raw, mtime=0)) + print('PASS p6n word', got, flush=True) + t = time.monotonic() + with (out / 'layer-end-controls.log').open('w') as f: + rc = subprocess.call([sys.executable, '-B', str(src / 'code/run_portable.py'), str(HERE / 'layer_end_controls.py'), str(word), + str(parent / 'complex-local/inputs/phase-baseline/CANONICAL-WORD.json.gz'), str(out / 'controls')], + env=env, stdout=f, stderr=subprocess.STDOUT) + (out / 'STEPS.json').write_text(json.dumps([dict(step='layer-end-controls', exit_code=rc, seconds=round(time.monotonic() - t, 3))], indent=2) + '\n') + assert rc == 0, 'layer-end-controls' + ctl = read(out / 'controls/COLD-END-CONTROLS.json') + assert ctl['status'] == 'PASS_COLD_END_RAW_WORD_CONTROLS' and len(ctl['rejected']) == LAYER_CONTROLS, len(ctl['rejected']) + print('PASS layer-end-controls', LAYER_CONTROLS, flush=True) + print('DONE', word, flush=True) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-slots/construction/leaver/CHAIN-PINS-k8.json b/research/gauge44-slots/construction/leaver/CHAIN-PINS-k8.json new file mode 100644 index 0000000000..afd0467911 --- /dev/null +++ b/research/gauge44-slots/construction/leaver/CHAIN-PINS-k8.json @@ -0,0 +1,89 @@ +{ + "np_profile": { + "1": 2422, + "2": 408, + "3": 494, + "4": 136, + "5": 56, + "8": 8 + }, + "p6n_profile": { + "1": 2428, + "2": 420, + "3": 482, + "4": 136, + "5": 56, + "8": 8 + }, + "lec-p6n_pins_sha256": "d87ed7b5869bed4a3d266f0ce5fc784cbe88340a625d22ab9f580fa00872df19", + "lec-p6n": 95, + "lec-p6n_not_applicable": { + "extra_end": "partner 282 already cold-ended at h0 273 frame (identity)" + }, + "promo_controls": 11, + "lec-promo_pins_sha256": "d87ed7b5869bed4a3d266f0ce5fc784cbe88340a625d22ab9f580fa00872df19", + "lec-promo": 95, + "lec-promo_not_applicable": { + "extra_end": "partner 282 already cold-ended at h0 273 frame (identity)" + }, + "jx_controls": [ + "C0_identity", + "C1_741_only", + "N3_plain_join_moved_reads" + ], + "lec-jx_pins_sha256": "d87ed7b5869bed4a3d266f0ce5fc784cbe88340a625d22ab9f580fa00872df19", + "lec-jx": 95, + "lec-jx_not_applicable": { + "extra_end": "partner 282 already cold-ended at h0 273 frame (identity)" + }, + "hybrid_controls": [ + "C0_identity", + "donation_after", + "donation_after@226", + "donation_after@228", + "donation_after@230", + "donation_after@231", + "donation_after@232", + "donation_after@62", + "drop_preread", + "drop_preread@226", + "drop_preread@228", + "drop_preread@230", + "drop_preread@231", + "drop_preread@232", + "drop_preread@62", + "drop_restore", + "drop_restore@226", + "drop_restore@228", + "drop_restore@230", + "drop_restore@231", + "drop_restore@232", + "drop_restore@62", + "recipe", + "restore_full", + "restore_full@226", + "restore_full@228", + "restore_full@230", + "restore_full@231", + "restore_full@232", + "restore_full@62" + ], + "lec-hyb_pins_sha256": "d87ed7b5869bed4a3d266f0ce5fc784cbe88340a625d22ab9f580fa00872df19", + "lec-hyb": 95, + "lec-hyb_not_applicable": { + "extra_end": "partner 282 already cold-ended at h0 273 frame (identity)" + }, + "frame_build_controls": 3, + "lec-frames_pins_sha256": "b07279e41ec9d8f89e8509081e1e7f2c8e8b062fd951b22608a03ac461982914", + "lec-frames": 95, + "lec-frames_not_applicable": { + "extra_end": "partner 282 already cold-ended at h0 273 frame (identity)", + "other_hp:554": "tail frame dim 5; no other helper_final frame of that dim" + }, + "canonical_sha256": "d1bf3c6f250a61be7421ce566668092f362c465274fb472d4bb01fc80cba9b23", + "program_sha256": { + "forward": "683f83231d4d4890a7fc3d18f30d4ac7bfbd7bbdf4e7ff57ad0eb09e8a5f571c", + "backward": "2d184e4d9d48aa4d5e3679368ee0eca7e0388b1966eb05e0fd17d22d00d36293" + }, + "clifford_recipes_sha256": "e3bfdfa2c044f14c00a8706950c8ae838ceeedd9ca78a83bffefe7886219516a" +} diff --git a/research/gauge44-slots/construction/leaver/CODED-CELLS-k8.json b/research/gauge44-slots/construction/leaver/CODED-CELLS-k8.json new file mode 100644 index 0000000000..cd23561e0b --- /dev/null +++ b/research/gauge44-slots/construction/leaver/CODED-CELLS-k8.json @@ -0,0 +1,2826 @@ +[ + { + "cell": "01+", + "bindings": { + "x0": [ + "source", + [ + 0, + 1, + 2, + 3 + ], + 1 + ], + "x1": [ + "source", + [ + 0, + 1, + 2, + 3 + ], + 0 + ], + "x2": [ + "source", + [ + 0, + 1, + 4, + 5 + ], + 1 + ], + "x3": [ + "source", + [ + 0, + 1, + 4, + 5 + ], + 0 + ], + "x4": [ + "source", + [ + 0, + 1, + 6, + 7 + ], + 1 + ], + "x5": [ + "source", + [ + 0, + 1, + 6, + 7 + ], + 0 + ], + "y0": [ + "target", + 65 + ], + "y1": [ + "target", + 64 + ], + "y2": [ + "target", + 33 + ], + "y3": [ + "target", + 32 + ], + "y4": [ + "target", + 25 + ], + "y5": [ + "target", + 24 + ] + }, + "scaled": [ + [ + "y1", + "x0", + "-1/2" + ], + [ + "y0", + "x1", + "-1/2" + ], + [ + "y2", + "x5", + "-1/2" + ], + [ + "y3", + "x4", + "-1/2" + ], + [ + "y4", + "x3", + "-1/2" + ], + [ + "y5", + "x2", + "-1/2" + ], + [ + "x0", + "x1", + "1" + ], + [ + "x2", + "x5", + "1" + ], + [ + "x4", + "x3", + "1" + ], + [ + "y1", + "x2", + "-1/2" + ], + [ + "y3", + "x0", + "-1/2" + ], + [ + "y5", + "x4", + "-1/2" + ], + [ + "y0", + "y5", + "1" + ], + [ + "y2", + "y3", + "1" + ], + [ + "y4", + "y1", + "1" + ], + [ + "y1", + "x4", + "-1/2" + ], + [ + "y0", + "x5", + "-1/2" + ], + [ + "y2", + "x3", + "-1/2" + ], + [ + "y3", + "x2", + "-1/2" + ], + [ + "y4", + "x1", + "-1/2" + ], + [ + "y5", + "x0", + "-1/2" + ] + ], + "unit": [ + [ + "y1", + "x0", + 1 + ], + [ + "y0", + "x1", + 1 + ], + [ + "y2", + "x5", + 1 + ], + [ + "y3", + "x4", + 1 + ], + [ + "y4", + "x3", + 1 + ], + [ + "y5", + "x2", + 1 + ], + [ + "x0", + "x1", + 1 + ], + [ + "x2", + "x5", + 1 + ], + [ + "x4", + "x3", + 1 + ], + [ + "y1", + "x2", + 1 + ], + [ + "y3", + "x0", + 1 + ], + [ + "y5", + "x4", + 1 + ], + [ + "y0", + "y5", + 1 + ], + [ + "y2", + "y3", + 1 + ], + [ + "y4", + "y1", + 1 + ], + [ + "y1", + "x4", + 1 + ], + [ + "y0", + "x5", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y4", + "x1", + 1 + ], + [ + "y5", + "x0", + 1 + ] + ], + "coefficients": [ + [ + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2" + ], + [ + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2" + ], + [ + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0" + ] + ] + }, + { + "cell": "23+", + "bindings": { + "x0": [ + "source", + [ + 0, + 1, + 2, + 3 + ], + 23 + ], + "x1": [ + "source", + [ + 0, + 1, + 2, + 3 + ], + 3 + ], + "x2": [ + "source", + [ + 2, + 3, + 4, + 5 + ], + 1 + ], + "x3": [ + "source", + [ + 2, + 3, + 4, + 5 + ], + 0 + ], + "x4": [ + "source", + [ + 2, + 3, + 6, + 7 + ], + 1 + ], + "x5": [ + "source", + [ + 2, + 3, + 6, + 7 + ], + 0 + ], + "y0": [ + "target", + 71 + ], + "y1": [ + "target", + 67 + ], + "y2": [ + "target", + 97 + ], + "y3": [ + "target", + 96 + ], + "y4": [ + "target", + 89 + ], + "y5": [ + "target", + 88 + ] + }, + "scaled": [ + [ + "y1", + "x0", + "1" + ], + [ + "y0", + "x1", + "1" + ], + [ + "y2", + "x5", + "-1/2" + ], + [ + "y3", + "x4", + "-1/2" + ], + [ + "y4", + "x3", + "-1/2" + ], + [ + "y5", + "x2", + "-1/2" + ], + [ + "x0", + "x1", + "1" + ], + [ + "x2", + "x5", + "1" + ], + [ + "x4", + "x3", + "1" + ], + [ + "y1", + "x2", + "-1/2" + ], + [ + "y3", + "x0", + "1" + ], + [ + "y5", + "x4", + "-1/2" + ], + [ + "y0", + "y5", + "1" + ], + [ + "y2", + "y3", + "1" + ], + [ + "y4", + "y1", + "1" + ], + [ + "y1", + "x4", + "-1/2" + ], + [ + "y0", + "x5", + "-1/2" + ], + [ + "y2", + "x3", + "-1/2" + ], + [ + "y3", + "x2", + "-1/2" + ], + [ + "y4", + "x1", + "1" + ], + [ + "y5", + "x0", + "1" + ] + ], + "unit": [ + [ + "y1", + "x0", + 1 + ], + [ + "y0", + "x1", + 1 + ], + [ + "y2", + "x5", + 1 + ], + [ + "y3", + "x4", + 1 + ], + [ + "y4", + "x3", + 1 + ], + [ + "y5", + "x2", + 1 + ], + [ + "x0", + "x1", + 1 + ], + [ + "x2", + "x5", + 1 + ], + [ + "x4", + "x3", + 1 + ], + [ + "y1", + "x2", + 1 + ], + [ + "y3", + "x0", + 1 + ], + [ + "y5", + "x4", + 1 + ], + [ + "y0", + "y5", + 1 + ], + [ + "y2", + "y3", + 1 + ], + [ + "y4", + "y1", + 1 + ], + [ + "y1", + "x4", + 1 + ], + [ + "y0", + "x5", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y4", + "x1", + 1 + ], + [ + "y5", + "x0", + 1 + ] + ], + "coefficients": [ + [ + "0", + "1", + "-1/2", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "1", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "1", + "1", + "0", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "1", + "1", + "-1/2", + "0", + "-1/2", + "-1/2" + ], + [ + "1", + "1", + "-1/2", + "-1/2", + "0", + "-1/2" + ], + [ + "1", + "1", + "-1/2", + "-1/2", + "-1/2", + "0" + ] + ] + }, + { + "cell": "45+", + "bindings": { + "x0": [ + "source", + [ + 0, + 1, + 4, + 5 + ], + 23 + ], + "x1": [ + "source", + [ + 0, + 1, + 4, + 5 + ], + 3 + ], + "x2": [ + "source", + [ + 2, + 3, + 4, + 5 + ], + 23 + ], + "x3": [ + "source", + [ + 2, + 3, + 4, + 5 + ], + 3 + ], + "x4": [ + "source", + [ + 4, + 5, + 6, + 7 + ], + 1 + ], + "x5": [ + "source", + [ + 4, + 5, + 6, + 7 + ], + 0 + ], + "y0": [ + "target", + 39 + ], + "y1": [ + "target", + 35 + ], + "y2": [ + "target", + 103 + ], + "y3": [ + "target", + 99 + ], + "y4": [ + "target", + 57 + ], + "y5": [ + "target", + 56 + ] + }, + "scaled": [ + [ + "y1", + "x0", + "1" + ], + [ + "y0", + "x1", + "1" + ], + [ + "y2", + "x5", + "-1/2" + ], + [ + "y3", + "x4", + "-1/2" + ], + [ + "y4", + "x3", + "1" + ], + [ + "y5", + "x2", + "1" + ], + [ + "x0", + "x1", + "1" + ], + [ + "x2", + "x5", + "-1/2" + ], + [ + "x4", + "x3", + "-2" + ], + [ + "y1", + "x2", + "1" + ], + [ + "y3", + "x0", + "1" + ], + [ + "y5", + "x4", + "-1/2" + ], + [ + "y0", + "y5", + "1" + ], + [ + "y2", + "y3", + "1" + ], + [ + "y4", + "y1", + "1" + ], + [ + "y1", + "x4", + "-1/2" + ], + [ + "y0", + "x5", + "-1/2" + ], + [ + "y2", + "x3", + "1" + ], + [ + "y3", + "x2", + "1" + ], + [ + "y4", + "x1", + "1" + ], + [ + "y5", + "x0", + "1" + ] + ], + "unit": [ + [ + "y1", + "x0", + 1 + ], + [ + "y0", + "x1", + 1 + ], + [ + "y2", + "x5", + 1 + ], + [ + "y3", + "x4", + 1 + ], + [ + "y4", + "x3", + 1 + ], + [ + "y5", + "x2", + 1 + ], + [ + "x0", + "x1", + 1 + ], + [ + "x2", + "x5", + 1 + ], + [ + "x4", + "x3", + 1 + ], + [ + "y1", + "x2", + 1 + ], + [ + "y3", + "x0", + 1 + ], + [ + "y5", + "x4", + 1 + ], + [ + "y0", + "y5", + 1 + ], + [ + "y2", + "y3", + 1 + ], + [ + "y4", + "y1", + 1 + ], + [ + "y1", + "x4", + 1 + ], + [ + "y0", + "x5", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y4", + "x1", + 1 + ], + [ + "y5", + "x0", + 1 + ] + ], + "coefficients": [ + [ + "0", + "1", + "1", + "1", + "-1/2", + "-1/2" + ], + [ + "1", + "0", + "1", + "1", + "-1/2", + "-1/2" + ], + [ + "1", + "1", + "0", + "1", + "-1/2", + "-1/2" + ], + [ + "1", + "1", + "1", + "0", + "-1/2", + "-1/2" + ], + [ + "1", + "1", + "1", + "1", + "0", + "-1/2" + ], + [ + "1", + "1", + "1", + "1", + "-1/2", + "0" + ] + ] + }, + { + "cell": "67+", + "bindings": { + "x0": [ + "source", + [ + 0, + 1, + 6, + 7 + ], + 23 + ], + "x1": [ + "source", + [ + 0, + 1, + 6, + 7 + ], + 3 + ], + "x2": [ + "source", + [ + 2, + 3, + 6, + 7 + ], + 23 + ], + "x3": [ + "source", + [ + 2, + 3, + 6, + 7 + ], + 3 + ], + "x4": [ + "source", + [ + 4, + 5, + 6, + 7 + ], + 23 + ], + "x5": [ + "source", + [ + 4, + 5, + 6, + 7 + ], + 3 + ], + "y0": [ + "target", + 31 + ], + "y1": [ + "target", + 27 + ], + "y2": [ + "target", + 95 + ], + "y3": [ + "target", + 91 + ], + "y4": [ + "target", + 63 + ], + "y5": [ + "target", + 59 + ] + }, + "scaled": [ + [ + "y1", + "x0", + "1" + ], + [ + "y0", + "x1", + "1" + ], + [ + "y2", + "x5", + "1" + ], + [ + "y3", + "x4", + "1" + ], + [ + "y4", + "x3", + "1" + ], + [ + "y5", + "x2", + "1" + ], + [ + "x0", + "x1", + "1" + ], + [ + "x2", + "x5", + "1" + ], + [ + "x4", + "x3", + "1" + ], + [ + "y1", + "x2", + "1" + ], + [ + "y3", + "x0", + "1" + ], + [ + "y5", + "x4", + "1" + ], + [ + "y0", + "y5", + "1" + ], + [ + "y2", + "y3", + "1" + ], + [ + "y4", + "y1", + "1" + ], + [ + "y1", + "x4", + "1" + ], + [ + "y0", + "x5", + "1" + ], + [ + "y2", + "x3", + "1" + ], + [ + "y3", + "x2", + "1" + ], + [ + "y4", + "x1", + "1" + ], + [ + "y5", + "x0", + "1" + ] + ], + "unit": [ + [ + "y1", + "x0", + 1 + ], + [ + "y0", + "x1", + 1 + ], + [ + "y2", + "x5", + 1 + ], + [ + "y3", + "x4", + 1 + ], + [ + "y4", + "x3", + 1 + ], + [ + "y5", + "x2", + 1 + ], + [ + "x0", + "x1", + 1 + ], + [ + "x2", + "x5", + 1 + ], + [ + "x4", + "x3", + 1 + ], + [ + "y1", + "x2", + 1 + ], + [ + "y3", + "x0", + 1 + ], + [ + "y5", + "x4", + 1 + ], + [ + "y0", + "y5", + 1 + ], + [ + "y2", + "y3", + 1 + ], + [ + "y4", + "y1", + 1 + ], + [ + "y1", + "x4", + 1 + ], + [ + "y0", + "x5", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y4", + "x1", + 1 + ], + [ + "y5", + "x0", + 1 + ] + ], + "coefficients": [ + [ + "0", + "1", + "1", + "1", + "1", + "1" + ], + [ + "1", + "0", + "1", + "1", + "1", + "1" + ], + [ + "1", + "1", + "0", + "1", + "1", + "1" + ], + [ + "1", + "1", + "1", + "0", + "1", + "1" + ], + [ + "1", + "1", + "1", + "1", + "0", + "1" + ], + [ + "1", + "1", + "1", + "1", + "1", + "0" + ] + ] + }, + { + "cell": "67-", + "bindings": { + "x0": [ + "source", + [ + 0, + 1, + 6, + 7 + ], + 2 + ], + "x1": [ + "source", + [ + 0, + 1, + 6, + 7 + ], + 21 + ], + "x2": [ + "source", + [ + 2, + 3, + 6, + 7 + ], + 2 + ], + "x3": [ + "source", + [ + 2, + 3, + 6, + 7 + ], + 21 + ], + "x4": [ + "source", + [ + 4, + 5, + 6, + 7 + ], + 2 + ], + "x5": [ + "source", + [ + 4, + 5, + 6, + 7 + ], + 21 + ], + "y0": [ + "target", + 26 + ], + "y1": [ + "target", + 30 + ], + "y2": [ + "target", + 90 + ], + "y3": [ + "target", + 94 + ], + "y4": [ + "target", + 58 + ], + "y5": [ + "target", + 62 + ] + }, + "scaled": [ + [ + "y1", + "x0", + "1" + ], + [ + "y0", + "x1", + "1" + ], + [ + "y2", + "x5", + "1" + ], + [ + "y3", + "x4", + "1" + ], + [ + "y4", + "x3", + "1" + ], + [ + "y5", + "x2", + "1" + ], + [ + "x0", + "x1", + "1" + ], + [ + "x2", + "x5", + "1" + ], + [ + "x4", + "x3", + "1" + ], + [ + "y1", + "x2", + "1" + ], + [ + "y3", + "x0", + "1" + ], + [ + "y5", + "x4", + "1" + ], + [ + "y0", + "y5", + "1" + ], + [ + "y2", + "y3", + "1" + ], + [ + "y4", + "y1", + "1" + ], + [ + "y1", + "x4", + "1" + ], + [ + "y0", + "x5", + "1" + ], + [ + "y2", + "x3", + "1" + ], + [ + "y3", + "x2", + "1" + ], + [ + "y4", + "x1", + "1" + ], + [ + "y5", + "x0", + "1" + ] + ], + "unit": [ + [ + "y1", + "x0", + 1 + ], + [ + "y0", + "x1", + 1 + ], + [ + "y2", + "x5", + 1 + ], + [ + "y3", + "x4", + 1 + ], + [ + "y4", + "x3", + 1 + ], + [ + "y5", + "x2", + 1 + ], + [ + "x0", + "x1", + 1 + ], + [ + "x2", + "x5", + 1 + ], + [ + "x4", + "x3", + 1 + ], + [ + "y1", + "x2", + 1 + ], + [ + "y3", + "x0", + 1 + ], + [ + "y5", + "x4", + 1 + ], + [ + "y0", + "y5", + 1 + ], + [ + "y2", + "y3", + 1 + ], + [ + "y4", + "y1", + 1 + ], + [ + "y1", + "x4", + 1 + ], + [ + "y0", + "x5", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y4", + "x1", + 1 + ], + [ + "y5", + "x0", + 1 + ] + ], + "coefficients": [ + [ + "0", + "1", + "1", + "1", + "1", + "1" + ], + [ + "1", + "0", + "1", + "1", + "1", + "1" + ], + [ + "1", + "1", + "0", + "1", + "1", + "1" + ], + [ + "1", + "1", + "1", + "0", + "1", + "1" + ], + [ + "1", + "1", + "1", + "1", + "0", + "1" + ], + [ + "1", + "1", + "1", + "1", + "1", + "0" + ] + ] + }, + { + "cell": "01-", + "bindings": { + "x0": [ + "source", + [ + 0, + 1, + 2, + 3 + ], + 19 + ], + "x1": [ + "source", + [ + 0, + 1, + 2, + 3 + ], + 17 + ], + "x2": [ + "source", + [ + 0, + 1, + 4, + 5 + ], + 19 + ], + "x3": [ + "source", + [ + 0, + 1, + 4, + 5 + ], + 17 + ], + "x4": [ + "source", + [ + 0, + 1, + 6, + 7 + ], + 19 + ], + "x5": [ + "source", + [ + 0, + 1, + 6, + 7 + ], + 17 + ], + "y0": [ + "target", + 69 + ], + "y1": [ + "target", + 68 + ], + "y2": [ + "target", + 37 + ], + "y3": [ + "target", + 36 + ], + "y4": [ + "target", + 29 + ], + "y5": [ + "target", + 28 + ] + }, + "scaled": [ + [ + "y0", + "x1", + "-1/2" + ], + [ + "y1", + "x0", + "-1/2" + ], + [ + "y3", + "x4", + "-1/2" + ], + [ + "y2", + "x5", + "-1/2" + ], + [ + "y5", + "x2", + "-1/2" + ], + [ + "y4", + "x3", + "-1/2" + ], + [ + "x1", + "x0", + "1" + ], + [ + "x3", + "x4", + "1" + ], + [ + "x5", + "x2", + "1" + ], + [ + "y0", + "x3", + "-1/2" + ], + [ + "y2", + "x1", + "-1/2" + ], + [ + "y4", + "x5", + "-1/2" + ], + [ + "y1", + "y4", + "1" + ], + [ + "y3", + "y2", + "1" + ], + [ + "y5", + "y0", + "1" + ], + [ + "y0", + "x5", + "-1/2" + ], + [ + "y1", + "x4", + "-1/2" + ], + [ + "y3", + "x2", + "-1/2" + ], + [ + "y2", + "x3", + "-1/2" + ], + [ + "y5", + "x0", + "-1/2" + ], + [ + "y4", + "x1", + "-1/2" + ] + ], + "unit": [ + [ + "y0", + "x1", + 1 + ], + [ + "y1", + "x0", + 1 + ], + [ + "y3", + "x4", + 1 + ], + [ + "y2", + "x5", + 1 + ], + [ + "y5", + "x2", + 1 + ], + [ + "y4", + "x3", + 1 + ], + [ + "x1", + "x0", + 1 + ], + [ + "x3", + "x4", + 1 + ], + [ + "x5", + "x2", + 1 + ], + [ + "y0", + "x3", + 1 + ], + [ + "y2", + "x1", + 1 + ], + [ + "y4", + "x5", + 1 + ], + [ + "y1", + "y4", + 1 + ], + [ + "y3", + "y2", + 1 + ], + [ + "y5", + "y0", + 1 + ], + [ + "y0", + "x5", + 1 + ], + [ + "y1", + "x4", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y5", + "x0", + 1 + ], + [ + "y4", + "x1", + 1 + ] + ], + "coefficients": [ + [ + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2" + ], + [ + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2" + ], + [ + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0" + ] + ] + }, + { + "cell": "23-", + "bindings": { + "x0": [ + "source", + [ + 0, + 1, + 2, + 3 + ], + 2 + ], + "x1": [ + "source", + [ + 0, + 1, + 2, + 3 + ], + 21 + ], + "x2": [ + "source", + [ + 2, + 3, + 4, + 5 + ], + 19 + ], + "x3": [ + "source", + [ + 2, + 3, + 4, + 5 + ], + 17 + ], + "x4": [ + "source", + [ + 2, + 3, + 6, + 7 + ], + 19 + ], + "x5": [ + "source", + [ + 2, + 3, + 6, + 7 + ], + 17 + ], + "y0": [ + "target", + 66 + ], + "y1": [ + "target", + 70 + ], + "y2": [ + "target", + 101 + ], + "y3": [ + "target", + 100 + ], + "y4": [ + "target", + 93 + ], + "y5": [ + "target", + 92 + ] + }, + "scaled": [ + [ + "y1", + "x0", + "1" + ], + [ + "y0", + "x1", + "1" + ], + [ + "y3", + "x4", + "-1/2" + ], + [ + "y2", + "x5", + "-1/2" + ], + [ + "y5", + "x2", + "-1/2" + ], + [ + "y4", + "x3", + "-1/2" + ], + [ + "x0", + "x1", + "1" + ], + [ + "x3", + "x4", + "1" + ], + [ + "x5", + "x2", + "1" + ], + [ + "y1", + "x3", + "-1/2" + ], + [ + "y2", + "x0", + "1" + ], + [ + "y4", + "x5", + "-1/2" + ], + [ + "y0", + "y4", + "1" + ], + [ + "y3", + "y2", + "1" + ], + [ + "y5", + "y1", + "1" + ], + [ + "y1", + "x5", + "-1/2" + ], + [ + "y0", + "x4", + "-1/2" + ], + [ + "y3", + "x2", + "-1/2" + ], + [ + "y2", + "x3", + "-1/2" + ], + [ + "y5", + "x1", + "1" + ], + [ + "y4", + "x0", + "1" + ] + ], + "unit": [ + [ + "y1", + "x0", + 1 + ], + [ + "y0", + "x1", + 1 + ], + [ + "y3", + "x4", + 1 + ], + [ + "y2", + "x5", + 1 + ], + [ + "y5", + "x2", + 1 + ], + [ + "y4", + "x3", + 1 + ], + [ + "x0", + "x1", + 1 + ], + [ + "x3", + "x4", + 1 + ], + [ + "x5", + "x2", + 1 + ], + [ + "y1", + "x3", + 1 + ], + [ + "y2", + "x0", + 1 + ], + [ + "y4", + "x5", + 1 + ], + [ + "y0", + "y4", + 1 + ], + [ + "y3", + "y2", + 1 + ], + [ + "y5", + "y1", + 1 + ], + [ + "y1", + "x5", + 1 + ], + [ + "y0", + "x4", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y5", + "x1", + 1 + ], + [ + "y4", + "x0", + 1 + ] + ], + "coefficients": [ + [ + "0", + "1", + "-1/2", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "1", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "1", + "1", + "0", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "1", + "1", + "-1/2", + "0", + "-1/2", + "-1/2" + ], + [ + "1", + "1", + "-1/2", + "-1/2", + "0", + "-1/2" + ], + [ + "1", + "1", + "-1/2", + "-1/2", + "-1/2", + "0" + ] + ] + }, + { + "cell": "45-", + "bindings": { + "x0": [ + "source", + [ + 0, + 1, + 4, + 5 + ], + 2 + ], + "x1": [ + "source", + [ + 0, + 1, + 4, + 5 + ], + 21 + ], + "x2": [ + "source", + [ + 2, + 3, + 4, + 5 + ], + 2 + ], + "x3": [ + "source", + [ + 2, + 3, + 4, + 5 + ], + 21 + ], + "x4": [ + "source", + [ + 4, + 5, + 6, + 7 + ], + 19 + ], + "x5": [ + "source", + [ + 4, + 5, + 6, + 7 + ], + 17 + ], + "y0": [ + "target", + 34 + ], + "y1": [ + "target", + 38 + ], + "y2": [ + "target", + 98 + ], + "y3": [ + "target", + 102 + ], + "y4": [ + "target", + 61 + ], + "y5": [ + "target", + 60 + ] + }, + "scaled": [ + [ + "y1", + "x0", + "1" + ], + [ + "y0", + "x1", + "1" + ], + [ + "y2", + "x4", + "-1/2" + ], + [ + "y3", + "x5", + "-1/2" + ], + [ + "y5", + "x3", + "1" + ], + [ + "y4", + "x2", + "1" + ], + [ + "x0", + "x1", + "1" + ], + [ + "x2", + "x4", + "-1/2" + ], + [ + "x5", + "x3", + "-2" + ], + [ + "y1", + "x2", + "1" + ], + [ + "y3", + "x0", + "1" + ], + [ + "y4", + "x5", + "-1/2" + ], + [ + "y0", + "y4", + "1" + ], + [ + "y2", + "y3", + "1" + ], + [ + "y5", + "y1", + "1" + ], + [ + "y1", + "x5", + "-1/2" + ], + [ + "y0", + "x4", + "-1/2" + ], + [ + "y2", + "x3", + "1" + ], + [ + "y3", + "x2", + "1" + ], + [ + "y5", + "x1", + "1" + ], + [ + "y4", + "x0", + "1" + ] + ], + "unit": [ + [ + "y1", + "x0", + 1 + ], + [ + "y0", + "x1", + 1 + ], + [ + "y2", + "x4", + 1 + ], + [ + "y3", + "x5", + 1 + ], + [ + "y5", + "x3", + 1 + ], + [ + "y4", + "x2", + 1 + ], + [ + "x0", + "x1", + 1 + ], + [ + "x2", + "x4", + 1 + ], + [ + "x5", + "x3", + 1 + ], + [ + "y1", + "x2", + 1 + ], + [ + "y3", + "x0", + 1 + ], + [ + "y4", + "x5", + 1 + ], + [ + "y0", + "y4", + 1 + ], + [ + "y2", + "y3", + 1 + ], + [ + "y5", + "y1", + 1 + ], + [ + "y1", + "x5", + 1 + ], + [ + "y0", + "x4", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y5", + "x1", + 1 + ], + [ + "y4", + "x0", + 1 + ] + ], + "coefficients": [ + [ + "0", + "1", + "1", + "1", + "-1/2", + "-1/2" + ], + [ + "1", + "0", + "1", + "1", + "-1/2", + "-1/2" + ], + [ + "1", + "1", + "0", + "1", + "-1/2", + "-1/2" + ], + [ + "1", + "1", + "1", + "0", + "-1/2", + "-1/2" + ], + [ + "1", + "1", + "1", + "1", + "0", + "-1/2" + ], + [ + "1", + "1", + "1", + "1", + "-1/2", + "0" + ] + ] + } +] diff --git a/research/gauge44-slots/construction/leaver/COLD-LAYERS-RECIPE-NP-k8.json.gz b/research/gauge44-slots/construction/leaver/COLD-LAYERS-RECIPE-NP-k8.json.gz new file mode 100644 index 0000000000..6850696b19 Binary files /dev/null and b/research/gauge44-slots/construction/leaver/COLD-LAYERS-RECIPE-NP-k8.json.gz differ diff --git a/research/gauge44-slots/construction/leaver/COLD-LAYERS-RECIPE-P6N-k8.json.gz b/research/gauge44-slots/construction/leaver/COLD-LAYERS-RECIPE-P6N-k8.json.gz new file mode 100644 index 0000000000..dc0275695d Binary files /dev/null and b/research/gauge44-slots/construction/leaver/COLD-LAYERS-RECIPE-P6N-k8.json.gz differ diff --git a/research/gauge44-slots/construction/leaver/FRAME-RECIPE-LV-k8.json b/research/gauge44-slots/construction/leaver/FRAME-RECIPE-LV-k8.json new file mode 100644 index 0000000000..982bd357da --- /dev/null +++ b/research/gauge44-slots/construction/leaver/FRAME-RECIPE-LV-k8.json @@ -0,0 +1,2987 @@ +{ + "input_content_sha256": "c836d8922fc9e50529e006488ca2ce4a542a93150de0e0e8f7d3955ad991968f", + "gate_frames": [ + [ + "B", + 539, + [ + 336, + 208, + 32, + 8, + 6 + ], + [ + 336, + 208, + 32, + 8, + 6, + 1 + ] + ], + [ + "B", + 540, + [ + 400, + 80, + 32, + 8, + 6 + ], + [ + 400, + 80, + 32, + 8, + 6, + 1 + ] + ], + [ + "B", + 541, + [ + 256, + 128, + 64, + 16, + 6 + ], + [ + 256, + 128, + 64, + 16, + 6, + 1 + ] + ], + [ + "B", + 542, + [ + 256, + 128, + 64, + 16, + 8, + 6 + ], + [ + 256, + 128, + 64, + 16, + 8, + 6, + 1 + ] + ], + [ + "B", + 545, + [ + 256, + 144, + 80, + 32, + 8, + 6 + ], + [ + 256, + 144, + 80, + 32, + 8, + 6, + 1 + ] + ], + [ + "B", + 547, + [ + 272, + 144, + 64, + 32, + 8, + 6 + ], + [ + 272, + 144, + 64, + 32, + 8, + 6, + 1 + ] + ], + [ + "B", + 557, + [ + 280, + 137, + 73, + 6 + ], + [ + 257, + 137, + 73, + 25, + 6 + ] + ], + [ + "B", + 559, + [ + 265, + 137, + 81, + 6 + ], + [ + 265, + 137, + 72, + 25, + 6 + ] + ], + [ + "B", + 560, + [ + 265, + 137, + 81, + 32, + 6 + ], + [ + 265, + 137, + 72, + 32, + 25, + 6 + ] + ], + [ + "B", + 561, + [ + 401, + 64, + 32, + 9, + 6 + ], + [ + 385, + 64, + 32, + 16, + 9, + 6 + ] + ], + [ + "B", + 562, + [ + 265, + 137, + 73, + 17, + 6 + ], + [ + 257, + 129, + 65, + 17, + 8, + 6 + ] + ], + [ + "B", + 563, + [ + 256, + 128, + 64, + 17, + 9, + 6 + ], + [ + 256, + 128, + 64, + 16, + 8, + 6, + 1 + ] + ], + [ + "B", + 564, + [ + 265, + 137, + 73, + 32, + 24, + 6 + ], + [ + 264, + 136, + 72, + 32, + 24, + 6, + 1 + ] + ], + [ + "B", + 566, + [ + 273, + 128, + 64, + 32, + 9, + 6 + ], + [ + 257, + 128, + 64, + 32, + 16, + 9, + 6 + ] + ], + [ + "B", + 567, + [ + 265, + 137, + 73, + 32, + 17, + 6 + ], + [ + 257, + 129, + 65, + 32, + 17, + 8, + 6 + ] + ], + [ + "B", + 568, + [ + 256, + 128, + 81, + 32, + 9, + 6 + ], + [ + 256, + 128, + 65, + 32, + 16, + 9, + 6 + ] + ], + [ + "B", + 580, + [ + 265, + 193, + 40, + 6 + ], + [ + 265, + 144, + 81, + 40, + 6 + ] + ], + [ + "B", + 581, + [ + 265, + 193, + 40, + 17, + 6 + ], + [ + 265, + 129, + 64, + 40, + 17, + 6 + ] + ], + [ + "B", + 582, + [ + 289, + 176, + 96, + 9, + 6 + ], + [ + 289, + 160, + 96, + 16, + 9, + 6 + ] + ], + [ + "B", + 583, + [ + 265, + 152, + 80, + 33, + 6 + ], + [ + 257, + 144, + 80, + 33, + 8, + 6 + ] + ], + [ + "B", + 584, + [ + 256, + 145, + 80, + 33, + 9, + 6 + ], + [ + 256, + 144, + 80, + 32, + 8, + 6, + 1 + ] + ], + [ + "B", + 585, + [ + 265, + 128, + 65, + 40, + 17, + 6 + ], + [ + 264, + 128, + 64, + 40, + 16, + 6, + 1 + ] + ], + [ + "B", + 586, + [ + 256, + 145, + 65, + 33, + 9, + 6 + ], + [ + 256, + 129, + 65, + 33, + 16, + 9, + 6 + ] + ], + [ + "B", + 587, + [ + 273, + 128, + 80, + 48, + 9, + 6 + ], + [ + 257, + 128, + 64, + 32, + 16, + 9, + 6 + ] + ], + [ + "B", + 589, + [ + 256, + 193, + 33, + 17, + 9, + 6 + ], + [ + 256, + 129, + 64, + 33, + 17, + 9, + 6 + ] + ], + [ + "B", + 602, + [ + 256, + 144, + 73, + 57, + 6 + ], + [ + 256, + 129, + 73, + 40, + 17, + 6 + ] + ], + [ + "B", + 603, + [ + 297, + 169, + 104, + 16, + 6 + ], + [ + 288, + 160, + 97, + 16, + 9, + 6 + ] + ], + [ + "B", + 604, + [ + 272, + 152, + 73, + 33, + 6 + ], + [ + 272, + 145, + 64, + 33, + 9, + 6 + ] + ], + [ + "B", + 605, + [ + 272, + 144, + 65, + 33, + 8, + 6 + ], + [ + 272, + 144, + 64, + 32, + 8, + 6, + 1 + ] + ], + [ + "B", + 606, + [ + 256, + 128, + 73, + 41, + 16, + 6 + ], + [ + 256, + 128, + 72, + 40, + 16, + 6, + 1 + ] + ], + [ + "B", + 607, + [ + 264, + 136, + 73, + 33, + 16, + 6 + ], + [ + 257, + 129, + 64, + 33, + 16, + 9, + 6 + ] + ], + [ + "B", + 609, + [ + 264, + 128, + 73, + 33, + 24, + 6 + ], + [ + 257, + 128, + 64, + 33, + 17, + 9, + 6 + ] + ], + [ + "B", + 610, + [ + 256, + 136, + 73, + 33, + 24, + 6 + ], + [ + 256, + 129, + 64, + 33, + 17, + 9, + 6 + ] + ], + [ + "B", + 620, + [ + 368, + 161, + 8, + 6 + ], + [ + 273, + 161, + 97, + 8, + 6 + ] + ], + [ + "B", + 623, + [ + 256, + 193, + 33, + 16, + 6 + ], + [ + 256, + 129, + 64, + 33, + 16, + 6 + ] + ], + [ + "B", + 624, + [ + 289, + 161, + 112, + 8, + 6 + ], + [ + 289, + 161, + 97, + 17, + 8, + 6 + ] + ], + [ + "B", + 625, + [ + 321, + 144, + 49, + 8, + 6 + ], + [ + 273, + 144, + 80, + 49, + 8, + 6 + ] + ], + [ + "B", + 626, + [ + 272, + 144, + 81, + 49, + 8, + 6 + ], + [ + 272, + 144, + 80, + 48, + 8, + 6, + 1 + ] + ], + [ + "B", + 627, + [ + 256, + 128, + 65, + 33, + 16, + 6 + ], + [ + 256, + 128, + 64, + 32, + 16, + 6, + 1 + ] + ], + [ + "B", + 629, + [ + 256, + 128, + 81, + 33, + 8, + 6 + ], + [ + 256, + 128, + 64, + 33, + 17, + 8, + 6 + ] + ], + [ + "B", + 630, + [ + 321, + 128, + 33, + 16, + 8, + 6 + ], + [ + 257, + 128, + 64, + 33, + 16, + 8, + 6 + ] + ], + [ + "B", + 631, + [ + 256, + 193, + 33, + 16, + 8, + 6 + ], + [ + 256, + 129, + 64, + 33, + 16, + 8, + 6 + ] + ], + [ + "B", + 641, + [ + 256, + 216, + 40, + 6 + ], + [ + 256, + 216, + 40, + 6, + 1 + ] + ], + [ + "B", + 644, + [ + 272, + 144, + 80, + 56, + 6 + ], + [ + 272, + 144, + 80, + 56, + 6, + 1 + ] + ], + [ + "B", + 645, + [ + 392, + 64, + 40, + 16, + 6 + ], + [ + 392, + 64, + 40, + 16, + 6, + 1 + ] + ], + [ + "B", + 646, + [ + 256, + 128, + 88, + 40, + 6 + ], + [ + 256, + 128, + 88, + 40, + 6, + 1 + ] + ], + [ + "B", + 648, + [ + 264, + 136, + 72, + 32, + 24, + 6 + ], + [ + 264, + 136, + 72, + 32, + 24, + 6, + 1 + ] + ], + [ + "B", + 649, + [ + 264, + 128, + 64, + 40, + 16, + 6 + ], + [ + 264, + 128, + 64, + 40, + 16, + 6, + 1 + ] + ], + [ + "B", + 651, + [ + 256, + 128, + 72, + 40, + 16, + 6 + ], + [ + 256, + 128, + 72, + 40, + 16, + 6, + 1 + ] + ], + [ + "B", + 665, + [ + 320, + 192, + 41, + 17, + 6 + ], + [ + 320, + 192, + 33, + 17, + 8, + 6 + ] + ], + [ + "B", + 666, + [ + 401, + 81, + 49, + 9, + 6 + ], + [ + 385, + 65, + 33, + 16, + 9, + 6 + ] + ], + [ + "B", + 667, + [ + 280, + 152, + 64, + 49, + 6 + ], + [ + 257, + 129, + 64, + 40, + 25, + 6 + ] + ], + [ + "B", + 668, + [ + 256, + 128, + 64, + 41, + 24, + 6 + ], + [ + 256, + 128, + 64, + 40, + 24, + 6, + 1 + ] + ], + [ + "B", + 669, + [ + 320, + 192, + 32, + 17, + 9, + 6 + ], + [ + 320, + 192, + 32, + 16, + 8, + 6, + 1 + ] + ], + [ + "B", + 670, + [ + 256, + 145, + 81, + 49, + 9, + 6 + ], + [ + 256, + 129, + 65, + 33, + 16, + 9, + 6 + ] + ], + [ + "B", + 672, + [ + 273, + 145, + 64, + 49, + 9, + 6 + ], + [ + 257, + 129, + 64, + 33, + 16, + 9, + 6 + ] + ], + [ + "B", + 673, + [ + 256, + 128, + 64, + 41, + 17, + 6 + ], + [ + 256, + 128, + 64, + 33, + 17, + 8, + 6 + ] + ], + [ + "B", + 686, + [ + 280, + 137, + 80, + 33, + 6 + ], + [ + 272, + 129, + 80, + 33, + 8, + 6 + ] + ], + [ + "B", + 687, + [ + 304, + 161, + 96, + 9, + 6 + ], + [ + 288, + 161, + 96, + 16, + 9, + 6 + ] + ], + [ + "B", + 688, + [ + 321, + 137, + 40, + 17, + 6 + ], + [ + 257, + 137, + 64, + 40, + 17, + 6 + ] + ], + [ + "B", + 689, + [ + 256, + 137, + 65, + 40, + 17, + 6 + ], + [ + 256, + 136, + 64, + 40, + 16, + 6, + 1 + ] + ], + [ + "B", + 690, + [ + 273, + 128, + 80, + 33, + 9, + 6 + ], + [ + 272, + 128, + 80, + 32, + 8, + 6, + 1 + ] + ], + [ + "B", + 691, + [ + 256, + 145, + 80, + 48, + 9, + 6 + ], + [ + 256, + 129, + 64, + 32, + 16, + 9, + 6 + ] + ], + [ + "B", + 692, + [ + 273, + 128, + 65, + 33, + 9, + 6 + ], + [ + 257, + 128, + 65, + 33, + 16, + 9, + 6 + ] + ], + [ + "B", + 693, + [ + 321, + 128, + 33, + 17, + 9, + 6 + ], + [ + 257, + 128, + 64, + 33, + 17, + 9, + 6 + ] + ], + [ + "B", + 1232, + [ + 256, + 128, + 64, + 34, + 18, + 10, + 6, + 1 + ], + [ + 256, + 128, + 64, + 40, + 24, + 6, + 1 + ] + ], + [ + "B", + 1235, + [ + 256, + 128, + 64, + 34, + 16, + 8, + 6, + 1 + ], + [ + 256, + 128, + 64, + 16, + 8, + 6, + 1 + ] + ], + [ + "B", + 1238, + [ + 258, + 130, + 66, + 32, + 18, + 10, + 6, + 1 + ], + [ + 264, + 136, + 72, + 32, + 24, + 6, + 1 + ] + ], + [ + "B", + 1241, + [ + 258, + 130, + 66, + 32, + 16, + 8, + 6, + 1 + ], + [ + 320, + 192, + 32, + 16, + 8, + 6, + 1 + ] + ], + [ + "B", + 1244, + [ + 256, + 130, + 64, + 34, + 16, + 10, + 6, + 1 + ], + [ + 256, + 136, + 64, + 40, + 16, + 6, + 1 + ] + ], + [ + "B", + 1247, + [ + 256, + 130, + 66, + 32, + 18, + 8, + 6, + 1 + ], + [ + 256, + 144, + 80, + 32, + 8, + 6, + 1 + ] + ], + [ + "B", + 1250, + [ + 258, + 128, + 64, + 34, + 16, + 10, + 6, + 1 + ], + [ + 264, + 128, + 64, + 40, + 16, + 6, + 1 + ] + ], + [ + "B", + 1253, + [ + 258, + 128, + 66, + 32, + 18, + 8, + 6, + 1 + ], + [ + 272, + 128, + 80, + 32, + 8, + 6, + 1 + ] + ], + [ + "B", + 1256, + [ + 258, + 130, + 66, + 34, + 18, + 8, + 6, + 1 + ], + [ + 272, + 144, + 80, + 48, + 8, + 6, + 1 + ] + ], + [ + "B", + 1259, + [ + 258, + 130, + 64, + 32, + 18, + 8, + 6, + 1 + ], + [ + 272, + 144, + 64, + 32, + 8, + 6, + 1 + ] + ], + [ + "B", + 1262, + [ + 256, + 128, + 66, + 34, + 16, + 10, + 6, + 1 + ], + [ + 256, + 128, + 72, + 40, + 16, + 6, + 1 + ] + ], + [ + "B", + 1265, + [ + 256, + 128, + 64, + 32, + 16, + 10, + 6, + 1 + ], + [ + 256, + 128, + 64, + 32, + 16, + 6, + 1 + ] + ], + [ + "B", + 1268, + [ + 256, + 128, + 66, + 34, + 16, + 8, + 4, + 1 + ], + [ + 256, + 128, + 66, + 34, + 24, + 4, + 1 + ] + ], + [ + "B", + 1271, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 4, + 1 + ], + [ + 256, + 128, + 64, + 32, + 24, + 4, + 1 + ] + ], + [ + "B", + 1274, + [ + 260, + 132, + 68, + 36, + 20, + 12, + 2, + 1 + ], + [ + 260, + 132, + 68, + 36, + 24, + 2, + 1 + ] + ], + [ + "B", + 1277, + [ + 260, + 132, + 64, + 32, + 16, + 8, + 2, + 1 + ], + [ + 260, + 132, + 64, + 32, + 24, + 2, + 1 + ] + ], + [ + "B", + 1280, + [ + 258, + 128, + 64, + 34, + 18, + 10, + 4, + 1 + ], + [ + 258, + 128, + 64, + 34, + 24, + 4, + 1 + ] + ], + [ + "B", + 1283, + [ + 260, + 128, + 68, + 32, + 16, + 8, + 2, + 1 + ], + [ + 260, + 128, + 68, + 32, + 24, + 2, + 1 + ] + ], + [ + "B", + 1286, + [ + 256, + 130, + 64, + 34, + 16, + 8, + 4, + 1 + ], + [ + 256, + 130, + 64, + 34, + 24, + 4, + 1 + ] + ], + [ + "B", + 1289, + [ + 256, + 132, + 68, + 32, + 20, + 12, + 2, + 1 + ], + [ + 256, + 132, + 68, + 32, + 24, + 2, + 1 + ] + ], + [ + "B", + 1292, + [ + 258, + 130, + 64, + 34, + 16, + 10, + 4, + 1 + ], + [ + 262, + 134, + 64, + 38, + 20, + 10, + 1 + ] + ], + [ + "B", + 1295, + [ + 258, + 130, + 66, + 32, + 18, + 8, + 4, + 1 + ], + [ + 262, + 134, + 70, + 32, + 18, + 12, + 1 + ] + ], + [ + "B", + 1298, + [ + 256, + 128, + 64, + 34, + 18, + 8, + 4, + 1 + ], + [ + 256, + 128, + 64, + 38, + 18, + 12, + 1 + ] + ], + [ + "B", + 1301, + [ + 256, + 128, + 66, + 32, + 16, + 10, + 4, + 1 + ], + [ + 256, + 128, + 70, + 32, + 20, + 10, + 1 + ] + ], + [ + "B", + 1304, + [ + 256, + 132, + 68, + 36, + 20, + 8, + 2, + 1 + ], + [ + 256, + 134, + 70, + 38, + 20, + 10, + 1 + ] + ], + [ + "B", + 1307, + [ + 256, + 130, + 64, + 32, + 16, + 10, + 4, + 1 + ], + [ + 256, + 134, + 64, + 32, + 20, + 10, + 1 + ] + ], + [ + "B", + 1310, + [ + 258, + 128, + 66, + 34, + 16, + 10, + 4, + 1 + ], + [ + 262, + 128, + 70, + 38, + 20, + 10, + 1 + ] + ], + [ + "B", + 1313, + [ + 260, + 128, + 64, + 32, + 20, + 8, + 2, + 1 + ], + [ + 262, + 128, + 64, + 32, + 20, + 10, + 1 + ] + ], + [ + "B", + 1316, + [ + 256, + 128, + 65, + 33, + 16, + 9, + 5, + 2 + ], + [ + 256, + 128, + 65, + 33, + 18, + 11, + 7 + ] + ], + [ + "B", + 1319, + [ + 256, + 128, + 64, + 32, + 17, + 8, + 4, + 3 + ], + [ + 256, + 128, + 64, + 32, + 18, + 11, + 7 + ] + ], + [ + "B", + 1322, + [ + 257, + 129, + 65, + 33, + 17, + 8, + 5, + 2 + ], + [ + 257, + 129, + 65, + 33, + 19, + 10, + 7 + ] + ], + [ + "B", + 1325, + [ + 257, + 129, + 64, + 32, + 16, + 9, + 4, + 3 + ], + [ + 257, + 129, + 64, + 32, + 19, + 10, + 7 + ] + ], + [ + "B", + 1328, + [ + 257, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ], + [ + 257, + 128, + 64, + 33, + 18, + 11, + 7 + ] + ], + [ + "B", + 1331, + [ + 257, + 128, + 65, + 32, + 16, + 9, + 4, + 3 + ], + [ + 257, + 128, + 65, + 32, + 19, + 10, + 7 + ] + ], + [ + "B", + 1334, + [ + 256, + 129, + 64, + 33, + 16, + 9, + 5, + 2 + ], + [ + 256, + 129, + 64, + 33, + 18, + 11, + 7 + ] + ], + [ + "B", + 1337, + [ + 256, + 129, + 65, + 32, + 17, + 8, + 5, + 2 + ], + [ + 256, + 129, + 65, + 32, + 19, + 10, + 7 + ] + ], + [ + "B", + 1340, + [ + 257, + 129, + 64, + 33, + 16, + 8, + 4, + 3 + ], + [ + 257, + 129, + 64, + 33, + 24, + 4, + 3 + ] + ], + [ + "B", + 1343, + [ + 257, + 129, + 65, + 32, + 17, + 9, + 5, + 2 + ], + [ + 257, + 129, + 65, + 32, + 24, + 5, + 2 + ] + ], + [ + "B", + 1346, + [ + 256, + 128, + 64, + 33, + 17, + 9, + 5, + 2 + ], + [ + 256, + 128, + 64, + 33, + 24, + 5, + 2 + ] + ], + [ + "B", + 1349, + [ + 256, + 128, + 65, + 32, + 16, + 8, + 4, + 3 + ], + [ + 256, + 128, + 65, + 32, + 24, + 4, + 3 + ] + ], + [ + "B", + 1352, + [ + 256, + 129, + 65, + 33, + 17, + 9, + 4, + 3 + ], + [ + 256, + 129, + 65, + 33, + 24, + 4, + 3 + ] + ], + [ + "B", + 1355, + [ + 256, + 129, + 64, + 32, + 16, + 8, + 4, + 3 + ], + [ + 256, + 129, + 64, + 32, + 24, + 4, + 3 + ] + ], + [ + "B", + 1358, + [ + 257, + 128, + 65, + 33, + 16, + 8, + 4, + 3 + ], + [ + 257, + 128, + 65, + 33, + 24, + 4, + 3 + ] + ], + [ + "B", + 1361, + [ + 257, + 128, + 64, + 32, + 17, + 9, + 4, + 3 + ], + [ + 257, + 128, + 64, + 32, + 24, + 4, + 3 + ] + ], + [ + "B", + 1364, + [ + 257, + 128, + 65, + 33, + 16, + 9, + 5, + 3 + ], + [ + 257, + 128, + 65, + 33, + 16, + 9, + 6 + ] + ], + [ + "B", + 1367, + [ + 257, + 128, + 64, + 32, + 16, + 9, + 5, + 3 + ], + [ + 257, + 128, + 64, + 32, + 16, + 9, + 6 + ] + ], + [ + "B", + 1370, + [ + 256, + 129, + 65, + 33, + 16, + 9, + 5, + 3 + ], + [ + 256, + 129, + 65, + 33, + 16, + 9, + 6 + ] + ], + [ + "B", + 1373, + [ + 256, + 129, + 64, + 32, + 16, + 9, + 5, + 3 + ], + [ + 256, + 129, + 64, + 32, + 16, + 9, + 6 + ] + ], + [ + "B", + 1376, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 5, + 3 + ], + [ + 256, + 128, + 64, + 33, + 17, + 8, + 6 + ] + ], + [ + "B", + 1379, + [ + 256, + 128, + 65, + 32, + 16, + 9, + 5, + 3 + ], + [ + 256, + 128, + 65, + 32, + 16, + 9, + 6 + ] + ], + [ + "B", + 1382, + [ + 257, + 129, + 64, + 33, + 16, + 9, + 5, + 3 + ], + [ + 257, + 129, + 64, + 33, + 16, + 9, + 6 + ] + ], + [ + "B", + 1385, + [ + 257, + 129, + 65, + 32, + 17, + 8, + 5, + 3 + ], + [ + 257, + 129, + 65, + 32, + 17, + 8, + 6 + ] + ], + [ + "B", + 1388, + [ + 256, + 129, + 64, + 33, + 16, + 8, + 5, + 3 + ], + [ + 256, + 129, + 64, + 33, + 16, + 8, + 6 + ] + ], + [ + "B", + 1391, + [ + 256, + 129, + 64, + 33, + 17, + 9, + 5, + 3 + ], + [ + 256, + 129, + 64, + 33, + 17, + 9, + 6 + ] + ], + [ + "B", + 1394, + [ + 257, + 128, + 64, + 33, + 17, + 9, + 5, + 3 + ], + [ + 257, + 128, + 64, + 33, + 17, + 9, + 6 + ] + ], + [ + "B", + 1397, + [ + 257, + 128, + 64, + 33, + 16, + 8, + 5, + 3 + ], + [ + 257, + 128, + 64, + 33, + 16, + 8, + 6 + ] + ], + [ + "B", + 1398, + [ + 256, + 128, + 64, + 34, + 24, + 6, + 1 + ], + [ + 257, + 129, + 65, + 35, + 24, + 6 + ] + ], + [ + "B", + 1399, + [ + 256, + 128, + 64, + 34, + 24, + 6, + 1 + ], + [ + 257, + 129, + 65, + 35, + 24, + 6 + ] + ], + [ + "B", + 1402, + [ + 256, + 128, + 64, + 24, + 4, + 2, + 1 + ], + [ + 257, + 129, + 65, + 24, + 4, + 2 + ] + ], + [ + "B", + 1403, + [ + 256, + 128, + 64, + 24, + 4, + 2, + 1 + ], + [ + 257, + 129, + 65, + 24, + 4, + 2 + ] + ], + [ + "B", + 1406, + [ + 256, + 128, + 64, + 42, + 24, + 6, + 1 + ], + [ + 257, + 129, + 65, + 42, + 24, + 6 + ] + ], + [ + "B", + 1407, + [ + 256, + 128, + 64, + 42, + 24, + 6, + 1 + ], + [ + 257, + 129, + 65, + 42, + 24, + 6 + ] + ], + [ + "B", + 1410, + [ + 256, + 128, + 64, + 18, + 10, + 6, + 1 + ], + [ + 257, + 129, + 65, + 19, + 11, + 6 + ] + ], + [ + "B", + 1411, + [ + 256, + 128, + 64, + 18, + 10, + 6, + 1 + ], + [ + 257, + 129, + 65, + 19, + 11, + 6 + ] + ], + [ + "B", + 1814, + [ + 256, + 129, + 64, + 33, + 24, + 5, + 3 + ], + [ + 259, + 129, + 67, + 33, + 24, + 6 + ] + ], + [ + "B", + 1815, + [ + 256, + 129, + 64, + 33, + 24, + 5, + 3 + ], + [ + 259, + 129, + 67, + 33, + 24, + 6 + ] + ], + [ + "B", + 1818, + [ + 256, + 129, + 64, + 33, + 24, + 4, + 2 + ], + [ + 320, + 129, + 33, + 24, + 4, + 2 + ] + ], + [ + "B", + 1819, + [ + 256, + 129, + 64, + 33, + 24, + 4, + 2 + ], + [ + 320, + 129, + 33, + 24, + 4, + 2 + ] + ], + [ + "B", + 1822, + [ + 256, + 129, + 64, + 33, + 18, + 10, + 6 + ], + [ + 266, + 129, + 74, + 33, + 24, + 6 + ] + ], + [ + "B", + 1823, + [ + 256, + 129, + 64, + 33, + 18, + 10, + 6 + ], + [ + 266, + 129, + 74, + 33, + 24, + 6 + ] + ], + [ + "B", + 1826, + [ + 256, + 129, + 64, + 33, + 19, + 11, + 6 + ], + [ + 320, + 129, + 33, + 19, + 11, + 6 + ] + ], + [ + "B", + 1827, + [ + 256, + 129, + 64, + 33, + 19, + 11, + 6 + ], + [ + 320, + 129, + 33, + 19, + 11, + 6 + ] + ], + [ + "T", + 76, + [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ], + [ + 386, + 67, + 33, + 24, + 6 + ] + ], + [ + "T", + 97, + [ + 256, + 128, + 72, + 40, + 24, + 4, + 2, + 1 + ], + [ + 386, + 74, + 40, + 26, + 6, + 1 + ] + ] + ], + "expected": { + "output_content_sha256": "db2c7cfb3f8eee2b76c2e0154fc530520fb4d90cd9511a002cab527b16033b83", + "local_profile": { + "1": 2412, + "2": 418, + "3": 418, + "4": 170, + "5": 68, + "8": 8 + }, + "width_inventory": { + "4": 56, + "5": 32, + "7": 30, + "8": 122, + "9": 240 + } + } +} \ No newline at end of file diff --git a/research/gauge44-slots/construction/leaver/HPE-RECIPE-k8.json b/research/gauge44-slots/construction/leaver/HPE-RECIPE-k8.json new file mode 100644 index 0000000000..94d36f2279 --- /dev/null +++ b/research/gauge44-slots/construction/leaver/HPE-RECIPE-k8.json @@ -0,0 +1 @@ +{"changes": [{"helper": 448, "cleanup_index": 630, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 449, "cleanup_index": 629, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 450, "cleanup_index": 628, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 451, "cleanup_index": 627, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 452, "cleanup_index": 626, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 453, "cleanup_index": 625, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 454, "cleanup_index": 624, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 455, "cleanup_index": 623, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 484, "cleanup_index": 585, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 485, "cleanup_index": 584, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 508, "cleanup_index": 549, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 509, "cleanup_index": 548, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 532, "cleanup_index": 515, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 533, "cleanup_index": 514, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 556, "cleanup_index": 483, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 557, "cleanup_index": 482, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 584, "cleanup_index": 455, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 585, "cleanup_index": 454, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 587, "cleanup_index": 452, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 589, "cleanup_index": 450, "frame": [256, 128, 64, 32, 18, 10, 6, 1]}, {"helper": 590, "cleanup_index": 449, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}, {"helper": 591, "cleanup_index": 448, "frame": [256, 128, 64, 32, 24, 4, 2, 1]}]} \ No newline at end of file diff --git a/research/gauge44-slots/construction/leaver/LEAVER-PINS-k8.json b/research/gauge44-slots/construction/leaver/LEAVER-PINS-k8.json new file mode 100644 index 0000000000..b22678629c --- /dev/null +++ b/research/gauge44-slots/construction/leaver/LEAVER-PINS-k8.json @@ -0,0 +1,45 @@ +{ + "raw_sha256": "85c0e64718a9ceafe094e7152ea27ec9d7f804e514b5efaab085a94b7ef1841f", + "regroup_count": 12, + "regroup_sha256": "00aeefe0c778ff64125628d7c869ae1aa27db60911f0289a2d4283af5cff85d2", + "hpe_recipe_sha256": "f04e4d152a9169726d0afabd7c6e0fd2e17388707dd6d10c7b51593e360ab38a", + "pairing_ranks": [ + 0, + 0, + 0, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 0, + 0, + 0 + ], + "cold44_sha256": "58e14a02f2c1d4dcfeb363ebd5fa2e713064b5c724d90f6721419a8cfa67729b", + "R": 480, + "local_profile": { + "1": 2394, + "2": 398, + "3": 508, + "4": 142, + "5": 56, + "8": 8 + }, + "width_inventory": { + "4": 40, + "5": 48, + "7": 22, + "8": 114, + "9": 256 + }, + "canonical_sha256": "854c4cfa867bb75b63412044235c3df5af00b3470c3b310aff4df839a1d71c6e", + "program_sha256": { + "forward": "f0e42fdb881155e7712220e1469452f04343b98c5b414ddd1271d80c9fa2a6f1", + "backward": "95df892bdee54f5700780c989edc9bf7618efaa56058af63a946aff63f5dbeb4" + }, + "clifford_recipes_sha256": "aab63b0a825fdf0ca504038a78b7371310eaef2748fbf80af74f7e4e47abce76" +} diff --git a/research/gauge44-slots/construction/leaver/LEC-REASON-PINS-STACK-k8.json b/research/gauge44-slots/construction/leaver/LEC-REASON-PINS-STACK-k8.json new file mode 100644 index 0000000000..820ee8d63a --- /dev/null +++ b/research/gauge44-slots/construction/leaver/LEC-REASON-PINS-STACK-k8.json @@ -0,0 +1,5 @@ +{ + "not_applicable": { + "extra_end": "partner 282 already cold-ended at h0 273 frame (identity)" + } +} diff --git a/research/gauge44-slots/construction/leaver/LEC-REASON-PINS-k8.json b/research/gauge44-slots/construction/leaver/LEC-REASON-PINS-k8.json new file mode 100644 index 0000000000..5218a5f096 --- /dev/null +++ b/research/gauge44-slots/construction/leaver/LEC-REASON-PINS-k8.json @@ -0,0 +1,6 @@ +{ + "not_applicable": { + "extra_end": "partner 282 already cold-ended at h0 273 frame (identity)", + "other_hp:554": "tail frame dim 5; no other helper_final frame of that dim" + } +} diff --git a/research/gauge44-slots/construction/leaver/PIVOT-SWAP-k8.json b/research/gauge44-slots/construction/leaver/PIVOT-SWAP-k8.json new file mode 100644 index 0000000000..7a8edeb1e4 --- /dev/null +++ b/research/gauge44-slots/construction/leaver/PIVOT-SWAP-k8.json @@ -0,0 +1 @@ +{"input_content_sha256": "00aeefe0c778ff64125628d7c869ae1aa27db60911f0289a2d4283af5cff85d2", "output_content_sha256": "377ab10c2bf6173498c8af15f8654060331ec9ee232e58cc75956dc015b23685", "swaps": [{"pivot": 482, "new_pivot": 554, "entrance": [24], "gates": [{"part": "B", "index": 331, "before": ["add", 554, 482, -1, 1, [24]], "after": ["add", 482, 554, -1, 1, [24]]}, {"part": "B", "index": 332, "before": ["add", 616, 482, 2, 1, [24]], "after": ["add", 616, 554, -2, 1, [24]]}, {"part": "B", "index": 333, "before": ["add", 618, 482, -2, 1, [24]], "after": ["add", 618, 554, 2, 1, [24]]}, {"part": "B", "index": 334, "before": ["add", 664, 482, 1, 1, [24]], "after": ["add", 664, 554, -1, 1, [24]]}, {"part": "B", "index": 335, "before": ["add", 666, 482, -1, 1, [24]], "after": ["add", 666, 554, 1, 1, [24]]}]}, {"pivot": 483, "new_pivot": 555, "entrance": [24], "gates": [{"part": "B", "index": 468, "before": ["add", 123, 483, 1, 1, [24]], "after": ["add", 123, 555, -1, 1, [24]]}, {"part": "B", "index": 504, "before": ["add", 187, 483, -1, 1, [24]], "after": ["add", 187, 555, 1, 1, [24]]}, {"part": "B", "index": 734, "before": ["add", 555, 483, -1, 1, [24]], "after": ["add", 483, 555, -1, 1, [24]]}]}, {"pivot": 494, "new_pivot": 566, "entrance": [24], "gates": [{"part": "B", "index": 128, "before": ["add", 628, 494, 2, 1, [24]], "after": ["add", 628, 566, -2, 1, [24]]}, {"part": "B", "index": 130, "before": ["add", 628, 494, -2, 1, [24]], "after": ["add", 628, 566, 2, 1, [24]]}, {"part": "B", "index": 230, "before": ["add", 676, 494, -2, 1, [24]], "after": ["add", 676, 566, 2, 1, [24]]}, {"part": "B", "index": 232, "before": ["add", 676, 494, 2, 1, [24]], "after": ["add", 676, 566, -2, 1, [24]]}, {"part": "B", "index": 750, "before": ["add", 566, 494, -1, 1, [24]], "after": ["add", 494, 566, -1, 1, [24]]}]}, {"pivot": 495, "new_pivot": 567, "entrance": [24], "gates": [{"part": "B", "index": 49, "before": ["add", 211, 495, -1, 1, [24]], "after": ["add", 211, 567, 1, 1, [24]]}, {"part": "B", "index": 477, "before": ["add", 147, 495, 1, 1, [24]], "after": ["add", 147, 567, -1, 1, [24]]}, {"part": "B", "index": 752, "before": ["add", 567, 495, -1, 1, [24]], "after": ["add", 495, 567, -1, 1, [24]]}]}, {"pivot": 507, "new_pivot": 531, "entrance": [30], "gates": [{"part": "B", "index": 459, "before": ["add", 115, 507, -1, 1, [30]], "after": ["add", 115, 531, 1, 1, [30]]}, {"part": "B", "index": 495, "before": ["add", 179, 507, 1, 1, [30]], "after": ["add", 179, 531, -1, 1, [30]]}, {"part": "B", "index": 770, "before": ["add", 531, 507, -1, 1, [30]], "after": ["add", 507, 531, -1, 1, [30]]}]}, {"pivot": 519, "new_pivot": 543, "entrance": [30], "gates": [{"part": "B", "index": 486, "before": ["add", 155, 519, -1, 1, [30]], "after": ["add", 155, 543, 1, 1, [30]]}, {"part": "B", "index": 521, "before": ["add", 219, 519, 1, 1, [30]], "after": ["add", 219, 543, -1, 1, [30]]}, {"part": "B", "index": 788, "before": ["add", 543, 519, -1, 1, [30]], "after": ["add", 519, 543, -1, 1, [30]]}]}]} \ No newline at end of file diff --git a/research/gauge44-slots/construction/leaver/PROMO-RECIPE-k8.json b/research/gauge44-slots/construction/leaver/PROMO-RECIPE-k8.json new file mode 100644 index 0000000000..1952580fc8 --- /dev/null +++ b/research/gauge44-slots/construction/leaver/PROMO-RECIPE-k8.json @@ -0,0 +1,971 @@ +{ + "input_content_sha256": "25c406149bd3fddf8548ea03521983720d88b11096ce1c1f01e6d480ce50ce18", + "groups": [ + 627, + 629, + 630, + 631, + 635, + 637, + 638, + 639, + 651, + 653, + 654, + 655, + 659, + 661, + 662, + 663 + ], + "entrances": { + "603": [ + 408, + 80, + 40, + 6, + 1 + ], + "605": [ + 408, + 80, + 40, + 6, + 1 + ], + "606": [ + 408, + 80, + 40, + 6, + 1 + ], + "607": [ + 408, + 80, + 40, + 6, + 1 + ], + "611": [ + 272, + 144, + 96, + 6, + 1 + ], + "613": [ + 272, + 144, + 96, + 6, + 1 + ], + "614": [ + 272, + 144, + 96, + 6, + 1 + ], + "615": [ + 272, + 144, + 96, + 6, + 1 + ], + "627": [ + 390, + 68, + 34, + 24, + 1 + ], + "629": [ + 390, + 68, + 34, + 24, + 1 + ], + "630": [ + 390, + 68, + 34, + 24, + 1 + ], + "631": [ + 390, + 68, + 34, + 24, + 1 + ], + "635": [ + 298, + 170, + 102, + 30, + 1 + ], + "637": [ + 298, + 170, + 102, + 30, + 1 + ], + "638": [ + 298, + 170, + 102, + 30, + 1 + ], + "639": [ + 298, + 170, + 102, + 30, + 1 + ] + }, + "gate_frames": [ + [ + "B", + 372, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 373, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 374, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 375, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 376, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 377, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 378, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 379, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 380, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 381, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 382, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 383, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 384, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 385, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 386, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 387, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 388, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 389, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 390, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 391, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 392, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 393, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 394, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 395, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 396, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 397, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 398, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 399, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 400, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 401, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 402, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 403, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 404, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 405, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 406, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 407, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 408, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 409, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 410, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 411, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 412, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 413, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 414, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 415, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 416, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 417, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 418, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 419, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ] + ], + "expected": { + "output_content_sha256": "84d4da2e2ee227821c132a635c41415243d083935c0410ec4ded805d00d645a4", + "local_profile": { + "1": 2460, + "2": 388, + "3": 466, + "4": 152, + "5": 56, + "8": 8 + }, + "width_inventory": { + "4": 56, + "5": 32, + "7": 30, + "8": 122, + "9": 240 + } + } +} \ No newline at end of file diff --git a/research/gauge44-slots/construction/leaver/RECIPE-U8-k8.json b/research/gauge44-slots/construction/leaver/RECIPE-U8-k8.json new file mode 100644 index 0000000000..98ea6e3d23 --- /dev/null +++ b/research/gauge44-slots/construction/leaver/RECIPE-U8-k8.json @@ -0,0 +1,933 @@ +{ + "base_sha256": "84d4da2e2ee227821c132a635c41415243d083935c0410ec4ded805d00d645a4", + "B_delete": [ + 1, + 3, + 5, + 7, + 9, + 11, + 878, + 880, + 886, + 888, + 894, + 896, + 902, + 904, + 910, + 912, + 918, + 920, + 1167, + 1169, + 1175, + 1177, + 1183, + 1185, + 1191, + 1193, + 1199, + 1201, + 1207, + 1209 + ], + "B_insert": [ + [ + 1, + [ + "add", + 125, + 448, + 1, + 2, + [ + 24 + ] + ] + ], + [ + 3, + [ + "add", + 121, + 449, + 1, + 2, + [ + 24 + ] + ] + ], + [ + 5, + [ + "add", + 181, + 450, + 1, + 2, + [ + 30 + ] + ] + ], + [ + 7, + [ + "add", + 177, + 451, + 1, + 2, + [ + 30 + ] + ] + ], + [ + 9, + [ + "add", + 117, + 452, + -1, + 1, + [ + 30 + ] + ] + ], + [ + 11, + [ + "add", + 113, + 453, + -1, + 1, + [ + 30 + ] + ] + ], + [ + 724, + [ + "add", + 472, + 231, + 1, + 1, + [ + 386, + 64, + 34, + 24, + 4, + 1 + ] + ] + ], + [ + 725, + [ + "add", + 473, + 226, + 1, + 1, + [ + 388, + 68, + 32, + 24, + 2, + 1 + ] + ] + ], + [ + 741, + [ + "add", + 484, + 448, + 1, + 1, + [ + 260, + 132, + 70, + 38, + 24, + 1 + ] + ] + ], + [ + 742, + [ + "add", + 485, + 449, + 1, + 1, + [ + 260, + 132, + 64, + 32, + 24, + 1 + ] + ] + ], + [ + 759, + [ + "add", + 496, + 230, + 1, + 1, + [ + 390, + 70, + 38, + 20, + 10, + 1 + ] + ] + ], + [ + 760, + [ + "add", + 497, + 228, + 1, + 1, + [ + 390, + 64, + 32, + 20, + 10, + 1 + ] + ] + ], + [ + 777, + [ + "add", + 508, + 450, + 1, + 1, + [ + 268, + 140, + 64, + 38, + 30, + 1 + ] + ] + ], + [ + 778, + [ + "add", + 509, + 451, + 1, + 1, + [ + 266, + 138, + 70, + 32, + 30, + 1 + ] + ] + ], + [ + 795, + [ + "add", + 520, + 232, + -2, + 1, + [ + 385, + 64, + 33, + 18, + 11, + 7 + ] + ] + ], + [ + 796, + [ + "add", + 521, + 62, + -2, + 1, + [ + 385, + 65, + 32, + 19, + 10, + 7 + ] + ] + ], + [ + 811, + [ + "add", + 532, + 452, + -2, + 1, + [ + 267, + 139, + 65, + 33, + 25, + 7 + ] + ] + ], + [ + 812, + [ + "add", + 533, + 453, + -2, + 1, + [ + 267, + 139, + 64, + 32, + 25, + 7 + ] + ] + ], + [ + 1167, + [ + "add", + 125, + 448, + -1, + 2, + [ + 256, + 128, + 66, + 34, + 24, + 4, + 1 + ] + ] + ], + [ + 1169, + [ + "add", + 121, + 449, + -1, + 2, + [ + 260, + 132, + 64, + 32, + 24, + 2, + 1 + ] + ] + ], + [ + 1175, + [ + "add", + 149, + 231, + -1, + 2, + [ + 258, + 128, + 64, + 34, + 24, + 4, + 1 + ] + ] + ], + [ + 1177, + [ + "add", + 145, + 226, + -1, + 2, + [ + 256, + 132, + 68, + 32, + 24, + 2, + 1 + ] + ] + ], + [ + 1183, + [ + "add", + 181, + 450, + -1, + 2, + [ + 262, + 134, + 64, + 38, + 20, + 10, + 1 + ] + ] + ], + [ + 1185, + [ + "add", + 177, + 451, + -1, + 2, + [ + 256, + 128, + 70, + 32, + 20, + 10, + 1 + ] + ] + ], + [ + 1191, + [ + "add", + 221, + 230, + -1, + 2, + [ + 256, + 134, + 70, + 38, + 20, + 10, + 1 + ] + ] + ], + [ + 1193, + [ + "add", + 217, + 228, + -1, + 2, + [ + 262, + 128, + 64, + 32, + 20, + 10, + 1 + ] + ] + ], + [ + 1199, + [ + "add", + 117, + 452, + 1, + 1, + [ + 256, + 128, + 65, + 33, + 18, + 11, + 7 + ] + ] + ], + [ + 1201, + [ + "add", + 113, + 453, + 1, + 1, + [ + 257, + 129, + 64, + 32, + 19, + 10, + 7 + ] + ] + ], + [ + 1207, + [ + "add", + 157, + 232, + 1, + 1, + [ + 257, + 128, + 64, + 33, + 18, + 11, + 7 + ] + ] + ], + [ + 1209, + [ + "add", + 153, + 62, + 1, + 1, + [ + 256, + 129, + 65, + 32, + 19, + 10, + 7 + ] + ] + ] + ], + "B_frames": {}, + "tail_insert": [ + [ + 5, + [ + "add", + 484, + 448, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + ] + ], + [ + 3, + [ + "add", + 508, + 450, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ] + ], + [ + 1, + [ + "add", + 532, + 452, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ] + ], + [ + 4, + [ + "add", + 485, + 449, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + ] + ], + [ + 2, + [ + "add", + 509, + 451, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ] + ], + [ + 0, + [ + "add", + 533, + 453, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ] + ] + ], + "cleanup_prepend": [ + [ + "add", + 472, + 231, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 496, + 230, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 520, + 232, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 473, + 226, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 497, + 228, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 521, + 62, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ] + ], + "local_profile": { + "1": 2460, + "2": 388, + "3": 478, + "4": 128, + "5": 68, + "8": 8 + }, + "expect_sha256": "c836d8922fc9e50529e006488ca2ce4a542a93150de0e0e8f7d3955ad991968f", + "priced": { + "dk_ideal_stored_frames": 2.38661054604997e-07 + }, + "variants": [ + { + "X": 231, + "E": 448, + "dsides": [ + 878, + 886 + ], + "donors": [ + 448, + 231 + ], + "hold": [ + 484, + 472 + ], + "kept": { + "1167": 448, + "1175": 231 + }, + "when": "mid" + }, + { + "X": 230, + "E": 450, + "dsides": [ + 894, + 902 + ], + "donors": [ + 450, + 230 + ], + "hold": [ + 508, + 496 + ], + "kept": { + "1183": 450, + "1191": 230 + }, + "when": "mid" + }, + { + "X": 232, + "E": 452, + "dsides": [ + 910, + 918 + ], + "donors": [ + 452, + 232 + ], + "hold": [ + 532, + 520 + ], + "kept": { + "1199": 452, + "1207": 232 + }, + "when": "mid" + }, + { + "X": 226, + "E": 449, + "dsides": [ + 880, + 888 + ], + "donors": [ + 449, + 226 + ], + "hold": [ + 485, + 473 + ], + "kept": { + "1169": 449, + "1177": 226 + }, + "when": "mid" + }, + { + "X": 228, + "E": 451, + "dsides": [ + 896, + 904 + ], + "donors": [ + 451, + 228 + ], + "hold": [ + 509, + 497 + ], + "kept": { + "1185": 451, + "1193": 228 + }, + "when": "mid" + }, + { + "X": 62, + "E": 453, + "dsides": [ + 912, + 920 + ], + "donors": [ + 453, + 62 + ], + "hold": [ + 533, + 521 + ], + "kept": { + "1201": 453, + "1209": 62 + }, + "when": "mid" + } + ], + "source": "NewBArch RECIPE-U8 (X4 1e1d99ba), instances [62, 226, 228, 230, 231, 232] ported by LeaverSAT/hyb.py; X=236 dropped (its tail uses dropped copy helper 449)" +} \ No newline at end of file diff --git a/research/gauge44-slots/construction/leaver/RECIPE-X4-k8.json b/research/gauge44-slots/construction/leaver/RECIPE-X4-k8.json new file mode 100644 index 0000000000..3483acd5a5 --- /dev/null +++ b/research/gauge44-slots/construction/leaver/RECIPE-X4-k8.json @@ -0,0 +1,75 @@ +{ + "input_content_sha256": "84d4da2e2ee227821c132a635c41415243d083935c0410ec4ded805d00d645a4", + "input_word": "leaver k8 sw4-stage word", + "frames_741_source": { + "pr": 741, + "commit": "e516b146", + "recipe": "scratch/WasteAttack/FRAME-RECIPE-741.json", + "frames_only_output_sha": "84d4da2e2ee227821c132a635c41415243d083935c0410ec4ded805d00d645a4", + "note": "leaver: surviving #741 frames only" + }, + "frames_741": [], + "raises": [], + "edits": { + "replace": [], + "delete": [], + "insert": [] + }, + "expected": { + "output_content_sha256": "84d4da2e2ee227821c132a635c41415243d083935c0410ec4ded805d00d645a4", + "local_profile": { + "1": 2460, + "2": 388, + "3": 466, + "4": 152, + "5": 56, + "8": 8 + } + }, + "controls": { + "C0_identity": { + "mutation": { + "kind": "empty" + }, + "expected_sha": "84d4da2e2ee227821c132a635c41415243d083935c0410ec4ded805d00d645a4", + "local_profile": { + "1": 2460, + "2": 388, + "3": 466, + "4": 152, + "5": 56, + "8": 8 + } + }, + "C1_741_only": { + "mutation": { + "kind": "only_edits_of", + "h": [], + "raises": [] + }, + "expected_sha": "84d4da2e2ee227821c132a635c41415243d083935c0410ec4ded805d00d645a4", + "local_profile": { + "1": 2460, + "2": 388, + "3": 466, + "4": 152, + "5": 56, + "8": 8 + } + }, + "N3_plain_join_moved_reads": { + "mutation": { + "kind": "drop_raises" + }, + "expected_sha": "84d4da2e2ee227821c132a635c41415243d083935c0410ec4ded805d00d645a4", + "local_profile": { + "1": 2460, + "2": 388, + "3": 466, + "4": 152, + "5": 56, + "8": 8 + } + } + } +} \ No newline at end of file diff --git a/research/gauge44-slots/construction/leaver/REGROUP-LEAVER-k8.json b/research/gauge44-slots/construction/leaver/REGROUP-LEAVER-k8.json new file mode 100644 index 0000000000..d482da23a8 --- /dev/null +++ b/research/gauge44-slots/construction/leaver/REGROUP-LEAVER-k8.json @@ -0,0 +1,725 @@ +{ + "source": "PR635 k492-jp8-frame_regroup + PR646 k480-jp8-frame_regroup, changes whose before gate occurs in the leaver port3 word", + "changes": [ + { + "section": "B", + "index": 600, + "before": [ + "add", + 133, + 233, + -1, + 2, + [ + 272, + 144, + 80, + 48, + 8, + 6 + ] + ], + "after": [ + "add", + 133, + 233, + -1, + 2, + [ + 272, + 144, + 80, + 48, + 8, + 6, + 1 + ] + ], + "delta": { + "1": -3, + "2": 3, + "3": -1 + } + }, + { + "section": "B", + "index": 601, + "before": [ + "add", + 141, + 249, + -1, + 2, + [ + 256, + 136, + 64, + 40, + 16, + 6 + ] + ], + "after": [ + "add", + 141, + 249, + -1, + 2, + [ + 256, + 136, + 64, + 40, + 16, + 6, + 1 + ] + ], + "delta": { + "1": -3, + "2": 3, + "3": -1 + } + }, + { + "section": "B", + "index": 602, + "before": [ + "add", + 173, + 265, + -1, + 2, + [ + 256, + 128, + 64, + 40, + 24, + 6 + ] + ], + "after": [ + "add", + 173, + 265, + -1, + 2, + [ + 256, + 128, + 64, + 40, + 24, + 6, + 1 + ] + ], + "delta": { + "1": -3, + "2": 3, + "3": -1 + } + }, + { + "section": "B", + "index": 631, + "before": [ + "add", + 205, + 409, + -1, + 2, + [ + 273, + 128, + 81, + 49, + 9, + 6 + ] + ], + "after": [ + "add", + 205, + 409, + -1, + 2, + [ + 257, + 128, + 65, + 33, + 16, + 9, + 6 + ] + ], + "delta": { + "1": -3, + "2": 3, + "3": -1 + } + }, + { + "section": "B", + "index": 663, + "before": [ + "add", + 165, + 26, + 1, + 1, + [ + 256, + 137, + 72, + 33, + 24, + 6 + ] + ], + "after": [ + "add", + 165, + 26, + 1, + 1, + [ + 256, + 129, + 64, + 33, + 16, + 8, + 6 + ] + ], + "delta": { + "1": -3, + "2": 3, + "3": -1 + } + }, + { + "section": "B", + "index": 685, + "before": [ + "add", + 194, + 429, + 1, + 1, + [ + 272, + 144, + 65, + 49, + 8, + 6 + ] + ], + "after": [ + "add", + 194, + 429, + 1, + 1, + [ + 257, + 129, + 65, + 32, + 17, + 8, + 6 + ] + ], + "delta": { + "1": -3, + "2": 3, + "3": -1 + } + }, + { + "section": "B", + "index": 552, + "before": [ + "add", + 133, + 233, + -1, + 2, + [ + 272, + 144, + 80, + 48, + 8, + 6 + ] + ], + "after": [ + "add", + 133, + 233, + -1, + 2, + [ + 272, + 144, + 80, + 48, + 8, + 6, + 1 + ] + ], + "delta": { + "1": -3, + "2": 3, + "3": -1 + } + }, + { + "section": "B", + "index": 553, + "before": [ + "add", + 141, + 249, + -1, + 2, + [ + 256, + 136, + 64, + 40, + 16, + 6 + ] + ], + "after": [ + "add", + 141, + 249, + -1, + 2, + [ + 256, + 136, + 64, + 40, + 16, + 6, + 1 + ] + ], + "delta": { + "1": -3, + "2": 3, + "3": -1 + } + }, + { + "section": "B", + "index": 554, + "before": [ + "add", + 173, + 265, + -1, + 2, + [ + 256, + 128, + 64, + 40, + 24, + 6 + ] + ], + "after": [ + "add", + 173, + 265, + -1, + 2, + [ + 256, + 128, + 64, + 40, + 24, + 6, + 1 + ] + ], + "delta": { + "1": -3, + "2": 3, + "3": -1 + } + }, + { + "section": "B", + "index": 582, + "before": [ + "add", + 129, + 56, + -1, + 2, + [ + 256, + 128, + 64, + 32, + 16, + 6 + ] + ], + "after": [ + "add", + 129, + 56, + -1, + 2, + [ + 256, + 128, + 64, + 32, + 16, + 6, + 1 + ] + ], + "delta": { + "1": -3, + "2": 3, + "3": -1 + } + }, + { + "section": "B", + "index": 583, + "before": [ + "add", + 137, + 24, + -1, + 2, + [ + 272, + 128, + 80, + 32, + 8, + 6 + ] + ], + "after": [ + "add", + 137, + 24, + -1, + 2, + [ + 272, + 128, + 80, + 32, + 8, + 6, + 1 + ] + ], + "delta": { + "1": -3, + "2": 3, + "3": -1 + } + }, + { + "section": "B", + "index": 584, + "before": [ + "add", + 169, + 16, + -1, + 2, + [ + 320, + 192, + 32, + 16, + 8, + 6 + ] + ], + "after": [ + "add", + 169, + 16, + -1, + 2, + [ + 320, + 192, + 32, + 16, + 8, + 6, + 1 + ] + ], + "delta": { + "1": -3, + "2": 3, + "3": -1 + } + }, + { + "section": "B", + "index": 613, + "before": [ + "add", + 205, + 409, + -1, + 2, + [ + 273, + 128, + 81, + 49, + 9, + 6 + ] + ], + "after": [ + "add", + 205, + 409, + -1, + 2, + [ + 257, + 128, + 65, + 33, + 16, + 9, + 6 + ] + ], + "delta": { + "1": -3, + "2": 3, + "3": -1 + } + }, + { + "section": "B", + "index": 643, + "before": [ + "add", + 201, + 88, + -1, + 2, + [ + 256, + 145, + 64, + 32, + 9, + 6 + ] + ], + "after": [ + "add", + 201, + 88, + -1, + 2, + [ + 256, + 129, + 64, + 32, + 16, + 9, + 6 + ] + ], + "delta": { + "1": -3, + "2": 3, + "3": -1 + } + }, + { + "section": "B", + "index": 675, + "before": [ + "add", + 165, + 26, + 1, + 1, + [ + 256, + 137, + 72, + 33, + 24, + 6 + ] + ], + "after": [ + "add", + 165, + 26, + 1, + 1, + [ + 256, + 129, + 64, + 33, + 16, + 8, + 6 + ] + ], + "delta": { + "1": -3, + "2": 3, + "3": -1 + } + }, + { + "section": "B", + "index": 705, + "before": [ + "add", + 161, + 27, + 1, + 1, + [ + 265, + 128, + 72, + 33, + 24, + 6 + ] + ], + "after": [ + "add", + 161, + 27, + 1, + 1, + [ + 257, + 128, + 64, + 33, + 16, + 8, + 6 + ] + ], + "delta": { + "1": -3, + "2": 3, + "3": -1 + } + }, + { + "section": "B", + "index": 727, + "before": [ + "add", + 194, + 429, + 1, + 1, + [ + 272, + 144, + 65, + 49, + 8, + 6 + ] + ], + "after": [ + "add", + 194, + 429, + 1, + 1, + [ + 257, + 129, + 65, + 32, + 17, + 8, + 6 + ] + ], + "delta": { + "1": -3, + "2": 3, + "3": -1 + } + }, + { + "section": "B", + "index": 757, + "before": [ + "add", + 195, + 431, + 1, + 1, + [ + 256, + 128, + 65, + 41, + 16, + 6 + ] + ], + "after": [ + "add", + 195, + 431, + 1, + 1, + [ + 256, + 128, + 65, + 32, + 16, + 9, + 6 + ] + ], + "delta": { + "1": -3, + "2": 3, + "3": -1 + } + } + ] +} diff --git a/research/gauge44-slots/construction/leaver/TRI-LEAVER-k8.json b/research/gauge44-slots/construction/leaver/TRI-LEAVER-k8.json new file mode 100644 index 0000000000..e3bb24cc49 --- /dev/null +++ b/research/gauge44-slots/construction/leaver/TRI-LEAVER-k8.json @@ -0,0 +1,590 @@ +{ + "full_pairs": [ + [ + 0, + 1 + ], + [ + 2, + 3 + ], + [ + 4, + 5 + ], + [ + 6, + 7 + ] + ], + "triangles": [ + { + "p": [ + 0, + 1 + ], + "e": 1, + "reads": [ + [ + 57, + [ + 0, + 1, + 2, + 3 + ], + 0 + ], + [ + 56, + [ + 0, + 1, + 2, + 3 + ], + 1 + ], + [ + 25, + [ + 0, + 1, + 4, + 5 + ], + 0 + ], + [ + 24, + [ + 0, + 1, + 4, + 5 + ], + 1 + ], + [ + 17, + [ + 0, + 1, + 6, + 7 + ], + 0 + ], + [ + 16, + [ + 0, + 1, + 6, + 7 + ], + 1 + ] + ], + "coded": true, + "cell": 0 + }, + { + "p": [ + 2, + 3 + ], + "e": 1, + "reads": [ + [ + 63, + [ + 0, + 1, + 2, + 3 + ], + 3 + ], + [ + 59, + [ + 0, + 1, + 2, + 3 + ], + 23 + ], + [ + 89, + [ + 2, + 3, + 4, + 5 + ], + 0 + ], + [ + 88, + [ + 2, + 3, + 4, + 5 + ], + 1 + ], + [ + 81, + [ + 2, + 3, + 6, + 7 + ], + 0 + ], + [ + 80, + [ + 2, + 3, + 6, + 7 + ], + 1 + ] + ], + "coded": true, + "cell": 1 + }, + { + "p": [ + 4, + 5 + ], + "e": 1, + "reads": [ + [ + 31, + [ + 0, + 1, + 4, + 5 + ], + 3 + ], + [ + 27, + [ + 0, + 1, + 4, + 5 + ], + 23 + ], + [ + 95, + [ + 2, + 3, + 4, + 5 + ], + 3 + ], + [ + 91, + [ + 2, + 3, + 4, + 5 + ], + 23 + ], + [ + 49, + [ + 4, + 5, + 6, + 7 + ], + 0 + ], + [ + 48, + [ + 4, + 5, + 6, + 7 + ], + 1 + ] + ], + "coded": true, + "cell": 2 + }, + { + "p": [ + 6, + 7 + ], + "e": 1, + "reads": [ + [ + 23, + [ + 0, + 1, + 6, + 7 + ], + 3 + ], + [ + 19, + [ + 0, + 1, + 6, + 7 + ], + 23 + ], + [ + 87, + [ + 2, + 3, + 6, + 7 + ], + 3 + ], + [ + 83, + [ + 2, + 3, + 6, + 7 + ], + 23 + ], + [ + 55, + [ + 4, + 5, + 6, + 7 + ], + 3 + ], + [ + 51, + [ + 4, + 5, + 6, + 7 + ], + 23 + ] + ], + "coded": true, + "cell": 3 + }, + { + "p": [ + 6, + 7 + ], + "e": -1, + "reads": [ + [ + 18, + [ + 0, + 1, + 6, + 7 + ], + 21 + ], + [ + 22, + [ + 0, + 1, + 6, + 7 + ], + 2 + ], + [ + 82, + [ + 2, + 3, + 6, + 7 + ], + 21 + ], + [ + 86, + [ + 2, + 3, + 6, + 7 + ], + 2 + ], + [ + 50, + [ + 4, + 5, + 6, + 7 + ], + 21 + ], + [ + 54, + [ + 4, + 5, + 6, + 7 + ], + 2 + ] + ], + "coded": true, + "cell": 4 + }, + { + "p": [ + 0, + 1 + ], + "e": -1, + "reads": [ + [ + 61, + [ + 0, + 1, + 2, + 3 + ], + 17 + ], + [ + 60, + [ + 0, + 1, + 2, + 3 + ], + 19 + ], + [ + 29, + [ + 0, + 1, + 4, + 5 + ], + 17 + ], + [ + 28, + [ + 0, + 1, + 4, + 5 + ], + 19 + ], + [ + 21, + [ + 0, + 1, + 6, + 7 + ], + 17 + ], + [ + 20, + [ + 0, + 1, + 6, + 7 + ], + 19 + ] + ], + "coded": true, + "cell": 5 + }, + { + "p": [ + 2, + 3 + ], + "e": -1, + "reads": [ + [ + 58, + [ + 0, + 1, + 2, + 3 + ], + 21 + ], + [ + 62, + [ + 0, + 1, + 2, + 3 + ], + 2 + ], + [ + 93, + [ + 2, + 3, + 4, + 5 + ], + 17 + ], + [ + 92, + [ + 2, + 3, + 4, + 5 + ], + 19 + ], + [ + 85, + [ + 2, + 3, + 6, + 7 + ], + 17 + ], + [ + 84, + [ + 2, + 3, + 6, + 7 + ], + 19 + ] + ], + "coded": true, + "cell": 6 + }, + { + "p": [ + 4, + 5 + ], + "e": -1, + "reads": [ + [ + 26, + [ + 0, + 1, + 4, + 5 + ], + 21 + ], + [ + 30, + [ + 0, + 1, + 4, + 5 + ], + 2 + ], + [ + 90, + [ + 2, + 3, + 4, + 5 + ], + 21 + ], + [ + 94, + [ + 2, + 3, + 4, + 5 + ], + 2 + ], + [ + 53, + [ + 4, + 5, + 6, + 7 + ], + 17 + ], + [ + 52, + [ + 4, + 5, + 6, + 7 + ], + 19 + ] + ], + "coded": true, + "cell": 7 + } + ] +} diff --git a/research/gauge44-slots/construction/leaver/build_frames_lv.py b/research/gauge44-slots/construction/leaver/build_frames_lv.py new file mode 100644 index 0000000000..5f8aa7a24b --- /dev/null +++ b/research/gauge44-slots/construction/leaver/build_frames_lv.py @@ -0,0 +1,64 @@ +#!/usr/bin/env python3 +"""Apply the pinned gate/tail frame re-optimisation of FRAME-RECIPE-LV-k5.json (exact global frame optimum, gopt2) to the +leaver U8 word. + +usage: build_frames_lv.py INPUT_WORD.json.gz OUT_DIR RECIPE.json + +Standard library only. The frames are applied by BlockInvert's `../promo/build_promotion.apply` (no entrances; 'B' gate +frames and 'T' tail frames), which checks each old frame and recomputes the local profile and widths. This builder then checks: +input sha pin; the scalar program of A, cut, B, precondition and cleanup unchanged (every field but the frame); start +and end frames unchanged; local profile and width inventory equal to the recipe's; output sha pin. Three pin controls +(input pin, wrong old frame, output pin) must be rejected at their pinned reasons on every build. +Adapted from ../frames/build_frames.py (from PR741's extras/build_frames.py, chafreaky). Apache-2.0. +""" +import copy, gzip, hashlib, importlib.util, json, sys +from pathlib import Path + +HERE = Path(__file__).resolve().parent +_s = importlib.util.spec_from_file_location('promotion', HERE.parent / 'promo/build_promotion.py') +B = importlib.util.module_from_spec(_s); _s.loader.exec_module(B) + + +def construct(raw, recipe): + assert hashlib.sha256(raw).hexdigest() == recipe['input_content_sha256'], 'input word pin' + w = json.loads(raw) + assert recipe['gate_frames'] and all(c[0] in ('B', 'T') for c in recipe['gate_frames']), 'B and T frames only' + out = B.apply(w, dict(entrances={}, gate_frames=recipe['gate_frames'])) + for section in ('A', 'cut', 'B', 'precondition', 'cleanup'): + assert [e[:-1] for e in w[section]] == [e[:-1] for e in out[section]], 'scalar program unchanged' + assert out['start_extra'] == w['start_extra'] and out['helper_final'] == w['helper_final'], 'endpoint frames unchanged' + assert out['report']['local_profile'] == recipe['expected']['local_profile'] and \ + out['report']['width_inventory'] == recipe['expected']['width_inventory'], 'profile and width pins' + data = json.dumps(out, sort_keys=True, separators=(',', ':')).encode() + assert hashlib.sha256(data).hexdigest() == recipe['expected']['output_content_sha256'], 'output word pin' + return data + + +def main(): + assert __debug__, 'Assertions are required' + inp, outd, rfile = map(Path, sys.argv[1:4]) + raw = gzip.decompress(inp.read_bytes()); recipe = json.loads(rfile.read_text()) + data = construct(raw, recipe) + rejected = [] + for name, change, reason in [ + ('input-pin', lambda r: r.__setitem__('input_content_sha256', '0' * 64), 'input word pin'), + ('old-frame', lambda r: r['gate_frames'][0].__setitem__(2, []), 'gate frame mismatch'), + ('output-pin', lambda r: r['expected'].__setitem__('output_content_sha256', '0' * 64), 'output word pin')]: + r = copy.deepcopy(recipe); change(r) + try: + construct(raw, r) + except AssertionError as e: + assert reason in str(e), (name, str(e)); rejected.append(dict(name=name, reason=reason)) + else: + raise AssertionError('accepted ' + name) + outd.mkdir(parents=True) + (outd / 'FULL-WORD.json.gz').write_bytes(gzip.compress(data, mtime=0)) + (outd / 'BUILD.json').write_text(json.dumps(dict( + status='PASS_FRAME_REOPT_EXACT_CONSTRUCTION', input_sha256=hashlib.sha256(raw).hexdigest(), + output_sha256=hashlib.sha256(data).hexdigest(), scalar_program_unchanged=True, frames=len(recipe['gate_frames']), + rejected_controls=rejected), indent=2) + '\n') + print('PASS', len(recipe['gate_frames']), 'frames and three pin controls') + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-slots/construction/leaver/cells-k8/CORE-01+.json b/research/gauge44-slots/construction/leaver/cells-k8/CORE-01+.json new file mode 100644 index 0000000000..bfef820f29 --- /dev/null +++ b/research/gauge44-slots/construction/leaver/cells-k8/CORE-01+.json @@ -0,0 +1,216 @@ +{ + "unit": [ + [ + "y1", + "x0", + 1 + ], + [ + "y0", + "x1", + 1 + ], + [ + "y2", + "x5", + 1 + ], + [ + "y3", + "x4", + 1 + ], + [ + "y4", + "x3", + 1 + ], + [ + "y5", + "x2", + 1 + ], + [ + "x0", + "x1", + 1 + ], + [ + "x2", + "x5", + 1 + ], + [ + "x4", + "x3", + 1 + ], + [ + "y1", + "x2", + 1 + ], + [ + "y3", + "x0", + 1 + ], + [ + "y5", + "x4", + 1 + ], + [ + "y0", + "y5", + 1 + ], + [ + "y2", + "y3", + 1 + ], + [ + "y4", + "y1", + 1 + ], + [ + "y1", + "x4", + 1 + ], + [ + "y0", + "x5", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y4", + "x1", + 1 + ], + [ + "y5", + "x0", + 1 + ] + ], + "scaled": [ + [ + "y1", + "x0", + "-1/2" + ], + [ + "y0", + "x1", + "-1/2" + ], + [ + "y2", + "x5", + "-1/2" + ], + [ + "y3", + "x4", + "-1/2" + ], + [ + "y4", + "x3", + "-1/2" + ], + [ + "y5", + "x2", + "-1/2" + ], + [ + "x0", + "x1", + "1" + ], + [ + "x2", + "x5", + "1" + ], + [ + "x4", + "x3", + "1" + ], + [ + "y1", + "x2", + "-1/2" + ], + [ + "y3", + "x0", + "-1/2" + ], + [ + "y5", + "x4", + "-1/2" + ], + [ + "y0", + "y5", + "1" + ], + [ + "y2", + "y3", + "1" + ], + [ + "y4", + "y1", + "1" + ], + [ + "y1", + "x4", + "-1/2" + ], + [ + "y0", + "x5", + "-1/2" + ], + [ + "y2", + "x3", + "-1/2" + ], + [ + "y3", + "x2", + "-1/2" + ], + [ + "y4", + "x1", + "-1/2" + ], + [ + "y5", + "x0", + "-1/2" + ] + ] +} \ No newline at end of file diff --git a/research/gauge44-slots/construction/leaver/cells-k8/CORE-01-.json b/research/gauge44-slots/construction/leaver/cells-k8/CORE-01-.json new file mode 100644 index 0000000000..3afa894b20 --- /dev/null +++ b/research/gauge44-slots/construction/leaver/cells-k8/CORE-01-.json @@ -0,0 +1,216 @@ +{ + "unit": [ + [ + "y0", + "x1", + 1 + ], + [ + "y1", + "x0", + 1 + ], + [ + "y3", + "x4", + 1 + ], + [ + "y2", + "x5", + 1 + ], + [ + "y5", + "x2", + 1 + ], + [ + "y4", + "x3", + 1 + ], + [ + "x1", + "x0", + 1 + ], + [ + "x3", + "x4", + 1 + ], + [ + "x5", + "x2", + 1 + ], + [ + "y0", + "x3", + 1 + ], + [ + "y2", + "x1", + 1 + ], + [ + "y4", + "x5", + 1 + ], + [ + "y1", + "y4", + 1 + ], + [ + "y3", + "y2", + 1 + ], + [ + "y5", + "y0", + 1 + ], + [ + "y0", + "x5", + 1 + ], + [ + "y1", + "x4", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y5", + "x0", + 1 + ], + [ + "y4", + "x1", + 1 + ] + ], + "scaled": [ + [ + "y0", + "x1", + "-1/2" + ], + [ + "y1", + "x0", + "-1/2" + ], + [ + "y3", + "x4", + "-1/2" + ], + [ + "y2", + "x5", + "-1/2" + ], + [ + "y5", + "x2", + "-1/2" + ], + [ + "y4", + "x3", + "-1/2" + ], + [ + "x1", + "x0", + "1" + ], + [ + "x3", + "x4", + "1" + ], + [ + "x5", + "x2", + "1" + ], + [ + "y0", + "x3", + "-1/2" + ], + [ + "y2", + "x1", + "-1/2" + ], + [ + "y4", + "x5", + "-1/2" + ], + [ + "y1", + "y4", + "1" + ], + [ + "y3", + "y2", + "1" + ], + [ + "y5", + "y0", + "1" + ], + [ + "y0", + "x5", + "-1/2" + ], + [ + "y1", + "x4", + "-1/2" + ], + [ + "y3", + "x2", + "-1/2" + ], + [ + "y2", + "x3", + "-1/2" + ], + [ + "y5", + "x0", + "-1/2" + ], + [ + "y4", + "x1", + "-1/2" + ] + ] +} \ No newline at end of file diff --git a/research/gauge44-slots/construction/leaver/cells-k8/CORE-23+.json b/research/gauge44-slots/construction/leaver/cells-k8/CORE-23+.json new file mode 100644 index 0000000000..98ff8050e7 --- /dev/null +++ b/research/gauge44-slots/construction/leaver/cells-k8/CORE-23+.json @@ -0,0 +1,216 @@ +{ + "unit": [ + [ + "y1", + "x0", + 1 + ], + [ + "y0", + "x1", + 1 + ], + [ + "y2", + "x5", + 1 + ], + [ + "y3", + "x4", + 1 + ], + [ + "y4", + "x3", + 1 + ], + [ + "y5", + "x2", + 1 + ], + [ + "x0", + "x1", + 1 + ], + [ + "x2", + "x5", + 1 + ], + [ + "x4", + "x3", + 1 + ], + [ + "y1", + "x2", + 1 + ], + [ + "y3", + "x0", + 1 + ], + [ + "y5", + "x4", + 1 + ], + [ + "y0", + "y5", + 1 + ], + [ + "y2", + "y3", + 1 + ], + [ + "y4", + "y1", + 1 + ], + [ + "y1", + "x4", + 1 + ], + [ + "y0", + "x5", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y4", + "x1", + 1 + ], + [ + "y5", + "x0", + 1 + ] + ], + "scaled": [ + [ + "y1", + "x0", + "1" + ], + [ + "y0", + "x1", + "1" + ], + [ + "y2", + "x5", + "-1/2" + ], + [ + "y3", + "x4", + "-1/2" + ], + [ + "y4", + "x3", + "-1/2" + ], + [ + "y5", + "x2", + "-1/2" + ], + [ + "x0", + "x1", + "1" + ], + [ + "x2", + "x5", + "1" + ], + [ + "x4", + "x3", + "1" + ], + [ + "y1", + "x2", + "-1/2" + ], + [ + "y3", + "x0", + "1" + ], + [ + "y5", + "x4", + "-1/2" + ], + [ + "y0", + "y5", + "1" + ], + [ + "y2", + "y3", + "1" + ], + [ + "y4", + "y1", + "1" + ], + [ + "y1", + "x4", + "-1/2" + ], + [ + "y0", + "x5", + "-1/2" + ], + [ + "y2", + "x3", + "-1/2" + ], + [ + "y3", + "x2", + "-1/2" + ], + [ + "y4", + "x1", + "1" + ], + [ + "y5", + "x0", + "1" + ] + ] +} \ No newline at end of file diff --git a/research/gauge44-slots/construction/leaver/cells-k8/CORE-23-.json b/research/gauge44-slots/construction/leaver/cells-k8/CORE-23-.json new file mode 100644 index 0000000000..517b89d382 --- /dev/null +++ b/research/gauge44-slots/construction/leaver/cells-k8/CORE-23-.json @@ -0,0 +1,216 @@ +{ + "unit": [ + [ + "y1", + "x0", + 1 + ], + [ + "y0", + "x1", + 1 + ], + [ + "y3", + "x4", + 1 + ], + [ + "y2", + "x5", + 1 + ], + [ + "y5", + "x2", + 1 + ], + [ + "y4", + "x3", + 1 + ], + [ + "x0", + "x1", + 1 + ], + [ + "x3", + "x4", + 1 + ], + [ + "x5", + "x2", + 1 + ], + [ + "y1", + "x3", + 1 + ], + [ + "y2", + "x0", + 1 + ], + [ + "y4", + "x5", + 1 + ], + [ + "y0", + "y4", + 1 + ], + [ + "y3", + "y2", + 1 + ], + [ + "y5", + "y1", + 1 + ], + [ + "y1", + "x5", + 1 + ], + [ + "y0", + "x4", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y5", + "x1", + 1 + ], + [ + "y4", + "x0", + 1 + ] + ], + "scaled": [ + [ + "y1", + "x0", + "1" + ], + [ + "y0", + "x1", + "1" + ], + [ + "y3", + "x4", + "-1/2" + ], + [ + "y2", + "x5", + "-1/2" + ], + [ + "y5", + "x2", + "-1/2" + ], + [ + "y4", + "x3", + "-1/2" + ], + [ + "x0", + "x1", + "1" + ], + [ + "x3", + "x4", + "1" + ], + [ + "x5", + "x2", + "1" + ], + [ + "y1", + "x3", + "-1/2" + ], + [ + "y2", + "x0", + "1" + ], + [ + "y4", + "x5", + "-1/2" + ], + [ + "y0", + "y4", + "1" + ], + [ + "y3", + "y2", + "1" + ], + [ + "y5", + "y1", + "1" + ], + [ + "y1", + "x5", + "-1/2" + ], + [ + "y0", + "x4", + "-1/2" + ], + [ + "y3", + "x2", + "-1/2" + ], + [ + "y2", + "x3", + "-1/2" + ], + [ + "y5", + "x1", + "1" + ], + [ + "y4", + "x0", + "1" + ] + ] +} \ No newline at end of file diff --git a/research/gauge44-slots/construction/leaver/cells-k8/CORE-45+.json b/research/gauge44-slots/construction/leaver/cells-k8/CORE-45+.json new file mode 100644 index 0000000000..2bc89e1de1 --- /dev/null +++ b/research/gauge44-slots/construction/leaver/cells-k8/CORE-45+.json @@ -0,0 +1,216 @@ +{ + "unit": [ + [ + "y1", + "x0", + 1 + ], + [ + "y0", + "x1", + 1 + ], + [ + "y2", + "x5", + 1 + ], + [ + "y3", + "x4", + 1 + ], + [ + "y4", + "x3", + 1 + ], + [ + "y5", + "x2", + 1 + ], + [ + "x0", + "x1", + 1 + ], + [ + "x2", + "x5", + 1 + ], + [ + "x4", + "x3", + 1 + ], + [ + "y1", + "x2", + 1 + ], + [ + "y3", + "x0", + 1 + ], + [ + "y5", + "x4", + 1 + ], + [ + "y0", + "y5", + 1 + ], + [ + "y2", + "y3", + 1 + ], + [ + "y4", + "y1", + 1 + ], + [ + "y1", + "x4", + 1 + ], + [ + "y0", + "x5", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y4", + "x1", + 1 + ], + [ + "y5", + "x0", + 1 + ] + ], + "scaled": [ + [ + "y1", + "x0", + "1" + ], + [ + "y0", + "x1", + "1" + ], + [ + "y2", + "x5", + "-1/2" + ], + [ + "y3", + "x4", + "-1/2" + ], + [ + "y4", + "x3", + "1" + ], + [ + "y5", + "x2", + "1" + ], + [ + "x0", + "x1", + "1" + ], + [ + "x2", + "x5", + "-1/2" + ], + [ + "x4", + "x3", + "-2" + ], + [ + "y1", + "x2", + "1" + ], + [ + "y3", + "x0", + "1" + ], + [ + "y5", + "x4", + "-1/2" + ], + [ + "y0", + "y5", + "1" + ], + [ + "y2", + "y3", + "1" + ], + [ + "y4", + "y1", + "1" + ], + [ + "y1", + "x4", + "-1/2" + ], + [ + "y0", + "x5", + "-1/2" + ], + [ + "y2", + "x3", + "1" + ], + [ + "y3", + "x2", + "1" + ], + [ + "y4", + "x1", + "1" + ], + [ + "y5", + "x0", + "1" + ] + ] +} \ No newline at end of file diff --git a/research/gauge44-slots/construction/leaver/cells-k8/CORE-45-.json b/research/gauge44-slots/construction/leaver/cells-k8/CORE-45-.json new file mode 100644 index 0000000000..b9c1904b83 --- /dev/null +++ b/research/gauge44-slots/construction/leaver/cells-k8/CORE-45-.json @@ -0,0 +1,216 @@ +{ + "unit": [ + [ + "y1", + "x0", + 1 + ], + [ + "y0", + "x1", + 1 + ], + [ + "y2", + "x4", + 1 + ], + [ + "y3", + "x5", + 1 + ], + [ + "y5", + "x3", + 1 + ], + [ + "y4", + "x2", + 1 + ], + [ + "x0", + "x1", + 1 + ], + [ + "x2", + "x4", + 1 + ], + [ + "x5", + "x3", + 1 + ], + [ + "y1", + "x2", + 1 + ], + [ + "y3", + "x0", + 1 + ], + [ + "y4", + "x5", + 1 + ], + [ + "y0", + "y4", + 1 + ], + [ + "y2", + "y3", + 1 + ], + [ + "y5", + "y1", + 1 + ], + [ + "y1", + "x5", + 1 + ], + [ + "y0", + "x4", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y5", + "x1", + 1 + ], + [ + "y4", + "x0", + 1 + ] + ], + "scaled": [ + [ + "y1", + "x0", + "1" + ], + [ + "y0", + "x1", + "1" + ], + [ + "y2", + "x4", + "-1/2" + ], + [ + "y3", + "x5", + "-1/2" + ], + [ + "y5", + "x3", + "1" + ], + [ + "y4", + "x2", + "1" + ], + [ + "x0", + "x1", + "1" + ], + [ + "x2", + "x4", + "-1/2" + ], + [ + "x5", + "x3", + "-2" + ], + [ + "y1", + "x2", + "1" + ], + [ + "y3", + "x0", + "1" + ], + [ + "y4", + "x5", + "-1/2" + ], + [ + "y0", + "y4", + "1" + ], + [ + "y2", + "y3", + "1" + ], + [ + "y5", + "y1", + "1" + ], + [ + "y1", + "x5", + "-1/2" + ], + [ + "y0", + "x4", + "-1/2" + ], + [ + "y2", + "x3", + "1" + ], + [ + "y3", + "x2", + "1" + ], + [ + "y5", + "x1", + "1" + ], + [ + "y4", + "x0", + "1" + ] + ] +} \ No newline at end of file diff --git a/research/gauge44-slots/construction/leaver/cells-k8/CORE-67+.json b/research/gauge44-slots/construction/leaver/cells-k8/CORE-67+.json new file mode 100644 index 0000000000..7d756cb19d --- /dev/null +++ b/research/gauge44-slots/construction/leaver/cells-k8/CORE-67+.json @@ -0,0 +1,216 @@ +{ + "unit": [ + [ + "y1", + "x0", + 1 + ], + [ + "y0", + "x1", + 1 + ], + [ + "y2", + "x5", + 1 + ], + [ + "y3", + "x4", + 1 + ], + [ + "y4", + "x3", + 1 + ], + [ + "y5", + "x2", + 1 + ], + [ + "x0", + "x1", + 1 + ], + [ + "x2", + "x5", + 1 + ], + [ + "x4", + "x3", + 1 + ], + [ + "y1", + "x2", + 1 + ], + [ + "y3", + "x0", + 1 + ], + [ + "y5", + "x4", + 1 + ], + [ + "y0", + "y5", + 1 + ], + [ + "y2", + "y3", + 1 + ], + [ + "y4", + "y1", + 1 + ], + [ + "y1", + "x4", + 1 + ], + [ + "y0", + "x5", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y4", + "x1", + 1 + ], + [ + "y5", + "x0", + 1 + ] + ], + "scaled": [ + [ + "y1", + "x0", + "1" + ], + [ + "y0", + "x1", + "1" + ], + [ + "y2", + "x5", + "1" + ], + [ + "y3", + "x4", + "1" + ], + [ + "y4", + "x3", + "1" + ], + [ + "y5", + "x2", + "1" + ], + [ + "x0", + "x1", + "1" + ], + [ + "x2", + "x5", + "1" + ], + [ + "x4", + "x3", + "1" + ], + [ + "y1", + "x2", + "1" + ], + [ + "y3", + "x0", + "1" + ], + [ + "y5", + "x4", + "1" + ], + [ + "y0", + "y5", + "1" + ], + [ + "y2", + "y3", + "1" + ], + [ + "y4", + "y1", + "1" + ], + [ + "y1", + "x4", + "1" + ], + [ + "y0", + "x5", + "1" + ], + [ + "y2", + "x3", + "1" + ], + [ + "y3", + "x2", + "1" + ], + [ + "y4", + "x1", + "1" + ], + [ + "y5", + "x0", + "1" + ] + ] +} \ No newline at end of file diff --git a/research/gauge44-slots/construction/leaver/cells-k8/CORE-67-.json b/research/gauge44-slots/construction/leaver/cells-k8/CORE-67-.json new file mode 100644 index 0000000000..7d756cb19d --- /dev/null +++ b/research/gauge44-slots/construction/leaver/cells-k8/CORE-67-.json @@ -0,0 +1,216 @@ +{ + "unit": [ + [ + "y1", + "x0", + 1 + ], + [ + "y0", + "x1", + 1 + ], + [ + "y2", + "x5", + 1 + ], + [ + "y3", + "x4", + 1 + ], + [ + "y4", + "x3", + 1 + ], + [ + "y5", + "x2", + 1 + ], + [ + "x0", + "x1", + 1 + ], + [ + "x2", + "x5", + 1 + ], + [ + "x4", + "x3", + 1 + ], + [ + "y1", + "x2", + 1 + ], + [ + "y3", + "x0", + 1 + ], + [ + "y5", + "x4", + 1 + ], + [ + "y0", + "y5", + 1 + ], + [ + "y2", + "y3", + 1 + ], + [ + "y4", + "y1", + 1 + ], + [ + "y1", + "x4", + 1 + ], + [ + "y0", + "x5", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y4", + "x1", + 1 + ], + [ + "y5", + "x0", + 1 + ] + ], + "scaled": [ + [ + "y1", + "x0", + "1" + ], + [ + "y0", + "x1", + "1" + ], + [ + "y2", + "x5", + "1" + ], + [ + "y3", + "x4", + "1" + ], + [ + "y4", + "x3", + "1" + ], + [ + "y5", + "x2", + "1" + ], + [ + "x0", + "x1", + "1" + ], + [ + "x2", + "x5", + "1" + ], + [ + "x4", + "x3", + "1" + ], + [ + "y1", + "x2", + "1" + ], + [ + "y3", + "x0", + "1" + ], + [ + "y5", + "x4", + "1" + ], + [ + "y0", + "y5", + "1" + ], + [ + "y2", + "y3", + "1" + ], + [ + "y4", + "y1", + "1" + ], + [ + "y1", + "x4", + "1" + ], + [ + "y0", + "x5", + "1" + ], + [ + "y2", + "x3", + "1" + ], + [ + "y3", + "x2", + "1" + ], + [ + "y4", + "x1", + "1" + ], + [ + "y5", + "x0", + "1" + ] + ] +} \ No newline at end of file diff --git a/research/gauge44-slots/construction/leaver/cgx_leaver.py b/research/gauge44-slots/construction/leaver/cgx_leaver.py new file mode 100644 index 0000000000..e686c66306 --- /dev/null +++ b/research/gauge44-slots/construction/leaver/cgx_leaver.py @@ -0,0 +1,491 @@ +# LeaverSAT: no-helper mutable-leaver all-K cells (coded triangles) on the no-triangle word. Generated by +# LeaverSAT/mkpkg.py from construction/notri/cgx.py with the leaver edits (lv.leaver_source); Apache-2.0. +import json as _lj, os as _lo, sys as _ls +from fractions import Fraction as _lF +CODED_CELLS=[(c['bindings'],[[t,s,_lF(q)] for t,s,q in c['scaled']]) for c in _lj.load(open(_lo.path.join(_lo.path.dirname(_lo.path.abspath(_ls.argv[3])),'CODED-CELLS.json')))] +# Round20 early-coordinate-center / own-Y variant, prepared for icekylinx +# with OpenAI Codex assistance. Apache-2.0. Scalar elementary-operation +# helpers below are retained from the attributed PR514 construct_partial.py. +# Adapted by OpenAI Codex for isolated structural research. +# Modified from PR425 by icekylinx with Codex assistance. +"""Full discovery word for Hamming packets with borrowed X and Y registers. + +This changes the scalar architecture. It is not accepted by the old restricted +gx interface: source bases may change until full-frame cleanup, and targets use +an explicitly inverted output basis. No supplier admission is asserted. +""" +import copy,gzip,json,math,time +import itertools as it +from collections import Counter,defaultdict +from fractions import Fraction as Q +from pathlib import Path + +import sys +INPUT=Path(sys.argv[1]);OUT=Path(sys.argv[2]);OUT.mkdir(parents=True,exist_ok=False);D=json.loads((INPUT/'PROTOTYPE.json').read_text()) +P=D['binary_ports'];R=D['root_lines'];v=120;h=9 +modules=json.load(gzip.open(INPUT/'PACKET-PROGRAMS.json.gz')) +# AtomScout: leaver-read K-triangles (schedule from atom1.py / rog.py CP-SAT) +TRI=json.loads(Path(sys.argv[3]).read_text()) +FULLT={(tuple(tr['p']),tr['e']) for tr in TRI['triangles']} +TRI_COORDS={t+8 for tr in TRI['triangles'] for t,_,_ in tr['reads']} +import os as _o +COPYL=json.loads(open(_o.environ['XPARAM']).read()).get('copyl',[]) if _o.environ.get('XPARAM') else [] +NH=504-3*len(FULLT)+len(COPYL) + +def basis(vectors): + b={} + for x in vectors: + for p in sorted(b,reverse=True): + if x>>p&1:x^=b[p] + if x: + p=x.bit_length()-1 + for q in b: + if b[q]>>p&1:b[q]^=x + b[p]=x + return tuple(b[p] for p in sorted(b,reverse=True)) +def inside(a,b):return basis(a+b)==b +def hyper(p):return basis([x for x in range(1,512) if (x&p).bit_count()%2==0]) +FULL=basis([1<=v,r)) + for col,s in enumerate(ids): + k=next(i for i in range(col,len(regs)) if rows[regs[i]].get(s,Q(0))) + swap(regs[k],regs[col],F) + scale(regs[col],1/rows[regs[col]][s],F) + for i in range(len(regs)): + if i!=col and rows[regs[i]].get(s,Q(0)):add(regs[i],regs[col],-rows[regs[i]][s],F) + assert all(rows[regs[i]]=={s:Q(1)} for i,s in enumerate(ids)) + M=[[Q(R[s][i]) for s in ids] for i in c] + def qr_rank(rs): + bs={} + for r in rs: + r=r.copy() + for i,b in sorted(bs.items()): + if r[i]:q=r[i];r=[x-q*y for x,y in zip(r,b)] + i=next((i for i,x in enumerate(r) if x),None) + if i is not None:q=r[i];bs[i]=[x/q for x in r] + return len(bs) + assert qr_rank(M)==4 + for rr0 in PRIO.get(",".join(map(str,c)),[])+PRIORITY[",".join(map(str,c))]["rows"]: + rr=list(map(Q,rr0)) + if qr_rank(M+[rr])>len(M):M.append(rr) + if len(M)==8:break + for i in range(8): + if len(M)==8:break + rr=[Q(i==j) for j in range(8)] + if qr_rank(M+[rr])>len(M):M.append(rr) + if len(M)==8:break + assert len(M)==8 + linear(regs,M,F) + for i,r in zip(c,regs): + assert rows[r]=={s:Q(R[s][i]) for s in ids} + block_totals[c,i]=r + +# All centers are complete while Y is still at zero. This is the crucial +# difference from an illegal early-own-Y prefix using the old center order. +centers=[] +for i in range(8): + regs=[block_totals[c,i] for c in sorted(blocks) if i in c] + F=hyper(P[frame[i]]);a=regs[0] + for b in regs[1:]:add(a,b,1,F) + centers.append(a) +centers += [frame[i] for i in range(8)] +center_frames=[cur[r] for r in centers] +assert list(map(len,center_frames))==[8]*8+[1]*8 +assert all(cur[v+t]==() for t in range(v)) + +phase=B +for t,(r,coef,F) in sorted(own_rows.items()): + if t in TRI_COORDS:continue + assert cur[r]==F + add(v+t,r,coef,F) +# requests are needed for TRI coefficients +requests=defaultdict(list) +for pid,pair in enumerate(pairs): + if not pair['selected']:continue + (t,u),(key1,key2),mat=pair['targets'],pair['keys'],pair['matrix'] + requests[key1].append((t,-Q(mat[0][0],2))) + requests[key2].append((u,-Q(mat[0][1],2))) +reqcoef={t:(key,coef) for key,reqs in requests.items() for t,coef in reqs} +def face_info(c,p,eps): + z=blocks[c];keys=[(pp,ee) for pp in it.combinations(c,2) for ee in (-1,1)] + r_local,alpha=z['outputs'][keys.index((p,eps))] + j=[j for j in range(40,len(z['events'])) if z['events'][j][0]==r_local];assert len(j)==1 + return j[0],Q(alpha) +tri_join_counts=Counter() +coded_shadow_slot={} +coded_target_edges=[];TRILOG=[] +lcopy={} +for s8 in COPYL: + r=s8+8;c=len(cur);cur.append(());rows.append({});shadow.append(None);add(c,r,1,cur[r]);lcopy[r]=c +BF={c:basis([P[x] for x in z['receipt']['source_lines']]) for c,z in blocks.items()} +HYB={(tuple(map(int,h[0])),tuple(map(int,h[1])),int(h[2])) for h in XP.get('hyb',[])} +HYBLOG=[] +def triread(t,blk,r,q): + F=basis(cur[v+t]+cur[r]);assert inside(F,hyper(P[t])),('TRI frame',t,blk,r,cur[v+t],cur[r],hyper(P[t]),[x for x in TRILOG if x[2]==r],HYBLOG) + tri_join_counts[len(F)]+=1;add(v+t,r,q,F);TRILOG.append([t,list(blk),r,str(q),list(F),list(cur[r])]) +for tr in TRI['triangles']: + if tr.get('coded'): + bindings={} + for name,binding in CODED_CELLS[tr['cell']][0].items(): + bindings[name]=maps[tuple(binding[1])][binding[2]] if binding[0]=='source' else v+binding[1] + for tn,sn,q in CODED_CELLS[tr['cell']][1]: + target,source=bindings[tn],bindings[sn] + F=basis(cur[target]+cur[source]) + for register in (target,source): + if v<=register<2*v:assert inside(F,hyper(P[register-v])),('coded frame',register,F) + add(target,source,q,F) + if sn.startswith('y'):coded_target_edges.append((target,source,Q(q))) + continue + p,eps=tuple(tr['p']),tr['e'] + hb={blk for _,blk,_ in map(lambda x:(x[0],tuple(x[1]),x[2]),tr['reads']) if (blk,p,eps) in HYB} + own=[];rest=[] + for t8,blk,loc in tr['reads']: + t=t8+8;blk=tuple(blk);r=maps[blk][loc];r0=r;r=lcopy.get(r,r) + key,coef=reqcoef[t];assert key[1]==p and key[2]==eps,(key,p,eps) + if blk==key[0]: + rr,c0,F0=own_rows[t];assert rr==r0;own.append((t,blk,r,c0)) + else: + j,alpha=face_info(blk,p,eps);ev=blocks[blk]['events'][j];assert loc in ev[:2] + rest.append((t,blk,loc,r,coef*alpha)) + if not hb: + # original interleaved order + for t8,blk,loc in tr['reads']: + t=t8+8;blk=tuple(blk);r=maps[blk][loc];key,coef=reqcoef[t] + if blk==key[0]:q=own_rows[t][1] + else:j,alpha=face_info(blk,p,eps);q=coef*alpha + triread(t,blk,r,q) + continue + items=[] # (kind, t, reg, q, blk) + for t,blk,r,q in own:items.append(('r',t,r,q,blk,blk in hb)) + for blk in sorted(hb):items.append(('e',None,None,None,blk,True)) + done=set() + for t,blk,loc,r,q in rest: + if blk in hb: + j,_=face_info(blk,p,eps);ev=blocks[blk]['events'][j] + ws=[x for x in rest if x[0]==t and x[1]==blk];assert len(ws)==2 and ws[0][4]==ws[1][4] and {ws[0][2],ws[1][2]}==set(ev[:2]) + if (t,blk) in done:continue + done.add((t,blk));items.append(('m',t,maps[blk][ev[0]],q,blk,True)) + else:items.append(('r',t,r,q,blk,False)) + # Original read order with the two half reads collapsed into one M read at the first half's slot; the face event goes + # just before the first M read of its block; own reads of the M register are hoisted ahead of that event. + def evinfo(blk): + j,_=face_info(blk,p,eps);ev=blocks[blk]['events'][j];assert ev[2]==ev[3]==1,ev + mpb=maps[blk];return mpb[ev[0]],mpb[ev[1]],tuple(blocks[blk]['event_frames'][j]) + items=[] + seen=set() + for t8,blk,loc in tr['reads']: + t=t8+8;blk=tuple(blk);r=maps[blk][loc];key,coef=reqcoef[t] + if blk==key[0]:items.append(('r',t,r,own_rows[t][1],blk,blk in hb)) + else: + j,alpha=face_info(blk,p,eps);q=coef*alpha + if blk in hb: + if (t,blk) not in seen:seen.add((t,blk));continue + items.append(('m',t,evinfo(blk)[0],q,blk,True)) + else:items.append(('r',t,r,q,blk,False)) + for blk in sorted(hb): + k0=min(i for i,x in enumerate(items) if x[0]=='m' and x[4]==blk) + items.insert(k0,('e',None,None,None,blk,True)) + n=len(items) + def step(it,st): + k,t,r,q,blk,h=it;g=lambda x:st.get(x,cur[x]) + if k=='e': + a_,b_,EF=evinfo(blk);FF=basis(list(EF)+list(g(a_))+list(g(b_))) + return {a_:FF,b_:FF} if inside(FF,BF[blk]) else None + F=basis(list(g(v+t))+list(g(r))) + if not inside(F,hyper(P[t])):return None + if h and k=='r' and r==evinfo(blk)[1] and not inside(F,BF[blk]):return None + return {v+t:F,r:F} + def allowed(i,used): + k,t,r,q,blk,h=items[i] + evi=[j for j,x in enumerate(items) if x[0]=='e' and x[4]==blk] if h else [] + if k=='e':return all(j in used for j,x in enumerate(items) if x[0]=='r' and x[4]==blk and x[5] and x[2]==evinfo(blk)[0]) + if k=='m':return evi[0] in used + if k=='r' and h and r==evinfo(blk)[0]:return evi[0] not in used + return True + budget=[int(os.environ.get('HYBBUDGET','300000'))];memo=set() + def dfs(st,used,order): + if len(order)==n:return order + budget[0]-=1 + if budget[0]<0:return None + sig=(used,tuple(sorted(st.items()))) + if sig in memo:return None + memo.add(sig) + for i in range(n): + if i in used or not allowed(i,used):continue + d=step(items[i],st) + if d is None:continue + ns=dict(st);ns.update(d);res=dfs(ns,used|{i},order+[i]) + if res:return res + return None + import sys as _s;_s.setrecursionlimit(20000) + order=dfs({},frozenset(),[]) + assert order,('no feasible hybrid order',p,eps,sorted(hb),budget) + for i in order: + k,t,r,q,blk,h=items[i] + if k=='e': + a_,b_,EF=evinfo(blk);FF=basis(list(EF)+list(cur[a_])+list(cur[b_]));add(a_,b_,1,FF);HYBLOG.append([list(blk),list(p),eps,list(FF)]) + else:triread(t,blk,r,q) + +packets={} +for c,z in sorted(blocks.items()): + mp=maps[c] + keys=[(p,eps) for p in it.combinations(c,2) for eps in (-1,1)] + skipev={face_info(c,p,eps)[0] for p,eps in keys if (p,eps) in FULLT} + for j,(e,F) in enumerate(list(zip(z['events'],z['event_frames']))[40:]): + if j not in early[c] and 40+j not in skipev: + t,s,a,b=e;add(mp[t],mp[s],Q(a,b),tuple(F)) + for key,(r,alpha) in zip(keys,z['outputs']): + if tuple(key) in FULLT:skip();continue + a=mp[r];b=alloc();add(b,a,1,cur[a]) + consumers=sorted(d for d in blocks if d!=c and set(key[0])<=set(d)) + assert len(consumers)==2 + for target,r in zip(consumers,(a,b)):packets[c,key[0],key[1],target]=(r,Q(alpha)) + +# Both tetrahedra use the same partition. A selected key has exactly two +# selected Y loads and no ordinary M consumer. Supply its two raw halves in +# opposite orders and never form that M. Other keys retain the old M path. +second=[];first_join_counts=Counter() +for key,reqs in sorted(requests.items()): + assert len(reqs)==2 + c,p,eps=key + if (p,eps) in FULLT:continue + ds=sorted(d for d in blocks if d!=c and set(p)<=set(d));a,b=ds + for j,(target,coef) in enumerate(sorted(reqs)): + first_source,second_source=(a,b) if j==0 else (b,a) + r,alpha=packets[first_source,p,eps,second_source] + F=basis(cur[v+target]+cur[r]);assert inside(F,hyper(P[target])) + first_join_counts[len(F)]+=1;add(v+target,r,coef*alpha,F) + r,alpha=packets[second_source,p,eps,c] + second.append((target,r,coef*alpha)) + +Ms={} +for c in sorted(blocks): + for p in it.combinations(c,2): + ds=sorted(d for d in blocks if d!=c and set(p)<=set(d)) + for eps in (-1,1): + if (c,p,eps) in requests:continue + (a,alpha),(b,beta)=[packets[d,p,eps,c] for d in ds] + F=basis(cur[a]+cur[b]);add(a,b,beta/alpha,F) + Ms[c,p,eps]=(a,alpha) + +consumers=defaultdict(list) +for pid,pair in enumerate(pairs): + for key in pair['keys']:consumers[key].append(pid) +slots={} +for key,uses in sorted(consumers.items()): + assert len(uses)==2 + if key in requests: + assert all(pairs[i]['selected'] for i in uses) + continue + assert all(not pairs[i]['selected'] for i in uses) + a,alpha=Ms[key] + for j,pid in enumerate(uses): + if j==0:r=a + else:r=alloc();add(r,a,1,cur[a]) + slots[pid,key]=(r,alpha) +assert len(cur)-240==NH,len(cur)-240 + +selected_join_counts=Counter() +for target,r,coef in second: + F=basis(cur[v+target]+cur[r]);assert inside(F,hyper(P[target])) + selected_join_counts[len(F)]+=1;add(v+target,r,coef,F) +output_basis=[] +for pair in pairs: + if not pair['selected']:continue + (t,u),mat=pair['targets'],pair['matrix'] + F=basis(cur[v+t]+cur[v+u]);assert inside(F,hyper(P[t])) and inside(F,hyper(P[u])) + add(v+t,v+u,1,F);add(v+u,v+t,-Q(1,2),F) + z=-Q(2*mat[1][0],mat[0][0]);scale(v+u,z,F);output_basis.append((t,u,z)) + +for pid,pair in enumerate(pairs): + if pair['selected']:continue + (t,u),(key1,key2),mat=pair['targets'],pair['keys'],pair['matrix'] + (a,alpha),(b,beta)=slots[pid,key1],slots[pid,key2] + F=basis(cur[a]+cur[b]);aa,ab=Q(mat[0][0])*alpha,Q(mat[0][1])*beta + ba,bb=Q(mat[1][0])*alpha,Q(mat[1][1])*beta + add(a,b,ab/aa,F);q=ba/(bb-ba*ab/aa);add(b,a,q,F) + add(v+t,a,-aa/2,hyper(P[t]));add(v+u,b,-(bb-ba*ab/aa)/2,hyper(P[u])) + +for t in range(v): + expected={s:-Q(G[t][s],2) for s in range(v) if s!=t and G[t][s] and s not in frame.values()} if t not in frame.values() else {} + assert rows[v+t]==expected,('side identity',t) + +scatter=[[Q(r[i],4) if t not in frame.values() else Q(0) for i in range(8)]+[Q(t==frame[i]) for i in range(8)] for t,r in enumerate(R)] +precondition=[] +for t,u,z in output_basis: + a,b=scatter[t].copy(),scatter[u].copy() + scatter[t]=[x/2-y/z for x,y in zip(a,b)] + scatter[u]=[x/2+y/z for x,y in zip(a,b)] + precondition.extend([['scale',v+u,(1/z).numerator,(1/z).denominator,[]], + ['add',v+u,v+t,1,2,[]],['add',v+t,v+u,-1,1,[]]]) +for target,source,q in reversed(coded_target_edges): + scatter[target-v]=[a-q*b for a,b in zip(scatter[target-v],scatter[source-v])] + precondition.append(['add',target,source,-q.numerator,q.denominator,[]]) +for r in range(len(cur)):climb(r,hyper(P[r-v]) if v<=r<2*v else FULL) +H[8]+=8;H[1]+=8 +assert sum(r*z for r,z in H.items())==9*NH+240*8+72,sum(r*z for r,z in H.items()) + +def apply(e,matrix): + if e[0]=='add': + _,t,s,a,b,*_=e;q=Q(a,b) + for j,x in list(matrix[s].items()): + z=matrix[t].get(j,Q(0))+q*x + if z:matrix[t][j]=z + else:matrix[t].pop(j,None) + else: + _,t,a,b,*_=e;q=Q(a,b);matrix[t]={j:q*x for j,x in matrix[t].items()} +def inverse(e): + e=copy.deepcopy(e) + if e[0]=='add':e[3]*=-1 + else:e[2],e[3]=e[3],e[2] + e[-1]=list(FULL);return e +cut=[['add',v+t,centers[i],q.numerator,q.denominator,None] for t,row in enumerate(scatter) for i,q in enumerate(row) if q] +cleanup=[inverse(e) for e in reversed(A+B) if not v<=e[1]<2*v] +matrix=[{r:Q(1)} if r - entering end e's tail frame has a dimension that no helper_final frame has, so the mutant cannot be built. +Such a site is never skipped silently: the pins file MUST declare it under "not_applicable" ({site: reason}), the +declared set MUST equal the detected set, an identity is PROVEN by byte equality of the mutated and honest words (both +sha256 recorded), and a substitute mutant of the same class is built and MUST be rejected at the class's pinned reason: + extra_end -> the first premixed partner of h0 that is not yet ended, cold-ended at h0's frame; + other_hp: -> e's end moved to another helper_final frame of the dimension of e's own end frame. +Original docstring: layer_end_controls.py LAYERED-WORD.json.gz ROUTING OUTDIR (env PR635_CODE): adapted PR635 cold_end_controls.py (LayerReviewer): raw-word negative controls for the cold low-frame ends and the +refactored cleanup accepted by hpe_audit_and_transport.py. Every mutation MUST be rejected (AssertionError); the +unmutated word MUST pass. Apache-2.0. DreamingOfClouds with Claude Opus 5.5 (Anthropic), via Claude Code.""" +import copy, gzip, hashlib, json, shutil, sys, tempfile +from pathlib import Path +import os +sys.path.insert(0, os.environ['PR635_CODE']) # PR635's unchanged hpe_audit_and_transport.py +import hpe_audit_and_transport as atc + +src, routing, outdir = Path(sys.argv[1]), Path(sys.argv[2]), Path(sys.argv[3]) +word = json.load(gzip.open(src)) +v, R = word['report']['v'], word['report']['R']; n = 2*v + R +regs = lambda e: [e[1]] + ([e[2]] if e[0] == 'add' else []) +meta = word['refactored_cleanup'] +cold = [int(h) for h in meta['cold_low_frame_ended_helpers']] +npre = meta['premix_gates']; nlow = meta['lower_frame_gates'] +early = word['early_cleanup']; eidx = {i for i, _ in early} +rest = [i for i in range(len(word['cleanup'])) if i not in eidx] + + +def trial(w): + """None if the transport audit accepts w, else the AssertionError message.""" + tmp = Path(tempfile.mkdtemp()) + p = tmp/'w.json.gz'; p.write_bytes(gzip.compress(json.dumps(w).encode(), mtime=0)) + try: + atc.run(p, routing, tmp/'out') + return None + except AssertionError as e: + return repr(e.args[0]) if e.args else 'AssertionError' + finally: + shutil.rmtree(tmp, ignore_errors=True) + + +# Pinned rejection reasons: each mutant must fail at this assertion of hpe_audit_and_transport.py (message substring). +ENDPOINT, COLDPRE, CONE = "'arbitrary-dirt endpoint'", 'touches a cold hyperplane-ended helper', 'hpe cone pre-check (row / column)' +WHY = dict(premix_to_precondition=COLDPRE, premix_dropped=COLDPRE, e_premix_dropped=ENDPOINT, lower_dropped=ENDPOINT, + remainder_dropped=ENDPOINT, coefficient=ENDPOINT, into_full='cleanup on non-FULL end', dyadic=ENDPOINT, frame_below="'nonmonotone'", + nonmonotone="'nonmonotone'", other_frame=CONE, cone=CONE, extra_end=COLDPRE, marker='cleanup is not the literal reversed inverse', + target='refactored cleanup touches a target', profile_pin='paid local profile differs from the reported local_profile', + entering_precondition='zero-frame precondition/compensation touches an entering helper') +_REASONS = dict(ENDPOINT=ENDPOINT, COLDPRE=COLDPRE, CONE=CONE) +NA_DECLARED = {} +if os.environ.get('LEC_REASON_PINS'): + for _k, _v in json.loads(Path(os.environ['LEC_REASON_PINS']).read_text()).items(): + if _k == 'not_applicable': NA_DECLARED = dict(_v); continue + assert _k in WHY, ('unknown mutant key', _k); WHY[_k] = _REASONS.get(_v, _v) +assert trial(word) is None, 'unmutated cold-end word must pass' +results = [] + + +def reject(name, mut, why): + """the mutation must be rejected, and for the pinned reason (a substring of the audit's assertion message).""" + w = copy.deepcopy(word); mut(w) + msg = trial(w) + assert msg is not None, 'cold-end mutation accepted: ' + name + assert why in msg, 'cold-end mutation %r rejected for the wrong reason: %s' % (name, msg[:300]) + results.append(name); print('rejected', name, '|', why, flush=True) + + +h0 = cold[0] +i0, U0 = next((i, f) for i, f in early if h0 in regs(word['cleanup'][i])) +r0 = rest[len(rest)//2] + + +def premix_to_precondition(w): # premix before the wrappers; compensation then reads the cold ends + w['precondition'] = w['precondition'] + w['A'][:npre]; w['A'] = w['A'][npre:] + + +def lower_gate_into_full(w): # a lower-frame gate on a cold-ended helper executed in the FULL remainder instead + w['early_cleanup'] = [x for x in w['early_cleanup'] if x[0] != i0] + + +def drop_cleanup_gate(w, i): # remove the gate AND its early_cleanup entry: a structurally valid word missing one gate + w['cleanup'].pop(i) + w['early_cleanup'] = [[j - (j > i), f] for j, f in w['early_cleanup'] if j != i] + + +def other_frame(w): # a different frame of the same dimension as the cold end (another cold helper's) + f = next(w['helper_final'][str(h)] for h in cold if w['helper_final'][str(h)] != w['helper_final'][str(h0)]) + w['helper_final'][str(h0)] = f + + +NA = [] # detected not-applicable sites: dict(site, reason, ...) +wsha = lambda w: hashlib.sha256(json.dumps(w, sort_keys=True, separators=(',', ':')).encode()).hexdigest() +HONEST_SHA = wsha(word) + + +def extra_cold_end(w): # declare a premixed partner of h0 cold-ended at h0's frame: fails the row/column cone + p = next(r for e in w['A'][:npre] for r in regs(e) if r != h0 and h0 in regs(e)) + w['helper_final'][str(p)] = w['helper_final'][str(h0)] + + +_m = copy.deepcopy(word); extra_cold_end(_m) +if wsha(_m) == HONEST_SHA: # identity: the first partner is already ended at h0's frame + _p = next(r for e in word['A'][:npre] for r in regs(e) if r != h0 and h0 in regs(e)) + _q = next(r for e in word['A'][:npre] for r in regs(e) if r != h0 and h0 in regs(e) and str(r) not in word['helper_final'] and not v <= r < 2*v) + NA.append(dict(site='extra_end', reason='partner %d already cold-ended at h0 %d frame (identity)' % (_p, h0), + honest_sha256=HONEST_SHA, mutated_sha256=wsha(_m), substitute='partner %d' % _q)) + + def extra_cold_end(w, q=_q): w['helper_final'][str(q)] = w['helper_final'][str(h0)] + assert wsha((lambda x: (extra_cold_end(x), x)[1])(copy.deepcopy(word))) != HONEST_SHA + + +reject('premix placed in the zero-frame precondition (before the cold wrappers)', premix_to_precondition, WHY['premix_to_precondition']) +reject('one premix gate dropped (the compensation then reads a cold-ended helper)', lambda w: w['A'].pop(npre - 1), WHY['premix_dropped']) +reject('one lower-frame cleanup gate dropped (gate and its early_cleanup entry)', lambda w: drop_cleanup_gate(w, i0), WHY['lower_dropped']) +reject('one FULL-remainder gate dropped', lambda w: drop_cleanup_gate(w, r0), WHY['remainder_dropped']) +reject('lower-frame gate coefficient changed', lambda w: w['cleanup'][i0].__setitem__(3, w['cleanup'][i0][3] * 2), WHY['coefficient']) +reject('lower-frame gate moved into the FULL remainder (touches a cold-ended helper at FULL)', lower_gate_into_full, WHY['into_full']) +reject('lower-frame gate frame below its registers\' frames', lambda w: next(x for x in w['early_cleanup'] if x[0] == i0).__setitem__(1, U0[:-1]), WHY['frame_below']) +reject('cold end at another dim-4 frame', other_frame, WHY['other_frame']) +# PROFILE-PIN control: without its helper_final entry the cold-ended helper is a valid FULL-ended helper; the word is +# rejected because its reported paid profile (which counts the low end) no longer matches the frame chains. +reject('profile pin: cold end dropped (valid FULL end, but the reported profile counts the low end)', lambda w: w['helper_final'].pop(str(h0)), WHY['profile_pin']) +reject('extra cold end on a premixed partner (the compensation reads it before its wrapper)', extra_cold_end, WHY['extra_end']) +reject('refactored-cleanup marker removed (literal-inverse rule applies)', lambda w: w.pop('refactored_cleanup'), WHY['marker']) +reject('remainder gate retargeted to a target register', lambda w: w['cleanup'][r0].__setitem__(1, v + 3), WHY['target']) +reject('non-dyadic remainder coefficient', lambda w: w['cleanup'][r0].__setitem__(4 if w['cleanup'][r0][0] == 'add' else 3, 3 * w['cleanup'][r0][4 if w['cleanup'][r0][0] == 'add' else 3]), WHY['dyadic']) +reject('profile not updated (paid climbs misreported)', lambda w: w['report']['local_profile'].__setitem__('5', w['report']['local_profile']['5'] - 1), WHY['profile_pin']) +ent = [int(h) for h in sys.argv[4].split(',')] if len(sys.argv) > 4 else [int(h) for h in meta.get('entering_low_frame_ended_helpers', [])] +for e0 in ent: # ENTERING LOW-FRAME ENDS (ColdSupply extension; every entering end; absent for words without them) + j0 = next((i for i, e in enumerate(word['A'][:npre]) if e0 in regs(e)), None) + print('entering end', e0, 'premix gate', j0, flush=True) + k0, Ue = next((i, f) for i, f in early if e0 in regs(word['cleanup'][i])) + def to_pre(w, j0=j0): w['precondition'].append(w['A'][j0]); w['A'].pop(j0) + def other_hp(w, e0=e0, Ue=Ue): w['helper_final'][str(e0)] = next(f for h, f in w['helper_final'].items() if len(f) == len(Ue) and sorted(f) != sorted(Ue)) + if not any(len(f) == len(Ue) and sorted(f) != sorted(Ue) for f in word['helper_final'].values()): # unbuildable + Uh = word['helper_final'][str(e0)] + NA.append(dict(site='other_hp:%d' % e0, reason='tail frame dim %d; no other helper_final frame of that dim' % len(Ue), + dims_available=sorted({len(f) for f in word['helper_final'].values()}), substitute='end-frame dim %d' % len(Uh))) + + def other_hp(w, e0=e0, Uh=Uh): w['helper_final'][str(e0)] = next(f for h, f in w['helper_final'].items() if len(f) == len(Uh) and sorted(f) != sorted(Uh)) + if j0 is not None: reject('entering end %d: premix gate dropped' % e0, lambda w, j0=j0: w['A'].pop(j0), WHY['e_premix_dropped']) + if j0 is not None: reject('entering end %d: premix gate at frame [] instead of its entrance E' % e0, lambda w, j0=j0: w['A'][j0].__setitem__(-1, []), WHY['nonmonotone']) + if j0 is not None: reject('entering end %d: premix gate moved into the zero-frame precondition' % e0, to_pre, WHY['entering_precondition']) + reject('entering end %d: lower-frame gate dropped (gate and its early_cleanup entry)' % e0, lambda w, k0=k0: drop_cleanup_gate(w, k0), WHY['lower_dropped']) + reject('entering end %d: profile pin: end dropped (valid FULL end, but the reported profile counts the low end)' % e0, lambda w, e0=e0: w['helper_final'].pop(str(e0)), WHY['profile_pin']) + reject('entering end %d: end at another hyperplane' % e0, other_hp, WHY['cone']) +# Pinned rejection reasons of the COLD-BEYOND mutants (substrings of hpe_audit_and_transport.py assertion messages). +MYWHY = dict(tw_precondition=COLDPRE, tw_dropped=COLDPRE, tw_coefficient=COLDPRE, tw_other_block=COLDPRE, + tw_entering='zero-frame compensation reads an entering helper', + ab_dropped=ENDPOINT, ab_coefficient=ENDPOINT, ab_early=ENDPOINT, ab_live=ENDPOINT, ab_centre=ENDPOINT, + ab_lower="'nonmonotone'", ab_higher="'nonmonotone'", + sh_dropped=ENDPOINT, sh_coefficient=ENDPOINT, rel_dropped=ENDPOINT, rel_coefficient=ENDPOINT, rel_live=ENDPOINT, + h8_other=CONE, h8_lower=ENDPOINT) +# COLD-BEYOND primitives (present only when the word carries them): frame-[] target writes in the premix (explicit +# post-wrapper compensation of an ended helper's dirt) and forward absorptions into dead registers. +nw = meta.get('premix_target_writes', 0) +if nw: + wi = [i for i in range(npre) if v <= word['A'][i][1] < 2*v] + assert len(wi) == nw + + def writes_to_precondition(w): # the target writes run before the cold wrappers (inside the zero-frame precondition) + g = [w['A'][i] for i in wi]; w['precondition'] = w['precondition'] + g + w['A'] = [e for i, e in enumerate(w['A']) if i not in set(wi)] + reject('premix target writes placed in the zero-frame precondition (before the cold wrappers)', writes_to_precondition, MYWHY['tw_precondition']) + reject('one premix target write dropped (compensation must read an ended helper)', lambda w: w['A'].pop(wi[0]), MYWHY['tw_dropped']) + reject('premix target write coefficient changed', lambda w: w['A'][wi[0]].__setitem__(3, w['A'][wi[0]][3] * 2), MYWHY['tw_coefficient']) + # (reading another register that carries the SAME weight of the ended helper's dirt is a valid variant, so the mutant reads + # the same factory slot of the next block, which carries none of it) + entering_regs = sorted(int(r) for r in word.get('start_extra', {})) + reject('premix target write reads an entering helper', lambda w: w['A'][wi[0]].__setitem__(2, entering_regs[0]), MYWHY['tw_entering']) + reject('premix target write reads a cold helper of another block', lambda w: w['A'][wi[0]].__setitem__(2, 2*v + (w['A'][wi[0]][2] - 2*v + 16) % 224), MYWHY['tw_other_block']) +ab = meta.get('forward_absorption_A_indices', []) +if any(len(word['helper_final'][str(h)]) == 8 for h in cold): + # with dim-8 cold ends, the centre-retargeted absorption first leaks an ended helper's dirt into the cut's targets + MYWHY['ab_centre'] = COLDPRE +if ab: + # the ColdBeyond U_b absorption (q += -1/2 g); ColdThird's extra absorptions have their own controls below + a0 = next(a for a in ab if word['A'][a][3] * 2 == -word['A'][a][4]); g0 = word['A'][a0] + + def absorption_moved_early(w): # absorbed before the absorbed register's last kernel write + e = w['A'].pop(a0); j = max(i for i in range(npre, a0) if g0[2] == w['A'][i][1] and w['A'][i][-1] == g0[-1]) + w['A'].insert(j, e) + + def absorption_into_live(w): # q += a g moved right after g's previous frame-mate gate, while q is still live + e = w['A'].pop(a0); j = max(i for i in range(npre, a0) if g0[1] in regs(w['A'][i])) + w['A'].insert(j, e) + reject('forward absorption dropped', lambda w: w['A'].pop(a0), MYWHY['ab_dropped']) + reject('forward absorption into a centre (a live register read by the cut)', lambda w: w['A'][a0].__setitem__(1, next(c for c in word['centers'] if c not in g0[1:3] and c not in cold)), MYWHY['ab_centre']) + reject('forward absorption coefficient changed', lambda w: w['A'][a0].__setitem__(3, w['A'][a0][3] * 2), MYWHY['ab_coefficient']) + reject('forward absorption placed before the absorbed register\'s last kernel write', absorption_moved_early, MYWHY['ab_early']) + reject('forward absorption placed while the absorbing register is still live', absorption_into_live, MYWHY['ab_live']) + reject('forward absorption at a lower frame than its registers', lambda w: w['A'][a0].__setitem__(-1, w['A'][a0][-1][:-1]), MYWHY['ab_lower']) + reject('forward absorption at a higher frame (FULL) than its registers', lambda w: w['A'][a0].__setitem__(-1, [256, 128, 64, 32, 16, 8, 4, 2, 1]), MYWHY['ab_higher']) +# COLD-THIRD primitives (present only when the word carries them): several absorptions after one input gate, dirt-release +# absorptions (a dead port takes a live helper's value so that a hyperplane unit's column has no dirt on it), and cold ends at +# a dim-8 frame with lifted partners. +hyper = [h for h in cold if len(word['helper_final'][str(h)]) == 8] +if hyper and ab: + sh = next(a for a, b in zip(ab, ab[1:]) if b == a + 1) # two absorptions sharing one input anchor + rel = next(a for a in ab if a - 1 not in ab and a + 1 not in ab and word['A'][a][2] in hyper and word['A'][a][3] * 2 != -word['A'][a][4]) + hh = hyper[0]; ih = next(i for i, f in early if hh in regs(word['cleanup'][i])) + reject('second absorption sharing an input anchor dropped', lambda w: w['A'].pop(sh + 1), MYWHY['sh_dropped']) + reject('shared-anchor absorption coefficient changed', lambda w: w['A'][sh + 1].__setitem__(3, w['A'][sh + 1][3] * 2), MYWHY['sh_coefficient']) + reject('dirt-release absorption dropped', lambda w: w['A'].pop(rel), MYWHY['rel_dropped']) + reject('dirt-release absorption coefficient changed', lambda w: w['A'][rel].__setitem__(3, w['A'][rel][3] * 2), MYWHY['rel_coefficient']) + jr = max(i for i in range(npre, rel) if word['A'][i][0] == 'add' and word['A'][i][2] == word['A'][rel][1]) + + def release_while_read(w): # the release runs before a kernel gate that still READS the port (port live) + e = w['A'].pop(rel); w['A'].insert(jr, e) + reject('dirt-release absorption moved before a kernel gate that still reads the port', release_while_read, MYWHY['rel_live']) +if hyper: + # dim-8 cold-end controls for EVERY dim-8 cold end of the word (read from the word's helper_final and the recipe meta's + # cold_low_frame_ended_helpers), not one representative per terminal frame + for hh in hyper: + ih = next(i for i, f in early if hh in regs(word['cleanup'][i])) + Uh = word['helper_final'][str(hh)] + reject('dim-8 cold end %d (frame %s) at another dim-8 frame' % (hh, Uh), lambda w, hh=hh: w['helper_final'].__setitem__(str(hh), next(f for h, f in w['helper_final'].items() if len(f) == 8 and sorted(f) != sorted(w['helper_final'][str(hh)]))), MYWHY['h8_other']) + reject('dim-8 cold end %d (frame %s): one lower-frame gate dropped (gate and its early_cleanup entry)' % (hh, Uh), lambda w, ih=ih: drop_cleanup_gate(w, ih), MYWHY['h8_lower']) + reject('dim-8 cold end %d (frame %s): profile pin (end dropped)' % (hh, Uh), lambda w, hh=hh: w['helper_final'].pop(str(hh)), WHY['profile_pin']) +# FACTORED ACCUMULATOR (CarrierBypass; present only when the word carries one): a lower-frame tail gate a += x*g on two +# non-ended registers whose accumulator a is afterwards read by a dim-8 cold end's tail gate (h += y*a at its U). +ended_all = {int(h) for h in word['helper_final']} +tailg = [(i, word['cleanup'][i]) for i, _ in early] +accs = [] # EVERY factored accumulator gate (one per accumulator register a), each controlled on its own +for k, (i, e) in enumerate(tailg): + if e[0] == 'add' and e[1] not in ended_all and e[2] not in ended_all and len(next(f for j, f in early if j == i)) < 8: + if e[1] not in [word['cleanup'][j][1] for j in accs] and any(t[0] == 'add' and t[2] == e[1] and t[1] in hyper for _, t in tailg[k + 1:]): + accs.append(i) +for acc in accs: + a = word['cleanup'][acc][1] + reject('factored accumulator %d (gate %d) zeroed' % (a, acc), lambda w, acc=acc: w['cleanup'][acc].__setitem__(3, 0), ENDPOINT) + reject('factored accumulator %d (gate %d) coefficient doubled' % (a, acc), lambda w, acc=acc: w['cleanup'][acc].__setitem__(3, w['cleanup'][acc][3] * 2), ENDPOINT) +assert {x['site']: x['reason'] for x in NA} == NA_DECLARED, ('not-applicable sites differ from the pins file', NA, NA_DECLARED) +outdir.mkdir(parents=True, exist_ok=True) +(outdir/'COLD-END-CONTROLS.json').write_text(json.dumps(dict(status='PASS_COLD_END_RAW_WORD_CONTROLS', word=str(src), rejected=results, not_applicable=NA), indent=1) + '\n') +print('PASS', len(results), 'cold-end raw-word mutations rejected') diff --git a/research/gauge44-slots/construction/leaver/reproduce_leaver.py b/research/gauge44-slots/construction/leaver/reproduce_leaver.py new file mode 100644 index 0000000000..bc4360ef93 --- /dev/null +++ b/research/gauge44-slots/construction/leaver/reproduce_leaver.py @@ -0,0 +1,177 @@ +#!/usr/bin/env python3 +"""Rebuild the leaver word: the no-triangle word with no-helper mutable-leaver all-K cells, and its native locals. + +Each cell (pair p, sign e) replaces the three face events of the blocks containing p and their three packet copies +by a 21-gate circuit on the cell's six leaver sources x_j (the face-event operands, which have no later reads and are +restored by the inherited cleanup at FULL) and its six targets y_i: 3 leaver gates x_k += c x_m, 3 target gates +y_a += c y_b (inverted at frame zero in the precondition and scatter, #781's recipe) and 15 reads y_i += c x_j. +Unit circuit (LeaverSAT, layered CP-SAT on the exact set model), relabelled per cell so that no y += y source carries +port-stage entering-helper dirt at the gate; coefficients rescaled exactly to the cell (C_ij = r_i c_j). +Input: a fresh `construction/reproduce.py --until word` output directory (hamming/, shadow-early/, shadow-prefix/). +Steps, each checked exactly (pins in LEAVER-PINS.json): + 0. cells: CODED-CELLS.json's scaled gates are re-derived from the unit circuits and the cell coefficients, and the + clean map Y_i = sum_j C_ij X_j is checked in exact rationals. + 1. gauge-forward: cgx_leaver.py (notri/cgx.py + the leaver edits) with TRI-LEAVER.json, XPARAM = notri/PRIO6.json. + 2. port0-3: notri/port_stage_x.py. + 3. regroup: REGROUP-LEAVER.json's changes where their `before` gate occurs (count pinned). + 4. hpe: PR635's build_hpe.candidates greedy with disjoint registers, build_hpe.apply (recipe pinned). + 5. cold44: notri/cold44x.py with EXTRAH and pinned pairing ranks; output sha, profile and widths pinned. + 6. native, ledgers, local-replay, wrappers, phases: PR635's native local programs (pins). +Apache-2.0. LeaverSAT (Claude Code research agent), driver after construction/notri/reproduce_notri.py. +""" +import argparse, gzip, hashlib, importlib.util, json, os, shutil, subprocess, sys, time +from fractions import Fraction +from pathlib import Path + +HERE = Path(__file__).resolve().parent +NOTRI = HERE.parent / 'notri' + + +def read(p): + raw = Path(p).read_bytes() + return json.loads(gzip.decompress(raw) if str(p).endswith('.gz') else raw) + + +def enc(x): return json.dumps(x, sort_keys=True, separators=(',', ':')).encode() + + +def dump(p, v): + p.parent.mkdir(parents=True, exist_ok=True); p.write_bytes(gzip.compress(enc(v), mtime=0)) + + +def load(name, path): + s = importlib.util.spec_from_file_location(name, path); m = importlib.util.module_from_spec(s); s.loader.exec_module(m); return m + + +def check_cells(cells): + for c in cells: + C = [[Fraction(q) for q in r] for r in c['coefficients']] + col = [None] * 6; row = [Fraction(1)] + [None] * 5 + for j in range(1, 6): col[j] = C[0][j] + col[0] = C[1][0] / (C[1][2] / col[2]) + for i in range(1, 6): row[i] = C[i][(i + 1) % 6] / col[(i + 1) % 6] + assert all(C[i][j] == row[i] * col[j] for i in range(6) for j in range(6) if i != j), ('rank-one cell', c['cell']) + idx = lambda s: int(s[1:]) + scaled = [] + for t, s, q in c['unit']: + assert Fraction(q) == 1 + if t[0] == 'x': assert s[0] == 'x'; q = col[idx(s)] / col[idx(t)] + elif s[0] == 'y': q = row[idx(t)] / row[idx(s)] + else: q = row[idx(t)] * col[idx(s)] + scaled.append([t, s, str(q)]) + assert scaled == c['scaled'], ('scaled gates', c['cell']) + R = {f'x{j}': {j: Fraction(1)} for j in range(6)}; R.update({f'y{i}': {} for i in range(6)}) + for t, s, q in scaled: + for k, x in list(R[s].items()): R[t][k] = R[t].get(k, 0) + Fraction(q) * x + for i in range(6): + assert {k: x for k, x in R[f'y{i}'].items() if x} == {j: C[i][j] for j in range(6) if j != i}, ('clean map', c['cell'], i) + + +def main(): + assert __debug__, 'Assertions are required' + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--main', type=Path, required=True) + ap.add_argument('--pr635', type=Path, required=True) + ap.add_argument('--word-dir', type=Path, required=True, help='construction/reproduce.py --until word output') + ap.add_argument('--out', type=Path, required=True) + ap.add_argument('--skip-phases', action='store_true') + ap.add_argument('--word-only', action='store_true', help='stop after the pinned scalar word (input to the layers)') + ap.add_argument('--id', default='k5', help='cell set: TRI-LEAVER-, CODED-CELLS-, REGROUP-LEAVER-, LEAVER-PINS-') + ap.add_argument('--record-pins', action='store_true', help='write LEAVER-PINS.json from this run instead of checking') + a = ap.parse_args() + out = a.out.resolve(); assert not out.exists(); out.mkdir(parents=True) + pins = {} if a.record_pins else read(HERE / ('LEAVER-PINS-%s.json' % a.id)); got = {} + def pin(k, v): + got[k] = v + if not a.record_pins: assert pins[k] == v, ('pin', k, v, pins[k]) + up = a.pr635.resolve() / 'research/complex-571-cold14-st2' + src = a.main.resolve() / 'research/complex-k492-owner-repair/vendor/multicold' + base = src / 'vendor/pr558'; parent = base / 'vendor/pr552'; gk = parent / 'complex-local/static44/gk' + structural = a.main.resolve() / 'research/structural-gain/frontier-composition' + wd = a.word_dir.resolve() + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONUTF8='1', PYTHONINTMAXSTRDIGITS='0', + MULTICOLD_SOURCE=str(src), GAIN_PR564_SOURCE=str(src)) + for k in ('PYTHONOPTIMIZE', 'XPARAM', 'EXTRAH', 'PAIRING_RANKS', 'DIAG', 'HYBBUDGET'): env.pop(k, None) + steps = [] + + def run(label, script, *args): + t = time.monotonic() + with (out / (label + '.log')).open('w') as f: + rc = subprocess.call([sys.executable, '-B', str(src / 'code/run_portable.py'), str(script), *map(str, args)], + env=env, stdout=f, stderr=subprocess.STDOUT) + steps.append(dict(step=label, exit_code=rc, seconds=round(time.monotonic() - t, 3))) + (out / 'STEPS.json').write_text(json.dumps(steps, indent=2) + '\n') + assert rc == 0, label + print('PASS', label, flush=True) + + # 0. cells + cells = read(HERE / ('CODED-CELLS-%s.json' % a.id)); check_cells(cells); print('PASS cells', [c['cell'] for c in cells], flush=True) + # 1. gauge-forward + shutil.copy(HERE / ('TRI-LEAVER-%s.json' % a.id), out / 'TRI.json'); shutil.copy(HERE / ('CODED-CELLS-%s.json' % a.id), out / 'CODED-CELLS.json') + env['XPARAM'] = str(NOTRI / 'PRIO6.json') + raw = out / 'raw' + run('gauge-forward', HERE / 'cgx_leaver.py', wd / 'hamming', raw, out / 'TRI.json') + word = raw / 'FULL-WORD.json.gz'; pin('raw_sha256', hashlib.sha256(enc(read(word))).hexdigest()) + # 2. port stages + chain = [parent / 'complex-local/static44/inputs/RAW504.json.gz', structural / 'global-replay/base/split-centres/FULL-WORD.json.gz', + wd / 'shadow-early/FULL-WORD.json.gz', structural / 'multicold-eight-word/FULL-WORD.json.gz', + wd / 'shadow-prefix/FULL-WORD.json.gz'] + for i, (b, c) in enumerate(zip(chain, chain[1:])): + t = out / ('port%d' % i) + run('port%d' % i, NOTRI / 'port_stage_x.py', '--shadow-input', b, '--shadow-output', c, '--input', word, + '--map', raw / 'HELPER-MAP.json', '--gk-dir', gk, '--out', t) + word = t / 'FULL-WORD.json.gz' + # 3. regroup + w = read(word); rg = {json.dumps(c['before']): c['after'] for c in read(HERE / ('REGROUP-LEAVER-%s.json' % a.id))['changes']} + n = 0 + for part in ('A', 'B'): + for i, e in enumerate(w[part]): + k = json.dumps(e) + if k in rg: w[part][i] = rg[k]; n += 1 + sys.path.insert(0, str(gk)); import gk_word as GW, gk_common as GC + GW.V = GC.V = 112; GW.DATA = GC.DATA = 7168 + H = GW.profile(w) + w['report'].update(local_profile={str(k): z for k, z in sorted(H.items()) if z}, local_rank_mass=sum(r * z for r, z in H.items())) + pin('regroup_count', n); dump(out / 'regroup/FULL-WORD.json.gz', w); pin('regroup_sha256', hashlib.sha256(enc(w)).hexdigest()) + # 4. HPE + h = load('upstream_hpe', up / 'code/build_hpe.py') + used, ch = set(), [] + for c in h.candidates(w): + rs = set(h.regs(w['cleanup'][c['cleanup_index']])) + if rs & used: continue + used |= rs; ch.append(c) + (out / 'HPE-RECIPE.json').write_text(json.dumps(dict(changes=ch))) + pin('hpe_recipe_sha256', hashlib.sha256(enc(dict(changes=ch))).hexdigest()) + w = h.apply(w, ch); dump(out / 'hpe/FULL-WORD.json.gz', w) + # 5. cold44 + hm = set(read(raw / 'HELPER-MAP.json')['map'].values()) + env['EXTRAH'] = json.dumps(sorted(set(range(224, 224 + w['report']['R'])) - hm)) + if not a.record_pins: env['PAIRING_RANKS'] = json.dumps(pins['pairing_ranks']) + run('cold44', NOTRI / 'cold44x.py', '--input', out / 'hpe/FULL-WORD.json.gz', '--out', out / 'cold44', + '--hamming', wd / 'hamming', '--upstream-package', up) + pin('pairing_ranks', [b['pairing_rank'] for b in read(out / 'cold44/CONSTRUCTION.json')['blocks']]) + word = out / 'cold44/FULL-WORD.json.gz'; w = read(word) + pin('cold44_sha256', hashlib.sha256(enc(w)).hexdigest()); rep = w['report'] + pin('R', rep['R']); pin('local_profile', rep['local_profile']); pin('width_inventory', rep['width_inventory']) + print('PASS leaver scalar word', got['cold44_sha256'], flush=True) + if not a.word_only: + for k in ('XPARAM', 'EXTRAH', 'PAIRING_RANKS'): env.pop(k, None) + local = out / 'local' + run('native', up / 'code/hpe_audit_and_transport.py', '--raw', word, + '--routing', parent / 'complex-local/inputs/phase-baseline/CANONICAL-WORD.json.gz', '--out', local) + pin('canonical_sha256', hashlib.sha256(gzip.decompress((local / 'CANONICAL-WORD.json.gz').read_bytes())).hexdigest()) + run('ledgers', up / 'code/hpe_emit_local.py', local) + run('local-replay', up / 'code/hpe_audit_local.py', local) + run('wrappers', up / 'code/hpe_adapters_local.py', local / 'CANONICAL-WORD.json.gz', + local / 'RESIDUAL-ADAPTERS.json', local / 'WRAPPER-CHECKS.json') + checks = read(local / 'LOCAL-CHECKS.json') + pin('program_sha256', {o: checks[o]['sha256'] for o in ('forward', 'backward')}) + if not a.skip_phases: + run('phases', base / 'code/phases_full.py', local, parent / 'complex-global/vendor531/vendor/clifford') + pin('clifford_recipes_sha256', hashlib.sha256((local / 'CLIFFORD-RECIPES.json').read_bytes()).hexdigest()) + if a.record_pins: (HERE / ('LEAVER-PINS-%s.json' % a.id)).write_text(json.dumps(got, indent=1) + '\n') + print('DONE', out, flush=True) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-slots/construction/leaver/reproduce_leaver_chain.py b/research/gauge44-slots/construction/leaver/reproduce_leaver_chain.py new file mode 100644 index 0000000000..19fcd28f4d --- /dev/null +++ b/research/gauge44-slots/construction/leaver/reproduce_leaver_chain.py @@ -0,0 +1,187 @@ +#!/usr/bin/env python3 +"""Rebuild the leaver stack on top of the leaver cell word: layers (NP, p6n), promotions, joint exchange and U8-style +hybrids, and the final word's native locals. + +Input: a fresh `construction/leaver/reproduce_leaver.py --word-only` output directory (raw/HELPER-MAP.json, regroup/, +cold44/; the cell word and its regroup word are pinned there by LEAVER-PINS.json). Each step uses an unchanged signed +builder with a LeaverSAT recipe (data only), and every intermediate word is pinned: + 1. pivot-swap: ../layers/build_pivot_swap.py with PIVOT-SWAP-.json on the regroup word (its own 30 controls). + 2. hpe: PR635's build_hpe.candidates (greedy, disjoint registers) must equal HPE-RECIPE-.json; build_hpe.apply. + The swapped HPE word is pinned by the cold-layer recipes' input_content_sha256. + 3. cold44-exact: ../notri/cold44x.py on the swapped HPE word (pairing ranks pinned to LEAVER-PINS); its cold ends, + premix and low tails must equal the unswapped leaver construction's. + 4. layers: PR635's build_cold_end.apply(HPE, COLD-LAYERS-RECIPE-NP-) -> NP word and (.., -P6N-) -> p6n word; + output shas pinned by the recipes. + 5. promotion: ../promo/build_promotion.py with PROMO-RECIPE-.json on the p6n word; ../promo/promo_controls.py. + 6. jx: ../jx/build_jx.py with RECIPE-X4-.json on the promoted word; all recipe controls rerun at their pins. + 7. hybrids: ../barch/build_tri.py with RECIPE-U8-.json on the jx word; ../barch/run_controls.py (all outcomes). + 8. frames: build_frames_lv.py (LeaverSAT2) applies FRAME-RECIPE-LV-.json (B/T frame changes, exact global frame + optimum) with ../promo/build_promotion.apply; scalar program unchanged; 3 pin controls; output pinned. + 8b. layer-end-controls: layer_end_controls_leaver.py (v2: the signed per-end controls with per-word reason re-pins + and declared not-applicable sites, each replaced by a same-class substitute mutant) on the p6n, promoted, jx and + hybrid words with LEC-REASON-PINS-STACK-.json, and on the re-framed final word with LEC-REASON-PINS-.json; + counts, not-applicable sites and the sha256 of each pins file pinned. + 9. native, ledgers, local-replay, wrappers, phases on the final word; canonical, programs, Clifford pinned. +All counts and native pins are in CHAIN-PINS-.json (--record-pins writes it from a run instead of checking; +a checking run requires its pins to equal the file exactly). +Apache-2.0. Driver by ColdWitness over LeaverSAT's frozen recipes and the signed builders. +""" +import argparse, gzip, hashlib, importlib.util, json, os, subprocess, sys, time +from pathlib import Path + +HERE = Path(__file__).resolve().parent +C = HERE.parent +MUTANTS = ('drop_restore', 'restore_full', 'drop_preread', 'donation_after') + + +def read(p): + raw = Path(p).read_bytes() + return json.loads(gzip.decompress(raw) if str(p).endswith('.gz') else raw) + + +def enc(x): return json.dumps(x, sort_keys=True, separators=(',', ':')).encode() + + +def csha(p): return hashlib.sha256(gzip.decompress(Path(p).read_bytes())).hexdigest() + + +def load(name, path): + s = importlib.util.spec_from_file_location(name, path); m = importlib.util.module_from_spec(s); s.loader.exec_module(m); return m + + +def main(): + assert __debug__, 'Assertions are required' + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--main', type=Path, required=True) + ap.add_argument('--pr635', type=Path, required=True) + ap.add_argument('--leaver-dir', type=Path, required=True, help='construction/leaver/reproduce_leaver.py --word-only output') + ap.add_argument('--hamming', type=Path, required=True, help='hamming/ of the construction/reproduce.py --until word output') + ap.add_argument('--out', type=Path, required=True) + ap.add_argument('--skip-phases', action='store_true') + ap.add_argument('--id', default='k5', help='recipe set id: every recipe and pin file below is -') + ap.add_argument('--record-pins', action='store_true') + a = ap.parse_args() + out = a.out.resolve(); assert not out.exists(); out.mkdir(parents=True) + up = a.pr635.resolve() / 'research/complex-571-cold14-st2' + src = a.main.resolve() / 'research/complex-k492-owner-repair/vendor/multicold' + base = src / 'vendor/pr558'; parent = base / 'vendor/pr552'; gk = parent / 'complex-local/static44/gk' + routing = parent / 'complex-local/inputs/phase-baseline/CANONICAL-WORD.json.gz' + lp = read(HERE / ('LEAVER-PINS-%s.json' % a.id)) + pins = {} if a.record_pins else read(HERE / ('CHAIN-PINS-%s.json' % a.id)); got = {} + + def pin(key, value): + got[key] = value + if not a.record_pins: assert pins[key] == value, (key, value, pins.get(key)) + + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONUTF8='1', PYTHONINTMAXSTRDIGITS='0', + MULTICOLD_SOURCE=str(src), GAIN_PR564_SOURCE=str(src)) + for k in ('PYTHONOPTIMIZE', 'XPARAM', 'EXTRAH', 'PAIRING_RANKS', 'DIAG', 'HYBBUDGET', 'PR635_CODE', 'LEC_REASON_PINS', 'SW4_PIN'): env.pop(k, None) + steps = [] + + def run(label, script, *args, portable=True, extra=None): + t = time.monotonic(); e = dict(env, **(extra or {})) + cmd = [sys.executable, '-B'] + ([str(src / 'code/run_portable.py')] if portable else []) + [str(script), *map(str, args)] + with (out / (label + '.log')).open('w') as f: + rc = subprocess.call(cmd, env=e, stdout=f, stderr=subprocess.STDOUT) + steps.append(dict(step=label, exit_code=rc, seconds=round(time.monotonic() - t, 3))) + (out / 'STEPS.json').write_text(json.dumps(steps, indent=2) + '\n') + assert rc == 0, label + print('PASS', label, flush=True) + return (out / (label + '.log')).read_text() + + def lec(label, word, pins_name): + pf = HERE / ('%s-%s.json' % (pins_name, a.id)); pin(label + '_pins_sha256', hashlib.sha256(pf.read_bytes()).hexdigest()) + run(label, HERE / 'layer_end_controls_leaver.py', word, routing, out / label, + extra=dict(PR635_CODE=str(up / 'code'), LEC_REASON_PINS=str(pf))) + c = read(out / label / 'COLD-END-CONTROLS.json'); assert c['status'] == 'PASS_COLD_END_RAW_WORD_CONTROLS' + pin(label, len(c['rejected'])); pin(label + '_not_applicable', {x['site']: x['reason'] for x in c['not_applicable']}) + + ld = a.leaver_dir.resolve() + assert hashlib.sha256(enc(read(ld / 'cold44/FULL-WORD.json.gz'))).hexdigest() == lp['cold44_sha256'], 'leaver cell word' + rg = ld / 'regroup/FULL-WORD.json.gz' + sw = read(HERE / ('PIVOT-SWAP-%s.json' % a.id)) + assert hashlib.sha256(enc(read(rg))).hexdigest() == lp['regroup_sha256'] == sw['input_content_sha256'], 'regroup word' + # 1. pivot swaps + run('pivot-swap', C / 'layers/build_pivot_swap.py', '--input', rg, '--recipe', HERE / ('PIVOT-SWAP-%s.json' % a.id), '--gk-dir', gk, '--out', out / 'swap') + w = read(out / 'swap/FULL-WORD.json.gz'); assert hashlib.sha256(enc(w)).hexdigest() == sw['output_content_sha256'], 'swap word' + # 2. HPE + h = load('upstream_hpe', up / 'code/build_hpe.py'); used, ch = set(), [] + for c in h.candidates(w): + rs = set(h.regs(w['cleanup'][c['cleanup_index']])) + if rs & used: continue + used |= rs; ch.append(c) + assert ch == read(HERE / ('HPE-RECIPE-%s.json' % a.id))['changes'], 'HPE recipe' + w = h.apply(w, ch); (out / 'hpe').mkdir(); (out / 'hpe/FULL-WORD.json.gz').write_bytes(gzip.compress(enc(w), mtime=0)) + rnp, rp6 = read(HERE / ('COLD-LAYERS-RECIPE-NP-%s.json.gz' % a.id)), read(HERE / ('COLD-LAYERS-RECIPE-P6N-%s.json.gz' % a.id)) + assert hashlib.sha256(enc(w)).hexdigest() == rnp['input_content_sha256'] == rp6['input_content_sha256'], 'swapped HPE word' + # 3. cold44 on the swapped word: same ends, premix and tails + hm = set(read(ld / 'raw/HELPER-MAP.json')['map'].values()) + run('cold44-exact', C / 'notri/cold44x.py', '--input', out / 'hpe/FULL-WORD.json.gz', '--out', out / 'cold44', + '--hamming', a.hamming.resolve(), '--upstream-package', up, + extra=dict(EXTRAH=json.dumps(sorted(set(range(224, 224 + w['report']['R'])) - hm)), PAIRING_RANKS=json.dumps(lp['pairing_ranks']))) + new, old = read(out / 'cold44/RECIPE.json.gz'), read(ld / 'cold44/RECIPE.json.gz') + for key in ('premix', 'early_cleanup', 'cold_ends'): assert new[key] == old[key], ('swapped cold44 differs', key) + tail = len(new['early_cleanup']); assert new['cleanup'][:tail] == old['cleanup'][:tail], 'low tails' + # 4. NP and p6n layers + bce = load('upstream_cold', up / 'code/build_cold_end.py') + for name, r in (('np', rnp), ('p6n', rp6)): + lw = bce.apply(w, r); raw = enc(lw); assert hashlib.sha256(raw).hexdigest() == r['output_content_sha256'], (name, 'word') + (out / name).mkdir(); (out / name / 'FULL-WORD.json.gz').write_bytes(gzip.compress(raw, mtime=0)) + pin(name + '_profile', lw['report']['local_profile']) + p6n = out / 'p6n/FULL-WORD.json.gz'; lec('lec-p6n', p6n, 'LEC-REASON-PINS-STACK') + # 5. promotion + pr = HERE / ('PROMO-RECIPE-%s.json' % a.id) + run('promotion', C / 'promo/build_promotion.py', '--input', p6n, '--recipe', pr, '--out', out / 'promo', portable=False) + assert csha(out / 'promo/FULL-WORD.json.gz') == read(pr)['expected']['output_content_sha256'] + run('promo-controls', C / 'promo/promo_controls.py', '--input', p6n, '--recipe', pr, '--audit', C.parent / 'independent/audit_local.py', + '--out', out / 'PROMO-CONTROLS.json', portable=False) + pc = read(out / 'PROMO-CONTROLS.json'); assert pc['honest'] == 'PASS'; pin('promo_controls', pc['rejected']) + lec('lec-promo', out / 'promo/FULL-WORD.json.gz', 'LEC-REASON-PINS-STACK') + # 6. jx + xr = HERE / ('RECIPE-X4-%s.json' % a.id); rec = read(xr); inp = out / 'promo/FULL-WORD.json.gz' + (out / 'jx').mkdir(); jw = out / 'jx/FULL-WORD.json.gz' + run('jx', C / 'jx/build_jx.py', '--input', inp, '--recipe', xr, '--out', jw, portable=False) + assert csha(jw) == rec['expected']['output_content_sha256'] + for name, cc in sorted(rec['controls'].items()): + log = run('jx-control-' + name, C / 'jx/build_jx.py', '--input', inp, '--recipe', xr, '--control', name, portable=False) + if 'rejection_expected' in cc: assert 'CONTROL PINNED' in log, (name, log[-300:]) + else: assert ('OK ' + cc['expected_sha']) in log, (name, log[-300:]) + pin('jx_controls', sorted(rec['controls'])) + lec('lec-jx', jw, 'LEC-REASON-PINS-STACK') + # 7. hybrids + ur = HERE / ('RECIPE-U8-%s.json' % a.id); u = read(ur); (out / 'hyb').mkdir(); fw = out / 'hyb/FULL-WORD.json.gz' + run('hybrids', C / 'barch/build_tri.py', jw, ur, fw, portable=False) + assert csha(fw) == u['expect_sha256'] + run('hybrid-controls', C / 'barch/run_controls.py', jw, ur, C.parent / 'independent/audit_local.py', out / 'hybrid-controls', portable=False) + res = read(out / 'hybrid-controls/controls.json') + want = ['C0_identity', 'recipe', *MUTANTS] + [m + '@' + str(v['X']) for v in u.get('variants', []) for m in MUTANTS] + assert sorted(res) == sorted(want) and all(x['ok'] for x in res.values()), res + pin('hybrid_controls', sorted(want)) + lec('lec-hyb', fw, 'LEC-REASON-PINS-STACK') + # 8. frame re-optimisation (LeaverSAT2): exact global frame optimum of the hybrid word; scalar program unchanged + fr = HERE / ('FRAME-RECIPE-LV-%s.json' % a.id); frec = read(fr) + run('frames', HERE / 'build_frames_lv.py', fw, out / 'frames', fr, portable=False) + fw = out / 'frames/FULL-WORD.json.gz'; assert csha(fw) == frec['expected']['output_content_sha256'] + pin('frame_build_controls', len(read(out / 'frames/BUILD.json')['rejected_controls'])) + # 8b. layer-end controls on the re-framed final word (v2, not-applicable sites declared in LEC-REASON-PINS-): + # the frame re-optimisation lowers an entering-end tail frame to a dimension no helper_final frame has, so that + # site's 'end at another hyperplane' mutant is replaced by its same-class substitute. + lec('lec-frames', fw, 'LEC-REASON-PINS') + # 9. native locals of the final word + local = out / 'local' + run('native', up / 'code/hpe_audit_and_transport.py', '--raw', fw, '--routing', routing, '--out', local) + pin('canonical_sha256', hashlib.sha256(gzip.decompress((local / 'CANONICAL-WORD.json.gz').read_bytes())).hexdigest()) + run('ledgers', up / 'code/hpe_emit_local.py', local) + run('local-replay', up / 'code/hpe_audit_local.py', local) + run('wrappers', up / 'code/hpe_adapters_local.py', local / 'CANONICAL-WORD.json.gz', local / 'RESIDUAL-ADAPTERS.json', local / 'WRAPPER-CHECKS.json') + checks = read(local / 'LOCAL-CHECKS.json'); pin('program_sha256', {o: checks[o]['sha256'] for o in ('forward', 'backward')}) + if not a.skip_phases: + run('phases', base / 'code/phases_full.py', local, parent / 'complex-global/vendor531/vendor/clifford') + pin('clifford_recipes_sha256', hashlib.sha256((local / 'CLIFFORD-RECIPES.json').read_bytes()).hexdigest()) + if a.record_pins: (out / ('CHAIN-PINS-%s.json' % a.id)).write_bytes((json.dumps(got, indent=1) + '\n').encode()) + else: assert got == pins, ('chain pins differ', sorted(set(got) ^ set(pins))) + print('DONE', local, flush=True) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-slots/construction/notri/PRIO6.json b/research/gauge44-slots/construction/notri/PRIO6.json new file mode 100644 index 0000000000..069a7bf5a5 --- /dev/null +++ b/research/gauge44-slots/construction/notri/PRIO6.json @@ -0,0 +1 @@ +{"prio": {"0,1,2,3": [["1", "0", "0", "1", "0", "0", "0", "0"], ["0", "-1/2", "1/2", "0", "0", "-1/2", "1/2", "0"], ["-1/2", "0", "0", "1/2", "0", "0", "0", "0"], ["0", "0", "0", "0", "1", "0", "0", "1"], ["0", "0", "0", "0", "0", "-1/2", "1/2", "0"], ["-1/2", "0", "0", "1/2", "-1/2", "0", "0", "1/2"]], "0,1,4,5": [["1", "0", "0", "1", "0", "0", "0", "0"], ["0", "-1/2", "1/2", "0", "0", "-1/2", "1/2", "0"], ["-1/2", "0", "0", "1/2", "0", "0", "0", "0"], ["0", "0", "0", "0", "1", "0", "0", "1"], ["0", "0", "0", "0", "0", "-1/2", "1/2", "0"], ["-1/2", "0", "0", "1/2", "-1/2", "0", "0", "1/2"]], "0,1,6,7": [["1", "0", "0", "1", "0", "0", "0", "0"], ["0", "-1/2", "1/2", "0", "0", "-1/2", "1/2", "0"], ["-1/2", "0", "0", "1/2", "0", "0", "0", "0"], ["0", "0", "0", "0", "1", "0", "0", "1"], ["0", "0", "0", "0", "0", "-1/2", "1/2", "0"], ["-1/2", "0", "0", "1/2", "-1/2", "0", "0", "1/2"]], "2,3,4,5": [["1", "0", "0", "1", "0", "0", "0", "0"], ["0", "-1/2", "1/2", "0", "0", "-1/2", "1/2", "0"], ["-1/2", "0", "0", "1/2", "0", "0", "0", "0"], ["0", "0", "0", "0", "1", "0", "0", "1"], ["0", "0", "0", "0", "0", "-1/2", "1/2", "0"], ["-1/2", "0", "0", "1/2", "-1/2", "0", "0", "1/2"]], "2,3,6,7": [["1", "0", "0", "1", "0", "0", "0", "0"], ["0", "-1/2", "1/2", "0", "0", "-1/2", "1/2", "0"], ["-1/2", "0", "0", "1/2", "0", "0", "0", "0"], ["0", "0", "0", "0", "1", "0", "0", "1"], ["0", "0", "0", "0", "0", "-1/2", "1/2", "0"], ["-1/2", "0", "0", "1/2", "-1/2", "0", "0", "1/2"]], "4,5,6,7": [["1", "0", "0", "1", "0", "0", "0", "0"], ["0", "-1/2", "1/2", "0", "0", "-1/2", "1/2", "0"], ["-1/2", "0", "0", "1/2", "0", "0", "0", "0"], ["0", "0", "0", "0", "1", "0", "0", "1"], ["0", "0", "0", "0", "0", "-1/2", "1/2", "0"], ["-1/2", "0", "0", "1/2", "-1/2", "0", "0", "1/2"]]}} \ No newline at end of file diff --git a/research/gauge44-slots/construction/notri/cgx.py b/research/gauge44-slots/construction/notri/cgx.py new file mode 100644 index 0000000000..08e80804eb --- /dev/null +++ b/research/gauge44-slots/construction/notri/cgx.py @@ -0,0 +1,469 @@ +# Round20 early-coordinate-center / own-Y variant, prepared for icekylinx +# with OpenAI Codex assistance. Apache-2.0. Scalar elementary-operation +# helpers below are retained from the attributed PR514 construct_partial.py. +# Adapted by OpenAI Codex for isolated structural research. +# Modified from PR425 by icekylinx with Codex assistance. +"""Full discovery word for Hamming packets with borrowed X and Y registers. + +This changes the scalar architecture. It is not accepted by the old restricted +gx interface: source bases may change until full-frame cleanup, and targets use +an explicitly inverted output basis. No supplier admission is asserted. +""" +import copy,gzip,json,math,time +import itertools as it +from collections import Counter,defaultdict +from fractions import Fraction as Q +from pathlib import Path + +import sys +INPUT=Path(sys.argv[1]);OUT=Path(sys.argv[2]);OUT.mkdir(parents=True,exist_ok=False);D=json.loads((INPUT/'PROTOTYPE.json').read_text()) +P=D['binary_ports'];R=D['root_lines'];v=120;h=9 +modules=json.load(gzip.open(INPUT/'PACKET-PROGRAMS.json.gz')) +# AtomScout: leaver-read K-triangles (schedule from atom1.py / rog.py CP-SAT) +TRI=json.loads(Path(sys.argv[3]).read_text()) +FULLT={(tuple(tr['p']),tr['e']) for tr in TRI['triangles']} +TRI_COORDS={t+8 for tr in TRI['triangles'] for t,_,_ in tr['reads']} +import os as _o +COPYL=json.loads(open(_o.environ['XPARAM']).read()).get('copyl',[]) if _o.environ.get('XPARAM') else [] +NH=504-3*len(FULLT)+len(COPYL) + +def basis(vectors): + b={} + for x in vectors: + for p in sorted(b,reverse=True): + if x>>p&1:x^=b[p] + if x: + p=x.bit_length()-1 + for q in b: + if b[q]>>p&1:b[q]^=x + b[p]=x + return tuple(b[p] for p in sorted(b,reverse=True)) +def inside(a,b):return basis(a+b)==b +def hyper(p):return basis([x for x in range(1,512) if (x&p).bit_count()%2==0]) +FULL=basis([1<=v,r)) + for col,s in enumerate(ids): + k=next(i for i in range(col,len(regs)) if rows[regs[i]].get(s,Q(0))) + swap(regs[k],regs[col],F) + scale(regs[col],1/rows[regs[col]][s],F) + for i in range(len(regs)): + if i!=col and rows[regs[i]].get(s,Q(0)):add(regs[i],regs[col],-rows[regs[i]][s],F) + assert all(rows[regs[i]]=={s:Q(1)} for i,s in enumerate(ids)) + M=[[Q(R[s][i]) for s in ids] for i in c] + def qr_rank(rs): + bs={} + for r in rs: + r=r.copy() + for i,b in sorted(bs.items()): + if r[i]:q=r[i];r=[x-q*y for x,y in zip(r,b)] + i=next((i for i,x in enumerate(r) if x),None) + if i is not None:q=r[i];bs[i]=[x/q for x in r] + return len(bs) + assert qr_rank(M)==4 + for rr0 in PRIO.get(",".join(map(str,c)),[])+PRIORITY[",".join(map(str,c))]["rows"]: + rr=list(map(Q,rr0)) + if qr_rank(M+[rr])>len(M):M.append(rr) + if len(M)==8:break + for i in range(8): + if len(M)==8:break + rr=[Q(i==j) for j in range(8)] + if qr_rank(M+[rr])>len(M):M.append(rr) + if len(M)==8:break + assert len(M)==8 + linear(regs,M,F) + for i,r in zip(c,regs): + assert rows[r]=={s:Q(R[s][i]) for s in ids} + block_totals[c,i]=r + +# All centers are complete while Y is still at zero. This is the crucial +# difference from an illegal early-own-Y prefix using the old center order. +centers=[] +for i in range(8): + regs=[block_totals[c,i] for c in sorted(blocks) if i in c] + F=hyper(P[frame[i]]);a=regs[0] + for b in regs[1:]:add(a,b,1,F) + centers.append(a) +centers += [frame[i] for i in range(8)] +center_frames=[cur[r] for r in centers] +assert list(map(len,center_frames))==[8]*8+[1]*8 +assert all(cur[v+t]==() for t in range(v)) + +phase=B +for t,(r,coef,F) in sorted(own_rows.items()): + if t in TRI_COORDS:continue + assert cur[r]==F + add(v+t,r,coef,F) +# requests are needed for TRI coefficients +requests=defaultdict(list) +for pid,pair in enumerate(pairs): + if not pair['selected']:continue + (t,u),(key1,key2),mat=pair['targets'],pair['keys'],pair['matrix'] + requests[key1].append((t,-Q(mat[0][0],2))) + requests[key2].append((u,-Q(mat[0][1],2))) +reqcoef={t:(key,coef) for key,reqs in requests.items() for t,coef in reqs} +def face_info(c,p,eps): + z=blocks[c];keys=[(pp,ee) for pp in it.combinations(c,2) for ee in (-1,1)] + r_local,alpha=z['outputs'][keys.index((p,eps))] + j=[j for j in range(40,len(z['events'])) if z['events'][j][0]==r_local];assert len(j)==1 + return j[0],Q(alpha) +tri_join_counts=Counter();TRILOG=[] +lcopy={} +for s8 in COPYL: + r=s8+8;c=len(cur);cur.append(());rows.append({});shadow.append(None);add(c,r,1,cur[r]);lcopy[r]=c +BF={c:basis([P[x] for x in z['receipt']['source_lines']]) for c,z in blocks.items()} +HYB={(tuple(map(int,h[0])),tuple(map(int,h[1])),int(h[2])) for h in XP.get('hyb',[])} +HYBLOG=[] +def triread(t,blk,r,q): + F=basis(cur[v+t]+cur[r]);assert inside(F,hyper(P[t])),('TRI frame',t,blk,r,cur[v+t],cur[r],hyper(P[t]),[x for x in TRILOG if x[2]==r],HYBLOG) + tri_join_counts[len(F)]+=1;add(v+t,r,q,F);TRILOG.append([t,list(blk),r,str(q),list(F),list(cur[r])]) +for tr in TRI['triangles']: + p,eps=tuple(tr['p']),tr['e'] + hb={blk for _,blk,_ in map(lambda x:(x[0],tuple(x[1]),x[2]),tr['reads']) if (blk,p,eps) in HYB} + own=[];rest=[] + for t8,blk,loc in tr['reads']: + t=t8+8;blk=tuple(blk);r=maps[blk][loc];r0=r;r=lcopy.get(r,r) + key,coef=reqcoef[t];assert key[1]==p and key[2]==eps,(key,p,eps) + if blk==key[0]: + rr,c0,F0=own_rows[t];assert rr==r0;own.append((t,blk,r,c0)) + else: + j,alpha=face_info(blk,p,eps);ev=blocks[blk]['events'][j];assert loc in ev[:2] + rest.append((t,blk,loc,r,coef*alpha)) + if not hb: + # original interleaved order + for t8,blk,loc in tr['reads']: + t=t8+8;blk=tuple(blk);r=maps[blk][loc];key,coef=reqcoef[t] + if blk==key[0]:q=own_rows[t][1] + else:j,alpha=face_info(blk,p,eps);q=coef*alpha + triread(t,blk,r,q) + continue + items=[] # (kind, t, reg, q, blk) + for t,blk,r,q in own:items.append(('r',t,r,q,blk,blk in hb)) + for blk in sorted(hb):items.append(('e',None,None,None,blk,True)) + done=set() + for t,blk,loc,r,q in rest: + if blk in hb: + j,_=face_info(blk,p,eps);ev=blocks[blk]['events'][j] + ws=[x for x in rest if x[0]==t and x[1]==blk];assert len(ws)==2 and ws[0][4]==ws[1][4] and {ws[0][2],ws[1][2]}==set(ev[:2]) + if (t,blk) in done:continue + done.add((t,blk));items.append(('m',t,maps[blk][ev[0]],q,blk,True)) + else:items.append(('r',t,r,q,blk,False)) + # Original read order with the two half reads collapsed into one M read at the first half's slot; the face event goes + # just before the first M read of its block; own reads of the M register are hoisted ahead of that event. + def evinfo(blk): + j,_=face_info(blk,p,eps);ev=blocks[blk]['events'][j];assert ev[2]==ev[3]==1,ev + mpb=maps[blk];return mpb[ev[0]],mpb[ev[1]],tuple(blocks[blk]['event_frames'][j]) + items=[] + seen=set() + for t8,blk,loc in tr['reads']: + t=t8+8;blk=tuple(blk);r=maps[blk][loc];key,coef=reqcoef[t] + if blk==key[0]:items.append(('r',t,r,own_rows[t][1],blk,blk in hb)) + else: + j,alpha=face_info(blk,p,eps);q=coef*alpha + if blk in hb: + if (t,blk) not in seen:seen.add((t,blk));continue + items.append(('m',t,evinfo(blk)[0],q,blk,True)) + else:items.append(('r',t,r,q,blk,False)) + for blk in sorted(hb): + k0=min(i for i,x in enumerate(items) if x[0]=='m' and x[4]==blk) + items.insert(k0,('e',None,None,None,blk,True)) + n=len(items) + def step(it,st): + k,t,r,q,blk,h=it;g=lambda x:st.get(x,cur[x]) + if k=='e': + a_,b_,EF=evinfo(blk);FF=basis(list(EF)+list(g(a_))+list(g(b_))) + return {a_:FF,b_:FF} if inside(FF,BF[blk]) else None + F=basis(list(g(v+t))+list(g(r))) + if not inside(F,hyper(P[t])):return None + if h and k=='r' and r==evinfo(blk)[1] and not inside(F,BF[blk]):return None + return {v+t:F,r:F} + def allowed(i,used): + k,t,r,q,blk,h=items[i] + evi=[j for j,x in enumerate(items) if x[0]=='e' and x[4]==blk] if h else [] + if k=='e':return all(j in used for j,x in enumerate(items) if x[0]=='r' and x[4]==blk and x[5] and x[2]==evinfo(blk)[0]) + if k=='m':return evi[0] in used + if k=='r' and h and r==evinfo(blk)[0]:return evi[0] not in used + return True + budget=[int(os.environ.get('HYBBUDGET','300000'))];memo=set() + def dfs(st,used,order): + if len(order)==n:return order + budget[0]-=1 + if budget[0]<0:return None + sig=(used,tuple(sorted(st.items()))) + if sig in memo:return None + memo.add(sig) + for i in range(n): + if i in used or not allowed(i,used):continue + d=step(items[i],st) + if d is None:continue + ns=dict(st);ns.update(d);res=dfs(ns,used|{i},order+[i]) + if res:return res + return None + import sys as _s;_s.setrecursionlimit(20000) + order=dfs({},frozenset(),[]) + assert order,('no feasible hybrid order',p,eps,sorted(hb),budget) + for i in order: + k,t,r,q,blk,h=items[i] + if k=='e': + a_,b_,EF=evinfo(blk);FF=basis(list(EF)+list(cur[a_])+list(cur[b_]));add(a_,b_,1,FF);HYBLOG.append([list(blk),list(p),eps,list(FF)]) + else:triread(t,blk,r,q) + +packets={} +for c,z in sorted(blocks.items()): + mp=maps[c] + keys=[(p,eps) for p in it.combinations(c,2) for eps in (-1,1)] + skipev={face_info(c,p,eps)[0] for p,eps in keys if (p,eps) in FULLT} + for j,(e,F) in enumerate(list(zip(z['events'],z['event_frames']))[40:]): + if j not in early[c] and 40+j not in skipev: + t,s,a,b=e;add(mp[t],mp[s],Q(a,b),tuple(F)) + for key,(r,alpha) in zip(keys,z['outputs']): + if tuple(key) in FULLT:skip();continue + a=mp[r];b=alloc();add(b,a,1,cur[a]) + consumers=sorted(d for d in blocks if d!=c and set(key[0])<=set(d)) + assert len(consumers)==2 + for target,r in zip(consumers,(a,b)):packets[c,key[0],key[1],target]=(r,Q(alpha)) + +# Both tetrahedra use the same partition. A selected key has exactly two +# selected Y loads and no ordinary M consumer. Supply its two raw halves in +# opposite orders and never form that M. Other keys retain the old M path. +second=[];first_join_counts=Counter() +for key,reqs in sorted(requests.items()): + assert len(reqs)==2 + c,p,eps=key + if (p,eps) in FULLT:continue + ds=sorted(d for d in blocks if d!=c and set(p)<=set(d));a,b=ds + for j,(target,coef) in enumerate(sorted(reqs)): + first_source,second_source=(a,b) if j==0 else (b,a) + r,alpha=packets[first_source,p,eps,second_source] + F=basis(cur[v+target]+cur[r]);assert inside(F,hyper(P[target])) + first_join_counts[len(F)]+=1;add(v+target,r,coef*alpha,F) + r,alpha=packets[second_source,p,eps,c] + second.append((target,r,coef*alpha)) + +Ms={} +for c in sorted(blocks): + for p in it.combinations(c,2): + ds=sorted(d for d in blocks if d!=c and set(p)<=set(d)) + for eps in (-1,1): + if (c,p,eps) in requests:continue + (a,alpha),(b,beta)=[packets[d,p,eps,c] for d in ds] + F=basis(cur[a]+cur[b]);add(a,b,beta/alpha,F) + Ms[c,p,eps]=(a,alpha) + +consumers=defaultdict(list) +for pid,pair in enumerate(pairs): + for key in pair['keys']:consumers[key].append(pid) +slots={} +for key,uses in sorted(consumers.items()): + assert len(uses)==2 + if key in requests: + assert all(pairs[i]['selected'] for i in uses) + continue + assert all(not pairs[i]['selected'] for i in uses) + a,alpha=Ms[key] + for j,pid in enumerate(uses): + if j==0:r=a + else:r=alloc();add(r,a,1,cur[a]) + slots[pid,key]=(r,alpha) +assert len(cur)-240==NH,len(cur)-240 + +selected_join_counts=Counter() +for target,r,coef in second: + F=basis(cur[v+target]+cur[r]);assert inside(F,hyper(P[target])) + selected_join_counts[len(F)]+=1;add(v+target,r,coef,F) +output_basis=[] +for pair in pairs: + if not pair['selected']:continue + (t,u),mat=pair['targets'],pair['matrix'] + F=basis(cur[v+t]+cur[v+u]);assert inside(F,hyper(P[t])) and inside(F,hyper(P[u])) + add(v+t,v+u,1,F);add(v+u,v+t,-Q(1,2),F) + z=-Q(2*mat[1][0],mat[0][0]);scale(v+u,z,F);output_basis.append((t,u,z)) + +for pid,pair in enumerate(pairs): + if pair['selected']:continue + (t,u),(key1,key2),mat=pair['targets'],pair['keys'],pair['matrix'] + (a,alpha),(b,beta)=slots[pid,key1],slots[pid,key2] + F=basis(cur[a]+cur[b]);aa,ab=Q(mat[0][0])*alpha,Q(mat[0][1])*beta + ba,bb=Q(mat[1][0])*alpha,Q(mat[1][1])*beta + add(a,b,ab/aa,F);q=ba/(bb-ba*ab/aa);add(b,a,q,F) + add(v+t,a,-aa/2,hyper(P[t]));add(v+u,b,-(bb-ba*ab/aa)/2,hyper(P[u])) + +for t in range(v): + expected={s:-Q(G[t][s],2) for s in range(v) if s!=t and G[t][s] and s not in frame.values()} if t not in frame.values() else {} + assert rows[v+t]==expected,('side identity',t) + +scatter=[[Q(r[i],4) if t not in frame.values() else Q(0) for i in range(8)]+[Q(t==frame[i]) for i in range(8)] for t,r in enumerate(R)] +precondition=[] +for t,u,z in output_basis: + a,b=scatter[t].copy(),scatter[u].copy() + scatter[t]=[x/2-y/z for x,y in zip(a,b)] + scatter[u]=[x/2+y/z for x,y in zip(a,b)] + precondition.extend([['scale',v+u,(1/z).numerator,(1/z).denominator,[]], + ['add',v+u,v+t,1,2,[]],['add',v+t,v+u,-1,1,[]]]) +for r in range(len(cur)):climb(r,hyper(P[r-v]) if v<=r<2*v else FULL) +H[8]+=8;H[1]+=8 +assert sum(r*z for r,z in H.items())==9*NH+240*8+72,sum(r*z for r,z in H.items()) + +def apply(e,matrix): + if e[0]=='add': + _,t,s,a,b,*_=e;q=Q(a,b) + for j,x in list(matrix[s].items()): + z=matrix[t].get(j,Q(0))+q*x + if z:matrix[t][j]=z + else:matrix[t].pop(j,None) + else: + _,t,a,b,*_=e;q=Q(a,b);matrix[t]={j:q*x for j,x in matrix[t].items()} +def inverse(e): + e=copy.deepcopy(e) + if e[0]=='add':e[3]*=-1 + else:e[2],e[3]=e[3],e[2] + e[-1]=list(FULL);return e +cut=[['add',v+t,centers[i],q.numerator,q.denominator,None] for t,row in enumerate(scatter) for i,q in enumerate(row) if q] +cleanup=[inverse(e) for e in reversed(A+B) if not v<=e[1]<2*v] +matrix=[{r:Q(1)} if r>k&1:a^=d[k] + if a: + k=a.bit_length()-1 + for j in d: + if d[j]>>k&1:d[j]^=a + d[k]=a + return tuple(d[k] for k in sorted(d,reverse=True)) +def inside(a,b):return basis(a+b)==b +def regs(e):return e[1:3] if e[0]=='add' else e[1:2] +def inverse(e): + e=copy.deepcopy(e) + if e[0]=='add':e[3]=-e[3] + else:e[2],e[3]=e[3],e[2] + return e +def apply(e,M,mapping=None): + t=mapping[e[1]] if mapping is not None else e[1] + if e[0]=='add': + s=mapping[e[2]] if mapping is not None else e[2];q=Q(e[3],e[4]) + for j,a in M[s].items(): + x=M[t].get(j,Q(0))+q*a + if x:M[t][j]=x + else:M[t].pop(j,None) + else: + q=Q(e[2],e[3]);M[t]={j:q*a for j,a in M[t].items()} +def rref(A): + a=[list(map(Q,row)) for row in A];nr=len(a);nc=len(a[0]) if nr else 0;row=0;piv=[] + for c in range(nc): + k=next((i for i in range(row,nr) if a[i][c]),None) + if k is None:continue + a[row],a[k]=a[k],a[row];q=a[row][c];a[row]=[x/q for x in a[row]] + for i in range(nr): + if i!=row and a[i][c]:q=a[i][c];a[i]=[x-q*y for x,y in zip(a[i],a[row])] + piv.append(c);row+=1 + if row==nr:break + return a,piv +def rank(A):return len(rref(A)[1]) +def null(A,nc=None): + if A:a,piv=rref(A);nc=len(a[0]) + else:a=[];piv=[];assert nc is not None + free=[j for j in range(nc) if j not in piv];out=[[Q(0) for j in free] for i in range(nc)] + for k,c in enumerate(free):out[c][k]=Q(1) + for i,c in enumerate(piv): + for k,j in enumerate(free):out[c][k]=-a[i][j] + return out +def mm(A,B): + if not A:return [] + if not B:return [[] for row in A] + bt=list(zip(*B));return [[sum((a*b for a,b in zip(row,col)),Q(0)) for col in bt] for row in A] +def tr(A):return list(map(list,zip(*A))) +def inv(A): + n0=len(A);a,p=rref([row+[Q(i==j) for j in range(n0)] for i,row in enumerate(A)]) + assert p[:n0]==list(range(n0)) + return [row[n0:] for row in a] +def unit(q): + if not q:return False + a=abs(q.numerator);b=q.denominator + return not a&(a-1) and not b&(b-1) +def dyadic(q):return not q.denominator&(q.denominator-1) +def opadd(t,s,q,F):return ['add',t,s,q.numerator,q.denominator,list(F)] +def opscale(t,q,F):return ['scale',t,q.numerator,q.denominator,list(F)] +def eliminate(M,ids,F,skip=()): + """Return legal dyadic row operations taking an invertible sparse matrix to I.""" + skip=set(skip);ops=[];dim=len(M) + def add(i,j,q): + if q: + assert dyadic(q);e=opadd(ids[i],ids[j],q,F);ops.append(e) + for c,x in M[j].items(): + z=M[i].get(c,Q(0))+q*x + if z:M[i][c]=z + else:M[i].pop(c,None) + def scale(i,q): + if q!=1: + assert unit(q);ops.append(opscale(ids[i],q,F));M[i]={c:q*x for c,x in M[i].items()} + def swap(i,j): + if i!=j: + add(i,j,Q(1));add(j,i,Q(-1));add(i,j,Q(1));scale(j,Q(-1)) + for c in range(dim): + if c in skip: + assert M[c]=={c:Q(1)} and all(not M[i].get(c) for i in range(dim) if i!=c) + continue + cand=[i for i in range(c,dim) if i not in skip and M[i].get(c)] + k=next((i for i in cand if unit(M[i][c])),None) + if k is None: + # Elementary Euclidean row additions reduce the pivot-column numerator gcd. + assert cand,('singular',c) + while k is None: + cand.sort(key=lambda i:abs(M[i][c]));a=cand[0] + b=next((i for i in cand[1:] if M[i][c]),None) + if b is None:raise ValueError(('non-dyadic determinant pivot',c,M[a][c])) + rat=M[b][c]/M[a][c];q=rat.numerator//rat.denominator + if q==0:q=1 if rat>0 else -1 + add(b,a,Q(-q));cand=[i for i in cand if M[i].get(c)] + k=next((i for i in cand if unit(M[i][c])),None) + swap(c,k);scale(c,1/M[c][c]) + for i in range(dim): + if i!=c and M[i].get(c): + assert i not in skip + add(i,c,-M[i][c]) + assert all(row=={i:Q(1)} for i,row in enumerate(M)) + return ops +def realize(A,ids,F): + M=[{j:Q(x) for j,x in enumerate(row) if x} for row in A] + return [inverse(e) for e in reversed(eliminate(M,ids,F))] +# Reconstruct the actual non-target map after the inherited HPE tail. +inherited_tail=[w['cleanup'][i][:-1]+[list(f)] for i,f in w.get('early_cleanup',[])] +mainN=[e for e in w['A']+w['B'] if not v<=e[1]<2*v] +M=[{i:Q(1)} for i in range(len(N))] +for e in mainN+inherited_tail:apply(e,M,ix) +MI=[{i:Q(1)} for i in range(len(N))] +for e in reversed(mainN+inherited_tail):apply(inverse(e),MI,ix) +cur={x:(w['ports'][x],) if xlen(ih):ih.append(j) + if len(ih)==r:break + assert len(ih)==r + endhs=[N[I[j]] for j in ih];endhidx=[hs.index(h) for h in endhs] + kerR=null(RR,NB);Qmat=[[Q(0) for j in range(NB)] for i in range(NB)] + for j,hj in enumerate(endhidx): + for i in range(NB):Qmat[i][hj]=qH[i][j] + other=[j for j in range(NB) if j not in endhidx] + for k,j in enumerate(other): + for i in range(NB):Qmat[i][j]=kerR[i][k] + assert rank(Qmat)==NB + pops=realize(Qmat,hs,());premix+=pops + T=[[Q(i==j)-sum((U[i][k]*L[k][j] for k in range(r)),Q(0)) for j in range(len(I))] for i in range(len(I))] + for k,i in enumerate(ih):T[i]=L[k] + tops=realize(T,[N[i] for i in I],F);tail+=tops + # Right-compose this initial helper premix; other blocks have disjoint H sets. + for row in Mafter: + vals=[row.get(h,Q(0)) for h in H] + if any(vals): + for hj in H:row.pop(hj,None) + for j,hj in enumerate(H): + z=sum((vals[i]*Qmat[i][j] for i in range(NB)),Q(0)) + if z:row[hj]=z + for e in tops:apply(e,Mafter,ix) + ends.update({h:list(F) for h in endhs}) + plans.append(dict(block=b,frame=list(F),registers=[N[i] for i in I],ends=endhs,pairing_rank=r,premix_gates=len(pops),tail_gates=len(tops),Q=[[str(x) for x in row] for row in Qmat],T=[[str(x) for x in row] for row in T])) + print('BLOCK',b,'ends',endhs,'Qops',len(pops),'Tops',len(tops),flush=True) +# Check actual post-tail isolation before constructing the high-frame inverse. +allends=set(ends)|set(map(int,w.get('helper_final',{}))) +for h in allends: + j=ix[h];assert Mafter[j]=={j:Q(1)},('row not isolated',h,Mafter[j]);assert all(not row.get(j) for i,row in enumerate(Mafter) if i!=j),('column not isolated',h) +print('EXACT_ISOLATED',len(ends),'new;',len(allends),'total',round(time.monotonic()-t0,3),flush=True) +fullops=eliminate(copy.deepcopy(Mafter),N,F9,[ix[x] for x in allends]) +print('FULL_INVERSE',len(fullops),round(time.monotonic()-t0,3),flush=True) +# Cancel new cold-axis target responses inside A, after their wrappers. +Dirt=[({h:Q(1)} if h in ends else {}) for h in range(n)] +for e in premix+w['A']+w['cut']+w['B']:apply(e,Dirt) +for e in w['precondition']:apply(e,Dirt) +postcomp=[opadd(y,h,-a,()) for y in range(v,2*v) for h,a in sorted(Dirt[y].items()) if a] +assert all(h in ends for e in postcomp for h in [e[2]]) +new=copy.deepcopy(w);new['A']=postcomp+premix+w['A'];new['cleanup']=inherited_tail+tail+fullops +new['early_cleanup']=[[i,e[-1]] for i,e in enumerate(inherited_tail+tail)] +new['helper_final'].update({str(h):f for h,f in ends.items()}) +new['refactored_cleanup']={'kind':'source_branch_gauge_and_retired_completion_cold44','new_cold_ends':len(ends),'exact_non_target_isolation_checked':True,'high_inverse':'dyadic_sparse_Gauss_Jordan'} +# Derive paid profile by subtracting and adding literal frame-chain counts. +spec=importlib.util.spec_from_file_location('upstream_cold_end',args.upstream_package/'code/build_cold_end.py') +profile_module=importlib.util.module_from_spec(spec);spec.loader.exec_module(profile_module) +oldprof,_=profile_module.chain_profile(w);newprof,_=profile_module.chain_profile(new) +prof=Counter({int(k):z for k,z in w['report']['local_profile'].items()});prof.subtract(oldprof);prof.update(newprof) +widths=Counter(len(basis(new['helper_final'].get(str(h),F9)))-len(basis(new.get('start_extra',{}).get(str(h),[]))) for h in range(224,n)) +new['report'].update(local_profile={str(k):z for k,z in sorted(prof.items()) if z},local_rank_mass=sum(k*z for k,z in prof.items()),width_inventory={str(k):z for k,z in sorted(widths.items()) if z},status='EXACT_COLD44_CONSTRUCTED_PENDING_INDEPENDENT_AUDIT') +raw=json.dumps(new,sort_keys=True,separators=(',',':')).encode();sha=hashlib.sha256(raw).hexdigest();(OUT/'FULL-WORD.json.gz').write_bytes(gzip.compress(raw,mtime=0)) +recipe={'premix':postcomp+premix,'cleanup':new['cleanup'],'early_cleanup':new['early_cleanup'],'cold_ends':{str(h):f for h,f in ends.items()},'refactored_cleanup':new['refactored_cleanup'],'output_content_sha256':sha} +(OUT/'RECIPE.json.gz').write_bytes(gzip.compress(json.dumps(recipe,sort_keys=True,separators=(',',':')).encode(),mtime=0)) +receipt=dict(input_content_sha256=hashlib.sha256(gzip.decompress(WPATH.read_bytes())).hexdigest(),output_content_sha256=sha,blocks=plans,new_cold_ends=len(ends),all_low_ended_helpers=len(allends),premix_gates=len(premix),postwrapper_compensation_gates=len(postcomp),tail_gates=len(tail),inherited_tail_gates=len(inherited_tail),full_inverse_gates=len(fullops),profile=new['report']['local_profile'],width_inventory=new['report']['width_inventory'],rank_mass=new['report']['local_rank_mass'],seconds=time.monotonic()-t0) +(OUT/'CONSTRUCTION.json').write_text(json.dumps(receipt,indent=2)+'\n') +print(json.dumps({k:z for k,z in receipt.items() if k!='blocks'},indent=2),flush=True) diff --git a/research/gauge44-slots/construction/notri/port_stage_x.py b/research/gauge44-slots/construction/notri/port_stage_x.py new file mode 100644 index 0000000000..81ac65ceff --- /dev/null +++ b/research/gauge44-slots/construction/notri/port_stage_x.py @@ -0,0 +1,125 @@ +"""Port one 504-helper construction stage onto the K-triangle word. Apache-2.0. Prepared with Claude Code assistance. + +usage: build_port_stage.py --shadow-input I4 --shadow-output O4 --input I8 --map HELPER-MAP.json --gk-dir GK --out DIR + +The shadow pair (I4 -> O4) is one stage of a 504-helper chain, rebuilt in the same run from pinned sources. I8 is the +K-triangle word at the matching point of its own chain, and HELPER-MAP.json is the 504 -> R register map written by +construct_k_triangle.py. Registers below 448 keep their ids; the removed packet copies have no image. + +The port does the following: +* It renumbers I4 and O4 through the map and drops their gates that touch a removed register. +* It matches gates by scalar operation (the gate without its frame), aligning I4 with O4 and I4 with I8 separately. +* It builds O8 in O4 gate order: + * each matched gate is taken from I8, with O4's frame wherever the stage changed that frame; + * each gate the stage introduced is taken from O4; + * each I8-only gate (the K-triangle reads) stays after the O4 image of its I8 predecessor. +* It replays the stage's entrance (start_extra) and target_levels changes. +* It rebuilds the cleanup with the inherited inverse rule. + +The constructor is a search transfer only. The verifier certifies the output independently: the generalised native +audit (exact forward and inverse replay of every column, native frame chains) runs on every ported word, and every +input and output is pinned by content hash.""" +import argparse, copy, difflib, gzip, hashlib, json, sys +from collections import Counter +from pathlib import Path + +assert __debug__, 'Assertions required' +FULL = [256, 128, 64, 32, 16, 8, 4, 2, 1] + + +def regs(g): return (g[1], g[2]) if g[0] == 'add' else (g[1],) + + +def key(g): return json.dumps(g[:-1]) + + +def inverse(e): + e = copy.deepcopy(e) + if e[0] == 'add': e[3] *= -1 + else: e[2], e[3] = e[3], e[2] + e[-1] = list(FULL); return e + + +def align(xs, ys): + """index map xs -> ys over runs of equal scalar operations""" + sm = difflib.SequenceMatcher(None, [key(g) for g in xs], [key(g) for g in ys], autojunk=False) + return {i1 + k: j1 + k for tag, i1, i2, j1, j2 in sm.get_opcodes() if tag == 'equal' for k in range(i2 - i1)} + + +def transfer_section(I4, O4, I8, stats): + a, b = align(I4, O4), align(I4, I8) + o2i = {j: i for i, j in a.items()}; i8from4 = {j: i for i, j in b.items()} + anchor = {j8: a[i4] for j8, i4 in i8from4.items() if i4 in a} + pending, last = {}, -1 + for j8, g in enumerate(I8): + if j8 in anchor: last = anchor[j8] + elif j8 not in i8from4: pending.setdefault(last, []).append(copy.deepcopy(g)); stats['kept_own'] += 1 + else: stats['dropped_by_stage'] += 1 + out = list(pending.get(-1, [])) + for k, g in enumerate(O4): + if k in o2i: + i4 = o2i[k] + if i4 in b: + g8 = copy.deepcopy(I8[b[i4]]) + if I4[i4][-1] != g[-1]: g8[-1] = copy.deepcopy(g[-1]); stats['frames_changed'] += 1 + out.append(g8) + else: + out.append(copy.deepcopy(g)); stats['introduced'] += 1 + out.extend(pending.get(k, [])) + return out + + +def main(): + ap = argparse.ArgumentParser() + for k in ('--shadow-input', '--shadow-output', '--input', '--map', '--gk-dir', '--out'): ap.add_argument(k, type=Path, required=True) + a = ap.parse_args(); assert not a.out.exists() + sys.path.insert(0, str(a.gk_dir)); import gk_word as G, gk_common as C + G.V = C.V = 112 + rd = lambda p: json.loads(gzip.decompress(p.read_bytes())) + enc = lambda x: json.dumps(x, sort_keys=True, separators=(',', ':')).encode(); sha = lambda x: hashlib.sha256(x).hexdigest() + I4, O4, I8 = rd(a.shadow_input), rd(a.shadow_output), rd(a.input) + fm = {int(k): int(v) for k, v in json.loads(a.map.read_text())['map'].items()} + assert all(fm[k] == k for k in fm if k < 448), 'only ids >= 448 may move' + R = I8['report']['R']; EXTRA = set(range(224 + R)) - set(fm.values()); assert len(set(fm.values())) == len(fm) and set(fm.values()) <= set(range(224 + R)), 'map is not injective into the K-triangle registers' + assert I4['report'].get('R', 504) == 504 and len(fm) + len(set(range(728)) - set(fm)) == 728 + rem = set(range(728)) - set(fm) + rn = lambda r: fm[r] + touches = lambda g: any(r in rem for r in regs(g)) + def rg(g): + g = copy.deepcopy(g); g[1] = rn(g[1]) + if g[0] == 'add': g[2] = rn(g[2]) + return g + def rn_word(w): + w = copy.deepcopy(w) + for s in ('A', 'B', 'cut', 'precondition', 'cleanup'): + if s in w: w[s] = [rg(g) for g in w[s] if not touches(g)] + for k in ('start_extra', 'helper_final'): + if k in w: w[k] = {str(rn(int(r))): f for r, f in w[k].items() if int(r) not in rem} + return w + I4r, O4r = rn_word(I4), rn_word(O4) + O8 = copy.deepcopy(I8); stats = {s: Counter() for s in ('A', 'B')} + for s in ('A', 'B'): O8[s] = transfer_section(I4r[s], O4r[s], I8[s], stats[s]) + for k in ('start_extra', 'target_levels'): + x, y = I4r.get(k, {}), O4r.get(k, {}); d = dict(I8.get(k, {})) + for r in set(x) | set(y): + if x.get(r) != y.get(r): + if r in y: d[r] = y[r] + else: d.pop(r, None) + if k in O4 or k in I8: O8[k] = dict(sorted(d.items(), key=lambda kv: int(kv[0]))) + for k in O4: + if k not in ('A', 'B', 'cleanup', 'report', 'start_extra', 'target_levels', 'cut', 'precondition'): + assert O4r[k] == I4r[k], 'stage changed an unported field: ' + k + O8['cleanup'] = [inverse(e) for e in reversed(O8['A'] + O8['B']) if not 112 <= e[1] < 224] + H = G.profile(O8) + ws = [9 - len(G.basis(O8['start_extra'].get(str(224 + h), []))) for h in range(R)] + O8['report'] = dict(I8['report'], local_profile={str(k): v for k, v in sorted(H.items())}, local_rank_mass=sum(k * v for k, v in H.items()), + width_inventory={str(k): v for k, v in sorted(Counter(ws).items())}) + a.out.mkdir(parents=True); (a.out / 'FULL-WORD.json.gz').write_bytes(gzip.compress(enc(O8), mtime=0)) + receipt = dict(status='PORTED_STAGE_PENDING_NATIVE_AUDIT', R=R, removed_504_helpers=sorted(rem), + shadow_input_content_sha256=sha(enc(I4)), shadow_output_content_sha256=sha(enc(O4)), input_content_sha256=sha(enc(I8)), + output_content_sha256=sha(enc(O8)), sections={s: dict(v) for s, v in stats.items()}, local_profile=O8['report']['local_profile'], + scope='Transfer construction only; exactness, frame chains and profile are certified by the native audit run on the output.') + (a.out / 'PORT-STAGE.json').write_text(json.dumps(receipt, indent=2, sort_keys=True) + '\n', newline='\n'); print(json.dumps(receipt, indent=2)) + + +main() diff --git a/research/gauge44-slots/construction/notri/reproduce_notri.py b/research/gauge44-slots/construction/notri/reproduce_notri.py new file mode 100644 index 0000000000..a85f2acf15 --- /dev/null +++ b/research/gauge44-slots/construction/notri/reproduce_notri.py @@ -0,0 +1,166 @@ +#!/usr/bin/env python3 +"""Rebuild the no-triangle gauge44 word (R = 504) and its native locals. + +The no-triangle word is #645's gauge44 chain with none of the four (p,-1) K-triangles. In the six K-blocks +{0,1,2,11,12,13}, the completion priority is extended by the 6-row list PRIO6.json, the list blocks 3-10 already use. +Each block then pairs at rank 4, giving 56 rank-four cold ends instead of 44 (PartialK). + +Input: a fresh `construction/reproduce.py --until word` output directory. Its shadow-early and shadow-prefix words and +its hamming inputs are pinned by reproduce.py itself. Steps, each checked exactly: + 1. gauge-forward: cgx.py, #645's construct_gauge_xcentre.py generalised by PartialK. The extra rows come from XPARAM, + and the K-triangle schedule comes from the TRI file. Run on the triangle set {} with XPARAM = PRIO6.json. + 2. port0-3: port_stage_x.py, PR635's build_port_stage.py with the helper map allowed to be injective rather than onto. + With R = 504 and no triangles, the map is onto again. + 3. regroup: PR635's k492 frame-regroup changes, applied where their `before` gate occurs. For this word none occurs, + and that count (0) is pinned. + 4. hpe: PR635's build_hpe.candidates, taken greedily with disjoint registers, and build_hpe.apply. 46 changes, pinned. + 5. cold44: cold44x.py, #645's build_gauge_cold44.py generalised by PartialK to blocks whose helper list includes the + helpers outside the 224+16b ranges (EXTRAH). 56 cold ends; the 14 pairing ranks are pinned to [4]*14 inside cold44x (PAIRING_RANKS) and rechecked here. The output word content sha256 is pinned (3e99ba77...). + 6. native, ledgers, local-replay, wrappers, phases: PR635's native local programs, as in reproduce.py. +--control-g44 instead runs steps 1-5 with #645's four triangles and no XPARAM. It must reproduce #645's pinned gauge44 +cold44 word (78c7aada...), the same word #645's own reproduce.py builds. This shows the generalised scripts reduce to +#645's constructors. +Apache-2.0. Driver by ColdWitness from PartialK's variant.py; constructors credited above. +""" +import argparse, gzip, hashlib, importlib.util, json, os, subprocess, sys, time +from pathlib import Path + +HERE = Path(__file__).resolve().parent +NOTRI_SHA = '3e99ba778ab8a97853f50912776247802b529439937176363f6c42786163b1f9' +G44_SHA = '78c7aadacb6eec2eeecc124ca236e5bcfdba6a52b30c2971aaa596d1d119b290' +# native-local pins (the strict locals the SPEC was frozen against: PartialK runs/none_p6/local) +CANONICAL_SHA = '4265a3bb7f9b46967dfadfca5f2cc1f5b3e6e8681f16c02590f1b9430c013637' +PROGRAM_SHA = {'forward': '0afda28699e15cf5a5a17aee5475ac608c9fb68b15766d463b93ec8e2df4ae85', + 'backward': '5be6cb4ea7a1da36d7bbe7eb2392873c058dd3cbb3cc2eeadd55ecca9310ca8a'} +CLIFFORD_SHA = '4b5789e43e04d71f02c2d480450ec0b354007d9cf523bda76c7345730806344b' + + +def read(p): + raw = Path(p).read_bytes() + return json.loads(gzip.decompress(raw) if str(p).endswith('.gz') else raw) + + +def enc(x): return json.dumps(x, sort_keys=True, separators=(',', ':')).encode() + + +def dump(p, v): + p.parent.mkdir(parents=True, exist_ok=True); p.write_bytes(gzip.compress(enc(v), mtime=0)) + + +def load(name, path): + s = importlib.util.spec_from_file_location(name, path); m = importlib.util.module_from_spec(s); s.loader.exec_module(m); return m + + +def main(): + assert __debug__, 'Assertions are required' + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--main', type=Path, required=True) + ap.add_argument('--pr635', type=Path, required=True) + ap.add_argument('--word-dir', type=Path, required=True, help='construction/reproduce.py --until word output') + ap.add_argument('--out', type=Path, required=True) + ap.add_argument('--control-g44', action='store_true', help='rebuild #645 gauge44 (4 triangles) instead; word only') + ap.add_argument('--skip-phases', action='store_true') + ap.add_argument('--word-only', action='store_true', help='stop after the pinned scalar word (input to construction/layers_np)') + a = ap.parse_args() + out = a.out.resolve(); assert not out.exists(); out.mkdir(parents=True) + up = a.pr635.resolve() / 'research/complex-571-cold14-st2' + src = a.main.resolve() / 'research/complex-k492-owner-repair/vendor/multicold' + base = src / 'vendor/pr558'; parent = base / 'vendor/pr552'; gk = parent / 'complex-local/static44/gk' + structural = a.main.resolve() / 'research/structural-gain/frontier-composition' + wd = a.word_dir.resolve() + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONUTF8='1', PYTHONINTMAXSTRDIGITS='0', + MULTICOLD_SOURCE=str(src), GAIN_PR564_SOURCE=str(src)) + for k in ('PYTHONOPTIMIZE', 'XPARAM', 'EXTRAH', 'PAIRING_RANKS', 'DIAG', 'HYBBUDGET'): env.pop(k, None) + steps = [] + + def run(label, script, *args): + t = time.monotonic() + with (out / (label + '.log')).open('w') as f: + rc = subprocess.call([sys.executable, '-B', str(src / 'code/run_portable.py'), str(script), *map(str, args)], + env=env, stdout=f, stderr=subprocess.STDOUT) + steps.append(dict(step=label, exit_code=rc, seconds=round(time.monotonic() - t, 3))) + (out / 'STEPS.json').write_text(json.dumps(steps, indent=2) + '\n') + assert rc == 0, label + print('PASS', label, flush=True) + + # 1. gauge-forward on the chosen K-triangle set + tri = read(up / 'data/TRI-SCHEDULE.json') + if not a.control_g44: + tri = dict(full_pairs=tri['full_pairs'], triangles=[]) + env['XPARAM'] = str(HERE / 'PRIO6.json') + (out / 'TRI.json').write_text(json.dumps(tri)) + raw = out / 'raw' + run('gauge-forward', HERE / 'cgx.py', wd / 'hamming', raw, out / 'TRI.json') + word = raw / 'FULL-WORD.json.gz' + # 2. port stages (same chain as reproduce.py) + chain = [parent / 'complex-local/static44/inputs/RAW504.json.gz', structural / 'global-replay/base/split-centres/FULL-WORD.json.gz', + wd / 'shadow-early/FULL-WORD.json.gz', structural / 'multicold-eight-word/FULL-WORD.json.gz', + wd / 'shadow-prefix/FULL-WORD.json.gz'] + for i, (b, c) in enumerate(zip(chain, chain[1:])): + t = out / ('port%d' % i) + run('port%d' % i, HERE / 'port_stage_x.py', '--shadow-input', b, '--shadow-output', c, '--input', word, + '--map', raw / 'HELPER-MAP.json', '--gk-dir', gk, '--out', t) + word = t / 'FULL-WORD.json.gz' + # 3. PR635 frame regroup where its `before` gate occurs + w = read(word); rg = {json.dumps(c['before']): c['after'] for c in read(up / 'data/recipes/k492-jp8-frame_regroup.json')['changes']} + n = 0 + for part in ('A', 'B'): + for i, e in enumerate(w[part]): + k = json.dumps(e) + if k in rg: w[part][i] = rg[k]; n += 1 + sys.path.insert(0, str(gk)); import gk_word as GW, gk_common as GC + GW.V = GC.V = 112; GW.DATA = GC.DATA = 7168 + H = GW.profile(w) + w['report'].update(local_profile={str(k): z for k, z in sorted(H.items()) if z}, local_rank_mass=sum(r * z for r, z in H.items())) + assert n == (24 if a.control_g44 else 0), ('regroup count', n) + dump(out / 'regroup/FULL-WORD.json.gz', w) + # 4. HPE: PR635's candidates, greedy with disjoint registers + h = load('upstream_hpe', up / 'code/build_hpe.py') + used, ch = set(), [] + for c in h.candidates(w): + rs = set(h.regs(w['cleanup'][c['cleanup_index']])) + if rs & used: continue + used |= rs; ch.append(c) + assert len(ch) == (34 if a.control_g44 else 46), ('hpe count', len(ch)) + (out / 'HPE-RECIPE.json').write_text(json.dumps(dict(changes=ch))) + w = h.apply(w, ch); dump(out / 'hpe/FULL-WORD.json.gz', w) + # 5. cold44 (generalised): helpers outside the 224+16b ranges join their blocks + hm = set(read(raw / 'HELPER-MAP.json')['map'].values()) + env['EXTRAH'] = json.dumps(sorted(set(range(224, 224 + w['report']['R'])) - hm)) + ranks = [2, 2, 2, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2] if a.control_g44 else [4] * 14 + env['PAIRING_RANKS'] = json.dumps(ranks) # cold44x asserts every block's pairing rank + run('cold44', HERE / 'cold44x.py', '--input', out / 'hpe/FULL-WORD.json.gz', '--out', out / 'cold44', + '--hamming', wd / 'hamming', '--upstream-package', up) + assert [b['pairing_rank'] for b in read(out / 'cold44/CONSTRUCTION.json')['blocks']] == ranks, 'pairing ranks' + word = out / 'cold44/FULL-WORD.json.gz'; w = read(word) + got = hashlib.sha256(enc(w)).hexdigest() + assert got == (G44_SHA if a.control_g44 else NOTRI_SHA), ('word', got) + rep = w['report'] + if a.control_g44: + print('PASS control: #645 gauge44 word reproduced', got, flush=True); return + assert rep['R'] == 504 and rep['local_rank_mass'] == 5674 + assert rep['local_profile'] == {'1': 2506, '2': 336, '3': 472, '4': 184, '5': 56, '8': 8}, rep['local_profile'] + assert rep['width_inventory'] == {'4': 64, '5': 48, '7': 46, '8': 114, '9': 232}, rep['width_inventory'] + print('PASS no-triangle scalar word', got, flush=True) + if a.word_only: + return + # 6. native locals (PR635, as in reproduce.py) + for k in ('XPARAM', 'EXTRAH', 'PAIRING_RANKS'): env.pop(k, None) + local = out / 'local' + run('native', up / 'code/hpe_audit_and_transport.py', '--raw', word, + '--routing', parent / 'complex-local/inputs/phase-baseline/CANONICAL-WORD.json.gz', '--out', local) + assert hashlib.sha256(gzip.decompress((local / 'CANONICAL-WORD.json.gz').read_bytes())).hexdigest() == CANONICAL_SHA, 'canonical word' + run('ledgers', up / 'code/hpe_emit_local.py', local) + run('local-replay', up / 'code/hpe_audit_local.py', local) + run('wrappers', up / 'code/hpe_adapters_local.py', local / 'CANONICAL-WORD.json.gz', + local / 'RESIDUAL-ADAPTERS.json', local / 'WRAPPER-CHECKS.json') + checks = read(local / 'LOCAL-CHECKS.json') + for o, s in PROGRAM_SHA.items(): assert checks[o]['sha256'] == s, ('local program', o) + if not a.skip_phases: + run('phases', base / 'code/phases_full.py', local, parent / 'complex-global/vendor531/vendor/clifford') + assert hashlib.sha256((local / 'CLIFFORD-RECIPES.json').read_bytes()).hexdigest() == CLIFFORD_SHA, 'clifford recipes' + print('DONE', local, flush=True) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-slots/construction/promo/LOCAL-PINS-p6n-k4.json b/research/gauge44-slots/construction/promo/LOCAL-PINS-p6n-k4.json new file mode 100644 index 0000000000..c43b391a43 --- /dev/null +++ b/research/gauge44-slots/construction/promo/LOCAL-PINS-p6n-k4.json @@ -0,0 +1,11 @@ +{ + "word": "P6k4", + "layer_controls": 95, + "promo_controls": 11, + "canonical_sha256": "c0c5734a2eb6984ccd1e314dbcea2a6971b9708e5f611aa8912fcf47f02de61d", + "program_sha256": { + "forward": "6cfedac02e899df7fa50a3e38845982a4e9dbc866e9decc4052e011532bdb30f", + "backward": "207d9352aeea7d56a6da865745a1ad756e28531fbf9bcb0cd54950aac7270381" + }, + "clifford_recipes_sha256": "1c1d037d602b503b35f01a65d0ccc07ac63fde9df501b0a61e3e189a44a779de" +} diff --git a/research/gauge44-slots/construction/promo/PROMO-RECIPE-p6n-k4.json b/research/gauge44-slots/construction/promo/PROMO-RECIPE-p6n-k4.json new file mode 100644 index 0000000000..3f336c07ea --- /dev/null +++ b/research/gauge44-slots/construction/promo/PROMO-RECIPE-p6n-k4.json @@ -0,0 +1,971 @@ +{ + "input_content_sha256": "34b683fa08f054fe725704ec15b1c8da42f846430999d14d0cae0fcd42296fe2", + "groups": [ + 627, + 629, + 630, + 631, + 635, + 637, + 638, + 639, + 651, + 653, + 654, + 655, + 659, + 661, + 662, + 663 + ], + "entrances": { + "627": [ + 408, + 80, + 40, + 6, + 1 + ], + "629": [ + 408, + 80, + 40, + 6, + 1 + ], + "630": [ + 408, + 80, + 40, + 6, + 1 + ], + "631": [ + 408, + 80, + 40, + 6, + 1 + ], + "635": [ + 272, + 144, + 96, + 6, + 1 + ], + "637": [ + 272, + 144, + 96, + 6, + 1 + ], + "638": [ + 272, + 144, + 96, + 6, + 1 + ], + "639": [ + 272, + 144, + 96, + 6, + 1 + ], + "651": [ + 390, + 68, + 34, + 24, + 1 + ], + "653": [ + 390, + 68, + 34, + 24, + 1 + ], + "654": [ + 390, + 68, + 34, + 24, + 1 + ], + "655": [ + 390, + 68, + 34, + 24, + 1 + ], + "659": [ + 298, + 170, + 102, + 30, + 1 + ], + "661": [ + 298, + 170, + 102, + 30, + 1 + ], + "662": [ + 298, + 170, + 102, + 30, + 1 + ], + "663": [ + 298, + 170, + 102, + 30, + 1 + ] + }, + "gate_frames": [ + [ + "B", + 420, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 421, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 422, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 423, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 424, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 425, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 426, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 427, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 428, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 429, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 430, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 431, + [ + 298, + 170, + 102, + 30 + ], + [ + 298, + 170, + 102, + 30, + 1 + ] + ], + [ + "B", + 432, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 433, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 434, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 435, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 436, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 437, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 438, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 439, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 440, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 441, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 442, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 443, + [ + 390, + 68, + 34, + 24 + ], + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "B", + 444, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 445, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 446, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 447, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 448, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 449, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 450, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 451, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 452, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 453, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 454, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 455, + [ + 408, + 80, + 40, + 6 + ], + [ + 408, + 80, + 40, + 6, + 1 + ] + ], + [ + "B", + 456, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 457, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 458, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 459, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 460, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 461, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 462, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 463, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 464, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 465, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 466, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ], + [ + "B", + 467, + [ + 272, + 144, + 96, + 6 + ], + [ + 272, + 144, + 96, + 6, + 1 + ] + ] + ], + "expected": { + "output_content_sha256": "0390ec65dc4d47df1887aabdc2ec5b6ddea3cfc8e65582873fdfeba81d100073", + "local_profile": { + "1": 2572, + "2": 326, + "3": 430, + "4": 194, + "5": 56, + "8": 8 + }, + "width_inventory": { + "4": 80, + "5": 32, + "7": 54, + "8": 122, + "9": 216 + } + } +} \ No newline at end of file diff --git a/research/gauge44-slots/construction/promo/build_promotion.py b/research/gauge44-slots/construction/promo/build_promotion.py new file mode 100644 index 0000000000..f1daad34c2 --- /dev/null +++ b/research/gauge44-slots/construction/promo/build_promotion.py @@ -0,0 +1,109 @@ +"""Entrance promotions E4 -> E5 of whole kernel groups: deterministic constructor. Apache-2.0. +BlockInvert (Claude Code research agent) for the gauge44 lineage. + +usage: build_promotion.py --input FULL-WORD.json.gz --recipe PROMO-RECIPE.json --out DIR + +The recipe is data only: + input_content_sha256 sha256 of the decompressed input word (pinned); + entrances {helper: frame vectors}: new start frames (each strictly contains the old one); + gate_frames [[section, index, old frame, new frame], ...]: section 'A' / 'B' (main gates) or 'T' + (early_cleanup entry index); the old frame must match the input exactly (as a span); + expected output_content_sha256, local_profile, width_inventory. +The scalar program is unchanged (only frame annotations and start frames move), so the endpoint, the +zero-target-response entrance condition and every cone are those of the input; the independent audit +(audit_local.py) re-checks all of them, plus monotone chains and the recomputed profile/widths.""" +import argparse, gzip, hashlib, json +from collections import Counter +from pathlib import Path + + +def span(vs): + p = {} + for x in vs: + for k in sorted(p, reverse=True): + if x >> k & 1: x ^= p[k] + if x: + k = x.bit_length() - 1 + for j in list(p): + if p[j] >> k & 1: p[j] ^= x + p[k] = x + return tuple(p[k] for k in sorted(p, reverse=True)) + + +def regs(e): return [e[1]] + ([e[2]] if e[0] == 'add' else []) + + +def chain_profile(w): + """paid climbs of the A, B, early-tail and final chains, target ends included (centre descents unchanged, not counted).""" + v, R = w['report']['v'], w['report']['R']; n = 2*v + R + cur = [() for _ in range(n)] + for i, p in enumerate(w['ports']): cur[i] = span([p]) + for r, f in w.get('start_extra', {}).items(): cur[int(r)] = span(f) + prof = Counter() + + def climb(r, F): + assert span(list(cur[r]) + list(F)) == F, ('nonmonotone', r) + if len(F) > len(cur[r]): prof[len(F) - len(cur[r])] += 1 + cur[r] = F + for part in ('A', 'B'): + for e in w[part]: + for r in regs(e): climb(r, span(e[-1])) + for i, f in w.get('early_cleanup', []): + for r in regs(w['cleanup'][i]): climb(r, span(f)) + full = span([1 << i for i in range(9)]) + final = {int(r): span(f) for r, f in w.get('helper_final', {}).items()} + for r in range(n): + if v <= r < 2*v: # targets end at their port hyperplane (as in the independent audit); counted on both sides + climb(r, span([x for x in range(1, 512) if (x & w['ports'][r - v]).bit_count() % 2 == 0])); continue + climb(r, final.get(r, full)) + return prof + + +def widths(w): + v, R = w['report']['v'], w['report']['R']; full = [1 << i for i in range(9)] + return Counter(len(span(w['helper_final'].get(str(r), full))) - len(span(w['start_extra'].get(str(r), []))) + for r in range(2*v, 2*v + R)) + + +def apply(w, r): + nw = json.loads(json.dumps(w)) + for h, F in r['entrances'].items(): + assert h in nw['start_extra'], ('not an entering helper', h) + old, new = span(nw['start_extra'][h]), span(F) + assert len(new) > len(old) and span(list(old) + list(new)) == new, ('not a promotion', h) + nw['start_extra'][h] = list(new) + for sec, i, old, new in r['gate_frames']: + if sec in ('A', 'B'): + assert span(nw[sec][i][-1]) == span(old), ('gate frame mismatch', sec, i) + nw[sec][i][-1] = list(span(new)) + else: + assert sec == 'T' and span(nw['early_cleanup'][i][1]) == span(old), ('tail frame mismatch', i) + nw['early_cleanup'][i][1] = list(span(new)) + old_prof, new_prof = chain_profile(w), chain_profile(nw) + lp = Counter({int(k): c for k, c in w['report']['local_profile'].items()}); lp.subtract(old_prof); lp.update(new_prof) + assert min(lp.values()) >= 0 + inv = widths(nw) + rep = dict(w['report']) + rep['local_profile'] = {str(k): c for k, c in sorted(lp.items()) if c} + rep['local_rank_mass'] = sum(k*c for k, c in lp.items()) + rep['width_inventory'] = {str(k): c for k, c in sorted(inv.items()) if c} + nw['report'] = rep + return nw + + +if __name__ == '__main__': + ap = argparse.ArgumentParser(); ap.add_argument('--input', type=Path, required=True) + ap.add_argument('--recipe', type=Path, required=True); ap.add_argument('--out', type=Path, required=True) + a = ap.parse_args() + raw = gzip.decompress(a.input.read_bytes()); r = json.loads(a.recipe.read_text()) + assert hashlib.sha256(raw).hexdigest() == r['input_content_sha256'], 'input word pin' + nw = apply(json.loads(raw), r) + data = json.dumps(nw, separators=(',', ':')).encode() + x = r['expected'] + assert nw['report']['local_profile'] == x['local_profile'], 'profile pin' + assert nw['report']['width_inventory'] == x['width_inventory'], 'width pin' + assert hashlib.sha256(data).hexdigest() == x['output_content_sha256'], 'output word pin' + a.out.mkdir(parents=True, exist_ok=True) + (a.out / 'FULL-WORD.json.gz').write_bytes(gzip.compress(data, mtime=0)) + print('PASS', len(r['entrances']), 'promoted entrances;', len(r['gate_frames']), 'gate frames;', + 'profile', x['local_profile'], 'sha', x['output_content_sha256']) diff --git a/research/gauge44-slots/construction/promo/make_recipe.py b/research/gauge44-slots/construction/promo/make_recipe.py new file mode 100644 index 0000000000..618d609453 --- /dev/null +++ b/research/gauge44-slots/construction/promo/make_recipe.py @@ -0,0 +1,12 @@ +"""make_recipe.py BASEWORD SOLUTION.json BUILTWORD OUT: discovery-side recipe writer (CP-SAT solution -> data recipe).""" +import sys, json, gzip, hashlib +base = gzip.decompress(open(sys.argv[1], 'rb').read()); s = json.load(open(sys.argv[2])) +built = gzip.decompress(open(sys.argv[3], 'rb').read()); bw = json.loads(built) +key = {'A': 0, 'B': 1, 'T': 2} +r = dict(input_content_sha256=hashlib.sha256(base).hexdigest(), + groups=sorted(int(h) for h in s['newstarts']), + entrances={h: s['newstarts'][h] for h in sorted(s['newstarts'], key=int)}, + gate_frames=sorted(s['changed'], key=lambda c: (key[c[0]], c[1])), + expected=dict(output_content_sha256=hashlib.sha256(built).hexdigest(), + local_profile=bw['report']['local_profile'], width_inventory=bw['report']['width_inventory'])) +json.dump(r, open(sys.argv[4], 'w'), indent=1) diff --git a/research/gauge44-slots/construction/promo/promo_controls.py b/research/gauge44-slots/construction/promo/promo_controls.py new file mode 100644 index 0000000000..20ee51f7db --- /dev/null +++ b/research/gauge44-slots/construction/promo/promo_controls.py @@ -0,0 +1,115 @@ +"""Promotion controls: mutate the promoted word / recipe and require rejection at a pinned site. Apache-2.0. +BlockInvert (Claude Code research agent). + +usage: promo_controls.py --input BASE-FULL-WORD.json.gz --recipe PROMO-RECIPE.json --audit audit_local.py --out CONTROLS.json + +Word-level mutants are checked by the independent audit (audit_local.py, imported from the given path; it shares no +code with the constructor); recipe-level mutants by build_promotion.apply / its pins. Each mutant must raise with the +pinned message prefix; the honest word must pass both.""" +import argparse, gzip, hashlib, importlib.util, json, sys, tempfile +from pathlib import Path +sys.path.insert(0, str(Path(__file__).resolve().parent)) +import build_promotion as B + +ap = argparse.ArgumentParser() +for k in ('input', 'recipe', 'audit', 'out'): ap.add_argument('--' + k, type=Path, required=True) +a = ap.parse_args() +s = importlib.util.spec_from_file_location('audit_local', a.audit); AL = importlib.util.module_from_spec(s); s.loader.exec_module(AL) +raw = gzip.decompress(a.input.read_bytes()); base = json.loads(raw); r = json.loads(a.recipe.read_text()) +assert hashlib.sha256(raw).hexdigest() == r['input_content_sha256'] +honest = B.apply(base, r) +v = base['report']['v'] +tmp = Path(tempfile.mkdtemp()) + + +def audit(w): + p = tmp / 'w.json.gz'; p.write_bytes(gzip.compress(json.dumps(w, separators=(',', ':')).encode(), mtime=0)) + import io, contextlib + with contextlib.redirect_stdout(io.StringIO()): + AL.run(p, tmp / 'r.json') + + +def first_gate(w, h): + for sec in ('A', 'B'): + for i, e in enumerate(w[sec]): + if h in B.regs(e): return sec, i + raise AssertionError(h) + + +results = [] + + +def expect(name, fn, prefix): + try: + fn(); got = 'ACCEPTED' + except (RuntimeError, AssertionError) as e: + got = str(e.args[0]) if e.args else type(e).__name__ + ok = got.startswith(prefix) + results.append(dict(control=name, expected=prefix, got=got[:160], rejected_at_pinned_site=ok)) + print(('OK ' if ok else 'BAD ') + name + ': ' + got[:120], flush=True) + + +# honest +audit(honest); print('honest word: audit PASS', flush=True) +H = sorted(int(h) for h in r['entrances']) +h0 = str(H[0]); E5 = B.span(r['entrances'][h0]); sec, i = first_gate(honest, int(h0)); F1 = B.span(honest[sec][i][-1]) +full = B.span([1 << k for k in range(9)]) + + +def mut(f): + w = json.loads(json.dumps(honest)); f(w); return w + + +# 1. promoted entrance moved to a dim-5 frame NOT inside its first gate frame +def bad_entrance(w): + for x in range(1, 512): + G = B.span(list(B.span(base['start_extra'][h0])) + [x]) + if len(G) == 5 and B.span(list(G) + list(F1)) != F1: + w['start_extra'][h0] = list(G); return + raise AssertionError('no frame') +expect('entrance_outside_first_gate_frame', lambda: audit(mut(bad_entrance)), 'frame not monotone') +# 2. a raised gauge gate of a promoted helper left at its old (E4) frame +old_of = {(c[0], c[1]): c[2] for c in r['gate_frames']} +assert (sec, i) in old_of, 'first gate of a promoted helper is a raised gate' +expect('raised_gate_missing', lambda: audit(mut(lambda w: w[sec][i].__setitem__(-1, list(B.span(old_of[(sec, i)]))))), 'frame not monotone') +# 2b. per promoted group: its first helper's raised entry gate left at the old frame +for hg in H[4::4]: + sg, ig = first_gate(honest, hg) + if (sg, ig) in old_of: + expect('raised_gate_missing_group_%d' % hg, lambda sg=sg, ig=ig: audit(mut(lambda w: w[sg][ig].__setitem__(-1, list(B.span(old_of[(sg, ig)]))))), 'frame not monotone') +# 3. every raised gate kept but one entrance reverted to E4 (report kept): the paid profile no longer matches +expect('entrance_reverted_profile', lambda: audit(mut(lambda w: w['start_extra'].__setitem__(h0, list(B.span(base['start_extra'][h0]))))), 'paid profile mismatch') +# 4. an E4 helper outside the promoted groups promoted alone (no raised gates) +others = sorted(int(h) for h, f in base['start_extra'].items() if len(B.span(f)) == 4 and h not in r['entrances']) +if others: + h1 = str(others[0]) + expect('ungrouped_promotion', lambda: audit(mut(lambda w: w['start_extra'].__setitem__(h1, list(E5)))), 'frame not monotone') +# 5. recipe-level: wrong old frame for a raised gate; non-promotion entrance; input pin +def r_bad_old(): + q = json.loads(json.dumps(r)); q['gate_frames'][0][2] = list(full); B.apply(base, q) +expect('recipe_gate_old_frame', r_bad_old, "('gate frame mismatch'" if r['gate_frames'][0][0] != 'T' else "('tail frame mismatch'") +def r_demote(): + q = json.loads(json.dumps(r)); q['entrances'][h0] = base['start_extra'][h0]; B.apply(base, q) +expect('recipe_not_a_promotion', r_demote, "('not a promotion'") +def r_pin(): # the driver's own __main__ path on a tampered input word (one gate scalar changed) + import subprocess + t = json.loads(raw); e = t['B'][0] + if e[0] == 'add': e[3] += e[4] + else: e[2] = -e[2] + p = tmp / 'tampered.json.gz'; p.write_bytes(gzip.compress(json.dumps(t, separators=(',', ':')).encode(), mtime=0)) + q = subprocess.run([sys.executable, '-B', str(Path(B.__file__)), '--input', str(p), '--recipe', str(a.recipe), '--out', str(tmp / 'o')], + capture_output=True, text=True) + assert q.returncode == 0, q.stderr.strip().splitlines()[-1].split('AssertionError: ', 1)[-1] +expect('recipe_input_pin', r_pin, 'input word pin') +# 6. scalar tamper inside a promoted group's raised gate (frames intact): exactness must fail +def scal(w): + e = w[sec][i] + if e[0] == 'add': e[3] = e[3] + e[4] + else: e[2] = -e[2] +expect('raised_gate_scalar_tamper', lambda: audit(mut(scal)), '') +results[-1]['rejected_at_pinned_site'] = results[-1]['got'] != 'ACCEPTED' +bad = [x for x in results if not x['rejected_at_pinned_site']] +a.out.write_text(json.dumps(dict(recipe=r['expected']['output_content_sha256'], honest='PASS', controls=results, + rejected=len(results) - len(bad)), indent=1)) +assert not bad, bad +print('PASS', len(results), 'controls rejected at pinned sites') diff --git a/research/gauge44-slots/construction/promo/reproduce_promo.py b/research/gauge44-slots/construction/promo/reproduce_promo.py new file mode 100644 index 0000000000..6e04aa71b1 --- /dev/null +++ b/research/gauge44-slots/construction/promo/reproduce_promo.py @@ -0,0 +1,99 @@ +#!/usr/bin/env python3 +"""Rebuild a promoted no-triangle layered word (entrance promotions E4 -> E5) and its native locals. + +Input (--base): `np` = a fresh `construction/layers_np/reproduce_np.py` output (word a9de804f...), or `p6n` = a fresh +`construction/layers_p6n/reproduce_p6n.py` output (word 34b683fa...). Recipe k: PROMO-RECIPE-.json (BlockInvert; +data only; it pins its input word) and LOCAL-PINS-.json. Steps, each +checked exactly: + 1. promotion: BlockInvert's build_promotion.py. It pins the input word and the recipe's output sha, profile and + widths; every old frame must match the input; only frame annotations and start frames move (no scalar change). + 2. promo-controls: BlockInvert's promo_controls.py. The honest word must pass #645's independent audit_local.py, + and its recipe- and word-level mutants must be rejected at their pinned sites (count pinned in LOCAL-PINS). + 3. layer-end-controls on the promoted word, pinned count: ../layers/layer_end_controls.py (LayerReviewer-signed) for + base np; ../layers_p6n/layer_end_controls.py (Q6Reviewer-signed per-end variant) for base p6n. + 4. native, ledgers, local-replay, wrappers, phases: PR635's native local programs; the canonical word, local + programs and Clifford recipes are pinned (LOCAL-PINS). +Moving to another recipe k is a recipe and pins swap; this driver does not change. +Apache-2.0. Driver by ColdWitness around BlockInvert's constructor and controls. +""" +import argparse, gzip, hashlib, json, os, subprocess, sys, time +from pathlib import Path + +HERE = Path(__file__).resolve().parent +PKG = HERE.parents[1] +LAYERS = HERE.parent / 'layers' +BASES = {'np': ('layers/FULL-WORD.json.gz', 'a9de804f194eeb39f52a4c6e54c14d93e881bec4b632694249733ed410b58113'), + 'p6n': ('p6n/FULL-WORD.json.gz', '34b683fa08f0')} # p6n: prefix; full pin is the p6n recipe's output sha + + +def read(p): + raw = Path(p).read_bytes() + return json.loads(gzip.decompress(raw) if str(p).endswith('.gz') else raw) + + +def main(): + assert __debug__, 'Assertions are required' + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--main', type=Path, required=True) + ap.add_argument('--pr635', type=Path, required=True) + ap.add_argument('--base', choices=sorted(BASES), default='p6n') + ap.add_argument('--base-dir', type=Path, required=True, help='reproduce_np.py (np) or reproduce_p6n.py (p6n) output') + ap.add_argument('--k', default='p6n-k4', help='recipe id (PROMO-RECIPE-.json)') + ap.add_argument('--out', type=Path, required=True) + ap.add_argument('--skip-phases', action='store_true') + a = ap.parse_args() + out = a.out.resolve(); assert not out.exists(); out.mkdir(parents=True) + up = a.pr635.resolve() / 'research/complex-571-cold14-st2' + src = a.main.resolve() / 'research/complex-k492-owner-repair/vendor/multicold' + base = src / 'vendor/pr558'; parent = base / 'vendor/pr552' + recipe = HERE / ('PROMO-RECIPE-%s.json' % a.k); pins = read(HERE / ('LOCAL-PINS-%s.json' % a.k)) + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONUTF8='1', PYTHONINTMAXSTRDIGITS='0', + MULTICOLD_SOURCE=str(src), GAIN_PR564_SOURCE=str(src)) + for k in ('PYTHONOPTIMIZE', 'XPARAM', 'EXTRAH', 'PAIRING_RANKS', 'DIAG', 'HYBBUDGET', 'PR635_CODE'): env.pop(k, None) + steps = [] + + def run(label, script, *args, portable=True): + t = time.monotonic() + cmd = [sys.executable, '-B'] + ([str(src / 'code/run_portable.py')] if portable else []) + [str(script), *map(str, args)] + with (out / (label + '.log')).open('w') as f: + rc = subprocess.call(cmd, env=env, stdout=f, stderr=subprocess.STDOUT) + steps.append(dict(step=label, exit_code=rc, seconds=round(time.monotonic() - t, 3))) + (out / 'STEPS.json').write_text(json.dumps(steps, indent=2) + '\n') + assert rc == 0, label + print('PASS', label, flush=True) + + rel, pin = BASES[a.base]; inp = a.base_dir.resolve() / rel + got = hashlib.sha256(gzip.decompress(inp.read_bytes())).hexdigest() + assert got.startswith(pin) and got == read(recipe)['input_content_sha256'], ('input must be the pinned base word', a.base, got) + if a.base == 'p6n': + assert got == read(HERE.parent / 'layers_p6n/COLD-LAYERS-RECIPE-P6N.json.gz')['output_content_sha256'] + run('promotion', HERE / 'build_promotion.py', '--input', inp, '--recipe', recipe, '--out', out / 'promo', portable=False) + word = out / 'promo/FULL-WORD.json.gz' + assert hashlib.sha256(gzip.decompress(word.read_bytes())).hexdigest() == read(recipe)['expected']['output_content_sha256'] + run('promo-controls', HERE / 'promo_controls.py', '--input', inp, '--recipe', recipe, + '--audit', PKG / 'independent/audit_local.py', '--out', out / 'PROMO-CONTROLS.json', portable=False) + pc = read(out / 'PROMO-CONTROLS.json'); assert pc['honest'] == 'PASS' and pc['rejected'] == pins['promo_controls'], pc['rejected'] + routing = parent / 'complex-local/inputs/phase-baseline/CANONICAL-WORD.json.gz' + env['PR635_CODE'] = str(up / 'code') + ctlpy = (HERE.parent / 'layers_p6n/layer_end_controls.py') if a.base == 'p6n' else (LAYERS / 'layer_end_controls.py') + run('layer-end-controls', ctlpy, word, routing, out / 'controls') + env.pop('PR635_CODE') + ctl = read(out / 'controls/COLD-END-CONTROLS.json') + assert ctl['status'] == 'PASS_COLD_END_RAW_WORD_CONTROLS' and len(ctl['rejected']) == pins['layer_controls'], len(ctl['rejected']) + local = out / 'local' + run('native', up / 'code/hpe_audit_and_transport.py', '--raw', word, '--routing', routing, '--out', local) + assert hashlib.sha256(gzip.decompress((local / 'CANONICAL-WORD.json.gz').read_bytes())).hexdigest() == pins['canonical_sha256'], 'canonical word' + run('ledgers', up / 'code/hpe_emit_local.py', local) + run('local-replay', up / 'code/hpe_audit_local.py', local) + run('wrappers', up / 'code/hpe_adapters_local.py', local / 'CANONICAL-WORD.json.gz', + local / 'RESIDUAL-ADAPTERS.json', local / 'WRAPPER-CHECKS.json') + checks = read(local / 'LOCAL-CHECKS.json') + for o, s in pins['program_sha256'].items(): assert checks[o]['sha256'] == s, ('local program', o) + if not a.skip_phases: + run('phases', base / 'code/phases_full.py', local, parent / 'complex-global/vendor531/vendor/clifford') + assert hashlib.sha256((local / 'CLIFFORD-RECIPES.json').read_bytes()).hexdigest() == pins['clifford_recipes_sha256'], 'clifford recipes' + print('DONE', local, flush=True) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-slots/construction/reproduce.py b/research/gauge44-slots/construction/reproduce.py new file mode 100644 index 0000000000..8b51efa646 --- /dev/null +++ b/research/gauge44-slots/construction/reproduce.py @@ -0,0 +1,194 @@ +#!/usr/bin/env python3 +"""Rebuild the frozen gauge44 delta from two pinned upstream checkouts. + +Prepared for icekylinx with OpenAI GPT-6 Astra assistance. Apache-2.0. +This driver calls the credited upstream constructors unchanged; it runs no +search or optimizer. See ../CONSTRUCTION.md and INPUTS.json. +""" +import argparse +import gzip +import hashlib +import importlib.util +import json +import os +from pathlib import Path +import shutil +import subprocess +import sys +import time + +HERE = Path(__file__).resolve().parent + + +def read(path): + raw = path.read_bytes() + return json.loads(gzip.decompress(raw) if path.suffix == '.gz' else raw) + + +def sha(path, content=False): + raw = path.read_bytes() + if content and path.suffix == '.gz': + raw = gzip.decompress(raw) + return hashlib.sha256(raw).hexdigest() + + +def dump(path, value): + path.parent.mkdir(parents=True, exist_ok=True) + raw = json.dumps(value, sort_keys=True, separators=(',', ':')).encode() + path.write_bytes(gzip.compress(raw, mtime=0) if path.suffix == '.gz' else raw) + + +def load_module(name, path): + spec = importlib.util.spec_from_file_location(name, path) + module = importlib.util.module_from_spec(spec) + spec.loader.exec_module(module) + return module + + +def main(): + assert __debug__, 'Assertions are required; do not use python -O.' + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--main', type=Path, required=True, + help='integer-mult-bounds checkout at the pinned main commit') + parser.add_argument('--pr635', type=Path, required=True, + help='integer-mult-bounds checkout at the pinned PR635 commit') + parser.add_argument('--out', type=Path, required=True, + help='new output directory outside both checkouts') + parser.add_argument('--until', choices=('word', 'local', 'phases'), default='word', + help='default: scalar constructor only; local adds exact native replay and wrappers') + parser.add_argument('--frozen-cold', action='store_true', + help='splice the pinned cold recipe instead of deriving its exact Q/T matrices again') + args = parser.parse_args() + roots = {'main': args.main.resolve(), 'pr635': args.pr635.resolve(), 'delta': HERE} + out = args.out.resolve() + assert not out.exists(), 'Use a new output directory.' + assert not any(out.is_relative_to(root) for root in roots.values()) + pins = read(HERE / 'INPUTS.json') + for family, files in pins['files'].items(): + for relative, expected in files.items(): + path = roots[family] / relative + assert sha(path) == expected, ('input pin', family, relative) + out.mkdir(parents=True) + upstream = roots['pr635'] / 'research/complex-571-cold14-st2' + source = roots['main'] / 'research/complex-k492-owner-repair/vendor/multicold' + joint = source.parent / 'joint_prefix' + base = source / 'vendor/pr558' + parent = base / 'vendor/pr552' + gk = parent / 'complex-local/static44/gk' + hamming = source.parent / 'direct_delivery/inputs/hamming' + structural = roots['main'] / 'research/structural-gain/frontier-composition' + runner = source / 'code/run_portable.py' + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONUTF8='1', + PYTHONINTMAXSTRDIGITS='0', MULTICOLD_SOURCE=str(source), + GAIN_PR564_SOURCE=str(source)) + env.pop('PYTHONOPTIMIZE', None) + records = [] + + def run(label, script, *arguments): + start = time.monotonic() + log = out / (label + '.log') + print('RUN', label, flush=True) + with log.open('w', encoding='utf-8') as stream: + result = subprocess.run([sys.executable, '-B', str(runner), str(script), + *map(str, arguments)], env=env, stdout=stream, + stderr=subprocess.STDOUT) + records.append({'step': label, 'exit_code': result.returncode, + 'seconds': round(time.monotonic() - start, 3)}) + (out / 'STEPS.json').write_text(json.dumps(records, indent=2) + '\n') + if result.returncode: + raise RuntimeError(label + '\n' + log.read_text()[-6000:]) + print('PASS', label, flush=True) + + def check_word(label, path): + assert sha(path, content=True) == pins['word_content_sha256'][label], ('step pin', label) + return path + + raw504 = parent / 'complex-local/static44/inputs/RAW504.json.gz' + promoted = structural / 'global-replay/base/split-centres/FULL-WORD.json.gz' + multi = structural / 'multicold-eight-word/FULL-WORD.json.gz' + early = out / 'shadow-early' + run('shadow-early', source / 'code/build_cold_kernel.py', '--input', promoted, + '--recipe', source / 'data/EIGHT-COLD.json', '--gk-dir', gk, '--out', early) + early_word = check_word('shadow-early', early / 'FULL-WORD.json.gz') + prefix = out / 'shadow-prefix' + run('shadow-prefix', joint / 'code/build_joint_prefix.py', '--input', multi, + '--recipe', joint / 'data/JOINT-PREFIX.json', '--variant', 'eightcold', + '--gk-dir', gk, '--out', prefix) + prefix_word = check_word('shadow-prefix', prefix / 'FULL-WORD.json.gz') + + inputs = out / 'hamming' + inputs.mkdir() + for name in ('PROTOTYPE.json', 'PACKET-PROGRAMS.json.gz'): + shutil.copyfile(hamming / name, inputs / name) + shutil.copyfile(HERE / 'COMPLETION-PRIORITY.json', inputs / 'COMPLETION-PRIORITY.json') + raw = out / 'raw' + run('gauge-forward', HERE / 'construct_gauge_xcentre.py', inputs, raw, + upstream / 'data/TRI-SCHEDULE.json') + word = check_word('raw', raw / 'FULL-WORD.json.gz') + assert sha(raw / 'HELPER-MAP.json') == pins['helper_map_sha256'] + chain = [raw504, promoted, early_word, multi, prefix_word] + for i, (before, after) in enumerate(zip(chain, chain[1:])): + target = out / ('port' + str(i)) + run('port' + str(i), upstream / 'code/build_port_stage.py', + '--shadow-input', before, '--shadow-output', after, '--input', word, + '--map', raw / 'HELPER-MAP.json', '--gk-dir', gk, '--out', target) + word = check_word('port' + str(i), target / 'FULL-WORD.json.gz') + + changed = read(word) + regroup = read(upstream / 'data/recipes/k492-jp8-frame_regroup.json') + # The inherited changes are B-only and are checked against the actual new gates. + for edit in regroup['changes']: + assert changed[edit['section']][edit['index']] == edit['before'] + changed[edit['section']][edit['index']] = edit['after'] + changed['report'].update(local_profile=regroup['after'], + local_rank_mass=sum(int(r)*n for r, n in regroup['after'].items())) + word = out / 'regroup/FULL-WORD.json.gz' + dump(word, changed) + check_word('regroup', word) + hpe = load_module('upstream_hpe', upstream / 'code/build_hpe.py') + changed = hpe.apply(changed, read(upstream / 'data/recipes/k492-jp8-hyperplane_end.json')['changes']) + word = out / 'hpe/FULL-WORD.json.gz' + dump(word, changed) + check_word('hpe', word) + + target = out / 'cold44' + if args.frozen_cold: + cold = load_module('upstream_cold', upstream / 'code/build_cold_end.py') + changed = cold.apply(changed, read(HERE / 'COLD44-RECIPE.json.gz')) + # Match the exact constructor's descriptive status; this is not an audit assertion. + changed['report']['status'] = 'EXACT_COLD44_CONSTRUCTED_PENDING_INDEPENDENT_AUDIT' + dump(target / 'FULL-WORD.json.gz', changed) + else: + run('cold44-exact', HERE / 'build_gauge_cold44.py', '--input', word, + '--out', target, '--hamming', inputs, '--upstream-package', upstream) + assert read(target / 'RECIPE.json.gz') == read(HERE / 'COLD44-RECIPE.json.gz') + word = check_word('cold44', target / 'FULL-WORD.json.gz') + report = read(word)['report'] + assert report['local_rank_mass'] == 5650 + assert report['local_profile'] == {'1': 2514, '2': 404, '3': 448, '4': 160, '5': 56, '8': 8} + assert report['width_inventory'] == {'4': 52, '5': 48, '7': 34, '8': 114, '9': 244} + print('PASS exact frozen scalar word', word, flush=True) + if args.until == 'word': + return + + local = out / 'local' + routing = parent / 'complex-local/inputs/phase-baseline/CANONICAL-WORD.json.gz' + run('native', upstream / 'code/hpe_audit_and_transport.py', '--raw', word, + '--routing', routing, '--out', local) + assert sha(local / 'CANONICAL-WORD.json.gz', content=True) == pins['canonical_content_sha256'] + run('ledgers', upstream / 'code/hpe_emit_local.py', local) + run('local-replay', upstream / 'code/hpe_audit_local.py', local) + run('wrappers', upstream / 'code/hpe_adapters_local.py', local / 'CANONICAL-WORD.json.gz', + local / 'RESIDUAL-ADAPTERS.json', local / 'WRAPPER-CHECKS.json') + checks = read(local / 'LOCAL-CHECKS.json') + for orientation, expected in pins['local_program_sha256'].items(): + assert checks[orientation]['sha256'] == expected + if args.until == 'phases': + clifford = parent / 'complex-global/vendor531/vendor/clifford' + run('phases', base / 'code/phases_full.py', local, clifford) + assert sha(local / 'CLIFFORD-RECIPES.json') == pins['clifford_recipes_sha256'] + print('DONE', local, flush=True) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-slots/construction/slots/RECIPE-SLOTS-k8.json b/research/gauge44-slots/construction/slots/RECIPE-SLOTS-k8.json new file mode 100644 index 0000000000..acc1a733d6 --- /dev/null +++ b/research/gauge44-slots/construction/slots/RECIPE-SLOTS-k8.json @@ -0,0 +1,991 @@ +{ + "base_sha256": "db2c7cfb3f8eee2b76c2e0154fc530520fb4d90cd9511a002cab527b16033b83", + "B_delete": [ + 13, + 15, + 33, + 35, + 39, + 47, + 50, + 893, + 895, + 899, + 901, + 907, + 919, + 926, + 928, + 931, + 933, + 934, + 936, + 939, + 941, + 1170, + 1172, + 1178, + 1180, + 1188, + 1204, + 1215, + 1217, + 1218, + 1220, + 1223, + 1225, + 1226, + 1228 + ], + "B_insert": [ + [ + 13, + [ + "add", + 189, + 454, + -1, + 1, + [ + 24 + ] + ] + ], + [ + 15, + [ + "add", + 185, + 455, + -1, + 1, + [ + 24 + ] + ] + ], + [ + 32, + [ + "add", + 122, + 584, + 1, + 2, + [ + 24 + ] + ] + ], + [ + 33, + [ + "add", + 123, + 585, + 1, + 2, + [ + 24 + ] + ] + ], + [ + 39, + [ + "add", + 179, + 587, + 1, + 2, + [ + 30 + ] + ] + ], + [ + 46, + [ + "add", + 146, + 590, + -1, + 1, + [ + 24 + ] + ] + ], + [ + 47, + [ + "add", + 147, + 591, + -1, + 1, + [ + 24 + ] + ] + ], + [ + 839, + [ + "add", + 544, + 236, + -2, + 1, + [ + 385, + 65, + 33, + 24, + 4, + 3 + ] + ] + ], + [ + 840, + [ + "add", + 545, + 238, + -2, + 1, + [ + 385, + 64, + 32, + 24, + 4, + 3 + ] + ] + ], + [ + 855, + [ + "add", + 556, + 454, + -2, + 1, + [ + 258, + 130, + 64, + 33, + 24, + 7 + ] + ] + ], + [ + 856, + [ + "add", + 557, + 455, + -2, + 1, + [ + 259, + 131, + 65, + 32, + 24, + 7 + ] + ] + ], + [ + 883, + [ + "add", + 74, + 584, + -1, + 2, + [ + 260, + 132, + 66, + 34, + 24, + 1 + ] + ] + ], + [ + 883, + [ + "add", + 10, + 439, + -1, + 2, + [ + 288, + 160, + 97, + 24, + 4, + 3 + ] + ] + ], + [ + 884, + [ + "add", + 383, + 585, + -1, + 2, + [ + 260, + 132, + 68, + 36, + 24, + 1 + ] + ] + ], + [ + 884, + [ + "add", + 287, + 434, + -1, + 2, + [ + 289, + 161, + 97, + 24, + 5, + 2 + ] + ] + ], + [ + 886, + [ + "add", + 351, + 587, + -1, + 2, + [ + 294, + 166, + 102, + 18, + 12, + 1 + ] + ] + ], + [ + 886, + [ + "add", + 319, + 436, + -1, + 2, + [ + 267, + 139, + 75, + 43, + 25, + 7 + ] + ] + ], + [ + 889, + [ + "add", + 98, + 590, + 1, + 1, + [ + 258, + 132, + 68, + 34, + 24, + 1 + ] + ] + ], + [ + 889, + [ + "add", + 34, + 444, + 1, + 1, + [ + 289, + 160, + 96, + 24, + 4, + 3 + ] + ] + ], + [ + 890, + [ + "add", + 399, + 591, + 1, + 1, + [ + 260, + 130, + 68, + 34, + 24, + 1 + ] + ] + ], + [ + 890, + [ + "add", + 303, + 446, + 1, + 1, + [ + 288, + 161, + 96, + 24, + 4, + 3 + ] + ] + ], + [ + 1170, + [ + "add", + 122, + 584, + -1, + 2, + [ + 260, + 132, + 64, + 32, + 24, + 2, + 1 + ] + ] + ], + [ + 1172, + [ + "add", + 123, + 585, + -1, + 2, + [ + 256, + 128, + 64, + 32, + 24, + 4, + 1 + ] + ] + ], + [ + 1178, + [ + "add", + 146, + 590, + 1, + 1, + [ + 256, + 132, + 68, + 32, + 24, + 2, + 1 + ] + ] + ], + [ + 1180, + [ + "add", + 147, + 591, + 1, + 1, + [ + 260, + 128, + 68, + 32, + 24, + 2, + 1 + ] + ] + ], + [ + 1188, + [ + "add", + 179, + 587, + -1, + 2, + [ + 262, + 134, + 70, + 32, + 18, + 12, + 1 + ] + ] + ], + [ + 1204, + [ + "add", + 115, + 436, + -1, + 2, + [ + 256, + 128, + 64, + 32, + 18, + 11, + 7 + ] + ] + ], + [ + 1215, + [ + "add", + 189, + 454, + 1, + 1, + [ + 257, + 129, + 64, + 33, + 24, + 4, + 3 + ] + ] + ], + [ + 1217, + [ + "add", + 185, + 455, + 1, + 1, + [ + 256, + 128, + 65, + 32, + 24, + 4, + 3 + ] + ] + ], + [ + 1217, + [ + "add", + 186, + 439, + -1, + 2, + [ + 256, + 128, + 65, + 32, + 24, + 4, + 3 + ] + ] + ], + [ + 1220, + [ + "add", + 187, + 434, + -1, + 2, + [ + 257, + 129, + 65, + 32, + 24, + 5, + 2 + ] + ] + ], + [ + 1223, + [ + "add", + 213, + 236, + 1, + 1, + [ + 256, + 129, + 65, + 33, + 24, + 4, + 3 + ] + ] + ], + [ + 1225, + [ + "add", + 209, + 238, + 1, + 1, + [ + 257, + 128, + 64, + 32, + 24, + 4, + 3 + ] + ] + ], + [ + 1225, + [ + "add", + 210, + 444, + 1, + 1, + [ + 257, + 128, + 64, + 32, + 24, + 4, + 3 + ] + ] + ], + [ + 1228, + [ + "add", + 211, + 446, + 1, + 1, + [ + 256, + 129, + 64, + 32, + 24, + 4, + 3 + ] + ] + ] + ], + "B_frames": {}, + "tail_insert": [ + [ + 6, + [ + "add", + 98, + 590, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + ] + ], + [ + 5, + [ + "add", + 399, + 591, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + ] + ], + [ + 4, + [ + "add", + 557, + 455, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + ] + ], + [ + 3, + [ + "add", + 383, + 585, + 1, + 2, + [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + ] + ], + [ + 2, + [ + "add", + 351, + 587, + 1, + 2, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ] + ], + [ + 1, + [ + "add", + 556, + 454, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + ] + ], + [ + 0, + [ + "add", + 74, + 584, + 1, + 2, + [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + ] + ] + ], + "cleanup_prepend": [ + [ + "add", + 10, + 439, + 1, + 2, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 544, + 236, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 319, + 436, + 1, + 2, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 287, + 434, + 1, + 2, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 545, + 238, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 303, + 446, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 34, + 444, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ] + ], + "local_profile": { + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "expect_sha256": "c2b294300760e1fd6eeab8c22c4d13e4633dca40e52cac8da0d68163a76e3ca8", + "variants": [ + { + "X": 444, + "E": 590, + "hold": [ + 34, + 98 + ] + }, + { + "X": 446, + "E": 591, + "hold": [ + 303, + 399 + ] + }, + { + "X": 238, + "E": 455, + "hold": [ + 545, + 557 + ] + }, + { + "X": 434, + "E": 585, + "hold": [ + 287, + 383 + ] + }, + { + "X": 436, + "E": 587, + "hold": [ + 319, + 351 + ] + }, + { + "X": 236, + "E": 454, + "hold": [ + 544, + 556 + ] + }, + { + "X": 439, + "E": 584, + "hold": [ + 10, + 74 + ] + } + ], + "source": "PR #987 (rohanarun) triangle-hybrid slots, transferred to k8 db2c7cfb by MineB; recipe U10k8", + "note": "early-cleanup gate frames in cleanup are kept as in base (package T-frame convention)" +} \ No newline at end of file diff --git a/research/gauge44-slots/construction/slots/SLOT-PINS-k8.json b/research/gauge44-slots/construction/slots/SLOT-PINS-k8.json new file mode 100644 index 0000000000..2702c368f4 --- /dev/null +++ b/research/gauge44-slots/construction/slots/SLOT-PINS-k8.json @@ -0,0 +1,47 @@ +{ + "base_sha256": "db2c7cfb3f8eee2b76c2e0154fc530520fb4d90cd9511a002cab527b16033b83", + "word_sha256": "c2b294300760e1fd6eeab8c22c4d13e4633dca40e52cac8da0d68163a76e3ca8", + "canonical_sha256": "4ddb29fb9bc6f27e0c0fbfcf19a2a93a3496ad900d0f6d89059d0305c9576c0c", + "program_sha256": { + "forward": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8", + "backward": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + "clifford_recipes_sha256": "d0768f2164d5f64a2fdbec422f1cfde4e400818792f1904ca541958377243731", + "slot_controls": [ + "C0_identity", + "donation_after", + "donation_after@236", + "donation_after@238", + "donation_after@434", + "donation_after@436", + "donation_after@439", + "donation_after@444", + "donation_after@446", + "drop_preread", + "drop_preread@236", + "drop_preread@238", + "drop_preread@434", + "drop_preread@436", + "drop_preread@439", + "drop_preread@444", + "drop_preread@446", + "drop_restore", + "drop_restore@236", + "drop_restore@238", + "drop_restore@434", + "drop_restore@436", + "drop_restore@439", + "drop_restore@444", + "drop_restore@446", + "recipe", + "restore_full", + "restore_full@236", + "restore_full@238", + "restore_full@434", + "restore_full@436", + "restore_full@439", + "restore_full@444", + "restore_full@446" + ], + "kappa_decimal": "0.00167166528321877" +} diff --git a/research/gauge44-slots/construction/slots/verify_slots.py b/research/gauge44-slots/construction/slots/verify_slots.py new file mode 100644 index 0000000000..fd06b654af --- /dev/null +++ b/research/gauge44-slots/construction/slots/verify_slots.py @@ -0,0 +1,122 @@ +#!/usr/bin/env python3 +"""Slot layer on research/gauge44-leaver8 with explicit, hash-checked reuse of a completed k8 chain replay. + +Follows the repository's baseline-reuse pattern (cf. research/complex-t37-owners/verify.py --baseline799): +the completed k8 replay is rechecked against the parent package's pins, and only the new layer is rebuilt. + + 1. parent manifest, then baseline: the completed reproduce_leaver_chain.py --id k8 output; its final word and its + canonical/program/Clifford locals must equal CHAIN-PINS-k8 and the final frame recipe's output pin. + 2. slots: the reviewed construction/barch/build_tri.py (unchanged) with RECIPE-SLOTS-k8.json; output pinned. + All per-slot controls (run_controls.py, unchanged) must reject exactly as pinned. + 3. native locals of the new word (the same steps as reproduce_leaver_chain step 9); canonical/programs/Clifford pinned. + 4. independent audit_local on the new word. + 5. strict global replay (verify_global.py) of this package's data on the new locals. +""" +import argparse, gzip, hashlib, json, os, subprocess, sys, time +from pathlib import Path + +HERE = Path(__file__).resolve().parent +PKG = HERE.parents[1] +MUTANTS = ('drop_restore', 'restore_full', 'drop_preread', 'donation_after') # as reproduce_leaver_chain.py +# Complete step receipt of reproduce_leaver_chain.py --id k8 (unchanged driver of the parent package). +CHAIN_STEPS = ['pivot-swap', 'cold44-exact', 'lec-p6n', 'promotion', 'promo-controls', 'lec-promo', 'jx', + 'jx-control-C0_identity', 'jx-control-C1_741_only', 'jx-control-N3_plain_join_moved_reads', 'lec-jx', + 'hybrids', 'hybrid-controls', 'lec-hyb', 'frames', 'lec-frames', + 'native', 'ledgers', 'local-replay', 'wrappers', 'phases'] + + +def read(p): + b = Path(p).read_bytes() + return json.loads(gzip.decompress(b) if str(p).endswith('.gz') else b) + + +def enc(x): return json.dumps(x, sort_keys=True, separators=(',', ':')).encode() +def csha(p): return hashlib.sha256(gzip.decompress(Path(p).read_bytes())).hexdigest() +def fsha(p): return hashlib.sha256(Path(p).read_bytes()).hexdigest() + + +def main(): + assert __debug__, 'Assertions are required' + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--main', type=Path, required=True, help='repository root') + ap.add_argument('--pr635', type=Path, required=True) + ap.add_argument('--baseline', type=Path, required=True, + help='completed research/gauge44-leaver8 reproduce_leaver_chain.py --id k8 --out directory') + ap.add_argument('--work', type=Path, required=True) + a = ap.parse_args() + root = a.main.resolve(); work = a.work.resolve(); assert not work.exists(); work.mkdir(parents=True) + parent_pkg = root / 'research/gauge44-leaver8' + up = a.pr635.resolve() / 'research/complex-571-cold14-st2' + src = root / 'research/complex-k492-owner-repair/vendor/multicold' + base = src / 'vendor/pr558'; par = base / 'vendor/pr552' + routing = par / 'complex-local/inputs/phase-baseline/CANONICAL-WORD.json.gz' + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONUTF8='1', PYTHONINTMAXSTRDIGITS='0', + MULTICOLD_SOURCE=str(src), GAIN_PR564_SOURCE=str(src)) + env.pop('PYTHONOPTIMIZE', None) + pins = read(HERE / 'SLOT-PINS-k8.json'); steps = [] + + def run(label, script, *args, portable=True): + t = time.monotonic() + cmd = [sys.executable, '-B'] + ([str(src / 'code/run_portable.py')] if portable else []) + [str(script), *map(str, args)] + with (work / (label + '.log')).open('w') as f: + rc = subprocess.call(cmd, env=env, stdout=f, stderr=subprocess.STDOUT, cwd=root) + steps.append(dict(step=label, exit_code=rc, seconds=round(time.monotonic() - t, 3))) + (work / 'STEPS.json').write_text(json.dumps(steps, indent=2) + '\n') + assert rc == 0, label + print('PASS', label, flush=True) + return (work / (label + '.log')).read_text() + + # 1. parent package and baseline coverage + run('parent-manifest', parent_pkg / 'verify_manifest.py', portable=False) + cp = read(parent_pkg / 'construction/leaver/CHAIN-PINS-k8.json') + fr = read(parent_pkg / 'construction/leaver/FRAME-RECIPE-LV-k8.json') + bl = a.baseline.resolve(); bw = bl / 'frames/FULL-WORD.json.gz'; blocal = bl / 'local' + bsteps = read(bl / 'STEPS.json') + assert [s['step'] for s in bsteps] == CHAIN_STEPS and all(s['exit_code'] == 0 for s in bsteps), 'baseline is not a complete k8 chain replay' + assert csha(bw) == fr['expected']['output_content_sha256'] == pins['base_sha256'], 'baseline final word' + assert hashlib.sha256(gzip.decompress((blocal / 'CANONICAL-WORD.json.gz').read_bytes())).hexdigest() == cp['canonical_sha256'], 'baseline canonical' + chk = read(blocal / 'LOCAL-CHECKS.json') + assert {o: chk[o]['sha256'] for o in ('forward', 'backward')} == cp['program_sha256'], 'baseline programs' + assert fsha(blocal / 'CLIFFORD-RECIPES.json') == cp['clifford_recipes_sha256'], 'baseline Clifford' + for lab in ('lec-p6n', 'lec-promo', 'lec-jx', 'lec-hyb', 'lec-frames'): + c = read(bl / lab / 'COLD-END-CONTROLS.json') + assert c['status'] == 'PASS_COLD_END_RAW_WORD_CONTROLS' and len(c['rejected']) == cp[lab], 'baseline ' + lab + print('PASS baseline', flush=True) + + # 2. slot layer with the reviewed builder and controls (unchanged files from research/gauge44-leaver8) + barch = parent_pkg / 'construction/barch'; rec = HERE / 'RECIPE-SLOTS-k8.json'; r = read(rec) + assert r['base_sha256'] == pins['base_sha256'] and r['expect_sha256'] == pins['word_sha256'] + (work / 'slots').mkdir(); fw = work / 'slots/FULL-WORD.json.gz' + run('slots', barch / 'build_tri.py', bw, rec, fw, portable=False) + assert csha(fw) == pins['word_sha256'], 'slot word' + run('slot-controls', barch / 'run_controls.py', bw, rec, parent_pkg / 'independent/audit_local.py', work / 'slot-controls', portable=False) + res = read(work / 'slot-controls/controls.json') + want = ['C0_identity', 'recipe', *MUTANTS] + [m + '@' + str(v['X']) for v in r.get('variants', []) for m in MUTANTS] + assert sorted(res) == sorted(want) == sorted(pins['slot_controls']) and all(x['ok'] for x in res.values()), res + + # 3. native locals of the new word + local = work / 'local' + run('native', up / 'code/hpe_audit_and_transport.py', '--raw', fw, '--routing', routing, '--out', local) + assert hashlib.sha256(gzip.decompress((local / 'CANONICAL-WORD.json.gz').read_bytes())).hexdigest() == pins['canonical_sha256'] + run('ledgers', up / 'code/hpe_emit_local.py', local) + run('local-replay', up / 'code/hpe_audit_local.py', local) + run('wrappers', up / 'code/hpe_adapters_local.py', local / 'CANONICAL-WORD.json.gz', local / 'RESIDUAL-ADAPTERS.json', local / 'WRAPPER-CHECKS.json') + chk = read(local / 'LOCAL-CHECKS.json') + assert {o: chk[o]['sha256'] for o in ('forward', 'backward')} == pins['program_sha256'] + run('phases', base / 'code/phases_full.py', local, par / 'complex-global/vendor531/vendor/clifford') + assert fsha(local / 'CLIFFORD-RECIPES.json') == pins['clifford_recipes_sha256'] + + # 4. independent local audit; 5. strict global replay of this package's data + run('audit-local', PKG / 'independent/audit_local.py', '--word', fw, '--main', root, '--output', work / 'AUDIT-LOCAL.json', portable=False) + assert read(work / 'AUDIT-LOCAL.json')['status'] == 'PASS_INDEPENDENT_EXACT_FORWARD_AND_DUAL_ENDPOINT_FRAMES_ENTRANCES_CONES' + out = run('strict', PKG / 'verify_global.py', '--main', root, '--local', local, '--work', work / 'global', portable=False) + last = [l for l in out.splitlines() if l.startswith('PASS_GAUGE44')][-1] + assert last.split()[1] == pins['kappa_decimal'], last + res = dict(status='PASS_SLOTS_ON_CHECKED_K8_BASELINE', kappa_decimal=pins['kappa_decimal'], strict=last, + baseline=str(bl), steps=steps) + (work / 'RESULT.json').write_text(json.dumps(res, indent=1) + '\n') + print(res['status'], pins['kappa_decimal'], flush=True) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-slots/construction/sw4/LOCAL-PINS-sw4-P6k4.json b/research/gauge44-slots/construction/sw4/LOCAL-PINS-sw4-P6k4.json new file mode 100644 index 0000000000..ae26a0f2f1 --- /dev/null +++ b/research/gauge44-slots/construction/sw4/LOCAL-PINS-sw4-P6k4.json @@ -0,0 +1,11 @@ +{ + "word": "P6k4sw4", + "sw4_controls": 4, + "layer_controls": 95, + "canonical_sha256": "5f5f163e43e8c21c16e2f10aef0078131d127a1ccacc39e0238d111fbd29f195", + "program_sha256": { + "forward": "36e75fc972766fa42f1b371a055e74976a165c894b816911c3510a88b431ea09", + "backward": "3176ccde98d90e754105e60096598fee348e2455e046290d3674b79dd6b402df" + }, + "clifford_recipes_sha256": "202eeaf5fac0c801b98811c1e140fd0af443090d7f7e05c7b55a4ddc6f6acdab" +} diff --git a/research/gauge44-slots/construction/sw4/NOTES.md b/research/gauge44-slots/construction/sw4/NOTES.md new file mode 100644 index 0000000000..2a53ffb3b8 --- /dev/null +++ b/research/gauge44-slots/construction/sw4/NOTES.md @@ -0,0 +1,21 @@ +# SW4: read-set exchange on 4 entering-copy pairs + +- **Input.** P6k3, sha a38bb414. +- **Output.** sha f35a852b. Strict PASS at κ 0.001659645685315104, which is +3.267e-7 over P6k3 and equal to the ideal. +- **Width.** W 3782 is unchanged, as are start_extra, helper_final, cleanup and the helper numbering. +- **Rebuild.** `python build_sw4.py INPUT OUT [SW4-RECIPE.json]`. It is a deterministic apply of the 16 explicit moves, with 4 pinned controls: C0 (identity), N1 (keeping the pre-read is rejected), N2 (a partial exchange is rejected) and N3 (a wrong-sign pre-read is rejected). + +## Move +For each pair (h,r) in {(461,25), (581,89), (591,415), (603,431)}, where h = E_h + r after h's copy gate: +- every post-copy target read of h becomes a read of r, and that target's entrance pre-read of h is deleted; +- every target read of r becomes a read of h, with the pre-read add(t,h,−c) inserted after h's last pre-read, while h = E_h. + +The B-end state of every register is unchanged (checked mod p). + +## How exhaustive the search was +These 4 are the only positives within an exactly defined family. +- **Copy pair.** h is an entering helper whose first B write is add(h,r,1/1) from a non-target r, and whose only earlier B gates are single target pre-reads. NP has 107 such pairs. +- **Candidates.** Every nonempty subset of one pair's movable reads (target reads of h or r between the copy and the next write of h or r), with all other pairs left unchanged. That is 602 candidates over the 54 pairs that have reads. +- **Outcome.** 564 are frame-illegal. The 38 legal ones are all full single-pair exchanges, and only these 4 are positive. Their gains are additive. + +**What is not covered.** Cross-pair combinations of partial moves were not enumerated. Without a decomposition proof (moves can shrink as well as grow target frames), the result is exhaustive only within this single-pair family. diff --git a/research/gauge44-slots/construction/sw4/SW4-RECIPE-P6k4.json b/research/gauge44-slots/construction/sw4/SW4-RECIPE-P6k4.json new file mode 100644 index 0000000000..b9dea4152a --- /dev/null +++ b/research/gauge44-slots/construction/sw4/SW4-RECIPE-P6k4.json @@ -0,0 +1,314 @@ +{ + "name": "SW4", + "description": "BRoute read-set exchange on entering-copy pairs (h,r); indices refer to the input word B section", + "input_sha256": "0390ec65dc4d47df1887aabdc2ec5b6ddea3cfc8e65582873fdfeba81d100073", + "output_sha256": "d232183f233899961bf55cac67a18545ed33548d9a7ca7078990d1a83d557c59", + "pairs": { + "461": 25, + "581": 89, + "591": 415, + "603": 431 + }, + "moves": [ + { + "kind": "h2r", + "h": 461, + "r": 25, + "read_index": 856, + "target": 168, + "coef": [ + -1, + 2 + ], + "delete_preread_index": 27 + }, + { + "kind": "h2r", + "h": 461, + "r": 25, + "read_index": 1208, + "target": 128, + "coef": [ + -1, + 2 + ], + "delete_preread_index": 26 + }, + { + "kind": "r2h", + "h": 461, + "r": 25, + "read_index": 873, + "target": 129, + "coef": [ + -1, + 2 + ], + "insert_preread_before": 28, + "preread": [ + "add", + 129, + 461, + 1, + 2 + ] + }, + { + "kind": "r2h", + "h": 461, + "r": 25, + "read_index": 1193, + "target": 169, + "coef": [ + -1, + 2 + ], + "insert_preread_before": 28, + "preread": [ + "add", + 169, + 461, + 1, + 2 + ] + }, + { + "kind": "h2r", + "h": 581, + "r": 89, + "read_index": 860, + "target": 171, + "coef": [ + -1, + 2 + ], + "delete_preread_index": 58 + }, + { + "kind": "h2r", + "h": 581, + "r": 89, + "read_index": 1288, + "target": 192, + "coef": [ + -1, + 2 + ], + "delete_preread_index": 59 + }, + { + "kind": "r2h", + "h": 581, + "r": 89, + "read_index": 953, + "target": 193, + "coef": [ + -1, + 2 + ], + "insert_preread_before": 60, + "preread": [ + "add", + 193, + 581, + 1, + 2 + ] + }, + { + "kind": "r2h", + "h": 581, + "r": 89, + "read_index": 1197, + "target": 175, + "coef": [ + -1, + 2 + ], + "insert_preread_before": 60, + "preread": [ + "add", + 175, + 581, + 1, + 2 + ] + }, + { + "kind": "h2r", + "h": 591, + "r": 415, + "read_index": 868, + "target": 139, + "coef": [ + 1, + 1 + ], + "delete_preread_index": 62 + }, + { + "kind": "h2r", + "h": 591, + "r": 415, + "read_index": 1296, + "target": 160, + "coef": [ + 1, + 1 + ], + "delete_preread_index": 63 + }, + { + "kind": "r2h", + "h": 591, + "r": 415, + "read_index": 961, + "target": 161, + "coef": [ + 1, + 1 + ], + "insert_preread_before": 64, + "preread": [ + "add", + 161, + 591, + -1, + 1 + ] + }, + { + "kind": "r2h", + "h": 591, + "r": 415, + "read_index": 1205, + "target": 143, + "coef": [ + 1, + 1 + ], + "insert_preread_before": 64, + "preread": [ + "add", + 143, + 591, + -1, + 1 + ] + }, + { + "kind": "h2r", + "h": 603, + "r": 431, + "read_index": 876, + "target": 131, + "coef": [ + 1, + 1 + ], + "delete_preread_index": 70 + }, + { + "kind": "h2r", + "h": 603, + "r": 431, + "read_index": 1300, + "target": 163, + "coef": [ + 1, + 1 + ], + "delete_preread_index": 71 + }, + { + "kind": "r2h", + "h": 603, + "r": 431, + "read_index": 965, + "target": 167, + "coef": [ + 1, + 1 + ], + "insert_preread_before": 72, + "preread": [ + "add", + 167, + 603, + -1, + 1 + ] + }, + { + "kind": "r2h", + "h": 603, + "r": 431, + "read_index": 1213, + "target": 135, + "coef": [ + 1, + 1 + ], + "insert_preread_before": 72, + "preread": [ + "add", + 135, + 603, + -1, + 1 + ] + } + ], + "kappa_ideal_in": 0.0016603565408383088, + "kappa_ideal_out": 0.0016606836036204419, + "W": 3778, + "profile_in": { + "1": 2572, + "2": 326, + "3": 430, + "4": 194, + "5": 56, + "8": 8 + }, + "profile_out": { + "1": 2548, + "2": 342, + "3": 438, + "4": 186, + "5": 56, + "8": 8 + }, + "width_inventory": { + "4": 80, + "5": 32, + "7": 54, + "8": 122, + "9": 216 + }, + "rejection_expected": { + "N1": { + "changed_registers": [ + 168, + 171 + ], + "n": 2 + }, + "N2": { + "first": [ + "cap", + 1192, + 169 + ], + "n": 10 + }, + "N3": { + "changed_registers": [ + 129, + 130, + 169, + 170 + ], + "n": 4 + } + } +} diff --git a/research/gauge44-slots/construction/sw4/build_sw4.py b/research/gauge44-slots/construction/sw4/build_sw4.py new file mode 100644 index 0000000000..617e0ed06d --- /dev/null +++ b/research/gauge44-slots/construction/sw4/build_sw4.py @@ -0,0 +1,203 @@ +#!/usr/bin/env python3 +"""build_sw4.py INPUT_WORD OUT_DIR [RECIPE] : deterministic, standard-library-only rebuild of the BRoute SW4 word. + +SW4 exchanges the B-phase target read sets of four entering packet copies h and their face registers r +(h = E_h + r after h's copy gate; E_h = h's entering content): + h2r: a post-copy read add(t,h,c) becomes add(t,r,c), and t's entrance pre-read add(t,h,-c) (taken while h = E_h) is deleted; + r2h: a read add(t,r,c) becomes add(t,h,c), and a pre-read add(t,h,-c) is inserted before index insert_preread_before + (right after h's last existing pre-read, still before h's copy gate). +Every register holds the same value at the end of B (checked mod p). Frames: a moved or inserted gate gets the plain join of +its operands' current frames; every other B gate and every early-cleanup tail keeps span(old frame + current operand frames). +Targets must stay inside u_t^perp, and tails and ends must contain the current frame. + +Controls (run on every build; the count is pinned to 4 and all must hold, else exit 1): + C0 the identity recipe (no moves) reproduces the input B and early_cleanup byte for byte; + N1 h2r without deleting the pre-read is rejected by exactness; + N2 a partial exchange (one read only) is rejected by the frame cap; + N3 an inserted pre-read with the wrong sign is rejected by exactness. +Rejection sites are pinned: the recipe's 'rejection_expected' gives, for N1/N3, the exact set of target rows whose B-end +state changes (the mutated target plus its butterfly partner(s)) and, for N2, the first cap violation (kind, B index, +register) and the violation count. Each control must reproduce its pinned site exactly. BUILD.json records the observed +sites under 'rejection'. +Writes OUT_DIR/FULL-WORD.json.gz (sha checked against the recipe) and OUT_DIR/BUILD.json.""" +import sys, json, gzip, hashlib, os +from collections import Counter, defaultdict + +PR = 2147483629 +HERE = os.path.dirname(os.path.abspath(__file__)) +V, HH = 112, 9 + + +def basis(vs): + piv = {} + for a in vs: + while a: + bit = a.bit_length() - 1 + if bit in piv: a ^= piv[bit] + else: + piv[bit] = a; break + for k in sorted(piv): + for j in piv: + if j > k and piv[j] >> k & 1: piv[j] ^= piv[k] + return tuple(piv[k] for k in sorted(piv, reverse=True)) + + +def contained(a, b): return basis(list(a) + list(b)) == tuple(b) +def registers(e): return e[1:3] if e[0] == 'add' else e[1:2] +def hyper(p): return basis([x for x in range(1, 1 << HH) if (x & p).bit_count() % 2 == 0]) +FULL = basis([1 << i for i in range(HH)]) + + +def coef(e): + a, b = (e[3], e[4]) if e[0] == 'add' else (e[2], e[3]) + return a % PR * pow(b % PR, PR - 2, PR) % PR + + +def bend_state(w): + """sparse rows mod p of every register after A + cut + B (identity start).""" + n = 2 * V + w['report']['R']; rows = [{i: 1} for i in range(n)] + for e in w['A'] + w['cut'] + w['B']: + q = coef(e); t = e[1] + if e[0] == 'scale': rows[t] = {k: x * q % PR for k, x in rows[t].items()} + else: + d = rows[t] + for k, x in rows[e[2]].items(): + y = (d.get(k, 0) + q * x) % PR + if y: d[k] = y + else: d.pop(k, None) + return rows + + +def apply_recipe(w, moves, drop_delete=False, wrong_sign=False): + B = [list(e[:-1]) + [list(e[-1]) if e[-1] is not None else None] for e in w['B']] + tag = {}; dele = set(); ins = defaultdict(list) + for m in moves: + i = m['read_index']; e = B[i]; t = m['target']; a, b = m['coef'] + assert e[0] == 'add' and e[1] == t and [e[3], e[4]] == [a, b], ('recipe/word mismatch', m) + if m['kind'] == 'h2r': + assert e[2] == m['h'] + pi = m['delete_preread_index']; g = B[pi] + assert g[:5] == ['add', t, m['h'], -a, b], ('pre-read mismatch', m) + B[i] = ['add', t, m['r'], a, b, e[-1]] + if not drop_delete: dele.add(pi) + else: + assert e[2] == m['r'] + B[i] = ['add', t, m['h'], a, b, e[-1]] + g = list(m['preread']) + if wrong_sign: g[3] = -g[3] + ins[m['insert_preread_before']].append(g + [None]) + tag[i] = 1 + NB, nt = [], [] + for i, e in enumerate(B): + for g in ins.get(i, []): NB.append(g); nt.append(1) + if i in dele: continue + NB.append(e); nt.append(tag.get(i, 0)) + w2 = dict(w); w2['B'] = NB; w2['early_cleanup'] = [list(x) for x in w.get('early_cleanup', [])] + return w2, nt + + +def refit(w, nt): + n = 2 * V + w['report']['R'] + cur = [(p,) for p in w['ports']] + [()] * (n - V) + for q, U in w['start_extra'].items(): cur[int(q)] = basis(U) + for e in w['A']: + for q in registers(e): cur[q] = basis(e[-1]) + prob = [] + for i, e in enumerate(w['B']): + rs = registers(e) + base = [] if nt[i] or e[-1] is None else list(e[-1]) + F = basis(base + [x for q in rs for x in cur[q]]) + for q in rs: + if V <= q < 2 * V and not contained(F, hyper(w['ports'][q - V])): prob.append(('cap', i, q)) + e[-1] = list(F) + for q in rs: cur[q] = F + ne = [] + for i, U in w.get('early_cleanup', []): + rs = registers(w['cleanup'][i]); F = basis(list(U) + [x for q in rs for x in cur[q]]) + for q in rs: + fin = w['helper_final'].get(str(q)) + if fin is not None and not contained(F, basis(fin)): prob.append(('tail', i, q)) + ne.append([i, list(F)]) + for q in rs: cur[q] = F + w['early_cleanup'] = ne + for q in range(2 * V, n): + fin = w['helper_final'].get(str(q)) + if fin is not None and not contained(cur[q], basis(fin)): prob.append(('end', q)) + return prob + + +def profile(w): + n = 2 * V + w['report']['R'] + tail = [w['cleanup'][i][:-1] + [U] for i, U in w.get('early_cleanup', [])] + end = [FULL] * V + [hyper(p) for p in w['ports']] + [FULL] * (n - 2 * V) + for q, U in w['helper_final'].items(): end[int(q)] = basis(U) + start = [(p,) for p in w['ports']] + [()] * (n - V) + for q, U in w['start_extra'].items(): start[int(q)] = basis(U) + cur = list(start); paid = Counter() + def climb(q, U): + U = basis(U); assert contained(cur[q], U), ('monotone', q) + d = len(U) - len(cur[q]) + if d: paid[d] += 1 + cur[q] = U + for sec in ('A', 'B'): + if sec == 'B': + lev = {int(t): basis(U) for t, U in w.get('target_levels', {}).items()} + for q, U in zip(w['centers'], w['center_frames']): + U = basis(U); served = {lev.get(e[1] - V, ()) for e in w['cut'] if e[2] == q} + for T in sorted(served, key=lambda x: -len(x)): + if T != U: paid[len(U) - len(T)] += 1 + U = T + for e in w[sec]: + for q in registers(e): climb(q, e[-1]) + for e in tail: + for q in registers(e): climb(q, e[-1]) + for q, U in enumerate(end): climb(q, U) + widths = Counter(len(end[q]) - len(start[q]) for q in range(2 * V, n)) + return paid, widths + + +def enc(w): return json.dumps(w, sort_keys=True, separators=(',', ':')).encode() + + +def main(): + src, out = sys.argv[1], sys.argv[2] + rec = json.load(open(sys.argv[3] if len(sys.argv) > 3 else os.path.join(HERE, 'SW4-RECIPE.json'))) + raw = gzip.decompress(open(src, 'rb').read()) + assert hashlib.sha256(raw).hexdigest() == rec['input_sha256'], 'input sha mismatch' + w = json.loads(raw); S0 = bend_state(w); moves = rec['moves'] + h0 = moves[0]['h']; one = [m for m in moves if m['h'] == h0] + ctl = {}; why = {}; EXP = rec.get('rejection_expected', {}) + if os.environ.get('SW4_PIN') != '1' and set(EXP) != {'N1', 'N2', 'N3'}: raise SystemExit('recipe rejection_expected must pin exactly N1, N2, N3 (set SW4_PIN=1 to record)') + def diff(S): + d = [q for q in range(len(S0)) if S[q] != S0[q]] + return dict(changed_registers=d[:8], n=len(d)) + w0, nt0 = apply_recipe(w, []); p0 = refit(w0, nt0) + ctl['C0_identity'] = not p0 and w0['B'] == w['B'] and w0['early_cleanup'] == w['early_cleanup'] + m1 = [m for m in one if m['kind'] == 'h2r'][:1] + w1, nt1 = apply_recipe(w, m1, drop_delete=True); d1 = diff(bend_state(w1)) + ctl['N1_keep_preread_rejected'] = d1['n'] > 0 and d1 == EXP.get('N1', d1); why['N1'] = d1 + w2, nt2 = apply_recipe(w, m1); p2 = refit(w2, nt2) + why['N2'] = dict(first=list(p2[0]) if p2 else None, n=len(p2)); ctl['N2_partial_rejected'] = bool(p2) and p2[0][0] == 'cap' and why['N2'] == EXP.get('N2', why['N2']) + w3, nt3 = apply_recipe(w, one, wrong_sign=True); d3 = diff(bend_state(w3)) + ctl['N3_wrong_sign_rejected'] = d3['n'] > 0 and d3 == EXP.get('N3', d3); why['N3'] = d3 + assert len(ctl) == 4 + wn, nt = apply_recipe(w, moves); pr = refit(wn, nt) + assert not pr, ('illegal', pr[:5]) + assert bend_state(wn) == S0, 'B-end state changed' + paid, widths = profile(wn) + wn['report'] = dict(wn['report'], local_profile={str(k): v for k, v in sorted(paid.items())}, + local_rank_mass=sum(k * v for k, v in paid.items())) + data = enc(wn); sha = hashlib.sha256(data).hexdigest() + os.makedirs(out, exist_ok=True) + with open(os.path.join(out, 'FULL-WORD.json.gz'), 'wb') as f: f.write(gzip.compress(data, mtime=0)) + rep = dict(recipe=rec['name'], input_sha256=rec['input_sha256'], output_sha256=sha, expected_output_sha256=rec['output_sha256'], + moves=len(moves), controls=ctl, rejection=why, profile=wn['report']['local_profile'], + widths={str(k): v for k, v in sorted(widths.items()) if k}, W=sum(k * v for k, v in widths.items())) + with open(os.path.join(out, 'BUILD.json'), 'w', newline='\n') as f: f.write(json.dumps(rep, indent=1) + '\n') + print(json.dumps(rep, indent=1)) + ok = all(ctl.values()) and sha == rec['output_sha256'] and rep['profile'] == rec['profile_out'] and rep['W'] == rec['W'] + sys.exit(0 if ok else 1) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-slots/construction/sw4/reproduce_sw4.py b/research/gauge44-slots/construction/sw4/reproduce_sw4.py new file mode 100644 index 0000000000..cb038e064b --- /dev/null +++ b/research/gauge44-slots/construction/sw4/reproduce_sw4.py @@ -0,0 +1,87 @@ +#!/usr/bin/env python3 +"""Rebuild the SW4 word (BRoute read-set exchange on four entering-copy pairs) and its native locals. + +Input: a fresh `construction/promo/reproduce_promo.py --base p6n --k ` output directory; its promoted +word is pinned there and by SW4-RECIPE-.json (this package: --k p6n-k4, P6k4 0390ec65..., recipe P6k4). Steps, each checked exactly: + 1. sw4: BRoute's build_sw4.py (standard library only). It applies the 16 explicit moves of SW4-RECIPE-.json: + every listed read of h becomes a read of its face register r and vice versa, with the entrance pre-reads deleted + or inserted. It checks the B-end state of every register mod p, the frame caps, tails and ends, and the output sha + and profile. Its controls C0, N1, N2 and N3 run on every build and must all hold (count pinned to 4). + 2. layer-end-controls: ../layers_p6n/layer_end_controls.py (per-end variant, Q6Reviewer-signed) on the SW4 word; + the count is pinned in LOCAL-PINS-sw4-.json. + 3. native, ledgers, local-replay, wrappers, phases: PR635's native local programs. The canonical word, local + programs and Clifford recipes are pinned (LOCAL-PINS-sw4-.json). +Apache-2.0. Driver by ColdWitness around BRoute's constructor. +""" +import argparse, gzip, hashlib, json, os, subprocess, sys, time +from pathlib import Path + +HERE = Path(__file__).resolve().parent +P6 = HERE.parent / 'layers_p6n' + + +def read(p): + raw = Path(p).read_bytes() + return json.loads(gzip.decompress(raw) if str(p).endswith('.gz') else raw) + + +def main(): + assert __debug__, 'Assertions are required' + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--main', type=Path, required=True) + ap.add_argument('--pr635', type=Path, required=True) + ap.add_argument('--promo-dir', type=Path, required=True, help='construction/promo/reproduce_promo.py output') + ap.add_argument('--out', type=Path, required=True) + ap.add_argument('--recipe', default='P6k4', help='SW4-RECIPE-.json and LOCAL-PINS-sw4-.json') + ap.add_argument('--skip-phases', action='store_true') + a = ap.parse_args() + out = a.out.resolve(); assert not out.exists(); out.mkdir(parents=True) + up = a.pr635.resolve() / 'research/complex-571-cold14-st2' + src = a.main.resolve() / 'research/complex-k492-owner-repair/vendor/multicold' + base = src / 'vendor/pr558'; parent = base / 'vendor/pr552' + rfile = HERE / ('SW4-RECIPE-%s.json' % a.recipe); rec = read(rfile); pins = read(HERE / ('LOCAL-PINS-sw4-%s.json' % a.recipe)) + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONUTF8='1', PYTHONINTMAXSTRDIGITS='0', + MULTICOLD_SOURCE=str(src), GAIN_PR564_SOURCE=str(src)) + for k in ('PYTHONOPTIMIZE', 'XPARAM', 'EXTRAH', 'PAIRING_RANKS', 'DIAG', 'HYBBUDGET', 'PR635_CODE'): env.pop(k, None) + steps = [] + + def run(label, script, *args, portable=True): + t = time.monotonic() + cmd = [sys.executable, '-B'] + ([str(src / 'code/run_portable.py')] if portable else []) + [str(script), *map(str, args)] + with (out / (label + '.log')).open('w') as f: + rc = subprocess.call(cmd, env=env, stdout=f, stderr=subprocess.STDOUT) + steps.append(dict(step=label, exit_code=rc, seconds=round(time.monotonic() - t, 3))) + (out / 'STEPS.json').write_text(json.dumps(steps, indent=2) + '\n') + assert rc == 0, label + print('PASS', label, flush=True) + + inp = a.promo_dir.resolve() / 'promo/FULL-WORD.json.gz' + assert hashlib.sha256(gzip.decompress(inp.read_bytes())).hexdigest() == rec['input_sha256'], 'input must be the pinned promoted word' + run('sw4', HERE / 'build_sw4.py', inp, out / 'sw4', rfile, portable=False) + b = read(out / 'sw4/BUILD.json') + assert len(b['controls']) == pins['sw4_controls'] and all(b['controls'].values()), b['controls'] + word = out / 'sw4/FULL-WORD.json.gz' + assert hashlib.sha256(gzip.decompress(word.read_bytes())).hexdigest() == rec['output_sha256'] + routing = parent / 'complex-local/inputs/phase-baseline/CANONICAL-WORD.json.gz' + env['PR635_CODE'] = str(up / 'code') + run('layer-end-controls', P6 / 'layer_end_controls.py', word, routing, out / 'controls') + env.pop('PR635_CODE') + ctl = read(out / 'controls/COLD-END-CONTROLS.json') + assert ctl['status'] == 'PASS_COLD_END_RAW_WORD_CONTROLS' and len(ctl['rejected']) == pins['layer_controls'], len(ctl['rejected']) + local = out / 'local' + run('native', up / 'code/hpe_audit_and_transport.py', '--raw', word, '--routing', routing, '--out', local) + assert hashlib.sha256(gzip.decompress((local / 'CANONICAL-WORD.json.gz').read_bytes())).hexdigest() == pins['canonical_sha256'], 'canonical word' + run('ledgers', up / 'code/hpe_emit_local.py', local) + run('local-replay', up / 'code/hpe_audit_local.py', local) + run('wrappers', up / 'code/hpe_adapters_local.py', local / 'CANONICAL-WORD.json.gz', + local / 'RESIDUAL-ADAPTERS.json', local / 'WRAPPER-CHECKS.json') + checks = read(local / 'LOCAL-CHECKS.json') + for o, s in pins['program_sha256'].items(): assert checks[o]['sha256'] == s, ('local program', o) + if not a.skip_phases: + run('phases', base / 'code/phases_full.py', local, parent / 'complex-global/vendor531/vendor/clifford') + assert hashlib.sha256((local / 'CLIFFORD-RECIPES.json').read_bytes()).hexdigest() == pins['clifford_recipes_sha256'], 'clifford recipes' + print('DONE', local, flush=True) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-slots/data/FRONTIER.json b/research/gauge44-slots/data/FRONTIER.json new file mode 100644 index 0000000000..70285d4d85 --- /dev/null +++ b/research/gauge44-slots/data/FRONTIER.json @@ -0,0 +1,36 @@ +{ + "checked_at_utc": "2026-10-13 00:54:29 UTC", + "construction_base": { + "pr": 635, + "commit": "a6895a69f8ad98ab45777b03e9e6f48888c39f6f", + "kappa": "0.001636241501576388" + }, + "latest_pr": 642, + "strongest_reported_pr": 641, + "comparisons": [ + { + "number": 641, + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/641", + "title": "Conditional κ = 0.001636523543003976: cost-neutral pivot swaps with four entering ends (s4) on PR635", + "head_sha": "ff580ea5407aa427d64233523e46ee0afe24a766", + "head_repo": "jeremykothe2/integer-mult-bounds", + "created_at": "2026-10-13T00:36:30Z", + "updated_at": "2026-10-13T00:36:30Z", + "reported_kappa": "0.001636523543003976" + }, + { + "number": 642, + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/642", + "title": "Conditional κ = 0.001636472098484378: selective helper-249 dispatch", + "head_sha": "d1154e23e13d85fdbf64d4b41fa20bb0f56a428f", + "head_repo": "vectorsss/integer-mult-bounds", + "created_at": "2026-10-13T00:40:40Z", + "updated_at": "2026-10-13T00:46:54Z", + "reported_kappa": "0.001636472098484378" + } + ], + "new_kappa": "0.001649483702558979", + "gain_over_641_percent": "0.791932362379189601995955118466917211009518325743405547289975", + "gain_over_642_percent": "0.795100881136422911010672021375626721886288268207407873093008", + "scope": "PR641/642 values are their public reported conditional witnesses, not independently replayed here. This delta retains the pinned PR635 construction ancestry and replaces its local supplier and whole-owner dispatch; it does not claim to compose the later pivot swaps or helper249 end." +} diff --git a/research/gauge44-slots/data/OWNERS.json.gz b/research/gauge44-slots/data/OWNERS.json.gz new file mode 100644 index 0000000000..8eda84ea0c Binary files /dev/null and b/research/gauge44-slots/data/OWNERS.json.gz differ diff --git a/research/gauge44-slots/data/PLAN.json b/research/gauge44-slots/data/PLAN.json new file mode 100644 index 0000000000..0465492a1f --- /dev/null +++ b/research/gauge44-slots/data/PLAN.json @@ -0,0 +1,40249 @@ +{ + "status": "FROZEN_EXPLICIT_GAUGE44_WHOLE_OWNER_NOMINATION", + "mode": "gauge44-all72", + "K": 4, + "T": 8, + "M": 73, + "L": 9, + "live": 7168, + "deficit": 2560, + "profile": { + "1": 174763, + "2": 30105, + "3": 31283, + "4": 10224, + "5": 5904, + "7": 54, + "8": 576, + "16": 23, + "48": 2419 + }, + "order": [ + [ + 0, + 0 + ], + [ + 0, + 1 + ], + [ + 1, + 0 + ], + [ + 0, + 2 + ], + [ + 1, + 1 + ], + [ + 2, + 0 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 2, + 1 + ], + [ + 3, + 0 + ], + [ + 0, + 4 + ], + [ + 1, + 3 + ], + [ + 2, + 2 + ], + [ + 3, + 1 + ], + [ + 4, + 0 + ], + [ + 0, + 5 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 3, + 2 + ], + [ + 4, + 1 + ], + [ + 5, + 0 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 2, + 4 + ], + [ + 3, + 3 + ], + [ + 4, + 2 + ], + [ + 5, + 1 + ], + [ + 0, + 7 + ], + [ + 6, + 0 + ], + [ + 1, + 6 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 4, + 3 + ], + [ + 5, + 2 + ], + [ + 6, + 1 + ], + [ + 1, + 7 + ], + [ + 7, + 0 + ], + [ + 2, + 6 + ], + [ + 3, + 5 + ], + [ + 4, + 4 + ], + [ + 5, + 3 + ], + [ + 6, + 2 + ], + [ + 7, + 1 + ], + [ + 2, + 7 + ], + [ + 8, + 0 + ], + [ + 3, + 6 + ], + [ + 4, + 5 + ], + [ + 5, + 4 + ], + [ + 6, + 3 + ], + [ + 7, + 2 + ], + [ + 8, + 1 + ], + [ + 3, + 7 + ], + [ + 4, + 6 + ], + [ + 5, + 5 + ], + [ + 6, + 4 + ], + [ + 7, + 3 + ], + [ + 8, + 2 + ], + [ + 4, + 7 + ], + [ + 5, + 6 + ], + [ + 6, + 5 + ], + [ + 7, + 4 + ], + [ + 8, + 3 + ], + [ + 5, + 7 + ], + [ + 6, + 6 + ], + [ + 7, + 5 + ], + [ + 8, + 4 + ], + [ + 6, + 7 + ], + [ + 7, + 6 + ], + [ + 8, + 5 + ], + [ + 7, + 7 + ], + [ + 8, + 6 + ], + [ + 8, + 7 + ] + ], + "windows": { + "0,0": [ + 16, + [ + 0, + 1, + 2 + ] + ], + "0,2": [ + 16, + [ + 0, + 1, + 2 + ] + ], + "0,1": [ + 8, + [ + 3, + 4, + 5 + ] + ], + "0,3": [ + 8, + [ + 3, + 4, + 5 + ] + ], + "0,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ] + ], + "0,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ] + ], + "0,5": [ + 8, + [ + 10, + 11, + 12, + 13, + 14 + ] + ], + "0,7": [ + 8, + [ + 10, + 11, + 12, + 13, + 14 + ] + ], + "0,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20 + ] + ], + "0,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20 + ] + ], + "0,9": [ + 8, + [ + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ] + ], + "0,11": [ + 8, + [ + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ] + ], + "0,12": [ + 48, + [ + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44 + ] + ], + "0,13": [ + 48, + [ + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44 + ] + ], + "0,14": [ + 32, + [ + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44 + ] + ], + "0,15": [ + 32, + [ + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44 + ] + ], + "0,16": [ + 16, + [ + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44 + ] + ], + "0,17": [ + 16, + [ + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44 + ] + ], + "1,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4 + ] + ], + "1,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4 + ] + ], + "1,1": [ + 8, + [ + 5, + 6, + 7, + 8 + ] + ], + "1,3": [ + 8, + [ + 5, + 6, + 7, + 8 + ] + ], + "1,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13 + ] + ], + "1,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13 + ] + ], + "1,5": [ + 8, + [ + 14, + 15, + 16, + 17, + 18, + 19 + ] + ], + "1,7": [ + 8, + [ + 14, + 15, + 16, + 17, + 18, + 19 + ] + ], + "1,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26 + ] + ], + "1,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26 + ] + ], + "1,9": [ + 8, + [ + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34 + ] + ], + "1,11": [ + 8, + [ + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34 + ] + ], + "1,12": [ + 48, + [ + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50 + ] + ], + "1,13": [ + 48, + [ + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50 + ] + ], + "1,14": [ + 32, + [ + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50 + ] + ], + "1,15": [ + 32, + [ + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50 + ] + ], + "1,16": [ + 16, + [ + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50 + ] + ], + "1,17": [ + 16, + [ + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50 + ] + ], + "2,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ] + ], + "2,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ] + ], + "2,1": [ + 8, + [ + 8, + 9, + 10, + 11, + 12 + ] + ], + "2,3": [ + 8, + [ + 8, + 9, + 10, + 11, + 12 + ] + ], + "2,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18 + ] + ], + "2,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18 + ] + ], + "2,5": [ + 8, + [ + 19, + 20, + 21, + 22, + 23, + 24, + 25 + ] + ], + "2,7": [ + 8, + [ + 19, + 20, + 21, + 22, + 23, + 24, + 25 + ] + ], + "2,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33 + ] + ], + "2,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33 + ] + ], + "2,9": [ + 8, + [ + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41 + ] + ], + "2,11": [ + 8, + [ + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41 + ] + ], + "2,12": [ + 48, + [ + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ] + ], + "2,13": [ + 48, + [ + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ] + ], + "2,14": [ + 32, + [ + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ] + ], + "2,15": [ + 32, + [ + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ] + ], + "2,16": [ + 16, + [ + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ] + ], + "2,17": [ + 16, + [ + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ] + ], + "3,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ] + ], + "3,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ] + ], + "3,1": [ + 8, + [ + 12, + 13, + 14, + 15, + 16, + 17 + ] + ], + "3,3": [ + 8, + [ + 12, + 13, + 14, + 15, + 16, + 17 + ] + ], + "3,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24 + ] + ], + "3,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24 + ] + ], + "3,5": [ + 8, + [ + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32 + ] + ], + "3,7": [ + 8, + [ + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32 + ] + ], + "3,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40 + ] + ], + "3,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40 + ] + ], + "3,9": [ + 8, + [ + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48 + ] + ], + "3,11": [ + 8, + [ + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48 + ] + ], + "3,12": [ + 48, + [ + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61 + ] + ], + "3,13": [ + 48, + [ + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61 + ] + ], + "3,14": [ + 32, + [ + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61 + ] + ], + "3,15": [ + 32, + [ + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61 + ] + ], + "3,16": [ + 16, + [ + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61 + ] + ], + "3,17": [ + 16, + [ + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61 + ] + ], + "4,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16 + ] + ], + "4,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16 + ] + ], + "4,1": [ + 8, + [ + 17, + 18, + 19, + 20, + 21, + 22, + 23 + ] + ], + "4,3": [ + 8, + [ + 17, + 18, + 19, + 20, + 21, + 22, + 23 + ] + ], + "4,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31 + ] + ], + "4,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31 + ] + ], + "4,5": [ + 8, + [ + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39 + ] + ], + "4,7": [ + 8, + [ + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39 + ] + ], + "4,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47 + ] + ], + "4,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47 + ] + ], + "4,9": [ + 8, + [ + 48, + 49, + 50, + 51, + 52, + 53, + 54 + ] + ], + "4,11": [ + 8, + [ + 48, + 49, + 50, + 51, + 52, + 53, + 54 + ] + ], + "4,12": [ + 48, + [ + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65 + ] + ], + "4,13": [ + 48, + [ + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65 + ] + ], + "4,14": [ + 32, + [ + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65 + ] + ], + "4,15": [ + 32, + [ + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65 + ] + ], + "4,16": [ + 16, + [ + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65 + ] + ], + "4,17": [ + 16, + [ + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65 + ] + ], + "5,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22 + ] + ], + "5,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22 + ] + ], + "5,1": [ + 8, + [ + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30 + ] + ], + "5,3": [ + 8, + [ + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30 + ] + ], + "5,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38 + ] + ], + "5,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38 + ] + ], + "5,5": [ + 8, + [ + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46 + ] + ], + "5,7": [ + 8, + [ + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46 + ] + ], + "5,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53 + ] + ], + "5,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53 + ] + ], + "5,9": [ + 8, + [ + 54, + 55, + 56, + 57, + 58, + 59 + ] + ], + "5,11": [ + 8, + [ + 54, + 55, + 56, + 57, + 58, + 59 + ] + ], + "5,12": [ + 48, + [ + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68 + ] + ], + "5,13": [ + 48, + [ + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68 + ] + ], + "5,14": [ + 32, + [ + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68 + ] + ], + "5,15": [ + 32, + [ + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68 + ] + ], + "5,16": [ + 16, + [ + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68 + ] + ], + "5,17": [ + 16, + [ + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68 + ] + ], + "6,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29 + ] + ], + "6,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29 + ] + ], + "6,1": [ + 8, + [ + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37 + ] + ], + "6,3": [ + 8, + [ + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37 + ] + ], + "6,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45 + ] + ], + "6,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45 + ] + ], + "6,5": [ + 8, + [ + 46, + 47, + 48, + 49, + 50, + 51, + 52 + ] + ], + "6,7": [ + 8, + [ + 46, + 47, + 48, + 49, + 50, + 51, + 52 + ] + ], + "6,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58 + ] + ], + "6,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58 + ] + ], + "6,9": [ + 8, + [ + 59, + 60, + 61, + 62, + 63 + ] + ], + "6,11": [ + 8, + [ + 59, + 60, + 61, + 62, + 63 + ] + ], + "6,12": [ + 48, + [ + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70 + ] + ], + "6,13": [ + 48, + [ + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70 + ] + ], + "6,14": [ + 32, + [ + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70 + ] + ], + "6,15": [ + 32, + [ + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70 + ] + ], + "6,16": [ + 16, + [ + 64, + 65, + 66, + 67, + 68, + 69, + 70 + ] + ], + "6,17": [ + 16, + [ + 64, + 65, + 66, + 67, + 68, + 69, + 70 + ] + ], + "7,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ] + ], + "7,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ] + ], + "7,1": [ + 8, + [ + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43 + ] + ], + "7,3": [ + 8, + [ + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43 + ] + ], + "7,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51 + ] + ], + "7,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51 + ] + ], + "7,5": [ + 8, + [ + 52, + 53, + 54, + 55, + 56, + 57 + ] + ], + "7,7": [ + 8, + [ + 52, + 53, + 54, + 55, + 56, + 57 + ] + ], + "7,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62 + ] + ], + "7,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62 + ] + ], + "7,9": [ + 8, + [ + 63, + 64, + 65, + 66 + ] + ], + "7,11": [ + 8, + [ + 63, + 64, + 65, + 66 + ] + ], + "7,12": [ + 48, + [ + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71 + ] + ], + "7,13": [ + 48, + [ + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71 + ] + ], + "7,14": [ + 32, + [ + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71 + ] + ], + "7,15": [ + 32, + [ + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71 + ] + ], + "7,16": [ + 16, + [ + 67, + 68, + 69, + 70, + 71 + ] + ], + "7,17": [ + 16, + [ + 67, + 68, + 69, + 70, + 71 + ] + ] + }, + "sides": { + "0": 0, + "2": 1, + "1": 0, + "3": 1, + "4": 0, + "6": 1, + "5": 0, + "7": 1, + "8": 0, + "10": 1, + "9": 0, + "11": 1, + "12": 0, + "13": 1, + "14": 0, + "15": 1, + "16": 0, + "17": 1 + }, + "pairs": { + "0": 1, + "2": 1, + "1": 1, + "3": 1, + "4": 2, + "6": 2, + "5": 2, + "7": 2, + "8": 3, + "10": 3, + "9": 3, + "11": 3, + "12": 0, + "13": 0, + "14": 1, + "15": 1, + "16": 2, + "17": 2 + }, + "solver_status": "g44pack_early_lns_of_deterministic-capacity-matching", + "gap": null, + "provider_calls": [ + { + "time": 0, + "stage": 0, + "replica": 0, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 1, + "stage": 0, + "replica": 1, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 2, + "stage": 1, + "replica": 0, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 3, + "stage": 0, + "replica": 2, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 4, + "stage": 1, + "replica": 1, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 5, + "stage": 2, + "replica": 0, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 6, + "stage": 0, + "replica": 3, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 7, + "stage": 1, + "replica": 2, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 8, + "stage": 2, + "replica": 1, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 9, + "stage": 3, + "replica": 0, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 10, + "stage": 0, + "replica": 4, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 11, + "stage": 1, + "replica": 3, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 12, + "stage": 2, + "replica": 2, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 13, + "stage": 3, + "replica": 1, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 14, + "stage": 4, + "replica": 0, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 15, + "stage": 0, + "replica": 5, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 16, + "stage": 1, + "replica": 4, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 17, + "stage": 2, + "replica": 3, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 18, + "stage": 3, + "replica": 2, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 19, + "stage": 4, + "replica": 1, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 20, + "stage": 5, + "replica": 0, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 21, + "stage": 0, + "replica": 6, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 22, + "stage": 1, + "replica": 5, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 23, + "stage": 2, + "replica": 4, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 24, + "stage": 3, + "replica": 3, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 25, + "stage": 4, + "replica": 2, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 26, + "stage": 5, + "replica": 1, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 27, + "stage": 0, + "replica": 7, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 28, + "stage": 6, + "replica": 0, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 29, + "stage": 1, + "replica": 6, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 30, + "stage": 2, + "replica": 5, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 31, + "stage": 3, + "replica": 4, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 32, + "stage": 4, + "replica": 3, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 33, + "stage": 5, + "replica": 2, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 34, + "stage": 6, + "replica": 1, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 35, + "stage": 1, + "replica": 7, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 36, + "stage": 7, + "replica": 0, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 37, + "stage": 2, + "replica": 6, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 38, + "stage": 3, + "replica": 5, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 39, + "stage": 4, + "replica": 4, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 40, + "stage": 5, + "replica": 3, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 41, + "stage": 6, + "replica": 2, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 42, + "stage": 7, + "replica": 1, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 43, + "stage": 2, + "replica": 7, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 44, + "stage": 8, + "replica": 0, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 45, + "stage": 3, + "replica": 6, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 46, + "stage": 4, + "replica": 5, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 47, + "stage": 5, + "replica": 4, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 48, + "stage": 6, + "replica": 3, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 49, + "stage": 7, + "replica": 2, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 50, + "stage": 8, + "replica": 1, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 51, + "stage": 3, + "replica": 7, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 52, + "stage": 4, + "replica": 6, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 53, + "stage": 5, + "replica": 5, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 54, + "stage": 6, + "replica": 4, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 55, + "stage": 7, + "replica": 3, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 56, + "stage": 8, + "replica": 2, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 57, + "stage": 4, + "replica": 7, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 58, + "stage": 5, + "replica": 6, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 59, + "stage": 6, + "replica": 5, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 60, + "stage": 7, + "replica": 4, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 61, + "stage": 8, + "replica": 3, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 62, + "stage": 5, + "replica": 7, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 63, + "stage": 6, + "replica": 6, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 64, + "stage": 7, + "replica": 5, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 65, + "stage": 8, + "replica": 4, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 66, + "stage": 6, + "replica": 7, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 67, + "stage": 7, + "replica": 6, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 68, + "stage": 8, + "replica": 5, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 69, + "stage": 7, + "replica": 7, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 70, + "stage": 8, + "replica": 6, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 71, + "stage": 8, + "replica": 7, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + } + ], + "per_call_widths": [ + { + "stage": 0, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + } + ], + "provider_registry": { + "gauge44": { + "directory": "providers/gauge44", + "artifact_sha256": { + "CANONICAL-WORD.json.gz": "16bc0ebb04b4be6c0ade74badc6a0c0cdba4215eda86e4ff9f13abf8ecebd219", + "LOCAL-PROGRAMS.json.gz": "241fde27d4e43f5a9cb6b128f9f76c5131a53d09f0371676163f914d0b0fef3a", + "LOCAL-CHECKS.json": "2b8b1891a736598010232bfb26abc31973b265a53a2009a3fcfd9138b5ecadb4", + "INDEPENDENT-LOCAL-REPLAY.json": "13dd18297162569532983db1a2ab67926b064330cd7edd3587e7b546b2dedf17", + "CLIFFORD-RECIPES.json": "d0768f2164d5f64a2fdbec422f1cfde4e400818792f1904ca541958377243731", + "CLIFFORD-REVIEW.json": "59e1f8d7215c79081f70b953f85fcbaac2a32a75b8b12448f667b17271405f9e", + "RESIDUAL-ADAPTERS.json": "383f40aadd00a4ac700dfd0d4c22d6c6c0be9a9863116e4d69c7acd23bafae0c" + }, + "ports": [ + 11, + 19, + 35, + 67, + 131, + 259, + 13, + 21, + 37, + 69, + 133, + 261, + 41, + 73, + 137, + 265, + 49, + 81, + 145, + 273, + 161, + 289, + 193, + 321, + 385, + 14, + 22, + 38, + 70, + 134, + 262, + 26, + 74, + 138, + 266, + 50, + 146, + 274, + 98, + 162, + 290, + 194, + 322, + 386, + 28, + 44, + 140, + 268, + 84, + 148, + 276, + 100, + 164, + 292, + 196, + 324, + 388, + 56, + 88, + 152, + 280, + 104, + 168, + 296, + 200, + 328, + 392, + 112, + 176, + 304, + 208, + 336, + 400, + 224, + 352, + 416, + 448, + 508, + 506, + 502, + 494, + 478, + 446, + 382, + 254, + 505, + 501, + 493, + 477, + 445, + 381, + 253, + 499, + 491, + 475, + 443, + 379, + 251, + 487, + 471, + 439, + 375, + 247, + 463, + 431, + 367, + 239, + 415, + 351, + 223, + 319, + 191 + ], + "centers": [ + 92, + 57, + 81, + 224, + 11, + 240, + 9, + 256 + ], + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ], + "actual_paid_profile": { + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "orientation_program_sha256": { + "forward": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8", + "backward": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + "artifact_semantic_sha256": { + "CANONICAL-WORD.json.gz": "4ddb29fb9bc6f27e0c0fbfcf19a2a93a3496ad900d0f6d89059d0305c9576c0c", + "LOCAL-PROGRAMS.json.gz": "9f41d53659e9be84e20c661560c5687abbf5cd0660cdecbe01ad5eb29e6b8ee3", + "LOCAL-CHECKS.json": "18f09b79835aa352f04d27041d86d1338c5ad0094b888588c1c05af2dc399ffd", + "INDEPENDENT-LOCAL-REPLAY.json": "2d4680965c62db1fde1236c4857b19bf7bc97af58805e6b4109afbc452f0fdd8", + "CLIFFORD-RECIPES.json": "d0768f2164d5f64a2fdbec422f1cfde4e400818792f1904ca541958377243731", + "CLIFFORD-REVIEW.json": "4960fd1215509b5347ef7f0092868f79aea0f8e24fb84352da9a1033e4394007", + "RESIDUAL-ADAPTERS.json": "c682e9ff1b347f89771c6800f46ad98c2bb92b91c5c88452d53a9e7f0180c35f" + } + } + }, + "source_plan_sha256": "258a8b9baa245fa4096828671e2f1d1462b5af08d56890629622ef6125eaddda", + "assignment_sha256": "32ca30cd1c652ef6ad43657273a08a157e1df3545e759ab36306a0d0b516fb4a", + "source_owners_sha256": "935ff1a6823c6625daba3349b28d74acf9a3d70a5947ae155aa66c7821804add" +} diff --git a/research/gauge44-slots/data/PREPARATION.json b/research/gauge44-slots/data/PREPARATION.json new file mode 100644 index 0000000000..8c7796820f --- /dev/null +++ b/research/gauge44-slots/data/PREPARATION.json @@ -0,0 +1,45 @@ +{ + "status": "PASS_EXPLICIT_MAP_AND_FRESH_PROVIDER_NOMINATION", + "parent_plan_sha256": "258a8b9baa245fa4096828671e2f1d1462b5af08d56890629622ef6125eaddda", + "source_owners_sha256": "90ff7657a23dcfb67532b49c0800c5fc259b27c89005081e24bf184869e1bd57", + "global_profile": { + "1": 181093, + "2": 29164, + "3": 32429, + "4": 11520, + "5": 4032, + "7": 7, + "8": 582, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + }, + "idle_profile": { + "1": 85, + "2": 76, + "3": 173, + "7": 7, + "8": 6, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + }, + "roles": 35424, + "rank_mass": 520704, + "deficit": 2560, + "remaining": "Independent emitted-controller audit, fresh finite invoice, exact moments and outer assembly." +} diff --git a/research/gauge44-slots/data/SPEC.json b/research/gauge44-slots/data/SPEC.json new file mode 100644 index 0000000000..6ac06e4b75 --- /dev/null +++ b/research/gauge44-slots/data/SPEC.json @@ -0,0 +1,1327 @@ +{ + "schema": "witness-spec/1", + "name": "gauge44-all72", + "data": { + "plan_sha256": "1dec4ca3af6d45d82286005cae4c5e56e7253adefb117d797da55c55c891af08", + "owners_sha256": "32ca30cd1c652ef6ad43657273a08a157e1df3545e759ab36306a0d0b516fb4a" + }, + "dispatch": [ + [ + 0, + 0, + "gauge44" + ], + [ + 0, + 1, + "gauge44" + ], + [ + 0, + 2, + "gauge44" + ], + [ + 0, + 3, + "gauge44" + ], + [ + 0, + 4, + "gauge44" + ], + [ + 0, + 5, + "gauge44" + ], + [ + 0, + 6, + "gauge44" + ], + [ + 0, + 7, + "gauge44" + ], + [ + 1, + 0, + "gauge44" + ], + [ + 1, + 1, + "gauge44" + ], + [ + 1, + 2, + "gauge44" + ], + [ + 1, + 3, + "gauge44" + ], + [ + 1, + 4, + "gauge44" + ], + [ + 1, + 5, + "gauge44" + ], + [ + 1, + 6, + "gauge44" + ], + [ + 1, + 7, + "gauge44" + ], + [ + 2, + 0, + "gauge44" + ], + [ + 2, + 1, + "gauge44" + ], + [ + 2, + 2, + "gauge44" + ], + [ + 2, + 3, + "gauge44" + ], + [ + 2, + 4, + "gauge44" + ], + [ + 2, + 5, + "gauge44" + ], + [ + 2, + 6, + "gauge44" + ], + [ + 2, + 7, + "gauge44" + ], + [ + 3, + 0, + "gauge44" + ], + [ + 3, + 1, + "gauge44" + ], + [ + 3, + 2, + "gauge44" + ], + [ + 3, + 3, + "gauge44" + ], + [ + 3, + 4, + "gauge44" + ], + [ + 3, + 5, + "gauge44" + ], + [ + 3, + 6, + "gauge44" + ], + [ + 3, + 7, + "gauge44" + ], + [ + 4, + 0, + "gauge44" + ], + [ + 4, + 1, + "gauge44" + ], + [ + 4, + 2, + "gauge44" + ], + [ + 4, + 3, + "gauge44" + ], + [ + 4, + 4, + "gauge44" + ], + [ + 4, + 5, + "gauge44" + ], + [ + 4, + 6, + "gauge44" + ], + [ + 4, + 7, + "gauge44" + ], + [ + 5, + 0, + "gauge44" + ], + [ + 5, + 1, + "gauge44" + ], + [ + 5, + 2, + "gauge44" + ], + [ + 5, + 3, + "gauge44" + ], + [ + 5, + 4, + "gauge44" + ], + [ + 5, + 5, + "gauge44" + ], + [ + 5, + 6, + "gauge44" + ], + [ + 5, + 7, + "gauge44" + ], + [ + 6, + 0, + "gauge44" + ], + [ + 6, + 1, + "gauge44" + ], + [ + 6, + 2, + "gauge44" + ], + [ + 6, + 3, + "gauge44" + ], + [ + 6, + 4, + "gauge44" + ], + [ + 6, + 5, + "gauge44" + ], + [ + 6, + 6, + "gauge44" + ], + [ + 6, + 7, + "gauge44" + ], + [ + 7, + 0, + "gauge44" + ], + [ + 7, + 1, + "gauge44" + ], + [ + 7, + 2, + "gauge44" + ], + [ + 7, + 3, + "gauge44" + ], + [ + 7, + 4, + "gauge44" + ], + [ + 7, + 5, + "gauge44" + ], + [ + 7, + 6, + "gauge44" + ], + [ + 7, + 7, + "gauge44" + ], + [ + 8, + 0, + "gauge44" + ], + [ + 8, + 1, + "gauge44" + ], + [ + 8, + 2, + "gauge44" + ], + [ + 8, + 3, + "gauge44" + ], + [ + 8, + 4, + "gauge44" + ], + [ + 8, + 5, + "gauge44" + ], + [ + 8, + 6, + "gauge44" + ], + [ + 8, + 7, + "gauge44" + ] + ], + "call_order": [ + [ + 0, + 0 + ], + [ + 0, + 1 + ], + [ + 1, + 0 + ], + [ + 0, + 2 + ], + [ + 1, + 1 + ], + [ + 2, + 0 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 2, + 1 + ], + [ + 3, + 0 + ], + [ + 0, + 4 + ], + [ + 1, + 3 + ], + [ + 2, + 2 + ], + [ + 3, + 1 + ], + [ + 4, + 0 + ], + [ + 0, + 5 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 3, + 2 + ], + [ + 4, + 1 + ], + [ + 5, + 0 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 2, + 4 + ], + [ + 3, + 3 + ], + [ + 4, + 2 + ], + [ + 5, + 1 + ], + [ + 0, + 7 + ], + [ + 6, + 0 + ], + [ + 1, + 6 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 4, + 3 + ], + [ + 5, + 2 + ], + [ + 6, + 1 + ], + [ + 1, + 7 + ], + [ + 7, + 0 + ], + [ + 2, + 6 + ], + [ + 3, + 5 + ], + [ + 4, + 4 + ], + [ + 5, + 3 + ], + [ + 6, + 2 + ], + [ + 7, + 1 + ], + [ + 2, + 7 + ], + [ + 8, + 0 + ], + [ + 3, + 6 + ], + [ + 4, + 5 + ], + [ + 5, + 4 + ], + [ + 6, + 3 + ], + [ + 7, + 2 + ], + [ + 8, + 1 + ], + [ + 3, + 7 + ], + [ + 4, + 6 + ], + [ + 5, + 5 + ], + [ + 6, + 4 + ], + [ + 7, + 3 + ], + [ + 8, + 2 + ], + [ + 4, + 7 + ], + [ + 5, + 6 + ], + [ + 6, + 5 + ], + [ + 7, + 4 + ], + [ + 8, + 3 + ], + [ + 5, + 7 + ], + [ + 6, + 6 + ], + [ + 7, + 5 + ], + [ + 8, + 4 + ], + [ + 6, + 7 + ], + [ + 7, + 6 + ], + [ + 8, + 5 + ], + [ + 7, + 7 + ], + [ + 8, + 6 + ], + [ + 8, + 7 + ] + ], + "width_spot_helpers": [ + 258, + 270, + 282, + 294 + ], + "providers": { + "gauge44": { + "inventory": { + "4": 56, + "5": 32, + "7": 30, + "8": 122, + "9": 240 + }, + "native_negative_controls": 25, + "phase_edges": 2896, + "expected_profile": { + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "artifact_semantic_sha256": { + "CANONICAL-WORD.json.gz": "4ddb29fb9bc6f27e0c0fbfcf19a2a93a3496ad900d0f6d89059d0305c9576c0c", + "LOCAL-PROGRAMS.json.gz": "9f41d53659e9be84e20c661560c5687abbf5cd0660cdecbe01ad5eb29e6b8ee3", + "LOCAL-CHECKS.json": "18f09b79835aa352f04d27041d86d1338c5ad0094b888588c1c05af2dc399ffd", + "INDEPENDENT-LOCAL-REPLAY.json": "2d4680965c62db1fde1236c4857b19bf7bc97af58805e6b4109afbc452f0fdd8", + "CLIFFORD-RECIPES.json": "d0768f2164d5f64a2fdbec422f1cfde4e400818792f1904ca541958377243731", + "CLIFFORD-REVIEW.json": "4960fd1215509b5347ef7f0092868f79aea0f8e24fb84352da9a1033e4394007", + "RESIDUAL-ADAPTERS.json": "c682e9ff1b347f89771c6800f46ad98c2bb92b91c5c88452d53a9e7f0180c35f" + }, + "entering": 192, + "entrance": 384, + "width_digest": "ca0b972f2ee81a50449ce6489ddf9a94be914f84351136c2a9e3f81b37a0e387", + "program_hashes": { + "backward": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23", + "forward": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + "artifacts": { + "LOCAL-CHECKS.json": "2b8b1891a736598010232bfb26abc31973b265a53a2009a3fcfd9138b5ecadb4", + "CLIFFORD-RECIPES.json": "d0768f2164d5f64a2fdbec422f1cfde4e400818792f1904ca541958377243731", + "RESIDUAL-ADAPTERS.json": "383f40aadd00a4ac700dfd0d4c22d6c6c0be9a9863116e4d69c7acd23bafae0c" + }, + "complete_contract": { + "local": { + "backward": { + "events": 24767, + "macros": 19693, + "real_component_primitives": 198814, + "prefix_l1": "14824960514781440791821/64", + "prefix_bits": 68, + "coefficient_work_primitive_count": 98365, + "all_exact_columns": 704, + "dirty_helper_columns": 480, + "all_dirty_helper_columns_restored": true, + "private_centres_and_coefficient_work_cleared": true, + "pre_wrappers": 240, + "post_wrappers": 240, + "endpoint_evidence": "Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json" + }, + "forward": { + "events": 24767, + "macros": 19693, + "real_component_primitives": 198766, + "prefix_l1": "2765345294379392599/1024", + "prefix_bits": 52, + "coefficient_work_primitive_count": 98333, + "all_exact_columns": 704, + "dirty_helper_columns": 480, + "all_dirty_helper_columns_restored": true, + "private_centres_and_coefficient_work_cleared": true, + "pre_wrappers": 240, + "post_wrappers": 240, + "endpoint_evidence": "Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json" + } + }, + "helpers": 480, + "centres": 8, + "v": 112, + "h": 9, + "n": 704, + "entering_helpers": 192, + "entrance_rank": 384, + "terminal_codimension": 206, + "hyperplane_ended_helpers": 78, + "cold_hyperplane_ended_helpers": 48, + "width_inventory": { + "4": 56, + "5": 32, + "7": 30, + "8": 122, + "9": 240 + }, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ], + "local_adapters": 387056, + "local_primitive_bound": 10038040553630, + "compiler": 25934336, + "children": 3494, + "paid_profile": { + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "program_hashes": { + "backward": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23", + "forward": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + "semantic_artifact_sha256": { + "CANONICAL-WORD.json.gz": "4ddb29fb9bc6f27e0c0fbfcf19a2a93a3496ad900d0f6d89059d0305c9576c0c", + "LOCAL-PROGRAMS.json.gz": "9f41d53659e9be84e20c661560c5687abbf5cd0660cdecbe01ad5eb29e6b8ee3", + "LOCAL-CHECKS.json": "18f09b79835aa352f04d27041d86d1338c5ad0094b888588c1c05af2dc399ffd", + "INDEPENDENT-LOCAL-REPLAY.json": "2d4680965c62db1fde1236c4857b19bf7bc97af58805e6b4109afbc452f0fdd8", + "CLIFFORD-RECIPES.json": "d0768f2164d5f64a2fdbec422f1cfde4e400818792f1904ca541958377243731", + "CLIFFORD-REVIEW.json": "4960fd1215509b5347ef7f0092868f79aea0f8e24fb84352da9a1033e4394007", + "RESIDUAL-ADAPTERS.json": "c682e9ff1b347f89771c6800f46ad98c2bb92b91c5c88452d53a9e7f0180c35f" + } + }, + "semantic_phase_sha256": "4960fd1215509b5347ef7f0092868f79aea0f8e24fb84352da9a1033e4394007", + "expected_local": { + "forward": { + "events": 24767, + "macros": 19693, + "real_component_primitives": 198766, + "prefix_l1": "2765345294379392599/1024", + "coefficient_work_primitive_count": 98333 + }, + "backward": { + "events": 24767, + "macros": 19693, + "real_component_primitives": 198814, + "prefix_l1": "14824960514781440791821/64", + "coefficient_work_primitive_count": 98365 + } + }, + "wrappers": 240 + } + }, + "expected": { + "gain_baseline_kappa": "0.001636241501576388", + "hosted_residuals": 34560, + "rank_mass": 520704, + "actual_73column_sigmas": 8899, + "cross_replica_helper_roles": 27858, + "idle_remainders": 3783, + "idle_remainder_profile": { + "1": 1099, + "2": 9, + "3": 179, + "7": 54, + "16": 23, + "48": 2419 + }, + "global_profile": { + "1": 174763, + "2": 30105, + "3": 31283, + "4": 10224, + "5": 5904, + "7": 54, + "8": 576, + "16": 23, + "48": 2419 + }, + "live": 7168, + "physical": 7658, + "conservative_kappa_decimal": "0.001671665280368335", + "kappa_decimal": "0.00167166528321877", + "complex_lower": "837232213634911250061/500000000000000000000000", + "conservative_complex_lower": "104654026525614565773/62500000000000000000000", + "kappa": "167166528321877/100000000000000000", + "assembly_controls_rejected": 69, + "provider_counts": { + "gauge44": 72 + }, + "mutations_rejected": 15 + }, + "pivot_swap": { + "recipe": "construction/leaver/PIVOT-SWAP-k8.json", + "sha256": "3ef7acf0cf67442a532f25b53d5fbeda76d3a84524118df8e003ca69b5cac0bb" + } +} diff --git a/research/gauge44-slots/data/UPSTREAM-PINS.json b/research/gauge44-slots/data/UPSTREAM-PINS.json new file mode 100644 index 0000000000..68486b84e3 --- /dev/null +++ b/research/gauge44-slots/data/UPSTREAM-PINS.json @@ -0,0 +1,23 @@ +{ + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/CANONICAL-WORD.json.gz": "66d3c3c70983224650643a0a05a21ac6c6959f84d0f4528650601016f5a76844", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/CLIFFORD-RECIPES.json": "534ace870cabe515987e00f50f71550030965006ea18978e0924590ac6944345", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/CLIFFORD-REVIEW.json": "ee9b86428278392d2c933f76d60e51f5af90d4ab67e4d3937ed2fa416e7755ab", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/INDEPENDENT-LOCAL-REPLAY.json": "ad3f2b941127688f98ce6872d00f110644f1c2b156f8adad1b6700e838ed0e26", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/INDEPENDENT-REPLAY.json": "ad3f2b941127688f98ce6872d00f110644f1c2b156f8adad1b6700e838ed0e26", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/INTEGRATION.json": "5c14538134dfffbc58fa4b4d2f26b270ec5f56d17d4bf23752c82964f45171db", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/LOCAL-CHECKS.json": "79177449e404403964ce1b2f4a9a8bd49e1916daba3123d7fd7f5cfd1f1ac0ea", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/LOCAL-PROGRAMS.json.gz": "99a18eede965accf65943e490b8d2b2ffb9f1c9bc6babdb825413a80cbea2cde", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/RESIDUAL-ADAPTERS.json": "baafef737acc16dafbe1150896feb16744f3d669fa123bb2bff19ecc4e71b275", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/SCALAR-FRAME-AUDIT.json": "73b3601a6239502475a272ea0c46945fd42034486aaf43e66a212eb4f012ca44", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/WRAPPER-CHECKS.json": "9a09146e686c4f535b04fdef3753fe01dad8f5e8881a69408a91394acb5b48f5", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/work/complex-nine-native/DATA-PHASES.json": "c5916ff312678f12aba403847643fbbc29f643acec60bdf836fa56cd3e8251fa", + "research/complex-k492-owner-repair/vendor/multicold/code/run_portable.py": "322d29d43dbee8130cde15d4bf05396698b5e3dfe3735813899db91cc0ba7955", + "research/complex-k492-owner-repair/vendor/multicold/engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "research/complex-k492-owner-repair/vendor/multicold/engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "research/complex-k492-owner-repair/vendor/multicold/engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "research/complex-k492-owner-repair/vendor/multicold/inputs/PR543-EXPECTED.json": "06eccee9f6b77e140833df83407e7996dc948c17d49b0779ab171fbe463fd28d", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/evidence/audit/PREFIX-AND-INVOICE.json": "ce1bfa49be88ae67a404f606a11db2232b7e1f2610d4418058e39749d86d8478", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor535/inputs/ROUND20-PARENT-TEMPLATE.json.gz": "025448abdf2012d327e50a009084e1501690d05e650300d2982836aa0350ae00", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/controller-input/split-centres/CANONICAL-WORD.json.gz": "de2be0f4b6d24ace368fd5b834b7a00f9625d0a1824c4ff969f2db5f115db667", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/code/prepare_supplier_base.py": "f5eae94aca965d0008bc07cff8245ccb7509042ccad457d3bcb7d51c1e9409f0" +} diff --git a/research/gauge44-slots/evidence/ADMISSION-CONTROLS.json b/research/gauge44-slots/evidence/ADMISSION-CONTROLS.json new file mode 100644 index 0000000000..2e15a10065 --- /dev/null +++ b/research/gauge44-slots/evidence/ADMISSION-CONTROLS.json @@ -0,0 +1,102 @@ +{ + "status": "PASS_EXACT_MIXED_048_ALLCOLD_NATIVE_ASSEMBLY_ADMISSION_NEGATIVE_CONTROLS", + "valid_receipt_kappa": "1649483702558979/1000000000000000000", + "input_sha256": { + "owner_audit": "a32ecc0d5387d65648e1ff284209122860ee37aaba43ce2dd12024c4bc394313", + "fresh_invoice": "14b0f41c88209e800236ce4ebbf91d83537e22e18807153d90013f7eee57a582", + "inputs/PR543-EXPECTED.json": "06eccee9f6b77e140833df83407e7996dc948c17d49b0779ab171fbe463fd28d", + "engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c" + }, + "assembler_sha256": "7ac28118d69416e4fb67b61216285fb0823310b7635ce1b9025aa3f10119ef6a", + "rejected_controls": [ + "empty_certification_maps", + "failed_invoice_status", + "nonboolean_precision_check", + "wrong_owner_role_count", + "understated_physical_stock", + "changed_profile_same_rank_mass", + "insufficient_finite_C0", + "missing_finite_check", + "wrong_reflected_orientation_selfconsistent_totals", + "missing_selected_call", + "wrong_selected_primitive_sum", + "wrong_selected_coefficient_work_sum", + "unpaid_wrapper_factors", + "wrong_global_compiler", + "wrong_global_adapter_maximum", + "understated_exact_prefix_and_global_sum", + "wrong_global_prefix_sum", + "wrong_row_prefix_reserve", + "wrong_parent_geometry_charge", + "wrong_rebased_geometry_charge", + "wrong_complete_pervertex_envelope", + "wrong_prior_added_complete_invoice", + "wrong_finite_router_bits", + "wrong_finite_literal_bits", + "wrong_finite_physical_stock_bits", + "wrong_finite_row_coefficient", + "reordered_complete_calls", + "understated_explicit_idle_remainders", + "understated_actual_chart_types", + "wrong_cross_replica_role_count", + "old_no_cold_wrapper_counts_selfconsistent", + "gauge44:missing_provider", + "gauge44:missing_backward_orientation", + "gauge44:unpaid_scalar_primitive", + "gauge44:wrong_local_artifact_binding", + "gauge44:false_dirty_restoration", + "gauge44:wrong_declared_provider_count", + "gauge44:wrong_local_compiler", + "gauge44:wrong_local_adapter_charge", + "gauge44:wrong_local_primitive_bound", + "gauge44:forged_provider_and_call_program_hash", + "gauge44:provider_at_wrong_call", + "gauge44:synchronized_forged_source_recipe_hash", + "gauge44:synchronized_forged_phase_review_semantics", + "gauge44:width_order_swap_4_5", + "gauge44:width_inventory_shift_4_5", + "gauge44:width_order_swap_4_7", + "gauge44:width_inventory_shift_4_7", + "gauge44:width_order_swap_4_8", + "gauge44:width_inventory_shift_4_8", + "gauge44:width_order_swap_4_9", + "gauge44:width_inventory_shift_4_9", + "gauge44:width_order_swap_5_7", + "gauge44:width_inventory_shift_5_7", + "gauge44:width_order_swap_5_8", + "gauge44:width_inventory_shift_5_8", + "gauge44:width_order_swap_5_9", + "gauge44:width_inventory_shift_5_9", + "gauge44:width_order_swap_7_8", + "gauge44:width_inventory_shift_7_8", + "gauge44:width_order_swap_7_9", + "gauge44:width_inventory_shift_7_9", + "gauge44:width_order_swap_8_9", + "gauge44:width_inventory_shift_8_9", + "gauge44:cold_helper_width_swap_264", + "gauge44:cold_helper_width_swap_276", + "gauge44:cold_helper_width_swap_288", + "gauge44:cold_helper_width_swap_300", + "wrong_owner_receipt_hash" + ], + "discovery_accepted_controls": [], + "exact_outer_controls": [ + "next_grid", + "zero_eta", + "zero_beta", + "unit_beta" + ], + "conservative_outer_controls": [ + "next_grid", + "zero_eta", + "zero_beta", + "unit_beta" + ], + "recurrence_model_controls": [ + "native_complex_endpoint_rejected_with_old_surcharge", + "omitting_bit_surcharge_would_fail_next_endpoint_rejection" + ], + "scope": "Complete receipt schema; ordered widths and both reflected providers; exact program, work and paid-profile binding; independently recounted compiler, conservative envelope and finite inequalities. Does not replace fresh physical replay." +} diff --git a/research/gauge44-slots/evidence/ASSEMBLY.json b/research/gauge44-slots/evidence/ASSEMBLY.json new file mode 100644 index 0000000000..6feaaf28f5 --- /dev/null +++ b/research/gauge44-slots/evidence/ASSEMBLY.json @@ -0,0 +1,336 @@ +{ + "status": "PASS_GAUGE44_NATIVE_EXACT_GLOBAL_ASSEMBLY", + "kappa": "1649483702558979/1000000000000000000", + "kappa_decimal": "0.001649483702558979", + "complex_lower": "1652208994368411824947/1000000000000000000000000", + "complex_decimal": "0.001652208994368411824947", + "bit_lower": "413456747036699736067/250000000000000000000000", + "bit_decimal": "0.001653826988146798944268", + "binding": "complex", + "gain_over_pr635_percent": "0.8093060205252829126484020359439672024956960385078942889840023844750830", + "complex_profile": { + "1": 181093, + "2": 29164, + "3": 32429, + "4": 11520, + "5": 4032, + "7": 7, + "8": 582, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + }, + "provider_counts": { + "gauge44": 72 + }, + "surcharge_model": { + "complex": false, + "bit": true + }, + "conservative_complex_lower": "826104495740783435531/500000000000000000000000", + "conservative_complex_decimal": "0.001652208991481566871062", + "conservative_kappa": "32989673993633/20000000000000000", + "conservative_kappa_decimal": "0.00164948369968165", + "conservative_moments": [ + { + "side": "conservative_complex", + "surcharge": true, + "endpoint": "826104495740783435531/500000000000000000000000", + "accept": true, + "mercator": [ + "-21470727653278306311183666306239229019733127/13479973333575319897333507543509815336818572211270286240551805124608", + "-10735363826639153155591833153119614509866563/6739986666787659948666753771754907668409286105635143120275902562304" + ], + "base_two": [ + "-497746012127833654257/312500000000000000000000000000000000000000000", + "-15927862388090676936081/10000000000000000000000000000000000000000000000" + ] + }, + { + "side": "conservative_complex", + "surcharge": true, + "endpoint": "1652208991481566871063/1000000000000000000000000", + "accept": false, + "mercator": [ + "18565857384700607217299861034814026061253869/13479973333575319897333507543509815336818572211270286240551805124608", + "9282928692350303608649930517407013030626935/6739986666787659948666753771754907668409286105635143120275902562304" + ], + "base_two": [ + "3443229403069298452661/2500000000000000000000000000000000000000000000", + "6886463806138596905393/5000000000000000000000000000000000000000000000" + ] + } + ], + "conservative_bootstrap": [ + { + "exponent": "412385685180656454166549264744655866734211385357236332091088842586409092836277952888766748039/250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "666562689735263598950072203096262874070849142763667908911157413590907163722047111233251961/250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "5064079519162" + }, + { + "exponent": "206525573284761175512531267070234734086162997564863775372380915312260537579589712487639916151798780772051965162106786567177267184954922826291/125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "550650434683370218401403641330717978119685136224627619084687739462420410287512360083848201219227948034837893213432822732815045077173709/125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "1855113791006194394" + }, + { + "exponent": "103263061512703129767826074285021991628452086339263045204373010454992865610677336738873844192820011712987227316937414267052501172258472295234559238219891652401488082322583795324180689654479/62500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "454894799673548759951916040773618472285736954795626989545007134389322663261126155807179988287012772683062585732947498827741527704765440761780108347598511917677416204675819310345521/62500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "679580003544484094184219" + }, + { + "exponent": "51631530983423174081587995422763705511463803560275446891594962002253805557680841136478473308373535599630472737022595278769657751046420516932624996624821336420775380353032156988877311591948170858471939709729324917119896056841137038106651/31250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "375790639099421695705310689571475752224553108405037997746194442319158863521526691626464400369527262977404721230342248953579483067375003375178663579224619646967843011122688408051829141528060290270675082880103943158862961893349/31250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "248949139107542177224284717390" + }, + { + "exponent": "25815765491899171918007291224739112961920330868753566637213660249294181959373199689620973587025160691744778232655677905734546021049010279802309251671202559782629995396349706306018533755676891522445602691753137818884540822614505790975637207188084426480115050716386268926740408639183319/15625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "310442336417334495395138597308787496433362786339750705818040626800310379026412974839308255221767344322094265453978950989720197690748328797440217370004603650293693981466244323108477554397308246862181115459177385494209024362792811915573519884949283613731073259591360816681/15625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "91197023954707297182834066510188309" + }, + { + "exponent": "12907882745949740923714044496984490980274913441911668026309349328701170257318232044487278001962200060194315656940445191119148905788010009704145659576637708822386921067210646238981446862191953905605296632993352808355973492462268456184932241751785844259109396882935383667850308942850925398049837650776722500045535479944043369072892611/7812500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "256457809782632763069983906386213331973690650671298829742681767955512721998037799939805684343059554808880851094211989990295854340423362291177613078932789353761018553137808046094394703367006647191644026507537731543815067758248214155740890603117064616332149691057149074601950162349223277499954464520055956630927107389/7812500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "33408017428823827582408170997246977713592" + }, + { + "exponent": "6453941372974870589874066190179359429223492150943942660253925369657676501670157676520076923585728651827056389733462702476438321555395171695829522825243816397176490500987320047869073790658506195324550255473939677250207018200219145476567868694651116496373252177209611861852333112633908219202390034583139015516104491880456514987243190785983454804003067787432731319536372259595238559/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "211860949629267595905917763118557339746074630342323498329842323479923076414271348172943610266537297523561678444604828304170477174756183602823509499012679952130926209341493804675449744526060322749792981799780854523432131305348883503626747822790388138147666887366091780797609965416860984483895508119543485012756809214016545195996932212567268680463627740404761441/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "12238290024451914798381844566546350371351403966" + } + ], + "conservative_outer": { + "bit_positive": "6453941372974870589874066190179359429223492150943942660253925369657676501670157676520076923585728651827056389733462702476438321555395171695829522825243816397176490500987320047869073790658506195324550255473939677250207018200219145476567868694651116496373252177209611861852333112633908219202390034583139015516104491880456514987243190785983454804003067787432731319536372259595238559/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "complex_above_bit": "211871309820640570776507849056057339746074630342323498329842323479923076414271348172943610266537297523561678444604828304170477174756183602823509499012679952130926209341493804675449744526060322749792981799780854523432131305348883503626747822790388138147666887366091780797609965416860984483895508119543485012756809214016545195996932212567268680463627740404761441/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "complex_below_one_over32": "14798895504259216564469/500000000000000000000000", + "beta_positive": "1/1000000000000000000000000", + "beta_below_one": "999999999999999999999999/1000000000000000000000000", + "leaf_saving_above_bit": "211864855879267595905917763118557339746074630342323498329842323479923076414271348172943610266537297523561678444604828304170477174756183602823509499012679952130926209341493804675449744526060322749792981799780854523432131305348883503626747822790388138147666887366091780797609965416860984483895508119543485012756809214016545195996932212567268680463627740404761441/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_positive": "3226970686487435294937026641148306739741156201405781150767533461336687306892418584334668804116362655755851674789807765509567333721307852385212284974300352803416549420970834780118139718838752110342227258663179180118908184549854098798606684140307358029041149520736111279809670183064776899989333164958456873849833043550193674354606079288499846945486546650525579676313382126729831846768680463627740404761441/1953125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_internal": "6453941372974870589874066190179359429223492150943942660253925369657676501670157676520076923585728651827056389733462702476438321555395171695829522825243816397176490500987320047869073790658506195324550255473939677250207018200219145476567868694651116496373252177209611861852333112633908219202390034583139015516104491880456514987243190785983454804003067787432731319536372259595238559/1953125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_leaf": "105938881881006772823548755625468849232466538663312693107581415665331195883637344244148325210192234490432666278692147614787715025699647196583450579029165219881860281161247889657772741336820819881091815450145901201393315859692641970958850479263888720190329816935223100010666835041543126150166956449806325645393920711500153054513453349474420323686617873270168153231319536372259595238559/1953125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "c_positive": "3226970686487435294937514922398306739741156201405781150767533461336687306892418584334668804116362655755851674789807765509567333721307852385212284974300352803416549420970834780118139718838752110342227258663179180118908184549854098798606684140307358029041149520736111279809670183064776899989333164958456873849833043550193674354606079288499846945486546650525579676313382126729831846768680463627740404761441/1953125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "c_below_one": "1949898029313512564705062485077601693260258843798594218849232466538663312693107581415665331195883637344244148325210192234490432666278692147614787715025699647196583450579029165219881860281161247889657772741336820819881091815450145901201393315859692641970958850479263888720190329816935223100010666835041543126150166956449806325645393920711500153054513453349474420323686617873270168153231319536372259595238559/1953125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_reservations": "1/4000000000000000000000000", + "lambda_above_tau": "6453941372974870589874066190179359429223492150943942660253925369657676501670157676520076923585728651827056389733462702476438321555395171695829522825243816397176490500987320047869073790658506195324550255473939677250207018200219145476567868694651116496373252177209611861852333112633908219202390034583139015516104491880456514987243190785983454804003067787432731319536372259595238559/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_above_sigma": "211877763762013545647097723122247519105503853834474442272502577405292734090773018330620130343460883252213505500994561766872953613077738997995205328535505195947323385831994791995497613599850981255988306350036328463109381512367083722772224390659082789264163260618268990409471817749973618392114710509578068151772325318508425652511919455758054663918431743472548873731319536372259595238559/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_above_internal": "6453941372974870589874066190179359429223492150943942660253925369657676501670157676520076923585728651827056389733462702476438321555395171695829522825243816397176490500987320047869073790658506195324550255473939677250207018200219145476567868694651116496373252177209611861852333112633908219202390034583139015516104491880456514987243190785983454804003067787432731319536372259595238559/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_prime_above_lambda": "6453941372974870589874066190179359429223492150943942660253925369657676501670157676520076923585728651827056389733462702476438321555395171695829522825243816397176490500987320047869073790658506195324550255473939677250207018200219145476567868694651116496373252177209611861852333112633908219202390034583139015516104491880456514987243190785983454804003067787432731319536372259595238559/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_leaf": "105938881881006772823548755625468849232466538663312693107581415665331195883637344244148325210192234490432666278692147614787715025699647196583450579029165219881860281161247889657772741336820819881091815450145901201393315859692641970958850479263888720190329816935223100010666835041543126150166956449806325645393920711500153054513453349474420323686617873270168153231319536372259595238559/1953125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_reservations": "1/4000000000000000000000000", + "lambda_prime_below_one": "3226970686487435294937026641148306739741156201405781150767533461336687306892418584334668804116362655755851674789807765509567333721307852385212284974300352803416549420970834780118139718838752110342227258663179180118908184549854098798606684140307358029041149520736111279809670183064776899989333164958456873849833043550193674354606079288499846945486546650525579676313382126729831846768680463627740404761441/1953125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "epsilon_positive": "1953124999999999999999998046875000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000/1956351970686487435294937026641148306739741156201405781150767533461336687306892418584334668804116362655755851674789807765509567333721307852385212284974300352803416549420970834780118139718838752110342227258663179180118908184549854098798606684140307358029041149520736111279809670183064776899989333164958456873849833043550193674354606079288499846945486546650525579676313382126729831846768680463627740404761441", + "epsilon_below_one": "3226970686487435294938979766148306739741156201405781150767533461336687306892418584334668804116362655755851674789807765509567333721307852385212284974300352803416549420970834780118139718838752110342227258663179180118908184549854098798606684140307358029041149520736111279809670183064776899989333164958456873849833043550193674354606079288499846945486546650525579676313382126729831846768680463627740404761441/1956351970686487435294937026641148306739741156201405781150767533461336687306892418584334668804116362655755851674789807765509567333721307852385212284974300352803416549420970834780118139718838752110342227258663179180118908184549854098798606684140307358029041149520736111279809670183064776899989333164958456873849833043550193674354606079288499846945486546650525579676313382126729831846768680463627740404761441", + "guard_width": "3226970686487435294938979766148306739741156201405781150767533461336687306892418584334668804116362655755851674789807765509567333721307852385212284974300352803416549420970834780118139718838752110342227258663179180118908184549854098798606684140307358029041149520736111279809670183064776899989333164958456873849833043550193674354606079288499846945486546650525579676313382126729831846768680463627740404761441/1956351970686487435294937026641148306739741156201405781150767533461336687306892418584334668804116362655755851674789807765509567333721307852385212284974300352803416549420970834780118139718838752110342227258663179180118908184549854098798606684140307358029041149520736111279809670183064776899989333164958456873849833043550193674354606079288499846945486546650525579676313382126729831846768680463627740404761441", + "K_geometry": "1468070720686487435294937514922398306739741156201405781150767533461336687306892418584334668804116362655755851674789807765509567333721307852385212284974300352803416549420970834780118139718838752110342227258663179180118908184549854098798606684140307358029041149520736111279809670183064776899989333164958456873849833043550193674354606079288499846945486546650525579676313382126729831846768680463627740404761441/1956351970686487435294937026641148306739741156201405781150767533461336687306892418584334668804116362655755851674789807765509567333721307852385212284974300352803416549420970834780118139718838752110342227258663179180118908184549854098798606684140307358029041149520736111279809670183064776899989333164958456873849833043550193674354606079288499846945486546650525579676313382126729831846768680463627740404761441000000000000000000000000", + "K_dominates_log": "3226970686487435294937511695427620252305861263890858752460793720180485901111267816801207467429055763337267340121003649146911577869633062577446775406966631495564164208685860479765336302289331139507447140523460341366797842322595435619426565232122808174942350914051970972451641141915256163878053355288273809072933054217028715897732229455456296751812192044446291176466436640183181321189004150245613674929594231319536372259595238559/1956351970686487435294937026641148306739741156201405781150767533461336687306892418584334668804116362655755851674789807765509567333721307852385212284974300352803416549420970834780118139718838752110342227258663179180118908184549854098798606684140307358029041149520736111279809670183064776899989333164958456873849833043550193674354606079288499846945486546650525579676313382126729831846768680463627740404761441000000000000000000000000", + "record_suffix": "3226970686487435294938979766148306739741156201405781150767533461336687306892418584334668804116362655755851674789807765509567333721307852385212284974300352803416549420970834780118139718838752110342227258663179180118908184549854098798606684140307358029041149520736111279809670183064776899989333164958456873849833043550193674354606079288499846945486546650525579676313382126729831846768680463627740404761441/1956351970686487435294937026641148306739741156201405781150767533461336687306892418584334668804116362655755851674789807765509567333721307852385212284974300352803416549420970834780118139718838752110342227258663179180118908184549854098798606684140307358029041149520736111279809670183064776899989333164958456873849833043550193674354606079288499846945486546650525579676313382126729831846768680463627740404761441", + "phase_local": "25815765491899482359509881777215767430493954674219608057833527949537297049358197907143889096243594353628229063649658007713882913918788029273932770227069101119480010155481703940592314334160595911903037951165714602199155134171574127209673354214274314378230397559204749931119332423368694463803385509997471926021764359068384436379974784474955225370218018598125348910660111527292004248569767395639796508259681231319536372259595238559/15650815765491899482359496213129186453917929249611246249206140267690693498455139348674677350432930901246046813398318462124076538669770462819081698279794402822427332395367766678240945117750710016882737818069305433440951265476398832790388853473122458864232329196165888890238477361464518215199914665319667654990798664348401549394836848634307998775563892373204204637410507057013838654774149443709021923238091528000000000000000000000000", + "phase_boundary": "5163153098379896471900411273866604296150554985222608692921313796982498285246718967402008749898873356790778344994888308452651978102417774008574146391546843177614093861268361347836220133592582405712783495721367849438142753052507894898590575716307222992367040626493637740337443251754122303871653254263347933382832880347144920510495877028556204919104120034761638982254465916221080429250212428422257917786458831319536372259595238559/3130163153098379896471899242625837290783585849922249249841228053538138699691027869734935470086586180249209362679663692424815307733954092563816339655958880564485466479073553335648189023550142003376547563613861086688190253095279766558077770694624491772846465839233177778047695472292903643039982933063933530998159732869680309878967369726861599755112778474640840927482101411402767730954829888741804384647618305600000000000000000000000", + "gamma_sublinear": "1/2000000000000000000000000", + "cell_above_band": "3906249999999999999999994137398029313512564705062973358851693260258843798594218849232466538663312693107581415665331195883637344244148325210192234490432666278692147614787715025699647196583450579029165219881860281161247889657772741336820819881091815450145901201393315859692641970958850479263888720190329816935223100010666835041543126150166956449806325645393920711500153054513453349474420323686617873270168153231319536372259595238559/7825407882745949741179748106564593226958964624805623124603070133845346749227569674337338675216465450623023406699159231062038269334885231409540849139897201411213666197683883339120472558875355008441368909034652716720475632738199416395194426736561229432116164598082944445119238680732259107599957332659833827495399332174200774697418424317153999387781946186602102318705253528506919327387074721854510961619045764000000000000000000000000", + "prime_interval_packing": "3226970686487435294938979766148306739741156201405781150767533461336687306892418584334668804116362655755851674789807765509567333721307852385212284974300352803416549420970834780118139718838752110342227258663179180118908184549854098798606684140307358029041149520736111279809670183064776899989333164958456873849833043550193674354606079288499846945486546650525579676313382126729831846768680463627740404761441/1956351970686487435294937026641148306739741156201405781150767533461336687306892418584334668804116362655755851674789807765509567333721307852385212284974300352803416549420970834780118139718838752110342227258663179180118908184549854098798606684140307358029041149520736111279809670183064776899989333164958456873849833043550193674354606079288499846945486546650525579676313382126729831846768680463627740404761441", + "alpha_positive": "6453941372974870589876003180325926992047017465784921153228327181517173208003686401135876271545418419093119014910811414656478911590940914962659060381266984298980713629656695259883476021128083249849674399186639521485706026872449534418033249372430166203983500434788082252261311324980033063867386520246730682922766097767222390252338308743956143697298738694971870852779818766913013167957684613873354079691035231319536372259595238559/3912703941372974870589874053282296613479482312402811562301535066922673374613784837168669337608232725311511703349579615531019134667442615704770424569948600705606833098841941669560236279437677504220684454517326358360237816369099708197597213368280614716058082299041472222559619340366129553799978666329916913747699666087100387348709212158576999693890973093301051159352626764253459663693537360927255480809522882000000000000000000000000", + "alpha_below_one": "3906249999999999999999998050101970686487435294937026641148306739741156201405781150767533461336687306892418584334668804116362655755851674789807765509567333721307852385212284974300352803416549420970834780118139718838752110342227258663179180118908184549854098798606684140307358029041149520736111279809670183064776899989333164958456873849833043550193674354606079288499846945486546650525579676313382126729831846768680463627740404761441/3912703941372974870589874053282296613479482312402811562301535066922673374613784837168669337608232725311511703349579615531019134667442615704770424569948600705606833098841941669560236279437677504220684454517326358360237816369099708197597213368280614716058082299041472222559619340366129553799978666329916913747699666087100387348709212158576999693890973093301051159352626764253459663693537360927255480809522882000000000000000000000000", + "alpha_below_one_fourth": "971722043970268847057592510140248226377823560634917969422155439549151170445442522891031458130512762908784806822484092468098304755269713011229947082105883192102727561080828722130175593838291292805321439230144950068573748065402477514981270092697723512810537074325579973387643523766552355386127280062232497754002150424007874446924964730900293779775444534630290918985376872296451902755426655617940516122689685268680463627740404761441/3912703941372974870589874053282296613479482312402811562301535066922673374613784837168669337608232725311511703349579615531019134667442615704770424569948600705606833098841941669560236279437677504220684454517326358360237816369099708197597213368280614716058082299041472222559619340366129553799978666329916913747699666087100387348709212158576999693890973093301051159352626764253459663693537360927255480809522882000000000000000000000000", + "delta_positive": "1/8000000000000000000000000", + "delta_below_one_eighth": "999999999999999999999999/8000000000000000000000000", + "short_record_fallback": "7616768350326285557500319775653039882167791373606484433247966343434288108018622581046971563310328015701829825865161075895589557869002227910163859966123751049011574089086818827397845295188747039740805603604306735718724487573983298303347943047832446306575284675533737097663574583370895732239816339414872288224973497321202082691939259199649525897121646158714570558007923356081995983858955555812385514139941650448054969080495460839451184943579045934071718914451277154414260694865402045088246492924621190212696589297290139170457113442903864489881182428482943926033330169648915939096761899935129171461630633550206360734465453786062702930868880734179253684068961295379267720699847283311726943651844776757599676210480855235552712881882161583412704615034946691001348844134260624423778504120396481/7641999885494091544120847760316985573202113891411741332620185677583346434792548510095057300016079541624046295604647686584021747397348858798379735488180860753138345896175667323359836483276713875431024325229153043672339485095897867573432057359923075617300941990315375434686756524152596784765583332675618972163475910326367944040447679997220702527130806822853615545610599148932538405651440158061045860956099378906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "small_field_exposure": "1/1000000000000000000000000", + "artificial_boundary": "109581526123935195858875991199089403690805739881701049917094042360749016591858458241700019187473509130645630260190554109341700276625718726922076882767057223743342216318578988348828619352255328397974406884908862624043866454837872438312648368141704224563420929965147163542829892978839594283807651161986351789120720014755211890034065410623963120855092162049451874964783597292570349189769934578612321766094227764306041390883221214284323/15650815765491899482359496213129186453917929249611246249206140267690693498455139348674677350432930901246046813398318462124076538669770462819081698279794402822427332395367766678240945117750710016882737818069305433440951265476398832790388853473122458864232329196165888890238477361464518215199914665319667654990798664348401549394836848634307998775563892373204204637410507057013838654774149443709021923238091528000000000000000000000000", + "literal_scalar_guard": "1", + "row_product_gap": "23971789/25", + "balanced_prefix_above_kappa": "22200664394464068201218451251709660099895005854056647094104902383532607617880707943289313682606481683041097904310248641310014220990880046435669692660714113332169622156571009112311747389402252920606378362090592667540916232777689188179337564977308018790044043286680427258859028858029102001845446586248858526682126585053940466953916779314590626875566608934902197480400674781390017936270431029836796882094847/39127039413729748705898740532822966134794823124028115623015350669226733746137848371686693376082327253115117033495796155310191346674426157047704245699486007056068330988419416695602362794376775042206844545173263583602378163690997081975972133682806147160580822990414722225596193403661295537999786663299169137476996660871003873487092121585769996938909730933010511593526267642534596636935373609272554808095228820000000000000000", + "coordinate_movement_above_kappa": "10645671093425277374066190179359429223492150943942660253925369657676501670157676520076923585728651827056389733462702476438321555395171695829522825243816397176490500987320047869073790658506195324550255473939677250207018200219145476567868694651116496373252177209611861852333112633908219202390034583139015516104491880456514987243190785983454804003067787432731319536372259595238559/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_phase_layer_above_kappa": "1110031263371232723573487267648456363846443552961676153299463968409096919557348090272047099795655280035692239459660757275692945539976668600475632247823420692308128304412001034644752589351972927191566807762302374713866631519976274859112779450258716799194844135292871842206840163091784917027495429323109761375649455402863979797502164611123452055278483501258563223494454062756118770083689704723159380477001945238559/1956351970686487435294937026641148306739741156201405781150767533461336687306892418584334668804116362655755851674789807765509567333721307852385212284974300352803416549420970834780118139718838752110342227258663179180118908184549854098798606684140307358029041149520736111279809670183064776899989333164958456873849833043550193674354606079288499846945486546650525579676313382126729831846768680463627740404761441000000000000000000000000", + "bulk_exposure_above_kappa": "10645671093425277374066190179359429223492150943942660253925369657676501670157676520076923585728651827056389733462702476438321555395171695829522825243816397176490500987320047869073790658506195324550255473939677250207018200219145476567868694651116496373252177209611861852333112633908219202390034583139015516104491880456514987243190785983454804003067787432731319536372259595238559/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "Gaussian_arithmetic_above_kappa": "1776051195205154769610040805199746166843293728583375566122611039915075148093769328570726510273849730526925176588968216514993372169703069993545723027644844092273216969109131308014105011034040514809758158625020154740094118503306950504492906399577957362896165433893284659972611028832657977082858826910575517176113252954482193806119667990561170861545481769305629147906474306197819308171802635618263286939847355238559/3130163153098379896471899242625837290783585849922249249841228053538138699691027869734935470086586180249209362679663692424815307733954092563816339655958880564485466479073553335648189023550142003376547563613861086688190253095279766558077770694624491772846465839233177778047695472292903643039982933063933530998159732869680309878967369726861599755112778474640840927482101411402767730954829888741804384647618305600000000000000000000000", + "scalar_work_above_kappa": "8880263801433656593999945205746837398809695601881502636236179802645509585815595870423306888707923869100076505968247781734197922886784684852960024679073360358567496059211854223953864175642761449403799234494009808353187312992167490721880927192316523375710259285631021382807500263401970617673401734510210245714393760171743143231373037371230171461726796628474332341634690236242625047778340565166038289210198395238559/15650815765491899482359496213129186453917929249611246249206140267690693498455139348674677350432930901246046813398318462124076538669770462819081698279794402822427332395367766678240945117750710016882737818069305433440951265476398832790388853473122458864232329196165888890238477361464518215199914665319667654990798664348401549394836848634307998775563892373204204637410507057013838654774149443709021923238091528000000000000000000000000", + "dimension_above_kappa": "38997960586270251316301845736641102066423628127681544476879655184829913347967054011845914241798380690174196649110685527730906557635822484262309975291394039379601361672294696636567259362194234070104902844228989337004000198399595585564944099094883041018756741986893296564447849883019131720859242194729932864368449925377854653195034463468170470015007048381580115282040341292367600843465301172117463128175202209836796882094847/39127039413729748705898740532822966134794823124028115623015350669226733746137848371686693376082327253115117033495796155310191346674426157047704245699486007056068330988419416695602362794376775042206844545173263583602378163690997081975972133682806147160580822990414722225596193403661295537999786663299169137476996660871003873487092121585769996938909730933010511593526267642534596636935373609272554808095228820000000000000000" + }, + "conservative_controls": [ + "next_grid", + "zero_eta", + "zero_beta", + "unit_beta" + ], + "model_controls": [ + "native_complex_endpoint_rejected_with_old_surcharge", + "omitting_bit_surcharge_would_fail_next_endpoint_rejection" + ], + "native_correction_gain": "2.877329E-12", + "template_sha256": "0c2aab7dc120f5882a0171496cbbe819cac81373dcb425802a15f45e36898a46", + "input_sha256": { + "owner_audit": "a32ecc0d5387d65648e1ff284209122860ee37aaba43ce2dd12024c4bc394313", + "fresh_invoice": "14b0f41c88209e800236ce4ebbf91d83537e22e18807153d90013f7eee57a582", + "inputs/PR543-EXPECTED.json": "06eccee9f6b77e140833df83407e7996dc948c17d49b0779ab171fbe463fd28d", + "engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c" + }, + "bit_supplier": { + "pr": 543, + "repository": "eumemic/integer-mult-bounds", + "commit": "2065fe4f72a914d907f1046603f5a36f17018535", + "path": "research/e8-bit-r420/EXPECTED.json", + "git_blob_sha1": "b61d859826246e0c3dabbe096e57ad7015eadfd5", + "replay_scope": "Cited unchanged supplier; this assembly reprices its full profile and does not rebuild its bit circuit." + }, + "moments": [ + { + "side": "bit", + "surcharge": true, + "endpoint": "413456747036699736067/250000000000000000000000", + "accept": true, + "mercator": [ + "-6043813583626134311169770662156174867615397/13479973333575319897333507543509815336818572211270286240551805124608", + "-12087627167252268622339541324312349735230793/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "base_two": [ + "-1120888283015460284783/2500000000000000000000000000000000000000000000", + "-4483543132061841139029/10000000000000000000000000000000000000000000000" + ] + }, + { + "side": "bit", + "surcharge": true, + "endpoint": "1653826988146798944269/1000000000000000000000000", + "accept": false, + "mercator": [ + "70925594433828721229860776023154018035852861/26959946667150639794667015087019630673637144422540572481103610249216", + "70925594433828721229860776023154018035852863/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "base_two": [ + "13153878434097279887307/5000000000000000000000000000000000000000000000", + "6576941717048639943679/2500000000000000000000000000000000000000000000" + ] + }, + { + "side": "complex", + "surcharge": false, + "endpoint": "1652208994368411824947/1000000000000000000000000", + "accept": true, + "mercator": [ + "-55206003495063536066288437576157100010340973/26959946667150639794667015087019630673637144422540572481103610249216", + "-55206003495063536066288437576157100010340971/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "base_two": [ + "-409541/200000000000000000000000000000", + "-255963/125000000000000000000000000000" + ] + }, + { + "side": "complex", + "surcharge": false, + "endpoint": "413052248592102956237/250000000000000000000000", + "accept": false, + "mercator": [ + "12433583290374778086207959883025413594081851/13479973333575319897333507543509815336818572211270286240551805124608", + "3108395822593694521551989970756353398520463/3369993333393829974333376885877453834204643052817571560137951281152" + ], + "base_two": [ + "461187/500000000000000000000000000000", + "7379/8000000000000000000000000000" + ] + } + ], + "bootstrap": [ + { + "exponent": "1649542743600042455931461134358912270794693606912716279281008134403270623498780603221028447191/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "2666250768369369015536213432093360793481446087283720718991865596729376501219396778971552809/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "5064079483347" + }, + { + "exponent": "1652204589164911083386484432640289489025149021897345425947753889635290073672223126501218389623373546339575388781616555168351167510162074126123/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "4405203500741560512915150716142563026031102654574052246110364709926327776873498781610376626453660424611218383444831648832489837925873877/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "1855113771403454575" + }, + { + "exponent": "1652208987090094978998576337786240766660534086861443373660655035146913315879277165163676924708776055203276437395070714960859071205403889642411881787926277109463592646624985153186335324209519/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "7278316845948421010004764864927640966138556626339344964853086684120722834836323075291223944796723562604929285039140928794596110357588118212073722890536407353375014846813664675790481/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "679579993988641861825997" + }, + { + "exponent": "1652208994356386524390258236146418863551774879755022063719897338019847837294371501505671240293619314475646690108109592273827150181689732342308269781370466209964554813416396376690383672659155117856785386209592305112449619050994195020929507/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "12025300556739111644586768036400173244977936280102661980152162705628498494328759706380685524353309891890407726172849818310267657691730218629533790035445186583603623309616327340844882143214613790407694887550380949005804979070493/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "248949134737010607693751277429" + }, + { + "exponent": "1652208994368391956637257519960511230799265177421282452671784475034111396774491992172626292851745263613135372191632272357217972384735656024916702509923614329343687257847797050984709314880436174232795630101904826260914576699263441846242089246520580636287560130658033652250181465888988871/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "19868309739827830494400788909875578717547328215524965888603225508007827373707148254736386864627808367727642782027615264343975083297490076385670656312742152202949015290685119563825767204369898095173739085423300736558153757910753479419363712439869341966347749818534111011129/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "91197022034968984076452463608008868" + }, + { + "exponent": "1652208994368411792120397292749943827369551868295936383281836655065105377018214255389190697215906708539556278748557372371967341676249062946027583420481631348820521456435303894723559097730578401212966050397815062867751401948328742424744594348421190830426806021851515386550389899161084889489269714131354119389927583907816206322316835163/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "32826600055041061804218623184704063616718163344934894622981785744610809302784093291460443721251442627628032658323750937053972416579518368651179478543564696105276440902269421598787033949602184937132248598051671257575255405651578809169573193978148484613449610100838915110510730285868645880610072416092183793677683164837/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "33408016608824820410042813054159823398652" + }, + { + "exponent": "1652208994368411824892760943925532186602852295468626143987776322166643298144437891566249896386783794682250325982720570888808333058035587427982244795917897766192126153947302396188350346875998068356230515694247409920636392332411468502336205197989213263024053337331536239117696791845640104898504335919624091669350736887870142170348377574017694034808393425549949474408919442457789788639/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "54236403865473444985322757531373856012223677833356701855562108433750103613216205317749674017279429111191666941964412572017755204082102233807873846052697603811649653124001931643769484305752590079363607667588531497663794802010786736975946662668463760882303208154359895101495664080375908330649263112129857829651622425982305965191606574450050525591080557542210211361/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "12238289681296331108170086600566454188814599875" + } + ], + "outer": { + "bit_positive": "1652208994368411824892760943925532186602852295468626143987776322166643298144437891566249896386783794682250325982720570888808333058035587427982244795917897766192126153947302396188350346875998068356230515694247409920636392332411468502336205197989213263024053337331536239117696791845640104898504335919624091669350736887870142170348377574017694034808393425549949474408919442457789788639/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "complex_above_bit": "54239056074467813397147704531373856012223677833356701855562108433750103613216205317749674017279429111191666941964412572017755204082102233807873846052697603811649653124001931643769484305752590079363607667588531497663794802010786736975946662668463760882303208154359895101495664080375908330649263112129857829651622425982305965191606574450050525591080557542210211361/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "complex_below_one_over32": "29597791005631588175053/1000000000000000000000000", + "beta_positive": "1/1000000000000000000000000", + "beta_below_one": "999999999999999999999999/1000000000000000000000000", + "leaf_saving_above_bit": "54237403865473444985322757531373856012223677833356701855562108433750103613216205317749674017279429111191666941964412572017755204082102233807873846052697603811649653124001931643769484305752590079363607667588531497663794802010786736975946662668463760882303208154359895101495664080375908330649263112129857829651622425982305965191606574450050525591080557542210211361/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_positive": "826104497184205912446378819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361/500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_internal": "1652208994368411824892760943925532186602852295468626143987776322166643298144437891566249896386783794682250325982720570888808333058035587427982244795917897766192126153947302396188350346875998068356230515694247409920636392332411468502336205197989213263024053337331536239117696791845640104898504335919624091669350736887870142170348377574017694034808393425549949474408919442457789788639/500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_leaf": "27120354141731090904486271526630853538298441768973819553925041993197218449906247096766403258536101339390515721308189006579766410374109152491364905271144719803591018688154913124280930503223171037750160064309959996241818037397725779956475667539429869654414628130517279086986949736979799805429530060400848538917480563728040852737973635602599280489575087164530655629974408919442457789788639/500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "c_positive": "826104497184205912446503819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361/500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "c_below_one": "499173895502815794087553496180246228275110398745026630853538298441768973819553925041993197218449906247096766403258536101339390515721308189006579766410374109152491364905271144719803591018688154913124280930503223171037750160064309959996241818037397725779956475667539429869654414628130517279086986949736979799805429530060400848538917480563728040852737973635602599280489575087164530655629974408919442457789788639/500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_reservations": "1/4000000000000000000000000", + "lambda_above_tau": "1652208994368411824892760943925532186602852295468626143987776322166643298144437891566249896386783794682250325982720570888808333058035587427982244795917897766192126153947302396188350346875998068356230515694247409920636392332411468502336205197989213263024053337331536239117696791845640104898504335919624091669350736887870142170348377574017694034808393425549949474408919442457789788639/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_above_sigma": "54240708283462181808972597292317781544410280685652170481706096210072270256514349755641240267175815894986349192290395292588644012415160269395301828297493521709415845250155878946165672656099466077431963898104225745073715438403119148444448998873661750095566232207697226637734781777167753970754161616465777453743291776719193835333776922827624543285115365935635761310474408919442457789788639/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_above_internal": "1652208994368411824892760943925532186602852295468626143987776322166643298144437891566249896386783794682250325982720570888808333058035587427982244795917897766192126153947302396188350346875998068356230515694247409920636392332411468502336205197989213263024053337331536239117696791845640104898504335919624091669350736887870142170348377574017694034808393425549949474408919442457789788639/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_prime_above_lambda": "1652208994368411824892760943925532186602852295468626143987776322166643298144437891566249896386783794682250325982720570888808333058035587427982244795917897766192126153947302396188350346875998068356230515694247409920636392332411468502336205197989213263024053337331536239117696791845640104898504335919624091669350736887870142170348377574017694034808393425549949474408919442457789788639/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_leaf": "27120354141731090904486271526630853538298441768973819553925041993197218449906247096766403258536101339390515721308189006579766410374109152491364905271144719803591018688154913124280930503223171037750160064309959996241818037397725779956475667539429869654414628130517279086986949736979799805429530060400848538917480563728040852737973635602599280489575087164530655629974408919442457789788639/500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_reservations": "1/4000000000000000000000000", + "lambda_prime_below_one": "826104497184205912446378819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361/500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "epsilon_positive": "499999999999999999999999500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000/500826104497184205912446378819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361", + "epsilon_below_one": "826104497184205912446878819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361/500826104497184205912446378819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361", + "guard_width": "826104497184205912446878819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361/500826104497184205912446378819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361", + "K_geometry": "375826104497184205912446503819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361/500826104497184205912446378819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361000000000000000000000000", + "K_dominates_log": "826104497184205912446502993649274540683688808469549392689976668629771207076928496305244550523913306828275589938682348566856581045095069529521572980141612155697641674495265654305561472676750358020438873087795517117162964216620543226929219712762338530003520574278607528071365328345150260342882704677648330711849556926548888440882324865802019548110565281877964447551277650809104946969306080655644706740866990974408919442457789788639/500826104497184205912446378819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361000000000000000000000000", + "record_suffix": "826104497184205912446878819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361/500826104497184205912446378819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361", + "phase_local": "6608835977473647299574529731925676614910897593408133417921887576246954470199453202352864021374569577150910767128929639191122970995937746483463208107522848088258087337597252615680424341859665966150472359565233319852911843766450823253236493450978258070308190901502598440490462931431529306733974056518789732073842846503742948668459960919705733578944749832659769484124252040657390357559485218219547502212346517974408919442457789788639/4006608835977473647299571030558030173799116810039786953171693612465848209443568599664054422252400750023225868773931711189284875874229534487947361868717007126780069080757830842241571271850494760695005752555974214631697998719485520320030065455700818193760348194659684561042764682974955861767304104402104161601556563759516793211688660155490175673178096210915179205756083399302683754754960204728644460337681690888000000000000000000000000", + "phase_boundary": "1321767195494729459914505285501537575617449561578570880566997603568386915344573471109326219453969558570215747983560687763222271612310156125573713133917146664202822731332578822423406861463857410145870314785861614494512868178034567229184128890323703062029635173754949606278716551466839892890690534835460450828591838890308379317531836527565195036467781100516404879257532598510386553591321435303979232066993807574408919442457789788639/801321767195494729459914206111606034759823362007957390634338722493169641888713719932810884450480150004645173754786342237856975174845906897589472373743401425356013816151566168448314254370098952139001150511194842926339599743897104064006013091140163638752069638931936912208552936594991172353460820880420832320311312751903358642337732031098035134635619242183035841151216679860536750950992040945728892067536338177600000000000000000000000", + "gamma_sublinear": "1/2000000000000000000000000", + "cell_above_band": "999999999999999999999998499173895502815794087553621180246228275110398745026630853538298441768973819553925041993197218449906247096766403258536101339390515721308189006579766410374109152491364905271144719803591018688154913124280930503223171037750160064309959996241818037397725779956475667539429869654414628130517279086986949736979799805429530060400848538917480563728040852737973635602599280489575087164530655629974408919442457789788639/2003304417988736823649785515279015086899558405019893476585846806232924104721784299832027211126200375011612934386965855594642437937114767243973680934358503563390034540378915421120785635925247380347502876277987107315848999359742760160015032727850409096880174097329842280521382341487477930883652052201052080800778281879758396605844330077745087836589048105457589602878041699651341877377480102364322230168840845444000000000000000000000000", + "prime_interval_packing": "826104497184205912446878819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361/500826104497184205912446378819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361", + "alpha_positive": "1652208994368411824893256813403046265573290063567918539151678226860797387523003454312047332074007059731509186680146247227466065323786880522941806569767503003206276769224120934501970453988595444896157942584572346079412804152310583230687401675364612750047044906739177658416950700214632981255895754940668530906420026866148039901964844302073978695372591646275365167061702563644574291339331671736202248951078351974408919442457789788639/1001652208994368411824892757639507543449779202509946738292923403116462052360892149916013605563100187505806467193482927797321218968557383621986840467179251781695017270189457710560392817962623690173751438138993553657924499679871380080007516363925204548440087048664921140260691170743738965441826026100526040400389140939879198302922165038872543918294524052728794801439020849825670938688740051182161115084420422722000000000000000000000000", + "alpha_below_one": "999999999999999999999999500826104497184205912446378819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361/1001652208994368411824892757639507543449779202509946738292923403116462052360892149916013605563100187505806467193482927797321218968557383621986840467179251781695017270189457710560392817962623690173751438138993553657924499679871380080007516363925204548440087048664921140260691170743738965441826026100526040400389140939879198302922165038872543918294524052728794801439020849825670938688740051182161115084420422722000000000000000000000000", + "alpha_below_one_fourth": "248760843254223691131329932596473839596871510563918766034079172552254715702700034024691354058701039816720107611690585702102838676815559024973768310225045442420548040778140306705596234036667327098541701592163816068401712115815534436771191689305936524359974717259491107406755841985720108379200610770190841569190865208103651535828576415416062000878258421535923335192693509892773160380845681123804076522154027328525591080557542210211361/1001652208994368411824892757639507543449779202509946738292923403116462052360892149916013605563100187505806467193482927797321218968557383621986840467179251781695017270189457710560392817962623690173751438138993553657924499679871380080007516363925204548440087048664921140260691170743738965441826026100526040400389140939879198302922165038872543918294524052728794801439020849825670938688740051182161115084420422722000000000000000000000000", + "delta_positive": "1/8000000000000000000000000", + "delta_below_one_eighth": "999999999999999999999999/8000000000000000000000000", + "short_record_fallback": "499172530605535258148204467894413622366649364752615796356468001035238236450517537374493631619363733298840687671623161397641818269266749211349925706761067790808370765075450008284253571239696489935935053566461144738883161010851111679077097990732436701756985527194218092549531868890848622470137186563736328401324517482838466413031374630236137011585720945154073554670290847831565373475503741258489384028773988548652682478935707964970238955117949482840541572436848428721579739524322299623454936983662814547483400718276279308346848253879838472504570106968586516202950572541527287852414234879967747392915408989329348581710341757093094710913631142136741462492078081872395928826622342523315747139483873962190478398751777328141297794530179676308220833366881166966370160352431945328687129458140293472321/500826104497184205912446378819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "small_field_exposure": "1/1000000000000000000000000", + "artificial_boundary": "28052870687819789178396573746942554881945552217657432084634864074395589440468656236697540052712284541524031824211862034164560265703537066127970590931564509850315985626323347506810242717329863369746611861037020660989119250383041371050571010532356065357152905568552022376148940123930219891520143226253589408420900672815173496482569881827632815204222224070568991954864544636207549131231883796360430421207861560214076773241672626630634083/4006608835977473647299571030558030173799116810039786953171693612465848209443568599664054422252400750023225868773931711189284875874229534487947361868717007126780069080757830842241571271850494760695005752555974214631697998719485520320030065455700818193760348194659684561042764682974955861767304104402104161601556563759516793211688660155490175673178096210915179205756083399302683754754960204728644460337681690888000000000000000000000000", + "literal_scalar_guard": "1", + "row_product_gap": "23971789/25", + "balanced_prefix_above_kappa": "384836754948704936518390080286389004763190679571631416083335375425490380659422846922349219607884635917039474482556378074796393103615265478935526743142995785277965991920542575867329404082937294587671597128436387521101370842739834550650414154320702290281170117836140043954928114189095044806439229775952058740929618067139100165877377039970533655513737284898865861249271614750592100633440385821327668139841639581/500826104497184205912446378819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361000000000000000000", + "coordinate_movement_above_kappa": "2725291809432824892760943925532186602852295468626143987776322166643298144437891566249896386783794682250325982720570888808333058035587427982244795917897766192126153947302396188350346875998068356230515694247409920636392332411468502336205197989213263024053337331536239117696791845640104898504335919624091669350736887870142170348377574017694034808393425549949474408919442457789788639/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_phase_layer_above_kappa": "384836254122600439334184167840010185009418954682030161109966228963788822428396666476274261601081854366945721579322781333332494443005781200243715749722762195652075144411907481138474123886528313275826510252717318024324541880489994614960374150562520327678895897792615711494357983843509672936956508862939008477909417872568630226278225578888014219241778137636839496851870895240167187797971041451302077059284097370788639/500826104497184205912446378819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361000000000000000000000000", + "bulk_exposure_above_kappa": "2725291809432824892760943925532186602852295468626143987776322166643298144437891566249896386783794682250325982720570888808333058035587427982244795917897766192126153947302396188350346875998068356230515694247409920636392332411468502336205197989213263024053337331536239117696791845640104898504335919624091669350736887870142170348377574017694034808393425549949474408919442457789788639/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "Gaussian_arithmetic_above_kappa": "615738307091823401245218216011843587867333362425009010759967454219083050824050374629683793365812635917169406268856608178210330305174940487605031795608559666818854739564233026658871766336290690028429468529779150536985364386133895345350622643154941701847597968494299737867314852356966699820820046728510243722467188712852090325804651802870334412550020508576159013601433864090522448178035272944098677943189081119388639/801321767195494729459914206111606034759823362007957390634338722493169641888713719932810884450480150004645173754786342237856975174845906897589472373743401425356013816151566168448314254370098952139001150511194842926339599743897104064006013091140163638752069638931936912208552936594991172353460820880420832320311312751903358642337732031098035134635619242183035841151216679860536750950992040945728892067536338177600000000000000000000000", + "scalar_work_above_kappa": "3078693538763534994962914729844733218351753711683450073693313856942221487044356594932718798856274305786222042957217427856907246168312639552792402951723732692597837087855705512209779952467089375389527690151772030672034137779668836469513273230807436359647086722645596019178854783167174986582031117294603419664416744342542331387419864858681749807837939131928900525596772198494311892232053742200595754038175574437788639/4006608835977473647299571030558030173799116810039786953171693612465848209443568599664054422252400750023225868773931711189284875874229534487947361868717007126780069080757830842241571271850494760695005752555974214631697998719485520320030065455700818193760348194659684561042764682974955861767304104402104161601556563759516793211688660155490175673178096210915179205756083399302683754754960204728644460337681690888000000000000000000000000", + "dimension_above_kappa": "499173895502815794472389376128951164793500479031415635616728978013400389902889300467483577877872753169445986011143172018378864998277686263802972870025639588088018108048266929997769582939230730780453685013440517758709347288500697481097612660777232276430370629988241720150824532464270561234015101138832024606244659306012459589468535547702828206730115013606136254794226859986030391904901589159511543091230174460327668139841639581/500826104497184205912446378819753771724889601254973369146461701558231026180446074958006802781550093752903233596741463898660609484278691810993420233589625890847508635094728855280196408981311845086875719069496776828962249839935690040003758181962602274220043524332460570130345585371869482720913013050263020200194570469939599151461082519436271959147262026364397400719510424912835469344370025591080557542210211361000000000000000000" + }, + "controls": [ + "next_grid", + "zero_eta", + "zero_beta", + "unit_beta" + ], + "scope": "Conditional native exact-complex witness after complete conservative admission, moment and outer checks; PR559 exact-cover recurrence correction only, bit bad-residue surcharge and H1-H5 retained. The new source-branch gauge and retired-basis completion, 44 cold dimension-four ends, and explicit all72 whole-owner dispatch are composed with the same cited unchanged PR543 bit supplier as PR635. All-size compiler, common-label/mutable-source realization, whole-call hosting, precision/tape and analytic transfer remain assumptions. No unconditional theorem or full Lean certification." +} diff --git a/research/gauge44-slots/evidence/BINDING.json b/research/gauge44-slots/evidence/BINDING.json new file mode 100644 index 0000000000..b03160c67a --- /dev/null +++ b/research/gauge44-slots/evidence/BINDING.json @@ -0,0 +1,25 @@ +{ + "status": "PASS_FROZEN_048_ALLCOLD_DISPATCH_FRESH_PROVIDER_BINDING", + "source_plan_sha256": "8c4804859aee83082196348c33127070d2885d3a366ce9acc8dc5166202f4687", + "runtime_plan_sha256": "609adb126d7d3de2abdd9275f9015589c0b137d0d19821c2c3e7c1a8541c18d2", + "providers": { + "gauge44": { + "artifact_sha256": { + "CANONICAL-WORD.json.gz": "92941c2b718b533f1d3addb710d261a6e2b9ec5d19f0051d79775b08cb2571ed", + "LOCAL-PROGRAMS.json.gz": "172dc3d23e437909ddc01d07b12ede735afbb5bb6145f1ddf5c2e03097dfebe2", + "LOCAL-CHECKS.json": "2b8a6a6854b8df8ecd84d8ff2b92f720c81454636988e6a0dfdc1f6c29d1c82c", + "INDEPENDENT-LOCAL-REPLAY.json": "18d68326ce0aca76911d561e79a817bce90cb8adfe053e19621c7ae0298b842e", + "CLIFFORD-RECIPES.json": "0a60293f43d88dbb1b321f02e61204afe1b6272b1346968ef35705caea1e4771", + "CLIFFORD-REVIEW.json": "4e3cdd616d105a49bbf1948bb53e49938d515c42f1c026781d1b5e9cb636db12", + "RESIDUAL-ADAPTERS.json": "bb6c23ba1b8dd5d2016724c3348b4e91a6b91daaa3f56bbd5216cb7a96bf5c94" + }, + "canonical_content_sha256": "e6daee410e04d5e023faf21144081534ad222d334ce786e6b5f52407e6b3c41f", + "all_phase_edges": 3019 + } + }, + "only_rebound_fields": [ + "provider_registry.directory", + "provider_registry.artifact_sha256", + "runtime_source_plan_sha256" + ] +} diff --git a/research/gauge44-slots/evidence/CENTER-COMPATIBILITY.json b/research/gauge44-slots/evidence/CENTER-COMPATIBILITY.json new file mode 100644 index 0000000000..5a3ae37422 --- /dev/null +++ b/research/gauge44-slots/evidence/CENTER-COMPATIBILITY.json @@ -0,0 +1,112 @@ +{ + "status": "PASS_IDENTICAL_PORT_ORDER_AND_ORDERED_CENTER_FRAMES", + "new_canonical_sha256": "92941c2b718b533f1d3addb710d261a6e2b9ec5d19f0051d79775b08cb2571ed", + "comparison_canonical": "pr635/research/community-k492-audit/pr626/replay/mixed-global/base/split-centres/CANONICAL-WORD.json.gz", + "comparison_canonical_sha256": "66d3c3c70983224650643a0a05a21ac6c6959f84d0f4528650601016f5a76844", + "new_centers": [ + 92, + 57, + 81, + 224, + 11, + 240, + 9, + 256 + ], + "old_centers": [ + 229, + 224, + 227, + 225, + 243, + 241, + 259, + 257 + ], + "ordered_center_frames": [ + [ + 256, + 128, + 64, + 34, + 16, + 10, + 4, + 1 + ], + [ + 256, + 128, + 64, + 32, + 16, + 8, + 5, + 3 + ], + [ + 256, + 128, + 64, + 32, + 17, + 9, + 4, + 2 + ], + [ + 256, + 128, + 64, + 36, + 20, + 8, + 2, + 1 + ], + [ + 256, + 128, + 66, + 32, + 18, + 8, + 4, + 1 + ], + [ + 256, + 128, + 65, + 33, + 17, + 9, + 5, + 3 + ], + [ + 256, + 128, + 65, + 33, + 16, + 8, + 4, + 2 + ], + [ + 256, + 128, + 68, + 32, + 16, + 12, + 2, + 1 + ] + ], + "v": 112, + "h": 9, + "center_count": 8, + "scope": "Carrier register identity changes; native cut center channels retain exact ordered frames and ports. Full endpoint and exact center clearing are independently checked by local ledger replay." +} diff --git a/research/gauge44-slots/evidence/LOCAL-STAGES.json b/research/gauge44-slots/evidence/LOCAL-STAGES.json new file mode 100644 index 0000000000..b2753eb57a --- /dev/null +++ b/research/gauge44-slots/evidence/LOCAL-STAGES.json @@ -0,0 +1,27 @@ +[ + { + "tag": "44-native", + "seconds": 4.460461161999774, + "exit": 0 + }, + { + "tag": "44-emitted-ledgers", + "seconds": 3.058037757999955, + "exit": 0 + }, + { + "tag": "44-local-replay", + "seconds": 28.33760359400003, + "exit": 0 + }, + { + "tag": "44-wrappers", + "seconds": 5.294312295000054, + "exit": 0 + }, + { + "tag": "44-phase", + "seconds": 198.39076561599995, + "exit": 0 + } +] diff --git a/research/gauge44-slots/evidence/REPLAY.json b/research/gauge44-slots/evidence/REPLAY.json new file mode 100644 index 0000000000..c6f4e0f983 --- /dev/null +++ b/research/gauge44-slots/evidence/REPLAY.json @@ -0,0 +1,54 @@ +{ + "status": "PASS_GAUGE44_STRICT_GLOBAL_REPLAY", + "kappa": "1649483702558979/1000000000000000000", + "kappa_decimal": "0.001649483702558979", + "complex_lower": "1652208994368411824947/1000000000000000000000000", + "bit_lower": "413456747036699736067/250000000000000000000000", + "gain_over_pr635_percent": "0.8093060205252829126484020359439672024956960385078942889840023844750830", + "spec_sha256": "fee57674a7f36b30b1e7eb96a8f567a90a522217bc644c1a6a1f8bff85196fbf", + "stages": [ + { + "name": "restore-parent", + "seconds": 2.152, + "exit_code": 0, + "log_sha256": "fc3a01967636bd3173ee7e5049fae45b890e1fad4564b6acdd6aaca30a4e4ea5" + }, + { + "name": "bind", + "seconds": 0.686, + "exit_code": 0, + "log_sha256": "71f679ce5a123fb58397fd6852ba64ce3832fd20e81a096bfda9a1cf3237237a" + }, + { + "name": "emit", + "seconds": 5.456, + "exit_code": 0, + "log_sha256": "60866eb6ced5b9eb259bfc1d59ea7b80fb439164b629e868586ad5bef845a88e" + }, + { + "name": "audit", + "seconds": 26.943, + "exit_code": 0, + "log_sha256": "df19a41a599bf24fd1efaeb2394af63208f95b9e3ca4f83c6f23e9641fb3d662" + }, + { + "name": "invoice", + "seconds": 1.897, + "exit_code": 0, + "log_sha256": "5d10712d494304287749dd7a6c3369f9b707bba30e9f567b68230669dcf5418a" + }, + { + "name": "assembly", + "seconds": 0.724, + "exit_code": 0, + "log_sha256": "768d3215f1918117dc6c33b4cfeaf0b5f5da9ba5c77178db4bb1d08d000e226f" + }, + { + "name": "admission-controls", + "seconds": 0.816, + "exit_code": 0, + "log_sha256": "051d242318154827c1672ffbb63ad2bdc8ecc4033be650b791dd69cd57d716b3" + } + ], + "scope": "Conditional native exact-complex witness after complete conservative admission, moment and outer checks; PR559 exact-cover recurrence correction only, bit bad-residue surcharge and H1-H5 retained. The new source-branch gauge and retired-basis completion, 44 cold dimension-four ends, and explicit all72 whole-owner dispatch are composed with the same cited unchanged PR543 bit supplier as PR635. All-size compiler, common-label/mutable-source realization, whole-call hosting, precision/tape and analytic transfer remain assumptions. No unconditional theorem or full Lean certification." +} diff --git a/research/gauge44-slots/evidence/STAGES.json b/research/gauge44-slots/evidence/STAGES.json new file mode 100644 index 0000000000..9464e2dfea --- /dev/null +++ b/research/gauge44-slots/evidence/STAGES.json @@ -0,0 +1,44 @@ +[ + { + "name": "restore-parent", + "seconds": 2.152, + "exit_code": 0, + "log_sha256": "fc3a01967636bd3173ee7e5049fae45b890e1fad4564b6acdd6aaca30a4e4ea5" + }, + { + "name": "bind", + "seconds": 0.686, + "exit_code": 0, + "log_sha256": "71f679ce5a123fb58397fd6852ba64ce3832fd20e81a096bfda9a1cf3237237a" + }, + { + "name": "emit", + "seconds": 5.456, + "exit_code": 0, + "log_sha256": "60866eb6ced5b9eb259bfc1d59ea7b80fb439164b629e868586ad5bef845a88e" + }, + { + "name": "audit", + "seconds": 26.943, + "exit_code": 0, + "log_sha256": "df19a41a599bf24fd1efaeb2394af63208f95b9e3ca4f83c6f23e9641fb3d662" + }, + { + "name": "invoice", + "seconds": 1.897, + "exit_code": 0, + "log_sha256": "5d10712d494304287749dd7a6c3369f9b707bba30e9f567b68230669dcf5418a" + }, + { + "name": "assembly", + "seconds": 0.724, + "exit_code": 0, + "log_sha256": "768d3215f1918117dc6c33b4cfeaf0b5f5da9ba5c77178db4bb1d08d000e226f" + }, + { + "name": "admission-controls", + "seconds": 0.816, + "exit_code": 0, + "log_sha256": "051d242318154827c1672ffbb63ad2bdc8ecc4033be650b791dd69cd57d716b3" + } +] diff --git a/research/gauge44-slots/evidence/audit/ASYNC-AUDIT.json b/research/gauge44-slots/evidence/audit/ASYNC-AUDIT.json new file mode 100644 index 0000000000..05975382b5 --- /dev/null +++ b/research/gauge44-slots/evidence/audit/ASYNC-AUDIT.json @@ -0,0 +1,84 @@ +{ + "status": "PASS_INDEPENDENT_ASYNC_WHOLE_OWNER_CONTROLLER_PHASES_AND_SPECTATORS", + "template_sha256": "0c2aab7dc120f5882a0171496cbbe819cac81373dcb425802a15f45e36898a46", + "complex_template_sha256": "0c2aab7dc120f5882a0171496cbbe819cac81373dcb425802a15f45e36898a46", + "complex_live": 7168, + "complex_profile": { + "1": 181093, + "2": 29164, + "3": 32429, + "4": 11520, + "5": 4032, + "7": 7, + "8": 582, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + }, + "complex_hosted_residuals": 35424, + "physical": 7670, + "rank_mass": 520704, + "deficit": 2560, + "entering_helper_roles": 17856, + "cross_replica_helper_roles": 25937, + "one_owner_per_complete_invocation": true, + "helper_busy_family_window_checks": 35424, + "complete_invocations": 72, + "actual_orthogonal_73column_maps": 7870, + "actual_sigma_stream_sha256": "f4e9802acb2ed53fc1f0486e7d0f55a6faa30ed7f5d2ad48a06450234b00ba76", + "all_actual_residual_and_spectator_charts": true, + "idle_remainders": 2759, + "mutations_rejected": [ + "alias two whole owners", + "helper on active data family", + "owner in private namespace", + "wrong residual width", + "wrong spectator coordinate", + "omit idle remainder", + "understate physical reserve", + "gauge44: wrong provider at its invocation", + "gauge44: stale per-call local program hash", + "gauge44: stale serialized provider program", + "gauge44: unbound residual adapter hash", + "gauge44: wrong provider width registry", + "gauge44: wrong per-call residual width", + "gauge44: wrong sweep provider", + "gauge44: entering helper width silently restored to nine" + ], + "mutation_controls_run": true, + "provider_phase_semantic_sha256": { + "gauge44": "1b4aa8bf9185b423e3f29e0ee2eb4d7082e2408c2b09cba1ef02282282731152" + }, + "provider_artifact_semantic_sha256": { + "gauge44": { + "CANONICAL-WORD.json.gz": "e6daee410e04d5e023faf21144081534ad222d334ce786e6b5f52407e6b3c41f", + "LOCAL-PROGRAMS.json.gz": "39b230dba9e6b022c691cd0167f331c1b3fa6795d49256e3a2b859c68d4acfda", + "LOCAL-CHECKS.json": "bd53e0cca4488f365ca5b7c7174d8dfb35ced5e0229835f27334c11c3d839717", + "INDEPENDENT-LOCAL-REPLAY.json": "adb5c8ce0b5025dcd96f41b9fa0e26b9a176e067ab36a5bfadad00bc19522b38", + "CLIFFORD-RECIPES.json": "0a60293f43d88dbb1b321f02e61204afe1b6272b1346968ef35705caea1e4771", + "CLIFFORD-REVIEW.json": "1b4aa8bf9185b423e3f29e0ee2eb4d7082e2408c2b09cba1ef02282282731152", + "RESIDUAL-ADAPTERS.json": "c233611dd4c08c389dfb6c7d1c84dd86a3efa560223fcd6549a2848692541cd9" + } + }, + "widths_by_provider": { + "gauge44": { + "4": 52, + "5": 48, + "7": 34, + "8": 114, + "9": 244 + } + }, + "provider_counts": { + "gauge44": 72 + }, + "all_provider_program_phase_and_wrapper_bindings": true, + "scope": "Independent exact asynchronous chronology, per-replica phase projection, owner/chart/paid-profile audit. Uses per-invocation local providers bound by exact scalar, phase and residual-wrapper receipts; all-size compilation and complete coefficient invoice are separate inherited obligations." +} diff --git a/research/gauge44-slots/evidence/audit/GLOBAL-PREFIX.json b/research/gauge44-slots/evidence/audit/GLOBAL-PREFIX.json new file mode 100644 index 0000000000..a557ebbe60 --- /dev/null +++ b/research/gauge44-slots/evidence/audit/GLOBAL-PREFIX.json @@ -0,0 +1,13 @@ +{ + "status": "PASS_MIXED_ASYNC_GLOBAL_PREFIX", + "template_sha256": "0c2aab7dc120f5882a0171496cbbe819cac81373dcb425802a15f45e36898a46", + "global_prefix_bits": 360, + "retained_payload_bits": 512, + "complete_invocation_cover_sweeps": 72, + "bridge_factor_two_sweeps": 72, + "local_scalar_coefficient_work_prefix_bits": 175, + "stream_input_sup_to_l2_bits": 37, + "primitive_arithmetic_margin_bits": 4, + "controller_audit_sha256": "df19a41a599bf24fd1efaeb2394af63208f95b9e3ca4f83c6f23e9641fb3d662", + "proof": "Each selected normalized provider restores all arbitrary dirty helper columns and gives the same data shear endpoints. Actual whole-owner charts are right-translation bijections. Sum all 72 invocation and 72 bridge sweeps and take maximum local scalar/Horner prefix over all three providers and orientations. Idle children, phases, spectator endpoints and terminal translations are unitary. Retained all-size interfaces are conditional." +} diff --git a/research/gauge44-slots/evidence/audit/IDLE-REMAINDER-FRAMES.json b/research/gauge44-slots/evidence/audit/IDLE-REMAINDER-FRAMES.json new file mode 100644 index 0000000000..1c86a8a01d --- /dev/null +++ b/research/gauge44-slots/evidence/audit/IDLE-REMAINDER-FRAMES.json @@ -0,0 +1,25 @@ +{ + "status": "PASS_LITERAL_IDLE_REMAINDER_FRAMES", + "template_sha256": "0c2aab7dc120f5882a0171496cbbe819cac81373dcb425802a15f45e36898a46", + "uncompressed_frames_sha256": "38eba7dfe023d0b2a8aea1c5184e50bdfff5727b350c2de4d27800acbdd3708c", + "children": 2759, + "rank_profile": { + "1": 85, + "2": 76, + "3": 173, + "7": 7, + "8": 6, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + }, + "source_data_phase_sha256": "c5916ff312678f12aba403847643fbbc29f643acec60bdf836fa56cd3e8251fa", + "scope": "Actual orthogonal axes after the independently checked whole-owner prefix in each inherited pending child." +} diff --git a/research/gauge44-slots/evidence/audit/OWNERS-AND-PROFILE.json b/research/gauge44-slots/evidence/audit/OWNERS-AND-PROFILE.json new file mode 100644 index 0000000000..bdb9441b7e --- /dev/null +++ b/research/gauge44-slots/evidence/audit/OWNERS-AND-PROFILE.json @@ -0,0 +1,61 @@ +{ + "status": "PASS_INDEPENDENT_ASYNC_OWNERS_AND_PROFILE", + "template_sha256": "0c2aab7dc120f5882a0171496cbbe819cac81373dcb425802a15f45e36898a46", + "paid_profile": { + "1": 181093, + "2": 29164, + "3": 32429, + "4": 11520, + "5": 4032, + "7": 7, + "8": 582, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + }, + "live": 7168, + "physical": 7670, + "rank_mass": 520704, + "deficit": 2560, + "hosted_residuals": 35424, + "banked_residuals": 0, + "all_live_owners_per_call_distinct": true, + "owners_per_call": 716, + "actual_helper_owner_charts": 35424, + "actual_73column_sigmas": 7870, + "cross_replica_helper_roles": 25937, + "explicit_idle_remainder_children": 2759, + "source_idle_children_charged": 16128, + "source_artifacts": { + "work/complex-nine-native/DATA-PHASES.json": "c5916ff312678f12aba403847643fbbc29f643acec60bdf836fa56cd3e8251fa", + "providers/gauge44/CANONICAL-WORD.json.gz": "92941c2b718b533f1d3addb710d261a6e2b9ec5d19f0051d79775b08cb2571ed", + "providers/gauge44/LOCAL-PROGRAMS.json.gz": "172dc3d23e437909ddc01d07b12ede735afbb5bb6145f1ddf5c2e03097dfebe2", + "providers/gauge44/LOCAL-CHECKS.json": "2b8a6a6854b8df8ecd84d8ff2b92f720c81454636988e6a0dfdc1f6c29d1c82c", + "providers/gauge44/INDEPENDENT-LOCAL-REPLAY.json": "18d68326ce0aca76911d561e79a817bce90cb8adfe053e19621c7ae0298b842e", + "providers/gauge44/RESIDUAL-ADAPTERS.json": "bb6c23ba1b8dd5d2016724c3348b4e91a6b91daaa3f56bbd5216cb7a96bf5c94", + "providers/gauge44/CLIFFORD-RECIPES.json": "0a60293f43d88dbb1b321f02e61204afe1b6272b1346968ef35705caea1e4771", + "providers/gauge44/CLIFFORD-REVIEW.json": "4e3cdd616d105a49bbf1948bb53e49938d515c42f1c026781d1b5e9cb636db12" + }, + "provider_phase_semantic_sha256": { + "gauge44": "1b4aa8bf9185b423e3f29e0ee2eb4d7082e2408c2b09cba1ef02282282731152" + }, + "provider_artifact_semantic_sha256": { + "gauge44": { + "CANONICAL-WORD.json.gz": "e6daee410e04d5e023faf21144081534ad222d334ce786e6b5f52407e6b3c41f", + "LOCAL-PROGRAMS.json.gz": "39b230dba9e6b022c691cd0167f331c1b3fa6795d49256e3a2b859c68d4acfda", + "LOCAL-CHECKS.json": "bd53e0cca4488f365ca5b7c7174d8dfb35ced5e0229835f27334c11c3d839717", + "INDEPENDENT-LOCAL-REPLAY.json": "adb5c8ce0b5025dcd96f41b9fa0e26b9a176e067ab36a5bfadad00bc19522b38", + "CLIFFORD-RECIPES.json": "0a60293f43d88dbb1b321f02e61204afe1b6272b1346968ef35705caea1e4771", + "CLIFFORD-REVIEW.json": "1b4aa8bf9185b423e3f29e0ee2eb4d7082e2408c2b09cba1ef02282282731152", + "RESIDUAL-ADAPTERS.json": "c233611dd4c08c389dfb6c7d1c84dd86a3efa560223fcd6549a2848692541cd9" + } + }, + "controller_audit_sha256": "df19a41a599bf24fd1efaeb2394af63208f95b9e3ca4f83c6f23e9641fb3d662" +} diff --git a/research/gauge44-slots/evidence/audit/PREFIX-AND-INVOICE.json b/research/gauge44-slots/evidence/audit/PREFIX-AND-INVOICE.json new file mode 100644 index 0000000000..6c96ec6706 --- /dev/null +++ b/research/gauge44-slots/evidence/audit/PREFIX-AND-INVOICE.json @@ -0,0 +1,1746 @@ +{ + "status": "PASS_INDEPENDENT_MIXED_ASYNC_SCALAR_PREFIX_AND_FINITE_INVOICE", + "template_sha256": "0c2aab7dc120f5882a0171496cbbe819cac81373dcb425802a15f45e36898a46", + "parent_template_sha256": "7db047a427a7979d69e163c78a1e32bd445628fb86723e131a3138361355a9c3", + "owner_audit_sha256": "a32ecc0d5387d65648e1ff284209122860ee37aaba43ce2dd12024c4bc394313", + "controller_audit_sha256": "df19a41a599bf24fd1efaeb2394af63208f95b9e3ca4f83c6f23e9641fb3d662", + "providers": { + "gauge44": { + "local": { + "backward": { + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "prefix_l1": "600338326363508935771850050281004728884643/32", + "prefix_bits": 134, + "coefficient_work_primitive_count": 208744, + "all_exact_columns": 716, + "dirty_helper_columns": 492, + "all_dirty_helper_columns_restored": true, + "private_centres_and_coefficient_work_cleared": true, + "pre_wrappers": 248, + "post_wrappers": 248, + "endpoint_evidence": "Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json" + }, + "forward": { + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "prefix_l1": "2323449462751823289130723296176889733365478515961323543/64", + "prefix_bits": 175, + "coefficient_work_primitive_count": 208712, + "all_exact_columns": 716, + "dirty_helper_columns": 492, + "all_dirty_helper_columns_restored": true, + "private_centres_and_coefficient_work_cleared": true, + "pre_wrappers": 248, + "post_wrappers": 248, + "endpoint_evidence": "Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json" + } + }, + "helpers": 492, + "centres": 8, + "v": 112, + "h": 9, + "n": 716, + "entering_helpers": 204, + "entrance_rank": 380, + "terminal_codimension": 254, + "hyperplane_ended_helpers": 78, + "cold_hyperplane_ended_helpers": 44, + "width_inventory": { + "4": 52, + "5": 48, + "7": 34, + "8": 114, + "9": 244 + }, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 9, + 8, + 9, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ], + "local_adapters": 738816, + "local_primitive_bound": 19160702806276, + "compiler": 25934336, + "children": 3590, + "artifacts": { + "WRAPPER-CHECKS.json": "84c727930f85f1c91900d6d12c523735c8b5d6907cd3eb1bd1030fe1fd4161d7", + "RESIDUAL-ADAPTERS.json": "bb6c23ba1b8dd5d2016724c3348b4e91a6b91daaa3f56bbd5216cb7a96bf5c94", + "LOCAL-PROGRAMS.json.gz": "172dc3d23e437909ddc01d07b12ede735afbb5bb6145f1ddf5c2e03097dfebe2", + "INDEPENDENT-LOCAL-REPLAY.json": "18d68326ce0aca76911d561e79a817bce90cb8adfe053e19621c7ae0298b842e", + "CANONICAL-WORD.json.gz": "92941c2b718b533f1d3addb710d261a6e2b9ec5d19f0051d79775b08cb2571ed", + "SCALAR-FRAME-AUDIT.json": "cfc73040079b43ea82a42f3cf4c910edda1362deb09ec21c816c329347313bcb", + "FULL-WORD.json.gz": "0ad202612f010df4ab66432a628247b37ad8b497dd6b27595b1685cbd7eb119e", + "CLIFFORD-RECIPES.json": "0a60293f43d88dbb1b321f02e61204afe1b6272b1346968ef35705caea1e4771", + "CLIFFORD-REVIEW.json": "4e3cdd616d105a49bbf1948bb53e49938d515c42f1c026781d1b5e9cb636db12", + "LOCAL-CHECKS.json": "2b8a6a6854b8df8ecd84d8ff2b92f720c81454636988e6a0dfdc1f6c29d1c82c" + }, + "paid_profile": { + "1": 2514, + "2": 404, + "3": 448, + "4": 160, + "5": 56, + "8": 8 + }, + "program_hashes": { + "backward": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "forward": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9" + }, + "semantic_artifact_sha256": { + "CANONICAL-WORD.json.gz": "e6daee410e04d5e023faf21144081534ad222d334ce786e6b5f52407e6b3c41f", + "LOCAL-PROGRAMS.json.gz": "39b230dba9e6b022c691cd0167f331c1b3fa6795d49256e3a2b859c68d4acfda", + "LOCAL-CHECKS.json": "bd53e0cca4488f365ca5b7c7174d8dfb35ced5e0229835f27334c11c3d839717", + "INDEPENDENT-LOCAL-REPLAY.json": "adb5c8ce0b5025dcd96f41b9fa0e26b9a176e067ab36a5bfadad00bc19522b38", + "CLIFFORD-RECIPES.json": "0a60293f43d88dbb1b321f02e61204afe1b6272b1346968ef35705caea1e4771", + "CLIFFORD-REVIEW.json": "1b4aa8bf9185b423e3f29e0ee2eb4d7082e2408c2b09cba1ef02282282731152", + "RESIDUAL-ADAPTERS.json": "c233611dd4c08c389dfb6c7d1c84dd86a3efa560223fcd6549a2848692541cd9" + } + } + }, + "provider_phase_semantic_sha256": { + "gauge44": "1b4aa8bf9185b423e3f29e0ee2eb4d7082e2408c2b09cba1ef02282282731152" + }, + "provider_counts": { + "gauge44": 72 + }, + "selected_calls": [ + { + "stage": 0, + "replica": 0, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 0, + "replica": 1, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 1, + "replica": 0, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 0, + "replica": 2, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 1, + "replica": 1, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 2, + "replica": 0, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 0, + "replica": 3, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 1, + "replica": 2, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 2, + "replica": 1, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 3, + "replica": 0, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 0, + "replica": 4, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 1, + "replica": 3, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 2, + "replica": 2, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 3, + "replica": 1, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 4, + "replica": 0, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 0, + "replica": 5, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 1, + "replica": 4, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 2, + "replica": 3, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 3, + "replica": 2, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 4, + "replica": 1, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 5, + "replica": 0, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 0, + "replica": 6, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 1, + "replica": 5, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 2, + "replica": 4, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 3, + "replica": 3, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 4, + "replica": 2, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 5, + "replica": 1, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 0, + "replica": 7, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 6, + "replica": 0, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 1, + "replica": 6, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 2, + "replica": 5, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 3, + "replica": 4, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 4, + "replica": 3, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 5, + "replica": 2, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 6, + "replica": 1, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 1, + "replica": 7, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 7, + "replica": 0, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 2, + "replica": 6, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 3, + "replica": 5, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 4, + "replica": 4, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 5, + "replica": 3, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 6, + "replica": 2, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 7, + "replica": 1, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 2, + "replica": 7, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 8, + "replica": 0, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 3, + "replica": 6, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 4, + "replica": 5, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 5, + "replica": 4, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 6, + "replica": 3, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 7, + "replica": 2, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 8, + "replica": 1, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 3, + "replica": 7, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 4, + "replica": 6, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 5, + "replica": 5, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 6, + "replica": 4, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 7, + "replica": 3, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 8, + "replica": 2, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 4, + "replica": 7, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 5, + "replica": 6, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 6, + "replica": 5, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 7, + "replica": 4, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 8, + "replica": 3, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 5, + "replica": 7, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 6, + "replica": 6, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 7, + "replica": 5, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 8, + "replica": 4, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 6, + "replica": 7, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 7, + "replica": 6, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 8, + "replica": 5, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 7, + "replica": 7, + "provider_id": "gauge44", + "orientation": "backward", + "program_sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420100, + "coefficient_work_primitive_count": 208744, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 8, + "replica": 6, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + }, + { + "stage": 8, + "replica": 7, + "provider_id": "gauge44", + "orientation": "forward", + "program_sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "macros": 41570, + "real_component_primitives": 420052, + "coefficient_work_primitive_count": 208712, + "entering_helpers": 204, + "entrance_rank": 380, + "pre_wrappers": 248, + "post_wrappers": 248 + } + ], + "selected_local_paid_profile": { + "1": 181008, + "2": 29088, + "3": 32256, + "4": 11520, + "5": 4032, + "8": 576 + }, + "selected_real_component_primitives": 30245280, + "selected_coefficient_work_primitive_count": 15028288, + "selected_scalar_macros": 2993040, + "global_prefix_bits": 360, + "charged_prefix_bits": 512, + "complete_invocation_sweeps": 72, + "bridge_sweeps": 72, + "row_prefix_extra": 1024, + "helpers": 492, + "centres": 8, + "live": 7168, + "physical": 7670, + "physical_stock_identity": { + "data_and_owner_families": 7168, + "local_helpers": 492, + "private_centres": 8, + "coefficient_work": 2 + }, + "local_adapters": 738816, + "local_primitive_bound": 19160702806276, + "wrapper_elementary_factors_charged": 5142528, + "factors_per_wrapper": 144, + "compiler": 25934336, + "unhosted_pervertex": 2486201168471768, + "hosted_rebased_pervertex": 2486201168171612, + "conservative_pervertex_used": 5364148158196336, + "retained_prior_overcharge": { + "sha256": "ce1bfa49be88ae67a404f606a11db2232b7e1f2610d4418058e39749d86d8478", + "previous_pervertex_allowance": 2877946989724568, + "added_complete_new_pervertex": 2486201168471768, + "policy": "Retain old allowance and add entire fresh mixed recount." + }, + "finite": { + "physical_stock_bits": 2641, + "router_bits": 7986, + "literal_bits": 35282, + "physical_row_coefficient": 16467, + "retained_row_coefficient": 20161, + "required_C0_bits": 200012, + "halving_integer_inequality": [ + 5329, + 4608 + ], + "G_exponent": 30000, + "E_exponent": 100000, + "C0_exponent": 210000 + }, + "strict_checks": { + "local_primitive_bound": true, + "logical": true, + "router": true, + "literal": true, + "mass": true, + "precision": true, + "tape": true, + "row": true, + "halving": true + }, + "scope": "Actual call-specific mixed scalar, Horner, wrappers and paid children recounted. All three providers use fresh hash-bound independent all-column/frame/phase/normalization admission. Shared compiler uses conservative maxima; parent is geometry/overcharge only. All-size compiler, hosting, precision/tape and analytic transfer remain conditional." +} diff --git a/research/gauge44-slots/evidence/global/ACTUAL-SIGMAS.json.gz b/research/gauge44-slots/evidence/global/ACTUAL-SIGMAS.json.gz new file mode 100644 index 0000000000..dbb57066e2 Binary files /dev/null and b/research/gauge44-slots/evidence/global/ACTUAL-SIGMAS.json.gz differ diff --git a/research/gauge44-slots/evidence/global/GLOBAL-TEMPLATE.json.gz b/research/gauge44-slots/evidence/global/GLOBAL-TEMPLATE.json.gz new file mode 100644 index 0000000000..424c2df489 Binary files /dev/null and b/research/gauge44-slots/evidence/global/GLOBAL-TEMPLATE.json.gz differ diff --git a/research/gauge44-slots/evidence/global/HOSTED.json b/research/gauge44-slots/evidence/global/HOSTED.json new file mode 100644 index 0000000000..498e849ab7 --- /dev/null +++ b/research/gauge44-slots/evidence/global/HOSTED.json @@ -0,0 +1,60 @@ +{ + "status": "EMITTED_MIXED_PROVIDER_ASYNCHRONOUS_WHOLE_OWNER_COMPLEX_TEMPLATE", + "template_sha256": "0c2aab7dc120f5882a0171496cbbe819cac81373dcb425802a15f45e36898a46", + "parent_template_sha256": "7db047a427a7979d69e163c78a1e32bd445628fb86723e131a3138361355a9c3", + "live": 7168, + "physical": 7670, + "global_profile": { + "1": 181093, + "2": 29164, + "3": 32429, + "4": 11520, + "5": 4032, + "7": 7, + "8": 582, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + }, + "rank_mass": 520704, + "deficit": 2560, + "maxchild": 48, + "hosted_residuals": 35424, + "banks_per_stage": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "entering_helper_roles": 17856, + "unique_actual_73column_sigmas": 7870, + "sigma_stream_sha256": "f4e9802acb2ed53fc1f0486e7d0f55a6faa30ed7f5d2ad48a06450234b00ba76", + "cross_replica_helper_roles": 25937, + "asynchronous_order_sha256": "2acd6b2004be3d3ef6645f3c968feb22b5167c400bb49eb446821e5cb7af6eee", + "source_artifacts": { + "work/complex-nine-native/DATA-PHASES.json": "c5916ff312678f12aba403847643fbbc29f643acec60bdf836fa56cd3e8251fa", + "providers/gauge44/CANONICAL-WORD.json.gz": "92941c2b718b533f1d3addb710d261a6e2b9ec5d19f0051d79775b08cb2571ed", + "providers/gauge44/LOCAL-PROGRAMS.json.gz": "172dc3d23e437909ddc01d07b12ede735afbb5bb6145f1ddf5c2e03097dfebe2", + "providers/gauge44/LOCAL-CHECKS.json": "2b8a6a6854b8df8ecd84d8ff2b92f720c81454636988e6a0dfdc1f6c29d1c82c", + "providers/gauge44/INDEPENDENT-LOCAL-REPLAY.json": "18d68326ce0aca76911d561e79a817bce90cb8adfe053e19621c7ae0298b842e", + "providers/gauge44/RESIDUAL-ADAPTERS.json": "bb6c23ba1b8dd5d2016724c3348b4e91a6b91daaa3f56bbd5216cb7a96bf5c94", + "providers/gauge44/CLIFFORD-RECIPES.json": "0a60293f43d88dbb1b321f02e61204afe1b6272b1346968ef35705caea1e4771", + "providers/gauge44/CLIFFORD-REVIEW.json": "4e3cdd616d105a49bbf1948bb53e49938d515c42f1c026781d1b5e9cb636db12" + }, + "provider_counts": { + "gauge44": 72 + }, + "scope": "Two actual verified plain/width-seven providers dispatched per complete invocation; independent controller/spectator/normalization and complete finite invoice admission required." +} diff --git a/research/gauge44-slots/evidence/global/IDLE-REMAINDER-FRAMES.json.gz b/research/gauge44-slots/evidence/global/IDLE-REMAINDER-FRAMES.json.gz new file mode 100644 index 0000000000..3562e60f05 Binary files /dev/null and b/research/gauge44-slots/evidence/global/IDLE-REMAINDER-FRAMES.json.gz differ diff --git a/research/gauge44-slots/evidence/layers/LOCAL-AUDIT-LAYERED.json b/research/gauge44-slots/evidence/layers/LOCAL-AUDIT-LAYERED.json new file mode 100644 index 0000000000..0780787674 --- /dev/null +++ b/research/gauge44-slots/evidence/layers/LOCAL-AUDIT-LAYERED.json @@ -0,0 +1,137 @@ +{ + "status": "PASS_INDEPENDENT_EXACT_FORWARD_AND_DUAL_ENDPOINT_FRAMES_ENTRANCES_CONES", + "input_file": "FULL-WORD.json.gz", + "content_sha256": "db2c7cfb3f8eee2b76c2e0154fc530520fb4d90cd9511a002cab527b16033b83", + "compressed_sha256": "3b268a3adb543e930454e9d9405e5f7a664c75c487f6c5cbe29c199f24a89789", + "parent_center_interface": { + "parent_path": "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/CANONICAL-WORD.json.gz", + "parent_file_sha256": "66d3c3c70983224650643a0a05a21ac6c6959f84d0f4528650601016f5a76844", + "transport_tau": 43, + "ordered_frame_bases_match": true, + "all_ports_match": true, + "transported_centers": [ + 92, + 57, + 81, + 224, + 11, + 240, + 9, + 256 + ], + "source_centers": [ + 92, + 57, + 81, + 11, + 9 + ], + "ordered_frame_bases": [ + [ + 256, + 128, + 64, + 34, + 16, + 10, + 4, + 1 + ], + [ + 256, + 128, + 64, + 32, + 16, + 8, + 5, + 3 + ], + [ + 256, + 128, + 64, + 32, + 17, + 9, + 4, + 2 + ], + [ + 256, + 128, + 64, + 36, + 20, + 8, + 2, + 1 + ], + [ + 256, + 128, + 66, + 32, + 18, + 8, + 4, + 1 + ], + [ + 256, + 128, + 65, + 33, + 17, + 9, + 5, + 3 + ], + [ + 256, + 128, + 65, + 33, + 16, + 8, + 4, + 2 + ], + [ + 256, + 128, + 68, + 32, + 16, + 12, + 2, + 1 + ] + ] + }, + "v": 112, + "h": 9, + "R": 480, + "entering": 192, + "lowends": 78, + "coldends": 48, + "compensation_gates": 7208, + "local_profile": { + "1": 2412, + "2": 418, + "3": 418, + "4": 170, + "5": 68, + "8": 8 + }, + "width_inventory": { + "4": 56, + "5": 32, + "7": 30, + "8": 122, + "9": 240 + }, + "checked_columns": 704, + "elapsed_seconds": 0.8600000000005821, + "scope": "Exact rational full scalar map in both orientations; all literal native frame chains, center levels, dyadic units, entrance-zero response, wrapper exclusion and final helper row/column cones. No global owner admission or exponent repricing." +} diff --git a/research/gauge44-slots/evidence/leaver/CELL-MUTANTS-LV.json b/research/gauge44-slots/evidence/leaver/CELL-MUTANTS-LV.json new file mode 100644 index 0000000000..4d4ef7403c --- /dev/null +++ b/research/gauge44-slots/evidence/leaver/CELL-MUTANTS-LV.json @@ -0,0 +1,261 @@ +{ + "c01m": { + "base": { + "audit_local": "PASS", + "native": "PASS" + }, + "window": [ + 611, + 631 + ], + "mutants": { + "M1_drop_leaver_restore_233": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [233])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M2_flip_yy_B623": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [172, 175])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M3_delete_xy_B611": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [132, 135, 173, 174])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M4_target_reads_entering_h448": { + "audit_local": "RuntimeError: nonzero entrance response", + "native": "AssertionError: zero-frame compensation reads an entering helper" + }, + "M5_wrong_leaver_restore_233": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [233])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M6_unrelabelled_dirty_yy_source": { + "audit_local": "RuntimeError: nonzero entrance response", + "native": "AssertionError: zero-frame compensation reads an entering helper" + } + }, + "all_rejected_both": true + }, + "c01p": { + "base": { + "audit_local": "PASS", + "native": "PASS" + }, + "window": [ + 611, + 631 + ], + "mutants": { + "M1_drop_leaver_restore_57": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [57, 58, 224, 225, 226])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M2_flip_yy_B623": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [169, 170])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M3_delete_xy_B611": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [129, 130, 168, 171])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M4_target_reads_entering_h448": { + "audit_local": "RuntimeError: nonzero entrance response", + "native": "AssertionError: zero-frame compensation reads an entering helper" + }, + "M5_wrong_leaver_restore_57": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [57, 58, 224, 225, 226])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M6_unrelabelled_dirty_yy_source": { + "audit_local": "RuntimeError: nonzero entrance response", + "native": "AssertionError: zero-frame compensation reads an entering helper" + } + }, + "all_rejected_both": true + }, + "c23m": { + "base": { + "audit_local": "PASS", + "native": "PASS" + }, + "window": [ + 611, + 631 + ], + "mutants": { + "M1_drop_leaver_restore_58": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [58])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M2_flip_yy_B623": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [169, 170])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M3_delete_xy_B611": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [173, 174, 196, 199])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M4_target_reads_entering_h448": { + "audit_local": "RuntimeError: nonzero entrance response", + "native": "AssertionError: zero-frame compensation reads an entering helper" + }, + "M5_wrong_leaver_restore_58": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [58])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M6_unrelabelled_dirty_yy_source": { + "audit_local": "RuntimeError: nonzero entrance response", + "native": "AssertionError: zero-frame compensation reads an entering helper" + } + }, + "all_rejected_both": true + }, + "c23p": { + "base": { + "audit_local": "PASS", + "native": "PASS" + }, + "window": [ + 611, + 631 + ], + "mutants": { + "M1_drop_leaver_restore_239": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [60, 63, 231, 232, 238, 239])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M2_flip_yy_B623": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [172, 175])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M3_delete_xy_B611": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [168, 171, 193, 194])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M4_target_reads_entering_h448": { + "audit_local": "RuntimeError: nonzero entrance response", + "native": "AssertionError: zero-frame compensation reads an entering helper" + }, + "M5_wrong_leaver_restore_239": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [60, 63, 231, 232, 238, 239])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M6_unrelabelled_dirty_yy_source": { + "audit_local": "RuntimeError: nonzero entrance response", + "native": "AssertionError: zero-frame compensation reads an entering helper" + } + }, + "all_rejected_both": true + }, + "c45m": { + "base": { + "audit_local": "PASS", + "native": "PASS" + }, + "window": [ + 611, + 631 + ], + "mutants": { + "M1_drop_leaver_restore_441": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [52, 55, 439, 440, 446, 447])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M2_flip_yy_B623": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [137, 138])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M3_delete_xy_B611": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [141, 142, 164, 167])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M4_target_reads_entering_h448": { + "audit_local": "RuntimeError: nonzero entrance response", + "native": "AssertionError: zero-frame compensation reads an entering helper" + }, + "M5_wrong_leaver_restore_441": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [52, 55, 439, 440, 446, 447])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M6_unrelabelled_dirty_yy_source": { + "audit_local": "RuntimeError: nonzero entrance response", + "native": "AssertionError: zero-frame compensation reads an entering helper" + } + }, + "all_rejected_both": true + }, + "c45p": { + "base": { + "audit_local": "PASS", + "native": "PASS" + }, + "window": [ + 611, + 631 + ], + "mutants": { + "M1_drop_leaver_restore_255": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [28, 31, 247, 248, 254, 255])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M2_flip_yy_B623": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [140, 143])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M3_delete_xy_B611": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [136, 139, 161, 162])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M4_target_reads_entering_h448": { + "audit_local": "RuntimeError: nonzero entrance response", + "native": "AssertionError: zero-frame compensation reads an entering helper" + }, + "M5_wrong_leaver_restore_255": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [28, 31, 247, 248, 254, 255])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M6_unrelabelled_dirty_yy_source": { + "audit_local": "RuntimeError: nonzero entrance response", + "native": "AssertionError: zero-frame compensation reads an entering helper" + } + }, + "all_rejected_both": true + }, + "c67m": { + "base": { + "audit_local": "PASS", + "native": "PASS" + }, + "window": [ + 611, + 631 + ], + "mutants": { + "M1_drop_leaver_restore_18": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [18])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M2_flip_yy_B623": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [129, 130])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M3_delete_xy_B611": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [133, 134, 161, 162])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M4_target_reads_entering_h448": { + "audit_local": "RuntimeError: nonzero entrance response", + "native": "AssertionError: zero-frame compensation reads an entering helper" + }, + "M5_wrong_leaver_restore_18": { + "audit_local": "RuntimeError: all-column endpoint failure (False, [18])", + "native": "AssertionError: ('arbitrary-dirt endpoint', False)" + }, + "M6_unrelabelled_dirty_yy_source": { + "audit_local": "RuntimeError: nonzero entrance response", + "native": "AssertionError: zero-frame compensation reads an entering helper" + } + }, + "all_rejected_both": true + } +} \ No newline at end of file diff --git a/research/gauge44-slots/evidence/leaver/FRAME-CONTROLS-LV-k8.json b/research/gauge44-slots/evidence/leaver/FRAME-CONTROLS-LV-k8.json new file mode 100644 index 0000000000..9f56e21000 --- /dev/null +++ b/research/gauge44-slots/evidence/leaver/FRAME-CONTROLS-LV-k8.json @@ -0,0 +1,54 @@ +{ + "base": "c836d892", + "recipe": "FRAME-RECIPE-LV-k8.json", + "controls": { + "shrink_raised_B": { + "builder": "profile and width pins", + "stage": "native_atc", + "native": "PASS", + "rc": 0, + "reason": "}", + "frame": [ + "B", + 539 + ] + }, + "shrink_lowered_B": { + "builder": "('nonmonotone', 174)", + "stage": "apply", + "reason": "('nonmonotone', 174)" + }, + "shrink_T": { + "builder": "('nonmonotone', 554)", + "stage": "apply", + "reason": "('nonmonotone', 554)" + }, + "empty_B": { + "builder": "('nonmonotone', 169)", + "stage": "apply", + "reason": "('nonmonotone', 169)" + }, + "drop_one_lowering": { + "builder": "output word pin", + "stage": "native_atc", + "native": "PASS", + "rc": 0, + "reason": "}", + "frame": [ + "B", + 1232 + ] + }, + "drop_one_raise": { + "builder": "profile and width pins", + "stage": "native_atc", + "native": "PASS", + "rc": 0, + "reason": "}", + "frame": [ + "B", + 539 + ] + } + } +} diff --git a/research/gauge44-slots/evidence/local/CANONICAL-WORD.json.gz b/research/gauge44-slots/evidence/local/CANONICAL-WORD.json.gz new file mode 100644 index 0000000000..5062a1f62f Binary files /dev/null and b/research/gauge44-slots/evidence/local/CANONICAL-WORD.json.gz differ diff --git a/research/gauge44-slots/evidence/local/CLIFFORD-RECIPES.json b/research/gauge44-slots/evidence/local/CLIFFORD-RECIPES.json new file mode 100644 index 0000000000..3ba8326d3a --- /dev/null +++ b/research/gauge44-slots/evidence/local/CLIFFORD-RECIPES.json @@ -0,0 +1 @@ +{"children":[{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":2,"old":0,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,1,1,2],"matrix_rows":[203,257,258,4,264,16,32,320,384],"offset":0,"phase":0,"quadratic_rows":[459,459,0,459,0,0,459,459,203]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":3,"old":0,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":4,"old":0,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":5,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":6,"old":0,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":7,"old":0,"rank":1,"right":{"linear_Z4":[3,3,0,2,0,0,0,0,0],"matrix_rows":[11,9,10,4,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":8,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,3,3,2],"matrix_rows":[448,1,2,4,8,16,32,320,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,0,192,192,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":9,"old":0,"rank":1,"right":{"linear_Z4":[3,0,3,3,0,3,3,3,2],"matrix_rows":[493,257,2,260,264,16,288,320,384],"offset":1,"phase":1,"quadratic_rows":[237,0,237,237,0,237,237,237,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":10,"old":0,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,2,0,0,0],"matrix_rows":[38,1,34,36,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":11,"old":0,"rank":1,"right":{"linear_Z4":[3,3,0,0,3,3,3,3,2],"matrix_rows":[499,257,258,4,8,272,288,320,384],"offset":1,"phase":1,"quadratic_rows":[243,243,0,0,243,243,243,243,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":12,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,2,0,0,0],"matrix_rows":[56,1,2,4,40,48,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,24,24,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":13,"old":0,"rank":1,"right":{"linear_Z4":[3,0,3,0,2,0,0,0,0],"matrix_rows":[21,17,2,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":14,"old":0,"rank":1,"right":{"linear_Z4":[0,3,3,3,3,0,3,3,2],"matrix_rows":[478,1,258,260,264,272,32,320,384],"offset":1,"phase":1,"quadratic_rows":[0,222,222,222,222,0,222,222,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,33,64,1,130,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":18,"old":0,"rank":2,"right":{"linear_Z4":[1,0,1,1,0,2,3,3,2],"matrix_rows":[13,448,33,2,36,40,16,320,384],"offset":2,"phase":1,"quadratic_rows":[45,0,45,45,0,13,192,192,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,19,35,66,1,130,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":25,"old":0,"rank":2,"right":{"linear_Z4":[1,3,0,0,3,2,3,3,2],"matrix_rows":[13,478,33,258,292,296,272,320,384],"offset":2,"phase":1,"quadratic_rows":[45,222,243,243,222,13,222,222,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[6,8,18,35,1,3,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":26,"old":0,"rank":2,"right":{"linear_Z4":[1,0,1,2,0,2,0,0,0],"matrix_rows":[24,13,49,2,52,40,64,128,256],"offset":0,"phase":0,"quadratic_rows":[61,0,61,53,13,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":36,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,0,3,2,0],"matrix_rows":[208,1,2,4,8,144,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,80,0,80,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":37,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,0,3,0,2],"matrix_rows":[336,1,2,4,8,272,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,80,0,80,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":38,"old":0,"rank":1,"right":{"linear_Z4":[3,0,3,3,3,3,3,0,2],"matrix_rows":[381,257,2,260,264,272,288,320,128],"offset":1,"phase":1,"quadratic_rows":[125,0,125,125,125,125,125,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":39,"old":0,"rank":1,"right":{"linear_Z4":[3,0,3,3,3,3,3,2,0],"matrix_rows":[253,129,2,132,136,144,160,192,256],"offset":1,"phase":1,"quadratic_rows":[125,0,125,125,125,125,125,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":40,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,3,0,0,2],"matrix_rows":[296,1,2,4,264,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,40,0,40,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":41,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,3,0,2,0],"matrix_rows":[168,1,2,4,136,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,40,0,40,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":42,"old":0,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,2,0],"matrix_rows":[133,129,2,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":43,"old":0,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,0,2],"matrix_rows":[261,257,2,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[6,8,18,35,64,3,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":54,"old":0,"rank":2,"right":{"linear_Z4":[1,0,1,2,0,2,0,0,0],"matrix_rows":[264,13,289,2,292,40,16,64,128],"offset":0,"phase":0,"quadratic_rows":[301,0,301,293,0,13,0,0,13]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[6,8,18,35,64,3,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":55,"old":0,"rank":2,"right":{"linear_Z4":[1,0,1,2,0,2,0,0,0],"matrix_rows":[136,13,161,2,164,40,16,64,256],"offset":0,"phase":0,"quadratic_rows":[173,0,173,165,0,13,0,13,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":65,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,0,0,3,2],"matrix_rows":[400,1,2,4,8,272,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,144,0,0,144,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":66,"old":0,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,2,0,0,0],"matrix_rows":[35,33,34,4,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":67,"old":0,"rank":1,"right":{"linear_Z4":[0,3,3,2,0,0,0,0,0],"matrix_rows":[14,1,10,12,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":68,"old":0,"rank":1,"right":{"linear_Z4":[3,0,3,3,3,3,0,3,2],"matrix_rows":[445,257,2,260,264,272,288,64,384],"offset":1,"phase":1,"quadratic_rows":[189,0,189,189,189,189,0,189,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":69,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,3,2,0,0],"matrix_rows":[104,1,2,4,72,16,96,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,40,0,40,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":70,"old":0,"rank":1,"right":{"linear_Z4":[3,3,0,3,3,0,3,3,2],"matrix_rows":[475,257,258,4,264,272,32,320,384],"offset":1,"phase":1,"quadratic_rows":[219,219,0,219,219,0,219,219,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":71,"old":0,"rank":1,"right":{"linear_Z4":[0,3,3,0,3,3,3,3,2],"matrix_rows":[502,1,258,260,8,272,288,320,384],"offset":1,"phase":1,"quadratic_rows":[0,246,246,0,246,246,246,246,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":72,"old":0,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,2,0,0],"matrix_rows":[69,65,2,68,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[7,9,18,2,32,3,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":76,"old":0,"rank":2,"right":{"linear_Z4":[2,3,3,2,0,2,0,0,0],"matrix_rows":[43,5,33,42,12,16,64,128,256],"offset":3,"phase":2,"quadratic_rows":[14,3,13,5,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[6,8,18,35,64,3,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":83,"old":0,"rank":2,"right":{"linear_Z4":[1,0,1,2,0,2,0,0,0],"matrix_rows":[72,13,97,2,100,40,16,128,256],"offset":0,"phase":0,"quadratic_rows":[109,0,109,101,0,13,13,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":94,"old":0,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,2,0,0,0],"matrix_rows":[41,33,2,4,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":95,"old":0,"rank":1,"right":{"linear_Z4":[3,3,3,0,3,3,0,3,2],"matrix_rows":[439,257,258,260,8,272,288,64,384],"offset":1,"phase":1,"quadratic_rows":[183,183,183,0,183,183,0,183,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":96,"old":0,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,0,0,3,2],"matrix_rows":[388,1,2,260,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,132,0,0,0,0,132,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":97,"old":0,"rank":1,"right":{"linear_Z4":[0,3,0,3,2,0,0,0,0],"matrix_rows":[26,1,18,4,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":98,"old":0,"rank":1,"right":{"linear_Z4":[3,3,3,3,0,0,3,3,2],"matrix_rows":[463,257,258,260,264,16,32,320,384],"offset":1,"phase":1,"quadratic_rows":[207,207,207,207,0,0,207,207,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":99,"old":0,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,2,0,0],"matrix_rows":[81,65,2,4,8,80,32,128,256],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":100,"old":0,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,3,2,0,0],"matrix_rows":[98,1,66,4,8,16,96,128,256],"offset":1,"phase":1,"quadratic_rows":[0,34,0,0,0,34,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":101,"old":0,"rank":1,"right":{"linear_Z4":[0,0,3,3,3,3,3,3,2],"matrix_rows":[508,1,2,260,264,272,288,320,384],"offset":1,"phase":1,"quadratic_rows":[0,0,252,252,252,252,252,252,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[6,10,19,35,65,1,131,259,3],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":112,"old":0,"rank":2,"right":{"linear_Z4":[3,3,0,0,1,2,0,0,3],"matrix_rows":[476,463,289,290,260,264,48,320,384],"offset":2,"phase":1,"quadratic_rows":[239,239,275,275,508,19,275,275,476]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":123,"old":0,"rank":1,"right":{"linear_Z4":[3,3,3,0,3,3,3,0,2],"matrix_rows":[375,257,258,260,8,272,288,320,128],"offset":1,"phase":1,"quadratic_rows":[119,119,119,0,119,119,119,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":124,"old":0,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,0,3,2,0],"matrix_rows":[196,1,2,132,8,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,0,68,0,0,0,68,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":125,"old":0,"rank":1,"right":{"linear_Z4":[3,3,3,0,3,3,3,2,0],"matrix_rows":[247,129,130,132,8,144,160,192,256],"offset":1,"phase":1,"quadratic_rows":[119,119,119,0,119,119,119,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":126,"old":0,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,0,3,0,2],"matrix_rows":[324,1,2,260,8,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,0,68,0,0,0,68,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":127,"old":0,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,2,0],"matrix_rows":[145,129,2,4,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":128,"old":0,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,3,0,0,2],"matrix_rows":[290,1,258,4,8,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,34,0,0,0,34,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":129,"old":0,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,0,2],"matrix_rows":[273,257,2,4,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":130,"old":0,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,3,0,2,0],"matrix_rows":[162,1,130,4,8,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,34,0,0,0,34,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":152,"old":0,"rank":1,"right":{"linear_Z4":[3,3,3,0,0,3,3,3,2],"matrix_rows":[487,257,258,260,8,16,288,320,384],"offset":1,"phase":1,"quadratic_rows":[231,231,231,0,0,231,231,231,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":153,"old":0,"rank":1,"right":{"linear_Z4":[0,0,3,0,3,0,2,0,0],"matrix_rows":[84,1,2,68,8,80,32,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,20,0,20,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":154,"old":0,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,2,0,0],"matrix_rows":[74,1,66,4,72,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":155,"old":0,"rank":1,"right":{"linear_Z4":[3,0,0,3,3,3,3,3,2],"matrix_rows":[505,257,2,4,264,272,288,320,384],"offset":1,"phase":1,"quadratic_rows":[249,0,0,249,249,249,249,249,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":156,"old":0,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,2,0,0,0],"matrix_rows":[44,1,2,36,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":157,"old":0,"rank":1,"right":{"linear_Z4":[3,3,3,3,3,0,0,3,2],"matrix_rows":[415,257,258,260,264,272,32,64,384],"offset":1,"phase":1,"quadratic_rows":[159,159,159,159,159,0,0,159,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":158,"old":0,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,0,0,3,2],"matrix_rows":[385,257,2,4,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[129,0,0,0,0,0,0,129,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":159,"old":0,"rank":1,"right":{"linear_Z4":[0,3,0,0,3,2,0,0,0],"matrix_rows":[50,1,34,4,8,48,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,11,17,33,3,2,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":170,"old":0,"rank":2,"right":{"linear_Z4":[0,2,1,1,2,0,0,0,0],"matrix_rows":[14,34,1,18,52,56,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,60,62,62,14,14,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,20,32,70,130,2,6,257,1],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":172,"old":0,"rank":3,"right":{"linear_Z4":[3,3,0,2,3,2,2,3,2],"matrix_rows":[385,24,106,257,98,4,72,48,384],"offset":7,"phase":3,"quadratic_rows":[129,10,0,50,56,24,0,129,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[15,23,35,65,133,6,2,263,7],"offset":0,"phase":0,"quadratic_rows":[6,5,7,0,0,0,0,0,0]},"new":173,"old":0,"rank":3,"right":{"linear_Z4":[3,3,2,3,0,0,0,3,2],"matrix_rows":[415,391,499,257,258,356,296,336,384],"offset":3,"phase":2,"quadratic_rows":[235,235,376,191,300,415,391,235,116]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[15,21,35,71,129,2,4,263,7],"offset":0,"phase":0,"quadratic_rows":[6,3,5,0,0,0,0,0,0]},"new":174,"old":0,"rank":3,"right":{"linear_Z4":[1,0,0,1,3,1,1,1,0],"matrix_rows":[415,493,491,257,290,324,264,368,384],"offset":1,"phase":1,"quadratic_rows":[153,340,306,153,255,116,114,153,6]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,70,128,4,2,257,1],"offset":0,"phase":0,"quadratic_rows":[0,4,2,0,0,0,0,0,0]},"new":175,"old":0,"rank":3,"right":{"linear_Z4":[3,3,3,2,0,1,1,3,2],"matrix_rows":[385,106,108,257,66,36,104,16,384],"offset":7,"phase":3,"quadratic_rows":[129,42,76,102,0,106,108,129,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":181,"old":0,"rank":1,"right":{"linear_Z4":[0,0,3,0,3,0,0,2,0],"matrix_rows":[148,1,2,132,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,20,0,20,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":182,"old":0,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,0,0,2],"matrix_rows":[266,1,258,4,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":183,"old":0,"rank":1,"right":{"linear_Z4":[0,0,3,0,3,0,0,0,2],"matrix_rows":[276,1,2,260,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,20,0,20,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":184,"old":0,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,0,2,0],"matrix_rows":[138,1,130,4,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":185,"old":0,"rank":1,"right":{"linear_Z4":[3,3,3,3,3,0,3,0,2],"matrix_rows":[351,257,258,260,264,272,32,320,128],"offset":1,"phase":1,"quadratic_rows":[95,95,95,95,95,0,95,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":186,"old":0,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,0,3,2,0],"matrix_rows":[193,129,2,4,8,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[65,0,0,0,0,0,65,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":187,"old":0,"rank":1,"right":{"linear_Z4":[3,3,3,3,3,0,3,2,0],"matrix_rows":[223,129,130,132,136,144,32,192,256],"offset":1,"phase":1,"quadratic_rows":[95,95,95,95,95,0,95,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":188,"old":0,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,0,3,0,2],"matrix_rows":[321,257,2,4,8,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[65,0,0,0,0,0,65,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[13,18,33,66,129,256,5,2,4],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":201,"old":0,"rank":3,"right":{"linear_Z4":[2,3,1,3,1,0,2,2,0],"matrix_rows":[21,138,257,65,130,324,136,336,32],"offset":2,"phase":1,"quadratic_rows":[340,10,341,10,341,0,21,0,21]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[13,18,33,66,129,256,5,4,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":202,"old":0,"rank":3,"right":{"linear_Z4":[2,3,1,3,1,0,2,0,2],"matrix_rows":[21,266,129,65,258,196,264,208,32],"offset":2,"phase":1,"quadratic_rows":[212,10,213,10,213,0,21,21,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[11,23,32,71,128,256,3,6,2],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":203,"old":0,"rank":3,"right":{"linear_Z4":[0,3,0,3,0,0,2,1,2],"matrix_rows":[11,395,138,65,450,4,456,16,32],"offset":6,"phase":2,"quadratic_rows":[448,202,0,202,0,0,11,395,129]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,17,36,65,132,256,1,6,2],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":204,"old":0,"rank":3,"right":{"linear_Z4":[1,1,3,1,3,0,2,3,0],"matrix_rows":[11,384,148,65,66,388,72,400,32],"offset":4,"phase":1,"quadratic_rows":[75,75,276,75,276,0,11,384,148]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":210,"old":0,"rank":1,"right":{"linear_Z4":[3,0,3,2,0,0,0,0,0],"matrix_rows":[13,9,2,12,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":211,"old":0,"rank":1,"right":{"linear_Z4":[0,3,3,3,3,3,0,3,2],"matrix_rows":[446,1,258,260,264,272,288,64,384],"offset":1,"phase":1,"quadratic_rows":[0,190,190,190,190,190,0,190,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":212,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,3,0,3,2],"matrix_rows":[416,1,2,4,8,16,288,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,160,0,160,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":213,"old":0,"rank":1,"right":{"linear_Z4":[3,3,0,0,2,0,0,0,0],"matrix_rows":[19,17,18,4,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":214,"old":0,"rank":1,"right":{"linear_Z4":[3,3,0,3,0,3,3,3,2],"matrix_rows":[491,257,258,4,264,16,288,320,384],"offset":1,"phase":1,"quadratic_rows":[235,235,0,235,0,235,235,235,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":215,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,0,2,0,0],"matrix_rows":[88,1,2,4,72,80,32,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,24,24,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":216,"old":0,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,2,0,0],"matrix_rows":[70,1,66,68,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":217,"old":0,"rank":1,"right":{"linear_Z4":[3,0,3,0,3,3,3,3,2],"matrix_rows":[501,257,2,260,8,272,288,320,384],"offset":1,"phase":1,"quadratic_rows":[245,0,245,0,245,245,245,245,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,33,1,66,128,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":221,"old":0,"rank":2,"right":{"linear_Z4":[0,1,1,1,2,3,0,3,2],"matrix_rows":[14,416,1,18,20,24,288,64,384],"offset":2,"phase":1,"quadratic_rows":[0,30,30,30,14,160,0,160,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[7,9,18,33,2,67,131,259,3],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":228,"old":0,"rank":2,"right":{"linear_Z4":[0,3,1,3,2,0,0,0,3],"matrix_rows":[491,485,257,274,20,280,288,320,384],"offset":1,"phase":1,"quadratic_rows":[270,251,501,251,14,270,270,270,485]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":239,"old":0,"rank":1,"right":{"linear_Z4":[0,3,3,3,3,3,3,0,2],"matrix_rows":[382,1,258,260,264,272,288,320,128],"offset":1,"phase":1,"quadratic_rows":[0,126,126,126,126,126,126,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":240,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,3,3,2,0],"matrix_rows":[224,1,2,4,8,16,160,192,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,96,96,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":241,"old":0,"rank":1,"right":{"linear_Z4":[0,3,3,3,3,3,3,2,0],"matrix_rows":[254,1,130,132,136,144,160,192,256],"offset":1,"phase":1,"quadratic_rows":[0,126,126,126,126,126,126,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":242,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,3,3,0,2],"matrix_rows":[352,1,2,4,8,16,288,320,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,96,96,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":243,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,0,0,2,0],"matrix_rows":[152,1,2,4,136,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,24,24,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":244,"old":0,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,0,2],"matrix_rows":[262,1,258,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":245,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,0,0,0,2],"matrix_rows":[280,1,2,4,264,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,24,24,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":246,"old":0,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,2,0],"matrix_rows":[134,1,130,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,33,1,66,130,2,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":250,"old":0,"rank":2,"right":{"linear_Z4":[0,1,1,1,2,3,3,2,0],"matrix_rows":[14,224,1,18,20,24,160,192,256],"offset":2,"phase":1,"quadratic_rows":[0,30,30,30,14,96,96,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":268,"old":0,"rank":1,"right":{"linear_Z4":[0,3,3,3,0,3,3,3,2],"matrix_rows":[494,1,258,260,264,16,288,320,384],"offset":1,"phase":1,"quadratic_rows":[0,238,238,238,0,238,238,238,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":269,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,3,2,0,0],"matrix_rows":[112,1,2,4,8,80,96,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,48,48,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":270,"old":0,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,2,0,0],"matrix_rows":[67,65,66,4,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":271,"old":0,"rank":1,"right":{"linear_Z4":[3,0,3,3,3,0,3,3,2],"matrix_rows":[477,257,2,260,264,272,32,320,384],"offset":1,"phase":1,"quadratic_rows":[221,0,221,221,221,0,221,221,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":272,"old":0,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,2,0,0,0],"matrix_rows":[37,33,2,36,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":273,"old":0,"rank":1,"right":{"linear_Z4":[3,3,0,3,3,3,0,3,2],"matrix_rows":[443,257,258,4,264,272,288,64,384],"offset":1,"phase":1,"quadratic_rows":[187,187,0,187,187,187,0,187,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":274,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,0,0,3,2],"matrix_rows":[392,1,2,4,264,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,136,0,0,0,136,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":275,"old":0,"rank":1,"right":{"linear_Z4":[0,3,3,0,2,0,0,0,0],"matrix_rows":[22,1,18,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[6,10,16,32,67,3,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":279,"old":0,"rank":2,"right":{"linear_Z4":[1,1,0,0,2,2,0,0,0],"matrix_rows":[80,19,97,98,4,8,48,128,256],"offset":0,"phase":0,"quadratic_rows":[115,115,0,0,99,19,19,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,19,32,2,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":286,"old":0,"rank":2,"right":{"linear_Z4":[3,3,2,0,1,1,0,0,0],"matrix_rows":[53,54,33,18,52,8,64,128,256],"offset":3,"phase":2,"quadratic_rows":[21,38,51,0,53,54,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":297,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,3,0,2,0],"matrix_rows":[176,1,2,4,8,144,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,48,48,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":298,"old":0,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,0,2],"matrix_rows":[259,257,258,4,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":299,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,3,0,0,2],"matrix_rows":[304,1,2,4,8,272,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,48,48,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":300,"old":0,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,2,0],"matrix_rows":[131,129,130,4,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":301,"old":0,"rank":1,"right":{"linear_Z4":[3,3,0,3,3,3,3,0,2],"matrix_rows":[379,257,258,4,264,272,288,320,128],"offset":1,"phase":1,"quadratic_rows":[123,123,0,123,123,123,123,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":302,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,0,3,2,0],"matrix_rows":[200,1,2,4,136,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,72,0,0,72,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":303,"old":0,"rank":1,"right":{"linear_Z4":[3,3,0,3,3,3,3,2,0],"matrix_rows":[251,129,130,4,136,144,160,192,256],"offset":1,"phase":1,"quadratic_rows":[123,123,0,123,123,123,123,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":304,"old":0,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,0,3,0,2],"matrix_rows":[328,1,2,4,264,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,72,0,0,72,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[6,10,16,32,67,3,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":308,"old":0,"rank":2,"right":{"linear_Z4":[1,1,0,0,2,2,0,0,0],"matrix_rows":[272,19,289,290,4,8,48,64,128],"offset":0,"phase":0,"quadratic_rows":[307,307,0,0,291,19,0,0,19]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":326,"old":0,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,0,2],"matrix_rows":[265,257,2,4,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":327,"old":0,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,2,0],"matrix_rows":[137,129,2,4,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":328,"old":0,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,3,0,2,0],"matrix_rows":[164,1,2,132,8,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,36,0,0,36,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":329,"old":0,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,3,0,0,2],"matrix_rows":[292,1,2,260,8,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,36,0,0,36,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":330,"old":0,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,3,2,0],"matrix_rows":[194,1,130,4,8,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,66,0,0,0,0,66,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":331,"old":0,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,3,0,2],"matrix_rows":[322,1,258,4,8,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,66,0,0,0,0,66,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":332,"old":0,"rank":1,"right":{"linear_Z4":[3,3,3,3,0,3,3,0,2],"matrix_rows":[367,257,258,260,264,16,288,320,128],"offset":1,"phase":1,"quadratic_rows":[111,111,111,111,0,111,111,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":333,"old":0,"rank":1,"right":{"linear_Z4":[3,3,3,3,0,3,3,2,0],"matrix_rows":[239,129,130,132,136,16,160,192,256],"offset":1,"phase":1,"quadratic_rows":[111,111,111,111,0,111,111,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[6,8,19,34,64,3,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":337,"old":0,"rank":2,"right":{"linear_Z4":[1,0,2,1,0,2,0,0,0],"matrix_rows":[132,13,161,2,36,168,16,64,256],"offset":0,"phase":0,"quadratic_rows":[173,0,169,173,0,13,0,13,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,17,33,64,1,130,2,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":344,"old":0,"rank":2,"right":{"linear_Z4":[1,3,1,1,0,2,3,2,0],"matrix_rows":[13,194,33,130,36,40,16,192,256],"offset":2,"phase":1,"quadratic_rows":[45,66,45,45,0,13,66,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,17,33,64,1,130,256,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":345,"old":0,"rank":2,"right":{"linear_Z4":[1,3,1,1,0,2,3,0,2],"matrix_rows":[13,322,33,258,36,40,16,320,128],"offset":2,"phase":1,"quadratic_rows":[45,66,45,45,0,13,66,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[8,19,39,64,128,263,3,6,2],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":350,"old":0,"rank":3,"right":{"linear_Z4":[0,0,3,0,0,3,2,1,2],"matrix_rows":[38,422,164,1,66,452,8,16,480],"offset":6,"phase":2,"quadratic_rows":[0,448,228,0,0,228,38,422,130]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[12,18,34,68,128,258,2,5,1],"offset":0,"phase":0,"quadratic_rows":[5,2,1,0,0,0,0,0,0]},"new":351,"old":0,"rank":3,"right":{"linear_Z4":[3,1,1,3,0,1,2,3,0],"matrix_rows":[384,38,137,385,66,68,392,16,96],"offset":4,"phase":1,"quadratic_rows":[265,102,102,265,0,102,38,384,137]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[10,19,36,66,128,260,3,1,4],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":352,"old":0,"rank":3,"right":{"linear_Z4":[1,2,3,1,0,3,2,0,2],"matrix_rows":[130,11,292,193,66,260,200,16,288],"offset":4,"phase":1,"quadratic_rows":[203,201,36,203,0,36,11,11,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[10,19,36,66,128,260,3,4,1],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":353,"old":0,"rank":3,"right":{"linear_Z4":[1,2,3,1,0,3,2,2,0],"matrix_rows":[258,11,164,321,66,132,328,16,160],"offset":4,"phase":1,"quadratic_rows":[331,329,36,331,0,36,11,0,11]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":355,"old":0,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,2,0,0],"matrix_rows":[73,65,2,4,72,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":356,"old":0,"rank":1,"right":{"linear_Z4":[0,3,0,3,3,3,3,3,2],"matrix_rows":[506,1,258,4,264,272,288,320,384],"offset":1,"phase":1,"quadratic_rows":[0,250,0,250,250,250,250,250,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":357,"old":0,"rank":1,"right":{"linear_Z4":[3,3,3,0,3,0,3,3,2],"matrix_rows":[471,257,258,260,8,272,32,320,384],"offset":1,"phase":1,"quadratic_rows":[215,215,215,0,215,0,215,215,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":358,"old":0,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,3,2,0,0],"matrix_rows":[100,1,2,68,8,16,96,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,36,0,0,36,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":359,"old":0,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,0,3,2],"matrix_rows":[386,1,258,4,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,130,0,0,0,0,0,130,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":360,"old":0,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,2,0,0,0],"matrix_rows":[49,33,2,4,8,48,64,128,256],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":361,"old":0,"rank":1,"right":{"linear_Z4":[0,0,3,3,2,0,0,0,0],"matrix_rows":[28,1,2,20,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":362,"old":0,"rank":1,"right":{"linear_Z4":[3,3,3,3,0,3,0,3,2],"matrix_rows":[431,257,258,260,264,16,288,64,384],"offset":1,"phase":1,"quadratic_rows":[175,175,175,175,0,175,0,175,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[6,11,18,33,67,1,131,259,3],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":366,"old":0,"rank":2,"right":{"linear_Z4":[3,0,3,1,0,2,0,0,3],"matrix_rows":[474,471,289,258,292,40,272,320,384],"offset":2,"phase":1,"quadratic_rows":[247,269,247,506,269,13,269,269,474]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,8,17,33,2,3,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":374,"old":0,"rank":2,"right":{"linear_Z4":[2,0,1,1,0,2,0,0,0],"matrix_rows":[13,17,33,2,52,56,64,128,256],"offset":0,"phase":0,"quadratic_rows":[60,0,61,61,13,13,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[12,18,37,64,132,1,5,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,4,0,0,0,0,0,0]},"new":379,"old":0,"rank":3,"right":{"linear_Z4":[1,3,2,0,1,0,2,3,2],"matrix_rows":[36,386,21,97,258,68,8,112,384],"offset":2,"phase":1,"quadratic_rows":[117,130,113,0,117,21,21,130,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[14,23,35,66,4,135,1,263,7],"offset":0,"phase":0,"quadratic_rows":[3,5,6,0,0,0,0,0,0]},"new":380,"old":0,"rank":3,"right":{"linear_Z4":[0,1,0,3,1,1,1,1,0],"matrix_rows":[502,431,499,321,258,276,344,288,384],"offset":2,"phase":1,"quadratic_rows":[284,170,329,255,89,170,92,170,5]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,17,36,70,6,130,2,257,1],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":381,"old":0,"rank":3,"right":{"linear_Z4":[0,3,3,2,2,3,2,3,2],"matrix_rows":[386,40,92,1,258,84,24,96,384],"offset":7,"phase":3,"quadratic_rows":[0,130,12,100,0,104,40,130,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[12,22,38,67,135,1,5,262,6],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":382,"old":0,"rank":3,"right":{"linear_Z4":[3,0,0,0,3,0,0,0,1],"matrix_rows":[24,254,407,97,258,260,328,304,384],"offset":5,"phase":2,"quadratic_rows":[503,105,105,422,81,399,407,105,361]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":384,"old":0,"rank":1,"right":{"linear_Z4":[0,3,0,0,3,0,0,2,0],"matrix_rows":[146,1,130,4,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":385,"old":0,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,3,0,0,2],"matrix_rows":[289,257,2,4,8,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[33,0,0,0,0,33,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":386,"old":0,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,0,2],"matrix_rows":[268,1,2,260,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":387,"old":0,"rank":1,"right":{"linear_Z4":[3,3,3,3,3,3,0,2,0],"matrix_rows":[191,129,130,132,136,144,160,64,256],"offset":1,"phase":1,"quadratic_rows":[63,63,63,63,63,63,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":388,"old":0,"rank":1,"right":{"linear_Z4":[0,3,0,0,3,0,0,0,2],"matrix_rows":[274,1,258,4,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":389,"old":0,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,3,0,2,0],"matrix_rows":[161,129,2,4,8,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[33,0,0,0,0,33,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":390,"old":0,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,2,0],"matrix_rows":[140,1,2,132,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":391,"old":0,"rank":1,"right":{"linear_Z4":[3,3,3,3,3,3,0,0,2],"matrix_rows":[319,257,258,260,264,272,288,64,128],"offset":1,"phase":1,"quadratic_rows":[63,63,63,63,63,63,0,0,0]}},{"left":{"linear_Z4":[2,3,2,3,2,2,2,2,0],"matrix_rows":[1,264,4,10,16,2,32,64,128],"offset":0,"phase":0,"quadratic_rows":[0,10,0,10,0,0,0,0,0]},"new":413,"old":0,"rank":8,"right":{"linear_Z4":[2,1,2,3,2,0,2,2,2],"matrix_rows":[1,40,4,34,16,64,128,256,42],"offset":245,"phase":2,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,2,2,2,2,2,2,0],"matrix_rows":[258,3,1,4,8,16,32,64,128],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":414,"old":0,"rank":8,"right":{"linear_Z4":[1,3,0,2,2,2,2,2,2],"matrix_rows":[6,5,8,16,32,64,128,256,7],"offset":252,"phase":2,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,3,2,2,2,2,0],"matrix_rows":[264,2,4,9,1,16,32,64,128],"offset":0,"phase":0,"quadratic_rows":[9,0,0,9,0,0,0,0,0]},"new":415,"old":0,"rank":8,"right":{"linear_Z4":[1,2,2,3,0,2,2,2,2],"matrix_rows":[24,2,4,17,32,64,128,256,25],"offset":246,"phase":2,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,2,3,2,2,2,0],"matrix_rows":[1,2,272,8,20,4,32,64,128],"offset":0,"phase":0,"quadratic_rows":[0,0,20,0,20,0,0,0,0]},"new":416,"old":0,"rank":8,"right":{"linear_Z4":[2,2,1,2,3,0,2,2,2],"matrix_rows":[1,2,48,8,36,64,128,256,52],"offset":235,"phase":2,"quadratic_rows":[0,0,20,0,20,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,2,3,2,2,2,0],"matrix_rows":[1,272,4,8,18,32,2,64,128],"offset":0,"phase":0,"quadratic_rows":[0,18,0,0,18,0,0,0,0]},"new":417,"old":0,"rank":8,"right":{"linear_Z4":[2,1,2,2,3,2,0,2,2],"matrix_rows":[1,80,4,8,66,32,128,256,82],"offset":237,"phase":2,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[3,3,3,3,3,3,2,2,0],"matrix_rows":[318,3,5,9,17,33,1,64,128],"offset":0,"phase":0,"quadratic_rows":[63,63,63,63,63,63,0,0,0]},"new":418,"old":0,"rank":8,"right":{"linear_Z4":[1,3,3,3,3,3,0,2,2],"matrix_rows":[126,125,123,119,111,95,128,256,127],"offset":192,"phase":2,"quadratic_rows":[63,63,63,63,63,63,0,0,0]}},{"left":{"linear_Z4":[3,2,2,2,2,3,2,2,0],"matrix_rows":[288,2,4,8,16,33,1,64,128],"offset":0,"phase":0,"quadratic_rows":[33,0,0,0,0,33,0,0,0]},"new":419,"old":0,"rank":8,"right":{"linear_Z4":[1,2,2,2,2,3,0,2,2],"matrix_rows":[96,2,4,8,16,65,128,256,97],"offset":222,"phase":2,"quadratic_rows":[33,0,0,0,0,33,0,0,0]}},{"left":{"linear_Z4":[2,2,3,3,2,2,2,2,0],"matrix_rows":[1,2,264,12,16,32,4,64,128],"offset":0,"phase":0,"quadratic_rows":[0,0,12,12,0,0,0,0,0]},"new":420,"old":0,"rank":8,"right":{"linear_Z4":[2,2,1,3,2,2,0,2,2],"matrix_rows":[1,2,72,68,16,32,128,256,76],"offset":243,"phase":2,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":421,"old":0,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":422,"old":0,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":423,"old":0,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,9,18,35,2,64,131,259,3],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":288,"old":2,"rank":2,"right":{"linear_Z4":[0,1,3,2,0,0,0,2,3],"matrix_rows":[219,397,321,338,20,264,32,256,384],"offset":143,"phase":1,"quadratic_rows":[22,395,413,86,397,0,392,86,342]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[6,11,17,35,64,1,131,259,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":289,"old":2,"rank":2,"right":{"linear_Z4":[3,0,1,0,0,2,2,0,1],"matrix_rows":[398,171,353,258,100,264,80,256,384],"offset":2,"phase":1,"quadratic_rows":[459,37,494,37,64,398,21,37,293]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,19,33,3,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":290,"old":2,"rank":2,"right":{"linear_Z4":[1,3,0,1,2,0,2,1,0],"matrix_rows":[397,278,257,338,84,264,96,256,384],"offset":2,"phase":1,"quadratic_rows":[141,70,203,141,0,64,38,141,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[6,11,17,35,64,1,131,259,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":291,"old":2,"rank":2,"right":{"linear_Z4":[1,0,3,2,0,0,0,2,3],"matrix_rows":[398,235,353,322,36,264,16,256,384],"offset":143,"phase":1,"quadratic_rows":[395,37,430,101,0,398,392,101,357]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,34,65,129,258,1,3],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":317,"old":2,"rank":2,"right":{"linear_Z4":[1,1,0,3,3,3,2,0,3],"matrix_rows":[435,264,129,130,4,328,80,96,256],"offset":480,"phase":2,"quadratic_rows":[307,307,0,72,499,499,56,304,435]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,35,65,129,259,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":318,"old":2,"rank":2,"right":{"linear_Z4":[1,1,0,0,3,3,2,0,2],"matrix_rows":[315,136,257,258,4,328,464,480,256],"offset":480,"phase":2,"quadratic_rows":[59,59,0,243,251,251,56,56,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,16,35,64,128,259,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":319,"old":2,"rank":2,"right":{"linear_Z4":[2,2,0,0,0,0,2,0,2],"matrix_rows":[136,264,193,194,4,328,16,32,256],"offset":300,"phase":2,"quadratic_rows":[192,192,0,192,0,0,11,11,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,33,65,129,257,2,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":320,"old":2,"rank":2,"right":{"linear_Z4":[3,3,0,3,1,1,2,0,3],"matrix_rows":[315,384,321,322,4,328,400,416,256],"offset":300,"phase":2,"quadratic_rows":[123,123,0,123,187,187,11,304,384]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,9,17,33,64,129,257,2,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":346,"old":2,"rank":2,"right":{"linear_Z4":[3,3,1,3,0,1,2,0,3],"matrix_rows":[303,384,321,322,388,328,16,416,256],"offset":300,"phase":2,"quadratic_rows":[111,111,175,111,0,175,11,292,384]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,11,16,32,64,128,259,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":347,"old":2,"rank":2,"right":{"linear_Z4":[2,0,0,2,0,0,2,0,2],"matrix_rows":[130,258,193,322,4,200,16,32,256],"offset":300,"phase":2,"quadratic_rows":[192,192,0,192,0,0,11,11,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,17,33,64,129,258,1,3],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":348,"old":2,"rank":2,"right":{"linear_Z4":[1,3,3,1,0,3,2,0,3],"matrix_rows":[429,258,129,322,68,136,16,96,256],"offset":408,"phase":2,"quadratic_rows":[301,66,493,301,0,493,38,292,429]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,11,17,33,64,129,259,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":349,"old":2,"rank":2,"right":{"linear_Z4":[1,0,3,1,0,3,2,0,2],"matrix_rows":[303,130,257,322,452,264,16,480,256],"offset":408,"phase":2,"quadratic_rows":[47,237,239,47,0,239,38,38,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,19,34,3,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":375,"old":2,"rank":2,"right":{"linear_Z4":[3,3,2,1,2,2,2,3,0],"matrix_rows":[391,348,257,258,84,280,96,256,384],"offset":209,"phase":0,"quadratic_rows":[135,135,139,76,0,64,40,135,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[6,11,16,35,65,1,131,259,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":376,"old":2,"rank":2,"right":{"linear_Z4":[1,2,0,0,3,0,0,2,3],"matrix_rows":[410,235,353,258,4,328,48,256,384],"offset":167,"phase":1,"quadratic_rows":[395,113,0,49,442,410,386,113,369]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[6,11,16,35,65,1,131,259,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":377,"old":2,"rank":2,"right":{"linear_Z4":[3,0,0,0,1,2,2,0,1],"matrix_rows":[410,171,353,258,68,264,112,256,384],"offset":2,"phase":1,"quadratic_rows":[459,49,64,49,506,410,21,49,305]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,18,35,2,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":378,"old":2,"rank":2,"right":{"linear_Z4":[1,3,1,2,1,0,1,3,1],"matrix_rows":[219,348,321,258,20,344,32,256,384],"offset":165,"phase":0,"quadratic_rows":[411,475,332,215,219,0,222,475,391]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,34,67,131,2,259,3],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":85,"old":3,"rank":2,"right":{"linear_Z4":[1,1,0,1,2,2,0,2,2],"matrix_rows":[187,184,321,330,12,64,272,288,384],"offset":0,"phase":0,"quadratic_rows":[507,499,8,269,259,259,3,259,187]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,32,66,1,128,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":86,"old":3,"rank":2,"right":{"linear_Z4":[3,3,0,0,3,2,0,3,2],"matrix_rows":[35,400,33,34,4,8,272,64,384],"offset":3,"phase":2,"quadratic_rows":[3,3,0,0,144,0,0,144,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[7,9,18,34,66,3,128,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":91,"old":3,"rank":2,"right":{"linear_Z4":[2,3,3,3,3,2,0,3,0],"matrix_rows":[291,413,33,290,260,264,272,64,384],"offset":3,"phase":2,"quadratic_rows":[158,3,157,157,157,0,0,157,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,33,66,128,1,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":92,"old":3,"rank":2,"right":{"linear_Z4":[3,3,0,3,3,0,0,3,2],"matrix_rows":[3,400,65,74,12,64,272,32,384],"offset":3,"phase":2,"quadratic_rows":[67,75,8,14,144,0,3,144,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,17,35,2,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":116,"old":3,"rank":2,"right":{"linear_Z4":[1,3,1,0,3,1,0,1,1],"matrix_rows":[189,282,257,18,260,280,288,64,384],"offset":2,"phase":1,"quadratic_rows":[445,266,445,183,189,445,0,445,423]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,18,33,64,1,128,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":117,"old":3,"rank":2,"right":{"linear_Z4":[3,0,3,3,0,2,0,3,2],"matrix_rows":[41,388,33,2,260,40,16,64,384],"offset":3,"phase":2,"quadratic_rows":[9,0,132,9,0,0,0,132,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,18,33,1,64,128,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":118,"old":3,"rank":2,"right":{"linear_Z4":[0,3,3,3,2,0,0,3,2],"matrix_rows":[26,388,1,18,260,24,32,64,384],"offset":3,"phase":2,"quadratic_rows":[0,10,132,10,0,0,0,132,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,18,35,66,1,128,258,2],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":119,"old":3,"rank":2,"right":{"linear_Z4":[3,1,1,0,1,3,0,1,1],"matrix_rows":[297,190,33,258,260,296,272,64,384],"offset":1,"phase":1,"quadratic_rows":[265,446,446,183,446,190,0,446,407]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,18,33,66,128,256,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":205,"old":3,"rank":2,"right":{"linear_Z4":[0,3,3,3,3,0,0,2,2],"matrix_rows":[138,276,1,130,260,136,272,32,64],"offset":3,"phase":2,"quadratic_rows":[0,10,20,10,20,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,18,33,66,128,256,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":206,"old":3,"rank":2,"right":{"linear_Z4":[0,3,3,3,3,0,0,2,2],"matrix_rows":[266,148,1,258,132,264,144,32,64],"offset":3,"phase":2,"quadratic_rows":[0,10,20,10,20,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[6,11,17,33,3,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":232,"old":3,"rank":2,"right":{"linear_Z4":[3,2,3,3,2,3,0,3,0],"matrix_rows":[430,275,273,18,260,264,288,64,384],"offset":3,"phase":2,"quadratic_rows":[3,173,174,174,0,174,0,174,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,33,64,130,1,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":233,"old":3,"rank":2,"right":{"linear_Z4":[3,3,0,3,0,3,0,3,2],"matrix_rows":[3,416,73,66,12,64,16,288,384],"offset":3,"phase":2,"quadratic_rows":[75,67,8,13,0,160,3,160,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,32,1,66,128,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":234,"old":3,"rank":2,"right":{"linear_Z4":[3,3,0,0,2,3,0,3,2],"matrix_rows":[19,416,17,18,4,8,288,64,384],"offset":3,"phase":2,"quadratic_rows":[3,3,0,0,0,160,0,160,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[6,10,16,33,67,131,1,259,3],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":235,"old":3,"rank":2,"right":{"linear_Z4":[1,1,0,1,2,2,0,2,2],"matrix_rows":[184,187,329,322,12,64,272,288,384],"offset":0,"phase":0,"quadratic_rows":[499,507,8,270,259,259,3,259,187]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,32,66,130,256,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":321,"old":3,"rank":2,"right":{"linear_Z4":[3,3,0,0,3,3,0,2,2],"matrix_rows":[131,304,129,130,4,8,272,288,64],"offset":3,"phase":2,"quadratic_rows":[3,3,0,0,48,48,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,32,66,130,256,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":322,"old":3,"rank":2,"right":{"linear_Z4":[3,3,0,0,3,3,0,2,2],"matrix_rows":[259,176,257,258,4,8,144,160,64],"offset":3,"phase":2,"quadratic_rows":[3,3,0,0,48,48,0,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,34,66,131,3,258,2],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":87,"old":4,"rank":2,"right":{"linear_Z4":[0,3,3,1,1,0,0,1,2],"matrix_rows":[6,184,33,354,324,264,272,64,384],"offset":1,"phase":1,"quadratic_rows":[32,358,326,440,440,411,6,440,190]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,1,34,64,128,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":88,"old":4,"rank":2,"right":{"linear_Z4":[0,3,3,2,3,0,0,3,2],"matrix_rows":[14,400,1,10,12,272,32,64,384],"offset":3,"phase":2,"quadratic_rows":[0,6,6,0,144,0,0,144,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,9,18,2,35,67,128,259,3],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":89,"old":4,"rank":2,"right":{"linear_Z4":[0,1,3,0,0,0,0,0,1],"matrix_rows":[187,437,257,266,12,272,288,64,384],"offset":2,"phase":1,"quadratic_rows":[14,435,445,437,14,14,0,14,270]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,32,66,129,1,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":90,"old":4,"rank":2,"right":{"linear_Z4":[0,3,3,0,3,3,0,3,2],"matrix_rows":[6,400,33,98,68,8,272,64,384],"offset":3,"phase":2,"quadratic_rows":[32,102,70,0,144,35,6,144,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,16,32,64,130,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":145,"old":4,"rank":2,"right":{"linear_Z4":[0,3,0,0,0,3,0,3,0],"matrix_rows":[384,162,1,386,4,8,16,416,64],"offset":2,"phase":1,"quadratic_rows":[0,290,0,0,0,290,0,384,162]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[6,8,16,32,66,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":146,"old":4,"rank":2,"right":{"linear_Z4":[3,0,0,0,3,0,0,3,0],"matrix_rows":[384,145,385,2,4,8,400,32,64],"offset":2,"phase":1,"quadratic_rows":[273,0,0,0,273,0,0,384,145]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,32,65,130,256,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":147,"old":4,"rank":2,"right":{"linear_Z4":[3,3,0,0,3,3,0,2,2],"matrix_rows":[145,290,129,258,4,8,144,288,64],"offset":3,"phase":2,"quadratic_rows":[17,34,0,0,17,34,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,32,65,130,256,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":148,"old":4,"rank":2,"right":{"linear_Z4":[3,3,0,0,3,3,0,2,2],"matrix_rows":[273,162,257,130,4,8,272,160,64],"offset":3,"phase":2,"quadratic_rows":[17,34,0,0,17,34,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[7,9,17,35,67,130,2,259,3],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":176,"old":4,"rank":2,"right":{"linear_Z4":[2,3,3,2,2,3,0,2,1],"matrix_rows":[415,409,257,322,356,296,272,64,384],"offset":3,"phase":2,"quadratic_rows":[262,223,255,294,262,44,6,262,409]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,18,32,64,130,2,257,1],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":177,"old":4,"rank":2,"right":{"linear_Z4":[3,3,3,0,0,3,0,3,2],"matrix_rows":[385,6,257,98,68,8,48,64,384],"offset":3,"phase":2,"quadratic_rows":[129,102,70,0,32,50,6,129,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,18,32,64,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":261,"old":4,"rank":2,"right":{"linear_Z4":[0,3,3,0,0,0,0,3,0],"matrix_rows":[384,134,1,386,388,8,16,32,64],"offset":2,"phase":1,"quadratic_rows":[0,262,262,0,0,0,0,384,134]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,16,34,66,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":262,"old":4,"rank":2,"right":{"linear_Z4":[0,0,0,3,3,0,0,3,0],"matrix_rows":[384,152,1,2,4,392,400,32,64],"offset":2,"phase":1,"quadratic_rows":[0,0,0,280,280,0,0,384,152]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,34,66,128,256,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":263,"old":4,"rank":2,"right":{"linear_Z4":[0,3,3,3,3,0,0,2,2],"matrix_rows":[262,152,1,258,260,136,144,32,64],"offset":3,"phase":2,"quadratic_rows":[0,6,6,24,24,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,34,66,128,256,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":264,"old":4,"rank":2,"right":{"linear_Z4":[0,3,3,3,3,0,0,2,2],"matrix_rows":[134,280,1,130,132,264,272,32,64],"offset":3,"phase":2,"quadratic_rows":[0,6,6,24,24,0,0,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[4,11,19,34,66,129,1,258,2],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":292,"old":4,"rank":2,"right":{"linear_Z4":[0,0,0,1,1,0,0,1,2],"matrix_rows":[6,190,33,322,356,264,272,64,384],"offset":1,"phase":1,"quadratic_rows":[32,504,472,446,446,411,6,446,190]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,34,1,64,128,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":293,"old":4,"rank":2,"right":{"linear_Z4":[0,3,3,3,2,0,0,3,2],"matrix_rows":[22,392,1,18,20,264,32,64,384],"offset":3,"phase":2,"quadratic_rows":[0,6,6,136,0,0,0,136,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[6,8,18,32,64,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":56,"old":5,"rank":2,"right":{"linear_Z4":[3,0,3,0,0,0,0,3,0],"matrix_rows":[384,133,385,2,388,8,16,32,64],"offset":2,"phase":1,"quadratic_rows":[261,0,261,0,0,0,0,384,133]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,16,34,64,130,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":57,"old":5,"rank":2,"right":{"linear_Z4":[0,0,0,3,0,3,0,3,0],"matrix_rows":[384,168,1,2,4,392,16,416,64],"offset":2,"phase":1,"quadratic_rows":[0,0,0,296,0,296,0,384,168]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,34,64,130,256,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":62,"old":5,"rank":2,"right":{"linear_Z4":[3,0,3,3,0,3,0,2,2],"matrix_rows":[133,296,129,2,132,264,16,288,64],"offset":3,"phase":2,"quadratic_rows":[5,0,5,40,0,40,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,34,64,130,256,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":63,"old":5,"rank":2,"right":{"linear_Z4":[3,0,3,3,0,3,0,2,2],"matrix_rows":[261,168,257,2,260,136,16,160,64],"offset":3,"phase":2,"quadratic_rows":[5,0,5,40,0,40,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,18,33,65,129,1,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":114,"old":5,"rank":2,"right":{"linear_Z4":[0,0,3,3,3,3,0,3,2],"matrix_rows":[40,388,1,18,260,88,64,96,384],"offset":3,"phase":2,"quadratic_rows":[0,16,132,120,26,104,40,132,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[4,10,18,35,67,129,1,258,2],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":115,"old":5,"rank":2,"right":{"linear_Z4":[0,1,1,0,0,0,0,1,2],"matrix_rows":[24,190,33,258,260,360,336,64,384],"offset":1,"phase":1,"quadratic_rows":[32,446,446,454,486,407,24,446,190]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,35,66,131,2,257,1],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":120,"old":5,"rank":2,"right":{"linear_Z4":[1,0,1,0,0,0,0,1,2],"matrix_rows":[189,40,257,18,260,344,64,352,384],"offset":2,"phase":1,"quadratic_rows":[445,16,445,453,423,469,40,445,189]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,18,33,65,129,1,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":121,"old":5,"rank":2,"right":{"linear_Z4":[0,0,3,3,3,3,0,3,2],"matrix_rows":[24,388,33,2,260,104,80,64,384],"offset":3,"phase":2,"quadratic_rows":[32,0,132,120,88,41,24,132,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,8,16,34,66,130,2,257,1],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":178,"old":5,"rank":2,"right":{"linear_Z4":[3,0,0,3,3,3,0,3,2],"matrix_rows":[385,24,257,2,36,104,80,64,384],"offset":3,"phase":2,"quadratic_rows":[129,0,32,120,88,44,24,129,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[7,11,19,33,65,130,2,259,3],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":179,"old":5,"rank":2,"right":{"linear_Z4":[2,2,2,3,3,3,0,2,1],"matrix_rows":[415,391,257,290,260,328,368,64,384],"offset":3,"phase":2,"quadratic_rows":[280,312,280,223,255,50,24,280,391]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,34,66,128,256,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":259,"old":5,"rank":2,"right":{"linear_Z4":[0,3,3,3,3,0,0,2,2],"matrix_rows":[134,280,1,130,132,264,272,32,64],"offset":3,"phase":2,"quadratic_rows":[0,6,6,24,24,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,34,66,128,256,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":260,"old":5,"rank":2,"right":{"linear_Z4":[0,3,3,3,3,0,0,2,2],"matrix_rows":[262,152,1,258,260,136,144,32,64],"offset":3,"phase":2,"quadratic_rows":[0,6,6,24,24,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,16,34,66,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":265,"old":5,"rank":2,"right":{"linear_Z4":[0,0,0,3,3,0,0,3,0],"matrix_rows":[384,152,1,2,4,392,400,32,64],"offset":2,"phase":1,"quadratic_rows":[0,0,0,280,280,0,0,384,152]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,18,32,64,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":266,"old":5,"rank":2,"right":{"linear_Z4":[0,3,3,0,0,0,0,3,0],"matrix_rows":[384,134,1,386,388,8,16,32,64],"offset":2,"phase":1,"quadratic_rows":[0,262,262,0,0,0,0,384,134]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[6,10,16,32,64,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":323,"old":5,"rank":2,"right":{"linear_Z4":[3,3,0,0,0,0,0,3,0],"matrix_rows":[384,131,385,386,4,8,16,32,64],"offset":2,"phase":1,"quadratic_rows":[259,259,0,0,0,0,0,384,131]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,16,32,66,130,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":324,"old":5,"rank":2,"right":{"linear_Z4":[0,0,0,0,3,3,0,3,0],"matrix_rows":[384,176,1,2,4,8,400,416,64],"offset":2,"phase":1,"quadratic_rows":[0,0,0,0,304,304,0,384,176]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,34,64,130,256,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":58,"old":6,"rank":2,"right":{"linear_Z4":[3,0,3,3,0,3,0,2,2],"matrix_rows":[261,168,257,2,260,136,16,160,64],"offset":3,"phase":2,"quadratic_rows":[5,0,5,40,0,40,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,34,64,130,256,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":59,"old":6,"rank":2,"right":{"linear_Z4":[3,0,3,3,0,3,0,2,2],"matrix_rows":[133,296,129,2,132,264,16,288,64],"offset":3,"phase":2,"quadratic_rows":[5,0,5,40,0,40,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,16,34,64,130,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":60,"old":6,"rank":2,"right":{"linear_Z4":[0,0,0,3,0,3,0,3,0],"matrix_rows":[384,168,1,2,4,392,16,416,64],"offset":2,"phase":1,"quadratic_rows":[0,0,0,296,0,296,0,384,168]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[6,8,18,32,64,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":61,"old":6,"rank":2,"right":{"linear_Z4":[3,0,3,0,0,0,0,3,0],"matrix_rows":[384,133,385,2,388,8,16,32,64],"offset":2,"phase":1,"quadratic_rows":[261,0,261,0,0,0,0,384,133]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,32,65,130,256,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":143,"old":6,"rank":2,"right":{"linear_Z4":[3,3,0,0,3,3,0,2,2],"matrix_rows":[273,162,257,130,4,8,272,160,64],"offset":3,"phase":2,"quadratic_rows":[17,34,0,0,17,34,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,32,65,130,256,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":144,"old":6,"rank":2,"right":{"linear_Z4":[3,3,0,0,3,3,0,2,2],"matrix_rows":[145,290,129,258,4,8,144,288,64],"offset":3,"phase":2,"quadratic_rows":[17,34,0,0,17,34,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[6,8,16,32,66,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":149,"old":6,"rank":2,"right":{"linear_Z4":[3,0,0,0,3,0,0,3,0],"matrix_rows":[384,145,385,2,4,8,400,32,64],"offset":2,"phase":1,"quadratic_rows":[273,0,0,0,273,0,0,384,145]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,16,32,64,130,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":150,"old":6,"rank":2,"right":{"linear_Z4":[0,3,0,0,0,3,0,3,0],"matrix_rows":[384,162,1,386,4,8,16,416,64],"offset":2,"phase":1,"quadratic_rows":[0,290,0,0,0,290,0,384,162]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,16,34,64,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":207,"old":6,"rank":2,"right":{"linear_Z4":[0,3,0,3,0,0,0,3,0],"matrix_rows":[384,138,1,386,4,392,16,32,64],"offset":2,"phase":1,"quadratic_rows":[0,266,0,266,0,0,0,384,138]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,18,32,66,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":208,"old":6,"rank":2,"right":{"linear_Z4":[0,0,3,0,3,0,0,3,0],"matrix_rows":[384,148,1,2,388,8,400,32,64],"offset":2,"phase":1,"quadratic_rows":[0,0,276,0,276,0,0,384,148]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,32,65,130,1,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":230,"old":6,"rank":2,"right":{"linear_Z4":[3,0,3,0,3,3,0,3,2],"matrix_rows":[5,416,81,18,68,8,64,288,384],"offset":3,"phase":2,"quadratic_rows":[85,16,69,0,19,160,5,160,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[6,11,17,1,35,67,128,259,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":231,"old":6,"rank":2,"right":{"linear_Z4":[1,0,3,0,0,0,0,0,1],"matrix_rows":[438,187,265,258,12,272,288,64,384],"offset":1,"phase":1,"quadratic_rows":[435,13,446,438,13,13,0,13,269]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[6,8,18,33,67,129,3,257,1],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":236,"old":6,"rank":2,"right":{"linear_Z4":[3,0,3,1,0,1,0,1,2],"matrix_rows":[184,5,337,18,324,264,64,288,384],"offset":2,"phase":1,"quadratic_rows":[341,16,325,440,427,440,5,440,189]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,1,32,66,128,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":237,"old":6,"rank":2,"right":{"linear_Z4":[3,0,3,2,0,3,0,3,2],"matrix_rows":[13,416,9,2,12,16,288,64,384],"offset":3,"phase":2,"quadratic_rows":[5,0,5,0,0,160,0,160,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,34,64,1,128,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":294,"old":6,"rank":2,"right":{"linear_Z4":[3,0,3,3,0,2,0,3,2],"matrix_rows":[37,392,33,2,36,264,16,64,384],"offset":3,"phase":2,"quadratic_rows":[5,0,5,136,0,0,0,136,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[7,8,19,33,66,129,2,257,1],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":295,"old":6,"rank":2,"right":{"linear_Z4":[0,0,0,1,0,1,0,1,2],"matrix_rows":[189,5,321,18,340,264,64,288,384],"offset":2,"phase":1,"quadratic_rows":[504,16,488,445,427,445,5,445,189]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":15,"old":7,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,2,0,0,0],"matrix_rows":[38,1,34,36,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":16,"old":7,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":17,"old":7,"rank":1,"right":{"linear_Z4":[3,0,3,0,2,0,0,0,0],"matrix_rows":[21,17,2,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":18,"old":8,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":19,"old":8,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":20,"old":8,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":18,"old":9,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,1,1,2],"matrix_rows":[461,289,2,292,296,16,256,320,384],"offset":0,"phase":0,"quadratic_rows":[237,0,237,237,0,13,205,205,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":21,"old":9,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":22,"old":9,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,1,1,2],"matrix_rows":[461,289,34,260,264,48,256,320,384],"offset":0,"phase":0,"quadratic_rows":[237,32,205,205,32,19,205,205,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":15,"old":10,"rank":1,"right":{"linear_Z4":[3,3,0,2,0,0,0,0,0],"matrix_rows":[11,9,10,4,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":23,"old":10,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":24,"old":10,"rank":1,"right":{"linear_Z4":[3,0,3,0,2,0,0,0,0],"matrix_rows":[21,17,2,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":19,"old":11,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,1,1,2],"matrix_rows":[467,289,290,4,8,304,256,320,384],"offset":0,"phase":0,"quadratic_rows":[243,243,0,0,243,19,211,211,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":21,"old":11,"rank":1,"right":{"linear_Z4":[1,1,0,0,2,1,1,1,2],"matrix_rows":[483,257,274,20,24,256,288,320,384],"offset":0,"phase":0,"quadratic_rows":[227,243,16,16,14,227,227,227,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":25,"old":11,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,1,1,2],"matrix_rows":[467,289,258,36,40,272,256,320,384],"offset":0,"phase":0,"quadratic_rows":[243,211,32,32,211,13,211,211,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":16,"old":12,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,2,0,0,0],"matrix_rows":[56,9,10,4,32,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[8,8,0,19,24,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":23,"old":12,"rank":1,"right":{"linear_Z4":[0,0,0,1,2,2,0,0,0],"matrix_rows":[40,1,18,20,56,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,16,16,24,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":26,"old":12,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,2,0,0,0],"matrix_rows":[56,17,2,20,40,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[16,0,16,24,13,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":17,"old":13,"rank":1,"right":{"linear_Z4":[3,3,0,2,0,0,0,0,0],"matrix_rows":[11,9,10,4,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":24,"old":13,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,2,0,0,0],"matrix_rows":[38,1,34,36,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":26,"old":13,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":20,"old":14,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,1,1,2],"matrix_rows":[462,1,274,276,280,256,32,320,384],"offset":0,"phase":0,"quadratic_rows":[0,222,222,222,14,0,206,206,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":22,"old":14,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":25,"old":14,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":528,"old":15,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,3,3,2],"matrix_rows":[448,1,2,4,8,16,32,320,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,0,192,192,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":529,"old":15,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,1,1,2],"matrix_rows":[213,257,2,260,8,272,32,320,384],"offset":0,"phase":0,"quadratic_rows":[469,0,469,0,469,0,469,469,213]}},{"left":{"linear_Z4":[3,2,2,2,0,0,0,0,0],"matrix_rows":[16,34,65,2,140,3,260,8,12],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":573,"old":15,"rank":4,"right":{"linear_Z4":[2,0,1,2,2,1,3,0,2],"matrix_rows":[12,34,464,144,5,8,40,272,448],"offset":93,"phase":1,"quadratic_rows":[4,40,37,34,64,46,80,0,0]}},{"left":{"linear_Z4":[2,3,3,3,0,0,0,0,0],"matrix_rows":[17,46,65,128,6,256,10,2,1],"offset":0,"phase":0,"quadratic_rows":[0,2,12,12,0,0,0,0,0]},"new":575,"old":15,"rank":4,"right":{"linear_Z4":[3,1,3,0,3,0,3,0,2],"matrix_rows":[261,2,194,146,257,210,260,8,32],"offset":3,"phase":2,"quadratic_rows":[5,130,5,0,80,0,80,2,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":28,"old":16,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,3,3,2],"matrix_rows":[448,1,2,4,8,16,32,320,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,0,192,192,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":34,"old":16,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,1,1,2],"matrix_rows":[213,257,2,260,8,272,32,320,384],"offset":0,"phase":0,"quadratic_rows":[469,0,469,0,469,0,469,469,213]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":30,"old":17,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,1,1,2],"matrix_rows":[230,1,258,260,8,16,288,320,384],"offset":0,"phase":0,"quadratic_rows":[0,486,486,0,0,486,486,486,230]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":32,"old":17,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,3,3,2],"matrix_rows":[448,1,2,4,8,16,32,320,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,0,192,192,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":466,"old":18,"rank":1,"right":{"linear_Z4":[3,0,3,0,2,0,0,0,0],"matrix_rows":[21,17,2,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":470,"old":18,"rank":1,"right":{"linear_Z4":[0,2,0,0,0,0,3,1,2],"matrix_rows":[448,1,66,4,8,16,32,256,384],"offset":132,"phase":2,"quadratic_rows":[0,64,0,0,0,0,194,192,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":528,"old":18,"rank":1,"right":{"linear_Z4":[3,0,3,3,0,0,0,0,0],"matrix_rows":[5,41,10,36,32,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[45,8,37,11,0,5,0,0,0]}},{"left":{"linear_Z4":[2,3,3,2,0,0,0,0,0],"matrix_rows":[16,33,67,1,136,2,264,4,12],"offset":0,"phase":0,"quadratic_rows":[2,3,12,4,0,0,0,0,0]},"new":572,"old":18,"rank":4,"right":{"linear_Z4":[2,1,0,3,3,3,0,2,3],"matrix_rows":[42,4,384,464,13,6,32,400,256],"offset":379,"phase":1,"quadratic_rows":[12,46,43,47,80,46,144,320,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":28,"old":19,"rank":1,"right":{"linear_Z4":[3,3,0,2,0,0,0,0,0],"matrix_rows":[11,9,10,4,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":33,"old":19,"rank":1,"right":{"linear_Z4":[3,3,0,0,3,0,0,0,0],"matrix_rows":[3,49,34,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[51,35,16,0,21,3,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":29,"old":20,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,2,0,0,0],"matrix_rows":[38,1,34,36,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":32,"old":20,"rank":1,"right":{"linear_Z4":[0,3,3,3,0,0,0,0,0],"matrix_rows":[6,9,26,20,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[8,30,22,11,6,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":30,"old":21,"rank":1,"right":{"linear_Z4":[0,2,2,0,0,1,1,1,2],"matrix_rows":[232,9,10,4,256,272,288,320,384],"offset":60,"phase":0,"quadratic_rows":[8,8,0,483,0,488,488,488,232]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":31,"old":21,"rank":1,"right":{"linear_Z4":[3,2,1,3,0,1,3,3,2],"matrix_rows":[461,257,34,292,264,16,256,320,384],"offset":77,"phase":0,"quadratic_rows":[205,32,237,205,0,38,205,205,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":27,"old":22,"rank":1,"right":{"linear_Z4":[2,2,0,1,0,0,1,1,2],"matrix_rows":[216,17,2,20,264,256,288,320,384],"offset":102,"phase":0,"quadratic_rows":[16,0,16,472,461,0,472,472,216]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":34,"old":22,"rank":1,"right":{"linear_Z4":[2,1,3,1,3,0,3,3,2],"matrix_rows":[470,9,266,260,256,272,32,320,384],"offset":23,"phase":0,"quadratic_rows":[8,222,214,11,214,0,214,214,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":29,"old":23,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,3,3,2],"matrix_rows":[448,1,2,4,8,16,32,320,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,0,192,192,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":31,"old":23,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,1,1,2],"matrix_rows":[203,257,258,4,264,16,32,320,384],"offset":0,"phase":0,"quadratic_rows":[459,459,0,459,0,0,459,459,203]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":27,"old":24,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,1,1,2],"matrix_rows":[203,257,258,4,264,16,32,320,384],"offset":0,"phase":0,"quadratic_rows":[459,459,0,459,0,0,459,459,203]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":33,"old":24,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,3,3,2],"matrix_rows":[448,1,2,4,8,16,32,320,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,0,192,192,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":441,"old":25,"rank":1,"right":{"linear_Z4":[2,3,1,2,3,0,3,3,2],"matrix_rows":[470,5,258,256,8,272,288,320,384],"offset":91,"phase":1,"quadratic_rows":[4,214,215,0,214,0,214,214,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":444,"old":25,"rank":1,"right":{"linear_Z4":[2,3,1,3,1,0,3,3,2],"matrix_rows":[462,17,258,276,264,256,32,320,384],"offset":43,"phase":0,"quadratic_rows":[16,206,222,206,21,0,206,206,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":529,"old":25,"rank":1,"right":{"linear_Z4":[2,0,2,0,1,0,1,1,2],"matrix_rows":[216,9,10,4,256,272,288,320,384],"offset":90,"phase":0,"quadratic_rows":[8,8,0,467,472,0,472,472,216]}},{"left":{"linear_Z4":[3,2,3,3,0,0,0,0,0],"matrix_rows":[18,35,66,129,260,1,3,8,14],"offset":0,"phase":0,"quadratic_rows":[1,12,14,14,0,0,0,0,0]},"new":574,"old":25,"rank":4,"right":{"linear_Z4":[1,2,1,0,0,0,2,0,0],"matrix_rows":[10,271,48,384,105,66,100,32,288],"offset":0,"phase":0,"quadratic_rows":[359,325,367,324,256,261,15,256,191]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":438,"old":26,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,2,0,0],"matrix_rows":[69,65,2,68,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":444,"old":26,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,1,1,2],"matrix_rows":[203,257,258,4,264,16,32,320,384],"offset":0,"phase":0,"quadratic_rows":[459,459,0,459,0,0,459,459,203]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":466,"old":26,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,3,3,2],"matrix_rows":[448,1,2,4,8,16,32,320,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,0,192,192,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":467,"old":26,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,3,0,2],"matrix_rows":[322,1,258,4,8,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,66,0,0,0,0,66,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":35,"old":27,"rank":1,"right":{"linear_Z4":[1,1,0,0,0,0,3,3,0],"matrix_rows":[203,265,266,4,256,16,32,320,384],"offset":23,"phase":0,"quadratic_rows":[451,451,0,448,0,0,459,459,203]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[15,23,32,67,128,256,5,1,7],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":584,"old":27,"rank":3,"right":{"linear_Z4":[1,1,0,2,0,0,2,1,3],"matrix_rows":[203,11,323,257,258,204,256,16,32],"offset":1,"phase":1,"quadratic_rows":[131,131,200,260,0,0,260,135,328]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[11,19,34,68,130,2,257,1,5],"offset":0,"phase":0,"quadratic_rows":[4,0,5,0,0,0,0,0,0]},"new":592,"old":27,"rank":3,"right":{"linear_Z4":[0,0,2,0,0,2,1,2,1],"matrix_rows":[323,39,8,161,162,32,256,48,192],"offset":70,"phase":1,"quadratic_rows":[452,452,3,256,0,0,451,67,331]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":35,"old":28,"rank":1,"right":{"linear_Z4":[3,3,0,0,3,0,0,0,0],"matrix_rows":[3,49,34,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[51,35,16,0,21,3,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,17,36,64,129,1,262,2,4],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":586,"old":28,"rank":3,"right":{"linear_Z4":[3,3,3,0,2,0,1,0,1],"matrix_rows":[3,448,388,33,50,452,8,32,256],"offset":291,"phase":0,"quadratic_rows":[35,51,68,0,2,3,324,256,448]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,19,32,67,1,2,132,260,4],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":594,"old":28,"rank":3,"right":{"linear_Z4":[2,0,2,0,1,2,1,1,2],"matrix_rows":[18,34,320,19,32,132,40,448,256],"offset":508,"phase":1,"quadratic_rows":[18,1,128,0,17,0,192,196,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":35,"old":29,"rank":1,"right":{"linear_Z4":[0,3,3,3,0,0,0,0,0],"matrix_rows":[6,9,26,20,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[8,30,22,11,6,0,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[12,18,34,66,2,128,261,1,4],"offset":0,"phase":0,"quadratic_rows":[5,2,1,0,0,0,0,0,0]},"new":600,"old":29,"rank":3,"right":{"linear_Z4":[3,3,3,2,0,0,1,0,1],"matrix_rows":[448,6,385,449,18,28,16,32,256],"offset":267,"phase":0,"quadratic_rows":[65,22,30,4,6,0,321,256,448]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,16,38,66,4,6,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":608,"old":29,"rank":3,"right":{"linear_Z4":[2,2,0,1,0,2,1,1,2],"matrix_rows":[320,60,20,129,14,32,48,448,256],"offset":475,"phase":3,"quadratic_rows":[128,12,2,10,0,0,192,193,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":35,"old":30,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,0,3,3,0],"matrix_rows":[230,1,290,292,8,16,256,320,384],"offset":77,"phase":0,"quadratic_rows":[0,454,454,0,0,448,486,486,230]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[8,23,39,64,128,259,5,1,7],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":602,"old":30,"rank":3,"right":{"linear_Z4":[0,1,1,0,0,2,2,1,3],"matrix_rows":[230,38,326,225,258,260,8,16,256],"offset":1,"phase":1,"quadratic_rows":[224,134,134,0,0,257,257,135,352]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,19,35,65,1,132,258,2,6],"offset":0,"phase":0,"quadratic_rows":[0,4,6,0,0,0,0,0,0]},"new":610,"old":30,"rank":3,"right":{"linear_Z4":[2,0,0,0,2,0,1,2,1],"matrix_rows":[23,326,32,16,146,148,24,256,192],"offset":133,"phase":1,"quadratic_rows":[6,449,449,0,0,256,454,70,358]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":35,"old":31,"rank":1,"right":{"linear_Z4":[0,1,1,3,0,0,3,3,2],"matrix_rows":[454,9,266,260,256,272,32,320,384],"offset":61,"phase":1,"quadratic_rows":[8,206,198,11,0,0,198,198,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[11,23,35,71,131,3,261,1,4],"offset":0,"phase":0,"quadratic_rows":[5,2,5,0,0,0,0,0,0]},"new":616,"old":31,"rank":3,"right":{"linear_Z4":[0,3,2,3,0,0,0,3,3],"matrix_rows":[271,207,78,229,294,32,296,48,256],"offset":511,"phase":1,"quadratic_rows":[292,170,105,174,0,207,292,170,321]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,20,38,68,134,6,258,2,3],"offset":0,"phase":0,"quadratic_rows":[3,7,2,0,0,0,0,0,0]},"new":624,"old":31,"rank":3,"right":{"linear_Z4":[0,3,1,3,0,1,3,2,3],"matrix_rows":[1,356,42,256,166,32,168,48,192],"offset":15,"phase":2,"quadratic_rows":[256,142,486,138,0,356,484,78,357]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":35,"old":32,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,2,0,0,0],"matrix_rows":[38,1,34,36,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,16,33,64,1,132,262,2,4],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":618,"old":32,"rank":3,"right":{"linear_Z4":[1,2,1,0,2,3,1,0,1],"matrix_rows":[17,448,416,21,6,16,8,480,256],"offset":443,"phase":3,"quadratic_rows":[5,4,7,0,0,96,352,256,448]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,16,34,1,3,64,132,260,4],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":626,"old":32,"rank":3,"right":{"linear_Z4":[0,2,1,2,1,2,1,1,2],"matrix_rows":[17,12,320,8,6,24,160,448,256],"offset":502,"phase":3,"quadratic_rows":[24,4,22,17,29,128,192,224,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":35,"old":33,"rank":1,"right":{"linear_Z4":[3,3,0,2,0,0,0,0,0],"matrix_rows":[11,9,10,4,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,16,33,68,129,1,262,2,4],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":632,"old":33,"rank":3,"right":{"linear_Z4":[2,2,2,3,0,2,1,0,1],"matrix_rows":[36,448,392,5,6,32,456,48,256],"offset":378,"phase":2,"quadratic_rows":[4,4,3,72,0,0,328,256,448]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,34,64,2,3,132,260,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":640,"old":33,"rank":3,"right":{"linear_Z4":[2,1,0,2,2,1,1,1,2],"matrix_rows":[18,36,320,3,48,16,136,448,256],"offset":477,"phase":3,"quadratic_rows":[2,35,48,128,36,54,192,200,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":35,"old":34,"rank":1,"right":{"linear_Z4":[1,1,0,0,3,0,3,3,2],"matrix_rows":[451,273,258,20,8,256,288,320,384],"offset":103,"phase":1,"quadratic_rows":[211,195,16,0,21,0,195,195,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[15,16,35,64,135,256,5,1,7],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":634,"old":34,"rank":3,"right":{"linear_Z4":[3,2,2,0,1,0,2,3,1],"matrix_rows":[17,209,405,453,198,256,8,272,32],"offset":58,"phase":0,"quadratic_rows":[145,196,402,0,85,0,402,199,324]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[10,19,36,67,130,3,257,1,5],"offset":0,"phase":0,"quadratic_rows":[7,1,5,0,0,0,0,0,0]},"new":642,"old":34,"rank":3,"right":{"linear_Z4":[3,1,0,0,3,1,3,2,3],"matrix_rows":[354,49,4,163,32,256,40,176,192],"offset":39,"phase":2,"quadratic_rows":[147,483,256,0,145,354,482,83,358]}},{"left":{"linear_Z4":[2,2,2,3,3,0,0,0,0],"matrix_rows":[33,66,4,131,5,6,264,16,24],"offset":0,"phase":0,"quadratic_rows":[6,5,3,24,24,0,0,0,0]},"new":1,"old":35,"rank":5,"right":{"linear_Z4":[2,2,0,0,0,0,0,0,1],"matrix_rows":[49,50,52,64,384,16,32,56,256],"offset":488,"phase":1,"quadratic_rows":[32,16,48,0,6,5,256,256,448]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,35,66,129,3,2,260,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":413,"old":35,"rank":4,"right":{"linear_Z4":[2,0,0,0,2,0,0,0,1],"matrix_rows":[3,6,64,384,48,18,32,56,256],"offset":436,"phase":1,"quadratic_rows":[50,21,34,0,3,5,256,256,448]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[18,35,65,131,1,2,260,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":414,"old":35,"rank":4,"right":{"linear_Z4":[3,1,0,0,0,2,0,0,1],"matrix_rows":[6,5,64,384,39,48,16,56,256],"offset":437,"phase":2,"quadratic_rows":[35,19,48,0,6,5,256,256,448]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[19,33,66,129,2,3,260,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":415,"old":35,"rank":4,"right":{"linear_Z4":[0,2,0,0,0,2,0,0,1],"matrix_rows":[3,5,64,384,33,48,16,56,256],"offset":436,"phase":1,"quadratic_rows":[38,49,17,0,6,3,256,256,448]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,34,67,131,1,2,260,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":416,"old":35,"rank":4,"right":{"linear_Z4":[0,0,2,0,2,2,0,0,1],"matrix_rows":[5,6,64,384,16,32,52,56,256],"offset":388,"phase":3,"quadratic_rows":[20,36,51,0,5,6,256,256,448]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":44,"old":36,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":45,"old":36,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,2,2,0],"matrix_rows":[144,1,2,4,72,208,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,64,80,64,56,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":46,"old":36,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,2,2,0],"matrix_rows":[144,65,2,68,8,208,32,128,256],"offset":0,"phase":0,"quadratic_rows":[64,0,64,0,80,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":47,"old":37,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":48,"old":37,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,2,0,2],"matrix_rows":[272,1,2,4,72,336,96,256,128],"offset":0,"phase":0,"quadratic_rows":[0,0,0,64,80,64,56,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":49,"old":37,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,2,0,2],"matrix_rows":[272,65,2,68,8,336,32,256,128],"offset":0,"phase":0,"quadratic_rows":[64,0,64,0,80,0,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":47,"old":38,"rank":1,"right":{"linear_Z4":[1,0,1,1,1,2,1,0,2],"matrix_rows":[349,289,2,292,296,272,256,320,128],"offset":0,"phase":0,"quadratic_rows":[125,0,125,125,93,13,93,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":50,"old":38,"rank":1,"right":{"linear_Z4":[1,0,1,1,1,1,2,0,2],"matrix_rows":[317,321,2,324,264,336,288,256,128],"offset":0,"phase":0,"quadratic_rows":[125,0,125,61,125,61,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":51,"old":38,"rank":1,"right":{"linear_Z4":[1,0,1,1,1,1,2,0,2],"matrix_rows":[317,257,2,260,328,336,352,256,128],"offset":0,"phase":0,"quadratic_rows":[61,0,61,125,125,125,56,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":44,"old":39,"rank":1,"right":{"linear_Z4":[1,0,1,1,1,2,1,2,0],"matrix_rows":[221,161,2,164,168,144,128,192,256],"offset":0,"phase":0,"quadratic_rows":[125,0,125,125,93,13,93,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":52,"old":39,"rank":1,"right":{"linear_Z4":[1,0,1,1,1,1,2,2,0],"matrix_rows":[189,193,2,196,136,208,160,128,256],"offset":0,"phase":0,"quadratic_rows":[125,0,125,61,125,61,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":53,"old":39,"rank":1,"right":{"linear_Z4":[1,0,1,1,1,1,2,2,0],"matrix_rows":[189,129,2,132,200,208,224,128,256],"offset":0,"phase":0,"quadratic_rows":[61,0,61,125,125,125,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":48,"old":40,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":50,"old":40,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":54,"old":40,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,2,0,0,2],"matrix_rows":[264,33,2,36,296,16,256,64,128],"offset":0,"phase":0,"quadratic_rows":[32,0,32,40,0,13,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":45,"old":41,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":52,"old":41,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":55,"old":41,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,2,0,2,0],"matrix_rows":[136,33,2,36,168,16,128,64,256],"offset":0,"phase":0,"quadratic_rows":[32,0,32,40,0,13,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":46,"old":42,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":53,"old":42,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":55,"old":42,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":49,"old":43,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":51,"old":43,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":54,"old":43,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":530,"old":44,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,0,3,0,2],"matrix_rows":[336,1,2,4,8,272,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,80,0,80,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":531,"old":44,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,0,2],"matrix_rows":[261,257,2,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,2,0,0,0,0,0],"matrix_rows":[16,33,67,1,136,2,268,12,4],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":577,"old":44,"rank":4,"right":{"linear_Z4":[2,1,0,3,1,3,3,2,0],"matrix_rows":[42,4,320,400,13,6,32,464,128],"offset":115,"phase":1,"quadratic_rows":[12,46,43,47,80,46,80,0,0]}},{"left":{"linear_Z4":[2,2,3,3,0,0,0,0,0],"matrix_rows":[16,1,34,66,132,256,8,12,2],"offset":0,"phase":0,"quadratic_rows":[0,0,12,12,0,0,0,0,0]},"new":579,"old":44,"rank":4,"right":{"linear_Z4":[0,2,3,3,0,0,0,1,2],"matrix_rows":[2,268,16,192,1,260,264,128,32],"offset":135,"phase":2,"quadratic_rows":[0,0,12,12,128,0,128,208,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":57,"old":45,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,3,0,0,2],"matrix_rows":[296,1,2,4,264,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,40,0,40,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":63,"old":45,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,0,2],"matrix_rows":[261,257,2,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":59,"old":46,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,3,0,0,2],"matrix_rows":[296,1,2,4,264,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,40,0,40,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":61,"old":46,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,0,2],"matrix_rows":[261,257,2,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":487,"old":47,"rank":1,"right":{"linear_Z4":[0,2,0,0,1,0,3,0,2],"matrix_rows":[336,1,66,4,8,272,32,256,128],"offset":132,"phase":2,"quadratic_rows":[0,64,0,0,80,0,82,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":490,"old":47,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,2,0],"matrix_rows":[140,1,2,132,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":530,"old":47,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,0,3,2,0],"matrix_rows":[208,1,2,4,8,144,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,80,0,80,0,0]}},{"left":{"linear_Z4":[3,2,2,2,0,0,0,0,0],"matrix_rows":[16,34,67,1,136,2,268,4,12],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":576,"old":47,"rank":4,"right":{"linear_Z4":[2,1,0,1,1,1,3,0,2],"matrix_rows":[44,42,192,400,13,46,32,464,256],"offset":115,"phase":1,"quadratic_rows":[12,6,43,45,80,44,80,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":57,"old":48,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,3,0,2,0],"matrix_rows":[168,1,2,4,136,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,40,0,40,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":62,"old":48,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,2,0],"matrix_rows":[133,129,2,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":58,"old":49,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,3,0,2,0],"matrix_rows":[168,1,2,4,136,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,40,0,40,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":61,"old":49,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,2,0],"matrix_rows":[133,129,2,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":59,"old":50,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,2,0],"matrix_rows":[133,129,2,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":60,"old":50,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,3,0,2,0],"matrix_rows":[168,1,2,4,136,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,40,0,40,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":56,"old":51,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,2,0],"matrix_rows":[133,129,2,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":63,"old":51,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,3,0,2,0],"matrix_rows":[168,1,2,4,136,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,40,0,40,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":58,"old":52,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,0,2],"matrix_rows":[261,257,2,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":60,"old":52,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,3,0,0,2],"matrix_rows":[296,1,2,4,264,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,40,0,40,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":56,"old":53,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,0,2],"matrix_rows":[261,257,2,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":62,"old":53,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,3,0,0,2],"matrix_rows":[296,1,2,4,264,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,40,0,40,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":439,"old":54,"rank":1,"right":{"linear_Z4":[0,1,1,1,1,0,1,2,0],"matrix_rows":[94,1,130,132,136,144,32,192,256],"offset":0,"phase":0,"quadratic_rows":[0,222,222,222,222,0,222,94,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":442,"old":54,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,2,0],"matrix_rows":[133,129,2,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":531,"old":54,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,0,3,2,0],"matrix_rows":[208,1,2,4,8,144,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,80,0,80,0,0]}},{"left":{"linear_Z4":[2,2,2,2,0,0,0,0,0],"matrix_rows":[16,42,69,129,258,4,10,8,5],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":578,"old":54,"rank":4,"right":{"linear_Z4":[2,2,0,1,3,0,2,0,2],"matrix_rows":[300,210,36,130,13,66,256,288,208],"offset":155,"phase":1,"quadratic_rows":[12,16,1,9,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":440,"old":55,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,2,0,0],"matrix_rows":[69,65,2,68,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":442,"old":55,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,0,2],"matrix_rows":[261,257,2,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":488,"old":55,"rank":1,"right":{"linear_Z4":[3,0,3,2,0,0,0,0,0],"matrix_rows":[5,33,2,44,32,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[37,0,45,4,0,5,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":489,"old":55,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,3,0,2],"matrix_rows":[322,1,258,4,8,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,66,0,0,0,0,66,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":64,"old":56,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,2,0,0,0],"matrix_rows":[24,33,2,36,104,80,64,128,256],"offset":1,"phase":1,"quadratic_rows":[32,0,32,120,88,13,24,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,20,32,64,132,6,2,257,1],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":684,"old":56,"rank":3,"right":{"linear_Z4":[0,1,0,2,3,2,2,0,2],"matrix_rows":[257,96,18,256,98,4,56,64,384],"offset":192,"phase":2,"quadratic_rows":[0,114,0,48,122,26,18,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,20,34,64,133,1,4,258,2],"offset":0,"phase":0,"quadratic_rows":[5,0,1,0,0,0,0,0,0]},"new":700,"old":56,"rank":3,"right":{"linear_Z4":[0,1,0,2,0,1,1,0,2],"matrix_rows":[112,260,98,1,114,256,56,64,384],"offset":213,"phase":1,"quadratic_rows":[0,18,0,48,106,120,112,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":64,"old":57,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,2,0,0,2],"matrix_rows":[24,33,2,36,296,272,256,320,384],"offset":0,"phase":0,"quadratic_rows":[32,0,32,312,280,13,0,0,24]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[10,23,6,32,65,130,3,258,2],"offset":0,"phase":0,"quadratic_rows":[4,0,5,0,0,0,0,0,0]},"new":685,"old":57,"rank":3,"right":{"linear_Z4":[1,1,1,0,3,3,1,0,0],"matrix_rows":[118,275,354,273,358,56,320,256,384],"offset":222,"phase":2,"quadratic_rows":[3,355,276,48,284,362,354,0,118]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[15,3,17,32,69,129,4,257,1],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":701,"old":57,"rank":3,"right":{"linear_Z4":[3,1,1,0,2,1,3,0,3],"matrix_rows":[277,113,355,115,276,56,320,256,384],"offset":213,"phase":3,"quadratic_rows":[117,274,5,48,363,121,113,0,274]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":64,"old":58,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,2,0,2,0],"matrix_rows":[136,33,2,36,168,16,128,64,256],"offset":0,"phase":0,"quadratic_rows":[32,0,32,40,0,13,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,20,33,68,129,2,1,6,256],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":692,"old":58,"rank":3,"right":{"linear_Z4":[3,3,3,0,2,2,0,3,0],"matrix_rows":[5,160,170,81,162,68,128,64,256],"offset":69,"phase":1,"quadratic_rows":[85,10,69,34,1,136,5,160,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[10,20,34,65,130,4,2,5,256],"offset":0,"phase":0,"quadratic_rows":[5,2,1,0,0,0,0,0,0]},"new":708,"old":58,"rank":3,"right":{"linear_Z4":[3,1,3,0,2,2,0,3,0],"matrix_rows":[8,5,170,65,10,84,128,64,256],"offset":87,"phase":1,"quadratic_rows":[69,162,85,32,4,138,5,162,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":64,"old":59,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,2,0,0,2],"matrix_rows":[264,33,2,36,296,16,256,64,128],"offset":0,"phase":0,"quadratic_rows":[32,0,32,40,0,13,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,20,33,68,129,2,1,256,6],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":693,"old":59,"rank":3,"right":{"linear_Z4":[3,3,3,0,2,2,0,0,3],"matrix_rows":[5,288,298,81,290,68,256,64,128],"offset":69,"phase":1,"quadratic_rows":[85,10,69,34,1,264,5,0,288]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[10,20,34,65,130,4,2,256,5],"offset":0,"phase":0,"quadratic_rows":[5,2,1,0,0,0,0,0,0]},"new":709,"old":59,"rank":3,"right":{"linear_Z4":[3,1,3,0,2,2,0,0,3],"matrix_rows":[8,5,298,65,10,84,256,64,128],"offset":87,"phase":1,"quadratic_rows":[69,290,85,32,4,266,5,0,290]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":64,"old":60,"rank":1,"right":{"linear_Z4":[3,0,3,3,0,2,0,0,0],"matrix_rows":[13,289,2,292,296,16,256,64,384],"offset":1,"phase":1,"quadratic_rows":[301,0,301,301,0,13,0,0,13]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,17,35,68,1,128,2,260,4],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":716,"old":60,"rank":3,"right":{"linear_Z4":[2,1,0,0,3,0,3,0,2],"matrix_rows":[82,4,264,21,6,64,256,32,384],"offset":59,"phase":1,"quadratic_rows":[20,86,83,0,87,0,86,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,18,35,64,1,132,2,260,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":732,"old":60,"rank":3,"right":{"linear_Z4":[2,1,0,0,1,0,1,0,2],"matrix_rows":[84,82,288,21,86,64,8,256,384],"offset":59,"phase":1,"quadratic_rows":[20,6,83,0,85,0,84,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":64,"old":61,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,19,39,71,129,2,6,263,7],"offset":0,"phase":0,"quadratic_rows":[3,5,2,0,0,0,0,0,0]},"new":717,"old":61,"rank":3,"right":{"linear_Z4":[0,2,2,1,1,1,0,0,1],"matrix_rows":[42,282,92,21,358,256,280,320,384],"offset":246,"phase":2,"quadratic_rows":[20,84,43,124,283,364,42,0,304]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[12,17,39,2,68,3,135,263,7],"offset":0,"phase":0,"quadratic_rows":[3,3,4,0,0,0,0,0,0]},"new":733,"old":61,"rank":3,"right":{"linear_Z4":[3,3,2,0,3,1,0,0,2],"matrix_rows":[10,44,17,293,46,256,304,320,384],"offset":235,"phase":2,"quadratic_rows":[309,38,35,0,305,55,0,0,17]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":64,"old":62,"rank":1,"right":{"linear_Z4":[3,0,3,3,3,2,0,0,2],"matrix_rows":[285,289,2,292,296,272,256,320,128],"offset":1,"phase":1,"quadratic_rows":[61,0,61,61,29,13,0,0,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[9,17,2,36,68,132,4,3,256],"offset":0,"phase":0,"quadratic_rows":[2,3,4,0,0,0,0,0,0]},"new":724,"old":62,"rank":3,"right":{"linear_Z4":[0,3,2,3,2,3,0,3,0],"matrix_rows":[135,132,40,128,134,88,64,96,256],"offset":13,"phase":1,"quadratic_rows":[6,3,129,120,8,104,40,132,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[11,1,18,32,64,132,260,2,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":740,"old":62,"rank":3,"right":{"linear_Z4":[2,3,0,2,2,1,0,3,2],"matrix_rows":[129,135,288,131,128,8,48,256,320],"offset":484,"phase":1,"quadratic_rows":[132,6,3,0,32,48,0,129,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":64,"old":63,"rank":1,"right":{"linear_Z4":[3,0,3,3,3,2,0,2,0],"matrix_rows":[157,161,2,164,168,144,128,192,256],"offset":1,"phase":1,"quadratic_rows":[61,0,61,61,29,13,0,0,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[9,17,2,36,68,132,4,256,3],"offset":0,"phase":0,"quadratic_rows":[2,3,4,0,0,0,0,0,0]},"new":725,"old":63,"rank":3,"right":{"linear_Z4":[0,3,2,3,2,3,0,0,3],"matrix_rows":[263,260,40,256,262,88,64,96,128],"offset":13,"phase":1,"quadratic_rows":[6,3,257,120,8,104,40,0,260]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[11,1,18,32,64,132,260,4,2],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":741,"old":63,"rank":3,"right":{"linear_Z4":[2,3,0,2,2,1,0,2,3],"matrix_rows":[257,263,160,259,256,8,48,128,192],"offset":484,"phase":1,"quadratic_rows":[260,6,3,0,32,48,0,0,257]}},{"left":{"linear_Z4":[2,2,2,3,3,0,0,0,0],"matrix_rows":[33,2,4,72,144,13,21,261,5],"offset":0,"phase":0,"quadratic_rows":[24,0,24,13,21,0,0,0,0]},"new":1,"old":64,"rank":5,"right":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[353,2,100,264,272,256,288,320,384],"offset":254,"phase":1,"quadratic_rows":[96,0,96,32,64,13,21,0,0]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,37,4,66,136,7,13,261,5],"offset":0,"phase":0,"quadratic_rows":[15,7,15,13,0,0,0,0,0]},"new":413,"old":64,"rank":4,"right":{"linear_Z4":[2,2,2,1,0,0,0,0,3],"matrix_rows":[107,264,366,272,256,266,288,320,384],"offset":254,"phase":3,"quadratic_rows":[362,13,362,47,64,13,21,0,261]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[18,3,33,68,136,5,9,257,1],"offset":0,"phase":0,"quadratic_rows":[15,3,5,9,0,0,0,0,0]},"new":414,"old":64,"rank":4,"right":{"linear_Z4":[1,3,0,0,0,1,1,0,2],"matrix_rows":[358,261,264,272,263,256,288,320,384],"offset":204,"phase":0,"quadratic_rows":[3,99,96,32,64,110,118,0,0]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,37,4,72,130,13,7,261,5],"offset":0,"phase":0,"quadratic_rows":[15,7,15,13,0,0,0,0,0]},"new":417,"old":64,"rank":4,"right":{"linear_Z4":[2,2,2,0,1,0,0,0,3],"matrix_rows":[115,272,374,264,256,274,288,320,384],"offset":254,"phase":3,"quadratic_rows":[370,21,370,32,87,13,21,0,261]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[22,3,37,73,129,12,4,261,5],"offset":0,"phase":0,"quadratic_rows":[15,7,15,13,0,0,0,0,0]},"new":418,"old":64,"rank":4,"right":{"linear_Z4":[2,0,0,2,3,2,2,0,3],"matrix_rows":[382,285,123,264,287,256,288,320,384],"offset":200,"phase":3,"quadratic_rows":[120,24,120,295,87,13,21,0,264]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":73,"old":65,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":74,"old":65,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":75,"old":65,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":76,"old":66,"rank":1,"right":{"linear_Z4":[0,3,3,2,0,0,0,0,0],"matrix_rows":[14,1,10,12,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":77,"old":66,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":78,"old":66,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,2,0,0],"matrix_rows":[69,65,2,68,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":76,"old":67,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,2,0,0,0],"matrix_rows":[35,33,34,4,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":79,"old":67,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":80,"old":67,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,2,0,0],"matrix_rows":[69,65,2,68,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":73,"old":68,"rank":1,"right":{"linear_Z4":[1,0,1,1,1,2,0,1,2],"matrix_rows":[413,289,2,292,296,272,256,64,384],"offset":0,"phase":0,"quadratic_rows":[189,0,189,189,157,13,0,157,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":81,"old":68,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":82,"old":68,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":77,"old":69,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,2,0,0],"matrix_rows":[104,33,34,4,72,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[32,32,0,40,0,11,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":79,"old":69,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,1,2,0,0],"matrix_rows":[104,1,10,12,64,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,8,8,38,0,40,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":83,"old":69,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,2,2,0,0],"matrix_rows":[72,33,2,36,104,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[32,0,32,40,0,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":74,"old":70,"rank":1,"right":{"linear_Z4":[1,1,0,1,1,0,2,1,2],"matrix_rows":[411,321,322,4,328,272,32,256,384],"offset":0,"phase":0,"quadratic_rows":[219,219,0,219,155,0,11,155,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":81,"old":70,"rank":1,"right":{"linear_Z4":[1,1,0,1,1,0,2,1,2],"matrix_rows":[411,257,322,68,264,272,96,256,384],"offset":0,"phase":0,"quadratic_rows":[155,219,64,155,155,64,38,155,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":84,"old":70,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":75,"old":71,"rank":1,"right":{"linear_Z4":[0,1,1,0,1,1,2,1,2],"matrix_rows":[438,1,322,324,8,272,352,256,384],"offset":0,"phase":0,"quadratic_rows":[0,246,246,0,182,246,38,182,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":82,"old":71,"rank":1,"right":{"linear_Z4":[0,1,1,0,1,1,2,1,2],"matrix_rows":[438,65,322,260,72,272,288,256,384],"offset":0,"phase":0,"quadratic_rows":[64,246,182,64,182,182,11,182,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":84,"old":71,"rank":1,"right":{"linear_Z4":[0,1,1,0,1,2,1,1,2],"matrix_rows":[470,33,258,292,40,272,256,320,384],"offset":0,"phase":0,"quadratic_rows":[32,214,246,32,214,13,214,214,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":78,"old":72,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,2,0,0,0],"matrix_rows":[35,33,34,4,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":80,"old":72,"rank":1,"right":{"linear_Z4":[0,3,3,2,0,0,0,0,0],"matrix_rows":[14,1,10,12,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":83,"old":72,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":532,"old":73,"rank":1,"right":{"linear_Z4":[3,0,3,3,0,0,0,0,0],"matrix_rows":[5,33,10,44,32,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[37,8,45,14,0,5,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":533,"old":73,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,2,0,0],"matrix_rows":[69,65,2,68,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,3,0,0,0,0,0],"matrix_rows":[16,34,67,1,132,2,260,8,12],"offset":0,"phase":0,"quadratic_rows":[3,1,8,12,0,0,0,0,0]},"new":581,"old":73,"rank":4,"right":{"linear_Z4":[2,1,0,1,0,1,3,2,3],"matrix_rows":[44,42,464,384,13,46,32,256,448],"offset":247,"phase":1,"quadratic_rows":[12,6,43,45,192,44,80,272,384]}},{"left":{"linear_Z4":[2,2,3,3,0,0,0,0,0],"matrix_rows":[16,1,34,66,132,256,2,8,12],"offset":0,"phase":0,"quadratic_rows":[0,0,12,12,0,0,0,0,0]},"new":583,"old":73,"rank":4,"right":{"linear_Z4":[0,2,3,3,0,0,2,0,1],"matrix_rows":[2,76,16,384,1,68,72,256,32],"offset":135,"phase":2,"quadratic_rows":[0,0,12,12,256,0,0,256,400]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":86,"old":74,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,2,0,0,0],"matrix_rows":[35,33,34,4,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":92,"old":74,"rank":1,"right":{"linear_Z4":[3,3,0,3,0,0,0,0,0],"matrix_rows":[3,65,74,12,64,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[67,75,8,14,0,0,3,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":88,"old":75,"rank":1,"right":{"linear_Z4":[0,3,3,2,0,0,0,0,0],"matrix_rows":[14,1,10,12,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":90,"old":75,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,3,0,0,0],"matrix_rows":[6,33,98,68,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[32,102,70,0,0,35,6,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":510,"old":76,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,1,1,2],"matrix_rows":[213,257,2,260,8,272,32,320,384],"offset":0,"phase":0,"quadratic_rows":[469,0,469,0,469,0,469,469,213]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":513,"old":76,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[2,1,258,4,8,16,32,64,128],"offset":0,"phase":0,"quadratic_rows":[0,258,0,0,0,0,0,0,2]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":532,"old":76,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,0,0,3,2],"matrix_rows":[400,1,2,4,8,272,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,144,0,0,144,0]}},{"left":{"linear_Z4":[3,2,2,2,0,0,0,0,0],"matrix_rows":[16,34,65,3,136,2,268,12,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":580,"old":76,"rank":4,"right":{"linear_Z4":[2,0,1,1,3,2,2,2,0],"matrix_rows":[36,10,320,464,5,32,40,400,192],"offset":93,"phase":1,"quadratic_rows":[4,40,13,46,80,10,16,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":86,"old":77,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,0,0,3,2],"matrix_rows":[400,1,2,4,8,272,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,144,0,0,144,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":91,"old":77,"rank":1,"right":{"linear_Z4":[0,1,1,1,1,0,0,1,2],"matrix_rows":[158,1,258,260,264,272,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,414,414,414,414,0,0,414,158]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":87,"old":78,"rank":1,"right":{"linear_Z4":[0,1,1,1,1,0,0,1,2],"matrix_rows":[158,1,258,260,264,272,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,414,414,414,414,0,0,414,158]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":90,"old":78,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,0,0,3,2],"matrix_rows":[400,1,2,4,8,272,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,144,0,0,144,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":88,"old":79,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,0,0,3,2],"matrix_rows":[400,1,2,4,8,272,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,144,0,0,144,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":89,"old":79,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,1,0,1,2],"matrix_rows":[179,257,258,4,8,272,288,64,384],"offset":0,"phase":0,"quadratic_rows":[435,435,0,0,435,435,0,435,179]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":85,"old":80,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,1,0,1,2],"matrix_rows":[179,257,258,4,8,272,288,64,384],"offset":0,"phase":0,"quadratic_rows":[435,435,0,0,435,435,0,435,179]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":92,"old":80,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,0,0,3,2],"matrix_rows":[400,1,2,4,8,272,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,144,0,0,144,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":87,"old":81,"rank":1,"right":{"linear_Z4":[0,2,2,1,1,0,0,1,2],"matrix_rows":[184,33,34,4,264,272,256,320,384],"offset":204,"phase":0,"quadratic_rows":[32,32,0,440,440,411,0,440,184]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":89,"old":81,"rank":1,"right":{"linear_Z4":[3,2,1,1,3,3,0,3,2],"matrix_rows":[437,257,10,268,256,272,288,64,384],"offset":29,"phase":0,"quadratic_rows":[181,8,189,14,181,181,0,181,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":85,"old":82,"rank":1,"right":{"linear_Z4":[2,2,0,0,1,1,0,1,2],"matrix_rows":[184,1,10,12,256,272,288,320,384],"offset":150,"phase":0,"quadratic_rows":[0,8,8,438,440,440,0,440,184]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":91,"old":82,"rank":1,"right":{"linear_Z4":[1,2,3,3,3,1,0,3,2],"matrix_rows":[413,289,34,260,264,272,256,64,384],"offset":71,"phase":0,"quadratic_rows":[189,32,157,157,157,35,0,157,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":438,"old":83,"rank":1,"right":{"linear_Z4":[3,0,3,0,2,0,0,0,0],"matrix_rows":[21,17,2,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":440,"old":83,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,2,0],"matrix_rows":[133,129,2,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":533,"old":83,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,0,0,3,2],"matrix_rows":[400,1,2,4,8,272,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,144,0,0,144,0]}},{"left":{"linear_Z4":[2,2,2,2,0,0,0,0,0],"matrix_rows":[16,42,69,129,258,4,5,8,10],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":582,"old":83,"rank":4,"right":{"linear_Z4":[2,2,0,1,3,0,2,0,2],"matrix_rows":[108,402,36,130,13,258,64,96,400],"offset":155,"phase":1,"quadratic_rows":[12,16,1,9,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":439,"old":84,"rank":1,"right":{"linear_Z4":[1,3,2,3,3,0,3,3,2],"matrix_rows":[475,257,386,132,392,400,32,448,256],"offset":444,"phase":2,"quadratic_rows":[219,91,128,91,91,0,91,133,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":441,"old":84,"rank":1,"right":{"linear_Z4":[3,0,2,3,0,0,0,0,0],"matrix_rows":[9,37,2,32,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[45,0,1,41,0,9,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":510,"old":84,"rank":1,"right":{"linear_Z4":[2,0,2,0,1,0,1,1,2],"matrix_rows":[216,1,10,12,256,272,288,320,384],"offset":90,"phase":0,"quadratic_rows":[0,8,8,470,472,0,472,472,216]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":512,"old":84,"rank":1,"right":{"linear_Z4":[2,3,2,1,3,0,3,3,2],"matrix_rows":[474,1,258,12,256,272,288,320,384],"offset":91,"phase":1,"quadratic_rows":[0,218,8,222,218,0,218,218,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":93,"old":85,"rank":1,"right":{"linear_Z4":[1,1,0,0,3,0,0,3,0],"matrix_rows":[179,289,290,4,8,272,256,64,384],"offset":71,"phase":0,"quadratic_rows":[403,403,0,0,435,400,0,435,179]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[11,19,32,64,131,6,256,2,7],"offset":0,"phase":0,"quadratic_rows":[5,2,5,0,0,0,0,0,0]},"new":686,"old":85,"rank":3,"right":{"linear_Z4":[0,0,0,0,2,2,0,1,3],"matrix_rows":[19,179,288,273,274,180,8,256,64],"offset":2,"phase":1,"quadratic_rows":[432,432,176,0,263,263,0,135,307]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[15,23,33,65,130,4,1,262,6],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":710,"old":85,"rank":3,"right":{"linear_Z4":[3,3,2,0,0,0,2,0,2],"matrix_rows":[71,403,163,321,322,64,72,256,384],"offset":131,"phase":1,"quadratic_rows":[55,55,3,0,131,131,0,48,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":93,"old":86,"rank":1,"right":{"linear_Z4":[3,3,0,3,0,0,0,0,0],"matrix_rows":[3,65,74,12,64,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[67,75,8,14,0,0,3,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,17,36,65,132,256,1,2,6],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":687,"old":86,"rank":3,"right":{"linear_Z4":[3,3,3,2,0,0,0,2,3],"matrix_rows":[3,384,404,73,66,388,64,256,32],"offset":133,"phase":1,"quadratic_rows":[75,67,20,1,132,0,3,272,384]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,19,32,65,132,3,2,260,4],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":711,"old":86,"rank":3,"right":{"linear_Z4":[2,0,2,1,3,2,0,1,2],"matrix_rows":[106,66,400,11,32,20,96,256,384],"offset":233,"phase":1,"quadratic_rows":[10,1,16,9,148,0,0,144,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":93,"old":87,"rank":1,"right":{"linear_Z4":[0,1,1,0,3,0,0,3,0],"matrix_rows":[158,1,266,268,256,272,32,64,384],"offset":29,"phase":0,"quadratic_rows":[0,406,406,400,414,0,0,414,158]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,23,39,66,4,129,1,262,6],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":694,"old":87,"rank":3,"right":{"linear_Z4":[2,3,3,0,0,0,2,0,2],"matrix_rows":[71,398,150,64,322,324,256,96,384],"offset":67,"phase":1,"quadratic_rows":[6,31,31,134,134,0,0,24,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[8,19,35,69,3,128,256,1,7],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":702,"old":87,"rank":3,"right":{"linear_Z4":[0,0,0,2,2,0,0,1,3],"matrix_rows":[158,278,8,153,18,20,256,32,64],"offset":1,"phase":1,"quadratic_rows":[152,408,408,263,263,0,0,135,286]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":93,"old":88,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,3,0,0,0],"matrix_rows":[6,33,98,68,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[32,102,70,0,0,35,6,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,16,38,70,129,2,4,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":695,"old":88,"rank":3,"right":{"linear_Z4":[2,2,0,0,3,1,2,1,2],"matrix_rows":[400,36,68,17,38,64,72,256,384],"offset":248,"phase":3,"quadratic_rows":[16,36,2,0,145,34,0,144,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[12,18,34,64,132,258,2,1,5],"offset":0,"phase":0,"quadratic_rows":[5,2,1,0,0,0,0,0,0]},"new":703,"old":88,"rank":3,"right":{"linear_Z4":[3,3,3,0,0,2,0,2,3],"matrix_rows":[384,6,401,385,66,100,8,256,64],"offset":134,"phase":1,"quadratic_rows":[17,70,102,0,129,4,6,272,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":93,"old":89,"rank":1,"right":{"linear_Z4":[0,1,1,0,3,3,0,3,2],"matrix_rows":[406,33,290,260,8,272,256,320,384],"offset":205,"phase":1,"quadratic_rows":[32,182,150,0,150,35,0,150,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,23,34,66,4,135,2,261,5],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":726,"old":89,"rank":3,"right":{"linear_Z4":[0,3,2,0,0,3,2,0,2],"matrix_rows":[423,98,182,256,326,64,72,352,384],"offset":11,"phase":1,"quadratic_rows":[166,55,19,0,166,51,0,17,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,16,39,71,135,259,4,1,2],"offset":0,"phase":0,"quadratic_rows":[4,4,7,0,0,0,0,0,0]},"new":734,"old":89,"rank":3,"right":{"linear_Z4":[0,0,2,0,3,1,2,3,1],"matrix_rows":[212,340,308,165,38,320,328,368,256],"offset":420,"phase":2,"quadratic_rows":[164,36,371,0,468,487,180,241,308]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":93,"old":90,"rank":1,"right":{"linear_Z4":[0,3,3,2,0,0,0,0,0],"matrix_rows":[14,1,10,12,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,16,34,64,132,1,3,260,4],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":727,"old":90,"rank":3,"right":{"linear_Z4":[0,2,1,2,3,2,1,1,2],"matrix_rows":[65,36,400,32,6,96,24,256,384],"offset":242,"phase":1,"quadratic_rows":[96,4,70,16,152,65,101,144,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,16,33,68,132,256,1,2,6],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":735,"old":90,"rank":3,"right":{"linear_Z4":[1,2,1,3,0,0,2,2,3],"matrix_rows":[65,384,408,69,6,64,392,256,32],"offset":189,"phase":0,"quadratic_rows":[5,4,7,24,136,0,0,272,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":93,"old":91,"rank":1,"right":{"linear_Z4":[1,1,0,3,3,0,0,3,2],"matrix_rows":[403,257,266,12,256,272,32,320,384],"offset":151,"phase":1,"quadratic_rows":[147,155,8,14,147,0,0,147,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[8,17,39,65,1,128,256,3,5],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":718,"old":91,"rank":3,"right":{"linear_Z4":[2,3,3,1,1,0,0,2,3],"matrix_rows":[10,388,4,149,134,256,24,32,64],"offset":62,"phase":1,"quadratic_rows":[148,142,151,26,157,0,0,279,384]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[14,17,34,70,4,129,1,263,7],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":742,"old":91,"rank":3,"right":{"linear_Z4":[2,1,0,2,0,0,0,3,2],"matrix_rows":[194,463,155,323,64,320,328,96,384],"offset":0,"phase":0,"quadratic_rows":[22,151,139,20,139,0,0,150,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":93,"old":92,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,2,0,0,0],"matrix_rows":[35,33,34,4,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,16,33,65,130,258,1,4,6],"offset":0,"phase":0,"quadratic_rows":[0,4,6,0,0,0,0,0,0]},"new":719,"old":92,"rank":3,"right":{"linear_Z4":[2,2,2,0,0,3,2,2,3],"matrix_rows":[68,432,384,5,6,64,72,256,416],"offset":186,"phase":3,"quadratic_rows":[4,4,3,0,160,48,0,272,384]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[8,17,34,3,68,4,2,128,256],"offset":0,"phase":0,"quadratic_rows":[3,1,4,0,0,0,0,0,0]},"new":743,"old":92,"rank":3,"right":{"linear_Z4":[2,1,0,1,1,2,2,0,0],"matrix_rows":[66,12,16,3,72,64,48,128,256],"offset":25,"phase":3,"quadratic_rows":[2,11,72,78,48,16,12,0,0]}},{"left":{"linear_Z4":[2,2,2,3,3,0,0,0,0],"matrix_rows":[33,66,4,134,264,3,5,16,24],"offset":0,"phase":0,"quadratic_rows":[6,5,3,24,24,0,0,0,0]},"new":1,"old":93,"rank":5,"right":{"linear_Z4":[0,2,2,0,0,0,0,0,1],"matrix_rows":[33,34,36,16,384,64,96,104,256],"offset":431,"phase":1,"quadratic_rows":[96,64,32,0,256,5,3,256,400]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,35,66,130,260,1,3,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":413,"old":93,"rank":4,"right":{"linear_Z4":[0,0,2,0,0,0,2,0,1],"matrix_rows":[3,6,16,384,32,66,96,104,256],"offset":484,"phase":1,"quadratic_rows":[34,69,98,0,256,5,6,256,400]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[18,35,65,130,260,3,1,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":414,"old":93,"rank":4,"right":{"linear_Z4":[1,1,2,0,0,2,2,0,1],"matrix_rows":[6,5,16,384,103,32,64,104,256],"offset":389,"phase":0,"quadratic_rows":[99,67,32,0,256,5,3,256,400]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[19,33,66,131,260,1,2,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":419,"old":93,"rank":4,"right":{"linear_Z4":[2,0,0,0,0,2,2,0,1],"matrix_rows":[3,5,16,384,97,32,64,104,256],"offset":388,"phase":3,"quadratic_rows":[102,33,65,0,256,3,5,256,400]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,34,67,130,260,3,1,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":420,"old":93,"rank":4,"right":{"linear_Z4":[0,2,0,0,0,2,0,0,1],"matrix_rows":[5,6,16,384,64,96,36,104,256],"offset":484,"phase":1,"quadratic_rows":[68,100,35,0,256,6,3,256,400]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":102,"old":94,"rank":1,"right":{"linear_Z4":[0,3,0,3,2,0,0,0,0],"matrix_rows":[26,1,18,4,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":103,"old":94,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,2,0,0],"matrix_rows":[81,65,2,4,8,80,32,128,256],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":104,"old":94,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":105,"old":95,"rank":1,"right":{"linear_Z4":[1,1,1,0,1,2,0,1,2],"matrix_rows":[407,289,290,260,8,304,256,64,384],"offset":0,"phase":0,"quadratic_rows":[183,183,151,0,183,19,0,151,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":106,"old":95,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":107,"old":95,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":105,"old":96,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":108,"old":96,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":109,"old":96,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":102,"old":97,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,2,0,0,0],"matrix_rows":[41,33,2,4,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":110,"old":97,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":111,"old":97,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,3,2,0,0],"matrix_rows":[98,1,66,4,8,16,96,128,256],"offset":1,"phase":1,"quadratic_rows":[0,34,0,0,0,34,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":106,"old":98,"rank":1,"right":{"linear_Z4":[1,1,1,1,0,0,2,1,2],"matrix_rows":[399,257,258,260,328,80,96,256,384],"offset":0,"phase":0,"quadratic_rows":[143,143,143,207,64,64,56,143,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":108,"old":98,"rank":1,"right":{"linear_Z4":[1,1,1,1,0,0,2,1,2],"matrix_rows":[399,321,322,260,328,16,32,256,384],"offset":0,"phase":0,"quadratic_rows":[207,207,143,207,0,0,11,143,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":112,"old":98,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":103,"old":99,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,2,0,0,0],"matrix_rows":[41,33,2,4,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":110,"old":99,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,2,0,0],"matrix_rows":[81,65,18,4,24,64,32,128,256],"offset":0,"phase":0,"quadratic_rows":[17,16,0,16,11,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":113,"old":99,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":104,"old":100,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,0,0],"matrix_rows":[98,33,66,4,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[32,34,0,32,0,11,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":111,"old":100,"rank":1,"right":{"linear_Z4":[0,3,0,3,2,0,0,0,0],"matrix_rows":[26,1,18,4,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":113,"old":100,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,2,2,0,0],"matrix_rows":[66,33,98,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[32,34,0,0,32,19,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":107,"old":101,"rank":1,"right":{"linear_Z4":[0,0,1,1,1,1,2,1,2],"matrix_rows":[444,65,66,260,328,272,288,256,384],"offset":0,"phase":0,"quadratic_rows":[64,64,188,252,188,188,11,188,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":109,"old":101,"rank":1,"right":{"linear_Z4":[0,0,1,1,1,1,2,1,2],"matrix_rows":[444,1,2,260,328,336,352,256,384],"offset":0,"phase":0,"quadratic_rows":[0,0,188,252,252,252,56,188,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":112,"old":101,"rank":1,"right":{"linear_Z4":[0,0,1,1,1,2,1,1,2],"matrix_rows":[476,33,34,260,264,304,256,320,384],"offset":0,"phase":0,"quadratic_rows":[32,32,220,220,252,19,220,220,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":535,"old":102,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,0,0,3,2],"matrix_rows":[388,1,2,260,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,132,0,0,0,0,132,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":537,"old":102,"rank":1,"right":{"linear_Z4":[3,3,3,3,0,0,3,3,2],"matrix_rows":[463,257,258,260,264,16,32,320,384],"offset":1,"phase":1,"quadratic_rows":[207,207,207,207,0,0,207,207,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,18,32,64,128,258,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":587,"old":102,"rank":2,"right":{"linear_Z4":[0,0,3,0,0,0,3,3,0],"matrix_rows":[384,196,1,2,388,8,16,32,448],"offset":2,"phase":1,"quadratic_rows":[0,0,324,0,0,0,324,384,196]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[19,35,78,131,259,3,5,9,1],"offset":0,"phase":0,"quadratic_rows":[15,15,15,15,0,0,0,0,0]},"new":591,"old":102,"rank":4,"right":{"linear_Z4":[2,2,1,1,0,1,1,1,0],"matrix_rows":[491,455,428,364,33,34,492,32,48],"offset":204,"phase":0,"quadratic_rows":[12,12,239,239,0,236,236,236,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":115,"old":103,"rank":1,"right":{"linear_Z4":[0,1,1,1,1,0,0,1,2],"matrix_rows":[158,1,258,260,264,272,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,414,414,414,414,0,0,414,158]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":121,"old":103,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,0,0,3,2],"matrix_rows":[388,1,2,260,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,132,0,0,0,0,132,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":117,"old":104,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,0,0,3,2],"matrix_rows":[388,1,2,260,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,132,0,0,0,0,132,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":119,"old":104,"rank":1,"right":{"linear_Z4":[0,1,1,1,1,0,0,1,2],"matrix_rows":[158,1,258,260,264,272,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,414,414,414,414,0,0,414,158]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":535,"old":105,"rank":1,"right":{"linear_Z4":[3,3,0,0,3,0,0,0,0],"matrix_rows":[3,33,50,4,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[35,51,0,16,26,3,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":536,"old":105,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,2,0,0],"matrix_rows":[81,65,2,4,8,80,32,128,256],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,3,0,0,0,0,0],"matrix_rows":[17,33,72,3,130,2,12,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,8,12,0,0,0,0,0]},"new":586,"old":105,"rank":4,"right":{"linear_Z4":[3,3,1,1,0,0,3,0,2],"matrix_rows":[27,24,192,388,41,58,452,32,256],"offset":3,"phase":2,"quadratic_rows":[51,35,68,24,9,3,324,256,192]}},{"left":{"linear_Z4":[2,3,2,3,0,0,0,0,0],"matrix_rows":[16,33,66,4,129,256,1,8,10],"offset":0,"phase":0,"quadratic_rows":[0,10,0,10,0,0,0,0,0]},"new":589,"old":105,"rank":4,"right":{"linear_Z4":[0,3,0,2,3,0,2,0,1],"matrix_rows":[82,4,8,384,1,66,256,80,32],"offset":71,"phase":2,"quadratic_rows":[0,18,256,0,18,0,0,256,388]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":115,"old":106,"rank":1,"right":{"linear_Z4":[0,1,1,2,2,0,0,1,2],"matrix_rows":[166,33,258,260,40,16,256,320,384],"offset":240,"phase":0,"quadratic_rows":[32,422,422,32,0,399,0,422,166]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":120,"old":106,"rank":1,"right":{"linear_Z4":[1,0,1,2,0,2,0,1,2],"matrix_rows":[149,257,18,260,24,256,32,320,384],"offset":240,"phase":0,"quadratic_rows":[405,16,405,16,399,0,0,405,149]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":116,"old":107,"rank":1,"right":{"linear_Z4":[3,1,3,2,1,3,0,3,2],"matrix_rows":[423,257,274,260,24,256,288,64,384],"offset":53,"phase":0,"quadratic_rows":[167,183,167,16,26,167,0,167,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":119,"old":107,"rank":1,"right":{"linear_Z4":[1,3,3,2,3,1,0,3,2],"matrix_rows":[407,289,258,260,40,272,256,64,384],"offset":83,"phase":0,"quadratic_rows":[183,151,151,32,151,41,0,151,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":117,"old":108,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,2,0,0,0],"matrix_rows":[41,33,2,4,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":118,"old":108,"rank":1,"right":{"linear_Z4":[0,3,0,3,2,0,0,0,0],"matrix_rows":[26,1,18,4,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":114,"old":109,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,3,0,0,0],"matrix_rows":[40,1,18,4,88,64,96,128,256],"offset":1,"phase":1,"quadratic_rows":[0,16,0,120,26,104,40,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":121,"old":109,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,3,0,0,0],"matrix_rows":[24,33,2,4,104,80,64,128,256],"offset":1,"phase":1,"quadratic_rows":[32,0,0,120,88,41,24,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":116,"old":110,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,1,0,1,2],"matrix_rows":[173,257,2,260,264,16,288,64,384],"offset":0,"phase":0,"quadratic_rows":[429,0,429,429,0,429,0,429,173]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":118,"old":110,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,0,0,3,2],"matrix_rows":[388,1,2,260,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,132,0,0,0,0,132,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":114,"old":111,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,0,0,3,2],"matrix_rows":[388,1,2,260,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,132,0,0,0,0,132,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":120,"old":111,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,1,0,1,2],"matrix_rows":[173,257,2,260,264,16,288,64,384],"offset":0,"phase":0,"quadratic_rows":[429,0,429,429,0,429,0,429,173]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":534,"old":112,"rank":1,"right":{"linear_Z4":[1,3,3,3,2,0,1,3,2],"matrix_rows":[399,321,258,260,264,80,32,256,384],"offset":163,"phase":0,"quadratic_rows":[207,143,143,143,64,0,81,143,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":537,"old":112,"rank":1,"right":{"linear_Z4":[3,3,0,0,3,0,0,0,0],"matrix_rows":[3,33,50,4,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[35,51,0,16,26,3,0,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[4,11,19,35,67,128,259,1,2],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":585,"old":112,"rank":2,"right":{"linear_Z4":[2,0,0,0,2,0,1,0,3],"matrix_rows":[286,158,193,322,324,328,400,32,256],"offset":319,"phase":1,"quadratic_rows":[192,192,192,192,0,0,207,335,384]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,11,18,34,65,1,130,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":590,"old":112,"rank":2,"right":{"linear_Z4":[0,0,0,1,3,0,1,1,2],"matrix_rows":[3,479,289,306,256,264,32,320,384],"offset":1,"phase":1,"quadratic_rows":[252,236,219,223,221,3,223,223,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":534,"old":113,"rank":1,"right":{"linear_Z4":[0,1,1,1,1,0,0,1,2],"matrix_rows":[158,1,258,260,264,272,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,414,414,414,414,0,0,414,158]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":536,"old":113,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,0,0,3,2],"matrix_rows":[388,1,2,260,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,132,0,0,0,0,132,0]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[18,34,74,12,133,261,5,4,7],"offset":0,"phase":0,"quadratic_rows":[3,15,14,14,0,0,0,0,0]},"new":584,"old":113,"rank":4,"right":{"linear_Z4":[3,3,2,2,0,0,0,3,3],"matrix_rows":[336,207,472,468,337,322,476,64,96],"offset":436,"phase":1,"quadratic_rows":[415,399,195,195,385,0,12,415,403]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,16,34,65,129,1,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":588,"old":113,"rank":2,"right":{"linear_Z4":[2,2,0,3,1,0,2,3,2],"matrix_rows":[80,392,1,18,4,264,64,96,384],"offset":207,"phase":2,"quadratic_rows":[0,16,0,136,18,0,0,136,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":122,"old":114,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,0,0],"matrix_rows":[98,33,66,4,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[32,34,0,32,0,11,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,18,33,64,130,4,6,257,1],"offset":0,"phase":0,"quadratic_rows":[0,4,6,0,0,0,0,0,0]},"new":668,"old":114,"rank":3,"right":{"linear_Z4":[2,2,3,2,0,1,3,1,2],"matrix_rows":[388,66,96,5,64,256,40,80,384],"offset":248,"phase":3,"quadratic_rows":[4,0,133,32,0,104,96,132,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[12,18,36,64,128,258,2,1,5],"offset":0,"phase":0,"quadratic_rows":[5,0,1,0,0,0,0,0,0]},"new":700,"old":114,"rank":3,"right":{"linear_Z4":[3,1,0,2,0,1,2,2,3],"matrix_rows":[384,66,389,385,98,256,40,16,64],"offset":374,"phase":0,"quadratic_rows":[5,34,129,32,0,42,0,260,384]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":122,"old":115,"rank":1,"right":{"linear_Z4":[3,0,1,0,2,0,0,1,2],"matrix_rows":[149,257,18,260,24,256,32,320,384],"offset":162,"phase":1,"quadratic_rows":[405,16,405,16,399,0,0,405,149]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,4,39,71,129,1,262,6],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":669,"old":115,"rank":3,"right":{"linear_Z4":[2,0,0,3,3,0,2,0,2],"matrix_rows":[89,410,156,64,256,328,336,96,384],"offset":19,"phase":1,"quadratic_rows":[24,152,152,31,31,0,0,6,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,19,32,64,133,256,5,1,7],"offset":0,"phase":0,"quadratic_rows":[4,6,3,0,0,0,0,0,0]},"new":701,"old":115,"rank":3,"right":{"linear_Z4":[0,2,0,0,2,0,1,1,3],"matrix_rows":[210,66,272,147,320,20,24,64,32],"offset":1,"phase":1,"quadratic_rows":[146,321,16,16,269,0,450,193,338]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":122,"old":116,"rank":1,"right":{"linear_Z4":[1,0,3,1,0,0,0,3,0],"matrix_rows":[173,289,2,260,296,16,256,64,384],"offset":83,"phase":0,"quadratic_rows":[397,0,429,397,0,388,0,429,173]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[11,16,35,67,128,6,256,2,7],"offset":0,"phase":0,"quadratic_rows":[5,2,5,0,0,0,0,0,0]},"new":676,"old":116,"rank":3,"right":{"linear_Z4":[2,2,1,0,0,1,0,0,1],"matrix_rows":[169,9,288,261,166,256,424,16,64],"offset":57,"phase":0,"quadratic_rows":[420,164,167,256,0,167,0,295,393]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[14,22,34,65,129,4,1,263,7],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":710,"old":116,"rank":3,"right":{"linear_Z4":[2,2,0,1,0,0,0,3,2],"matrix_rows":[200,463,171,321,330,320,64,80,384],"offset":0,"phase":0,"quadratic_rows":[36,44,139,174,0,139,0,172,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":122,"old":117,"rank":1,"right":{"linear_Z4":[0,3,0,3,2,0,0,0,0],"matrix_rows":[26,1,18,4,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,17,34,65,130,256,1,4,6],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":677,"old":117,"rank":3,"right":{"linear_Z4":[3,2,0,3,3,0,0,2,3],"matrix_rows":[9,404,384,67,64,256,72,400,32],"offset":35,"phase":1,"quadratic_rows":[75,1,144,73,20,0,9,260,384]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[8,19,36,65,4,1,2,128,256],"offset":0,"phase":0,"quadratic_rows":[2,3,4,0,0,0,0,0,0]},"new":711,"old":117,"rank":3,"right":{"linear_Z4":[2,0,1,3,2,1,3,0,0],"matrix_rows":[106,34,4,11,96,20,32,128,256],"offset":27,"phase":0,"quadratic_rows":[10,33,20,73,4,34,72,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":122,"old":118,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,2,0,0,0],"matrix_rows":[41,33,2,4,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,17,34,64,129,258,1,4,6],"offset":0,"phase":0,"quadratic_rows":[0,4,6,0,0,0,0,0,0]},"new":720,"old":118,"rank":3,"right":{"linear_Z4":[2,1,0,2,0,3,2,2,3],"matrix_rows":[66,420,384,3,64,256,8,80,416],"offset":234,"phase":3,"quadratic_rows":[2,3,160,0,0,36,0,260,384]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[8,19,36,1,66,4,2,128,256],"offset":0,"phase":0,"quadratic_rows":[3,1,4,0,0,0,0,0,0]},"new":748,"old":118,"rank":3,"right":{"linear_Z4":[2,0,1,3,0,2,1,0,0],"matrix_rows":[74,66,4,11,64,36,80,128,256],"offset":27,"phase":0,"quadratic_rows":[10,65,36,73,0,4,74,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":122,"old":119,"rank":1,"right":{"linear_Z4":[0,1,3,1,0,0,0,3,0],"matrix_rows":[158,1,274,260,280,256,32,64,384],"offset":53,"phase":0,"quadratic_rows":[0,398,414,398,388,0,0,414,158]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[8,19,35,67,5,128,256,1,7],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":721,"old":119,"rank":3,"right":{"linear_Z4":[2,2,1,0,1,0,0,0,1],"matrix_rows":[10,154,272,149,262,256,408,32,64],"offset":58,"phase":0,"quadratic_rows":[148,404,151,256,151,0,0,279,394]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[14,22,34,65,4,129,1,263,7],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":749,"old":119,"rank":3,"right":{"linear_Z4":[2,2,0,1,0,0,0,3,2],"matrix_rows":[200,463,155,329,322,320,64,96,384],"offset":0,"phase":0,"quadratic_rows":[28,20,139,157,139,0,0,156,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":122,"old":120,"rank":1,"right":{"linear_Z4":[0,3,1,0,0,2,0,1,2],"matrix_rows":[166,33,258,260,40,16,256,320,384],"offset":196,"phase":1,"quadratic_rows":[32,422,422,32,0,399,0,422,166]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,4,39,66,135,2,261,5],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":730,"old":120,"rank":3,"right":{"linear_Z4":[0,2,0,3,0,3,2,0,2],"matrix_rows":[425,106,172,256,64,328,80,352,384],"offset":11,"phase":1,"quadratic_rows":[168,40,168,47,0,47,0,5,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,19,35,64,131,261,6,1,4],"offset":0,"phase":0,"quadratic_rows":[6,7,3,0,0,0,0,0,0]},"new":756,"old":120,"rank":3,"right":{"linear_Z4":[0,2,2,0,0,0,0,3,0],"matrix_rows":[198,294,96,163,320,356,40,336,256],"offset":422,"phase":3,"quadratic_rows":[162,1,128,32,0,393,384,229,96]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":122,"old":121,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,2,0,0],"matrix_rows":[81,65,18,4,24,64,32,128,256],"offset":0,"phase":0,"quadratic_rows":[17,16,0,16,11,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,16,34,64,132,1,5,258,2],"offset":0,"phase":0,"quadratic_rows":[4,0,5,0,0,0,0,0,0]},"new":731,"old":121,"rank":3,"right":{"linear_Z4":[0,2,3,2,1,2,1,1,2],"matrix_rows":[65,388,48,32,6,256,24,96,384],"offset":244,"phase":1,"quadratic_rows":[96,4,134,16,88,65,113,132,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,20,36,64,129,256,1,2,6],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":757,"old":121,"rank":3,"right":{"linear_Z4":[1,3,0,2,1,0,2,2,3],"matrix_rows":[65,384,390,81,386,256,24,64,32],"offset":237,"phase":0,"quadratic_rows":[17,6,130,16,25,0,0,260,384]}},{"left":{"linear_Z4":[2,2,3,3,3,0,0,0,0],"matrix_rows":[33,66,132,264,10,9,11,16,20],"offset":0,"phase":0,"quadratic_rows":[2,1,20,8,20,0,0,0,0]},"new":1,"old":122,"rank":5,"right":{"linear_Z4":[0,0,0,2,1,1,0,0,1],"matrix_rows":[49,50,4,8,384,80,96,256,112],"offset":239,"phase":1,"quadratic_rows":[96,80,256,112,58,57,11,256,388]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,33,68,130,2,259,3,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":413,"old":122,"rank":4,"right":{"linear_Z4":[2,1,0,2,2,0,2,0,1],"matrix_rows":[11,8,4,384,80,90,256,16,96],"offset":86,"phase":0,"quadratic_rows":[90,83,256,65,3,0,11,256,388]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[18,34,68,129,259,1,3,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":415,"old":122,"rank":4,"right":{"linear_Z4":[1,2,0,2,0,2,2,0,1],"matrix_rows":[8,11,4,384,105,96,256,32,80],"offset":101,"phase":0,"quadratic_rows":[99,105,256,66,0,3,11,256,388]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,33,66,132,4,261,5,8,10],"offset":0,"phase":0,"quadratic_rows":[1,10,4,10,0,0,0,0,0]},"new":417,"old":122,"rank":4,"right":{"linear_Z4":[2,1,0,2,2,0,2,0,1],"matrix_rows":[3,4,8,384,80,82,256,16,96],"offset":86,"phase":0,"quadratic_rows":[82,83,256,16,11,0,3,256,388]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,33,66,132,261,4,5,8,10],"offset":0,"phase":0,"quadratic_rows":[1,10,4,10,0,0,0,0,0]},"new":419,"old":122,"rank":4,"right":{"linear_Z4":[1,2,0,2,0,2,2,0,1],"matrix_rows":[3,4,8,384,97,96,256,32,80],"offset":102,"phase":0,"quadratic_rows":[99,97,256,32,0,11,3,256,388]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":131,"old":123,"rank":1,"right":{"linear_Z4":[1,1,1,0,1,2,1,0,2],"matrix_rows":[343,289,290,260,8,304,256,320,128],"offset":0,"phase":0,"quadratic_rows":[119,119,87,0,119,19,87,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":132,"old":123,"rank":1,"right":{"linear_Z4":[1,1,1,0,1,1,2,0,2],"matrix_rows":[311,321,258,324,8,336,288,256,128],"offset":0,"phase":0,"quadratic_rows":[119,55,119,0,119,55,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":133,"old":123,"rank":1,"right":{"linear_Z4":[1,1,1,0,1,1,2,0,2],"matrix_rows":[311,257,322,324,8,272,352,256,128],"offset":0,"phase":0,"quadratic_rows":[55,119,119,0,55,119,38,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":134,"old":124,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":135,"old":124,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,2,2,0],"matrix_rows":[132,65,2,196,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[64,0,68,0,64,0,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":136,"old":124,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,2,2,0],"matrix_rows":[132,1,66,196,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,64,68,0,0,64,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":134,"old":125,"rank":1,"right":{"linear_Z4":[1,1,1,0,1,2,1,2,0],"matrix_rows":[215,161,162,132,8,176,128,192,256],"offset":0,"phase":0,"quadratic_rows":[119,119,87,0,119,19,87,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":137,"old":125,"rank":1,"right":{"linear_Z4":[1,1,1,0,1,1,2,2,0],"matrix_rows":[183,129,194,196,8,144,224,128,256],"offset":0,"phase":0,"quadratic_rows":[55,119,119,0,55,119,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":138,"old":125,"rank":1,"right":{"linear_Z4":[1,1,1,0,1,1,2,2,0],"matrix_rows":[183,193,130,196,8,208,160,128,256],"offset":0,"phase":0,"quadratic_rows":[119,55,119,0,119,55,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":131,"old":126,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":139,"old":126,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,2,0,2],"matrix_rows":[260,1,66,324,8,16,96,256,128],"offset":0,"phase":0,"quadratic_rows":[0,64,68,0,0,64,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":140,"old":126,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,2,0,2],"matrix_rows":[260,65,2,324,8,80,32,256,128],"offset":0,"phase":0,"quadratic_rows":[64,0,68,0,64,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":135,"old":127,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":137,"old":127,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":141,"old":127,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":132,"old":128,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":139,"old":128,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":142,"old":128,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,2,0,0,2],"matrix_rows":[258,33,290,4,8,48,256,64,128],"offset":0,"phase":0,"quadratic_rows":[32,34,0,0,32,19,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":133,"old":129,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":140,"old":129,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":142,"old":129,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":136,"old":130,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":138,"old":130,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":141,"old":130,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,2,0,2,0],"matrix_rows":[130,33,162,4,8,48,128,64,256],"offset":0,"phase":0,"quadratic_rows":[32,34,0,0,32,19,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":539,"old":131,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,0,3,2,0],"matrix_rows":[196,1,2,132,8,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,0,68,0,0,0,68,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":541,"old":131,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,2,0],"matrix_rows":[145,129,2,4,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,32,65,1,130,2,256],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":595,"old":131,"rank":2,"right":{"linear_Z4":[3,3,0,0,3,0,1,2,0],"matrix_rows":[3,64,33,50,4,24,32,192,256],"offset":1,"phase":1,"quadratic_rows":[35,51,0,16,26,3,192,64,0]}},{"left":{"linear_Z4":[2,3,2,3,0,0,0,0,0],"matrix_rows":[16,33,66,4,129,256,8,1,10],"offset":0,"phase":0,"quadratic_rows":[0,10,0,10,0,0,0,0,0]},"new":599,"old":131,"rank":4,"right":{"linear_Z4":[0,3,0,2,3,0,0,2,1],"matrix_rows":[146,4,8,320,1,130,256,144,32],"offset":71,"phase":2,"quadratic_rows":[0,18,256,0,18,0,256,0,324]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":144,"old":132,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,2,0],"matrix_rows":[145,129,2,4,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":150,"old":132,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,3,0,2,0],"matrix_rows":[162,1,130,4,8,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,34,0,0,0,34,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":146,"old":133,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,2,0],"matrix_rows":[145,129,2,4,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":148,"old":133,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,3,0,2,0],"matrix_rows":[162,1,130,4,8,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,34,0,0,0,34,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":539,"old":134,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,0,3,0,2],"matrix_rows":[324,1,2,260,8,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,0,68,0,0,0,68,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":540,"old":134,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,0,2],"matrix_rows":[273,257,2,4,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[3,3,3,2,0,0,0,0,0],"matrix_rows":[16,35,68,8,1,2,128,256,4],"offset":0,"phase":0,"quadratic_rows":[3,3,4,0,0,0,0,0,0]},"new":594,"old":134,"rank":4,"right":{"linear_Z4":[2,0,1,2,3,3,0,0,2],"matrix_rows":[50,2,4,8,19,32,260,64,128],"offset":59,"phase":1,"quadratic_rows":[18,1,260,0,49,48,0,0,4]}},{"left":{"linear_Z4":[2,3,2,3,0,0,0,0,0],"matrix_rows":[16,33,66,4,129,256,8,10,1],"offset":0,"phase":0,"quadratic_rows":[0,10,0,10,0,0,0,0,0]},"new":597,"old":134,"rank":4,"right":{"linear_Z4":[0,3,0,2,3,0,0,1,2],"matrix_rows":[274,4,8,192,1,258,128,272,32],"offset":71,"phase":2,"quadratic_rows":[0,18,128,0,18,0,128,196,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":144,"old":135,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,3,0,0,2],"matrix_rows":[290,1,258,4,8,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,34,0,0,0,34,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":149,"old":135,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,0,2],"matrix_rows":[273,257,2,4,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":145,"old":136,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,3,0,0,2],"matrix_rows":[290,1,258,4,8,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,34,0,0,0,34,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":148,"old":136,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,0,2],"matrix_rows":[273,257,2,4,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":146,"old":137,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,0,2],"matrix_rows":[273,257,2,4,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":147,"old":137,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,3,0,0,2],"matrix_rows":[290,1,258,4,8,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,34,0,0,0,34,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":143,"old":138,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,0,2],"matrix_rows":[273,257,2,4,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":150,"old":138,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,3,0,0,2],"matrix_rows":[290,1,258,4,8,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,34,0,0,0,34,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":145,"old":139,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,3,0,2,0],"matrix_rows":[162,1,130,4,8,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,34,0,0,0,34,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":147,"old":139,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,2,0],"matrix_rows":[145,129,2,4,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":143,"old":140,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,3,0,2,0],"matrix_rows":[162,1,130,4,8,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,34,0,0,0,34,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":149,"old":140,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,2,0],"matrix_rows":[145,129,2,4,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":538,"old":141,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,0,2],"matrix_rows":[273,257,2,4,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":541,"old":141,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,0,3,0,2],"matrix_rows":[324,1,2,260,8,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,0,68,0,0,0,68,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[6,11,19,35,65,128,1,256,3],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":593,"old":141,"rank":2,"right":{"linear_Z4":[3,2,2,2,3,0,2,0,2],"matrix_rows":[30,335,321,258,260,264,80,32,128],"offset":3,"phase":2,"quadratic_rows":[15,81,81,81,94,0,30,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,16,34,65,129,258,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":598,"old":141,"rank":2,"right":{"linear_Z4":[2,2,0,3,1,0,3,2,2],"matrix_rows":[144,328,1,18,4,264,128,160,320],"offset":207,"phase":2,"quadratic_rows":[0,16,0,72,18,0,72,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":538,"old":142,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,2,0],"matrix_rows":[145,129,2,4,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":540,"old":142,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,0,3,2,0],"matrix_rows":[196,1,2,132,8,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,0,68,0,0,0,68,0,0]}},{"left":{"linear_Z4":[2,3,2,2,0,0,0,0,0],"matrix_rows":[18,34,4,8,65,129,259,3,1],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":592,"old":142,"rank":4,"right":{"linear_Z4":[1,1,2,2,0,0,2,2,0],"matrix_rows":[336,83,4,8,401,386,256,288,192],"offset":12,"phase":2,"quadratic_rows":[451,467,0,0,386,0,387,83,83]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,16,34,65,129,258,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":596,"old":142,"rank":2,"right":{"linear_Z4":[2,2,0,3,1,0,3,2,2],"matrix_rows":[272,200,1,18,4,136,256,288,192],"offset":207,"phase":2,"quadratic_rows":[0,16,0,72,18,0,72,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":151,"old":143,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,2,0,2,0],"matrix_rows":[130,33,162,4,8,48,128,64,256],"offset":0,"phase":0,"quadratic_rows":[32,34,0,0,32,19,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,18,33,66,129,4,1,6,256],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":670,"old":143,"rank":3,"right":{"linear_Z4":[3,0,2,3,3,2,0,3,0],"matrix_rows":[17,170,160,69,128,64,168,80,256],"offset":19,"phase":1,"quadratic_rows":[85,40,1,10,81,130,17,160,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,21,32,1,66,132,258,4,2],"offset":0,"phase":0,"quadratic_rows":[5,0,1,0,0,0,0,0,0]},"new":708,"old":143,"rank":3,"right":{"linear_Z4":[2,2,2,3,1,0,0,3,2],"matrix_rows":[130,272,170,1,138,20,256,128,320],"offset":362,"phase":1,"quadratic_rows":[0,160,16,40,20,10,0,130,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":151,"old":144,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,2,0,0,2],"matrix_rows":[258,33,290,4,8,48,256,64,128],"offset":0,"phase":0,"quadratic_rows":[32,34,0,0,32,19,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,18,33,66,129,4,1,256,6],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":671,"old":144,"rank":3,"right":{"linear_Z4":[3,0,2,3,3,2,0,0,3],"matrix_rows":[17,298,288,69,256,64,296,80,128],"offset":19,"phase":1,"quadratic_rows":[85,40,1,10,81,258,17,0,288]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,21,32,1,66,132,258,2,4],"offset":0,"phase":0,"quadratic_rows":[5,0,1,0,0,0,0,0,0]},"new":709,"old":144,"rank":3,"right":{"linear_Z4":[2,2,2,3,1,0,0,2,3],"matrix_rows":[258,144,298,1,266,20,128,256,192],"offset":362,"phase":1,"quadratic_rows":[0,288,16,40,20,10,0,0,258]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":151,"old":145,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,2,0,0,2],"matrix_rows":[6,33,290,260,8,48,256,320,384],"offset":0,"phase":0,"quadratic_rows":[32,294,262,0,32,19,0,0,6]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[14,16,35,71,4,134,5,262,6],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":678,"old":145,"rank":3,"right":{"linear_Z4":[2,0,3,3,2,0,2,0,1],"matrix_rows":[124,25,269,261,38,320,376,256,384],"offset":236,"phase":1,"quadratic_rows":[16,36,278,24,269,2,0,0,276]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[14,20,36,1,7,67,131,259,3],"offset":0,"phase":0,"quadratic_rows":[7,3,5,0,0,0,0,0,0]},"new":702,"old":145,"rank":3,"right":{"linear_Z4":[0,3,3,1,1,2,0,0,2],"matrix_rows":[56,9,15,57,306,276,256,320,384],"offset":243,"phase":2,"quadratic_rows":[62,319,287,15,55,19,0,0,6]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":151,"old":146,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,2,0,0,0],"matrix_rows":[6,33,98,68,8,48,64,128,256],"offset":1,"phase":1,"quadratic_rows":[32,102,70,0,32,19,6,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,16,38,70,128,2,4,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":679,"old":146,"rank":3,"right":{"linear_Z4":[0,2,0,2,0,2,2,0,2],"matrix_rows":[257,12,108,256,38,64,104,16,384],"offset":48,"phase":2,"quadratic_rows":[0,36,2,0,0,2,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,33,3,68,130,2,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":703,"old":146,"rank":3,"right":{"linear_Z4":[0,3,3,1,0,0,0,0,2],"matrix_rows":[46,40,272,1,74,108,256,64,384],"offset":3,"phase":2,"quadratic_rows":[0,102,70,40,0,10,6,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":151,"old":147,"rank":1,"right":{"linear_Z4":[3,3,3,0,3,2,0,0,2],"matrix_rows":[279,289,290,260,8,304,256,320,128],"offset":1,"phase":1,"quadratic_rows":[55,55,23,0,55,19,0,0,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[9,18,34,65,4,130,2,5,256],"offset":0,"phase":0,"quadratic_rows":[4,2,5,0,0,0,0,0,0]},"new":728,"old":147,"rank":3,"right":{"linear_Z4":[0,3,2,3,2,3,0,3,0],"matrix_rows":[153,34,144,128,70,64,152,96,256],"offset":11,"phase":1,"quadratic_rows":[24,102,2,9,129,98,34,144,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[13,16,32,1,68,130,258,4,2],"offset":0,"phase":0,"quadratic_rows":[5,0,1,0,0,0,0,0,0]},"new":750,"old":147,"rank":3,"right":{"linear_Z4":[2,2,2,3,0,1,0,3,2],"matrix_rows":[129,288,153,137,2,36,128,256,320],"offset":434,"phase":1,"quadratic_rows":[144,0,32,24,9,36,0,129,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":151,"old":148,"rank":1,"right":{"linear_Z4":[3,3,3,0,3,2,0,2,0],"matrix_rows":[151,161,162,132,8,176,128,192,256],"offset":1,"phase":1,"quadratic_rows":[55,55,23,0,55,19,0,0,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[9,18,34,65,4,130,2,256,5],"offset":0,"phase":0,"quadratic_rows":[4,2,5,0,0,0,0,0,0]},"new":729,"old":148,"rank":3,"right":{"linear_Z4":[0,3,2,3,2,3,0,0,3],"matrix_rows":[281,34,272,256,70,64,280,96,128],"offset":11,"phase":1,"quadratic_rows":[24,102,2,9,257,98,34,0,272]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[13,16,32,1,68,130,258,2,4],"offset":0,"phase":0,"quadratic_rows":[5,0,1,0,0,0,0,0,0]},"new":751,"old":148,"rank":3,"right":{"linear_Z4":[2,2,2,3,0,1,0,2,3],"matrix_rows":[257,160,281,265,2,36,256,128,192],"offset":434,"phase":1,"quadratic_rows":[272,0,32,24,9,36,0,0,257]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":151,"old":149,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,21,35,71,133,4,6,261,5],"offset":0,"phase":0,"quadratic_rows":[5,0,1,0,0,0,0,0,0]},"new":722,"old":149,"rank":3,"right":{"linear_Z4":[0,2,3,3,0,2,2,0,1],"matrix_rows":[42,124,270,21,262,320,376,256,384],"offset":244,"phase":1,"quadratic_rows":[20,32,293,40,1,270,0,0,292]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[12,21,36,2,67,7,131,259,3],"offset":0,"phase":0,"quadratic_rows":[3,7,6,0,0,0,0,0,0]},"new":758,"old":149,"rank":3,"right":{"linear_Z4":[3,0,3,1,2,1,0,0,2],"matrix_rows":[10,56,15,305,58,292,256,320,384],"offset":235,"phase":2,"quadratic_rows":[319,61,303,15,35,55,0,0,5]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":151,"old":150,"rank":1,"right":{"linear_Z4":[3,3,0,0,3,2,0,0,0],"matrix_rows":[19,289,290,4,8,304,256,64,384],"offset":1,"phase":1,"quadratic_rows":[307,307,0,0,307,19,0,0,19]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,18,37,69,1,128,4,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":723,"old":150,"rank":3,"right":{"linear_Z4":[2,0,0,2,2,0,2,0,2],"matrix_rows":[12,258,92,21,256,64,88,32,384],"offset":40,"phase":2,"quadratic_rows":[20,0,1,0,1,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,16,33,3,66,132,2,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":759,"old":150,"rank":3,"right":{"linear_Z4":[3,0,3,1,0,0,0,0,2],"matrix_rows":[29,24,288,73,2,92,64,256,384],"offset":3,"phase":2,"quadratic_rows":[85,0,69,24,9,0,5,0,0]}},{"left":{"linear_Z4":[2,3,3,2,2,0,0,0,0],"matrix_rows":[33,66,132,8,16,19,21,273,17],"offset":0,"phase":0,"quadratic_rows":[6,19,21,0,6,0,0,0,0]},"new":1,"old":151,"rank":5,"right":{"linear_Z4":[2,0,0,2,2,0,0,0,0],"matrix_rows":[353,258,260,8,112,256,288,320,384],"offset":254,"phase":1,"quadratic_rows":[96,32,64,0,96,19,21,0,0]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,43,68,2,8,137,13,265,9],"offset":0,"phase":0,"quadratic_rows":[15,11,13,15,0,0,0,0,0]},"new":413,"old":151,"rank":4,"right":{"linear_Z4":[0,1,0,2,0,0,0,0,1],"matrix_rows":[331,258,260,90,256,266,320,288,384],"offset":85,"phase":0,"quadratic_rows":[74,283,64,19,74,0,21,0,258]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[24,34,68,9,129,3,5,257,1],"offset":0,"phase":0,"quadratic_rows":[15,3,5,9,0,0,0,0,0]},"new":415,"old":151,"rank":4,"right":{"linear_Z4":[1,0,0,3,0,1,1,0,2],"matrix_rows":[376,258,260,273,281,288,320,256,384],"offset":102,"phase":0,"quadratic_rows":[9,32,64,105,96,122,124,0,0]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[24,35,69,9,129,2,4,257,1],"offset":0,"phase":0,"quadratic_rows":[15,3,5,9,0,0,0,0,0]},"new":418,"old":151,"rank":4,"right":{"linear_Z4":[1,1,1,3,0,1,1,0,2],"matrix_rows":[382,258,260,279,287,288,320,256,384],"offset":102,"phase":0,"quadratic_rows":[9,342,310,105,102,124,122,0,6]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,34,77,4,8,11,137,265,9],"offset":0,"phase":0,"quadratic_rows":[15,11,13,15,0,0,0,0,0]},"new":420,"old":151,"rank":4,"right":{"linear_Z4":[0,0,1,2,0,0,0,0,1],"matrix_rows":[301,258,260,60,256,288,268,320,384],"offset":51,"phase":0,"quadratic_rows":[44,32,285,21,44,19,0,0,260]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":160,"old":152,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":161,"old":152,"rank":1,"right":{"linear_Z4":[1,1,1,0,0,1,2,1,2],"matrix_rows":[423,257,258,260,72,80,352,256,384],"offset":0,"phase":0,"quadratic_rows":[167,167,167,64,64,231,56,167,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":162,"old":152,"rank":1,"right":{"linear_Z4":[1,1,1,0,0,1,2,1,2],"matrix_rows":[423,257,322,324,8,16,352,256,384],"offset":0,"phase":0,"quadratic_rows":[167,231,231,0,0,231,38,167,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":163,"old":153,"rank":1,"right":{"linear_Z4":[0,0,1,0,2,0,2,0,0],"matrix_rows":[68,1,18,84,24,64,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,16,20,16,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":164,"old":153,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,2,0,0,0],"matrix_rows":[44,1,2,36,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":165,"old":153,"rank":1,"right":{"linear_Z4":[0,3,0,0,3,2,0,0,0],"matrix_rows":[50,1,34,4,8,48,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":163,"old":154,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":166,"old":154,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,2,0,0,0],"matrix_rows":[44,1,2,36,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":167,"old":154,"rank":1,"right":{"linear_Z4":[0,3,0,0,3,2,0,0,0],"matrix_rows":[50,1,34,4,8,48,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":160,"old":155,"rank":1,"right":{"linear_Z4":[1,0,0,1,2,1,1,1,2],"matrix_rows":[489,257,18,20,280,256,288,320,384],"offset":0,"phase":0,"quadratic_rows":[233,16,16,249,14,233,233,233,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":168,"old":155,"rank":1,"right":{"linear_Z4":[1,0,0,1,1,1,2,1,2],"matrix_rows":[441,257,66,68,264,272,352,256,384],"offset":0,"phase":0,"quadratic_rows":[185,64,64,185,185,249,38,185,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":169,"old":155,"rank":1,"right":{"linear_Z4":[1,0,0,1,1,1,2,1,2],"matrix_rows":[441,257,2,4,328,336,352,256,384],"offset":0,"phase":0,"quadratic_rows":[185,0,0,249,249,249,56,185,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":164,"old":156,"rank":1,"right":{"linear_Z4":[0,0,3,0,3,0,2,0,0],"matrix_rows":[84,1,2,68,8,80,32,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,20,0,20,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":166,"old":156,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,2,0,0],"matrix_rows":[74,1,66,4,72,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":170,"old":156,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":161,"old":157,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":168,"old":157,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":171,"old":157,"rank":1,"right":{"linear_Z4":[1,1,1,1,2,0,0,1,2],"matrix_rows":[399,257,274,276,280,256,32,64,384],"offset":0,"phase":0,"quadratic_rows":[143,159,159,159,14,0,0,143,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":162,"old":158,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":169,"old":158,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":171,"old":158,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":165,"old":159,"rank":1,"right":{"linear_Z4":[0,0,3,0,3,0,2,0,0],"matrix_rows":[84,1,2,68,8,80,32,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,20,0,20,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":167,"old":159,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,2,0,0],"matrix_rows":[74,1,66,4,72,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":170,"old":159,"rank":1,"right":{"linear_Z4":[0,1,0,0,2,2,0,0,0],"matrix_rows":[34,1,50,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,18,16,16,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":543,"old":160,"rank":1,"right":{"linear_Z4":[3,1,3,2,0,3,1,3,2],"matrix_rows":[423,257,322,260,72,16,288,256,384],"offset":149,"phase":0,"quadratic_rows":[167,231,167,64,0,167,74,167,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":545,"old":160,"rank":1,"right":{"linear_Z4":[3,3,1,2,0,1,3,3,2],"matrix_rows":[455,257,258,292,40,16,256,320,384],"offset":89,"phase":0,"quadratic_rows":[199,199,231,32,0,44,199,199,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[7,8,19,35,64,131,259,2,1],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":603,"old":160,"rank":2,"right":{"linear_Z4":[0,2,0,2,0,0,1,0,3],"matrix_rows":[173,301,321,194,324,392,16,352,256],"offset":415,"phase":1,"quadratic_rows":[192,192,192,0,0,192,231,359,384]}},{"left":{"linear_Z4":[2,2,3,3,0,0,0,0,0],"matrix_rows":[19,33,65,130,2,259,4,8,15],"offset":0,"phase":0,"quadratic_rows":[14,13,15,15,0,0,0,0,0]},"new":607,"old":160,"rank":4,"right":{"linear_Z4":[0,3,3,2,0,2,0,0,1],"matrix_rows":[271,265,320,384,289,306,316,16,256],"offset":368,"phase":2,"quadratic_rows":[294,63,55,290,6,15,256,256,457]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":173,"old":161,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,3,0,0,0],"matrix_rows":[24,1,2,36,104,80,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,32,120,88,44,24,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":179,"old":161,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,3,0,0,0],"matrix_rows":[24,1,34,4,72,112,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,32,0,88,120,50,24,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":175,"old":162,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,3,0,0,0],"matrix_rows":[6,1,66,100,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,70,102,32,0,44,6,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":177,"old":162,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,3,0,0,0],"matrix_rows":[6,1,98,68,8,48,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,102,70,0,32,50,6,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":543,"old":163,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,1,0,1,2],"matrix_rows":[173,257,2,260,264,16,288,64,384],"offset":0,"phase":0,"quadratic_rows":[429,0,429,429,0,429,0,429,173]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":544,"old":163,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,0,0,3,2],"matrix_rows":[385,257,2,4,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[129,0,0,0,0,0,0,129,0]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[28,36,68,131,259,9,3,1,7],"offset":0,"phase":0,"quadratic_rows":[13,6,15,13,0,0,0,0,0]},"new":602,"old":163,"rank":4,"right":{"linear_Z4":[2,3,3,0,0,2,0,3,3],"matrix_rows":[488,328,231,457,489,330,324,64,80],"offset":481,"phase":1,"quadratic_rows":[198,431,423,386,0,198,33,431,398]}},{"left":{"linear_Z4":[3,2,3,2,0,0,0,0,0],"matrix_rows":[24,32,70,130,4,264,2,9,1],"offset":0,"phase":0,"quadratic_rows":[9,4,6,1,0,0,0,0,0]},"new":605,"old":163,"rank":4,"right":{"linear_Z4":[3,2,0,3,3,3,1,3,0],"matrix_rows":[384,92,68,161,385,14,80,64,416],"offset":110,"phase":1,"quadratic_rows":[289,12,66,26,24,289,68,384,161]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":173,"old":164,"rank":1,"right":{"linear_Z4":[3,3,3,3,3,0,0,3,2],"matrix_rows":[415,257,258,260,264,272,32,64,384],"offset":1,"phase":1,"quadratic_rows":[159,159,159,159,159,0,0,159,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":178,"old":164,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,0,0,3,2],"matrix_rows":[385,257,2,4,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[129,0,0,0,0,0,0,129,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":174,"old":165,"rank":1,"right":{"linear_Z4":[3,3,3,3,3,0,0,3,2],"matrix_rows":[415,257,258,260,264,272,32,64,384],"offset":1,"phase":1,"quadratic_rows":[159,159,159,159,159,0,0,159,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":177,"old":165,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,0,0,3,2],"matrix_rows":[385,257,2,4,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[129,0,0,0,0,0,0,129,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":175,"old":166,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,0,0,3,2],"matrix_rows":[385,257,2,4,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[129,0,0,0,0,0,0,129,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":176,"old":166,"rank":1,"right":{"linear_Z4":[3,3,3,3,3,0,0,3,2],"matrix_rows":[415,257,258,260,264,272,32,64,384],"offset":1,"phase":1,"quadratic_rows":[159,159,159,159,159,0,0,159,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":172,"old":167,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,0,0,3,2],"matrix_rows":[385,257,2,4,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[129,0,0,0,0,0,0,129,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":179,"old":167,"rank":1,"right":{"linear_Z4":[3,3,3,3,3,0,0,3,2],"matrix_rows":[415,257,258,260,264,272,32,64,384],"offset":1,"phase":1,"quadratic_rows":[159,159,159,159,159,0,0,159,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":174,"old":168,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,3,0,0,0],"matrix_rows":[6,1,98,68,8,48,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,102,70,0,32,50,6,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":176,"old":168,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,3,0,0,0],"matrix_rows":[6,1,66,100,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,70,102,32,0,44,6,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":172,"old":169,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,3,0,0,0],"matrix_rows":[24,1,34,4,72,112,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,32,0,88,120,50,24,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":178,"old":169,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,3,0,0,0],"matrix_rows":[24,1,2,36,104,80,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,32,120,88,44,24,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":542,"old":170,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,0,0,3,2],"matrix_rows":[385,257,2,4,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[129,0,0,0,0,0,0,129,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":545,"old":170,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,1,1,2],"matrix_rows":[203,257,258,4,264,16,32,320,384],"offset":0,"phase":0,"quadratic_rows":[459,459,0,459,0,0,459,459,203]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[6,8,16,32,64,128,258,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":601,"old":170,"rank":2,"right":{"linear_Z4":[3,0,0,0,0,0,3,3,0],"matrix_rows":[384,193,385,2,4,8,16,32,448],"offset":2,"phase":1,"quadratic_rows":[321,0,0,0,0,0,321,384,193]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[6,10,18,33,65,1,131,259,3],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":606,"old":170,"rank":2,"right":{"linear_Z4":[1,3,3,0,0,0,2,2,3],"matrix_rows":[488,231,297,290,300,32,48,320,384],"offset":120,"phase":0,"quadratic_rows":[463,455,463,453,0,0,15,15,271]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":542,"old":171,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,2,0,0,0],"matrix_rows":[44,1,2,36,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":544,"old":171,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,2,0,0],"matrix_rows":[74,1,66,4,72,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,3,0,0,0,0,0],"matrix_rows":[24,34,66,132,4,6,9,257,1],"offset":0,"phase":0,"quadratic_rows":[8,4,2,9,0,0,0,0,0]},"new":600,"old":171,"rank":4,"right":{"linear_Z4":[1,3,3,0,0,1,3,0,2],"matrix_rows":[192,46,40,385,449,50,60,16,256],"offset":6,"phase":2,"quadratic_rows":[65,30,22,34,6,40,321,256,192]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,18,32,64,1,2,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":604,"old":171,"rank":2,"right":{"linear_Z4":[1,3,3,0,0,2,2,0,0],"matrix_rows":[1,70,33,66,68,8,16,128,256],"offset":2,"phase":1,"quadratic_rows":[33,6,6,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":180,"old":172,"rank":1,"right":{"linear_Z4":[0,1,0,0,2,2,0,0,0],"matrix_rows":[34,1,50,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,18,16,16,14,0,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,18,1,32,68,6,2,128,256],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":668,"old":172,"rank":3,"right":{"linear_Z4":[1,0,2,2,1,1,2,0,0],"matrix_rows":[1,34,80,5,64,24,96,128,256],"offset":100,"phase":3,"quadratic_rows":[5,96,1,16,56,114,34,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,20,33,64,132,4,256,2,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":684,"old":172,"rank":3,"right":{"linear_Z4":[0,1,3,2,3,2,0,2,3],"matrix_rows":[389,384,50,256,34,388,24,32,64],"offset":201,"phase":2,"quadratic_rows":[132,18,5,16,26,0,0,257,384]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":180,"old":173,"rank":1,"right":{"linear_Z4":[3,0,3,0,2,0,0,3,0],"matrix_rows":[133,257,18,276,24,256,32,320,384],"offset":1,"phase":1,"quadratic_rows":[389,16,405,16,14,0,0,389,133]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,2,20,35,67,132,4,263,7],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":669,"old":173,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,1,2],"matrix_rows":[473,154,196,320,64,328,336,96,384],"offset":9,"phase":0,"quadratic_rows":[152,152,128,3,3,0,0,135,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[14,16,38,64,129,6,263,2,5],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":685,"old":173,"rank":3,"right":{"linear_Z4":[2,2,0,0,2,1,0,1,3],"matrix_rows":[304,437,53,49,134,32,24,288,320],"offset":48,"phase":2,"quadratic_rows":[432,132,290,16,425,437,0,435,437]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":180,"old":174,"rank":1,"right":{"linear_Z4":[1,0,0,1,2,0,0,1,2],"matrix_rows":[393,257,18,20,280,256,288,320,384],"offset":0,"phase":0,"quadratic_rows":[137,16,16,153,14,0,0,137,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[14,16,33,64,134,6,263,2,5],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":678,"old":174,"rank":3,"right":{"linear_Z4":[2,0,2,2,0,1,0,1,3],"matrix_rows":[292,437,53,37,6,288,152,32,320],"offset":192,"phase":2,"quadratic_rows":[420,4,419,144,296,437,0,429,437]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,19,35,2,68,132,4,263,7],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":694,"old":174,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,1,2],"matrix_rows":[455,142,208,320,322,324,64,96,384],"offset":9,"phase":0,"quadratic_rows":[134,9,9,134,128,0,0,153,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":180,"old":175,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,16,34,66,129,2,256,4,5],"offset":0,"phase":0,"quadratic_rows":[4,0,5,0,0,0,0,0,0]},"new":679,"old":175,"rank":3,"right":{"linear_Z4":[0,2,3,1,3,2,0,2,3],"matrix_rows":[401,44,384,256,6,32,40,400,64],"offset":57,"phase":2,"quadratic_rows":[144,4,14,12,17,0,0,257,384]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,16,34,68,1,6,4,128,256],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":695,"old":175,"rank":3,"right":{"linear_Z4":[1,2,1,0,2,1,2,0,0],"matrix_rows":[1,68,40,17,6,96,64,128,256],"offset":50,"phase":3,"quadratic_rows":[17,4,38,96,1,108,40,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":180,"old":176,"rank":1,"right":{"linear_Z4":[1,1,1,1,2,0,0,1,2],"matrix_rows":[399,257,274,276,280,256,32,64,384],"offset":0,"phase":0,"quadratic_rows":[143,159,159,159,14,0,0,143,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[8,16,33,64,134,1,256,2,5],"offset":0,"phase":0,"quadratic_rows":[4,6,7,0,0,0,0,0,0]},"new":736,"old":176,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,1,0,3,0],"matrix_rows":[260,432,48,5,6,32,152,288,64],"offset":198,"phase":0,"quadratic_rows":[4,4,291,144,40,180,0,424,132]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,21,37,66,4,130,2,263,7],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":752,"old":176,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,1,2],"matrix_rows":[455,200,150,320,322,324,64,96,384],"offset":9,"phase":0,"quadratic_rows":[134,17,17,128,134,0,0,153,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":180,"old":177,"rank":1,"right":{"linear_Z4":[0,0,0,1,2,0,2,0,0],"matrix_rows":[8,1,18,20,88,64,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,16,16,88,14,0,8,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,16,34,65,130,256,2,4,5],"offset":0,"phase":0,"quadratic_rows":[4,0,5,0,0,0,0,0,0]},"new":737,"old":177,"rank":3,"right":{"linear_Z4":[0,2,3,3,1,0,2,2,3],"matrix_rows":[393,84,384,256,6,64,392,80,32],"offset":57,"phase":2,"quadratic_rows":[136,4,22,9,20,0,0,257,384]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,16,34,1,68,4,6,128,256],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":753,"old":177,"rank":3,"right":{"linear_Z4":[1,2,1,2,0,2,1,0,0],"matrix_rows":[1,36,80,9,6,96,32,128,256],"offset":50,"phase":3,"quadratic_rows":[9,4,70,1,96,80,116,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":180,"old":178,"rank":1,"right":{"linear_Z4":[0,0,1,0,2,0,2,0,0],"matrix_rows":[68,1,18,84,24,64,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,16,20,16,14,0,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,1,18,32,68,2,6,128,256],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":746,"old":178,"rank":3,"right":{"linear_Z4":[1,2,0,2,1,2,1,0,0],"matrix_rows":[1,68,48,3,32,24,96,128,256],"offset":100,"phase":3,"quadratic_rows":[3,1,96,16,88,68,116,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,17,36,64,132,256,4,2,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":762,"old":178,"rank":3,"right":{"linear_Z4":[0,3,1,2,3,0,2,2,3],"matrix_rows":[387,384,84,256,386,68,24,64,32],"offset":201,"phase":2,"quadratic_rows":[130,3,20,16,28,0,0,257,384]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":180,"old":179,"rank":1,"right":{"linear_Z4":[3,3,0,0,2,0,0,3,0],"matrix_rows":[131,257,274,20,24,256,288,64,384],"offset":1,"phase":1,"quadratic_rows":[387,403,16,16,14,0,0,387,131]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,4,37,69,130,2,263,7],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":747,"old":179,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,1,2],"matrix_rows":[473,194,156,320,64,328,336,96,384],"offset":9,"phase":0,"quadratic_rows":[152,128,152,5,5,0,0,135,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[8,16,38,64,129,1,256,2,5],"offset":0,"phase":0,"quadratic_rows":[4,6,7,0,0,0,0,0,0]},"new":763,"old":179,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,1,0,3,0],"matrix_rows":[272,420,36,17,134,288,24,32,64],"offset":54,"phase":0,"quadratic_rows":[16,132,34,16,297,180,0,418,144]}},{"left":{"linear_Z4":[3,2,2,3,3,0,0,0,0],"matrix_rows":[33,66,132,264,14,12,10,16,17],"offset":0,"phase":0,"quadratic_rows":[17,4,2,8,17,0,0,0,0]},"new":1,"old":180,"rank":5,"right":{"linear_Z4":[0,0,0,2,0,1,1,0,1],"matrix_rows":[1,98,100,8,384,256,48,80,112],"offset":239,"phase":1,"quadratic_rows":[256,80,48,112,14,108,106,256,385]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,36,68,130,262,6,2,8,9],"offset":0,"phase":0,"quadratic_rows":[9,2,4,9,0,0,0,0,0]},"new":413,"old":180,"rank":4,"right":{"linear_Z4":[0,1,2,2,0,2,2,0,1],"matrix_rows":[1,8,14,384,256,106,96,64,48],"offset":83,"phase":0,"quadratic_rows":[256,102,106,36,0,14,6,256,385]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,34,66,132,262,4,6,8,9],"offset":0,"phase":0,"quadratic_rows":[9,2,4,9,0,0,0,0,0]},"new":416,"old":180,"rank":4,"right":{"linear_Z4":[0,2,1,2,0,2,2,0,1],"matrix_rows":[1,6,8,384,256,96,100,32,80],"offset":53,"phase":0,"quadratic_rows":[256,100,102,32,0,14,6,256,385]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,34,66,132,262,6,4,8,9],"offset":0,"phase":0,"quadratic_rows":[9,2,4,9,0,0,0,0,0]},"new":417,"old":180,"rank":4,"right":{"linear_Z4":[0,1,2,2,0,2,2,0,1],"matrix_rows":[1,6,8,384,256,98,96,64,48],"offset":85,"phase":0,"quadratic_rows":[256,102,98,64,0,6,14,256,385]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,34,66,132,262,4,6,8,9],"offset":0,"phase":0,"quadratic_rows":[9,2,4,9,0,0,0,0,0]},"new":420,"old":180,"rank":4,"right":{"linear_Z4":[0,2,1,2,0,2,2,0,1],"matrix_rows":[1,14,8,384,256,96,108,32,80],"offset":53,"phase":0,"quadratic_rows":[256,108,102,66,0,6,14,256,385]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":189,"old":181,"rank":1,"right":{"linear_Z4":[0,0,1,0,2,0,0,2,0],"matrix_rows":[132,1,18,148,24,128,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,16,20,16,14,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":190,"old":181,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":191,"old":181,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":192,"old":182,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":193,"old":182,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":194,"old":182,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":192,"old":183,"rank":1,"right":{"linear_Z4":[0,0,1,0,2,0,0,0,2],"matrix_rows":[260,1,18,276,24,256,32,64,128],"offset":0,"phase":0,"quadratic_rows":[0,16,20,16,14,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":195,"old":183,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":196,"old":183,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":189,"old":184,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":197,"old":184,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":198,"old":184,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":193,"old":185,"rank":1,"right":{"linear_Z4":[1,1,1,1,1,0,2,0,2],"matrix_rows":[287,321,258,324,264,336,32,256,128],"offset":0,"phase":0,"quadratic_rows":[95,31,95,31,95,0,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":195,"old":185,"rank":1,"right":{"linear_Z4":[1,1,1,1,1,0,2,0,2],"matrix_rows":[287,321,322,260,328,272,32,256,128],"offset":0,"phase":0,"quadratic_rows":[95,95,31,95,31,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":199,"old":185,"rank":1,"right":{"linear_Z4":[1,1,1,1,2,0,1,0,2],"matrix_rows":[335,257,274,276,280,256,32,320,128],"offset":0,"phase":0,"quadratic_rows":[79,95,95,95,14,0,79,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":190,"old":186,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,2,2,0],"matrix_rows":[129,193,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[65,0,64,0,64,0,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":197,"old":186,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,2,2,0],"matrix_rows":[129,193,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[65,64,0,64,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":200,"old":186,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":191,"old":187,"rank":1,"right":{"linear_Z4":[1,1,1,1,1,0,2,2,0],"matrix_rows":[159,193,194,132,200,144,32,128,256],"offset":0,"phase":0,"quadratic_rows":[95,95,31,95,31,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":198,"old":187,"rank":1,"right":{"linear_Z4":[1,1,1,1,1,0,2,2,0],"matrix_rows":[159,193,130,196,136,208,32,128,256],"offset":0,"phase":0,"quadratic_rows":[95,31,95,31,95,0,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":200,"old":187,"rank":1,"right":{"linear_Z4":[1,1,1,1,2,0,1,2,0],"matrix_rows":[207,129,146,148,152,128,32,192,256],"offset":0,"phase":0,"quadratic_rows":[79,95,95,95,14,0,79,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":194,"old":188,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,2,0,2],"matrix_rows":[257,321,66,4,72,16,32,256,128],"offset":0,"phase":0,"quadratic_rows":[65,64,0,64,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":196,"old":188,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,2,0,2],"matrix_rows":[257,321,2,68,8,80,32,256,128],"offset":0,"phase":0,"quadratic_rows":[65,0,64,0,64,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":199,"old":188,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":547,"old":189,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,0,0,2],"matrix_rows":[266,1,258,4,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":549,"old":189,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,0,3,0,2],"matrix_rows":[321,257,2,4,8,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[65,0,0,0,0,0,65,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[7,9,19,34,64,131,2,256,3],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":611,"old":189,"rank":2,"right":{"linear_Z4":[2,3,2,3,0,2,2,0,2],"matrix_rows":[359,45,257,322,260,72,16,288,128],"offset":3,"phase":2,"quadratic_rows":[74,39,74,109,0,74,45,0,0]}},{"left":{"linear_Z4":[3,2,3,2,0,0,0,0,0],"matrix_rows":[24,32,70,130,4,264,9,2,1],"offset":0,"phase":0,"quadratic_rows":[9,4,6,1,0,0,0,0,0]},"new":615,"old":189,"rank":4,"right":{"linear_Z4":[3,2,0,3,3,3,3,1,0],"matrix_rows":[320,156,132,97,321,14,144,128,352],"offset":110,"phase":1,"quadratic_rows":[289,12,130,26,24,289,320,132,97]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":202,"old":190,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,0,0,2],"matrix_rows":[266,1,258,4,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":208,"old":190,"rank":1,"right":{"linear_Z4":[0,0,3,0,3,0,0,0,2],"matrix_rows":[276,1,2,260,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,20,0,20,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":204,"old":191,"rank":1,"right":{"linear_Z4":[0,0,3,0,3,0,0,0,2],"matrix_rows":[276,1,2,260,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,20,0,20,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":206,"old":191,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,0,0,2],"matrix_rows":[266,1,258,4,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":547,"old":192,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,0,2,0],"matrix_rows":[138,1,130,4,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":548,"old":192,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,0,3,2,0],"matrix_rows":[193,129,2,4,8,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[65,0,0,0,0,0,65,0,0]}},{"left":{"linear_Z4":[2,2,3,2,0,0,0,0,0],"matrix_rows":[1,20,36,66,130,8,262,6,2],"offset":0,"phase":0,"quadratic_rows":[0,0,4,0,0,0,0,0,0]},"new":610,"old":192,"rank":4,"right":{"linear_Z4":[2,1,1,0,0,2,2,2,0],"matrix_rows":[1,328,78,32,394,388,256,272,192],"offset":9,"phase":2,"quadratic_rows":[0,454,462,388,0,0,390,78,78]}},{"left":{"linear_Z4":[3,2,3,2,0,0,0,0,0],"matrix_rows":[24,32,70,130,4,264,9,1,2],"offset":0,"phase":0,"quadratic_rows":[9,4,6,1,0,0,0,0,0]},"new":613,"old":192,"rank":4,"right":{"linear_Z4":[3,2,0,3,3,3,3,0,1],"matrix_rows":[192,284,260,97,193,14,272,256,224],"offset":110,"phase":1,"quadratic_rows":[161,12,258,26,24,161,192,97,260]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":202,"old":193,"rank":1,"right":{"linear_Z4":[0,0,3,0,3,0,0,2,0],"matrix_rows":[148,1,2,132,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,20,0,20,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":207,"old":193,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,0,2,0],"matrix_rows":[138,1,130,4,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":203,"old":194,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,0,2,0],"matrix_rows":[138,1,130,4,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":206,"old":194,"rank":1,"right":{"linear_Z4":[0,0,3,0,3,0,0,2,0],"matrix_rows":[148,1,2,132,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,20,0,20,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":204,"old":195,"rank":1,"right":{"linear_Z4":[0,0,3,0,3,0,0,2,0],"matrix_rows":[148,1,2,132,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,20,0,20,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":205,"old":195,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,0,2,0],"matrix_rows":[138,1,130,4,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":201,"old":196,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,0,2,0],"matrix_rows":[138,1,130,4,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":208,"old":196,"rank":1,"right":{"linear_Z4":[0,0,3,0,3,0,0,2,0],"matrix_rows":[148,1,2,132,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,20,0,20,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":203,"old":197,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,0,0,2],"matrix_rows":[266,1,258,4,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":205,"old":197,"rank":1,"right":{"linear_Z4":[0,0,3,0,3,0,0,0,2],"matrix_rows":[276,1,2,260,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,20,0,20,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":201,"old":198,"rank":1,"right":{"linear_Z4":[0,0,3,0,3,0,0,0,2],"matrix_rows":[276,1,2,260,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,20,0,20,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":207,"old":198,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,0,0,2],"matrix_rows":[266,1,258,4,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":546,"old":199,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,0,3,2,0],"matrix_rows":[193,129,2,4,8,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[65,0,0,0,0,0,65,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":549,"old":199,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,0,2,0],"matrix_rows":[138,1,130,4,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,8,17,33,64,1,130,2,256],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":609,"old":199,"rank":2,"right":{"linear_Z4":[0,0,3,3,0,2,1,2,0],"matrix_rows":[44,64,1,2,36,40,16,192,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,192,64,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,18,32,64,1,128,2,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":614,"old":199,"rank":2,"right":{"linear_Z4":[1,3,3,0,0,2,0,2,0],"matrix_rows":[1,134,33,130,132,8,16,64,256],"offset":2,"phase":1,"quadratic_rows":[33,6,6,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":546,"old":200,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,0,3,0,2],"matrix_rows":[321,257,2,4,8,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[65,0,0,0,0,0,65,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":548,"old":200,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,0,0,2],"matrix_rows":[266,1,258,4,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,3,2,0,0,0,0,0],"matrix_rows":[17,32,70,2,4,8,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":608,"old":200,"rank":4,"right":{"linear_Z4":[1,2,0,3,3,2,0,0,2],"matrix_rows":[1,28,4,32,257,14,16,64,128],"offset":110,"phase":1,"quadratic_rows":[257,12,2,26,24,0,0,0,1]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,18,32,64,1,128,256,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":612,"old":200,"rank":2,"right":{"linear_Z4":[1,3,3,0,0,2,0,0,2],"matrix_rows":[1,262,33,258,260,8,16,64,128],"offset":2,"phase":1,"quadratic_rows":[33,6,6,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":209,"old":201,"rank":1,"right":{"linear_Z4":[3,3,3,3,2,0,0,0,2],"matrix_rows":[271,257,274,276,280,256,32,320,128],"offset":1,"phase":1,"quadratic_rows":[15,31,31,31,14,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,18,33,70,128,4,257,2,1],"offset":0,"phase":0,"quadratic_rows":[0,4,6,0,0,0,0,0,0]},"new":670,"old":201,"rank":3,"right":{"linear_Z4":[2,0,1,2,2,3,0,3,2],"matrix_rows":[260,170,136,5,128,256,168,16,320],"offset":425,"phase":1,"quadratic_rows":[4,40,5,130,0,34,0,136,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,22,32,68,129,2,257,4,1],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":692,"old":201,"rank":3,"right":{"linear_Z4":[2,2,2,0,1,3,0,3,2],"matrix_rows":[272,130,170,17,162,4,128,256,320],"offset":425,"phase":1,"quadratic_rows":[16,136,0,34,17,40,0,130,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":209,"old":202,"rank":1,"right":{"linear_Z4":[3,3,3,3,2,0,0,2,0],"matrix_rows":[143,129,146,148,152,128,32,192,256],"offset":1,"phase":1,"quadratic_rows":[15,31,31,31,14,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,18,33,70,128,4,257,1,2],"offset":0,"phase":0,"quadratic_rows":[0,4,6,0,0,0,0,0,0]},"new":671,"old":202,"rank":3,"right":{"linear_Z4":[2,0,1,2,2,3,0,2,3],"matrix_rows":[132,298,264,5,256,128,296,16,192],"offset":425,"phase":1,"quadratic_rows":[4,40,5,258,0,34,0,0,264]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,22,32,68,129,2,257,1,4],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":693,"old":202,"rank":3,"right":{"linear_Z4":[2,2,2,0,1,3,0,2,3],"matrix_rows":[144,258,298,17,290,4,256,128,192],"offset":425,"phase":1,"quadratic_rows":[16,264,0,34,17,40,0,0,258]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":209,"old":203,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[11,23,3,36,6,2,64,128,256],"offset":0,"phase":0,"quadratic_rows":[6,1,1,0,0,0,0,0,0]},"new":676,"old":203,"rank":3,"right":{"linear_Z4":[0,3,2,3,1,2,0,0,0],"matrix_rows":[55,7,30,5,54,56,64,128,256],"offset":5,"phase":2,"quadratic_rows":[52,26,25,46,55,25,0,0,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[9,17,35,70,7,4,134,262,6],"offset":0,"phase":0,"quadratic_rows":[5,6,7,0,0,0,0,0,0]},"new":686,"old":203,"rank":3,"right":{"linear_Z4":[3,3,0,2,1,1,0,0,2],"matrix_rows":[39,36,56,273,282,60,256,320,384],"offset":222,"phase":2,"quadratic_rows":[311,319,59,22,31,39,0,0,3]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":209,"old":204,"rank":1,"right":{"linear_Z4":[0,3,3,3,2,0,0,0,0],"matrix_rows":[14,1,274,276,280,256,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,286,286,286,14,0,0,0,14]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[10,19,36,66,128,1,3,260,4],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":677,"old":204,"rank":3,"right":{"linear_Z4":[3,1,0,3,0,2,0,0,2],"matrix_rows":[34,9,260,99,64,256,104,16,384],"offset":3,"phase":2,"quadratic_rows":[107,3,0,105,0,9,9,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[10,18,32,65,132,3,1,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":687,"old":204,"rank":3,"right":{"linear_Z4":[3,3,0,0,0,1,0,0,2],"matrix_rows":[40,43,272,105,98,4,64,256,384],"offset":3,"phase":2,"quadratic_rows":[67,75,0,34,0,40,3,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":209,"old":205,"rank":1,"right":{"linear_Z4":[0,0,1,0,2,0,0,0,2],"matrix_rows":[260,1,18,276,24,256,32,64,128],"offset":0,"phase":0,"quadratic_rows":[0,16,20,16,14,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,17,34,64,134,4,257,1,2],"offset":0,"phase":0,"quadratic_rows":[0,4,6,0,0,0,0,0,0]},"new":744,"old":205,"rank":3,"right":{"linear_Z4":[2,1,0,2,2,3,0,2,3],"matrix_rows":[130,308,272,3,128,256,8,304,192],"offset":345,"phase":1,"quadratic_rows":[2,3,48,0,260,36,0,0,272]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,16,38,65,132,2,257,1,4],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":754,"old":205,"rank":3,"right":{"linear_Z4":[2,2,2,1,0,3,0,2,3],"matrix_rows":[136,260,308,9,2,292,128,256,192],"offset":345,"phase":1,"quadratic_rows":[8,0,272,9,36,48,0,0,260]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":209,"old":206,"rank":1,"right":{"linear_Z4":[0,0,1,0,2,0,0,2,0],"matrix_rows":[132,1,18,148,24,128,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,16,20,16,14,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,17,34,64,134,4,257,2,1],"offset":0,"phase":0,"quadratic_rows":[0,4,6,0,0,0,0,0,0]},"new":745,"old":206,"rank":3,"right":{"linear_Z4":[2,1,0,2,2,3,0,3,2],"matrix_rows":[258,180,144,3,256,128,8,176,320],"offset":345,"phase":1,"quadratic_rows":[2,3,48,0,132,36,0,144,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,16,38,65,132,2,257,4,1],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":755,"old":206,"rank":3,"right":{"linear_Z4":[2,2,2,1,0,3,0,3,2],"matrix_rows":[264,132,180,9,2,164,256,128,320],"offset":345,"phase":1,"quadratic_rows":[8,0,144,9,36,48,0,132,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":209,"old":207,"rank":1,"right":{"linear_Z4":[3,0,3,0,2,0,0,0,0],"matrix_rows":[5,65,18,84,24,64,32,128,256],"offset":1,"phase":1,"quadratic_rows":[69,16,85,16,14,0,5,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[12,18,37,64,132,1,5,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,4,0,0,0,0,0,0]},"new":738,"old":207,"rank":3,"right":{"linear_Z4":[3,0,1,0,3,2,0,0,2],"matrix_rows":[36,258,17,101,256,64,8,112,384],"offset":5,"phase":2,"quadratic_rows":[117,0,5,0,113,17,17,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[10,16,34,68,129,3,1,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":760,"old":207,"rank":3,"right":{"linear_Z4":[3,0,3,0,0,1,0,0,2],"matrix_rows":[48,53,264,113,2,100,256,64,384],"offset":3,"phase":2,"quadratic_rows":[69,0,85,0,36,48,5,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":209,"old":208,"rank":1,"right":{"linear_Z4":[1,0,1,0,2,0,0,0,2],"matrix_rows":[5,257,18,276,24,256,32,320,384],"offset":0,"phase":0,"quadratic_rows":[261,16,277,16,14,0,0,0,5]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,22,35,71,5,4,134,262,6],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":739,"old":208,"rank":3,"right":{"linear_Z4":[0,2,3,3,1,2,0,0,1],"matrix_rows":[44,42,286,21,278,256,312,320,384],"offset":244,"phase":1,"quadratic_rows":[20,32,309,40,309,286,0,0,308]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[9,21,33,7,70,2,134,262,6],"offset":0,"phase":0,"quadratic_rows":[3,7,6,0,0,0,0,0,0]},"new":761,"old":208,"rank":3,"right":{"linear_Z4":[3,0,3,1,2,1,0,0,2],"matrix_rows":[39,56,34,265,58,284,256,320,384],"offset":238,"phase":2,"quadratic_rows":[303,61,319,31,14,39,0,0,5]}},{"left":{"linear_Z4":[3,2,3,2,2,0,0,0,0],"matrix_rows":[33,66,132,8,14,16,11,266,10],"offset":0,"phase":0,"quadratic_rows":[11,5,14,5,0,0,0,0,0]},"new":1,"old":209,"rank":5,"right":{"linear_Z4":[0,2,0,2,0,2,0,0,0],"matrix_rows":[257,338,260,88,32,320,256,272,384],"offset":253,"phase":1,"quadratic_rows":[64,80,16,80,14,0,11,0,0]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,40,68,138,14,2,11,266,10],"offset":0,"phase":0,"quadratic_rows":[11,15,14,15,0,0,0,0,0]},"new":413,"old":209,"rank":4,"right":{"linear_Z4":[0,1,0,3,2,0,2,0,1],"matrix_rows":[257,376,260,114,320,298,272,256,384],"offset":85,"phase":0,"quadratic_rows":[64,346,16,346,14,0,11,0,266]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,34,78,8,138,4,11,266,10],"offset":0,"phase":0,"quadratic_rows":[11,15,14,15,0,0,0,0,0]},"new":416,"old":209,"rank":4,"right":{"linear_Z4":[0,0,1,0,0,2,0,0,1],"matrix_rows":[257,358,260,108,320,256,292,272,384],"offset":51,"phase":0,"quadratic_rows":[64,100,302,100,0,14,11,0,260]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[27,35,69,9,15,1,138,266,10],"offset":0,"phase":0,"quadratic_rows":[11,15,14,15,0,0,0,0,0]},"new":418,"old":209,"rank":4,"right":{"linear_Z4":[1,1,3,1,0,2,0,0,1],"matrix_rows":[257,317,260,55,303,256,272,320,384],"offset":102,"phase":0,"quadratic_rows":[293,26,53,26,14,5,0,0,257]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[27,34,68,8,14,1,138,266,10],"offset":0,"phase":0,"quadratic_rows":[11,15,14,15,0,0,0,0,0]},"new":419,"old":209,"rank":4,"right":{"linear_Z4":[1,0,0,0,0,2,0,0,1],"matrix_rows":[257,307,260,57,289,256,272,320,384],"offset":102,"phase":0,"quadratic_rows":[299,49,16,49,14,11,0,0,257]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":218,"old":210,"rank":1,"right":{"linear_Z4":[3,3,0,0,2,0,0,0,0],"matrix_rows":[19,17,18,4,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":219,"old":210,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":220,"old":210,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,2,0,0],"matrix_rows":[70,1,66,68,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":221,"old":211,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,1,0,1,2],"matrix_rows":[430,1,274,276,280,256,288,64,384],"offset":0,"phase":0,"quadratic_rows":[0,190,190,190,14,174,0,174,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":222,"old":211,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":223,"old":211,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":221,"old":212,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":224,"old":212,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":225,"old":212,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":218,"old":213,"rank":1,"right":{"linear_Z4":[3,0,3,2,0,0,0,0,0],"matrix_rows":[13,9,2,12,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":226,"old":213,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":227,"old":213,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,2,0,0],"matrix_rows":[70,1,66,68,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":222,"old":214,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,1,2,1,2],"matrix_rows":[427,321,258,68,264,80,288,256,384],"offset":0,"phase":0,"quadratic_rows":[235,171,64,171,64,171,21,171,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":224,"old":214,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,1,2,1,2],"matrix_rows":[427,321,322,4,328,16,288,256,384],"offset":0,"phase":0,"quadratic_rows":[235,235,0,235,0,171,11,171,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":228,"old":214,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":219,"old":215,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,2,0,0],"matrix_rows":[88,9,2,12,64,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[8,0,8,21,24,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":226,"old":215,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,2,0,0],"matrix_rows":[88,17,18,4,72,64,32,128,256],"offset":0,"phase":0,"quadratic_rows":[16,16,0,24,11,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":229,"old":215,"rank":1,"right":{"linear_Z4":[0,0,0,1,2,0,2,0,0],"matrix_rows":[72,1,18,20,88,64,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,16,16,24,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":220,"old":216,"rank":1,"right":{"linear_Z4":[3,0,3,2,0,0,0,0,0],"matrix_rows":[13,9,2,12,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":227,"old":216,"rank":1,"right":{"linear_Z4":[3,3,0,0,2,0,0,0,0],"matrix_rows":[19,17,18,4,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":229,"old":216,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":223,"old":217,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,1,2,1,2],"matrix_rows":[437,321,66,260,72,272,288,256,384],"offset":0,"phase":0,"quadratic_rows":[245,64,181,64,181,181,11,181,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":225,"old":217,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,1,2,1,2],"matrix_rows":[437,321,2,324,8,336,288,256,384],"offset":0,"phase":0,"quadratic_rows":[245,0,245,0,245,181,21,181,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":228,"old":217,"rank":1,"right":{"linear_Z4":[1,0,1,0,2,1,1,1,2],"matrix_rows":[485,257,18,276,24,256,288,320,384],"offset":0,"phase":0,"quadratic_rows":[229,16,245,16,14,229,229,229,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":551,"old":218,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,3,0,3,2],"matrix_rows":[416,1,2,4,8,16,288,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,160,0,160,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":553,"old":218,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,1,1,2],"matrix_rows":[230,1,258,260,8,16,288,320,384],"offset":0,"phase":0,"quadratic_rows":[0,486,486,0,0,486,486,486,230]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,16,32,64,130,258,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":619,"old":218,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,3,3,3,0],"matrix_rows":[384,224,1,2,4,8,16,416,448],"offset":2,"phase":1,"quadratic_rows":[0,0,0,0,0,352,352,384,224]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[30,32,64,128,256,3,5,9,1],"offset":0,"phase":0,"quadratic_rows":[15,15,15,15,0,0,0,0,0]},"new":623,"old":218,"rank":4,"right":{"linear_Z4":[3,0,0,0,0,3,3,3,0],"matrix_rows":[480,449,417,353,481,2,4,8,16],"offset":1,"phase":1,"quadratic_rows":[225,0,0,0,0,225,225,225,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":231,"old":219,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,1,0,1,2],"matrix_rows":[179,257,258,4,8,272,288,64,384],"offset":0,"phase":0,"quadratic_rows":[435,435,0,0,435,435,0,435,179]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":237,"old":219,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,3,0,3,2],"matrix_rows":[416,1,2,4,8,16,288,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,160,0,160,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":233,"old":220,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,3,0,3,2],"matrix_rows":[416,1,2,4,8,16,288,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,160,0,160,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":235,"old":220,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,1,0,1,2],"matrix_rows":[179,257,258,4,8,272,288,64,384],"offset":0,"phase":0,"quadratic_rows":[435,435,0,0,435,435,0,435,179]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":551,"old":221,"rank":1,"right":{"linear_Z4":[0,3,3,3,0,0,0,0,0],"matrix_rows":[6,9,18,28,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[8,22,30,13,6,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":552,"old":221,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,2,0,0],"matrix_rows":[70,1,66,68,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,3,0,0,0,0,0],"matrix_rows":[18,32,67,1,2,136,12,260,4],"offset":0,"phase":0,"quadratic_rows":[3,1,8,12,0,0,0,0,0]},"new":618,"old":221,"rank":4,"right":{"linear_Z4":[1,2,0,1,1,1,3,0,2],"matrix_rows":[28,25,192,416,29,14,16,480,256],"offset":115,"phase":1,"quadratic_rows":[5,12,27,30,28,96,352,256,192]}},{"left":{"linear_Z4":[2,2,3,3,0,0,0,0,0],"matrix_rows":[1,16,34,66,128,260,2,8,12],"offset":0,"phase":0,"quadratic_rows":[0,0,12,12,0,0,0,0,0]},"new":621,"old":221,"rank":4,"right":{"linear_Z4":[2,0,3,3,0,0,2,0,1],"matrix_rows":[1,76,32,384,2,68,72,16,256],"offset":263,"phase":2,"quadratic_rows":[0,0,12,12,0,256,0,256,416]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":231,"old":222,"rank":1,"right":{"linear_Z4":[2,3,1,1,3,3,0,3,2],"matrix_rows":[438,9,258,268,256,272,288,64,384],"offset":27,"phase":0,"quadratic_rows":[8,182,190,13,182,182,0,182,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":236,"old":222,"rank":1,"right":{"linear_Z4":[2,0,2,1,0,1,0,1,2],"matrix_rows":[184,17,18,4,264,256,288,320,384],"offset":170,"phase":0,"quadratic_rows":[16,16,0,440,427,440,0,440,184]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":232,"old":223,"rank":1,"right":{"linear_Z4":[2,1,3,3,1,3,0,3,2],"matrix_rows":[430,17,274,260,264,256,288,64,384],"offset":39,"phase":0,"quadratic_rows":[16,190,174,174,19,174,0,174,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":235,"old":223,"rank":1,"right":{"linear_Z4":[2,2,0,0,1,1,0,1,2],"matrix_rows":[184,9,2,12,256,272,288,320,384],"offset":150,"phase":0,"quadratic_rows":[8,0,8,437,440,440,0,440,184]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":233,"old":224,"rank":1,"right":{"linear_Z4":[3,3,0,3,0,0,0,0,0],"matrix_rows":[3,73,66,12,64,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[75,67,8,13,0,0,3,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":234,"old":224,"rank":1,"right":{"linear_Z4":[3,3,0,0,2,0,0,0,0],"matrix_rows":[19,17,18,4,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":230,"old":225,"rank":1,"right":{"linear_Z4":[3,0,3,0,3,0,0,0,0],"matrix_rows":[5,81,18,68,8,64,32,128,256],"offset":1,"phase":1,"quadratic_rows":[85,16,69,0,19,0,5,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":237,"old":225,"rank":1,"right":{"linear_Z4":[3,0,3,2,0,0,0,0,0],"matrix_rows":[13,9,2,12,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":232,"old":226,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,1,0,1,2],"matrix_rows":[173,257,2,260,264,16,288,64,384],"offset":0,"phase":0,"quadratic_rows":[429,0,429,429,0,429,0,429,173]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":234,"old":226,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,3,0,3,2],"matrix_rows":[416,1,2,4,8,16,288,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,160,0,160,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":230,"old":227,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,3,0,3,2],"matrix_rows":[416,1,2,4,8,16,288,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,160,0,160,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":236,"old":227,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,1,0,1,2],"matrix_rows":[173,257,2,260,264,16,288,64,384],"offset":0,"phase":0,"quadratic_rows":[429,0,429,429,0,429,0,429,173]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":550,"old":228,"rank":1,"right":{"linear_Z4":[3,1,2,3,0,3,1,3,2],"matrix_rows":[427,257,322,68,264,16,288,256,384],"offset":141,"phase":0,"quadratic_rows":[171,235,64,171,0,171,70,171,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":553,"old":228,"rank":1,"right":{"linear_Z4":[0,2,2,0,0,1,1,1,2],"matrix_rows":[232,9,2,12,256,272,288,320,384],"offset":60,"phase":0,"quadratic_rows":[8,0,8,485,0,488,488,488,232]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[7,8,19,35,64,131,259,2,1],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":617,"old":228,"rank":2,"right":{"linear_Z4":[0,2,2,0,0,0,1,0,3],"matrix_rows":[173,301,321,194,388,328,16,352,256],"offset":431,"phase":1,"quadratic_rows":[192,192,0,192,0,192,235,363,384]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,10,18,33,65,2,131,259,3],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":622,"old":228,"rank":2,"right":{"linear_Z4":[2,3,3,0,0,0,2,2,2],"matrix_rows":[201,239,257,2,12,256,272,320,384],"offset":120,"phase":0,"quadratic_rows":[294,239,231,290,0,207,294,294,201]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":550,"old":229,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,1,0,1,2],"matrix_rows":[173,257,2,260,264,16,288,64,384],"offset":0,"phase":0,"quadratic_rows":[429,0,429,429,0,429,0,429,173]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":552,"old":229,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,3,0,3,2],"matrix_rows":[416,1,2,4,8,16,288,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,160,0,160,0]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[28,36,71,132,263,9,7,1,3],"offset":0,"phase":0,"quadratic_rows":[13,6,15,13,0,0,0,0,0]},"new":616,"old":229,"rank":4,"right":{"linear_Z4":[2,3,1,3,0,2,3,3,0],"matrix_rows":[484,324,431,453,485,326,64,328,80],"offset":481,"phase":1,"quadratic_rows":[398,235,45,239,0,398,202,235,33]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,18,34,2,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":620,"old":229,"rank":2,"right":{"linear_Z4":[3,3,3,2,0,0,0,3,2],"matrix_rows":[385,6,257,18,28,16,32,64,384],"offset":3,"phase":2,"quadratic_rows":[129,22,30,4,6,0,0,129,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":238,"old":230,"rank":1,"right":{"linear_Z4":[3,0,3,2,0,0,0,0,0],"matrix_rows":[13,9,2,12,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,18,33,64,2,132,3,260,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":672,"old":230,"rank":3,"right":{"linear_Z4":[2,0,1,2,2,3,1,1,2],"matrix_rows":[20,66,416,5,16,80,40,256,384],"offset":233,"phase":1,"quadratic_rows":[4,80,69,32,66,168,86,160,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,17,33,68,128,260,1,2,6],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":732,"old":230,"rank":3,"right":{"linear_Z4":[2,1,1,3,0,0,2,2,3],"matrix_rows":[66,384,424,5,70,64,392,16,256],"offset":317,"phase":0,"quadratic_rows":[4,6,7,40,0,136,0,288,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":238,"old":231,"rank":1,"right":{"linear_Z4":[1,0,1,0,3,3,0,3,2],"matrix_rows":[421,273,18,260,8,256,288,320,384],"offset":171,"phase":1,"quadratic_rows":[181,16,165,0,19,165,0,165,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[15,18,33,65,135,4,1,262,6],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":673,"old":231,"rank":3,"right":{"linear_Z4":[3,0,2,0,3,0,2,0,2],"matrix_rows":[81,407,181,325,256,64,72,336,384],"offset":19,"phase":1,"quadratic_rows":[55,149,35,0,51,149,0,34,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[12,23,39,71,132,259,7,2,1],"offset":0,"phase":0,"quadratic_rows":[3,3,4,0,0,0,0,0,0]},"new":733,"old":231,"rank":3,"right":{"linear_Z4":[1,1,0,0,1,3,0,0,3],"matrix_rows":[130,258,183,357,230,64,72,368,256],"offset":463,"phase":1,"quadratic_rows":[467,467,368,0,471,356,183,83,311]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":238,"old":232,"rank":1,"right":{"linear_Z4":[1,1,0,3,0,3,0,3,2],"matrix_rows":[419,265,258,12,256,16,288,320,384],"offset":151,"phase":1,"quadratic_rows":[171,163,8,13,0,163,0,163,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[10,16,39,66,128,2,256,3,6],"offset":0,"phase":0,"quadratic_rows":[5,2,5,0,0,0,0,0,0]},"new":682,"old":232,"rank":3,"right":{"linear_Z4":[3,2,3,1,0,1,0,2,3],"matrix_rows":[388,9,4,133,166,256,40,16,64],"offset":61,"phase":1,"quadratic_rows":[141,164,167,41,0,174,0,295,384]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[15,17,34,71,129,4,1,262,6],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":742,"old":232,"rank":3,"right":{"linear_Z4":[3,2,0,3,0,0,2,0,2],"matrix_rows":[73,399,171,323,64,256,328,80,384],"offset":35,"phase":1,"quadratic_rows":[47,37,139,45,0,139,0,36,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":238,"old":233,"rank":1,"right":{"linear_Z4":[3,3,0,0,2,0,0,0,0],"matrix_rows":[19,17,18,4,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,16,33,65,132,260,1,2,6],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":683,"old":233,"rank":3,"right":{"linear_Z4":[2,2,2,0,3,0,2,2,3],"matrix_rows":[68,384,432,5,6,64,72,400,256],"offset":316,"phase":3,"quadratic_rows":[4,4,3,0,48,144,0,288,384]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,34,2,64,132,3,260,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":743,"old":233,"rank":3,"right":{"linear_Z4":[2,1,0,2,2,3,1,1,2],"matrix_rows":[10,68,416,3,72,8,48,256,384],"offset":217,"phase":1,"quadratic_rows":[2,67,72,68,32,176,78,160,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":238,"old":234,"rank":1,"right":{"linear_Z4":[3,3,0,3,0,0,0,0,0],"matrix_rows":[3,73,66,12,64,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[75,67,8,13,0,0,3,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,17,36,65,128,260,1,2,6],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":688,"old":234,"rank":3,"right":{"linear_Z4":[3,3,3,2,0,0,0,2,3],"matrix_rows":[3,384,420,65,74,388,64,16,256],"offset":261,"phase":1,"quadratic_rows":[67,75,36,2,0,132,3,288,384]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,19,32,65,3,132,2,260,4],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":748,"old":234,"rank":3,"right":{"linear_Z4":[2,0,2,1,2,3,0,1,2],"matrix_rows":[90,66,416,11,16,36,80,256,384],"offset":233,"phase":1,"quadratic_rows":[10,1,32,9,0,164,0,160,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":238,"old":235,"rank":1,"right":{"linear_Z4":[1,1,0,0,0,3,0,3,0],"matrix_rows":[179,273,274,4,8,256,288,64,384],"offset":39,"phase":0,"quadratic_rows":[419,419,0,0,416,435,0,435,179]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[11,19,32,64,134,3,256,2,7],"offset":0,"phase":0,"quadratic_rows":[5,2,5,0,0,0,0,0,0]},"new":689,"old":235,"rank":3,"right":{"linear_Z4":[0,0,0,0,2,2,0,1,3],"matrix_rows":[291,179,16,33,34,180,8,256,64],"offset":2,"phase":1,"quadratic_rows":[432,432,176,0,263,263,0,135,307]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[15,23,33,65,130,4,1,262,6],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":749,"old":235,"rank":3,"right":{"linear_Z4":[3,3,2,0,0,0,2,0,2],"matrix_rows":[71,403,163,321,322,64,72,256,384],"offset":131,"phase":1,"quadratic_rows":[55,55,3,0,131,131,0,48,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":238,"old":236,"rank":1,"right":{"linear_Z4":[1,0,1,0,0,3,0,3,0],"matrix_rows":[173,265,2,268,256,16,288,64,384],"offset":27,"phase":0,"quadratic_rows":[421,0,421,416,0,429,0,429,173]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[15,17,39,66,129,4,1,262,6],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":698,"old":236,"rank":3,"right":{"linear_Z4":[3,2,3,0,0,0,2,0,2],"matrix_rows":[71,397,165,321,64,324,256,80,384],"offset":67,"phase":1,"quadratic_rows":[47,5,47,133,0,133,0,40,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[11,16,35,70,128,3,256,2,7],"offset":0,"phase":0,"quadratic_rows":[5,2,5,0,0,0,0,0,0]},"new":758,"old":236,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,2,0,1,3],"matrix_rows":[293,173,8,33,170,36,256,16,64],"offset":2,"phase":1,"quadratic_rows":[424,168,424,263,0,263,0,135,301]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":238,"old":237,"rank":1,"right":{"linear_Z4":[3,0,3,0,3,0,0,0,0],"matrix_rows":[5,81,18,68,8,64,32,128,256],"offset":1,"phase":1,"quadratic_rows":[85,16,69,0,19,0,5,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,16,37,69,1,130,4,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":699,"old":237,"rank":3,"right":{"linear_Z4":[2,2,0,0,1,3,2,1,2],"matrix_rows":[20,416,68,21,34,64,72,256,384],"offset":248,"phase":3,"quadratic_rows":[20,32,1,0,17,162,0,160,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[10,20,34,64,130,260,2,1,5],"offset":0,"phase":0,"quadratic_rows":[5,2,1,0,0,0,0,0,0]},"new":759,"old":237,"rank":3,"right":{"linear_Z4":[3,3,3,0,2,0,0,2,3],"matrix_rows":[384,5,418,65,386,84,8,64,256],"offset":262,"phase":1,"quadratic_rows":[69,34,85,0,4,130,5,288,384]}},{"left":{"linear_Z4":[2,2,2,3,3,0,0,0,0],"matrix_rows":[33,66,4,133,3,264,6,16,24],"offset":0,"phase":0,"quadratic_rows":[6,5,3,24,24,0,0,0,0]},"new":1,"old":238,"rank":5,"right":{"linear_Z4":[2,0,2,0,0,0,0,0,1],"matrix_rows":[17,18,20,32,384,80,64,88,256],"offset":463,"phase":1,"quadratic_rows":[64,80,16,0,6,256,3,256,416]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[18,35,65,129,3,260,2,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":414,"old":238,"rank":4,"right":{"linear_Z4":[3,3,2,0,0,0,2,0,1],"matrix_rows":[6,5,32,384,71,16,80,88,256],"offset":469,"phase":2,"quadratic_rows":[67,83,16,0,6,256,3,256,416]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[19,33,66,130,1,260,3,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":415,"old":238,"rank":4,"right":{"linear_Z4":[0,0,2,0,0,0,2,0,1],"matrix_rows":[3,5,32,384,65,16,80,88,256],"offset":468,"phase":1,"quadratic_rows":[70,17,81,0,6,256,5,256,416]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,35,66,131,1,260,2,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":417,"old":238,"rank":4,"right":{"linear_Z4":[0,2,0,0,2,0,2,0,1],"matrix_rows":[3,6,32,384,16,82,64,88,256],"offset":388,"phase":3,"quadratic_rows":[18,85,66,0,3,256,6,256,416]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,34,67,129,3,260,2,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":420,"old":238,"rank":4,"right":{"linear_Z4":[2,0,0,0,2,0,0,0,1],"matrix_rows":[5,6,32,384,80,64,20,88,256],"offset":468,"phase":1,"quadratic_rows":[84,68,19,0,5,256,3,256,416]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":247,"old":239,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,1,1,0,2],"matrix_rows":[366,1,274,276,280,256,288,320,128],"offset":0,"phase":0,"quadratic_rows":[0,126,126,126,14,110,110,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":248,"old":239,"rank":1,"right":{"linear_Z4":[0,1,1,1,1,1,2,0,2],"matrix_rows":[318,1,258,260,328,336,352,256,128],"offset":0,"phase":0,"quadratic_rows":[0,62,62,126,126,126,56,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":249,"old":239,"rank":1,"right":{"linear_Z4":[0,1,1,1,1,1,2,0,2],"matrix_rows":[318,1,322,324,264,272,352,256,128],"offset":0,"phase":0,"quadratic_rows":[0,126,126,62,62,126,38,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":250,"old":240,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":251,"old":240,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,1,2,2,0],"matrix_rows":[160,1,2,4,72,80,224,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,64,64,96,56,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":252,"old":240,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,1,2,2,0],"matrix_rows":[160,1,66,68,8,16,224,128,256],"offset":0,"phase":0,"quadratic_rows":[0,64,64,0,0,96,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":250,"old":241,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,1,1,2,0],"matrix_rows":[238,1,146,148,152,128,160,192,256],"offset":0,"phase":0,"quadratic_rows":[0,126,126,126,14,110,110,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":253,"old":241,"rank":1,"right":{"linear_Z4":[0,1,1,1,1,1,2,2,0],"matrix_rows":[190,1,194,196,136,144,224,128,256],"offset":0,"phase":0,"quadratic_rows":[0,126,126,62,62,126,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":254,"old":241,"rank":1,"right":{"linear_Z4":[0,1,1,1,1,1,2,2,0],"matrix_rows":[190,1,130,132,200,208,224,128,256],"offset":0,"phase":0,"quadratic_rows":[0,62,62,126,126,126,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":247,"old":242,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":255,"old":242,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,1,2,0,2],"matrix_rows":[288,1,66,68,8,16,352,256,128],"offset":0,"phase":0,"quadratic_rows":[0,64,64,0,0,96,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":256,"old":242,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,1,2,0,2],"matrix_rows":[288,1,2,4,72,80,352,256,128],"offset":0,"phase":0,"quadratic_rows":[0,0,0,64,64,96,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":251,"old":243,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":253,"old":243,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":257,"old":243,"rank":1,"right":{"linear_Z4":[0,0,0,1,2,0,0,2,0],"matrix_rows":[136,1,18,20,152,128,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,16,16,24,14,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":248,"old":244,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":255,"old":244,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":258,"old":244,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":249,"old":245,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":256,"old":245,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":258,"old":245,"rank":1,"right":{"linear_Z4":[0,0,0,1,2,0,0,0,2],"matrix_rows":[264,1,18,20,280,256,32,64,128],"offset":0,"phase":0,"quadratic_rows":[0,16,16,24,14,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":252,"old":246,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":254,"old":246,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":257,"old":246,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":555,"old":247,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,3,3,2,0],"matrix_rows":[224,1,2,4,8,16,160,192,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,96,96,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":557,"old":247,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,2,0],"matrix_rows":[134,1,130,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,33,1,64,130,2,256],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":627,"old":247,"rank":2,"right":{"linear_Z4":[0,3,3,3,0,0,1,2,0],"matrix_rows":[6,64,9,18,28,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[8,22,30,13,6,0,192,64,0]}},{"left":{"linear_Z4":[2,2,3,3,0,0,0,0,0],"matrix_rows":[1,16,34,66,128,260,8,2,12],"offset":0,"phase":0,"quadratic_rows":[0,0,12,12,0,0,0,0,0]},"new":631,"old":247,"rank":4,"right":{"linear_Z4":[2,0,3,3,0,0,0,2,1],"matrix_rows":[1,140,32,320,2,132,136,16,256],"offset":263,"phase":2,"quadratic_rows":[0,0,12,12,0,256,256,0,352]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":260,"old":248,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,0,0,2,0],"matrix_rows":[152,1,2,4,136,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,24,24,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":266,"old":248,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,2,0],"matrix_rows":[134,1,130,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":262,"old":249,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,0,0,2,0],"matrix_rows":[152,1,2,4,136,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,24,24,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":264,"old":249,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,2,0],"matrix_rows":[134,1,130,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":555,"old":250,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,3,3,0,2],"matrix_rows":[352,1,2,4,8,16,288,320,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,96,96,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":556,"old":250,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,0,2],"matrix_rows":[262,1,258,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,3,3,0,0,0,0,0],"matrix_rows":[1,16,38,2,4,72,128,256,8],"offset":0,"phase":0,"quadratic_rows":[0,6,6,8,0,0,0,0,0]},"new":626,"old":250,"rank":4,"right":{"linear_Z4":[2,2,0,3,3,1,0,0,2],"matrix_rows":[1,28,4,32,14,16,288,64,128],"offset":55,"phase":1,"quadratic_rows":[0,12,2,26,24,288,0,0,32]}},{"left":{"linear_Z4":[2,2,3,3,0,0,0,0,0],"matrix_rows":[1,16,34,66,128,260,8,12,2],"offset":0,"phase":0,"quadratic_rows":[0,0,12,12,0,0,0,0,0]},"new":629,"old":250,"rank":4,"right":{"linear_Z4":[2,0,3,3,0,0,0,1,2],"matrix_rows":[1,268,32,192,2,260,264,16,128],"offset":263,"phase":2,"quadratic_rows":[0,0,12,12,0,128,128,224,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":260,"old":251,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,0,2],"matrix_rows":[262,1,258,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":265,"old":251,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,0,0,0,2],"matrix_rows":[280,1,2,4,264,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,24,24,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":261,"old":252,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,0,2],"matrix_rows":[262,1,258,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":264,"old":252,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,0,0,0,2],"matrix_rows":[280,1,2,4,264,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,24,24,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":262,"old":253,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,0,0,0,2],"matrix_rows":[280,1,2,4,264,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,24,24,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":263,"old":253,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,0,2],"matrix_rows":[262,1,258,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":259,"old":254,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,0,0,0,2],"matrix_rows":[280,1,2,4,264,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,24,24,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":266,"old":254,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,0,2],"matrix_rows":[262,1,258,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":261,"old":255,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,2,0],"matrix_rows":[134,1,130,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":263,"old":255,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,0,0,2,0],"matrix_rows":[152,1,2,4,136,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,24,24,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":259,"old":256,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,2,0],"matrix_rows":[134,1,130,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":265,"old":256,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,0,0,2,0],"matrix_rows":[152,1,2,4,136,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,24,24,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":554,"old":257,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,0,2],"matrix_rows":[262,1,258,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":557,"old":257,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,3,3,0,2],"matrix_rows":[352,1,2,4,8,16,288,320,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,96,96,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[7,9,18,35,64,131,2,256,3],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":625,"old":257,"rank":2,"right":{"linear_Z4":[2,3,3,2,0,2,2,0,2],"matrix_rows":[363,45,257,322,68,264,16,288,128],"offset":3,"phase":2,"quadratic_rows":[70,43,109,70,0,70,45,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,18,34,2,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":630,"old":257,"rank":2,"right":{"linear_Z4":[3,3,3,2,0,0,3,0,2],"matrix_rows":[321,6,257,18,28,16,32,320,128],"offset":3,"phase":2,"quadratic_rows":[65,22,30,4,6,0,65,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":554,"old":258,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,2,0],"matrix_rows":[134,1,130,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":556,"old":258,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,3,3,2,0],"matrix_rows":[224,1,2,4,8,16,160,192,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,96,96,0,0]}},{"left":{"linear_Z4":[2,2,2,2,0,0,0,0,0],"matrix_rows":[1,20,38,68,134,8,258,2,6],"offset":0,"phase":0,"quadratic_rows":[0,4,2,0,0,0,0,0,0]},"new":624,"old":258,"rank":4,"right":{"linear_Z4":[2,3,3,3,0,2,1,2,3],"matrix_rows":[1,324,266,32,390,256,392,272,192],"offset":13,"phase":3,"quadratic_rows":[0,142,454,138,0,0,452,78,324]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,18,34,2,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":628,"old":258,"rank":2,"right":{"linear_Z4":[3,3,3,2,0,0,3,2,0],"matrix_rows":[193,6,129,18,28,16,32,192,256],"offset":3,"phase":2,"quadratic_rows":[65,22,30,4,6,0,65,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":267,"old":259,"rank":1,"right":{"linear_Z4":[0,3,3,3,2,3,0,0,2],"matrix_rows":[302,1,274,276,280,256,288,320,128],"offset":1,"phase":1,"quadratic_rows":[0,62,62,62,14,46,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[10,18,1,36,68,132,4,3,256],"offset":0,"phase":0,"quadratic_rows":[3,1,4,0,0,0,0,0,0]},"new":674,"old":259,"rank":3,"right":{"linear_Z4":[3,0,2,3,3,2,0,3,0],"matrix_rows":[132,135,24,133,128,104,80,64,256],"offset":22,"phase":1,"quadratic_rows":[3,5,130,120,88,8,24,132,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[10,17,2,36,68,132,4,3,256],"offset":0,"phase":0,"quadratic_rows":[3,1,4,0,0,0,0,0,0]},"new":740,"old":259,"rank":3,"right":{"linear_Z4":[1,0,2,3,3,2,0,3,0],"matrix_rows":[2,135,24,3,128,72,112,64,256],"offset":31,"phase":1,"quadratic_rows":[133,4,131,88,120,16,24,133,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":267,"old":260,"rank":1,"right":{"linear_Z4":[0,3,3,3,2,3,0,2,0],"matrix_rows":[174,1,146,148,152,128,160,192,256],"offset":1,"phase":1,"quadratic_rows":[0,62,62,62,14,46,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[10,18,1,36,68,132,4,256,3],"offset":0,"phase":0,"quadratic_rows":[3,1,4,0,0,0,0,0,0]},"new":675,"old":260,"rank":3,"right":{"linear_Z4":[3,0,2,3,3,2,0,0,3],"matrix_rows":[260,263,24,261,256,104,80,64,128],"offset":22,"phase":1,"quadratic_rows":[3,5,258,120,88,8,24,0,260]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[10,17,2,36,68,132,4,256,3],"offset":0,"phase":0,"quadratic_rows":[3,1,4,0,0,0,0,0,0]},"new":741,"old":260,"rank":3,"right":{"linear_Z4":[1,0,2,3,3,2,0,0,3],"matrix_rows":[2,263,24,3,256,72,112,64,128],"offset":31,"phase":1,"quadratic_rows":[261,4,259,88,120,16,24,0,261]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":267,"old":261,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[11,16,39,71,1,130,5,263,7],"offset":0,"phase":0,"quadratic_rows":[6,3,1,0,0,0,0,0,0]},"new":680,"old":261,"rank":3,"right":{"linear_Z4":[2,0,2,1,1,1,0,0,1],"matrix_rows":[297,25,108,341,38,256,296,320,384],"offset":237,"phase":2,"quadratic_rows":[100,36,27,124,348,299,25,0,304]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[13,16,39,1,71,131,4,263,7],"offset":0,"phase":0,"quadratic_rows":[6,1,5,0,0,0,0,0,0]},"new":734,"old":261,"rank":3,"right":{"linear_Z4":[0,0,2,3,3,1,0,0,1],"matrix_rows":[305,340,25,109,38,256,304,320,384],"offset":225,"phase":2,"quadratic_rows":[324,36,27,124,348,298,25,0,305]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":267,"old":262,"rank":1,"right":{"linear_Z4":[0,3,3,3,2,0,0,0,0],"matrix_rows":[14,1,274,276,280,256,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,286,286,286,14,0,0,0,14]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[10,16,35,68,128,2,1,260,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":681,"old":262,"rank":3,"right":{"linear_Z4":[1,2,0,0,0,3,3,0,2],"matrix_rows":[4,97,264,5,38,64,256,16,384],"offset":59,"phase":1,"quadratic_rows":[101,36,99,0,0,103,101,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[10,16,35,64,132,1,2,260,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":735,"old":262,"rank":3,"right":{"linear_Z4":[1,2,0,0,0,1,1,0,2],"matrix_rows":[100,97,272,101,38,64,8,256,384],"offset":59,"phase":1,"quadratic_rows":[5,36,99,0,0,102,100,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":267,"old":263,"rank":1,"right":{"linear_Z4":[0,0,0,1,2,0,0,2,0],"matrix_rows":[136,1,18,20,152,128,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,16,16,24,14,0,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[12,18,34,68,1,130,2,5,256],"offset":0,"phase":0,"quadratic_rows":[5,2,1,0,0,0,0,0,0]},"new":696,"old":263,"rank":3,"right":{"linear_Z4":[3,3,3,0,2,2,0,3,0],"matrix_rows":[144,6,153,145,98,68,128,64,256],"offset":70,"phase":1,"quadratic_rows":[9,102,70,17,136,2,6,144,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[12,18,34,65,4,130,2,5,256],"offset":0,"phase":0,"quadratic_rows":[5,2,1,0,0,0,0,0,0]},"new":750,"old":263,"rank":3,"right":{"linear_Z4":[1,3,3,0,2,2,0,3,0],"matrix_rows":[8,6,153,9,66,100,128,64,256],"offset":79,"phase":1,"quadratic_rows":[145,70,102,16,137,4,6,145,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":267,"old":264,"rank":1,"right":{"linear_Z4":[0,0,0,1,2,0,0,0,2],"matrix_rows":[264,1,18,20,280,256,32,64,128],"offset":0,"phase":0,"quadratic_rows":[0,16,16,24,14,0,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[12,18,34,68,1,130,2,256,5],"offset":0,"phase":0,"quadratic_rows":[5,2,1,0,0,0,0,0,0]},"new":697,"old":264,"rank":3,"right":{"linear_Z4":[3,3,3,0,2,2,0,0,3],"matrix_rows":[272,6,281,273,98,68,256,64,128],"offset":70,"phase":1,"quadratic_rows":[9,102,70,17,264,2,6,0,272]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[12,18,34,65,4,130,2,256,5],"offset":0,"phase":0,"quadratic_rows":[5,2,1,0,0,0,0,0,0]},"new":751,"old":264,"rank":3,"right":{"linear_Z4":[1,3,3,0,2,2,0,0,3],"matrix_rows":[8,6,281,9,66,100,256,64,128],"offset":79,"phase":1,"quadratic_rows":[273,70,102,16,265,4,6,0,273]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":267,"old":265,"rank":1,"right":{"linear_Z4":[0,0,0,1,2,1,0,0,2],"matrix_rows":[40,1,18,20,280,256,288,320,384],"offset":0,"phase":0,"quadratic_rows":[0,16,16,312,14,296,0,0,40]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[15,17,5,32,65,130,3,257,1],"offset":0,"phase":0,"quadratic_rows":[0,4,6,0,0,0,0,0,0]},"new":690,"old":265,"rank":3,"right":{"linear_Z4":[1,1,1,0,3,3,1,0,0],"matrix_rows":[291,117,337,341,290,56,256,320,384],"offset":221,"phase":2,"quadratic_rows":[339,3,292,48,345,300,337,0,117]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[15,3,17,32,65,133,4,257,1],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":756,"old":265,"rank":3,"right":{"linear_Z4":[3,1,1,0,1,2,3,0,3],"matrix_rows":[293,113,339,115,292,56,256,320,384],"offset":213,"phase":3,"quadratic_rows":[117,290,5,48,121,347,113,0,290]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":267,"old":266,"rank":1,"right":{"linear_Z4":[0,0,0,3,2,3,0,0,0],"matrix_rows":[40,1,18,20,88,64,96,128,256],"offset":1,"phase":1,"quadratic_rows":[0,16,16,120,14,104,40,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[12,18,32,64,133,4,1,258,2],"offset":0,"phase":0,"quadratic_rows":[5,0,1,0,0,0,0,0,0]},"new":691,"old":266,"rank":3,"right":{"linear_Z4":[1,0,0,2,0,3,3,0,2],"matrix_rows":[16,258,97,17,256,4,56,64,384],"offset":205,"phase":1,"quadratic_rows":[113,0,0,48,105,121,113,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[12,16,34,64,133,1,4,258,2],"offset":0,"phase":0,"quadratic_rows":[5,0,1,0,0,0,0,0,0]},"new":757,"old":266,"rank":3,"right":{"linear_Z4":[1,0,0,2,0,1,1,0,2],"matrix_rows":[112,260,97,113,2,256,56,64,384],"offset":205,"phase":1,"quadratic_rows":[17,0,0,48,105,120,112,0,0]}},{"left":{"linear_Z4":[2,2,2,3,3,0,0,0,0],"matrix_rows":[1,34,4,72,14,144,22,262,6],"offset":0,"phase":0,"quadratic_rows":[0,24,24,14,22,0,0,0,0]},"new":1,"old":267,"rank":5,"right":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[1,338,84,264,288,256,272,320,384],"offset":253,"phase":1,"quadratic_rows":[0,80,80,16,14,64,38,0,0]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[18,35,1,68,6,136,10,258,2],"offset":0,"phase":0,"quadratic_rows":[3,15,6,10,0,0,0,0,0]},"new":414,"old":267,"rank":4,"right":{"linear_Z4":[3,1,0,0,1,0,1,0,3],"matrix_rows":[262,85,264,288,263,256,272,320,384],"offset":253,"phase":3,"quadratic_rows":[339,259,80,16,349,64,373,0,339]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[22,34,4,65,7,136,14,262,6],"offset":0,"phase":0,"quadratic_rows":[7,15,15,14,0,0,0,0,0]},"new":415,"old":267,"rank":4,"right":{"linear_Z4":[2,2,2,1,0,0,0,0,3],"matrix_rows":[264,91,349,288,265,256,272,320,384],"offset":253,"phase":3,"quadratic_rows":[14,345,345,31,14,64,38,0,262]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[22,35,5,73,15,129,7,262,6],"offset":0,"phase":0,"quadratic_rows":[7,15,15,14,0,0,0,0,0]},"new":418,"old":267,"rank":4,"right":{"linear_Z4":[2,0,0,0,0,1,0,0,3],"matrix_rows":[302,125,379,264,303,256,272,320,384],"offset":253,"phase":3,"quadratic_rows":[40,120,120,279,14,103,38,0,264]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[22,34,4,72,14,129,7,262,6],"offset":0,"phase":0,"quadratic_rows":[7,15,15,14,0,0,0,0,0]},"new":419,"old":267,"rank":4,"right":{"linear_Z4":[2,2,2,0,0,1,0,0,3],"matrix_rows":[288,115,373,264,289,256,272,320,384],"offset":253,"phase":3,"quadratic_rows":[38,369,369,16,14,103,38,0,262]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":276,"old":268,"rank":1,"right":{"linear_Z4":[0,1,1,1,0,2,1,1,2],"matrix_rows":[462,33,290,260,264,48,256,320,384],"offset":0,"phase":0,"quadratic_rows":[32,238,206,206,32,19,206,206,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":277,"old":268,"rank":1,"right":{"linear_Z4":[0,1,1,1,0,1,2,1,2],"matrix_rows":[430,65,258,324,264,80,288,256,384],"offset":0,"phase":0,"quadratic_rows":[64,174,238,174,64,174,21,174,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":278,"old":268,"rank":1,"right":{"linear_Z4":[0,1,1,1,0,1,2,1,2],"matrix_rows":[430,1,322,324,264,16,352,256,384],"offset":0,"phase":0,"quadratic_rows":[0,238,238,174,0,238,38,174,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":279,"old":269,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,2,2,0,0],"matrix_rows":[80,33,34,4,8,112,64,128,256],"offset":0,"phase":0,"quadratic_rows":[32,32,0,0,48,19,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":280,"old":269,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,2,0,0],"matrix_rows":[112,33,2,36,8,80,64,128,256],"offset":0,"phase":0,"quadratic_rows":[32,0,32,0,48,21,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":281,"old":269,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,1,2,0,0],"matrix_rows":[112,1,18,20,8,64,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,16,16,0,38,48,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":279,"old":270,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":282,"old":270,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,2,0,0,0],"matrix_rows":[37,33,2,36,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":283,"old":270,"rank":1,"right":{"linear_Z4":[0,3,3,0,2,0,0,0,0],"matrix_rows":[22,1,18,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":276,"old":271,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":284,"old":271,"rank":1,"right":{"linear_Z4":[1,0,1,1,1,0,2,1,2],"matrix_rows":[413,257,66,324,264,272,96,256,384],"offset":0,"phase":0,"quadratic_rows":[157,64,221,157,157,64,38,157,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":285,"old":271,"rank":1,"right":{"linear_Z4":[1,0,1,1,1,0,2,1,2],"matrix_rows":[413,321,2,324,264,336,32,256,384],"offset":0,"phase":0,"quadratic_rows":[221,0,221,157,221,0,21,157,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":280,"old":272,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":282,"old":272,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,2,0,0],"matrix_rows":[67,65,66,4,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":286,"old":272,"rank":1,"right":{"linear_Z4":[0,3,3,0,2,0,0,0,0],"matrix_rows":[22,1,18,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":277,"old":273,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":284,"old":273,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":287,"old":273,"rank":1,"right":{"linear_Z4":[1,1,0,1,1,2,0,1,2],"matrix_rows":[411,289,290,4,264,304,256,64,384],"offset":0,"phase":0,"quadratic_rows":[187,187,0,155,187,19,0,155,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":278,"old":274,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":285,"old":274,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":287,"old":274,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":281,"old":275,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":283,"old":275,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,2,0,0],"matrix_rows":[67,65,66,4,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":286,"old":275,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,2,0,0,0],"matrix_rows":[37,33,2,36,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":559,"old":276,"rank":1,"right":{"linear_Z4":[1,2,3,3,3,0,1,3,2],"matrix_rows":[413,321,66,260,264,272,32,256,384],"offset":135,"phase":0,"quadratic_rows":[221,64,157,157,157,0,67,157,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":561,"old":276,"rank":1,"right":{"linear_Z4":[2,2,0,1,0,0,1,1,2],"matrix_rows":[216,1,18,20,264,256,288,320,384],"offset":102,"phase":0,"quadratic_rows":[0,16,16,472,462,0,472,472,216]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,33,65,128,257,3,2],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":635,"old":276,"rank":2,"right":{"linear_Z4":[2,3,1,1,1,0,1,2,0],"matrix_rows":[286,384,193,386,324,328,336,32,256],"offset":373,"phase":0,"quadratic_rows":[192,158,94,94,94,0,221,67,0]}},{"left":{"linear_Z4":[2,3,3,3,0,0,0,0,0],"matrix_rows":[17,33,67,131,258,2,4,8,13],"offset":0,"phase":0,"quadratic_rows":[12,2,13,13,0,0,0,0,0]},"new":639,"old":276,"rank":4,"right":{"linear_Z4":[1,1,2,2,0,2,0,0,0],"matrix_rows":[279,20,320,384,265,282,300,288,32],"offset":0,"phase":0,"quadratic_rows":[31,15,43,23,41,20,256,256,192]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":289,"old":277,"rank":1,"right":{"linear_Z4":[1,3,2,3,3,1,0,3,2],"matrix_rows":[411,289,258,36,264,272,256,64,384],"offset":75,"phase":0,"quadratic_rows":[187,155,32,155,155,37,0,155,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":295,"old":277,"rank":1,"right":{"linear_Z4":[2,0,2,1,0,1,0,1,2],"matrix_rows":[184,1,18,20,264,256,288,320,384],"offset":170,"phase":0,"quadratic_rows":[0,16,16,440,430,440,0,440,184]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":291,"old":278,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,3,0,0,0],"matrix_rows":[6,33,66,100,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[32,70,102,0,0,37,6,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":293,"old":278,"rank":1,"right":{"linear_Z4":[0,3,3,0,2,0,0,0,0],"matrix_rows":[22,1,18,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":559,"old":279,"rank":1,"right":{"linear_Z4":[0,1,1,1,1,0,0,1,2],"matrix_rows":[158,1,258,260,264,272,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,414,414,414,414,0,0,414,158]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":560,"old":279,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,0,0,3,2],"matrix_rows":[392,1,2,4,264,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,136,0,0,0,136,0]}},{"left":{"linear_Z4":[2,3,2,2,0,0,0,0,0],"matrix_rows":[31,45,7,11,66,128,256,3,2],"offset":0,"phase":0,"quadratic_rows":[12,2,1,1,0,0,0,0,0]},"new":634,"old":279,"rank":4,"right":{"linear_Z4":[0,3,3,3,1,0,0,0,2],"matrix_rows":[399,17,263,267,141,398,272,32,64],"offset":12,"phase":2,"quadratic_rows":[286,15,399,399,273,0,0,12,29]}},{"left":{"linear_Z4":[2,2,3,2,0,0,0,0,0],"matrix_rows":[16,35,72,136,257,2,3,12,4],"offset":0,"phase":0,"quadratic_rows":[0,0,12,4,0,0,0,0,0]},"new":637,"old":279,"rank":4,"right":{"linear_Z4":[2,0,3,3,1,0,2,3,0],"matrix_rows":[114,34,384,140,19,64,388,392,96],"offset":281,"phase":0,"quadratic_rows":[18,1,268,268,17,0,0,384,140]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":289,"old":280,"rank":1,"right":{"linear_Z4":[0,1,1,1,1,0,0,1,2],"matrix_rows":[158,1,258,260,264,272,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,414,414,414,414,0,0,414,158]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":294,"old":280,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,0,0,3,2],"matrix_rows":[392,1,2,4,264,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,136,0,0,0,136,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":290,"old":281,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,1,0,1,2],"matrix_rows":[173,257,2,260,264,16,288,64,384],"offset":0,"phase":0,"quadratic_rows":[429,0,429,429,0,429,0,429,173]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":293,"old":281,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,0,0,3,2],"matrix_rows":[392,1,2,4,264,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,136,0,0,0,136,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":291,"old":282,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,0,0,3,2],"matrix_rows":[392,1,2,4,264,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,136,0,0,0,136,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":292,"old":282,"rank":1,"right":{"linear_Z4":[0,1,1,1,1,0,0,1,2],"matrix_rows":[158,1,258,260,264,272,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,414,414,414,414,0,0,414,158]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":288,"old":283,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,0,0,3,2],"matrix_rows":[392,1,2,4,264,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,136,0,0,0,136,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":295,"old":283,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,1,0,1,2],"matrix_rows":[173,257,2,260,264,16,288,64,384],"offset":0,"phase":0,"quadratic_rows":[429,0,429,429,0,429,0,429,173]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":290,"old":284,"rank":1,"right":{"linear_Z4":[3,1,2,3,1,3,0,3,2],"matrix_rows":[427,257,274,20,264,256,288,64,384],"offset":45,"phase":0,"quadratic_rows":[171,187,16,171,22,171,0,171,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":292,"old":284,"rank":1,"right":{"linear_Z4":[0,2,2,1,1,0,0,1,2],"matrix_rows":[184,33,2,36,264,272,256,320,384],"offset":204,"phase":0,"quadratic_rows":[32,0,32,440,440,413,0,440,184]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":288,"old":285,"rank":1,"right":{"linear_Z4":[3,0,3,0,3,0,0,0,0],"matrix_rows":[5,65,18,84,8,64,32,128,256],"offset":1,"phase":1,"quadratic_rows":[69,16,85,0,22,0,5,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":294,"old":285,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,2,0,0,0],"matrix_rows":[37,33,2,36,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":558,"old":286,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,0,0,3,2],"matrix_rows":[392,1,2,4,264,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,136,0,0,0,136,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":561,"old":286,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,1,1,2],"matrix_rows":[203,257,258,4,264,16,32,320,384],"offset":0,"phase":0,"quadratic_rows":[459,459,0,459,0,0,459,459,203]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,16,34,64,128,258,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":633,"old":286,"rank":2,"right":{"linear_Z4":[0,0,0,3,0,0,3,3,0],"matrix_rows":[384,200,1,2,4,392,16,32,448],"offset":2,"phase":1,"quadratic_rows":[0,0,0,328,0,0,328,384,200]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,9,18,2,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":638,"old":286,"rank":2,"right":{"linear_Z4":[3,3,1,2,0,0,3,3,2],"matrix_rows":[451,4,257,258,12,16,32,320,384],"offset":1,"phase":1,"quadratic_rows":[195,195,12,4,0,0,195,195,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":558,"old":287,"rank":1,"right":{"linear_Z4":[3,3,0,0,3,0,0,0,0],"matrix_rows":[3,33,50,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[35,51,16,0,22,3,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":560,"old":287,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,2,0,0],"matrix_rows":[67,65,66,4,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,3,0,0,0,0,0],"matrix_rows":[17,33,3,72,130,2,12,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,8,12,0,0,0,0,0]},"new":632,"old":287,"rank":4,"right":{"linear_Z4":[3,3,1,1,0,0,3,0,2],"matrix_rows":[23,20,192,392,37,54,456,32,256],"offset":3,"phase":2,"quadratic_rows":[51,35,20,72,5,3,328,256,192]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,16,34,65,128,1,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":636,"old":287,"rank":2,"right":{"linear_Z4":[3,0,2,3,3,0,2,1,2],"matrix_rows":[81,392,65,2,12,256,80,32,384],"offset":49,"phase":3,"quadratic_rows":[17,0,8,140,17,0,0,136,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":296,"old":288,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,2,0,0,0],"matrix_rows":[37,33,2,36,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[8,18,33,68,3,4,2,128,256],"offset":0,"phase":0,"quadratic_rows":[3,1,4,0,0,0,0,0,0]},"new":672,"old":288,"rank":3,"right":{"linear_Z4":[2,0,1,1,1,2,2,0,0],"matrix_rows":[68,18,8,5,64,80,40,128,256],"offset":41,"phase":3,"quadratic_rows":[4,80,21,40,86,8,18,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,17,33,66,1,130,256,4,6],"offset":0,"phase":0,"quadratic_rows":[0,4,6,0,0,0,0,0,0]},"new":716,"old":288,"rank":3,"right":{"linear_Z4":[2,1,1,0,2,3,0,2,3],"matrix_rows":[18,424,384,5,22,16,256,416,64],"offset":123,"phase":0,"quadratic_rows":[4,6,7,160,0,40,0,264,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":296,"old":289,"rank":1,"right":{"linear_Z4":[1,0,1,3,3,0,0,3,2],"matrix_rows":[397,257,18,276,264,256,32,320,384],"offset":171,"phase":1,"quadratic_rows":[141,16,157,141,22,0,0,141,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[14,18,33,4,70,129,1,263,7],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":673,"old":289,"rank":3,"right":{"linear_Z4":[2,0,1,0,2,0,0,3,2],"matrix_rows":[196,471,157,325,320,64,336,96,384],"offset":0,"phase":0,"quadratic_rows":[14,149,143,149,10,0,0,142,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,16,39,71,129,7,262,2,4],"offset":0,"phase":0,"quadratic_rows":[7,1,1,0,0,0,0,0,0]},"new":717,"old":289,"rank":3,"right":{"linear_Z4":[0,0,2,3,3,2,0,3,3],"matrix_rows":[268,444,60,21,134,32,56,288,320],"offset":353,"phase":2,"quadratic_rows":[20,132,59,188,157,140,0,442,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":296,"old":290,"rank":1,"right":{"linear_Z4":[0,1,1,3,0,3,0,3,2],"matrix_rows":[398,33,258,292,264,16,256,320,384],"offset":205,"phase":1,"quadratic_rows":[32,142,174,142,0,37,0,142,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,16,39,71,135,2,261,1,4],"offset":0,"phase":0,"quadratic_rows":[2,7,2,0,0,0,0,0,0]},"new":680,"old":290,"rank":3,"right":{"linear_Z4":[0,0,2,3,0,3,0,3,1],"matrix_rows":[172,268,300,133,38,256,296,272,320],"offset":354,"phase":2,"quadratic_rows":[132,36,299,428,0,174,0,169,268]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,21,34,4,66,133,2,263,7],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":726,"old":290,"rank":3,"right":{"linear_Z4":[0,2,1,0,0,2,0,3,2],"matrix_rows":[487,196,174,320,326,64,80,352,384],"offset":0,"phase":0,"quadratic_rows":[166,13,143,166,0,9,0,141,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":296,"old":291,"rank":1,"right":{"linear_Z4":[0,3,3,0,2,0,0,0,0],"matrix_rows":[22,1,18,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,16,33,66,130,1,256,4,6],"offset":0,"phase":0,"quadratic_rows":[0,4,6,0,0,0,0,0,0]},"new":681,"old":291,"rank":3,"right":{"linear_Z4":[1,2,1,0,3,2,0,2,3],"matrix_rows":[33,408,384,37,6,32,256,400,64],"offset":123,"phase":0,"quadratic_rows":[5,4,7,144,24,0,0,264,384]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[9,16,34,68,4,3,1,128,256],"offset":0,"phase":0,"quadratic_rows":[2,3,4,0,0,0,0,0,0]},"new":727,"old":291,"rank":3,"right":{"linear_Z4":[0,2,1,1,2,1,2,0,0],"matrix_rows":[33,68,8,64,6,96,24,128,256],"offset":50,"phase":3,"quadratic_rows":[96,4,38,24,8,101,33,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":296,"old":292,"rank":1,"right":{"linear_Z4":[0,1,1,3,0,0,0,3,0],"matrix_rows":[158,1,274,276,264,256,32,64,384],"offset":45,"phase":0,"quadratic_rows":[0,398,398,414,392,0,0,414,158]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[8,19,35,67,5,128,256,1,7],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":704,"old":292,"rank":3,"right":{"linear_Z4":[0,0,0,2,2,0,0,1,3],"matrix_rows":[158,14,272,153,266,268,256,32,64],"offset":1,"phase":1,"quadratic_rows":[152,408,408,263,263,0,0,135,286]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,23,39,66,4,129,1,262,6],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":752,"old":292,"rank":3,"right":{"linear_Z4":[2,3,3,0,0,0,2,0,2],"matrix_rows":[71,398,150,64,322,324,256,96,384],"offset":67,"phase":1,"quadratic_rows":[6,31,31,134,134,0,0,24,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":296,"old":293,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,3,0,0,0],"matrix_rows":[6,33,66,100,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[32,70,102,0,0,37,6,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[12,18,34,68,128,258,2,1,5],"offset":0,"phase":0,"quadratic_rows":[5,2,1,0,0,0,0,0,0]},"new":705,"old":293,"rank":3,"right":{"linear_Z4":[3,3,3,0,0,2,0,2,3],"matrix_rows":[384,6,393,385,98,68,256,16,64],"offset":70,"phase":1,"quadratic_rows":[9,102,70,129,0,2,6,264,384]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,16,38,65,134,2,4,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":753,"old":293,"rank":3,"right":{"linear_Z4":[2,2,0,3,0,1,2,1,2],"matrix_rows":[392,36,68,9,38,64,256,80,384],"offset":248,"phase":3,"quadratic_rows":[8,36,2,137,0,34,0,136,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":296,"old":294,"rank":1,"right":{"linear_Z4":[3,0,3,0,3,0,0,0,0],"matrix_rows":[5,65,18,84,8,64,32,128,256],"offset":1,"phase":1,"quadratic_rows":[69,16,85,0,22,0,5,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,16,37,66,129,5,4,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":714,"old":294,"rank":3,"right":{"linear_Z4":[2,2,0,3,1,2,0,1,2],"matrix_rows":[116,392,68,21,10,32,256,96,384],"offset":217,"phase":1,"quadratic_rows":[20,8,1,138,17,0,0,136,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,20,33,68,129,256,1,2,6],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":760,"old":294,"rank":3,"right":{"linear_Z4":[3,3,3,0,2,0,0,2,3],"matrix_rows":[5,384,394,81,386,68,256,64,32],"offset":69,"phase":1,"quadratic_rows":[85,10,69,130,1,0,5,264,384]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":296,"old":295,"rank":1,"right":{"linear_Z4":[1,0,1,3,0,0,0,3,0],"matrix_rows":[173,289,2,292,264,16,256,64,384],"offset":75,"phase":0,"quadratic_rows":[397,0,397,429,0,392,0,429,173]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[15,17,39,66,129,4,1,262,6],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":715,"old":295,"rank":3,"right":{"linear_Z4":[3,2,3,0,0,0,2,0,2],"matrix_rows":[71,397,165,321,64,324,256,80,384],"offset":67,"phase":1,"quadratic_rows":[47,5,47,133,0,133,0,40,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[11,16,35,67,128,6,256,2,7],"offset":0,"phase":0,"quadratic_rows":[5,2,5,0,0,0,0,0,0]},"new":761,"old":295,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,2,0,1,3],"matrix_rows":[13,173,288,265,170,268,256,16,64],"offset":2,"phase":1,"quadratic_rows":[424,168,424,263,0,263,0,135,301]}},{"left":{"linear_Z4":[2,2,2,3,3,0,0,0,0],"matrix_rows":[33,66,4,136,262,5,3,16,24],"offset":0,"phase":0,"quadratic_rows":[6,5,3,24,24,0,0,0,0]},"new":1,"old":296,"rank":5,"right":{"linear_Z4":[0,2,2,0,0,0,0,0,1],"matrix_rows":[65,66,68,8,384,32,96,256,112],"offset":431,"phase":1,"quadratic_rows":[96,32,64,256,0,3,5,256,392]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[18,35,65,132,258,1,3,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":414,"old":296,"rank":4,"right":{"linear_Z4":[1,1,2,0,0,2,2,0,1],"matrix_rows":[6,5,8,384,103,64,32,256,112],"offset":389,"phase":0,"quadratic_rows":[99,35,64,256,0,3,5,256,392]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,34,67,132,258,1,3,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":416,"old":296,"rank":4,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,1],"matrix_rows":[5,6,8,384,32,96,68,256,112],"offset":484,"phase":1,"quadratic_rows":[36,100,67,256,0,3,6,256,392]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,35,66,132,258,3,1,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":417,"old":296,"rank":4,"right":{"linear_Z4":[0,0,2,0,0,2,0,0,1],"matrix_rows":[3,6,8,384,64,34,96,256,112],"offset":484,"phase":1,"quadratic_rows":[66,37,98,256,0,6,5,256,392]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[19,33,66,132,259,2,1,8,12],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":419,"old":296,"rank":4,"right":{"linear_Z4":[2,0,0,0,0,2,2,0,1],"matrix_rows":[3,5,8,384,97,64,32,256,112],"offset":388,"phase":3,"quadratic_rows":[102,65,33,256,0,5,3,256,392]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":305,"old":297,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,2,0,2,0],"matrix_rows":[144,33,34,4,8,176,128,64,256],"offset":0,"phase":0,"quadratic_rows":[32,32,0,0,48,19,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":306,"old":297,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":307,"old":297,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":308,"old":298,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":309,"old":298,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":310,"old":298,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":308,"old":299,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,2,0,0,2],"matrix_rows":[272,33,34,4,8,304,256,64,128],"offset":0,"phase":0,"quadratic_rows":[32,32,0,0,48,19,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":311,"old":299,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":312,"old":299,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":305,"old":300,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":313,"old":300,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":314,"old":300,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":309,"old":301,"rank":1,"right":{"linear_Z4":[1,1,0,1,1,1,2,0,2],"matrix_rows":[315,257,258,4,328,336,352,256,128],"offset":0,"phase":0,"quadratic_rows":[59,59,0,123,123,123,56,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":311,"old":301,"rank":1,"right":{"linear_Z4":[1,1,0,1,1,1,2,0,2],"matrix_rows":[315,321,322,4,328,272,288,256,128],"offset":0,"phase":0,"quadratic_rows":[123,123,0,123,59,59,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":315,"old":301,"rank":1,"right":{"linear_Z4":[1,1,0,1,1,2,1,0,2],"matrix_rows":[347,289,290,4,264,304,256,320,128],"offset":0,"phase":0,"quadratic_rows":[123,123,0,91,123,19,91,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":306,"old":302,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,2,2,0],"matrix_rows":[136,1,2,4,200,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,72,64,64,56,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":313,"old":302,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,2,2,0],"matrix_rows":[136,65,66,4,200,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[64,64,0,72,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":316,"old":302,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":307,"old":303,"rank":1,"right":{"linear_Z4":[1,1,0,1,1,1,2,2,0],"matrix_rows":[187,193,194,4,200,144,160,128,256],"offset":0,"phase":0,"quadratic_rows":[123,123,0,123,59,59,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":314,"old":303,"rank":1,"right":{"linear_Z4":[1,1,0,1,1,1,2,2,0],"matrix_rows":[187,129,130,4,200,208,224,128,256],"offset":0,"phase":0,"quadratic_rows":[59,59,0,123,123,123,56,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":316,"old":303,"rank":1,"right":{"linear_Z4":[1,1,0,1,1,2,1,2,0],"matrix_rows":[219,161,162,4,136,176,128,192,256],"offset":0,"phase":0,"quadratic_rows":[123,123,0,91,123,19,91,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":310,"old":304,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,2,0,2],"matrix_rows":[264,65,66,4,328,16,32,256,128],"offset":0,"phase":0,"quadratic_rows":[64,64,0,72,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":312,"old":304,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,2,0,2],"matrix_rows":[264,1,2,4,328,80,96,256,128],"offset":0,"phase":0,"quadratic_rows":[0,0,0,72,64,64,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":315,"old":304,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":563,"old":305,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,0,2],"matrix_rows":[259,257,258,4,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":565,"old":305,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,0,3,0,2],"matrix_rows":[328,1,2,4,264,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,72,0,0,72,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[6,11,17,33,65,128,3,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":643,"old":305,"rank":2,"right":{"linear_Z4":[3,2,3,3,3,0,2,0,2],"matrix_rows":[30,323,321,66,260,264,272,32,128],"offset":3,"phase":2,"quadratic_rows":[3,285,286,286,286,0,0,0,30]}},{"left":{"linear_Z4":[2,2,3,2,0,0,0,0,0],"matrix_rows":[16,35,72,136,257,2,12,3,4],"offset":0,"phase":0,"quadratic_rows":[0,0,12,4,0,0,0,0,0]},"new":647,"old":305,"rank":4,"right":{"linear_Z4":[2,0,3,3,1,0,3,2,0],"matrix_rows":[178,34,320,76,19,128,324,328,160],"offset":281,"phase":0,"quadratic_rows":[18,1,268,268,17,0,320,0,76]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":318,"old":306,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,0,2],"matrix_rows":[259,257,258,4,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":324,"old":306,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,3,0,0,2],"matrix_rows":[304,1,2,4,8,272,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,48,48,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":320,"old":307,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,3,0,0,2],"matrix_rows":[304,1,2,4,8,272,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,48,48,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":322,"old":307,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,0,2],"matrix_rows":[259,257,258,4,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":563,"old":308,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,2,0],"matrix_rows":[131,129,130,4,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":564,"old":308,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,0,3,2,0],"matrix_rows":[200,1,2,4,136,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,72,0,0,72,0,0]}},{"left":{"linear_Z4":[2,2,2,2,0,0,0,0,0],"matrix_rows":[18,35,4,8,66,131,257,1,3],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":642,"old":308,"rank":4,"right":{"linear_Z4":[3,3,2,2,3,0,1,2,3],"matrix_rows":[322,273,4,8,387,256,400,288,192],"offset":14,"phase":3,"quadratic_rows":[147,451,0,0,145,0,450,83,322]}},{"left":{"linear_Z4":[2,2,3,2,0,0,0,0,0],"matrix_rows":[16,35,72,136,257,2,12,4,3],"offset":0,"phase":0,"quadratic_rows":[0,0,12,4,0,0,0,0,0]},"new":645,"old":308,"rank":4,"right":{"linear_Z4":[2,0,3,3,1,0,3,0,2],"matrix_rows":[306,34,192,76,19,256,196,200,288],"offset":281,"phase":0,"quadratic_rows":[18,1,140,140,17,0,192,76,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":318,"old":309,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,3,0,2,0],"matrix_rows":[176,1,2,4,8,144,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,48,48,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":323,"old":309,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,2,0],"matrix_rows":[131,129,130,4,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":319,"old":310,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,2,0],"matrix_rows":[131,129,130,4,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":322,"old":310,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,3,0,2,0],"matrix_rows":[176,1,2,4,8,144,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,48,48,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":320,"old":311,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,3,0,2,0],"matrix_rows":[176,1,2,4,8,144,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,48,48,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":321,"old":311,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,2,0],"matrix_rows":[131,129,130,4,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":317,"old":312,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,2,0],"matrix_rows":[131,129,130,4,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":324,"old":312,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,3,0,2,0],"matrix_rows":[176,1,2,4,8,144,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,48,48,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":319,"old":313,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,0,2],"matrix_rows":[259,257,258,4,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":321,"old":313,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,3,0,0,2],"matrix_rows":[304,1,2,4,8,272,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,48,48,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":317,"old":314,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,3,0,0,2],"matrix_rows":[304,1,2,4,8,272,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,48,48,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":323,"old":314,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,0,2],"matrix_rows":[259,257,258,4,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":562,"old":315,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,0,3,2,0],"matrix_rows":[200,1,2,4,136,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,72,0,0,72,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":565,"old":315,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,2,0],"matrix_rows":[131,129,130,4,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,32,65,1,130,2,256],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":641,"old":315,"rank":2,"right":{"linear_Z4":[3,3,0,0,3,0,1,2,0],"matrix_rows":[3,64,33,50,20,8,32,192,256],"offset":1,"phase":1,"quadratic_rows":[35,51,16,0,22,3,192,64,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,16,34,65,128,258,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":646,"old":315,"rank":2,"right":{"linear_Z4":[3,0,2,3,3,0,1,2,2],"matrix_rows":[145,328,129,2,12,256,144,32,320],"offset":49,"phase":3,"quadratic_rows":[17,0,8,76,17,0,72,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":562,"old":316,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,0,3,0,2],"matrix_rows":[328,1,2,4,264,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,72,0,0,72,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":564,"old":316,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,0,2],"matrix_rows":[259,257,258,4,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,2,3,0,0,0,0,0],"matrix_rows":[16,35,4,72,1,2,128,256,8],"offset":0,"phase":0,"quadratic_rows":[3,3,0,8,0,0,0,0,0]},"new":640,"old":316,"rank":4,"right":{"linear_Z4":[2,0,2,1,3,3,0,0,2],"matrix_rows":[50,2,4,8,19,32,264,64,128],"offset":55,"phase":1,"quadratic_rows":[18,1,0,264,49,48,0,0,8]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,16,34,65,128,258,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":644,"old":316,"rank":2,"right":{"linear_Z4":[3,0,2,3,3,0,1,2,2],"matrix_rows":[273,200,257,2,12,128,272,32,192],"offset":49,"phase":3,"quadratic_rows":[17,0,8,76,17,0,72,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":325,"old":317,"rank":1,"right":{"linear_Z4":[3,3,0,3,3,2,0,0,2],"matrix_rows":[283,289,290,4,264,304,256,320,128],"offset":1,"phase":1,"quadratic_rows":[59,59,0,27,59,19,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[11,18,1,32,64,132,260,2,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":674,"old":317,"rank":3,"right":{"linear_Z4":[2,0,3,2,2,1,0,3,2],"matrix_rows":[129,135,288,133,128,40,16,256,320],"offset":484,"phase":1,"quadratic_rows":[130,5,6,32,0,40,0,129,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,19,2,32,68,128,260,1,4],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":724,"old":317,"rank":3,"right":{"linear_Z4":[0,2,3,2,1,2,0,3,2],"matrix_rows":[135,130,272,128,134,24,256,32,320],"offset":484,"phase":1,"quadratic_rows":[6,129,5,16,24,0,0,130,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":325,"old":318,"rank":1,"right":{"linear_Z4":[3,3,0,3,3,2,0,2,0],"matrix_rows":[155,161,162,4,136,176,128,192,256],"offset":1,"phase":1,"quadratic_rows":[59,59,0,27,59,19,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[11,18,1,32,64,132,260,4,2],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":675,"old":318,"rank":3,"right":{"linear_Z4":[2,0,3,2,2,1,0,2,3],"matrix_rows":[257,263,160,261,256,40,16,128,192],"offset":484,"phase":1,"quadratic_rows":[258,5,6,32,0,40,0,0,257]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,19,2,32,68,128,260,4,1],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":725,"old":318,"rank":3,"right":{"linear_Z4":[0,2,3,2,1,2,0,2,3],"matrix_rows":[263,258,144,256,262,24,128,32,192],"offset":484,"phase":1,"quadratic_rows":[6,257,5,16,24,0,0,0,258]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":325,"old":319,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[12,22,7,34,3,2,64,128,256],"offset":0,"phase":0,"quadratic_rows":[5,0,1,0,0,0,0,0,0]},"new":682,"old":319,"rank":3,"right":{"linear_Z4":[3,0,3,1,0,3,0,0,0],"matrix_rows":[20,42,39,21,54,40,64,128,256],"offset":4,"phase":1,"quadratic_rows":[51,57,20,10,39,51,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[13,20,7,33,1,3,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":718,"old":319,"rank":3,"right":{"linear_Z4":[0,3,3,1,3,0,0,0,0],"matrix_rows":[25,36,23,53,38,24,64,128,256],"offset":4,"phase":1,"quadratic_rows":[58,51,36,9,51,23,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":325,"old":320,"rank":1,"right":{"linear_Z4":[3,3,0,0,3,2,0,0,0],"matrix_rows":[19,289,290,4,8,304,256,64,384],"offset":1,"phase":1,"quadratic_rows":[307,307,0,0,307,19,0,0,19]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,17,3,34,64,132,2,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":683,"old":320,"rank":3,"right":{"linear_Z4":[3,3,1,0,0,0,0,0,2],"matrix_rows":[15,12,288,69,78,64,16,256,384],"offset":3,"phase":2,"quadratic_rows":[75,67,12,5,0,0,3,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[10,18,3,33,68,128,1,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":719,"old":320,"rank":3,"right":{"linear_Z4":[3,3,1,0,0,0,0,0,2],"matrix_rows":[12,15,272,77,70,64,256,32,384],"offset":3,"phase":2,"quadratic_rows":[67,75,12,6,0,0,3,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":325,"old":321,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,2,0,0,2],"matrix_rows":[272,33,34,4,8,304,256,64,128],"offset":0,"phase":0,"quadratic_rows":[32,32,0,0,48,19,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,17,36,65,130,4,1,256,6],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":712,"old":321,"rank":3,"right":{"linear_Z4":[3,3,1,2,0,2,0,0,3],"matrix_rows":[3,16,308,65,74,20,64,256,128],"offset":167,"phase":1,"quadratic_rows":[67,75,292,2,32,276,3,0,292]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,17,36,65,132,2,1,256,6],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":754,"old":321,"rank":3,"right":{"linear_Z4":[3,3,3,2,0,2,0,0,3],"matrix_rows":[3,288,308,73,66,292,64,256,128],"offset":133,"phase":1,"quadratic_rows":[75,67,20,1,36,272,3,0,288]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":325,"old":322,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,2,0,2,0],"matrix_rows":[144,33,34,4,8,176,128,64,256],"offset":0,"phase":0,"quadratic_rows":[32,32,0,0,48,19,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,17,36,65,130,4,1,6,256],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":713,"old":322,"rank":3,"right":{"linear_Z4":[3,3,1,2,0,2,0,3,0],"matrix_rows":[3,16,180,65,74,20,64,128,256],"offset":167,"phase":1,"quadratic_rows":[67,75,164,2,32,148,3,164,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,17,36,65,132,2,1,6,256],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":755,"old":322,"rank":3,"right":{"linear_Z4":[3,3,3,2,0,2,0,3,0],"matrix_rows":[3,160,180,73,66,164,64,128,256],"offset":133,"phase":1,"quadratic_rows":[75,67,20,1,36,144,3,160,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":325,"old":323,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,2,0,0,0],"matrix_rows":[24,33,34,4,72,112,64,128,256],"offset":1,"phase":1,"quadratic_rows":[32,32,0,88,120,19,24,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,17,36,64,134,4,2,257,1],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":706,"old":323,"rank":3,"right":{"linear_Z4":[0,0,1,2,0,3,3,0,2],"matrix_rows":[258,16,100,1,256,20,56,64,384],"offset":230,"phase":1,"quadratic_rows":[0,0,116,48,108,124,116,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,16,36,64,132,6,2,257,1],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":762,"old":323,"rank":3,"right":{"linear_Z4":[0,0,1,2,3,2,2,0,2],"matrix_rows":[257,96,20,256,2,100,56,64,384],"offset":192,"phase":2,"quadratic_rows":[0,0,116,48,124,28,20,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":325,"old":324,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,2,0,0,2],"matrix_rows":[24,33,34,4,264,304,256,320,384],"offset":0,"phase":0,"quadratic_rows":[32,32,0,280,312,19,0,0,24]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[15,17,5,32,67,2,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,4,6,0,0,0,0,0,0]},"new":707,"old":324,"rank":3,"right":{"linear_Z4":[3,1,1,0,2,3,0,0,3],"matrix_rows":[307,293,17,21,306,56,256,320,384],"offset":211,"phase":3,"quadratic_rows":[19,3,308,48,301,316,0,0,308]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[10,23,6,32,65,3,130,258,2],"offset":0,"phase":0,"quadratic_rows":[4,0,5,0,0,0,0,0,0]},"new":763,"old":324,"rank":3,"right":{"linear_Z4":[1,1,1,0,3,0,0,0,0],"matrix_rows":[22,307,290,305,294,56,256,320,384],"offset":222,"phase":2,"quadratic_rows":[3,291,308,48,316,30,0,0,22]}},{"left":{"linear_Z4":[2,2,2,3,3,0,0,0,0],"matrix_rows":[33,2,4,72,144,19,11,259,3],"offset":0,"phase":0,"quadratic_rows":[24,24,0,11,19,0,0,0,0]},"new":1,"old":325,"rank":5,"right":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[353,98,4,264,272,256,320,288,384],"offset":254,"phase":1,"quadratic_rows":[96,96,0,64,32,19,11,0,0]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[18,35,1,68,136,11,7,259,3],"offset":0,"phase":0,"quadratic_rows":[15,15,7,11,0,0,0,0,0]},"new":414,"old":325,"rank":4,"right":{"linear_Z4":[1,3,0,0,0,2,2,0,1],"matrix_rows":[358,101,264,272,263,256,320,288,384],"offset":204,"phase":0,"quadratic_rows":[355,355,0,64,32,19,11,0,259]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,2,35,72,132,7,11,259,3],"offset":0,"phase":0,"quadratic_rows":[15,15,7,11,0,0,0,0,0]},"new":416,"old":325,"rank":4,"right":{"linear_Z4":[2,2,2,0,1,0,0,0,3],"matrix_rows":[117,374,272,264,256,276,320,288,384],"offset":254,"phase":3,"quadratic_rows":[372,372,19,64,55,19,11,0,259]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[22,35,5,73,129,2,10,259,3],"offset":0,"phase":0,"quadratic_rows":[15,15,7,11,0,0,0,0,0]},"new":418,"old":325,"rank":4,"right":{"linear_Z4":[2,0,0,2,3,2,2,0,3],"matrix_rows":[382,125,283,264,287,256,320,288,384],"offset":200,"phase":3,"quadratic_rows":[120,120,24,327,55,19,11,0,264]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,2,35,68,136,11,7,259,3],"offset":0,"phase":0,"quadratic_rows":[15,15,7,11,0,0,0,0,0]},"new":420,"old":325,"rank":4,"right":{"linear_Z4":[2,2,2,1,0,0,0,0,3],"matrix_rows":[109,366,264,272,256,268,320,288,384],"offset":254,"phase":3,"quadratic_rows":[364,364,11,79,32,19,11,0,259]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":334,"old":326,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":335,"old":326,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":336,"old":326,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":337,"old":327,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":338,"old":327,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":339,"old":327,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":337,"old":328,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,2,0,2,0],"matrix_rows":[132,33,2,164,40,16,128,64,256],"offset":0,"phase":0,"quadratic_rows":[32,0,36,32,0,13,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":340,"old":328,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":341,"old":328,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":334,"old":329,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,2,0,0,2],"matrix_rows":[260,33,2,292,40,16,256,64,128],"offset":0,"phase":0,"quadratic_rows":[32,0,36,32,0,13,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":342,"old":329,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":343,"old":329,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":338,"old":330,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,2,0],"matrix_rows":[130,65,194,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[64,66,0,64,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":340,"old":330,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,2,0],"matrix_rows":[130,1,194,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,66,64,0,0,64,38,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":344,"old":330,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":335,"old":331,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,0,2],"matrix_rows":[258,65,322,4,72,16,32,256,128],"offset":0,"phase":0,"quadratic_rows":[64,66,0,64,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":342,"old":331,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,0,2],"matrix_rows":[258,1,322,68,8,16,96,256,128],"offset":0,"phase":0,"quadratic_rows":[0,66,64,0,0,64,38,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":345,"old":331,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":336,"old":332,"rank":1,"right":{"linear_Z4":[1,1,1,1,0,1,2,0,2],"matrix_rows":[303,257,322,324,264,16,352,256,128],"offset":0,"phase":0,"quadratic_rows":[47,111,111,47,0,111,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":343,"old":332,"rank":1,"right":{"linear_Z4":[1,1,1,1,0,1,2,0,2],"matrix_rows":[303,321,322,260,328,16,288,256,128],"offset":0,"phase":0,"quadratic_rows":[111,111,47,111,0,47,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":345,"old":332,"rank":1,"right":{"linear_Z4":[1,1,1,1,0,2,1,0,2],"matrix_rows":[335,289,258,292,296,16,256,320,128],"offset":0,"phase":0,"quadratic_rows":[111,79,111,111,0,13,79,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":339,"old":333,"rank":1,"right":{"linear_Z4":[1,1,1,1,0,1,2,2,0],"matrix_rows":[175,129,194,196,136,16,224,128,256],"offset":0,"phase":0,"quadratic_rows":[47,111,111,47,0,111,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":341,"old":333,"rank":1,"right":{"linear_Z4":[1,1,1,1,0,1,2,2,0],"matrix_rows":[175,193,194,132,200,16,160,128,256],"offset":0,"phase":0,"quadratic_rows":[111,111,47,111,0,47,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":344,"old":333,"rank":1,"right":{"linear_Z4":[1,1,1,1,0,2,1,2,0],"matrix_rows":[207,161,130,164,168,16,128,192,256],"offset":0,"phase":0,"quadratic_rows":[111,79,111,111,0,13,79,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":566,"old":334,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,2,0],"matrix_rows":[137,129,2,4,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":567,"old":334,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,3,2,0],"matrix_rows":[194,1,130,4,8,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,66,0,0,0,0,66,0,0]}},{"left":{"linear_Z4":[2,3,2,2,0,0,0,0,0],"matrix_rows":[18,35,66,129,4,257,8,3,1],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":649,"old":334,"rank":4,"right":{"linear_Z4":[1,2,1,0,2,0,2,2,0],"matrix_rows":[266,15,16,64,393,130,388,256,288],"offset":12,"phase":2,"quadratic_rows":[391,389,399,388,0,0,0,15,15]}},{"left":{"linear_Z4":[2,3,3,2,0,0,0,0,0],"matrix_rows":[16,40,69,129,264,4,10,2,1],"offset":0,"phase":0,"quadratic_rows":[4,10,5,2,0,0,0,0,0]},"new":651,"old":334,"rank":4,"right":{"linear_Z4":[2,3,0,3,3,3,3,0,1],"matrix_rows":[300,192,260,82,13,194,288,256,208],"offset":93,"phase":1,"quadratic_rows":[12,146,257,41,146,40,192,82,260]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":347,"old":335,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,2,0],"matrix_rows":[137,129,2,4,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":353,"old":335,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,3,0,2,0],"matrix_rows":[164,1,2,132,8,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,36,0,0,36,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":349,"old":336,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,3,0,2,0],"matrix_rows":[164,1,2,132,8,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,36,0,0,36,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":351,"old":336,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,2,0],"matrix_rows":[137,129,2,4,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":486,"old":337,"rank":1,"right":{"linear_Z4":[0,3,0,0,3,0,0,0,2],"matrix_rows":[274,1,258,4,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":488,"old":337,"rank":1,"right":{"linear_Z4":[2,0,2,1,0,0,0,2,0],"matrix_rows":[136,1,2,12,128,16,160,64,256],"offset":91,"phase":1,"quadratic_rows":[0,0,8,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":566,"old":337,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,0,2],"matrix_rows":[265,257,2,4,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[20,44,68,131,10,259,2,3,7],"offset":0,"phase":0,"quadratic_rows":[5,14,15,14,0,0,0,0,0]},"new":648,"old":337,"rank":4,"right":{"linear_Z4":[3,2,3,0,2,0,3,0,3],"matrix_rows":[392,472,215,458,393,474,388,128,160],"offset":466,"phase":1,"quadratic_rows":[351,197,343,321,197,0,351,18,333]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":347,"old":338,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,0,2],"matrix_rows":[265,257,2,4,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":352,"old":338,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,3,0,0,2],"matrix_rows":[292,1,2,260,8,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,36,0,0,36,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":348,"old":339,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,3,0,0,2],"matrix_rows":[292,1,2,260,8,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,36,0,0,36,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":351,"old":339,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,0,2],"matrix_rows":[265,257,2,4,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":349,"old":340,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,0,2],"matrix_rows":[265,257,2,4,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":350,"old":340,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,3,0,0,2],"matrix_rows":[292,1,2,260,8,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,36,0,0,36,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":346,"old":341,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,3,0,0,2],"matrix_rows":[292,1,2,260,8,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,36,0,0,36,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":353,"old":341,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,0,2],"matrix_rows":[265,257,2,4,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":348,"old":342,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,2,0],"matrix_rows":[137,129,2,4,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":350,"old":342,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,3,0,2,0],"matrix_rows":[164,1,2,132,8,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,36,0,0,36,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":346,"old":343,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,3,0,2,0],"matrix_rows":[164,1,2,132,8,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,36,0,0,36,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":352,"old":343,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,2,0],"matrix_rows":[137,129,2,4,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":462,"old":344,"rank":1,"right":{"linear_Z4":[0,0,3,3,2,0,0,0,0],"matrix_rows":[28,1,2,20,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":463,"old":344,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,3,0,2],"matrix_rows":[322,1,258,4,8,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,66,0,0,0,0,66,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":567,"old":344,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,0,2],"matrix_rows":[265,257,2,4,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,3,0,0,0,0,0],"matrix_rows":[17,34,65,128,4,256,8,10,1],"offset":0,"phase":0,"quadratic_rows":[0,10,0,10,0,0,0,0,0]},"new":650,"old":344,"rank":4,"right":{"linear_Z4":[3,0,3,0,2,0,0,1,2],"matrix_rows":[261,2,16,192,257,128,260,8,32],"offset":39,"phase":2,"quadratic_rows":[5,128,5,0,0,0,128,194,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":463,"old":345,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,3,2,0],"matrix_rows":[194,1,130,4,8,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,66,0,0,0,0,66,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":467,"old":345,"rank":1,"right":{"linear_Z4":[3,0,3,0,2,0,0,0,0],"matrix_rows":[21,17,2,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":485,"old":345,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,2,0],"matrix_rows":[140,1,2,132,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":489,"old":345,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,2,0],"matrix_rows":[133,129,2,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":354,"old":346,"rank":1,"right":{"linear_Z4":[3,0,3,3,0,2,0,0,0],"matrix_rows":[13,289,2,292,296,16,256,64,384],"offset":1,"phase":1,"quadratic_rows":[301,0,301,301,0,13,0,0,13]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,17,32,66,3,132,2,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":688,"old":346,"rank":3,"right":{"linear_Z4":[3,3,0,0,1,0,0,0,2],"matrix_rows":[27,24,288,81,90,4,64,256,384],"offset":3,"phase":2,"quadratic_rows":[75,67,0,17,24,0,3,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[10,19,36,66,1,128,3,260,4],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":720,"old":346,"rank":3,"right":{"linear_Z4":[3,1,0,3,2,0,0,0,2],"matrix_rows":[18,9,260,83,64,256,88,32,384],"offset":3,"phase":2,"quadratic_rows":[91,3,0,89,9,0,9,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":354,"old":347,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[10,18,35,69,4,7,133,261,5],"offset":0,"phase":0,"quadratic_rows":[5,6,7,0,0,0,0,0,0]},"new":689,"old":347,"rank":3,"right":{"linear_Z4":[3,3,0,2,1,1,0,0,2],"matrix_rows":[20,23,56,297,290,60,256,320,384],"offset":221,"phase":2,"quadratic_rows":[319,311,59,37,23,47,0,0,3]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[15,19,3,36,5,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[2,5,2,0,0,0,0,0,0]},"new":721,"old":347,"rank":3,"right":{"linear_Z4":[3,0,2,3,1,2,0,0,0],"matrix_rows":[7,55,29,53,6,56,64,128,256],"offset":6,"phase":2,"quadratic_rows":[25,52,26,45,55,26,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":354,"old":348,"rank":1,"right":{"linear_Z4":[3,3,3,3,0,2,0,0,2],"matrix_rows":[271,289,258,292,296,16,256,320,128],"offset":1,"phase":1,"quadratic_rows":[47,15,47,47,0,13,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[13,16,32,68,1,130,258,4,2],"offset":0,"phase":0,"quadratic_rows":[5,0,1,0,0,0,0,0,0]},"new":696,"old":348,"rank":3,"right":{"linear_Z4":[2,2,2,0,3,1,0,3,2],"matrix_rows":[129,288,153,145,34,4,128,256,320],"offset":434,"phase":1,"quadratic_rows":[136,32,0,17,24,34,0,129,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,16,34,69,4,128,258,1,2],"offset":0,"phase":0,"quadratic_rows":[4,0,5,0,0,0,0,0,0]},"new":728,"old":348,"rank":3,"right":{"linear_Z4":[0,2,1,2,3,2,0,3,2],"matrix_rows":[153,260,136,128,6,256,152,32,320],"offset":434,"phase":1,"quadratic_rows":[24,4,6,129,17,0,0,136,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":354,"old":349,"rank":1,"right":{"linear_Z4":[3,3,3,3,0,2,0,2,0],"matrix_rows":[143,161,130,164,168,16,128,192,256],"offset":1,"phase":1,"quadratic_rows":[47,15,47,47,0,13,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[13,16,32,68,1,130,258,2,4],"offset":0,"phase":0,"quadratic_rows":[5,0,1,0,0,0,0,0,0]},"new":697,"old":349,"rank":3,"right":{"linear_Z4":[2,2,2,0,3,1,0,2,3],"matrix_rows":[257,160,281,273,34,4,256,128,192],"offset":434,"phase":1,"quadratic_rows":[264,32,0,17,24,34,0,0,257]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,16,34,69,4,128,258,2,1],"offset":0,"phase":0,"quadratic_rows":[4,0,5,0,0,0,0,0,0]},"new":729,"old":349,"rank":3,"right":{"linear_Z4":[0,2,1,2,3,2,0,2,3],"matrix_rows":[281,132,264,256,6,128,280,32,192],"offset":434,"phase":1,"quadratic_rows":[24,4,6,257,17,0,0,0,264]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":354,"old":350,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,2,0,0,2],"matrix_rows":[6,33,258,292,40,16,256,320,384],"offset":0,"phase":0,"quadratic_rows":[32,262,294,32,0,13,0,0,6]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[14,18,34,7,1,69,133,261,5],"offset":0,"phase":0,"quadratic_rows":[7,3,5,0,0,0,0,0,0]},"new":704,"old":350,"rank":3,"right":{"linear_Z4":[0,3,3,1,1,2,0,0,2],"matrix_rows":[56,23,17,57,266,300,256,320,384],"offset":245,"phase":2,"quadratic_rows":[62,287,319,47,23,13,0,0,6]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[14,16,35,71,4,5,134,262,6],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":736,"old":350,"rank":3,"right":{"linear_Z4":[2,0,3,3,2,1,0,0,1],"matrix_rows":[28,25,301,293,38,256,312,320,384],"offset":236,"phase":1,"quadratic_rows":[16,36,310,24,301,310,0,0,308]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":354,"old":351,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,2,0,0,0],"matrix_rows":[6,33,66,100,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[32,70,102,32,0,13,6,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,18,34,68,3,129,1,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":705,"old":351,"rank":3,"right":{"linear_Z4":[0,3,3,0,1,0,0,0,2],"matrix_rows":[48,54,264,1,114,84,256,64,384],"offset":3,"phase":2,"quadratic_rows":[0,70,102,0,48,20,6,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,16,38,64,134,2,4,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":737,"old":351,"rank":3,"right":{"linear_Z4":[0,2,0,0,2,2,2,0,2],"matrix_rows":[257,20,116,256,38,64,8,112,384],"offset":48,"phase":2,"quadratic_rows":[0,36,2,0,0,2,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":354,"old":352,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,2,0,0,2],"matrix_rows":[260,33,2,292,40,16,256,64,128],"offset":0,"phase":0,"quadratic_rows":[32,0,36,32,0,13,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,16,38,65,2,132,257,1,4],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":712,"old":352,"rank":3,"right":{"linear_Z4":[2,2,2,1,3,0,0,2,3],"matrix_rows":[136,260,308,1,10,276,128,256,192],"offset":345,"phase":1,"quadratic_rows":[0,8,288,10,48,20,0,0,260]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,17,34,65,130,4,1,256,6],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":744,"old":352,"rank":3,"right":{"linear_Z4":[3,2,0,3,3,2,0,0,3],"matrix_rows":[9,308,288,67,64,256,72,304,128],"offset":35,"phase":1,"quadratic_rows":[75,1,48,73,20,260,9,0,288]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":354,"old":353,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,2,0,2,0],"matrix_rows":[132,33,2,164,40,16,128,64,256],"offset":0,"phase":0,"quadratic_rows":[32,0,36,32,0,13,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,16,38,65,2,132,257,4,1],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":713,"old":353,"rank":3,"right":{"linear_Z4":[2,2,2,1,3,0,0,3,2],"matrix_rows":[264,132,180,1,10,148,256,128,320],"offset":345,"phase":1,"quadratic_rows":[0,8,160,10,48,20,0,132,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,17,34,65,130,4,1,6,256],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":745,"old":353,"rank":3,"right":{"linear_Z4":[3,2,0,3,3,2,0,3,0],"matrix_rows":[9,180,160,67,64,128,72,176,256],"offset":35,"phase":1,"quadratic_rows":[75,1,48,73,20,132,9,160,0]}},{"left":{"linear_Z4":[2,3,3,2,2,0,0,0,0],"matrix_rows":[33,66,132,8,16,13,11,265,9],"offset":0,"phase":0,"quadratic_rows":[6,11,13,6,0,0,0,0,0]},"new":1,"old":354,"rank":5,"right":{"linear_Z4":[2,0,0,2,2,0,0,0,0],"matrix_rows":[353,258,260,104,16,256,320,288,384],"offset":254,"phase":1,"quadratic_rows":[96,64,32,96,0,13,11,0,0]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[24,34,68,137,1,13,11,265,9],"offset":0,"phase":0,"quadratic_rows":[15,11,13,15,0,0,0,0,0]},"new":415,"old":354,"rank":4,"right":{"linear_Z4":[1,0,0,3,0,2,2,0,1],"matrix_rows":[376,258,260,113,281,320,288,256,384],"offset":102,"phase":0,"quadratic_rows":[361,64,32,361,0,13,11,0,265]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,34,77,8,4,137,11,265,9],"offset":0,"phase":0,"quadratic_rows":[15,11,13,15,0,0,0,0,0]},"new":416,"old":354,"rank":4,"right":{"linear_Z4":[0,0,1,0,2,0,0,0,1],"matrix_rows":[341,258,260,92,256,320,276,288,384],"offset":51,"phase":0,"quadratic_rows":[84,64,285,84,13,0,11,0,260]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,43,68,8,2,13,137,265,9],"offset":0,"phase":0,"quadratic_rows":[15,11,13,15,0,0,0,0,0]},"new":417,"old":354,"rank":4,"right":{"linear_Z4":[0,1,0,0,2,0,0,0,1],"matrix_rows":[307,258,260,58,256,274,288,320,384],"offset":85,"phase":0,"quadratic_rows":[50,283,32,50,11,13,0,0,258]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[24,35,69,137,1,12,10,265,9],"offset":0,"phase":0,"quadratic_rows":[15,11,13,15,0,0,0,0,0]},"new":418,"old":354,"rank":4,"right":{"linear_Z4":[1,1,1,3,0,2,2,0,1],"matrix_rows":[382,258,260,119,287,320,288,256,384],"offset":102,"phase":0,"quadratic_rows":[361,86,54,361,6,13,11,0,265]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":363,"old":355,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":364,"old":355,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,2,0,0,0],"matrix_rows":[49,33,2,4,8,48,64,128,256],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":365,"old":355,"rank":1,"right":{"linear_Z4":[0,0,3,3,2,0,0,0,0],"matrix_rows":[28,1,2,20,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":366,"old":356,"rank":1,"right":{"linear_Z4":[0,1,0,1,1,2,1,1,2],"matrix_rows":[474,33,258,36,296,272,256,320,384],"offset":0,"phase":0,"quadratic_rows":[32,218,32,250,218,13,218,218,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":367,"old":356,"rank":1,"right":{"linear_Z4":[0,1,0,1,1,1,2,1,2],"matrix_rows":[442,1,258,4,328,336,352,256,384],"offset":0,"phase":0,"quadratic_rows":[0,186,0,250,250,250,56,186,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":368,"old":356,"rank":1,"right":{"linear_Z4":[0,1,0,1,1,1,2,1,2],"matrix_rows":[442,65,258,68,264,336,288,256,384],"offset":0,"phase":0,"quadratic_rows":[64,186,64,186,250,186,21,186,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":366,"old":357,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":369,"old":357,"rank":1,"right":{"linear_Z4":[1,1,1,0,1,0,2,1,2],"matrix_rows":[407,321,258,324,8,336,32,256,384],"offset":0,"phase":0,"quadratic_rows":[215,151,215,0,215,0,21,151,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":370,"old":357,"rank":1,"right":{"linear_Z4":[1,1,1,0,1,0,2,1,2],"matrix_rows":[407,257,258,260,72,336,96,256,384],"offset":0,"phase":0,"quadratic_rows":[151,151,151,64,215,64,56,151,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":363,"old":358,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,2,2,0,0],"matrix_rows":[68,33,2,100,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[32,0,36,32,0,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":371,"old":358,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,2,0,0],"matrix_rows":[100,33,2,68,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[32,0,36,0,32,21,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":372,"old":358,"rank":1,"right":{"linear_Z4":[0,0,3,3,2,0,0,0,0],"matrix_rows":[28,1,2,20,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":367,"old":359,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":369,"old":359,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":373,"old":359,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":364,"old":360,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,2,0,0],"matrix_rows":[73,65,2,4,72,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":371,"old":360,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":374,"old":360,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,2,0,0,0],"matrix_rows":[49,33,2,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[17,0,16,16,13,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":365,"old":361,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,2,0,0],"matrix_rows":[73,65,2,4,72,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":372,"old":361,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,3,2,0,0],"matrix_rows":[100,1,2,68,8,16,96,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,36,0,0,36,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":374,"old":361,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":368,"old":362,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":370,"old":362,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,1,2,0,0],"matrix_rows":[56,1,2,4,72,80,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,120,120,120,56,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":373,"old":362,"rank":1,"right":{"linear_Z4":[1,1,1,1,0,2,0,1,2],"matrix_rows":[399,289,258,292,296,16,256,64,384],"offset":0,"phase":0,"quadratic_rows":[175,143,175,175,0,13,0,143,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":568,"old":363,"rank":1,"right":{"linear_Z4":[0,1,1,1,1,0,0,1,2],"matrix_rows":[158,1,258,260,264,272,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,414,414,414,414,0,0,414,158]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":569,"old":363,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,0,3,2],"matrix_rows":[386,1,258,4,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,130,0,0,0,0,0,130,0]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[19,45,67,131,6,259,3,10,2],"offset":0,"phase":0,"quadratic_rows":[15,15,15,15,0,0,0,0,0]},"new":653,"old":363,"rank":4,"right":{"linear_Z4":[2,3,2,2,3,0,3,3,0],"matrix_rows":[415,469,458,346,73,474,68,64,96],"offset":466,"phase":1,"quadratic_rows":[2,215,10,212,218,0,218,218,0]}},{"left":{"linear_Z4":[2,3,3,2,0,0,0,0,0],"matrix_rows":[16,40,69,129,264,4,1,10,2],"offset":0,"phase":0,"quadratic_rows":[4,10,5,2,0,0,0,0,0]},"new":655,"old":363,"rank":4,"right":{"linear_Z4":[2,3,0,3,3,3,1,3,0],"matrix_rows":[108,384,68,146,13,386,96,64,400],"offset":93,"phase":1,"quadratic_rows":[12,274,65,41,274,40,68,384,146]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":376,"old":364,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,0,3,2],"matrix_rows":[386,1,258,4,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,130,0,0,0,0,0,130,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":382,"old":364,"rank":1,"right":{"linear_Z4":[0,1,1,1,1,0,0,1,2],"matrix_rows":[158,1,258,260,264,272,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,414,414,414,414,0,0,414,158]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":378,"old":365,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,0,3,2],"matrix_rows":[386,1,258,4,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,130,0,0,0,0,0,130,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":380,"old":365,"rank":1,"right":{"linear_Z4":[3,3,3,3,0,3,0,3,2],"matrix_rows":[431,257,258,260,264,16,288,64,384],"offset":1,"phase":1,"quadratic_rows":[175,175,175,175,0,175,0,175,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":508,"old":366,"rank":1,"right":{"linear_Z4":[3,3,1,2,1,0,3,3,2],"matrix_rows":[455,257,258,276,24,256,32,320,384],"offset":57,"phase":0,"quadratic_rows":[199,199,215,16,28,0,199,199,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":512,"old":366,"rank":1,"right":{"linear_Z4":[3,0,3,2,0,0,0,0,0],"matrix_rows":[5,33,2,44,32,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[37,0,45,4,0,5,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":568,"old":366,"rank":1,"right":{"linear_Z4":[1,3,3,2,3,0,1,3,2],"matrix_rows":[407,321,258,260,72,272,32,256,384],"offset":147,"phase":0,"quadratic_rows":[215,151,151,64,151,0,73,151,0]}},{"left":{"linear_Z4":[2,3,2,3,0,0,0,0,0],"matrix_rows":[20,34,68,129,8,1,261,5,15],"offset":0,"phase":0,"quadratic_rows":[14,15,11,15,0,0,0,0,0]},"new":652,"old":366,"rank":4,"right":{"linear_Z4":[1,0,1,0,0,0,2,2,3],"matrix_rows":[328,2,333,272,169,256,164,32,192],"offset":34,"phase":0,"quadratic_rows":[485,256,493,132,256,5,133,77,279]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":376,"old":367,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,3,0,0,0],"matrix_rows":[24,33,2,4,72,112,64,128,256],"offset":1,"phase":1,"quadratic_rows":[32,0,0,88,120,49,24,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":381,"old":367,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,3,0,0,0],"matrix_rows":[40,1,2,20,88,64,96,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,16,120,28,104,40,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":377,"old":368,"rank":1,"right":{"linear_Z4":[1,3,3,3,2,1,0,3,2],"matrix_rows":[399,289,258,260,264,48,256,64,384],"offset":99,"phase":0,"quadratic_rows":[175,143,143,143,32,49,0,143,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":380,"old":368,"rank":1,"right":{"linear_Z4":[3,0,3,0,3,0,0,0,0],"matrix_rows":[5,65,2,84,24,64,32,128,256],"offset":1,"phase":1,"quadratic_rows":[69,0,85,16,28,0,5,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":378,"old":369,"rank":1,"right":{"linear_Z4":[3,0,3,0,3,0,0,0,0],"matrix_rows":[5,65,2,84,24,64,32,128,256],"offset":1,"phase":1,"quadratic_rows":[69,0,85,16,28,0,5,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":379,"old":369,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,2,0,0,0],"matrix_rows":[49,33,2,4,8,48,64,128,256],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":375,"old":370,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,3,0,0,0],"matrix_rows":[40,1,2,20,88,64,96,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,16,120,28,104,40,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":382,"old":370,"rank":1,"right":{"linear_Z4":[0,1,1,2,2,0,0,1,2],"matrix_rows":[166,33,258,260,8,48,256,320,384],"offset":240,"phase":0,"quadratic_rows":[32,422,422,0,32,407,0,422,166]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":377,"old":371,"rank":1,"right":{"linear_Z4":[0,1,1,1,1,0,0,1,2],"matrix_rows":[158,1,258,260,264,272,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,414,414,414,414,0,0,414,158]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":379,"old":371,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,0,3,2],"matrix_rows":[386,1,258,4,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,130,0,0,0,0,0,130,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":375,"old":372,"rank":1,"right":{"linear_Z4":[3,3,3,3,0,3,0,3,2],"matrix_rows":[431,257,258,260,264,16,288,64,384],"offset":1,"phase":1,"quadratic_rows":[175,175,175,175,0,175,0,175,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":381,"old":372,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,0,3,2],"matrix_rows":[386,1,258,4,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,130,0,0,0,0,0,130,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":465,"old":373,"rank":1,"right":{"linear_Z4":[0,0,3,3,2,0,0,0,0],"matrix_rows":[28,1,2,20,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":470,"old":373,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,0,0],"matrix_rows":[2,1,66,4,8,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,66,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":569,"old":373,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,2,0,0],"matrix_rows":[73,65,2,4,72,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,2,0,0,0,0,0],"matrix_rows":[20,42,68,129,2,1,5,264,8],"offset":0,"phase":0,"quadratic_rows":[4,10,1,2,0,0,0,0,0]},"new":654,"old":373,"rank":4,"right":{"linear_Z4":[3,2,3,0,3,0,1,0,3],"matrix_rows":[72,258,77,402,105,274,100,32,256],"offset":5,"phase":2,"quadratic_rows":[37,384,45,68,144,5,72,18,258]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":462,"old":374,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,3,2,0],"matrix_rows":[194,1,130,4,8,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,66,0,0,0,0,66,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":465,"old":374,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,0,3,2],"matrix_rows":[386,1,258,4,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,130,0,0,0,0,0,130,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":507,"old":374,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,2,0],"matrix_rows":[140,1,2,132,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":508,"old":374,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,1,1,2],"matrix_rows":[203,257,258,4,264,16,32,320,384],"offset":0,"phase":0,"quadratic_rows":[459,459,0,459,0,0,459,459,203]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":383,"old":375,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,2,0,3,0],"matrix_rows":[134,33,258,292,40,16,256,320,384],"offset":1,"phase":1,"quadratic_rows":[32,390,422,32,0,13,0,390,134]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,21,37,64,133,2,263,1,6],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":690,"old":375,"rank":3,"right":{"linear_Z4":[2,2,0,0,0,2,0,1,2],"matrix_rows":[166,32,294,133,290,256,40,272,320],"offset":40,"phase":2,"quadratic_rows":[132,160,1,32,0,138,0,163,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,2,20,35,68,131,4,263,7],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":730,"old":375,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,1,2],"matrix_rows":[489,170,196,320,64,328,80,352,384],"offset":9,"phase":0,"quadratic_rows":[168,168,128,3,0,3,0,135,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":383,"old":376,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,2,0,0,0],"matrix_rows":[49,33,2,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[17,0,16,16,13,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,18,34,64,129,1,256,4,6],"offset":0,"phase":0,"quadratic_rows":[0,4,6,0,0,0,0,0,0]},"new":691,"old":376,"rank":3,"right":{"linear_Z4":[1,0,3,2,1,2,0,2,3],"matrix_rows":[33,390,384,49,256,388,24,32,64],"offset":219,"phase":0,"quadratic_rows":[17,132,6,16,25,0,0,258,384]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[9,18,2,32,68,5,1,128,256],"offset":0,"phase":0,"quadratic_rows":[4,2,5,0,0,0,0,0,0]},"new":731,"old":376,"rank":3,"right":{"linear_Z4":[0,1,2,2,1,1,2,0,0],"matrix_rows":[33,2,80,64,6,24,96,128,256],"offset":100,"phase":3,"quadratic_rows":[96,6,2,16,56,113,33,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":383,"old":377,"rank":1,"right":{"linear_Z4":[0,1,0,3,3,0,0,1,2],"matrix_rows":[394,1,258,20,280,256,288,320,384],"offset":240,"phase":2,"quadratic_rows":[0,138,16,154,28,0,0,138,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[14,18,38,4,65,129,1,263,7],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":698,"old":377,"rank":3,"right":{"linear_Z4":[2,0,2,0,1,0,0,3,2],"matrix_rows":[208,471,157,337,320,324,64,96,384],"offset":0,"phase":0,"quadratic_rows":[26,149,10,149,155,0,0,154,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,21,35,64,133,5,262,4,2],"offset":0,"phase":0,"quadratic_rows":[7,5,3,0,0,0,0,0,0]},"new":722,"old":377,"rank":3,"right":{"linear_Z4":[0,2,1,0,1,0,0,3,2],"matrix_rows":[274,292,438,21,38,288,152,32,320],"offset":403,"phase":3,"quadratic_rows":[20,128,389,144,25,384,0,430,164]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":383,"old":378,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[8,18,33,68,5,2,4,128,256],"offset":0,"phase":0,"quadratic_rows":[5,2,1,0,0,0,0,0,0]},"new":699,"old":378,"rank":3,"right":{"linear_Z4":[2,1,1,0,1,2,2,0,0],"matrix_rows":[68,2,24,5,34,80,64,128,256],"offset":41,"phase":3,"quadratic_rows":[4,34,21,80,92,2,24,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,18,33,65,1,130,256,4,6],"offset":0,"phase":0,"quadratic_rows":[0,4,6,0,0,0,0,0,0]},"new":723,"old":378,"rank":3,"right":{"linear_Z4":[2,0,3,1,2,3,0,2,3],"matrix_rows":[28,418,384,5,256,16,24,416,64],"offset":58,"phase":2,"quadratic_rows":[4,160,13,12,0,34,0,258,384]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":383,"old":379,"rank":1,"right":{"linear_Z4":[0,0,0,1,3,0,2,0,0],"matrix_rows":[8,1,2,20,88,64,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,16,88,28,0,8,0,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[8,18,37,2,65,1,4,128,256],"offset":0,"phase":0,"quadratic_rows":[4,2,5,0,0,0,0,0,0]},"new":714,"old":379,"rank":3,"right":{"linear_Z4":[2,1,0,2,3,1,3,0,0],"matrix_rows":[116,2,36,21,10,96,32,128,256],"offset":45,"phase":0,"quadratic_rows":[20,10,33,2,81,36,80,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,18,33,66,129,256,1,4,6],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":738,"old":379,"rank":3,"right":{"linear_Z4":[3,0,2,3,3,0,0,2,3],"matrix_rows":[17,394,384,69,256,64,392,80,32],"offset":19,"phase":1,"quadratic_rows":[85,136,1,10,81,0,17,258,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":383,"old":380,"rank":1,"right":{"linear_Z4":[1,1,1,1,0,2,0,1,2],"matrix_rows":[399,289,258,292,296,16,256,64,384],"offset":0,"phase":0,"quadratic_rows":[175,143,175,175,0,13,0,143,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[13,17,37,66,130,4,2,263,7],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":715,"old":380,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,1,2],"matrix_rows":[455,200,165,321,320,324,64,80,384],"offset":17,"phase":0,"quadratic_rows":[34,133,34,128,0,133,0,170,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[8,16,33,64,129,6,256,2,5],"offset":0,"phase":0,"quadratic_rows":[4,6,7,0,0,0,0,0,0]},"new":739,"old":380,"rank":3,"right":{"linear_Z4":[0,0,2,2,0,2,0,1,3],"matrix_rows":[260,160,288,5,6,256,168,272,64],"offset":224,"phase":1,"quadratic_rows":[4,4,3,160,0,264,0,136,288]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":383,"old":381,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,2,2,0,0],"matrix_rows":[68,33,2,100,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[32,0,36,32,0,13,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[10,18,36,64,128,260,4,1,3],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":706,"old":381,"rank":3,"right":{"linear_Z4":[3,0,1,2,0,3,2,2,3],"matrix_rows":[384,387,100,385,256,68,40,16,64],"offset":338,"phase":2,"quadratic_rows":[3,129,36,32,0,44,0,258,384]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,17,34,64,130,4,6,257,1],"offset":0,"phase":0,"quadratic_rows":[0,4,6,0,0,0,0,0,0]},"new":746,"old":381,"rank":3,"right":{"linear_Z4":[2,3,2,2,0,1,3,1,2],"matrix_rows":[386,68,96,3,256,64,40,80,384],"offset":248,"phase":3,"quadratic_rows":[2,131,0,32,0,104,96,130,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":383,"old":382,"rank":1,"right":{"linear_Z4":[3,1,0,0,2,0,0,1,2],"matrix_rows":[147,257,258,20,24,256,288,64,384],"offset":98,"phase":1,"quadratic_rows":[403,403,16,16,399,0,0,403,147]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,16,37,64,131,3,256,1,7],"offset":0,"phase":0,"quadratic_rows":[2,5,6,0,0,0,0,0,0]},"new":707,"old":382,"rank":3,"right":{"linear_Z4":[0,0,2,0,2,1,0,1,3],"matrix_rows":[180,272,36,149,18,288,24,32,64],"offset":1,"phase":1,"quadratic_rows":[148,16,289,16,267,420,0,161,308]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,4,39,71,129,1,262,6],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":747,"old":382,"rank":3,"right":{"linear_Z4":[2,0,0,3,3,0,2,0,2],"matrix_rows":[89,410,156,64,256,328,336,96,384],"offset":19,"phase":1,"quadratic_rows":[24,152,152,31,31,0,0,6,0]}},{"left":{"linear_Z4":[2,3,2,3,3,0,0,0,0],"matrix_rows":[33,66,132,264,12,13,9,16,18],"offset":0,"phase":0,"quadratic_rows":[4,18,1,8,18,0,0,0,0]},"new":1,"old":383,"rank":5,"right":{"linear_Z4":[0,0,0,2,1,0,1,0,1],"matrix_rows":[81,2,84,8,384,48,256,96,112],"offset":239,"phase":1,"quadratic_rows":[96,256,48,112,92,13,89,256,386]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[20,34,68,129,261,5,1,8,10],"offset":0,"phase":0,"quadratic_rows":[1,10,4,10,0,0,0,0,0]},"new":415,"old":383,"rank":4,"right":{"linear_Z4":[1,0,2,2,0,2,2,0,1],"matrix_rows":[8,2,13,384,105,256,96,64,48],"offset":99,"phase":0,"quadratic_rows":[101,256,105,36,0,13,5,256,386]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,34,65,132,4,261,5,8,10],"offset":0,"phase":0,"quadratic_rows":[1,10,4,10,0,0,0,0,0]},"new":416,"old":383,"rank":4,"right":{"linear_Z4":[2,0,1,2,2,0,2,0,1],"matrix_rows":[5,2,8,384,80,256,84,16,96],"offset":54,"phase":0,"quadratic_rows":[84,256,85,16,13,0,5,256,386]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[18,33,66,132,262,6,4,8,9],"offset":0,"phase":0,"quadratic_rows":[9,2,4,9,0,0,0,0,0]},"new":419,"old":383,"rank":4,"right":{"linear_Z4":[1,0,2,2,0,2,2,0,1],"matrix_rows":[2,5,8,384,97,256,96,64,48],"offset":101,"phase":0,"quadratic_rows":[101,256,97,64,0,5,13,256,386]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,34,65,132,4,261,5,8,10],"offset":0,"phase":0,"quadratic_rows":[1,10,4,10,0,0,0,0,0]},"new":420,"old":383,"rank":4,"right":{"linear_Z4":[2,0,1,2,2,0,2,0,1],"matrix_rows":[13,2,8,384,80,256,92,16,96],"offset":54,"phase":0,"quadratic_rows":[92,256,85,65,5,0,13,256,386]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":392,"old":384,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":393,"old":384,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":394,"old":384,"rank":1,"right":{"linear_Z4":[0,1,0,0,2,0,0,2,0],"matrix_rows":[130,1,146,20,24,128,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,18,16,16,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":395,"old":385,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,2,0,0,2],"matrix_rows":[257,289,2,36,40,16,256,64,128],"offset":0,"phase":0,"quadratic_rows":[33,0,32,32,0,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":396,"old":385,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,2,0,0,2],"matrix_rows":[257,289,34,4,8,48,256,64,128],"offset":0,"phase":0,"quadratic_rows":[33,32,0,0,32,19,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":397,"old":385,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":395,"old":386,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":398,"old":386,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":399,"old":386,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":392,"old":387,"rank":1,"right":{"linear_Z4":[1,1,1,1,1,2,0,2,0],"matrix_rows":[159,161,130,164,168,144,128,64,256],"offset":0,"phase":0,"quadratic_rows":[63,31,63,63,31,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":400,"old":387,"rank":1,"right":{"linear_Z4":[1,1,1,1,2,1,0,2,0],"matrix_rows":[175,129,146,148,152,128,160,64,256],"offset":0,"phase":0,"quadratic_rows":[47,63,63,63,14,47,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":401,"old":387,"rank":1,"right":{"linear_Z4":[1,1,1,1,1,2,0,2,0],"matrix_rows":[159,161,162,132,136,176,128,64,256],"offset":0,"phase":0,"quadratic_rows":[63,63,31,31,63,19,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":396,"old":388,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":398,"old":388,"rank":1,"right":{"linear_Z4":[0,1,0,0,2,0,0,0,2],"matrix_rows":[258,1,274,20,24,256,32,64,128],"offset":0,"phase":0,"quadratic_rows":[0,18,16,16,14,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":402,"old":388,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":393,"old":389,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,2,0,2,0],"matrix_rows":[129,161,34,4,8,48,128,64,256],"offset":0,"phase":0,"quadratic_rows":[33,32,0,0,32,19,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":400,"old":389,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":403,"old":389,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,2,0,2,0],"matrix_rows":[129,161,2,36,40,16,128,64,256],"offset":0,"phase":0,"quadratic_rows":[33,0,32,32,0,13,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":394,"old":390,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":401,"old":390,"rank":1,"right":{"linear_Z4":[1,1,0,0,1,2,0,0,0],"matrix_rows":[19,33,34,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[51,51,0,0,51,19,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":403,"old":390,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":397,"old":391,"rank":1,"right":{"linear_Z4":[1,1,1,1,2,1,0,0,2],"matrix_rows":[303,257,274,276,280,256,288,64,128],"offset":0,"phase":0,"quadratic_rows":[47,63,63,63,14,47,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":399,"old":391,"rank":1,"right":{"linear_Z4":[1,1,1,1,1,2,0,0,2],"matrix_rows":[287,289,290,260,264,304,256,64,128],"offset":0,"phase":0,"quadratic_rows":[63,63,31,31,63,19,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":402,"old":391,"rank":1,"right":{"linear_Z4":[1,1,1,1,1,2,0,0,2],"matrix_rows":[287,289,258,292,296,272,256,64,128],"offset":0,"phase":0,"quadratic_rows":[63,31,63,63,31,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":570,"old":392,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,0,2],"matrix_rows":[268,1,2,260,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":571,"old":392,"rank":1,"right":{"linear_Z4":[0,3,0,0,3,0,0,0,2],"matrix_rows":[274,1,258,4,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[2,3,3,2,0,0,0,0,0],"matrix_rows":[17,34,64,129,4,256,8,6,1],"offset":0,"phase":0,"quadratic_rows":[0,6,6,0,0,0,0,0,0]},"new":657,"old":392,"rank":4,"right":{"linear_Z4":[3,0,0,3,0,0,2,1,2],"matrix_rows":[265,2,144,64,257,128,4,264,32],"offset":43,"phase":2,"quadratic_rows":[9,128,0,9,128,0,0,146,0]}},{"left":{"linear_Z4":[2,2,3,2,0,0,0,0,0],"matrix_rows":[20,40,69,132,266,5,1,10,2],"offset":0,"phase":0,"quadratic_rows":[0,0,4,0,0,0,0,0,0]},"new":659,"old":392,"rank":4,"right":{"linear_Z4":[3,1,1,3,3,0,2,2,0],"matrix_rows":[68,272,9,386,101,402,32,104,128],"offset":5,"phase":2,"quadratic_rows":[109,18,5,105,18,9,9,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":405,"old":393,"rank":1,"right":{"linear_Z4":[0,3,0,0,3,0,0,0,2],"matrix_rows":[274,1,258,4,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":411,"old":393,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,0,2],"matrix_rows":[268,1,2,260,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":407,"old":394,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,0,2],"matrix_rows":[268,1,2,260,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":409,"old":394,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,3,0,0,2],"matrix_rows":[289,257,2,4,8,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[33,0,0,0,0,33,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":511,"old":395,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,2,0],"matrix_rows":[140,1,2,132,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":513,"old":395,"rank":1,"right":{"linear_Z4":[3,1,3,0,0,0,0,0,2],"matrix_rows":[15,257,266,268,256,16,288,64,128],"offset":90,"phase":0,"quadratic_rows":[271,263,263,257,0,0,0,0,15]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":570,"old":395,"rank":1,"right":{"linear_Z4":[0,3,0,0,3,0,0,2,0],"matrix_rows":[146,1,130,4,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,2,0,0,0,0,0],"matrix_rows":[16,40,69,1,138,260,10,2,4],"offset":0,"phase":0,"quadratic_rows":[5,0,1,0,0,0,0,0,0]},"new":656,"old":395,"rank":4,"right":{"linear_Z4":[2,3,0,3,2,0,2,0,1],"matrix_rows":[268,144,260,210,13,194,256,80,288],"offset":95,"phase":2,"quadratic_rows":[12,18,257,265,2,0,0,0,268]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":405,"old":396,"rank":1,"right":{"linear_Z4":[0,3,0,0,3,0,0,2,0],"matrix_rows":[146,1,130,4,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":410,"old":396,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,2,0],"matrix_rows":[140,1,2,132,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":406,"old":397,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,3,0,2,0],"matrix_rows":[161,129,2,4,8,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[33,0,0,0,0,33,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":409,"old":397,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,2,0],"matrix_rows":[140,1,2,132,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":407,"old":398,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,2,0],"matrix_rows":[140,1,2,132,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":408,"old":398,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,3,0,2,0],"matrix_rows":[161,129,2,4,8,16,160,64,256],"offset":1,"phase":1,"quadratic_rows":[33,0,0,0,0,33,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":404,"old":399,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,2,0],"matrix_rows":[140,1,2,132,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":411,"old":399,"rank":1,"right":{"linear_Z4":[0,3,0,0,3,0,0,2,0],"matrix_rows":[146,1,130,4,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":406,"old":400,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,3,0,0,2],"matrix_rows":[289,257,2,4,8,16,288,64,128],"offset":1,"phase":1,"quadratic_rows":[33,0,0,0,0,33,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":408,"old":400,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,0,2],"matrix_rows":[268,1,2,260,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":404,"old":401,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,0,2],"matrix_rows":[268,1,2,260,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":410,"old":401,"rank":1,"right":{"linear_Z4":[0,3,0,0,3,0,0,0,2],"matrix_rows":[274,1,258,4,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":486,"old":402,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,2,0],"matrix_rows":[137,129,2,4,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":487,"old":402,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,0,0],"matrix_rows":[2,1,66,4,8,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,66,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":571,"old":402,"rank":1,"right":{"linear_Z4":[0,3,0,0,3,0,0,2,0],"matrix_rows":[146,1,130,4,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[3,3,3,2,0,0,0,0,0],"matrix_rows":[16,34,69,1,128,4,8,2,256],"offset":0,"phase":0,"quadratic_rows":[5,2,5,0,0,0,0,0,0]},"new":658,"old":402,"rank":4,"right":{"linear_Z4":[2,1,0,3,0,3,2,2,0],"matrix_rows":[44,2,4,64,13,130,32,16,256],"offset":93,"phase":1,"quadratic_rows":[12,130,1,41,0,40,0,2,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":485,"old":403,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,3,0,2],"matrix_rows":[322,1,258,4,8,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,66,0,0,0,0,66,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":490,"old":403,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,0,3,0,2],"matrix_rows":[336,1,2,4,8,272,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,80,0,80,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":507,"old":403,"rank":1,"right":{"linear_Z4":[0,0,3,3,2,0,0,0,0],"matrix_rows":[28,1,2,20,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":511,"old":403,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,0,2],"matrix_rows":[268,1,2,260,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":412,"old":404,"rank":1,"right":{"linear_Z4":[3,3,0,0,2,0,0,0,0],"matrix_rows":[3,33,50,20,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[35,51,16,16,14,3,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,34,4,65,128,1,262,6],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":589,"old":404,"rank":3,"right":{"linear_Z4":[0,3,0,0,3,0,2,0,2],"matrix_rows":[82,260,8,1,66,256,80,32,384],"offset":35,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[8,19,32,64,1,2,4,128,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":637,"old":404,"rank":3,"right":{"linear_Z4":[2,0,0,0,3,3,2,0,0],"matrix_rows":[50,2,64,19,32,4,8,128,256],"offset":31,"phase":1,"quadratic_rows":[18,1,0,0,49,48,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":412,"old":405,"rank":1,"right":{"linear_Z4":[1,1,0,0,2,0,0,0,2],"matrix_rows":[3,257,274,20,24,256,288,64,384],"offset":0,"phase":0,"quadratic_rows":[259,275,16,16,14,0,0,0,3]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[11,19,36,6,67,131,2,259,3],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":591,"old":405,"rank":3,"right":{"linear_Z4":[2,2,1,1,0,0,2,0,2],"matrix_rows":[3,75,84,257,274,92,256,288,384],"offset":218,"phase":1,"quadratic_rows":[328,344,12,31,10,0,3,0,3]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,17,35,3,66,130,4,258,2],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":639,"old":405,"rank":3,"right":{"linear_Z4":[1,1,0,2,2,0,2,0,2],"matrix_rows":[23,20,64,265,282,12,256,288,384],"offset":6,"phase":2,"quadratic_rows":[287,271,11,23,9,0,0,0,3]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":412,"old":406,"rank":1,"right":{"linear_Z4":[3,0,3,3,0,2,0,0,0],"matrix_rows":[13,289,2,292,296,16,256,64,384],"offset":1,"phase":1,"quadratic_rows":[301,0,301,301,0,13,0,0,13]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[8,16,35,1,2,64,4,128,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":605,"old":406,"rank":3,"right":{"linear_Z4":[0,2,0,3,3,0,2,0,0],"matrix_rows":[28,4,64,1,14,16,32,128,256],"offset":55,"phase":1,"quadratic_rows":[0,12,2,26,24,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,16,34,66,128,4,2,261,5],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":621,"old":406,"rank":3,"right":{"linear_Z4":[0,0,3,3,0,0,2,0,2],"matrix_rows":[257,76,32,256,2,68,72,16,384],"offset":11,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":412,"old":407,"rank":1,"right":{"linear_Z4":[1,0,1,1,0,2,0,0,0],"matrix_rows":[13,33,2,36,40,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[45,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[11,17,33,66,130,3,4,258,2],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":607,"old":407,"rank":3,"right":{"linear_Z4":[0,1,1,2,0,2,2,0,2],"matrix_rows":[15,9,64,33,290,300,256,272,384],"offset":6,"phase":2,"quadratic_rows":[38,303,295,34,0,15,0,0,6]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[12,19,35,67,131,5,1,259,3],"offset":0,"phase":0,"quadratic_rows":[5,2,5,0,0,0,0,0,0]},"new":623,"old":407,"rank":3,"right":{"linear_Z4":[1,2,2,0,0,1,2,0,2],"matrix_rows":[102,6,73,105,258,268,256,272,384],"offset":241,"phase":1,"quadratic_rows":[33,352,360,36,0,47,6,0,6]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":412,"old":408,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,2,0,2,0],"matrix_rows":[129,161,2,36,40,16,128,64,256],"offset":0,"phase":0,"quadratic_rows":[33,0,32,32,0,13,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,16,38,2,68,129,1,256,4],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":613,"old":408,"rank":3,"right":{"linear_Z4":[3,2,0,3,0,3,2,0,1],"matrix_rows":[97,268,260,65,14,256,272,96,128],"offset":55,"phase":1,"quadratic_rows":[33,12,258,266,0,33,0,0,268]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,16,32,64,128,2,4,3,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":629,"old":408,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,2,1,0],"matrix_rows":[1,160,64,128,2,4,8,16,256],"offset":13,"phase":1,"quadratic_rows":[128,0,0,0,0,128,0,161,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":412,"old":409,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,2,0,0,2],"matrix_rows":[257,289,2,36,40,16,256,64,128],"offset":0,"phase":0,"quadratic_rows":[33,0,32,32,0,13,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,16,38,2,68,129,1,4,256],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":615,"old":409,"rank":3,"right":{"linear_Z4":[3,2,0,3,0,3,2,1,0],"matrix_rows":[97,140,132,65,14,128,144,96,256],"offset":55,"phase":1,"quadratic_rows":[33,12,130,138,0,33,0,140,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,16,32,64,128,2,4,256,3],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":631,"old":409,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,1],"matrix_rows":[1,288,64,256,2,4,8,16,128],"offset":13,"phase":1,"quadratic_rows":[256,0,0,0,0,256,0,0,289]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":412,"old":410,"rank":1,"right":{"linear_Z4":[3,3,3,3,2,0,0,0,2],"matrix_rows":[271,257,274,276,280,256,288,64,128],"offset":1,"phase":1,"quadratic_rows":[15,31,31,31,14,0,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[8,16,33,2,64,128,4,3,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":597,"old":410,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,2,1,0],"matrix_rows":[4,136,64,1,2,128,16,32,256],"offset":37,"phase":1,"quadratic_rows":[0,0,128,128,0,0,0,140,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,19,36,68,1,130,4,256,2],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":645,"old":410,"rank":3,"right":{"linear_Z4":[2,0,3,3,3,0,2,0,1],"matrix_rows":[274,258,76,19,256,68,72,288,128],"offset":31,"phase":1,"quadratic_rows":[18,257,12,12,273,0,0,0,274]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":412,"old":411,"rank":1,"right":{"linear_Z4":[3,3,3,3,2,0,0,2,0],"matrix_rows":[143,129,146,148,152,128,160,64,256],"offset":1,"phase":1,"quadratic_rows":[15,31,31,31,14,0,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[8,16,33,2,64,128,4,256,3],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":599,"old":411,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,1],"matrix_rows":[4,264,64,1,2,256,16,32,128],"offset":37,"phase":1,"quadratic_rows":[0,0,256,256,0,0,0,0,268]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,19,36,68,1,130,4,2,256],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":647,"old":411,"rank":3,"right":{"linear_Z4":[2,0,3,3,3,0,2,1,0],"matrix_rows":[146,130,76,19,128,68,72,160,256],"offset":31,"phase":1,"quadratic_rows":[18,129,12,12,145,0,0,146,0]}},{"left":{"linear_Z4":[3,3,2,2,2,0,0,0,0],"matrix_rows":[33,66,132,8,14,13,16,268,12],"offset":0,"phase":0,"quadratic_rows":[13,14,3,3,0,0,0,0,0]},"new":1,"old":412,"rank":5,"right":{"linear_Z4":[0,0,2,2,0,0,2,0,0],"matrix_rows":[257,258,308,56,64,288,272,256,384],"offset":251,"phase":1,"quadratic_rows":[32,16,48,48,14,13,0,0,0]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,46,68,8,140,13,2,268,12],"offset":0,"phase":0,"quadratic_rows":[13,14,15,15,0,0,0,0,0]},"new":417,"old":412,"rank":4,"right":{"linear_Z4":[0,1,0,0,0,0,2,0,1],"matrix_rows":[257,258,358,106,288,322,256,272,384],"offset":85,"phase":0,"quadratic_rows":[32,334,98,98,0,13,14,0,258]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[29,35,69,9,15,140,1,268,12],"offset":0,"phase":0,"quadratic_rows":[13,14,15,15,0,0,0,0,0]},"new":418,"old":412,"rank":4,"right":{"linear_Z4":[1,3,1,1,0,0,2,0,1],"matrix_rows":[257,258,347,87,335,272,256,288,384],"offset":102,"phase":0,"quadratic_rows":[323,83,28,28,14,0,3,0,257]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[29,34,68,8,14,140,1,268,12],"offset":0,"phase":0,"quadratic_rows":[13,14,15,15,0,0,0,0,0]},"new":419,"old":412,"rank":4,"right":{"linear_Z4":[1,0,0,0,0,0,2,0,1],"matrix_rows":[257,258,341,89,321,272,256,288,384],"offset":102,"phase":0,"quadratic_rows":[333,16,81,81,14,0,13,0,257]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,34,72,140,14,13,4,268,12],"offset":0,"phase":0,"quadratic_rows":[13,14,15,15,0,0,0,0,0]},"new":420,"old":412,"rank":4,"right":{"linear_Z4":[0,0,1,3,2,2,0,0,1],"matrix_rows":[257,258,376,116,288,272,332,256,384],"offset":51,"phase":0,"quadratic_rows":[32,16,316,316,14,13,0,0,268]}},{"left":{"linear_Z4":[2,3,2,3,2,2,2,2,0],"matrix_rows":[1,264,4,10,16,2,32,64,128],"offset":0,"phase":0,"quadratic_rows":[0,10,0,10,0,0,0,0,0]},"new":0,"old":413,"rank":8,"right":{"linear_Z4":[2,3,2,1,2,0,2,2,2],"matrix_rows":[1,40,4,34,16,64,128,256,42],"offset":8,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":413,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[34,1,32,4,40,16,64,128,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,2,2,2,2,2,2,0],"matrix_rows":[258,3,1,4,8,16,32,64,128],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":0,"old":414,"rank":8,"right":{"linear_Z4":[3,1,0,2,2,2,2,2,2],"matrix_rows":[6,5,8,16,32,64,128,256,7],"offset":2,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,1,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":414,"rank":1,"right":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[5,4,6,8,16,32,64,128,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,3,2,2,2,2,0],"matrix_rows":[264,2,4,9,1,16,32,64,128],"offset":0,"phase":0,"quadratic_rows":[9,0,0,9,0,0,0,0,0]},"new":0,"old":415,"rank":8,"right":{"linear_Z4":[3,2,2,1,0,2,2,2,2],"matrix_rows":[24,2,4,17,32,64,128,256,25],"offset":8,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":415,"rank":1,"right":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[17,16,2,4,24,32,64,128,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,2,3,2,2,2,0],"matrix_rows":[1,2,272,8,20,4,32,64,128],"offset":0,"phase":0,"quadratic_rows":[0,0,20,0,20,0,0,0,0]},"new":0,"old":416,"rank":8,"right":{"linear_Z4":[2,2,3,2,1,0,2,2,2],"matrix_rows":[1,2,48,8,36,64,128,256,52],"offset":16,"phase":1,"quadratic_rows":[0,0,20,0,20,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":416,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[36,1,2,32,8,48,64,128,256],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,2,3,2,2,2,0],"matrix_rows":[1,272,4,8,18,32,2,64,128],"offset":0,"phase":0,"quadratic_rows":[0,18,0,0,18,0,0,0,0]},"new":0,"old":417,"rank":8,"right":{"linear_Z4":[2,3,2,2,1,2,0,2,2],"matrix_rows":[1,80,4,8,66,32,128,256,82],"offset":16,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":417,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[66,1,64,4,8,80,32,128,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,3,3,3,3,2,2,0],"matrix_rows":[318,3,5,9,17,33,1,64,128],"offset":0,"phase":0,"quadratic_rows":[63,63,63,63,63,63,0,0,0]},"new":0,"old":418,"rank":8,"right":{"linear_Z4":[3,1,1,1,1,1,0,2,2],"matrix_rows":[126,125,123,119,111,95,128,256,127],"offset":62,"phase":1,"quadratic_rows":[63,63,63,63,63,63,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":418,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[65,64,66,68,72,80,96,128,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,2,2,3,2,2,0],"matrix_rows":[288,2,4,8,16,33,1,64,128],"offset":0,"phase":0,"quadratic_rows":[33,0,0,0,0,33,0,0,0]},"new":0,"old":419,"rank":8,"right":{"linear_Z4":[3,2,2,2,2,1,0,2,2],"matrix_rows":[96,2,4,8,16,65,128,256,97],"offset":32,"phase":1,"quadratic_rows":[33,0,0,0,0,33,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":419,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[65,64,2,4,8,16,96,128,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,3,2,2,2,2,0],"matrix_rows":[1,2,264,12,16,32,4,64,128],"offset":0,"phase":0,"quadratic_rows":[0,0,12,12,0,0,0,0,0]},"new":0,"old":420,"rank":8,"right":{"linear_Z4":[2,2,3,1,2,2,0,2,2],"matrix_rows":[1,2,72,68,16,32,128,256,76],"offset":8,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":420,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[68,1,2,64,72,16,32,128,256],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":15,"old":421,"rank":1,"right":{"linear_Z4":[3,0,3,3,0,0,0,0,0],"matrix_rows":[5,41,10,36,32,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[45,8,37,11,0,5,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":18,"old":421,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,3,3,2],"matrix_rows":[448,1,2,4,8,16,32,320,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,0,192,192,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":25,"old":421,"rank":1,"right":{"linear_Z4":[0,3,3,3,3,0,3,3,2],"matrix_rows":[478,1,258,260,264,272,32,320,384],"offset":1,"phase":1,"quadratic_rows":[0,222,222,222,222,0,222,222,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":26,"old":421,"rank":1,"right":{"linear_Z4":[3,0,3,0,2,0,0,0,0],"matrix_rows":[21,17,2,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":44,"old":421,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,0,3,2,0],"matrix_rows":[208,1,2,4,8,144,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,80,0,80,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":47,"old":421,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,0,3,0,2],"matrix_rows":[336,1,2,4,8,272,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,80,0,80,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":54,"old":421,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,0,2],"matrix_rows":[261,257,2,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":55,"old":421,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,2,0],"matrix_rows":[133,129,2,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":73,"old":421,"rank":1,"right":{"linear_Z4":[0,0,0,0,3,0,0,3,2],"matrix_rows":[400,1,2,4,8,272,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,144,0,0,144,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":76,"old":421,"rank":1,"right":{"linear_Z4":[3,0,3,3,0,0,0,0,0],"matrix_rows":[5,33,10,44,32,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[37,8,45,14,0,5,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":83,"old":421,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,2,0,0],"matrix_rows":[69,65,2,68,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":84,"old":421,"rank":1,"right":{"linear_Z4":[3,3,0,3,3,0,3,3,2],"matrix_rows":[475,257,258,4,264,272,32,320,384],"offset":1,"phase":1,"quadratic_rows":[219,219,0,219,219,0,219,219,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":334,"old":421,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,0,2],"matrix_rows":[265,257,2,4,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":337,"old":421,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,2,0],"matrix_rows":[137,129,2,4,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":344,"old":421,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,3,2,0],"matrix_rows":[194,1,130,4,8,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,66,0,0,0,0,66,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":345,"old":421,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,3,0,2],"matrix_rows":[322,1,258,4,8,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,66,0,0,0,0,66,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":363,"old":421,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,2,0,0],"matrix_rows":[73,65,2,4,72,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":366,"old":421,"rank":1,"right":{"linear_Z4":[3,3,3,0,3,0,3,3,2],"matrix_rows":[471,257,258,260,8,272,32,320,384],"offset":1,"phase":1,"quadratic_rows":[215,215,215,0,215,0,215,215,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":373,"old":421,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,0,3,2],"matrix_rows":[386,1,258,4,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,130,0,0,0,0,0,130,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":374,"old":421,"rank":1,"right":{"linear_Z4":[0,0,3,3,2,0,0,0,0],"matrix_rows":[28,1,2,20,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":392,"old":421,"rank":1,"right":{"linear_Z4":[0,3,0,0,3,0,0,2,0],"matrix_rows":[146,1,130,4,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":395,"old":421,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,0,2],"matrix_rows":[268,1,2,260,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":402,"old":421,"rank":1,"right":{"linear_Z4":[0,3,0,0,3,0,0,0,2],"matrix_rows":[274,1,258,4,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":403,"old":421,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,2,0],"matrix_rows":[140,1,2,132,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[14,21,38,65,135,1,2,263,7],"offset":0,"phase":0,"quadratic_rows":[3,7,6,0,0,0,0,0,0]},"new":425,"old":421,"rank":3,"right":{"linear_Z4":[2,2,2,1,3,0,1,3,3],"matrix_rows":[218,477,223,297,322,292,32,272,384],"offset":0,"phase":0,"quadratic_rows":[42,325,34,217,216,5,218,216,258]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[11,21,35,68,2,4,135,263,7],"offset":0,"phase":0,"quadratic_rows":[3,7,6,0,0,0,0,0,0]},"new":426,"old":421,"rank":3,"right":{"linear_Z4":[2,2,2,1,1,0,3,3,3],"matrix_rows":[223,477,218,289,274,300,32,320,384],"offset":0,"phase":0,"quadratic_rows":[34,277,42,220,218,5,216,216,258]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[9,20,33,64,129,256,1,6,2],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":427,"old":421,"rank":3,"right":{"linear_Z4":[1,1,1,0,1,0,2,3,0],"matrix_rows":[21,384,258,65,386,68,8,80,32],"offset":0,"phase":0,"quadratic_rows":[85,130,85,0,85,0,21,130,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[14,23,33,70,131,1,4,263,7],"offset":0,"phase":0,"quadratic_rows":[5,6,7,0,0,0,0,0,0]},"new":433,"old":421,"rank":3,"right":{"linear_Z4":[2,3,1,2,2,0,1,3,3],"matrix_rows":[214,223,463,293,258,32,296,336,384],"offset":0,"phase":0,"quadratic_rows":[52,198,199,48,329,9,214,198,272]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[9,17,32,65,132,256,1,6,2],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":434,"old":421,"rank":3,"right":{"linear_Z4":[1,1,0,1,1,0,2,3,0],"matrix_rows":[11,384,272,65,66,4,72,400,32],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,144,0,11,144,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[8,17,33,65,1,128,260,6,2],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":435,"old":421,"rank":3,"right":{"linear_Z4":[0,1,1,1,2,0,1,3,0],"matrix_rows":[14,384,320,1,18,20,24,32,448],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,192,192,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,33,64,1,130,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":528,"old":421,"rank":2,"right":{"linear_Z4":[3,0,3,3,0,0,3,3,2],"matrix_rows":[5,448,41,10,36,32,16,320,384],"offset":3,"phase":2,"quadratic_rows":[45,8,37,11,0,5,192,192,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[6,8,18,35,65,3,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":529,"old":421,"rank":2,"right":{"linear_Z4":[3,0,3,0,1,0,1,1,2],"matrix_rows":[216,5,297,10,292,32,272,320,384],"offset":2,"phase":1,"quadratic_rows":[301,8,293,467,472,5,472,472,221]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,16,32,66,128,258,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":530,"old":421,"rank":2,"right":{"linear_Z4":[0,0,0,0,3,0,3,3,0],"matrix_rows":[384,208,1,2,4,8,400,32,448],"offset":2,"phase":1,"quadratic_rows":[0,0,0,0,336,0,336,384,208]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,32,66,128,258,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":531,"old":421,"rank":2,"right":{"linear_Z4":[3,0,3,0,3,0,3,2,2],"matrix_rows":[261,208,257,2,260,8,144,32,192],"offset":3,"phase":2,"quadratic_rows":[5,0,5,0,80,0,80,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,33,66,1,128,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":532,"old":421,"rank":2,"right":{"linear_Z4":[3,0,3,3,3,0,0,3,2],"matrix_rows":[5,400,33,10,44,32,272,64,384],"offset":3,"phase":2,"quadratic_rows":[37,8,45,14,144,5,0,144,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,32,66,128,1,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":533,"old":421,"rank":2,"right":{"linear_Z4":[3,0,3,0,3,0,2,3,2],"matrix_rows":[69,400,65,2,68,8,272,32,384],"offset":3,"phase":2,"quadratic_rows":[5,0,5,0,144,0,0,144,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[6,8,16,34,64,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":566,"old":421,"rank":2,"right":{"linear_Z4":[3,0,0,3,0,0,0,3,0],"matrix_rows":[384,137,385,2,4,392,16,32,64],"offset":2,"phase":1,"quadratic_rows":[265,0,0,265,0,0,0,384,137]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,33,64,128,258,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":567,"old":421,"rank":2,"right":{"linear_Z4":[3,3,0,3,0,0,3,2,2],"matrix_rows":[265,194,257,130,4,264,16,32,192],"offset":3,"phase":2,"quadratic_rows":[9,66,0,9,0,0,66,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,18,35,66,128,1,258,2],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":568,"old":421,"rank":2,"right":{"linear_Z4":[3,1,1,0,1,0,3,1,1],"matrix_rows":[329,222,65,258,260,328,272,32,384],"offset":1,"phase":1,"quadratic_rows":[265,478,478,215,478,0,222,478,407]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,33,64,128,1,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":569,"old":421,"rank":2,"right":{"linear_Z4":[3,3,0,3,0,0,2,3,2],"matrix_rows":[73,386,65,258,4,72,16,32,384],"offset":3,"phase":2,"quadratic_rows":[9,130,0,9,0,0,0,130,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,18,34,65,128,256,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":570,"old":421,"rank":2,"right":{"linear_Z4":[0,3,3,3,3,0,0,2,2],"matrix_rows":[146,268,1,130,260,264,144,32,64],"offset":3,"phase":2,"quadratic_rows":[0,18,12,12,18,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,16,32,66,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":571,"old":421,"rank":2,"right":{"linear_Z4":[0,3,0,0,3,0,0,3,0],"matrix_rows":[384,146,1,386,4,8,400,32,64],"offset":2,"phase":1,"quadratic_rows":[0,274,0,0,274,0,0,384,146]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[6,10,16,35,65,1,131,259,3],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":27,"old":422,"rank":2,"right":{"linear_Z4":[1,1,0,2,1,0,2,2,2],"matrix_rows":[216,219,305,290,20,264,32,320,384],"offset":0,"phase":0,"quadratic_rows":[491,507,16,259,278,3,259,259,219]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,1,32,64,130,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":28,"old":422,"rank":2,"right":{"linear_Z4":[3,3,0,2,0,0,3,3,2],"matrix_rows":[11,448,9,10,4,16,32,320,384],"offset":3,"phase":2,"quadratic_rows":[3,3,0,0,0,0,192,192,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,32,65,1,130,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":33,"old":422,"rank":2,"right":{"linear_Z4":[3,3,0,0,3,0,3,3,2],"matrix_rows":[3,448,49,34,20,8,32,320,384],"offset":3,"phase":2,"quadratic_rows":[51,35,16,0,21,3,192,192,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[6,11,17,3,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":34,"old":422,"rank":2,"right":{"linear_Z4":[3,2,3,2,3,0,3,3,0],"matrix_rows":[470,267,265,10,260,272,32,320,384],"offset":3,"phase":2,"quadratic_rows":[3,213,214,0,214,0,214,214,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":102,"old":422,"rank":1,"right":{"linear_Z4":[3,3,0,0,3,0,0,0,0],"matrix_rows":[3,33,50,4,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[35,51,0,16,26,3,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":105,"old":422,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,0,0,3,2],"matrix_rows":[388,1,2,260,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,132,0,0,0,0,132,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":112,"old":422,"rank":1,"right":{"linear_Z4":[3,3,3,3,0,0,3,3,2],"matrix_rows":[463,257,258,260,264,16,32,320,384],"offset":1,"phase":1,"quadratic_rows":[207,207,207,207,0,0,207,207,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":113,"old":422,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,2,0,0],"matrix_rows":[81,65,2,4,8,80,32,128,256],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":131,"old":422,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,0,3,0,2],"matrix_rows":[324,1,2,260,8,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,0,68,0,0,0,68,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":134,"old":422,"rank":1,"right":{"linear_Z4":[0,0,3,0,0,0,3,2,0],"matrix_rows":[196,1,2,132,8,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,0,68,0,0,0,68,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":141,"old":422,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,2,0],"matrix_rows":[145,129,2,4,8,144,32,64,256],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":142,"old":422,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,0,2],"matrix_rows":[273,257,2,4,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[17,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":276,"old":422,"rank":1,"right":{"linear_Z4":[3,0,3,3,3,0,3,3,2],"matrix_rows":[477,257,2,260,264,272,32,320,384],"offset":1,"phase":1,"quadratic_rows":[221,0,221,221,221,0,221,221,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":279,"old":422,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,2,0,0],"matrix_rows":[67,65,66,4,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":286,"old":422,"rank":1,"right":{"linear_Z4":[3,3,0,0,3,0,0,0,0],"matrix_rows":[3,33,50,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[35,51,16,0,22,3,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":287,"old":422,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,0,0,3,2],"matrix_rows":[392,1,2,4,264,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,136,0,0,0,136,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":305,"old":422,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,2,0],"matrix_rows":[131,129,130,4,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":308,"old":422,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,0,2],"matrix_rows":[259,257,258,4,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":315,"old":422,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,0,3,0,2],"matrix_rows":[328,1,2,4,264,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,72,0,0,72,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":316,"old":422,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,0,3,2,0],"matrix_rows":[200,1,2,4,136,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,72,0,0,72,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,18,34,64,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":404,"old":422,"rank":2,"right":{"linear_Z4":[0,0,3,3,0,0,0,3,0],"matrix_rows":[384,140,1,2,388,392,16,32,64],"offset":2,"phase":1,"quadratic_rows":[0,0,268,268,0,0,0,384,140]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,16,32,66,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":405,"old":422,"rank":2,"right":{"linear_Z4":[0,3,0,0,3,0,0,3,0],"matrix_rows":[384,146,1,386,4,8,400,32,64],"offset":2,"phase":1,"quadratic_rows":[0,274,0,0,274,0,0,384,146]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,18,34,65,128,256,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":410,"old":422,"rank":2,"right":{"linear_Z4":[0,3,3,3,3,0,0,2,2],"matrix_rows":[274,140,1,258,132,136,272,32,64],"offset":3,"phase":2,"quadratic_rows":[0,18,12,12,18,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,18,34,65,128,256,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":411,"old":422,"rank":2,"right":{"linear_Z4":[0,3,3,3,3,0,0,2,2],"matrix_rows":[146,268,1,130,260,264,144,32,64],"offset":3,"phase":2,"quadratic_rows":[0,18,12,12,18,0,0,0,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[14,19,37,65,134,3,4,261,5],"offset":0,"phase":0,"quadratic_rows":[5,2,5,0,0,0,0,0,0]},"new":424,"old":422,"rank":3,"right":{"linear_Z4":[0,0,2,1,0,0,0,2,3],"matrix_rows":[206,17,471,291,32,260,328,304,384],"offset":2,"phase":1,"quadratic_rows":[228,24,25,398,230,17,17,25,264]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[9,16,33,68,129,256,1,6,2],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":428,"old":422,"rank":3,"right":{"linear_Z4":[1,0,1,1,1,0,2,3,0],"matrix_rows":[21,384,264,65,2,68,392,80,32],"offset":0,"phase":0,"quadratic_rows":[85,0,85,136,85,0,21,136,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[14,22,35,71,129,1,4,263,7],"offset":0,"phase":0,"quadratic_rows":[5,6,7,0,0,0,0,0,0]},"new":432,"old":422,"rank":3,"right":{"linear_Z4":[2,2,2,3,1,0,1,3,3],"matrix_rows":[220,223,475,305,290,324,264,32,384],"offset":0,"phase":0,"quadratic_rows":[52,36,323,216,217,3,220,216,260]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[18,34,72,131,257,1,3,12,4],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":437,"old":422,"rank":4,"right":{"linear_Z4":[1,1,1,2,3,0,2,3,0],"matrix_rows":[8,11,384,260,113,98,388,88,32],"offset":0,"phase":0,"quadratic_rows":[123,107,132,83,25,3,11,132,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,18,34,67,128,1,258,2],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":534,"old":422,"rank":2,"right":{"linear_Z4":[3,1,1,1,0,0,3,1,1],"matrix_rows":[337,222,65,258,260,264,336,32,384],"offset":1,"phase":1,"quadratic_rows":[273,478,478,478,207,0,222,478,399]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,18,32,65,1,128,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":535,"old":422,"rank":2,"right":{"linear_Z4":[3,3,3,0,3,0,0,3,2],"matrix_rows":[3,388,33,50,260,24,32,64,384],"offset":3,"phase":2,"quadratic_rows":[35,51,132,16,26,3,0,132,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,18,32,65,128,1,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":536,"old":422,"rank":2,"right":{"linear_Z4":[3,0,3,0,3,0,2,3,2],"matrix_rows":[81,388,65,2,260,8,80,32,384],"offset":3,"phase":2,"quadratic_rows":[17,0,132,0,17,0,0,132,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,19,35,66,2,131,259,3],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":537,"old":422,"rank":2,"right":{"linear_Z4":[3,3,2,2,3,0,2,2,1],"matrix_rows":[463,460,289,306,260,280,32,320,384],"offset":3,"phase":2,"quadratic_rows":[239,255,259,275,26,3,259,259,460]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[6,8,16,32,66,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":538,"old":422,"rank":2,"right":{"linear_Z4":[3,0,0,0,3,0,0,3,0],"matrix_rows":[384,145,385,2,4,8,400,32,64],"offset":2,"phase":1,"quadratic_rows":[273,0,0,0,273,0,0,384,145]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,18,32,64,128,258,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":539,"old":422,"rank":2,"right":{"linear_Z4":[0,0,3,0,0,0,3,3,0],"matrix_rows":[384,196,1,2,388,8,16,32,448],"offset":2,"phase":1,"quadratic_rows":[0,0,324,0,0,0,324,384,196]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,18,32,65,128,258,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":540,"old":422,"rank":2,"right":{"linear_Z4":[3,0,3,0,3,0,3,2,2],"matrix_rows":[273,196,257,2,132,8,272,32,192],"offset":3,"phase":2,"quadratic_rows":[17,0,68,0,17,0,68,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,18,32,65,128,258,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":541,"old":422,"rank":2,"right":{"linear_Z4":[3,0,3,0,3,0,3,2,2],"matrix_rows":[145,324,129,2,260,8,144,32,320],"offset":3,"phase":2,"quadratic_rows":[17,0,68,0,17,0,68,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,34,65,1,128,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":558,"old":422,"rank":2,"right":{"linear_Z4":[3,3,0,3,3,0,0,3,2],"matrix_rows":[3,392,33,50,20,264,32,64,384],"offset":3,"phase":2,"quadratic_rows":[35,51,16,136,22,3,0,136,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[7,9,18,34,66,128,3,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":559,"old":422,"rank":2,"right":{"linear_Z4":[2,3,3,3,3,0,2,3,0],"matrix_rows":[323,413,65,322,260,264,272,32,384],"offset":3,"phase":2,"quadratic_rows":[158,3,157,157,157,0,0,157,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,34,64,128,1,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":560,"old":422,"rank":2,"right":{"linear_Z4":[3,3,0,3,0,0,2,3,2],"matrix_rows":[67,392,65,66,4,264,16,32,384],"offset":3,"phase":2,"quadratic_rows":[3,3,0,136,0,0,0,136,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,35,66,2,131,259,3],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":561,"old":422,"rank":2,"right":{"linear_Z4":[1,1,0,2,1,0,2,2,2],"matrix_rows":[219,216,289,306,20,264,32,320,384],"offset":0,"phase":0,"quadratic_rows":[507,491,16,259,277,3,259,259,219]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,16,34,64,128,258,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":562,"old":422,"rank":2,"right":{"linear_Z4":[0,0,0,3,0,0,3,3,0],"matrix_rows":[384,200,1,2,4,392,16,32,448],"offset":2,"phase":1,"quadratic_rows":[0,0,0,328,0,0,328,384,200]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[6,10,16,32,64,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":563,"old":422,"rank":2,"right":{"linear_Z4":[3,3,0,0,0,0,0,3,0],"matrix_rows":[384,131,385,386,4,8,16,32,64],"offset":2,"phase":1,"quadratic_rows":[259,259,0,0,0,0,0,384,131]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,34,64,128,258,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":564,"old":422,"rank":2,"right":{"linear_Z4":[3,3,0,3,0,0,3,2,2],"matrix_rows":[259,200,257,258,4,136,16,32,192],"offset":3,"phase":2,"quadratic_rows":[3,3,0,72,0,0,72,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,34,64,128,258,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":565,"old":422,"rank":2,"right":{"linear_Z4":[3,3,0,3,0,0,3,2,2],"matrix_rows":[131,328,129,130,4,264,16,32,320],"offset":3,"phase":2,"quadratic_rows":[3,3,0,72,0,0,72,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,32,64,1,130,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":29,"old":423,"rank":2,"right":{"linear_Z4":[0,3,3,0,0,2,3,3,2],"matrix_rows":[38,448,1,34,36,8,16,320,384],"offset":3,"phase":2,"quadratic_rows":[0,6,6,0,0,0,192,192,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,35,3,66,130,258,2],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":30,"old":423,"rank":2,"right":{"linear_Z4":[0,3,3,0,0,1,1,1,2],"matrix_rows":[6,232,9,282,276,16,288,320,384],"offset":1,"phase":1,"quadratic_rows":[8,286,278,483,6,488,488,488,238]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,9,18,35,64,2,131,259,3],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":31,"old":423,"rank":2,"right":{"linear_Z4":[0,1,3,0,0,0,0,0,1],"matrix_rows":[235,461,257,290,36,264,16,320,384],"offset":2,"phase":1,"quadratic_rows":[38,459,493,38,0,461,38,38,294]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,33,1,64,130,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":32,"old":423,"rank":2,"right":{"linear_Z4":[0,3,3,3,0,0,3,3,2],"matrix_rows":[6,448,9,26,20,16,32,320,384],"offset":3,"phase":2,"quadratic_rows":[8,30,22,11,6,0,192,192,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":160,"old":423,"rank":1,"right":{"linear_Z4":[3,3,3,0,0,3,3,3,2],"matrix_rows":[487,257,258,260,8,16,288,320,384],"offset":1,"phase":1,"quadratic_rows":[231,231,231,0,0,231,231,231,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":163,"old":423,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,2,0,0],"matrix_rows":[74,1,66,4,72,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":170,"old":423,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,2,0,0,0],"matrix_rows":[44,1,2,36,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":171,"old":423,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,0,0,3,2],"matrix_rows":[385,257,2,4,8,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[129,0,0,0,0,0,0,129,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":189,"old":423,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,0,2,0],"matrix_rows":[138,1,130,4,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":192,"old":423,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,0,0,2],"matrix_rows":[266,1,258,4,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":199,"old":423,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,0,3,0,2],"matrix_rows":[321,257,2,4,8,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[65,0,0,0,0,0,65,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":200,"old":423,"rank":1,"right":{"linear_Z4":[3,0,0,0,0,0,3,2,0],"matrix_rows":[193,129,2,4,8,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[65,0,0,0,0,0,65,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":218,"old":423,"rank":1,"right":{"linear_Z4":[0,3,3,3,0,0,0,0,0],"matrix_rows":[6,9,18,28,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[8,22,30,13,6,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":221,"old":423,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,3,0,3,2],"matrix_rows":[416,1,2,4,8,16,288,64,384],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,160,0,160,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":228,"old":423,"rank":1,"right":{"linear_Z4":[3,3,0,3,0,3,3,3,2],"matrix_rows":[491,257,258,4,264,16,288,320,384],"offset":1,"phase":1,"quadratic_rows":[235,235,0,235,0,235,235,235,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":229,"old":423,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,2,0,0],"matrix_rows":[70,1,66,68,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":247,"old":423,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,3,3,0,2],"matrix_rows":[352,1,2,4,8,16,288,320,128],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,96,96,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":250,"old":423,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,3,3,2,0],"matrix_rows":[224,1,2,4,8,16,160,192,256],"offset":1,"phase":1,"quadratic_rows":[0,0,0,0,0,96,96,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":257,"old":423,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,2,0],"matrix_rows":[134,1,130,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":258,"old":423,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,0,2],"matrix_rows":[262,1,258,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[6,8,16,32,64,130,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":406,"old":423,"rank":2,"right":{"linear_Z4":[3,0,0,0,0,3,0,3,0],"matrix_rows":[384,161,385,2,4,8,16,416,64],"offset":2,"phase":1,"quadratic_rows":[289,0,0,0,0,289,0,384,161]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,18,34,64,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":407,"old":423,"rank":2,"right":{"linear_Z4":[0,0,3,3,0,0,0,3,0],"matrix_rows":[384,140,1,2,388,392,16,32,64],"offset":2,"phase":1,"quadratic_rows":[0,0,268,268,0,0,0,384,140]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,18,34,64,129,256,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":408,"old":423,"rank":2,"right":{"linear_Z4":[3,0,3,3,0,3,0,2,2],"matrix_rows":[161,268,129,2,260,264,16,160,64],"offset":3,"phase":2,"quadratic_rows":[33,0,12,12,0,33,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,18,34,64,129,256,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":409,"old":423,"rank":2,"right":{"linear_Z4":[3,0,3,3,0,3,0,2,2],"matrix_rows":[289,140,257,2,132,136,16,288,64],"offset":3,"phase":2,"quadratic_rows":[33,0,12,12,0,33,0,0,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[15,21,34,69,2,131,4,263,7],"offset":0,"phase":0,"quadratic_rows":[5,6,7,0,0,0,0,0,0]},"new":429,"old":423,"rank":3,"right":{"linear_Z4":[3,2,1,2,0,2,1,3,3],"matrix_rows":[239,229,463,257,278,16,280,352,384],"offset":0,"phase":0,"quadratic_rows":[197,52,199,48,10,330,229,197,288]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[14,21,37,66,2,135,1,263,7],"offset":0,"phase":0,"quadratic_rows":[7,3,5,0,0,0,0,0,0]},"new":430,"old":423,"rank":3,"right":{"linear_Z4":[2,2,2,1,0,3,1,3,3],"matrix_rows":[494,233,239,321,282,276,16,288,384],"offset":0,"phase":0,"quadratic_rows":[326,25,17,234,6,232,233,232,257]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[12,18,34,64,128,258,2,5,1],"offset":0,"phase":0,"quadratic_rows":[5,2,5,0,0,0,0,0,0]},"new":431,"old":423,"rank":3,"right":{"linear_Z4":[1,1,1,0,0,1,2,3,0],"matrix_rows":[384,38,257,385,66,68,8,16,96],"offset":0,"phase":0,"quadratic_rows":[129,102,102,0,0,102,38,129,0]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,34,67,130,3,264,1,12,4],"offset":0,"phase":0,"quadratic_rows":[1,2,12,12,0,0,0,0,0]},"new":436,"old":423,"rank":4,"right":{"linear_Z4":[1,3,3,3,0,1,2,3,0],"matrix_rows":[1,10,384,288,69,86,16,88,416],"offset":2,"phase":1,"quadratic_rows":[69,94,7,90,10,160,11,160,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,18,34,64,2,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":542,"old":423,"rank":2,"right":{"linear_Z4":[3,0,3,3,0,2,0,3,2],"matrix_rows":[385,44,257,2,36,40,16,64,384],"offset":3,"phase":2,"quadratic_rows":[129,0,12,12,0,0,0,129,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,17,35,64,129,2,257,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":543,"old":423,"rank":2,"right":{"linear_Z4":[1,3,1,0,0,1,3,1,1],"matrix_rows":[237,330,257,66,260,328,16,288,384],"offset":2,"phase":1,"quadratic_rows":[493,266,493,231,0,493,237,493,423]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,34,64,128,2,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":544,"old":423,"rank":2,"right":{"linear_Z4":[3,3,0,3,0,0,2,3,2],"matrix_rows":[385,74,257,66,4,72,16,32,384],"offset":3,"phase":2,"quadratic_rows":[129,10,0,10,0,0,0,129,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,18,35,64,2,129,257,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":545,"old":423,"rank":2,"right":{"linear_Z4":[1,1,3,0,0,3,1,1,1],"matrix_rows":[235,300,257,258,36,296,16,320,384],"offset":2,"phase":1,"quadratic_rows":[491,491,268,231,0,235,491,491,455]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[6,8,16,32,64,128,258,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":546,"old":423,"rank":2,"right":{"linear_Z4":[3,0,0,0,0,0,3,3,0],"matrix_rows":[384,193,385,2,4,8,16,32,448],"offset":2,"phase":1,"quadratic_rows":[321,0,0,0,0,0,321,384,193]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,16,34,64,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":547,"old":423,"rank":2,"right":{"linear_Z4":[0,3,0,3,0,0,0,3,0],"matrix_rows":[384,138,1,386,4,392,16,32,64],"offset":2,"phase":1,"quadratic_rows":[0,266,0,266,0,0,0,384,138]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,34,64,128,257,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":548,"old":423,"rank":2,"right":{"linear_Z4":[3,3,0,3,0,0,3,2,2],"matrix_rows":[193,266,129,258,4,264,16,32,192],"offset":3,"phase":2,"quadratic_rows":[65,10,0,10,0,0,65,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,34,64,128,257,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":549,"old":423,"rank":2,"right":{"linear_Z4":[3,3,0,3,0,0,3,2,2],"matrix_rows":[321,138,257,130,4,136,16,32,320],"offset":3,"phase":2,"quadratic_rows":[65,10,0,10,0,0,65,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,19,33,64,129,2,257,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":550,"old":423,"rank":2,"right":{"linear_Z4":[1,3,0,1,0,1,3,1,1],"matrix_rows":[237,326,257,66,324,264,16,288,384],"offset":2,"phase":1,"quadratic_rows":[493,262,235,493,0,493,237,493,427]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,33,1,66,128,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":551,"old":423,"rank":2,"right":{"linear_Z4":[0,3,3,3,0,3,0,3,2],"matrix_rows":[6,416,9,18,28,16,288,64,384],"offset":3,"phase":2,"quadratic_rows":[8,22,30,13,6,160,0,160,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,32,64,130,1,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":552,"old":423,"rank":2,"right":{"linear_Z4":[0,3,3,0,0,3,2,3,2],"matrix_rows":[70,416,1,66,68,8,16,288,384],"offset":3,"phase":2,"quadratic_rows":[0,6,6,0,0,160,0,160,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[4,11,19,33,1,66,130,258,2],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":553,"old":423,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,1,1,1,2],"matrix_rows":[6,238,9,274,284,16,288,320,384],"offset":1,"phase":1,"quadratic_rows":[8,504,496,483,6,494,494,494,238]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,18,32,64,128,256,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":554,"old":423,"rank":2,"right":{"linear_Z4":[0,3,3,0,0,0,0,3,0],"matrix_rows":[384,134,1,386,388,8,16,32,64],"offset":2,"phase":1,"quadratic_rows":[0,262,262,0,0,0,0,384,134]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,16,32,64,130,258,3,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":555,"old":423,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,3,3,3,0],"matrix_rows":[384,224,1,2,4,8,16,416,448],"offset":2,"phase":1,"quadratic_rows":[0,0,0,0,0,352,352,384,224]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,32,64,130,258,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":556,"old":423,"rank":2,"right":{"linear_Z4":[0,3,3,0,0,3,3,2,2],"matrix_rows":[262,224,1,258,260,8,16,160,192],"offset":3,"phase":2,"quadratic_rows":[0,6,6,0,0,96,96,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,32,64,130,258,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":557,"old":423,"rank":2,"right":{"linear_Z4":[0,3,3,0,0,3,3,2,2],"matrix_rows":[134,352,1,130,132,8,16,288,320],"offset":3,"phase":2,"quadratic_rows":[0,6,6,0,0,96,96,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,8,18,35,67,128,256,1,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":740,"old":424,"rank":2,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,1],"matrix_rows":[281,28,129,2,256,264,272,32,64],"offset":18,"phase":0,"quadratic_rows":[409,0,280,5,5,0,0,1,261]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[7,8,17,34,66,128,256,2,3],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":741,"old":424,"rank":2,"right":{"linear_Z4":[0,0,0,1,1,0,0,0,2],"matrix_rows":[261,153,257,2,256,136,144,32,64],"offset":17,"phase":0,"quadratic_rows":[156,0,1,25,25,0,0,1,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[7,8,17,35,66,2,128,259,3],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":742,"old":424,"rank":2,"right":{"linear_Z4":[2,0,0,2,2,0,0,2,2],"matrix_rows":[429,153,257,2,288,264,32,64,384],"offset":64,"phase":3,"quadratic_rows":[52,0,137,52,169,153,0,52,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,8,18,33,67,128,1,259,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":743,"old":424,"rank":2,"right":{"linear_Z4":[2,0,0,1,0,0,0,0,1],"matrix_rows":[408,212,9,2,320,64,272,32,384],"offset":37,"phase":3,"quadratic_rows":[8,0,400,473,76,0,408,76,332]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,18,33,67,128,256,1,3],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":744,"old":424,"rank":2,"right":{"linear_Z4":[1,0,0,1,0,0,0,0,2],"matrix_rows":[153,276,129,2,256,136,272,32,64],"offset":18,"phase":0,"quadratic_rows":[25,0,16,25,141,0,0,16,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,8,17,35,66,128,256,2,3],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":745,"old":424,"rank":2,"right":{"linear_Z4":[0,0,0,0,1,0,0,2,1],"matrix_rows":[13,281,257,2,256,264,144,32,64],"offset":17,"phase":0,"quadratic_rows":[20,0,265,20,409,0,0,16,276]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,8,17,32,66,2,128,259,3],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":746,"old":424,"rank":2,"right":{"linear_Z4":[0,0,0,2,1,0,0,0,1],"matrix_rows":[165,401,257,2,288,24,32,64,384],"offset":98,"phase":3,"quadratic_rows":[52,0,385,16,441,401,0,52,308]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,2,19,35,64,128,259,3],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":747,"old":424,"rank":2,"right":{"linear_Z4":[2,0,0,2,2,0,0,2,2],"matrix_rows":[153,156,256,258,264,272,32,64,384],"offset":4,"phase":3,"quadratic_rows":[408,0,152,261,261,0,0,261,153]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,9,19,32,66,128,1,259,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":748,"old":425,"rank":2,"right":{"linear_Z4":[2,1,0,0,0,0,0,0,1],"matrix_rows":[390,212,3,64,260,8,320,32,384],"offset":13,"phase":3,"quadratic_rows":[2,455,82,0,388,0,390,82,338]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,11,17,32,66,1,128,259,3],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":749,"old":425,"rank":2,"right":{"linear_Z4":[2,2,2,0,0,0,0,2,2],"matrix_rows":[135,435,257,258,32,8,288,64,384],"offset":16,"phase":3,"quadratic_rows":[52,52,163,0,131,135,0,52,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,11,19,32,66,128,256,1,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":750,"old":425,"rank":2,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,1],"matrix_rows":[263,22,129,258,260,8,256,32,64],"offset":66,"phase":0,"quadratic_rows":[391,17,17,0,262,0,0,1,273]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[7,9,17,32,66,128,256,1,3],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":751,"old":425,"rank":2,"right":{"linear_Z4":[0,1,1,0,0,0,0,0,2],"matrix_rows":[135,273,257,130,132,8,256,32,64],"offset":66,"phase":0,"quadratic_rows":[150,7,7,0,1,0,0,1,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,11,19,33,2,64,128,259,3],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":752,"old":425,"rank":2,"right":{"linear_Z4":[2,2,2,0,0,0,0,2,2],"matrix_rows":[135,150,256,258,260,264,32,64,384],"offset":4,"phase":3,"quadratic_rows":[390,273,273,0,134,0,0,273,135]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[7,8,17,32,66,1,128,259,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":753,"old":425,"rank":2,"right":{"linear_Z4":[0,2,1,0,0,0,0,0,1],"matrix_rows":[389,177,257,6,32,8,288,64,384],"offset":25,"phase":3,"quadratic_rows":[52,4,423,0,385,389,0,52,308]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,19,32,66,128,256,1,3],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":754,"old":425,"rank":2,"right":{"linear_Z4":[1,1,0,0,0,0,0,0,2],"matrix_rows":[135,276,129,130,260,8,256,32,64],"offset":66,"phase":0,"quadratic_rows":[7,7,147,0,4,0,0,4,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[7,11,17,32,66,128,256,1,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":755,"old":425,"rank":2,"right":{"linear_Z4":[0,0,1,0,0,0,0,2,1],"matrix_rows":[263,19,257,258,132,8,256,32,64],"offset":66,"phase":0,"quadratic_rows":[20,20,391,0,259,0,0,4,276]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":764,"old":426,"rank":1,"right":{"linear_Z4":[1,1,3,0,0,0,0,3,0],"matrix_rows":[199,321,322,260,8,16,32,256,384],"offset":135,"phase":0,"quadratic_rows":[391,391,455,0,0,0,388,455,199]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":765,"old":426,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,3,3,2],"matrix_rows":[455,257,258,256,264,16,32,320,384],"offset":9,"phase":0,"quadratic_rows":[199,199,195,0,0,0,199,199,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":766,"old":426,"rank":1,"right":{"linear_Z4":[3,1,1,0,0,0,0,3,0],"matrix_rows":[199,257,322,324,8,16,32,256,384],"offset":141,"phase":0,"quadratic_rows":[455,391,391,0,0,0,385,455,199]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":767,"old":426,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,3,3,2],"matrix_rows":[455,256,258,260,8,16,288,320,384],"offset":3,"phase":0,"quadratic_rows":[198,199,199,0,0,0,199,199,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":768,"old":426,"rank":1,"right":{"linear_Z4":[1,3,3,0,0,0,1,0,0],"matrix_rows":[199,385,258,260,8,16,32,448,256],"offset":387,"phase":0,"quadratic_rows":[327,455,455,0,0,0,327,262,199]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":769,"old":426,"rank":1,"right":{"linear_Z4":[3,1,1,0,0,0,3,0,0],"matrix_rows":[199,257,386,388,8,16,32,320,256],"offset":269,"phase":0,"quadratic_rows":[455,327,327,0,0,0,455,321,199]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":770,"old":426,"rank":1,"right":{"linear_Z4":[3,3,1,0,0,0,1,0,0],"matrix_rows":[199,257,258,388,8,16,32,448,256],"offset":393,"phase":0,"quadratic_rows":[455,455,327,0,0,0,327,259,199]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":771,"old":426,"rank":1,"right":{"linear_Z4":[1,1,3,0,0,0,3,0,0],"matrix_rows":[199,385,386,260,8,16,32,320,256],"offset":263,"phase":0,"quadratic_rows":[327,327,455,0,0,0,455,324,199]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[6,11,17,32,65,128,1,259,3],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":756,"old":427,"rank":2,"right":{"linear_Z4":[1,1,3,0,3,0,0,0,3],"matrix_rows":[342,81,339,256,68,24,64,32,384],"offset":15,"phase":0,"quadratic_rows":[259,263,278,16,28,0,0,0,263]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[7,8,18,32,65,2,3,128,256],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":757,"old":427,"rank":2,"right":{"linear_Z4":[2,0,2,2,2,0,2,0,0],"matrix_rows":[97,21,81,2,32,24,96,128,256],"offset":117,"phase":3,"quadratic_rows":[36,0,49,16,44,21,0,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,34,67,2,3,128,256],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":758,"old":427,"rank":2,"right":{"linear_Z4":[3,2,3,1,0,0,0,0,0],"matrix_rows":[5,24,113,26,100,32,64,128,256],"offset":43,"phase":0,"quadratic_rows":[117,24,101,42,35,29,5,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,35,66,3,2,128,256],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":759,"old":427,"rank":2,"right":{"linear_Z4":[1,0,1,3,2,0,0,0,0],"matrix_rows":[29,24,105,2,124,32,64,128,256],"offset":55,"phase":1,"quadratic_rows":[117,0,101,56,41,29,5,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[7,8,19,34,65,2,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":760,"old":427,"rank":2,"right":{"linear_Z4":[2,0,2,0,1,0,0,0,0],"matrix_rows":[5,29,113,2,100,32,64,128,256],"offset":35,"phase":1,"quadratic_rows":[104,0,120,53,60,29,5,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,35,66,3,2,128,256],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":761,"old":427,"rank":2,"right":{"linear_Z4":[1,2,1,0,1,0,0,0,0],"matrix_rows":[29,24,105,26,124,32,64,128,256],"offset":63,"phase":0,"quadratic_rows":[117,24,101,34,51,29,5,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,18,32,66,1,3,128,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":762,"old":427,"rank":2,"right":{"linear_Z4":[0,0,1,2,3,2,1,0,0],"matrix_rows":[65,84,32,2,100,24,96,128,256],"offset":101,"phase":2,"quadratic_rows":[96,0,52,16,60,21,65,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,11,18,32,65,2,3,128,256],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":763,"old":427,"rank":2,"right":{"linear_Z4":[0,2,3,0,2,0,1,0,0],"matrix_rows":[39,83,81,70,32,24,96,128,256],"offset":26,"phase":3,"quadratic_rows":[36,48,69,16,106,83,116,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,19,32,65,1,2,128,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":732,"old":428,"rank":2,"right":{"linear_Z4":[2,3,2,0,1,3,1,0,0],"matrix_rows":[116,114,21,86,96,8,32,128,256],"offset":77,"phase":0,"quadratic_rows":[20,38,83,0,117,114,116,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[7,10,19,34,67,128,3,258,2],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":733,"old":428,"rank":2,"right":{"linear_Z4":[2,1,0,2,2,0,0,0,0],"matrix_rows":[17,23,69,270,64,256,80,32,384],"offset":43,"phase":0,"quadratic_rows":[66,283,280,6,70,0,17,0,6]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[6,8,19,33,67,128,3,257,1],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":734,"old":428,"rank":2,"right":{"linear_Z4":[3,0,0,2,0,0,1,0,0],"matrix_rows":[348,281,333,6,64,256,80,32,384],"offset":37,"phase":3,"quadratic_rows":[85,4,83,0,5,0,69,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[7,8,17,32,66,2,3,128,256],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":735,"old":428,"rank":2,"right":{"linear_Z4":[2,2,2,0,2,0,2,0,0],"matrix_rows":[97,21,69,6,96,8,32,128,256],"offset":93,"phase":3,"quadratic_rows":[48,4,50,0,37,21,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,8,17,35,66,2,3,128,256],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":736,"old":428,"rank":2,"right":{"linear_Z4":[0,0,2,2,3,0,1,0,0],"matrix_rows":[57,77,69,6,96,88,32,128,256],"offset":98,"phase":3,"quadratic_rows":[48,4,106,36,81,77,116,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,18,32,66,1,3,128,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":737,"old":428,"rank":2,"right":{"linear_Z4":[0,2,3,0,1,2,1,0,0],"matrix_rows":[65,84,32,6,96,8,112,128,256],"offset":29,"phase":2,"quadratic_rows":[96,4,54,0,52,21,65,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[7,10,17,32,67,2,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":738,"old":428,"rank":2,"right":{"linear_Z4":[2,0,1,0,2,0,0,0,0],"matrix_rows":[17,23,101,32,64,8,112,128,256],"offset":11,"phase":1,"quadratic_rows":[98,53,54,0,102,23,17,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,10,19,34,65,1,2,128,256],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":739,"old":428,"rank":2,"right":{"linear_Z4":[0,3,2,1,3,1,1,0,0],"matrix_rows":[116,42,21,86,96,88,32,128,256],"offset":114,"phase":2,"quadratic_rows":[20,126,83,122,95,42,94,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,35,64,131,256,2,3],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":724,"old":429,"rank":2,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,1],"matrix_rows":[41,298,256,130,4,264,16,288,64],"offset":5,"phase":0,"quadratic_rows":[296,426,0,3,0,3,0,2,259]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,11,16,34,64,130,256,2,3],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":725,"old":429,"rank":2,"right":{"linear_Z4":[0,0,0,1,0,1,0,0,2],"matrix_rows":[259,170,256,258,4,136,16,160,64],"offset":5,"phase":0,"quadratic_rows":[2,169,0,42,0,42,0,2,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,11,16,34,2,67,128,259,3],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":726,"old":429,"rank":2,"right":{"linear_Z4":[0,2,0,2,0,2,0,2,2],"matrix_rows":[435,170,272,258,4,16,288,64,384],"offset":32,"phase":3,"quadratic_rows":[162,25,0,178,170,25,0,25,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,16,35,64,130,2,259,3],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":727,"old":429,"rank":2,"right":{"linear_Z4":[0,2,0,0,0,1,0,0,1],"matrix_rows":[201,424,320,34,4,264,16,64,384],"offset":138,"phase":3,"quadratic_rows":[392,32,0,97,0,490,424,97,353]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,11,16,34,64,131,256,2,3],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":728,"old":429,"rank":2,"right":{"linear_Z4":[0,0,0,1,0,0,0,2,1],"matrix_rows":[35,298,256,258,4,136,16,288,64],"offset":5,"phase":0,"quadratic_rows":[290,9,0,426,0,9,0,8,265]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,35,64,130,256,2,3],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":729,"old":429,"rank":2,"right":{"linear_Z4":[0,1,0,0,0,1,0,0,2],"matrix_rows":[265,170,256,130,4,264,16,160,64],"offset":5,"phase":0,"quadratic_rows":[8,42,0,163,0,42,0,8,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,2,19,32,67,128,259,3],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":730,"old":429,"rank":2,"right":{"linear_Z4":[0,2,0,2,0,2,0,2,2],"matrix_rows":[429,170,260,4,264,16,288,64,384],"offset":8,"phase":3,"quadratic_rows":[168,172,170,7,0,7,0,7,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,11,16,32,64,130,2,259,3],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":731,"old":429,"rank":2,"right":{"linear_Z4":[0,0,0,2,0,1,0,0,1],"matrix_rows":[195,418,320,258,4,40,16,64,384],"offset":162,"phase":3,"quadratic_rows":[386,97,0,32,0,490,418,97,353]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[7,9,19,32,64,130,256,1,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":708,"old":430,"rank":2,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,1],"matrix_rows":[263,37,257,130,260,8,16,256,64],"offset":130,"phase":0,"quadratic_rows":[34,391,34,0,0,261,0,2,290]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,11,17,32,64,130,256,1,3],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":709,"old":430,"rank":2,"right":{"linear_Z4":[1,0,1,0,0,0,0,0,2],"matrix_rows":[135,290,129,258,132,8,16,256,64],"offset":130,"phase":0,"quadratic_rows":[7,165,7,0,0,2,0,2,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,11,17,32,65,2,128,259,3],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":710,"old":430,"rank":2,"right":{"linear_Z4":[2,2,2,0,0,0,0,2,2],"matrix_rows":[135,163,257,258,256,8,272,64,384],"offset":16,"phase":3,"quadratic_rows":[292,292,387,0,0,131,0,292,135]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,9,19,33,64,2,128,259,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":711,"old":430,"rank":2,"right":{"linear_Z4":[2,1,0,0,0,0,0,0,3],"matrix_rows":[390,420,3,256,260,264,16,64,384],"offset":13,"phase":3,"quadratic_rows":[2,135,290,0,0,388,0,290,420]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,19,32,64,130,256,1,3],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":712,"old":430,"rank":2,"right":{"linear_Z4":[1,1,0,0,0,0,0,0,2],"matrix_rows":[135,292,129,130,260,8,16,256,64],"offset":130,"phase":0,"quadratic_rows":[7,7,163,0,0,4,0,4,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[7,11,17,32,64,130,256,1,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":713,"old":430,"rank":2,"right":{"linear_Z4":[0,0,1,0,0,0,0,2,1],"matrix_rows":[263,35,257,258,132,8,16,256,64],"offset":130,"phase":0,"quadratic_rows":[36,36,391,0,0,259,0,4,292]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,11,17,32,65,2,128,259,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":714,"old":430,"rank":2,"right":{"linear_Z4":[2,0,1,0,0,0,0,0,3],"matrix_rows":[390,418,5,258,256,8,272,64,384],"offset":21,"phase":3,"quadratic_rows":[4,292,135,0,0,386,0,292,418]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,9,19,33,64,2,128,259,3],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":715,"old":430,"rank":2,"right":{"linear_Z4":[2,2,2,0,0,0,0,2,2],"matrix_rows":[135,165,257,256,260,264,16,64,384],"offset":8,"phase":3,"quadratic_rows":[290,389,290,0,0,133,0,290,135]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,11,18,32,66,1,3,128,256],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":700,"old":431,"rank":2,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,0],"matrix_rows":[2,38,1,98,64,40,80,128,256],"offset":104,"phase":3,"quadratic_rows":[0,68,98,32,0,76,38,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,11,17,32,67,1,2,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":701,"old":431,"rank":2,"right":{"linear_Z4":[1,1,3,0,0,1,2,0,0],"matrix_rows":[5,66,35,64,4,40,80,128,256],"offset":15,"phase":0,"quadratic_rows":[39,35,5,32,0,43,0,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[4,10,18,33,1,67,3,128,256],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":702,"old":431,"rank":2,"right":{"linear_Z4":[2,3,3,1,0,0,0,0,0],"matrix_rows":[40,6,41,114,84,16,64,128,256],"offset":39,"phase":0,"quadratic_rows":[40,118,86,25,46,19,6,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,35,3,66,2,128,256],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":703,"old":431,"rank":2,"right":{"linear_Z4":[0,1,1,3,0,2,0,0,0],"matrix_rows":[46,40,1,90,124,16,64,128,256],"offset":59,"phase":1,"quadratic_rows":[0,118,86,56,46,26,6,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[4,10,18,35,3,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":704,"old":431,"rank":2,"right":{"linear_Z4":[2,1,1,0,0,1,0,0,0],"matrix_rows":[40,46,41,90,124,16,64,128,256],"offset":63,"phase":0,"quadratic_rows":[40,118,86,17,46,51,6,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[4,11,19,34,2,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":705,"old":431,"rank":2,"right":{"linear_Z4":[0,2,2,0,0,1,0,0,0],"matrix_rows":[6,46,1,114,84,16,64,128,256],"offset":35,"phase":1,"quadratic_rows":[0,88,120,54,46,60,6,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,18,32,65,2,3,128,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":706,"old":431,"rank":2,"right":{"linear_Z4":[0,2,3,2,0,1,3,0,0],"matrix_rows":[66,100,1,64,4,40,80,128,256],"offset":113,"phase":0,"quadratic_rows":[0,0,100,32,0,108,100,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[7,11,17,32,65,2,3,128,256],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":707,"old":431,"rank":2,"right":{"linear_Z4":[2,0,3,0,0,2,3,0,0],"matrix_rows":[99,71,69,98,64,40,80,128,256],"offset":21,"phase":3,"quadratic_rows":[96,68,70,32,0,9,71,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[7,9,19,34,64,128,256,1,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":692,"old":432,"rank":2,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,1],"matrix_rows":[263,13,257,130,260,256,16,32,64],"offset":34,"phase":0,"quadratic_rows":[10,391,10,261,0,0,0,2,266]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,11,17,34,64,128,256,1,3],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":693,"old":432,"rank":2,"right":{"linear_Z4":[1,0,1,0,0,0,0,0,2],"matrix_rows":[135,266,129,258,132,256,16,32,64],"offset":34,"phase":0,"quadratic_rows":[7,141,7,2,0,0,0,2,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,11,19,34,1,64,128,259,3],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":694,"old":432,"rank":2,"right":{"linear_Z4":[2,2,2,0,0,0,0,2,2],"matrix_rows":[135,414,16,258,260,272,32,64,384],"offset":4,"phase":3,"quadratic_rows":[150,25,25,134,135,0,0,25,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[7,8,17,34,64,128,1,259,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":695,"old":432,"rank":2,"right":{"linear_Z4":[0,2,1,0,0,0,0,0,1],"matrix_rows":[389,201,257,6,64,320,16,32,384],"offset":25,"phase":3,"quadratic_rows":[76,4,455,385,0,0,389,76,332]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,11,19,34,64,128,256,1,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":696,"old":432,"rank":2,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,1],"matrix_rows":[263,14,129,258,260,256,16,32,64],"offset":34,"phase":0,"quadratic_rows":[391,9,9,262,0,0,0,1,265]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[7,9,17,34,64,128,256,1,3],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":697,"old":432,"rank":2,"right":{"linear_Z4":[0,1,1,0,0,0,0,0,2],"matrix_rows":[135,265,257,130,132,256,16,32,64],"offset":34,"phase":0,"quadratic_rows":[142,7,7,1,0,0,0,1,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,9,19,34,64,1,128,259,3],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":698,"old":432,"rank":2,"right":{"linear_Z4":[2,2,2,0,0,0,0,2,2],"matrix_rows":[135,429,257,32,260,288,16,64,384],"offset":8,"phase":3,"quadratic_rows":[42,165,42,133,0,135,0,42,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,11,17,34,64,128,1,259,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":699,"old":432,"rank":2,"right":{"linear_Z4":[2,0,1,0,0,0,0,0,1],"matrix_rows":[390,202,5,258,64,320,16,32,384],"offset":21,"phase":3,"quadratic_rows":[4,76,455,386,0,0,390,76,332]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,9,16,32,66,128,2,259,3],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":668,"old":433,"rank":2,"right":{"linear_Z4":[0,0,0,2,1,0,0,0,1],"matrix_rows":[195,401,257,320,4,24,64,32,384],"offset":98,"phase":3,"quadratic_rows":[82,385,0,16,473,0,401,82,338]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,1,19,35,64,128,259,3],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":669,"old":433,"rank":2,"right":{"linear_Z4":[2,0,0,2,2,0,0,2,2],"matrix_rows":[153,414,4,260,264,272,32,64,384],"offset":4,"phase":3,"quadratic_rows":[156,152,153,7,7,0,0,7,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,9,16,34,67,128,256,2,3],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":670,"old":433,"rank":2,"right":{"linear_Z4":[0,0,0,1,0,0,0,2,1],"matrix_rows":[19,281,257,256,4,136,272,32,64],"offset":9,"phase":0,"quadratic_rows":[10,273,0,409,10,0,0,8,266]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,35,65,128,256,1,3],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":671,"old":433,"rank":2,"right":{"linear_Z4":[1,0,0,0,1,0,0,0,2],"matrix_rows":[153,266,129,256,4,264,144,32,64],"offset":10,"phase":0,"quadratic_rows":[25,8,0,147,25,0,0,8,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,10,16,35,65,128,1,259,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":672,"old":433,"rank":2,"right":{"linear_Z4":[2,0,0,0,1,0,0,0,1],"matrix_rows":[408,202,17,320,4,264,64,32,384],"offset":69,"phase":3,"quadratic_rows":[16,392,0,82,473,0,408,82,338]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[7,9,16,34,67,2,128,259,3],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":673,"old":433,"rank":2,"right":{"linear_Z4":[2,0,0,2,2,0,0,2,2],"matrix_rows":[435,153,257,288,4,32,272,64,384],"offset":32,"phase":3,"quadratic_rows":[42,145,0,177,42,153,0,42,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,35,67,128,256,1,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":674,"old":433,"rank":2,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,1],"matrix_rows":[281,26,129,256,4,264,272,32,64],"offset":10,"phase":0,"quadratic_rows":[409,280,0,3,3,0,0,1,259]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[7,9,16,34,66,128,256,2,3],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":675,"old":433,"rank":2,"right":{"linear_Z4":[0,0,0,1,1,0,0,0,2],"matrix_rows":[259,153,257,256,4,136,144,32,64],"offset":9,"phase":0,"quadratic_rows":[154,1,0,25,25,0,0,1,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,10,19,33,66,3,128,258,2],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":676,"old":434,"rank":2,"right":{"linear_Z4":[0,1,0,3,2,1,0,0,0],"matrix_rows":[281,39,37,278,32,312,256,64,384],"offset":106,"phase":0,"quadratic_rows":[282,307,304,41,39,318,0,0,39]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[7,9,18,35,64,2,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":677,"old":434,"rank":2,"right":{"linear_Z4":[2,1,0,2,0,0,0,0,0],"matrix_rows":[9,15,99,64,32,104,16,128,256],"offset":19,"phase":1,"quadratic_rows":[100,46,43,102,0,15,9,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,35,66,1,128,258,2],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":678,"old":434,"rank":2,"right":{"linear_Z4":[1,0,3,2,3,1,0,0,1],"matrix_rows":[281,40,37,6,32,312,256,64,384],"offset":98,"phase":3,"quadratic_rows":[317,4,7,1,305,305,0,0,305]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,18,34,64,3,1,128,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":679,"old":434,"rank":2,"right":{"linear_Z4":[0,2,3,1,0,1,2,0,0],"matrix_rows":[33,44,64,6,96,104,16,128,256],"offset":29,"phase":2,"quadratic_rows":[96,4,78,76,0,33,13,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[6,8,19,35,65,3,128,257,1],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":680,"old":434,"rank":2,"right":{"linear_Z4":[3,0,0,0,2,1,0,0,0],"matrix_rows":[316,281,309,6,32,40,256,64,384],"offset":69,"phase":3,"quadratic_rows":[45,4,43,5,0,37,0,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[7,8,17,34,64,3,2,128,256],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":681,"old":434,"rank":2,"right":{"linear_Z4":[2,2,2,2,0,2,0,0,0],"matrix_rows":[97,13,37,6,96,64,16,128,256],"offset":61,"phase":3,"quadratic_rows":[72,4,74,69,0,0,13,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[6,9,19,35,65,3,128,257,1],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":682,"old":434,"rank":2,"right":{"linear_Z4":[3,1,3,0,2,1,0,0,0],"matrix_rows":[42,281,309,278,32,40,256,64,384],"offset":77,"phase":0,"quadratic_rows":[45,318,7,275,42,307,0,0,42]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,19,34,64,1,2,128,256],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":683,"old":434,"rank":2,"right":{"linear_Z4":[1,1,3,2,0,1,3,0,0],"matrix_rows":[79,108,37,46,96,64,16,128,256],"offset":2,"phase":1,"quadratic_rows":[107,99,76,69,0,35,79,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":660,"old":435,"rank":1,"right":{"linear_Z4":[1,1,1,1,0,0,0,0,2],"matrix_rows":[335,321,322,324,328,16,32,256,384],"offset":159,"phase":0,"quadratic_rows":[15,15,15,15,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":661,"old":435,"rank":1,"right":{"linear_Z4":[1,1,2,0,0,2,0,0,0],"matrix_rows":[39,33,34,32,8,48,64,128,256],"offset":8,"phase":3,"quadratic_rows":[7,7,3,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":662,"old":435,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,0,0],"matrix_rows":[13,32,2,36,40,16,64,128,256],"offset":3,"phase":0,"quadratic_rows":[44,0,45,45,0,13,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":663,"old":435,"rank":1,"right":{"linear_Z4":[0,1,0,1,0,0,0,0,2],"matrix_rows":[330,1,322,4,328,16,32,256,384],"offset":149,"phase":0,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":664,"old":435,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,0,0,0,2],"matrix_rows":[326,1,322,324,8,16,32,256,384],"offset":141,"phase":0,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":665,"old":435,"rank":1,"right":{"linear_Z4":[0,1,1,3,0,2,0,0,0],"matrix_rows":[38,9,34,44,32,48,64,128,256],"offset":61,"phase":1,"quadratic_rows":[8,6,14,13,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":666,"old":435,"rank":1,"right":{"linear_Z4":[1,1,0,2,0,2,0,0,0],"matrix_rows":[43,33,34,4,32,48,64,128,256],"offset":16,"phase":3,"quadratic_rows":[11,11,0,3,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":667,"old":435,"rank":1,"right":{"linear_Z4":[1,1,0,0,0,0,0,0,2],"matrix_rows":[323,321,322,4,8,16,32,256,384],"offset":135,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":716,"old":436,"rank":1,"right":{"linear_Z4":[2,1,0,2,0,0,2,0,0],"matrix_rows":[10,1,66,4,64,80,32,128,256],"offset":50,"phase":1,"quadratic_rows":[0,74,0,66,0,0,10,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":717,"old":436,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,2,0,0,0],"matrix_rows":[2,1,290,4,8,16,256,64,384],"offset":69,"phase":3,"quadratic_rows":[0,290,0,0,0,2,0,0,2]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":718,"old":436,"rank":1,"right":{"linear_Z4":[1,1,0,0,0,0,0,0,2],"matrix_rows":[291,289,290,4,8,16,256,64,384],"offset":71,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":719,"old":436,"rank":1,"right":{"linear_Z4":[3,3,0,2,0,0,2,0,0],"matrix_rows":[67,73,66,4,64,80,32,128,256],"offset":1,"phase":1,"quadratic_rows":[11,3,0,1,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":720,"old":436,"rank":1,"right":{"linear_Z4":[3,2,0,3,0,0,2,0,0],"matrix_rows":[73,67,64,68,72,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[11,1,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":721,"old":436,"rank":1,"right":{"linear_Z4":[1,0,0,1,0,0,0,0,2],"matrix_rows":[297,289,2,4,296,16,256,64,384],"offset":83,"phase":0,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":722,"old":436,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,2,0,0,0],"matrix_rows":[8,1,2,4,296,16,256,64,384],"offset":81,"phase":3,"quadratic_rows":[0,0,0,296,0,8,0,0,8]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":723,"old":436,"rank":1,"right":{"linear_Z4":[2,2,0,1,0,0,2,0,0],"matrix_rows":[10,1,64,68,72,16,32,128,256],"offset":14,"phase":1,"quadratic_rows":[0,72,0,74,0,0,10,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":684,"old":437,"rank":1,"right":{"linear_Z4":[2,1,0,2,0,0,2,0,0],"matrix_rows":[3,64,66,4,8,80,32,128,256],"offset":50,"phase":1,"quadratic_rows":[66,67,0,0,0,0,3,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":685,"old":437,"rank":1,"right":{"linear_Z4":[0,1,2,0,0,0,0,0,0],"matrix_rows":[2,1,262,256,8,16,32,64,384],"offset":13,"phase":3,"quadratic_rows":[0,262,2,0,0,0,0,0,2]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":686,"old":437,"rank":1,"right":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[8,1,10,12,64,80,96,128,256],"offset":73,"phase":3,"quadratic_rows":[0,8,8,70,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":687,"old":437,"rank":1,"right":{"linear_Z4":[2,2,0,3,0,0,0,0,0],"matrix_rows":[8,9,2,4,64,80,96,128,256],"offset":71,"phase":0,"quadratic_rows":[8,0,0,73,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":688,"old":437,"rank":1,"right":{"linear_Z4":[2,2,0,3,0,0,0,0,0],"matrix_rows":[8,1,10,4,64,80,96,128,256],"offset":39,"phase":0,"quadratic_rows":[0,8,0,74,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":689,"old":437,"rank":1,"right":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[8,9,2,12,64,80,96,128,256],"offset":41,"phase":3,"quadratic_rows":[8,0,8,69,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":690,"old":437,"rank":1,"right":{"linear_Z4":[1,0,2,0,0,0,0,0,0],"matrix_rows":[1,261,2,256,8,16,32,64,384],"offset":11,"phase":3,"quadratic_rows":[261,0,1,0,0,0,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":691,"old":437,"rank":1,"right":{"linear_Z4":[1,2,0,2,0,0,2,0,0],"matrix_rows":[3,65,64,4,8,16,96,128,256],"offset":84,"phase":1,"quadratic_rows":[67,65,0,0,0,0,3,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":445,"old":438,"rank":1,"right":{"linear_Z4":[0,3,3,3,0,0,0,3,2],"matrix_rows":[398,1,258,260,264,16,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,142,142,142,0,0,0,142,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":447,"old":438,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,2,0],"matrix_rows":[133,129,2,132,8,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":443,"old":439,"rank":1,"right":{"linear_Z4":[0,3,3,3,3,0,3,0,0],"matrix_rows":[30,65,194,132,200,208,32,128,256],"offset":1,"phase":1,"quadratic_rows":[64,222,158,222,222,0,91,30,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":446,"old":439,"rank":1,"right":{"linear_Z4":[2,3,1,2,3,0,3,0,2],"matrix_rows":[342,5,258,256,8,272,288,320,384],"offset":438,"phase":2,"quadratic_rows":[4,86,87,0,86,0,86,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":447,"old":440,"rank":1,"right":{"linear_Z4":[3,0,3,0,2,0,0,0,0],"matrix_rows":[21,17,2,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":448,"old":440,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,0,2],"matrix_rows":[261,257,2,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":446,"old":441,"rank":1,"right":{"linear_Z4":[1,1,0,1,1,0,1,2,2],"matrix_rows":[347,385,386,4,392,400,32,448,256],"offset":0,"phase":0,"quadratic_rows":[219,219,0,219,219,0,219,91,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":450,"old":441,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,1,1,2],"matrix_rows":[475,257,258,4,264,256,32,320,384],"offset":0,"phase":0,"quadratic_rows":[219,219,0,219,203,0,219,219,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":443,"old":442,"rank":1,"right":{"linear_Z4":[3,3,0,3,3,0,2,0,0],"matrix_rows":[91,65,66,4,72,80,32,128,256],"offset":1,"phase":1,"quadratic_rows":[27,27,0,27,27,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":448,"old":442,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,2,0,0],"matrix_rows":[69,65,2,68,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":449,"old":443,"rank":1,"right":{"linear_Z4":[1,3,2,3,3,0,2,0,0],"matrix_rows":[91,65,82,20,88,64,32,128,256],"offset":60,"phase":2,"quadratic_rows":[27,11,16,11,21,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":454,"old":443,"rank":1,"right":{"linear_Z4":[1,0,2,1,0,0,0,0,2],"matrix_rows":[9,261,2,256,264,16,288,64,384],"offset":0,"phase":0,"quadratic_rows":[269,0,1,265,0,0,0,0,9]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":445,"old":444,"rank":1,"right":{"linear_Z4":[3,3,0,3,0,0,3,3,0],"matrix_rows":[139,321,258,68,264,16,32,256,384],"offset":1,"phase":1,"quadratic_rows":[459,395,64,395,0,0,69,395,139]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":450,"old":444,"rank":1,"right":{"linear_Z4":[3,0,2,3,0,2,0,0,0],"matrix_rows":[41,37,2,32,40,48,64,128,256],"offset":1,"phase":1,"quadratic_rows":[13,0,1,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":452,"old":445,"rank":1,"right":{"linear_Z4":[2,3,1,3,0,0,0,1,2],"matrix_rows":[270,129,258,388,264,16,32,64,256],"offset":267,"phase":0,"quadratic_rows":[128,14,142,14,0,0,0,133,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":453,"old":445,"rank":1,"right":{"linear_Z4":[2,1,3,2,0,0,0,1,2],"matrix_rows":[390,5,258,256,8,272,288,320,384],"offset":250,"phase":2,"quadratic_rows":[4,134,135,0,0,0,0,134,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":451,"old":446,"rank":1,"right":{"linear_Z4":[3,3,0,3,0,0,3,0,0],"matrix_rows":[91,129,130,4,136,128,32,192,256],"offset":33,"phase":0,"quadratic_rows":[219,219,0,219,203,0,219,91,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":454,"old":446,"rank":1,"right":{"linear_Z4":[1,1,0,1,1,0,0,0,0],"matrix_rows":[91,193,194,4,200,208,32,128,256],"offset":183,"phase":0,"quadratic_rows":[155,155,0,155,155,0,128,91,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":452,"old":447,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,0,0,2],"matrix_rows":[11,257,258,4,264,16,32,64,128],"offset":0,"phase":0,"quadratic_rows":[267,267,0,267,0,0,0,0,11]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":455,"old":447,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,0,2],"matrix_rows":[261,257,2,260,8,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":449,"old":448,"rank":1,"right":{"linear_Z4":[0,1,1,1,2,0,0,0,0],"matrix_rows":[14,1,18,20,24,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,30,30,30,14,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":455,"old":448,"rank":1,"right":{"linear_Z4":[3,0,3,0,2,0,0,0,0],"matrix_rows":[21,17,2,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,11,19,33,66,2,131,259,3],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":456,"old":449,"rank":2,"right":{"linear_Z4":[2,2,1,2,0,0,0,0,1],"matrix_rows":[34,266,13,270,256,288,48,320,384],"offset":30,"phase":0,"quadratic_rows":[12,36,7,289,0,266,0,0,296]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[6,10,17,34,3,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":459,"old":449,"rank":2,"right":{"linear_Z4":[1,0,2,1,1,0,0,0,0],"matrix_rows":[276,271,277,272,256,280,288,320,384],"offset":1,"phase":1,"quadratic_rows":[27,29,10,31,27,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":451,"old":450,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,1,0,0],"matrix_rows":[203,385,386,4,392,16,32,448,256],"offset":407,"phase":0,"quadratic_rows":[331,331,0,331,0,0,331,256,203]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":453,"old":450,"rank":1,"right":{"linear_Z4":[3,3,0,3,0,0,0,3,0],"matrix_rows":[203,257,258,4,264,16,32,256,384],"offset":129,"phase":0,"quadratic_rows":[459,459,0,459,0,0,395,459,203]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[7,9,16,35,64,128,2,3,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":458,"old":451,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,0,0,1,0],"matrix_rows":[11,201,129,128,4,136,16,32,256],"offset":9,"phase":0,"quadratic_rows":[66,137,0,66,0,0,137,194,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,33,64,128,1,3,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":461,"old":451,"rank":2,"right":{"linear_Z4":[1,0,0,1,0,0,0,1,0],"matrix_rows":[201,2,65,128,4,72,16,32,256],"offset":10,"phase":0,"quadratic_rows":[137,128,0,137,0,0,128,203,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,11,19,33,67,130,259,3,1],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":457,"old":452,"rank":2,"right":{"linear_Z4":[2,2,1,3,0,0,0,1,0],"matrix_rows":[138,258,13,134,128,256,144,416,192],"offset":29,"phase":0,"quadratic_rows":[12,268,15,399,0,0,0,392,138]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[7,10,17,35,65,129,257,1,2],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":460,"old":452,"rank":2,"right":{"linear_Z4":[0,0,1,0,0,0,0,2,0],"matrix_rows":[137,15,389,256,128,392,144,160,192],"offset":10,"phase":0,"quadratic_rows":[258,269,270,262,0,0,0,0,15]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,33,64,128,256,1,3],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":458,"old":453,"rank":2,"right":{"linear_Z4":[1,0,0,1,0,0,0,0,1],"matrix_rows":[393,2,129,256,4,136,16,32,64],"offset":10,"phase":0,"quadratic_rows":[265,256,0,265,0,0,0,256,395]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[7,9,16,35,64,128,256,2,3],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":460,"old":453,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,1],"matrix_rows":[11,393,257,256,4,264,16,32,64],"offset":9,"phase":0,"quadratic_rows":[130,265,0,130,0,0,0,265,386]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,33,1,64,3,128,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":459,"old":454,"rank":2,"right":{"linear_Z4":[1,0,0,1,0,0,1,0,0],"matrix_rows":[89,2,17,64,4,24,32,128,256],"offset":10,"phase":0,"quadratic_rows":[73,64,0,73,64,0,91,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[7,9,16,35,2,64,3,128,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":461,"old":454,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,0,1,0,0],"matrix_rows":[11,89,65,64,4,72,32,128,256],"offset":9,"phase":0,"quadratic_rows":[18,73,0,18,73,0,82,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,19,33,67,2,131,259,3],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":456,"old":455,"rank":2,"right":{"linear_Z4":[2,1,0,1,0,0,0,0,3],"matrix_rows":[44,266,13,46,256,288,272,320,384],"offset":31,"phase":1,"quadratic_rows":[12,294,267,45,0,266,0,0,294]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,9,19,33,67,2,131,259,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":457,"old":455,"rank":2,"right":{"linear_Z4":[2,1,0,3,0,0,0,0,1],"matrix_rows":[266,292,13,294,256,288,272,320,384],"offset":31,"phase":1,"quadratic_rows":[12,46,267,47,0,266,0,0,292]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,19,35,66,1,130,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":456,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,2],"matrix_rows":[1,258,32,256,292,296,272,320,384],"offset":62,"phase":1,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":812,"old":456,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,2,36,40,16,64,128,256],"offset":26,"phase":1,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":875,"old":456,"rank":1,"right":{"linear_Z4":[1,2,0,0,0,0,0,0,0],"matrix_rows":[1,259,256,260,264,272,32,320,384],"offset":31,"phase":1,"quadratic_rows":[259,1,0,0,0,0,0,0,1]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":456,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,260,264,272,32,320,384],"offset":29,"phase":2,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,19,33,66,3,130,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":457,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[1,258,288,256,36,296,272,320,384],"offset":42,"phase":3,"quadratic_rows":[288,0,0,0,0,1,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":818,"old":457,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,2,36,40,16,64,128,256],"offset":16,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":893,"old":457,"rank":1,"right":{"linear_Z4":[1,2,0,0,0,0,0,0,0],"matrix_rows":[1,259,256,260,8,272,288,320,384],"offset":79,"phase":1,"quadratic_rows":[259,1,0,0,0,0,0,0,1]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,34,64,2,128,3,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":458,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,0,0,1,0],"matrix_rows":[129,136,160,2,164,32,16,64,256],"offset":51,"phase":0,"quadratic_rows":[32,0,0,160,0,9,0,136,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":814,"old":458,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,0],"matrix_rows":[9,129,2,4,128,16,160,64,256],"offset":64,"phase":3,"quadratic_rows":[137,0,0,129,0,0,0,9,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":881,"old":458,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,0,2,0],"matrix_rows":[9,128,2,132,136,16,32,64,256],"offset":8,"phase":3,"quadratic_rows":[136,0,0,137,0,0,0,9,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,34,3,2,64,128,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":459,"rank":2,"right":{"linear_Z4":[2,0,0,0,1,0,0,0,0],"matrix_rows":[17,24,48,2,52,32,64,128,256],"offset":51,"phase":0,"quadratic_rows":[32,0,0,48,24,9,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":810,"old":459,"rank":1,"right":{"linear_Z4":[3,0,0,2,0,2,0,0,0],"matrix_rows":[9,33,2,4,32,48,64,128,256],"offset":50,"phase":1,"quadratic_rows":[41,0,0,33,0,9,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":869,"old":459,"rank":1,"right":{"linear_Z4":[0,0,0,1,2,0,0,0,0],"matrix_rows":[9,16,2,20,24,32,64,128,256],"offset":8,"phase":3,"quadratic_rows":[24,0,0,25,9,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,34,64,2,128,256,3],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":460,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,0,0,0,1],"matrix_rows":[257,264,288,2,292,32,16,64,128],"offset":51,"phase":0,"quadratic_rows":[32,0,0,288,0,9,0,0,264]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":816,"old":460,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[9,257,2,4,256,16,288,64,128],"offset":64,"phase":3,"quadratic_rows":[265,0,0,257,0,0,0,0,9]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":887,"old":460,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,0,0,2],"matrix_rows":[9,256,2,260,264,16,32,64,128],"offset":8,"phase":3,"quadratic_rows":[264,0,0,265,0,0,0,0,9]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":460,"rank":1,"right":{"linear_Z4":[2,0,0,3,0,0,0,0,2],"matrix_rows":[264,9,2,4,256,16,288,64,128],"offset":67,"phase":3,"quadratic_rows":[8,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,34,64,2,3,128,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":461,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,0,1,0,0],"matrix_rows":[65,72,96,2,100,32,16,128,256],"offset":51,"phase":0,"quadratic_rows":[32,0,0,96,0,9,72,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":820,"old":461,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,2,0,0],"matrix_rows":[9,65,2,4,64,16,96,128,256],"offset":64,"phase":3,"quadratic_rows":[73,0,0,65,0,0,9,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":899,"old":461,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,2,0,0],"matrix_rows":[9,64,2,68,72,16,32,128,256],"offset":8,"phase":3,"quadratic_rows":[72,0,0,73,0,0,9,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":461,"rank":1,"right":{"linear_Z4":[2,0,0,3,0,0,2,0,0],"matrix_rows":[72,9,2,4,64,16,96,128,256],"offset":67,"phase":3,"quadratic_rows":[8,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":464,"old":462,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,3,0,2],"matrix_rows":[322,1,258,4,8,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,66,0,0,0,0,66,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":473,"old":462,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,1,0,2],"matrix_rows":[64,1,2,4,8,16,32,320,128],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,320,0,64]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":464,"old":463,"rank":1,"right":{"linear_Z4":[0,0,3,3,2,0,0,0,0],"matrix_rows":[28,1,2,20,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":468,"old":463,"rank":1,"right":{"linear_Z4":[3,0,3,0,2,0,0,0,0],"matrix_rows":[21,17,2,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":477,"old":464,"rank":1,"right":{"linear_Z4":[2,0,2,1,0,2,0,0,0],"matrix_rows":[40,9,2,4,32,48,64,128,256],"offset":42,"phase":3,"quadratic_rows":[8,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":480,"old":464,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,8,16,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":471,"old":465,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,0,0],"matrix_rows":[2,1,66,4,8,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,66,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":473,"old":465,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,1,2],"matrix_rows":[258,1,386,4,8,16,32,192,256],"offset":389,"phase":0,"quadratic_rows":[0,130,0,0,0,0,128,194,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":469,"old":466,"rank":1,"right":{"linear_Z4":[0,2,0,0,0,0,1,3,2],"matrix_rows":[448,1,130,4,8,16,32,320,256],"offset":260,"phase":2,"quadratic_rows":[0,128,0,0,0,0,192,194,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":472,"old":466,"rank":1,"right":{"linear_Z4":[0,2,0,0,0,0,3,1,2],"matrix_rows":[448,1,66,4,8,16,32,256,384],"offset":132,"phase":2,"quadratic_rows":[0,64,0,0,0,0,194,192,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":468,"old":467,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,3,2,0],"matrix_rows":[194,1,130,4,8,16,32,192,256],"offset":1,"phase":1,"quadratic_rows":[0,66,0,0,0,0,66,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":469,"old":467,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,0],"matrix_rows":[2,1,130,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,130,0,0,0,0,0,2,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":475,"old":468,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[320,1,2,4,8,16,32,256,384],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":477,"old":468,"rank":1,"right":{"linear_Z4":[3,0,3,2,0,0,0,0,0],"matrix_rows":[5,41,2,36,32,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[45,0,37,1,0,5,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":475,"old":469,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[322,1,258,4,8,16,32,256,128],"offset":0,"phase":0,"quadratic_rows":[0,66,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":476,"old":469,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,0,2],"matrix_rows":[258,1,322,4,8,16,32,256,128],"offset":0,"phase":0,"quadratic_rows":[0,66,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":471,"old":470,"rank":1,"right":{"linear_Z4":[0,0,3,3,2,0,0,0,0],"matrix_rows":[28,1,2,20,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":472,"old":470,"rank":1,"right":{"linear_Z4":[3,0,3,0,2,0,0,0,0],"matrix_rows":[21,17,2,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":474,"old":471,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[386,1,258,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,130,0,0,0,0,0,2,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":479,"old":471,"rank":1,"right":{"linear_Z4":[2,0,2,1,0,2,0,0,0],"matrix_rows":[40,9,2,4,32,48,64,128,256],"offset":42,"phase":3,"quadratic_rows":[8,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":476,"old":472,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,2],"matrix_rows":[258,1,386,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,130,0,0,0,0,0,2,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":479,"old":472,"rank":1,"right":{"linear_Z4":[3,0,3,2,0,0,0,0,0],"matrix_rows":[5,41,2,36,32,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[45,0,37,1,0,5,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":474,"old":473,"rank":1,"right":{"linear_Z4":[0,2,0,0,0,0,3,0,2],"matrix_rows":[320,1,66,4,8,16,32,256,384],"offset":388,"phase":1,"quadratic_rows":[0,64,0,0,0,0,66,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":480,"old":473,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,1,2,0],"matrix_rows":[194,1,128,4,8,16,32,192,256],"offset":0,"phase":0,"quadratic_rows":[0,64,0,0,0,0,66,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,17,32,65,1,130,256,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":459,"old":474,"rank":2,"right":{"linear_Z4":[2,0,1,2,0,2,0,0,2],"matrix_rows":[36,258,5,256,32,8,48,320,128],"offset":110,"phase":3,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,19,1,34,2,64,128,256],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":482,"old":474,"rank":2,"right":{"linear_Z4":[2,0,0,3,0,1,0,0,0],"matrix_rows":[44,36,13,2,32,48,64,128,256],"offset":23,"phase":0,"quadratic_rows":[12,0,33,41,0,44,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,19,33,3,2,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":478,"old":475,"rank":2,"right":{"linear_Z4":[2,0,0,1,2,0,0,0,0],"matrix_rows":[60,36,13,2,16,48,64,128,256],"offset":37,"phase":3,"quadratic_rows":[12,0,1,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[6,9,18,34,64,2,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":481,"old":475,"rank":2,"right":{"linear_Z4":[3,0,3,2,0,0,0,0,2],"matrix_rows":[258,5,33,256,44,32,16,64,384],"offset":11,"phase":1,"quadratic_rows":[37,0,45,4,0,5,0,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[6,9,18,34,64,2,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":481,"old":476,"rank":2,"right":{"linear_Z4":[3,0,3,2,0,0,0,2,0],"matrix_rows":[130,5,33,128,44,32,16,192,256],"offset":11,"phase":1,"quadratic_rows":[37,0,45,4,0,5,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,19,33,3,2,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":484,"old":476,"rank":2,"right":{"linear_Z4":[2,0,0,1,2,0,0,0,0],"matrix_rows":[60,36,13,2,16,48,64,128,256],"offset":37,"phase":3,"quadratic_rows":[12,0,1,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,17,32,65,1,130,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":478,"old":477,"rank":2,"right":{"linear_Z4":[2,0,3,0,0,2,0,0,2],"matrix_rows":[36,320,5,2,32,8,48,256,384],"offset":84,"phase":1,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,17,32,65,1,128,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":483,"old":477,"rank":2,"right":{"linear_Z4":[2,0,3,0,0,2,0,0,2],"matrix_rows":[36,258,5,256,32,8,48,64,384],"offset":84,"phase":1,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,17,33,64,1,128,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":478,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,2],"matrix_rows":[1,258,32,256,36,40,16,64,384],"offset":14,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":860,"old":478,"rank":1,"right":{"linear_Z4":[1,2,0,0,0,0,0,0,0],"matrix_rows":[1,259,256,4,8,16,32,64,384],"offset":7,"phase":3,"quadratic_rows":[259,1,0,0,0,0,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1019,"old":478,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,2,36,40,16,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":478,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,8,16,32,64,384],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,17,32,65,1,128,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":482,"old":479,"rank":2,"right":{"linear_Z4":[2,1,3,0,0,2,0,0,2],"matrix_rows":[36,386,5,258,32,8,48,64,256],"offset":84,"phase":1,"quadratic_rows":[4,130,5,0,0,0,0,2,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,17,32,65,1,128,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":484,"old":479,"rank":2,"right":{"linear_Z4":[2,1,3,0,0,2,0,2,2],"matrix_rows":[36,258,5,386,32,8,48,64,256],"offset":84,"phase":1,"quadratic_rows":[4,130,5,0,0,0,0,2,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,17,32,65,1,130,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":459,"old":480,"rank":2,"right":{"linear_Z4":[2,0,1,2,0,2,0,0,2],"matrix_rows":[36,320,5,2,32,8,48,256,384],"offset":230,"phase":3,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,19,1,34,2,64,128,256],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":483,"old":480,"rank":2,"right":{"linear_Z4":[2,0,0,3,0,1,0,0,0],"matrix_rows":[44,36,13,2,32,48,64,128,256],"offset":23,"phase":0,"quadratic_rows":[12,0,33,41,0,44,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,18,34,3,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":481,"rank":2,"right":{"linear_Z4":[0,0,2,0,1,0,0,0,0],"matrix_rows":[17,20,32,2,48,56,64,128,256],"offset":39,"phase":0,"quadratic_rows":[48,0,32,0,17,5,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":858,"old":481,"rank":1,"right":{"linear_Z4":[2,0,3,0,0,2,0,0,0],"matrix_rows":[5,32,2,36,8,48,64,128,256],"offset":42,"phase":1,"quadratic_rows":[36,0,37,0,0,5,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1013,"old":481,"rank":1,"right":{"linear_Z4":[1,0,0,0,2,0,0,0,0],"matrix_rows":[5,17,2,16,24,32,64,128,256],"offset":16,"phase":3,"quadratic_rows":[21,0,17,0,5,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,17,33,64,1,130,256,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":482,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,2],"matrix_rows":[1,258,32,256,36,40,16,320,128],"offset":14,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":854,"old":482,"rank":1,"right":{"linear_Z4":[1,2,0,0,0,0,0,0,0],"matrix_rows":[1,259,256,4,8,16,32,320,128],"offset":7,"phase":3,"quadratic_rows":[259,1,0,0,0,0,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1001,"old":482,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,2,36,40,16,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,33,64,1,130,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":483,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,2],"matrix_rows":[1,320,32,2,36,40,16,256,384],"offset":134,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":813,"old":483,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,2,0,0],"matrix_rows":[1,321,2,4,8,16,32,256,384],"offset":131,"phase":3,"quadratic_rows":[321,0,0,0,0,0,1,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":874,"old":483,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,2,36,40,16,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":483,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[320,1,2,4,8,16,32,256,384],"offset":129,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,17,33,64,1,130,2,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":484,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,2,0,2,0],"matrix_rows":[1,130,32,128,36,40,16,192,256],"offset":14,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":856,"old":484,"rank":1,"right":{"linear_Z4":[1,2,0,0,0,0,0,0,0],"matrix_rows":[1,131,128,4,8,16,32,192,256],"offset":7,"phase":3,"quadratic_rows":[131,1,0,0,0,0,0,1,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1007,"old":484,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,2,36,40,16,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":484,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[130,1,128,4,8,16,32,192,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":491,"old":485,"rank":1,"right":{"linear_Z4":[0,1,0,0,2,0,0,0,0],"matrix_rows":[2,1,18,4,8,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,18,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":492,"old":485,"rank":1,"right":{"linear_Z4":[2,0,2,1,0,0,0,2,0],"matrix_rows":[136,9,2,4,128,16,160,64,256],"offset":91,"phase":1,"quadratic_rows":[8,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":494,"old":486,"rank":1,"right":{"linear_Z4":[2,0,2,1,0,0,0,2,0],"matrix_rows":[136,1,2,12,128,16,160,64,256],"offset":91,"phase":1,"quadratic_rows":[0,0,8,12,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":495,"old":486,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,0,0],"matrix_rows":[2,1,66,4,8,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,66,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":495,"old":487,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,2,0],"matrix_rows":[137,129,2,4,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[9,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":502,"old":487,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,2,0],"matrix_rows":[140,1,2,132,136,16,32,64,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":494,"old":488,"rank":1,"right":{"linear_Z4":[0,3,0,0,3,0,0,0,2],"matrix_rows":[274,1,258,4,8,272,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,18,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":496,"old":488,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,0,3,0,2],"matrix_rows":[322,1,258,4,8,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[0,66,0,0,0,0,66,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":492,"old":489,"rank":1,"right":{"linear_Z4":[3,0,3,2,0,0,0,0,0],"matrix_rows":[5,41,2,36,32,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[45,0,37,1,0,5,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":496,"old":489,"rank":1,"right":{"linear_Z4":[3,0,3,2,0,0,0,0,0],"matrix_rows":[5,33,2,44,32,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[37,0,45,4,0,5,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":491,"old":490,"rank":1,"right":{"linear_Z4":[0,2,0,0,3,0,1,0,2],"matrix_rows":[336,1,18,4,8,256,32,320,128],"offset":36,"phase":2,"quadratic_rows":[0,16,0,0,82,0,80,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":502,"old":490,"rank":1,"right":{"linear_Z4":[0,2,0,0,1,0,3,0,2],"matrix_rows":[336,1,66,4,8,272,32,256,128],"offset":132,"phase":2,"quadratic_rows":[0,64,0,0,80,0,82,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":493,"old":491,"rank":1,"right":{"linear_Z4":[2,0,2,1,0,0,0,2,0],"matrix_rows":[136,9,2,4,128,16,160,64,256],"offset":91,"phase":1,"quadratic_rows":[8,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":503,"old":491,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,0,2],"matrix_rows":[258,1,322,4,8,16,32,256,128],"offset":0,"phase":0,"quadratic_rows":[0,66,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":493,"old":492,"rank":1,"right":{"linear_Z4":[0,1,0,0,2,0,0,0,0],"matrix_rows":[2,1,18,4,8,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,18,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":497,"old":492,"rank":1,"right":{"linear_Z4":[2,0,3,0,0,0,0,2,0],"matrix_rows":[132,5,2,128,8,16,160,64,256],"offset":67,"phase":3,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,17,32,64,129,258,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":498,"old":493,"rank":2,"right":{"linear_Z4":[2,1,3,0,0,0,0,2,2],"matrix_rows":[132,322,5,258,128,8,16,160,256],"offset":133,"phase":3,"quadratic_rows":[4,66,5,0,0,0,2,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,9,16,32,65,128,2,256,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":504,"old":493,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,3],"matrix_rows":[258,320,1,256,4,8,272,32,128],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,256,0,320]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":499,"old":494,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,2,0,0],"matrix_rows":[16,1,2,4,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,80,0,16,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":501,"old":494,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,0,0],"matrix_rows":[2,1,66,4,8,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,66,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":501,"old":495,"rank":1,"right":{"linear_Z4":[2,0,2,1,0,0,0,2,0],"matrix_rows":[136,1,2,12,128,16,160,64,256],"offset":91,"phase":1,"quadratic_rows":[0,0,8,12,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":505,"old":495,"rank":1,"right":{"linear_Z4":[3,0,2,3,0,0,0,0,0],"matrix_rows":[9,37,2,32,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[45,0,1,41,0,9,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":497,"old":496,"rank":1,"right":{"linear_Z4":[2,0,3,0,0,0,0,2,0],"matrix_rows":[132,5,2,128,136,16,32,64,256],"offset":19,"phase":3,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":499,"old":496,"rank":1,"right":{"linear_Z4":[0,1,0,0,2,0,3,0,2],"matrix_rows":[322,1,258,4,8,80,32,256,128],"offset":160,"phase":2,"quadratic_rows":[0,66,0,0,64,0,82,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,11,16,32,1,64,130,256,2],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":498,"old":497,"rank":2,"right":{"linear_Z4":[0,2,0,0,3,0,0,0,3],"matrix_rows":[258,338,1,274,4,8,32,256,128],"offset":0,"phase":0,"quadratic_rows":[0,320,0,0,80,0,18,0,258]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,9,16,32,65,128,2,256,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":500,"old":497,"rank":2,"right":{"linear_Z4":[0,0,0,0,3,0,2,0,3],"matrix_rows":[338,320,1,256,4,8,336,32,128],"offset":9,"phase":0,"quadratic_rows":[0,80,0,0,18,0,258,0,320]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,17,33,66,1,128,256,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":498,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,2],"matrix_rows":[1,258,32,256,36,40,272,64,128],"offset":14,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":864,"old":498,"rank":1,"right":{"linear_Z4":[1,2,0,0,0,0,0,0,0],"matrix_rows":[1,259,256,4,8,272,32,64,128],"offset":7,"phase":3,"quadratic_rows":[259,1,0,0,0,0,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1031,"old":498,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,2,36,40,16,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":498,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,8,272,32,64,128],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,17,33,66,128,256,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":500,"old":499,"rank":2,"right":{"linear_Z4":[2,0,3,0,1,0,0,2,2],"matrix_rows":[132,274,5,256,128,136,272,32,64],"offset":37,"phase":3,"quadratic_rows":[4,16,5,0,18,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,16,32,66,128,2,256,3],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":506,"old":499,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,1],"matrix_rows":[66,272,1,320,4,8,64,32,128],"offset":66,"phase":0,"quadratic_rows":[0,256,0,0,320,0,272,0,338]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,33,66,1,130,256,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":500,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,2],"matrix_rows":[1,272,32,2,36,40,256,320,128],"offset":70,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":817,"old":500,"rank":1,"right":{"linear_Z4":[1,0,0,0,2,0,0,0,0],"matrix_rows":[1,273,2,4,8,256,32,320,128],"offset":35,"phase":3,"quadratic_rows":[273,0,0,0,1,0,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":886,"old":500,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,2,36,40,16,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":500,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[272,1,2,4,8,256,32,320,128],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,17,33,66,128,256,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":482,"old":501,"rank":2,"right":{"linear_Z4":[2,1,3,0,0,0,0,2,2],"matrix_rows":[132,274,5,258,128,136,256,32,64],"offset":37,"phase":3,"quadratic_rows":[4,18,5,0,2,0,0,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,9,16,32,66,128,1,256,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":506,"old":501,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,1],"matrix_rows":[258,80,1,64,4,8,320,32,128],"offset":9,"phase":0,"quadratic_rows":[0,320,0,0,256,0,258,0,338]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":503,"old":502,"rank":1,"right":{"linear_Z4":[0,1,0,0,2,0,0,0,2],"matrix_rows":[258,1,274,4,8,256,32,64,128],"offset":0,"phase":0,"quadratic_rows":[0,18,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":505,"old":502,"rank":1,"right":{"linear_Z4":[2,0,1,2,0,0,0,2,0],"matrix_rows":[132,5,2,128,8,16,160,64,256],"offset":91,"phase":1,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,17,32,66,129,2,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":458,"old":503,"rank":2,"right":{"linear_Z4":[2,0,1,2,0,0,2,2,0],"matrix_rows":[132,66,5,64,128,8,80,160,256],"offset":191,"phase":1,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,16,33,66,129,2,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":504,"old":503,"rank":2,"right":{"linear_Z4":[2,0,2,1,0,0,2,2,0],"matrix_rows":[136,66,9,64,4,128,80,160,256],"offset":191,"phase":1,"quadratic_rows":[8,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,18,33,64,2,128,3,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":504,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,0,0,1,0],"matrix_rows":[129,132,160,2,32,168,16,64,256],"offset":51,"phase":0,"quadratic_rows":[32,0,160,0,0,5,0,132,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":857,"old":504,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,2,0],"matrix_rows":[5,128,2,132,136,16,32,64,256],"offset":16,"phase":3,"quadratic_rows":[132,0,133,0,0,0,0,5,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1006,"old":504,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,0],"matrix_rows":[5,129,2,128,8,16,160,64,256],"offset":64,"phase":3,"quadratic_rows":[133,0,129,0,0,0,0,5,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":504,"rank":1,"right":{"linear_Z4":[2,0,3,0,0,0,0,2,0],"matrix_rows":[132,5,2,128,8,16,160,64,256],"offset":67,"phase":3,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,9,16,32,66,128,1,256,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":458,"old":505,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,1],"matrix_rows":[258,80,1,64,4,8,320,32,128],"offset":9,"phase":0,"quadratic_rows":[0,320,0,0,256,0,258,0,338]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,10,16,33,66,129,256,1,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":482,"old":505,"rank":2,"right":{"linear_Z4":[2,1,0,3,0,0,0,2,2],"matrix_rows":[136,274,9,258,4,128,256,160,64],"offset":133,"phase":3,"quadratic_rows":[8,18,0,9,2,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,18,34,64,1,128,3,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":506,"rank":2,"right":{"linear_Z4":[0,0,2,0,0,0,0,1,0],"matrix_rows":[129,132,32,2,160,168,16,64,256],"offset":39,"phase":0,"quadratic_rows":[160,0,32,0,0,5,0,129,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":862,"old":506,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,2,0],"matrix_rows":[5,128,2,132,8,16,160,64,256],"offset":64,"phase":3,"quadratic_rows":[132,0,133,0,0,0,0,5,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1025,"old":506,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,0],"matrix_rows":[5,129,2,128,136,16,32,64,256],"offset":16,"phase":3,"quadratic_rows":[133,0,129,0,0,0,0,5,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":509,"old":507,"rank":1,"right":{"linear_Z4":[3,3,3,0,0,0,3,0,2],"matrix_rows":[327,257,258,260,8,16,32,320,128],"offset":1,"phase":1,"quadratic_rows":[71,71,71,0,0,0,71,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":519,"old":507,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,0,0,0,2],"matrix_rows":[268,1,2,260,264,16,32,64,128],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":509,"old":508,"rank":1,"right":{"linear_Z4":[3,3,0,3,0,0,3,3,0],"matrix_rows":[75,257,258,132,392,16,32,320,256],"offset":1,"phase":1,"quadratic_rows":[331,331,128,459,0,0,331,140,75]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":523,"old":508,"rank":1,"right":{"linear_Z4":[2,3,2,1,0,0,3,3,2],"matrix_rows":[458,1,258,12,256,272,288,320,384],"offset":123,"phase":0,"quadratic_rows":[0,202,8,206,0,0,202,202,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":522,"old":509,"rank":1,"right":{"linear_Z4":[3,3,1,2,0,0,3,0,2],"matrix_rows":[327,321,322,260,72,16,32,256,128],"offset":150,"phase":2,"quadratic_rows":[7,7,71,64,0,0,76,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":525,"old":509,"rank":1,"right":{"linear_Z4":[1,0,1,2,0,0,0,2,0],"matrix_rows":[5,129,2,140,128,144,160,64,256],"offset":0,"phase":0,"quadratic_rows":[133,0,141,4,0,0,0,5,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":514,"old":510,"rank":1,"right":{"linear_Z4":[1,2,1,0,1,0,1,1,0],"matrix_rows":[213,385,130,388,8,400,32,448,256],"offset":431,"phase":3,"quadratic_rows":[341,128,341,0,341,0,341,386,213]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":515,"old":510,"rank":1,"right":{"linear_Z4":[3,2,3,0,0,2,0,0,0],"matrix_rows":[39,33,32,36,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[7,5,7,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":517,"old":511,"rank":1,"right":{"linear_Z4":[3,0,3,3,0,0,0,0,2],"matrix_rows":[5,257,10,268,256,16,288,64,384],"offset":90,"phase":0,"quadratic_rows":[261,8,269,14,0,0,0,0,5]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":519,"old":511,"rank":1,"right":{"linear_Z4":[0,0,3,3,2,0,0,0,0],"matrix_rows":[28,1,2,20,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":515,"old":512,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,1,1,2],"matrix_rows":[471,257,256,260,8,272,32,320,384],"offset":0,"phase":0,"quadratic_rows":[215,213,215,0,215,0,215,215,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":523,"old":512,"rank":1,"right":{"linear_Z4":[1,1,1,0,0,0,1,1,2],"matrix_rows":[471,257,258,260,8,256,32,320,384],"offset":0,"phase":0,"quadratic_rows":[215,215,215,0,199,0,215,215,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":514,"old":513,"rank":1,"right":{"linear_Z4":[1,1,1,0,1,0,1,2,0],"matrix_rows":[87,129,130,132,8,144,32,192,256],"offset":0,"phase":0,"quadratic_rows":[215,215,215,0,215,0,215,87,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":517,"old":513,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,0],"matrix_rows":[2,1,130,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,130,0,0,0,0,0,2,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":516,"old":514,"rank":1,"right":{"linear_Z4":[2,0,2,0,3,0,3,0,2],"matrix_rows":[338,1,256,4,264,272,288,320,384],"offset":95,"phase":0,"quadratic_rows":[0,80,0,0,82,0,82,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":518,"old":514,"rank":1,"right":{"linear_Z4":[3,3,3,0,3,0,2,0,0],"matrix_rows":[23,193,130,196,8,208,32,128,256],"offset":1,"phase":1,"quadratic_rows":[215,151,215,0,215,0,21,23,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":516,"old":515,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,1,0,0],"matrix_rows":[213,385,2,388,8,400,32,448,256],"offset":427,"phase":0,"quadratic_rows":[341,0,341,0,341,0,341,256,213]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":524,"old":515,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,3,3,0],"matrix_rows":[213,257,2,260,8,256,32,320,384],"offset":33,"phase":0,"quadratic_rows":[469,0,469,0,453,0,469,469,213]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,32,65,128,2,3,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":481,"old":516,"rank":2,"right":{"linear_Z4":[1,0,1,0,0,0,0,1,0],"matrix_rows":[21,192,145,2,148,8,128,32,256],"offset":85,"phase":0,"quadratic_rows":[133,0,133,0,128,0,128,213,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[7,8,19,32,65,128,2,3,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":506,"old":516,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,0,0,1,0],"matrix_rows":[21,197,129,2,132,8,128,32,256],"offset":65,"phase":0,"quadratic_rows":[80,0,80,0,133,0,133,208,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":518,"old":517,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":520,"old":517,"rank":1,"right":{"linear_Z4":[0,1,0,0,2,0,0,0,0],"matrix_rows":[2,1,18,4,8,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,18,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[7,10,19,34,65,130,1,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":481,"old":518,"rank":2,"right":{"linear_Z4":[2,0,2,0,0,0,0,0,2],"matrix_rows":[21,263,337,256,340,264,64,288,384],"offset":235,"phase":0,"quadratic_rows":[66,5,66,0,64,0,21,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,8,17,33,2,64,3,128,256],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":521,"old":518,"rank":2,"right":{"linear_Z4":[2,0,3,0,3,0,3,0,0],"matrix_rows":[68,80,5,18,64,72,32,128,256],"offset":20,"phase":2,"quadratic_rows":[4,16,5,0,82,0,80,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":520,"old":519,"rank":1,"right":{"linear_Z4":[1,3,1,2,0,0,0,0,0],"matrix_rows":[15,257,266,268,256,272,288,64,384],"offset":91,"phase":1,"quadratic_rows":[271,263,263,257,0,0,0,0,15]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":522,"old":519,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,19,3,32,64,2,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":457,"old":520,"rank":2,"right":{"linear_Z4":[2,1,2,2,0,0,0,0,0],"matrix_rows":[74,68,5,78,8,16,32,128,256],"offset":29,"phase":0,"quadratic_rows":[4,6,3,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,11,17,1,32,64,2,128,256],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":521,"old":520,"rank":2,"right":{"linear_Z4":[2,2,3,3,0,0,3,0,0],"matrix_rows":[78,10,5,74,8,16,32,128,256],"offset":20,"phase":2,"quadratic_rows":[4,12,71,10,0,0,68,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,17,35,66,3,130,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":521,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[1,258,288,256,292,40,272,320,384],"offset":26,"phase":3,"quadratic_rows":[288,0,0,0,0,1,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":861,"old":521,"rank":1,"right":{"linear_Z4":[1,2,0,0,0,0,0,0,0],"matrix_rows":[1,259,256,4,264,272,288,320,384],"offset":87,"phase":1,"quadratic_rows":[259,1,0,0,0,0,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1018,"old":521,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,2,36,40,16,64,128,256],"offset":8,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":521,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,264,272,288,320,384],"offset":85,"phase":2,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,10,19,33,66,130,1,258,2],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":457,"old":522,"rank":2,"right":{"linear_Z4":[2,3,2,3,0,0,3,0,1],"matrix_rows":[332,66,13,262,320,64,272,288,384],"offset":141,"phase":0,"quadratic_rows":[12,326,259,265,0,0,66,0,270]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,10,19,33,66,130,1,258,2],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":527,"old":522,"rank":2,"right":{"linear_Z4":[2,3,2,1,0,0,3,0,1],"matrix_rows":[332,74,13,270,320,64,272,288,384],"offset":45,"phase":0,"quadratic_rows":[12,326,267,77,0,0,74,0,262]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":524,"old":523,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,3,3,0],"matrix_rows":[199,257,256,260,8,16,32,320,384],"offset":5,"phase":0,"quadratic_rows":[455,453,455,0,0,0,455,455,199]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":525,"old":523,"rank":1,"right":{"linear_Z4":[3,3,3,0,0,0,3,0,0],"matrix_rows":[199,257,258,260,8,16,32,320,256],"offset":257,"phase":0,"quadratic_rows":[455,455,455,0,0,0,455,327,199]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,32,64,128,258,1,3],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":506,"old":524,"rank":2,"right":{"linear_Z4":[1,0,1,0,0,0,0,0,1],"matrix_rows":[389,64,129,2,132,8,16,32,256],"offset":258,"phase":0,"quadratic_rows":[261,0,261,0,0,0,256,256,453]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[7,8,19,32,64,128,257,2,3],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":526,"old":524,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,1],"matrix_rows":[69,389,257,2,260,8,16,32,256],"offset":257,"phase":0,"quadratic_rows":[192,0,192,0,0,0,261,261,448]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[7,9,19,32,64,128,2,256,3],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":526,"old":525,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,1],"matrix_rows":[7,325,257,256,260,8,16,32,128],"offset":9,"phase":0,"quadratic_rows":[66,261,66,0,0,0,261,0,322]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,8,17,33,64,128,2,256,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":527,"old":525,"rank":2,"right":{"linear_Z4":[2,2,0,0,0,0,0,0,3],"matrix_rows":[260,320,5,6,256,264,16,32,128],"offset":29,"phase":0,"quadratic_rows":[4,4,3,0,0,0,256,0,320]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,18,34,64,1,128,256,3],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":526,"rank":2,"right":{"linear_Z4":[0,0,2,0,0,0,0,0,1],"matrix_rows":[257,260,32,2,288,296,16,64,128],"offset":39,"phase":0,"quadratic_rows":[288,0,32,0,0,5,0,0,257]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":865,"old":526,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,0,2],"matrix_rows":[5,256,2,260,8,16,288,64,128],"offset":64,"phase":3,"quadratic_rows":[260,0,261,0,0,0,0,0,5]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1030,"old":526,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[5,257,2,256,264,16,32,64,128],"offset":16,"phase":3,"quadratic_rows":[261,0,257,0,0,0,0,0,5]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":526,"rank":1,"right":{"linear_Z4":[2,0,3,0,0,0,0,0,2],"matrix_rows":[260,5,2,256,264,16,32,64,128],"offset":19,"phase":3,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,19,3,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":527,"rank":2,"right":{"linear_Z4":[2,0,0,2,0,0,0,0,0],"matrix_rows":[1,42,32,40,12,16,64,128,256],"offset":4,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":821,"old":527,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,2,36,40,16,64,128,256],"offset":26,"phase":1,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":898,"old":527,"rank":1,"right":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[1,11,8,12,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[11,1,0,1,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":527,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[10,1,8,12,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":35,"old":528,"rank":1,"right":{"linear_Z4":[3,0,3,0,2,0,0,0,0],"matrix_rows":[21,17,2,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,17,33,64,132,1,262,2,4],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":576,"old":528,"rank":3,"right":{"linear_Z4":[2,1,1,0,3,2,1,0,1],"matrix_rows":[34,448,400,5,38,32,8,464,256],"offset":443,"phase":3,"quadratic_rows":[4,6,7,0,80,0,336,256,448]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,18,33,2,64,3,132,260,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":580,"old":528,"rank":3,"right":{"linear_Z4":[2,0,1,2,2,1,1,1,2],"matrix_rows":[12,34,320,5,8,40,144,448,256],"offset":493,"phase":3,"quadratic_rows":[4,40,37,34,128,46,192,208,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":35,"old":529,"rank":1,"right":{"linear_Z4":[1,0,1,0,0,0,3,3,0],"matrix_rows":[213,273,2,276,8,256,32,320,384],"offset":43,"phase":0,"quadratic_rows":[453,0,453,0,448,0,469,469,213]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[15,16,39,64,131,256,5,1,7],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":648,"old":529,"rank":3,"right":{"linear_Z4":[1,0,1,0,2,0,2,1,3],"matrix_rows":[213,21,325,257,210,260,8,256,32],"offset":1,"phase":1,"quadratic_rows":[133,208,133,0,258,0,258,135,336]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[11,18,35,66,132,2,257,1,5],"offset":0,"phase":0,"quadratic_rows":[4,0,5,0,0,0,0,0,0]},"new":652,"old":529,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,2,1,2,1],"matrix_rows":[325,39,16,161,32,164,40,256,192],"offset":134,"phase":1,"quadratic_rows":[450,5,450,0,256,0,453,69,341]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":64,"old":530,"rank":1,"right":{"linear_Z4":[3,0,3,0,3,0,2,0,0],"matrix_rows":[21,321,2,324,8,336,32,256,384],"offset":1,"phase":1,"quadratic_rows":[341,0,341,0,341,0,21,0,21]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,17,35,1,64,2,132,260,4],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":572,"old":530,"rank":3,"right":{"linear_Z4":[2,1,0,3,0,3,0,0,2],"matrix_rows":[42,4,320,13,6,32,16,256,384],"offset":59,"phase":1,"quadratic_rows":[12,46,43,47,0,46,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,18,35,1,68,2,128,260,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":581,"old":530,"rank":3,"right":{"linear_Z4":[2,1,0,1,0,1,0,0,2],"matrix_rows":[44,42,272,13,46,32,256,64,384],"offset":59,"phase":1,"quadratic_rows":[12,6,43,45,0,44,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":64,"old":531,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,2,2,0],"matrix_rows":[144,65,2,68,8,208,32,128,256],"offset":0,"phase":0,"quadratic_rows":[64,0,64,0,80,0,21,0,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[8,1,16,32,66,128,4,6,256],"offset":0,"phase":0,"quadratic_rows":[0,6,6,0,0,0,0,0,0]},"new":650,"old":531,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,0,0,1,0],"matrix_rows":[2,16,192,1,4,8,128,32,256],"offset":67,"phase":1,"quadratic_rows":[0,0,0,0,128,0,128,208,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,16,37,65,130,4,258,2,5],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":656,"old":531,"rank":3,"right":{"linear_Z4":[2,2,0,1,1,0,1,2,2],"matrix_rows":[300,144,36,13,66,256,288,208,128],"offset":475,"phase":3,"quadratic_rows":[12,64,1,9,80,0,82,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":93,"old":532,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,2,0,0],"matrix_rows":[69,65,2,68,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[5,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,18,33,3,68,2,128,260,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":573,"old":532,"rank":3,"right":{"linear_Z4":[2,0,1,1,1,2,2,3,2],"matrix_rows":[36,10,400,5,32,40,272,192,256],"offset":425,"phase":1,"quadratic_rows":[4,40,13,46,144,10,128,208,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,17,33,1,70,128,2,260,4],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":577,"old":532,"rank":3,"right":{"linear_Z4":[2,1,1,2,2,0,3,0,3],"matrix_rows":[10,272,464,5,14,8,336,32,256],"offset":57,"phase":0,"quadratic_rows":[4,6,7,0,384,0,192,80,272]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":93,"old":533,"rank":1,"right":{"linear_Z4":[3,0,3,3,0,0,0,0,0],"matrix_rows":[5,33,10,44,32,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[37,8,45,14,0,5,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,20,33,65,130,1,256,4,6],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":654,"old":533,"rank":3,"right":{"linear_Z4":[3,1,3,2,0,0,0,2,3],"matrix_rows":[5,16,402,41,18,36,32,256,64],"offset":151,"phase":1,"quadratic_rows":[45,386,37,1,128,5,0,274,386]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,16,37,65,130,4,5,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":658,"old":533,"rank":3,"right":{"linear_Z4":[2,2,0,1,1,0,2,3,2],"matrix_rows":[108,400,36,13,130,64,96,272,256],"offset":345,"phase":1,"quadratic_rows":[12,128,1,9,144,0,0,146,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":122,"old":534,"rank":1,"right":{"linear_Z4":[0,0,1,3,3,0,0,1,2],"matrix_rows":[396,1,18,260,280,256,288,320,384],"offset":240,"phase":2,"quadratic_rows":[0,16,140,156,26,0,0,140,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":593,"old":534,"rank":1,"right":{"linear_Z4":[0,3,3,3,3,0,0,3,0],"matrix_rows":[30,129,258,260,264,400,32,64,256],"offset":1,"phase":1,"quadratic_rows":[128,286,286,286,414,0,0,145,30]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[18,34,68,8,129,257,1,3,14],"offset":0,"phase":0,"quadratic_rows":[3,15,14,14,0,0,0,0,0]},"new":779,"old":534,"rank":4,"right":{"linear_Z4":[1,1,0,0,0,0,0,1,2],"matrix_rows":[208,403,68,264,209,194,320,64,96],"offset":68,"phase":0,"quadratic_rows":[323,339,256,256,450,0,403,464,223]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":122,"old":535,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":595,"old":535,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,2,3,2],"matrix_rows":[388,1,2,260,8,16,32,192,256],"offset":384,"phase":2,"quadratic_rows":[0,0,132,0,0,0,128,196,0]}},{"left":{"linear_Z4":[3,3,2,2,0,0,0,0,0],"matrix_rows":[16,33,74,132,5,4,2,264,8],"offset":0,"phase":0,"quadratic_rows":[5,10,1,2,0,0,0,0,0]},"new":781,"old":535,"rank":4,"right":{"linear_Z4":[2,1,2,0,1,2,3,0,3],"matrix_rows":[34,260,24,452,3,48,324,32,256],"offset":49,"phase":3,"quadratic_rows":[2,19,384,48,58,24,192,68,260]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":122,"old":536,"rank":1,"right":{"linear_Z4":[0,0,0,1,3,0,2,0,0],"matrix_rows":[8,1,18,4,88,64,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,16,0,88,26,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":636,"old":536,"rank":1,"right":{"linear_Z4":[0,0,1,2,0,0,0,0,0],"matrix_rows":[4,1,2,12,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,12,4,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,3,0,0,0,0,0],"matrix_rows":[16,35,68,132,257,2,1,8,12],"offset":0,"phase":0,"quadratic_rows":[2,3,8,12,0,0,0,0,0]},"new":800,"old":536,"rank":4,"right":{"linear_Z4":[2,0,0,3,3,3,1,2,3],"matrix_rows":[114,66,396,384,19,96,256,392,64],"offset":119,"phase":0,"quadratic_rows":[18,65,136,12,49,48,66,260,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":122,"old":537,"rank":1,"right":{"linear_Z4":[1,1,1,1,0,0,2,1,2],"matrix_rows":[399,321,322,260,328,16,32,256,384],"offset":0,"phase":0,"quadratic_rows":[207,207,143,207,0,0,11,143,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":638,"old":537,"rank":1,"right":{"linear_Z4":[2,2,1,2,0,0,1,1,2],"matrix_rows":[452,1,2,268,256,272,288,320,384],"offset":102,"phase":0,"quadratic_rows":[0,0,204,4,0,0,196,196,0]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[19,35,65,130,258,2,4,8,15],"offset":0,"phase":0,"quadratic_rows":[15,15,15,15,0,0,0,0,0]},"new":799,"old":537,"rank":4,"right":{"linear_Z4":[2,2,0,0,0,0,0,0,1],"matrix_rows":[39,299,320,384,261,262,288,32,48],"offset":0,"phase":0,"quadratic_rows":[8,8,256,259,0,0,256,256,460]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":151,"old":538,"rank":1,"right":{"linear_Z4":[1,0,1,0,1,0,2,0,0],"matrix_rows":[21,65,2,68,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[85,0,85,0,85,0,21,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":585,"old":538,"rank":1,"right":{"linear_Z4":[3,3,3,3,0,0,2,0,0],"matrix_rows":[79,65,66,68,72,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[15,15,15,15,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,3,0,0,0,0,0],"matrix_rows":[16,35,75,12,133,6,4,261,5],"offset":0,"phase":0,"quadratic_rows":[12,12,15,15,0,0,0,0,0]},"new":775,"old":538,"rank":4,"right":{"linear_Z4":[2,2,3,1,0,0,0,0,0],"matrix_rows":[334,126,376,372,19,288,380,256,384],"offset":220,"phase":1,"quadratic_rows":[18,1,316,316,13,12,0,0,12]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":151,"old":539,"rank":1,"right":{"linear_Z4":[3,0,3,0,3,0,2,0,0],"matrix_rows":[21,321,2,324,8,336,32,256,384],"offset":1,"phase":1,"quadratic_rows":[341,0,341,0,341,0,21,0,21]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":587,"old":539,"rank":1,"right":{"linear_Z4":[3,3,0,0,3,0,0,0,0],"matrix_rows":[3,33,50,4,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[35,51,0,16,26,3,0,0,0]}},{"left":{"linear_Z4":[2,2,2,2,0,0,0,0,0],"matrix_rows":[17,33,68,3,130,2,8,268,12],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":777,"old":539,"rank":4,"right":{"linear_Z4":[3,3,0,1,0,0,0,0,2],"matrix_rows":[27,24,260,64,41,58,256,32,384],"offset":71,"phase":2,"quadratic_rows":[51,35,0,24,9,3,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":151,"old":540,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,2,2,0],"matrix_rows":[132,65,2,196,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[64,0,68,0,64,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":644,"old":540,"rank":1,"right":{"linear_Z4":[0,0,1,2,0,0,0,0,0],"matrix_rows":[4,1,2,12,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,12,4,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,3,0,0,0,0,0],"matrix_rows":[16,35,68,132,257,2,8,12,1],"offset":0,"phase":0,"quadratic_rows":[2,3,8,12,0,0,0,0,0]},"new":804,"old":540,"rank":4,"right":{"linear_Z4":[2,0,0,3,3,3,2,3,1],"matrix_rows":[306,258,204,192,19,288,128,200,256],"offset":119,"phase":0,"quadratic_rows":[18,257,72,12,49,48,132,192,258]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":151,"old":541,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,2,0,2],"matrix_rows":[260,65,2,324,8,80,32,256,128],"offset":0,"phase":0,"quadratic_rows":[64,0,68,0,64,0,21,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":646,"old":541,"rank":1,"right":{"linear_Z4":[0,0,1,2,0,0,0,0,0],"matrix_rows":[4,1,2,12,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,12,4,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,3,0,0,0,0,0],"matrix_rows":[16,35,68,132,257,2,8,1,12],"offset":0,"phase":0,"quadratic_rows":[2,3,8,12,0,0,0,0,0]},"new":803,"old":541,"rank":4,"right":{"linear_Z4":[2,0,0,3,3,3,2,1,3],"matrix_rows":[178,130,332,320,19,160,256,328,128],"offset":119,"phase":0,"quadratic_rows":[18,129,72,12,49,48,260,130,320]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":180,"old":542,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,2,0,0],"matrix_rows":[74,1,66,4,72,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[0,10,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":609,"old":542,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,2,3,2],"matrix_rows":[385,257,2,4,8,16,32,192,256],"offset":384,"phase":2,"quadratic_rows":[129,0,0,0,0,0,128,193,0]}},{"left":{"linear_Z4":[3,3,2,2,0,0,0,0,0],"matrix_rows":[25,32,70,2,132,4,1,264,8],"offset":0,"phase":0,"quadratic_rows":[9,6,2,1,0,0,0,0,0]},"new":787,"old":542,"rank":4,"right":{"linear_Z4":[2,2,0,3,0,1,3,0,3],"matrix_rows":[257,44,36,449,321,14,32,48,256],"offset":102,"phase":0,"quadratic_rows":[384,12,34,42,0,44,192,65,257]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":180,"old":543,"rank":1,"right":{"linear_Z4":[3,0,1,1,0,0,0,3,0],"matrix_rows":[173,257,2,292,296,16,256,64,384],"offset":89,"phase":0,"quadratic_rows":[429,0,397,397,0,385,0,429,173]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":611,"old":543,"rank":1,"right":{"linear_Z4":[3,0,3,3,0,3,0,3,0],"matrix_rows":[45,257,130,260,392,16,288,64,256],"offset":1,"phase":1,"quadratic_rows":[301,128,301,429,0,301,0,138,45]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,36,68,130,258,8,2,6,13],"offset":0,"phase":0,"quadratic_rows":[13,6,15,13,0,0,0,0,0]},"new":789,"old":543,"rank":4,"right":{"linear_Z4":[0,1,1,0,0,0,0,1,2],"matrix_rows":[65,200,398,288,320,202,196,64,80],"offset":17,"phase":0,"quadratic_rows":[256,326,334,452,0,256,398,456,239]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":180,"old":544,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,2,0,0,0],"matrix_rows":[44,1,2,36,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":620,"old":544,"rank":1,"right":{"linear_Z4":[0,2,2,1,0,0,2,0,0],"matrix_rows":[72,1,2,12,64,80,32,128,256],"offset":61,"phase":1,"quadratic_rows":[0,0,8,12,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,2,3,0,0,0,0,0],"matrix_rows":[17,34,66,130,2,4,256,8,9],"offset":0,"phase":0,"quadratic_rows":[9,2,0,9,0,0,0,0,0]},"new":792,"old":544,"rank":4,"right":{"linear_Z4":[0,3,2,3,0,2,0,0,1],"matrix_rows":[1,10,32,384,256,22,16,24,64],"offset":23,"phase":2,"quadratic_rows":[256,30,2,26,10,0,0,256,385]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":180,"old":545,"rank":1,"right":{"linear_Z4":[3,1,0,1,0,0,0,3,0],"matrix_rows":[203,257,322,4,328,16,32,256,384],"offset":149,"phase":0,"quadratic_rows":[459,395,0,395,0,0,385,459,203]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":622,"old":545,"rank":1,"right":{"linear_Z4":[3,2,2,1,0,0,3,3,2],"matrix_rows":[457,257,2,12,256,272,288,320,384],"offset":125,"phase":0,"quadratic_rows":[201,0,8,205,0,0,201,201,0]}},{"left":{"linear_Z4":[3,2,3,3,0,0,0,0,0],"matrix_rows":[21,32,71,130,261,5,9,1,10],"offset":0,"phase":0,"quadratic_rows":[11,13,6,11,0,0,0,0,0]},"new":791,"old":545,"rank":4,"right":{"linear_Z4":[0,2,2,1,0,3,2,1,3],"matrix_rows":[257,300,449,320,229,14,288,256,48],"offset":486,"phase":2,"quadratic_rows":[36,12,227,42,0,237,36,420,384]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":209,"old":546,"rank":1,"right":{"linear_Z4":[3,3,0,3,0,0,2,0,0],"matrix_rows":[11,321,322,4,328,16,32,256,384],"offset":1,"phase":1,"quadratic_rows":[331,331,0,331,0,0,11,0,11]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":601,"old":546,"rank":1,"right":{"linear_Z4":[0,0,3,3,0,2,0,0,0],"matrix_rows":[44,1,2,36,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,2,0,0,0,0,0],"matrix_rows":[17,34,66,132,4,6,8,265,9],"offset":0,"phase":0,"quadratic_rows":[0,4,2,0,0,0,0,0,0]},"new":783,"old":546,"rank":4,"right":{"linear_Z4":[0,3,3,0,0,1,0,0,2],"matrix_rows":[257,46,40,64,256,50,60,16,384],"offset":23,"phase":2,"quadratic_rows":[0,30,22,34,6,40,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":209,"old":547,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":603,"old":547,"rank":1,"right":{"linear_Z4":[3,3,3,0,0,3,2,0,0],"matrix_rows":[103,65,66,68,8,16,96,128,256],"offset":1,"phase":1,"quadratic_rows":[39,39,39,0,0,39,0,0,0]}},{"left":{"linear_Z4":[3,2,2,3,0,0,0,0,0],"matrix_rows":[30,32,70,131,5,9,1,259,3],"offset":0,"phase":0,"quadratic_rows":[15,9,9,15,0,0,0,0,0]},"new":785,"old":547,"rank":4,"right":{"linear_Z4":[3,2,2,0,0,1,0,0,0],"matrix_rows":[376,357,125,345,377,14,272,256,384],"offset":185,"phase":1,"quadratic_rows":[313,12,2,35,33,313,0,0,33]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":209,"old":548,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,2,2,0],"matrix_rows":[129,193,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[65,64,0,64,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":628,"old":548,"rank":1,"right":{"linear_Z4":[0,2,2,1,0,0,0,0,2],"matrix_rows":[264,1,2,12,256,272,32,64,128],"offset":61,"phase":1,"quadratic_rows":[0,0,8,12,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,2,3,0,0,0,0,0],"matrix_rows":[17,34,66,130,2,4,8,9,256],"offset":0,"phase":0,"quadratic_rows":[9,2,0,9,0,0,0,0,0]},"new":796,"old":548,"rank":4,"right":{"linear_Z4":[0,3,2,3,0,2,0,1,0],"matrix_rows":[1,10,32,192,128,22,16,24,256],"offset":23,"phase":2,"quadratic_rows":[128,30,2,26,10,0,128,193,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":209,"old":549,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,2,0,2],"matrix_rows":[257,321,66,4,72,16,32,256,128],"offset":0,"phase":0,"quadratic_rows":[65,64,0,64,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":630,"old":549,"rank":1,"right":{"linear_Z4":[0,2,2,1,0,0,0,2,0],"matrix_rows":[136,1,2,12,128,144,32,64,256],"offset":61,"phase":1,"quadratic_rows":[0,0,8,12,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,2,3,0,0,0,0,0],"matrix_rows":[17,34,66,130,2,4,8,256,9],"offset":0,"phase":0,"quadratic_rows":[9,2,0,9,0,0,0,0,0]},"new":795,"old":549,"rank":4,"right":{"linear_Z4":[0,3,2,3,0,2,0,0,1],"matrix_rows":[1,10,32,320,256,22,16,24,128],"offset":23,"phase":2,"quadratic_rows":[256,30,2,26,10,0,256,0,321]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":238,"old":550,"rank":1,"right":{"linear_Z4":[0,1,1,3,0,3,0,3,2],"matrix_rows":[422,9,258,268,256,272,288,64,384],"offset":61,"phase":1,"quadratic_rows":[8,166,174,13,0,166,0,166,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":625,"old":550,"rank":1,"right":{"linear_Z4":[3,0,3,3,0,3,0,3,0],"matrix_rows":[45,257,130,388,264,16,288,64,256],"offset":1,"phase":1,"quadratic_rows":[301,128,429,301,0,301,0,134,45]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[17,36,70,132,262,8,6,2,13],"offset":0,"phase":0,"quadratic_rows":[13,6,15,13,0,0,0,0,0]},"new":795,"old":550,"rank":4,"right":{"linear_Z4":[0,1,3,1,0,0,1,0,2],"matrix_rows":[65,196,330,288,320,198,64,200,80],"offset":17,"phase":0,"quadratic_rows":[256,398,70,394,0,256,196,74,43]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":238,"old":551,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,2,0,0],"matrix_rows":[70,1,66,68,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":627,"old":551,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,1,2,3,2],"matrix_rows":[416,1,2,4,8,16,288,192,256],"offset":384,"phase":2,"quadratic_rows":[0,0,0,0,0,160,128,224,0]}},{"left":{"linear_Z4":[2,3,3,2,0,0,0,0,0],"matrix_rows":[17,32,66,3,1,140,4,264,8],"offset":0,"phase":0,"quadratic_rows":[2,3,12,4,0,0,0,0,0]},"new":797,"old":551,"rank":4,"right":{"linear_Z4":[0,2,1,1,2,2,3,0,3],"matrix_rows":[9,20,288,480,16,6,24,352,256],"offset":98,"phase":3,"quadratic_rows":[24,4,14,29,9,384,192,96,288]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":238,"old":552,"rank":1,"right":{"linear_Z4":[0,3,3,3,0,0,0,0,0],"matrix_rows":[6,9,18,28,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[8,22,30,13,6,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":604,"old":552,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,3,0,1,2],"matrix_rows":[416,33,2,4,8,16,256,64,384],"offset":66,"phase":2,"quadratic_rows":[32,0,0,0,0,161,0,160,0]}},{"left":{"linear_Z4":[3,2,2,2,0,0,0,0,0],"matrix_rows":[24,32,70,130,4,264,6,1,9],"offset":0,"phase":0,"quadratic_rows":[9,0,0,1,0,0,0,0,0]},"new":784,"old":552,"rank":4,"right":{"linear_Z4":[3,2,0,1,0,0,2,2,3],"matrix_rows":[384,92,20,417,385,14,64,80,256],"offset":426,"phase":3,"quadratic_rows":[33,12,2,10,0,129,0,288,384]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":238,"old":553,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,3,0,3,0],"matrix_rows":[230,1,322,324,8,16,288,256,384],"offset":141,"phase":0,"quadratic_rows":[0,422,422,0,0,486,416,486,230]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":606,"old":553,"rank":1,"right":{"linear_Z4":[2,3,3,0,0,1,3,3,0],"matrix_rows":[230,33,258,260,8,16,256,320,384],"offset":67,"phase":3,"quadratic_rows":[32,486,486,0,0,487,486,486,230]}},{"left":{"linear_Z4":[2,3,3,3,0,0,0,0,0],"matrix_rows":[17,35,67,129,1,258,4,8,14],"offset":0,"phase":0,"quadratic_rows":[0,14,14,14,0,0,0,0,0]},"new":783,"old":553,"rank":4,"right":{"linear_Z4":[2,0,0,0,2,0,0,0,0],"matrix_rows":[23,38,320,384,16,306,308,24,256],"offset":1,"phase":1,"quadratic_rows":[6,257,257,0,0,256,256,256,230]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":267,"old":554,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,1,2,0,0],"matrix_rows":[38,1,66,68,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,102,102,0,0,102,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":617,"old":554,"rank":1,"right":{"linear_Z4":[3,3,0,3,0,3,2,0,0],"matrix_rows":[107,65,66,4,72,16,96,128,256],"offset":1,"phase":1,"quadratic_rows":[43,43,0,43,0,43,0,0,0]}},{"left":{"linear_Z4":[3,2,3,3,0,0,0,0,0],"matrix_rows":[26,32,71,130,5,9,1,263,7],"offset":0,"phase":0,"quadratic_rows":[11,13,6,11,0,0,0,0,0]},"new":791,"old":554,"rank":4,"right":{"linear_Z4":[2,2,0,1,0,0,3,0,1],"matrix_rows":[372,361,276,341,373,14,256,272,384],"offset":121,"phase":1,"quadratic_rows":[328,12,330,127,328,328,125,0,309]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":267,"old":555,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,3,2,0,0],"matrix_rows":[38,1,322,324,8,16,352,256,384],"offset":1,"phase":1,"quadratic_rows":[0,358,358,0,0,358,38,0,38]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":619,"old":555,"rank":1,"right":{"linear_Z4":[0,3,3,3,0,0,0,0,0],"matrix_rows":[6,9,18,28,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[8,22,30,13,6,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,2,0,0,0,0,0],"matrix_rows":[18,32,67,1,2,132,8,268,12],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":793,"old":555,"rank":4,"right":{"linear_Z4":[1,2,0,1,1,0,0,0,2],"matrix_rows":[28,25,288,64,29,14,16,256,384],"offset":247,"phase":1,"quadratic_rows":[5,12,27,30,28,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":267,"old":556,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,1,2,2,0],"matrix_rows":[160,1,66,68,8,16,224,128,256],"offset":0,"phase":0,"quadratic_rows":[0,64,64,0,0,96,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":612,"old":556,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,3,1,2,0],"matrix_rows":[224,33,2,4,8,16,128,192,256],"offset":66,"phase":2,"quadratic_rows":[32,0,0,0,0,97,96,0,0]}},{"left":{"linear_Z4":[3,2,2,2,0,0,0,0,0],"matrix_rows":[24,32,70,130,4,264,1,9,6],"offset":0,"phase":0,"quadratic_rows":[9,0,0,1,0,0,0,0,0]},"new":788,"old":556,"rank":4,"right":{"linear_Z4":[3,2,0,1,0,0,2,3,2],"matrix_rows":[192,284,20,225,193,14,256,272,128],"offset":426,"phase":3,"quadratic_rows":[33,12,2,10,0,65,160,192,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":267,"old":557,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,1,2,0,2],"matrix_rows":[288,1,66,68,8,16,352,256,128],"offset":0,"phase":0,"quadratic_rows":[0,64,64,0,0,96,38,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":614,"old":557,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,3,1,0,2],"matrix_rows":[352,33,2,4,8,16,256,320,128],"offset":66,"phase":2,"quadratic_rows":[32,0,0,0,0,97,96,0,0]}},{"left":{"linear_Z4":[3,2,2,2,0,0,0,0,0],"matrix_rows":[24,32,70,130,4,264,1,6,9],"offset":0,"phase":0,"quadratic_rows":[9,0,0,1,0,0,0,0,0]},"new":787,"old":557,"rank":4,"right":{"linear_Z4":[3,2,0,1,0,0,2,2,3],"matrix_rows":[320,156,20,353,321,14,128,144,256],"offset":426,"phase":3,"quadratic_rows":[33,12,2,10,0,65,288,0,320]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":296,"old":558,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,2,0,0],"matrix_rows":[67,65,66,4,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[3,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":641,"old":558,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,2,3,2],"matrix_rows":[392,1,2,4,264,16,32,192,256],"offset":384,"phase":2,"quadratic_rows":[0,0,0,136,0,0,128,200,0]}},{"left":{"linear_Z4":[3,2,3,2,0,0,0,0,0],"matrix_rows":[16,33,66,140,3,2,4,264,8],"offset":0,"phase":0,"quadratic_rows":[3,1,12,4,0,0,0,0,0]},"new":803,"old":558,"rank":4,"right":{"linear_Z4":[2,1,0,2,1,2,3,0,3],"matrix_rows":[34,20,264,456,3,48,32,328,256],"offset":49,"phase":3,"quadratic_rows":[2,19,48,384,54,20,192,72,264]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":296,"old":559,"rank":1,"right":{"linear_Z4":[1,1,0,3,3,0,0,3,2],"matrix_rows":[395,257,274,20,264,256,288,64,384],"offset":103,"phase":1,"quadratic_rows":[139,155,16,139,22,0,0,139,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":643,"old":559,"rank":1,"right":{"linear_Z4":[0,3,3,3,3,0,0,3,0],"matrix_rows":[30,129,386,260,264,272,32,64,256],"offset":1,"phase":1,"quadratic_rows":[128,414,286,286,286,0,0,131,30]}},{"left":{"linear_Z4":[3,3,3,3,0,0,0,0,0],"matrix_rows":[18,35,68,8,130,259,3,1,14],"offset":0,"phase":0,"quadratic_rows":[3,15,14,14,0,0,0,0,0]},"new":805,"old":559,"rank":4,"right":{"linear_Z4":[1,3,0,0,1,0,1,0,2],"matrix_rows":[194,337,68,264,195,64,320,208,96],"offset":68,"phase":0,"quadratic_rows":[403,67,256,256,401,0,194,81,29]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":296,"old":560,"rank":1,"right":{"linear_Z4":[3,3,0,0,3,0,0,0,0],"matrix_rows":[3,33,50,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[35,51,16,0,22,3,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":588,"old":560,"rank":1,"right":{"linear_Z4":[3,3,0,0,2,0,0,0,0],"matrix_rows":[3,33,50,4,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[35,51,0,0,2,3,0,0,0]}},{"left":{"linear_Z4":[3,2,3,3,0,0,0,0,0],"matrix_rows":[17,33,2,68,129,1,256,8,12],"offset":0,"phase":0,"quadratic_rows":[1,0,12,12,0,0,0,0,0]},"new":776,"old":560,"rank":4,"right":{"linear_Z4":[3,3,2,0,2,0,0,0,1],"matrix_rows":[3,4,8,384,49,34,256,32,64],"offset":71,"phase":2,"quadratic_rows":[51,35,0,256,1,3,0,256,392]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":296,"old":561,"rank":1,"right":{"linear_Z4":[1,1,0,3,0,0,0,3,0],"matrix_rows":[203,321,322,4,264,16,32,256,384],"offset":135,"phase":0,"quadratic_rows":[395,395,0,459,0,0,392,459,203]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":590,"old":561,"rank":1,"right":{"linear_Z4":[3,3,2,0,0,2,0,0,0],"matrix_rows":[39,33,34,32,8,48,64,128,256],"offset":1,"phase":1,"quadratic_rows":[7,7,3,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,3,3,0,0,0,0,0],"matrix_rows":[16,33,64,134,1,256,10,2,15],"offset":0,"phase":0,"quadratic_rows":[14,3,13,13,0,0,0,0,0]},"new":775,"old":561,"rank":4,"right":{"linear_Z4":[2,3,2,2,3,0,2,1,2],"matrix_rows":[258,216,24,320,3,16,204,272,32],"offset":244,"phase":1,"quadratic_rows":[2,275,200,276,474,0,276,148,90]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":325,"old":562,"rank":1,"right":{"linear_Z4":[3,3,0,3,0,0,2,0,0],"matrix_rows":[11,321,322,4,328,16,32,256,384],"offset":1,"phase":1,"quadratic_rows":[331,331,0,331,0,0,11,0,11]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":633,"old":562,"rank":1,"right":{"linear_Z4":[3,3,0,0,3,0,0,0,0],"matrix_rows":[3,33,50,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[35,51,16,0,22,3,0,0,0]}},{"left":{"linear_Z4":[2,2,2,2,0,0,0,0,0],"matrix_rows":[17,33,3,68,130,2,8,268,12],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":799,"old":562,"rank":4,"right":{"linear_Z4":[3,3,1,0,0,0,0,0,2],"matrix_rows":[23,20,264,64,37,54,256,32,384],"offset":71,"phase":2,"quadratic_rows":[51,35,20,0,5,3,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":325,"old":563,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":635,"old":563,"rank":1,"right":{"linear_Z4":[3,0,3,3,3,0,2,0,0],"matrix_rows":[93,65,2,68,72,80,32,128,256],"offset":1,"phase":1,"quadratic_rows":[29,0,29,29,29,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,2,0,0,0,0,0],"matrix_rows":[30,46,7,11,65,1,3,128,256],"offset":0,"phase":0,"quadratic_rows":[14,13,3,3,0,0,0,0,0]},"new":801,"old":563,"rank":4,"right":{"linear_Z4":[3,3,0,0,2,0,1,0,0],"matrix_rows":[92,95,23,27,125,110,32,128,256],"offset":12,"phase":2,"quadratic_rows":[47,63,3,3,66,3,80,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":325,"old":564,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,2,2,0],"matrix_rows":[136,65,66,4,200,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[64,64,0,72,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":596,"old":564,"rank":1,"right":{"linear_Z4":[3,3,0,0,2,0,0,0,0],"matrix_rows":[3,33,50,4,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[35,51,0,0,2,3,0,0,0]}},{"left":{"linear_Z4":[3,2,3,3,0,0,0,0,0],"matrix_rows":[17,33,2,68,129,1,8,12,256],"offset":0,"phase":0,"quadratic_rows":[1,0,12,12,0,0,0,0,0]},"new":780,"old":564,"rank":4,"right":{"linear_Z4":[3,3,2,0,2,0,0,1,0],"matrix_rows":[3,4,8,192,49,34,128,32,256],"offset":71,"phase":2,"quadratic_rows":[51,35,0,128,1,3,128,200,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":325,"old":565,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,2,0,2],"matrix_rows":[264,65,66,4,328,16,32,256,128],"offset":0,"phase":0,"quadratic_rows":[64,64,0,72,0,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":598,"old":565,"rank":1,"right":{"linear_Z4":[3,3,0,0,2,0,0,0,0],"matrix_rows":[3,33,50,4,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[35,51,0,0,2,3,0,0,0]}},{"left":{"linear_Z4":[3,2,3,3,0,0,0,0,0],"matrix_rows":[17,33,2,68,129,1,8,256,12],"offset":0,"phase":0,"quadratic_rows":[1,0,12,12,0,0,0,0,0]},"new":779,"old":565,"rank":4,"right":{"linear_Z4":[3,3,2,0,2,0,0,0,1],"matrix_rows":[3,4,8,320,49,34,256,32,128],"offset":71,"phase":2,"quadratic_rows":[51,35,0,256,1,3,256,0,328]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":354,"old":566,"rank":1,"right":{"linear_Z4":[1,1,0,1,0,0,2,0,0],"matrix_rows":[11,65,66,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[75,75,0,75,0,0,11,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[10,19,34,65,4,129,3,257,1],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":574,"old":566,"rank":3,"right":{"linear_Z4":[1,0,1,2,2,0,2,0,2],"matrix_rows":[10,15,16,329,66,324,256,288,384],"offset":5,"phase":2,"quadratic_rows":[327,69,335,68,0,0,15,0,5]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[11,20,35,67,6,131,2,259,3],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":653,"old":566,"rank":3,"right":{"linear_Z4":[2,1,2,0,1,0,2,0,2],"matrix_rows":[5,85,74,265,90,260,256,288,384],"offset":234,"phase":1,"quadratic_rows":[344,18,336,17,31,0,5,0,5]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":354,"old":567,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,2,0],"matrix_rows":[130,65,194,4,72,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[64,66,0,64,0,0,11,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,18,37,65,128,4,258,2,1],"offset":0,"phase":0,"quadratic_rows":[4,0,5,0,0,0,0,0,0]},"new":578,"old":567,"rank":3,"right":{"linear_Z4":[2,1,0,3,2,3,1,2,1],"matrix_rows":[300,130,260,13,194,288,256,80,128],"offset":447,"phase":0,"quadratic_rows":[12,66,257,41,64,40,82,0,260]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[8,17,32,64,2,128,4,5,256],"offset":0,"phase":0,"quadratic_rows":[5,0,5,0,0,0,0,0,0]},"new":657,"old":567,"rank":3,"right":{"linear_Z4":[0,0,0,0,2,0,0,1,0],"matrix_rows":[2,16,192,1,128,4,8,32,256],"offset":19,"phase":1,"quadratic_rows":[0,128,0,0,0,0,128,194,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":383,"old":568,"rank":1,"right":{"linear_Z4":[0,3,1,1,0,0,0,3,0],"matrix_rows":[158,1,258,276,280,256,32,64,384],"offset":57,"phase":0,"quadratic_rows":[0,414,398,398,386,0,0,414,158]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[12,23,36,67,134,259,3,2,7],"offset":0,"phase":0,"quadratic_rows":[2,5,2,0,0,0,0,0,0]},"new":575,"old":568,"rank":3,"right":{"linear_Z4":[3,1,3,3,3,0,0,0,1],"matrix_rows":[210,258,455,329,410,324,64,320,96],"offset":362,"phase":1,"quadratic_rows":[143,399,135,155,24,0,0,15,258]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[10,19,34,65,132,257,1,3,6],"offset":0,"phase":0,"quadratic_rows":[0,4,6,0,0,0,0,0,0]},"new":649,"old":568,"rank":3,"right":{"linear_Z4":[1,2,1,0,0,0,0,2,3],"matrix_rows":[74,271,80,201,130,196,64,320,96],"offset":0,"phase":0,"quadratic_rows":[455,453,463,452,256,0,271,15,351]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":383,"old":569,"rank":1,"right":{"linear_Z4":[0,0,3,3,2,0,0,0,0],"matrix_rows":[28,1,2,20,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,20,35,65,128,2,1,260,4],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":582,"old":569,"rank":3,"right":{"linear_Z4":[2,1,0,3,2,3,1,3,2],"matrix_rows":[108,68,386,13,258,96,64,144,256],"offset":427,"phase":2,"quadratic_rows":[12,130,65,41,128,40,68,146,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,22,33,65,2,1,128,260,4],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":659,"old":569,"rank":3,"right":{"linear_Z4":[3,2,2,3,3,0,0,0,3],"matrix_rows":[9,258,402,37,274,32,40,64,256],"offset":1,"phase":1,"quadratic_rows":[45,384,1,41,144,9,0,18,258]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":412,"old":570,"rank":1,"right":{"linear_Z4":[0,1,0,0,2,0,0,2,0],"matrix_rows":[130,1,146,20,24,128,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,18,16,16,14,0,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[8,17,32,64,2,128,4,3,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":579,"old":570,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,2,1,0],"matrix_rows":[2,144,64,1,128,4,8,32,256],"offset":21,"phase":1,"quadratic_rows":[0,128,0,0,128,0,0,146,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,18,37,1,66,132,2,256,4],"offset":0,"phase":0,"quadratic_rows":[5,0,1,0,0,0,0,0,0]},"new":651,"old":570,"rank":3,"right":{"linear_Z4":[2,3,0,3,3,0,2,0,1],"matrix_rows":[268,82,260,13,66,256,80,288,128],"offset":47,"phase":1,"quadratic_rows":[12,18,257,265,18,0,0,0,268]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":412,"old":571,"rank":1,"right":{"linear_Z4":[0,3,3,3,2,0,0,0,0],"matrix_rows":[14,1,274,276,280,256,32,64,384],"offset":1,"phase":1,"quadratic_rows":[0,286,286,286,14,0,0,0,14]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,34,66,4,128,2,261,5],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":583,"old":571,"rank":3,"right":{"linear_Z4":[0,0,3,3,0,0,2,0,2],"matrix_rows":[258,76,16,1,256,68,72,32,384],"offset":19,"phase":1,"quadratic_rows":[0,0,12,12,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[8,16,35,1,64,2,4,128,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":655,"old":571,"rank":3,"right":{"linear_Z4":[2,0,0,3,0,3,2,0,0],"matrix_rows":[44,4,64,13,2,32,16,128,256],"offset":47,"phase":1,"quadratic_rows":[12,0,1,41,0,40,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":772,"old":572,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[272,1,2,4,8,256,32,64,384],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":774,"old":572,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[34,1,32,36,8,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":483,"old":573,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,1,0,2],"matrix_rows":[336,1,2,4,8,256,32,320,128],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,64,0,80,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":773,"old":573,"rank":1,"right":{"linear_Z4":[0,0,0,0,2,0,3,0,2],"matrix_rows":[320,1,2,4,8,80,32,256,384],"offset":289,"phase":3,"quadratic_rows":[0,0,0,0,64,0,80,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":772,"old":574,"rank":1,"right":{"linear_Z4":[2,2,0,0,0,0,2,0,0],"matrix_rows":[68,5,6,64,8,16,96,128,256],"offset":15,"phase":0,"quadratic_rows":[4,4,3,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":808,"old":574,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,0,0],"matrix_rows":[7,65,64,68,8,16,32,128,256],"offset":5,"phase":0,"quadratic_rows":[71,69,71,0,0,0,7,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":456,"old":575,"rank":1,"right":{"linear_Z4":[2,2,2,0,0,0,0,0,2],"matrix_rows":[260,5,6,256,8,16,288,64,128],"offset":14,"phase":3,"quadratic_rows":[4,4,3,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":807,"old":575,"rank":1,"right":{"linear_Z4":[3,2,3,0,0,0,0,2,0],"matrix_rows":[7,129,128,132,136,144,160,192,256],"offset":94,"phase":3,"quadratic_rows":[135,133,135,0,0,0,0,7,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":527,"old":576,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[144,1,2,4,8,128,32,192,256],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":773,"old":576,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[10,1,8,12,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":500,"old":577,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[34,1,32,36,8,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":772,"old":577,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[272,1,2,4,8,256,32,320,128],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":773,"old":578,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,2,0,0],"matrix_rows":[82,1,64,4,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,16,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":809,"old":578,"rank":1,"right":{"linear_Z4":[0,2,0,0,3,0,0,2,0],"matrix_rows":[144,1,18,4,8,128,32,192,256],"offset":164,"phase":1,"quadratic_rows":[0,16,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":460,"old":579,"rank":1,"right":{"linear_Z4":[2,0,1,2,0,0,0,0,2],"matrix_rows":[260,5,2,256,8,16,288,64,128],"offset":91,"phase":1,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":807,"old":579,"rank":1,"right":{"linear_Z4":[2,0,2,1,0,0,0,0,2],"matrix_rows":[264,9,2,4,256,16,288,64,128],"offset":91,"phase":1,"quadratic_rows":[8,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":500,"old":580,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,2,2,0],"matrix_rows":[144,1,2,4,8,208,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,80,0,16,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":774,"old":580,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,0,2,0],"matrix_rows":[208,1,2,4,8,144,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,80,0,16,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":483,"old":581,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[10,1,8,12,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":527,"old":581,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[320,1,2,4,8,16,32,256,384],"offset":129,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":774,"old":582,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,0,0,2],"matrix_rows":[274,1,256,4,8,272,32,64,128],"offset":0,"phase":0,"quadratic_rows":[0,16,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":809,"old":582,"rank":1,"right":{"linear_Z4":[0,2,0,0,3,0,0,0,2],"matrix_rows":[272,1,18,4,8,256,32,64,384],"offset":261,"phase":3,"quadratic_rows":[0,16,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":461,"old":583,"rank":1,"right":{"linear_Z4":[2,0,1,2,0,0,2,0,0],"matrix_rows":[68,5,2,64,8,16,96,128,256],"offset":91,"phase":1,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":808,"old":583,"rank":1,"right":{"linear_Z4":[2,0,2,1,0,0,2,0,0],"matrix_rows":[72,9,2,4,64,16,96,128,256],"offset":91,"phase":1,"quadratic_rows":[8,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":775,"old":584,"rank":1,"right":{"linear_Z4":[2,1,2,0,0,0,0,0,2],"matrix_rows":[258,3,256,4,8,16,288,64,128],"offset":74,"phase":3,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":780,"old":584,"rank":1,"right":{"linear_Z4":[2,2,2,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,264,272,288,320,384],"offset":110,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":660,"old":585,"rank":1,"right":{"linear_Z4":[3,3,0,0,2,0,0,0,2],"matrix_rows":[3,257,274,20,24,256,288,64,384],"offset":102,"phase":0,"quadratic_rows":[259,275,16,16,14,0,0,0,3]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[15,23,34,4,65,129,6,257,1],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":776,"old":585,"rank":3,"right":{"linear_Z4":[1,1,0,0,2,0,1,0,2],"matrix_rows":[3,23,91,337,322,64,256,288,384],"offset":34,"phase":0,"quadratic_rows":[287,271,83,83,13,0,76,0,3]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":777,"old":586,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[132,1,2,128,8,16,32,192,256],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":782,"old":586,"rank":1,"right":{"linear_Z4":[2,3,0,0,2,0,0,0,0],"matrix_rows":[18,3,16,4,24,32,64,128,256],"offset":22,"phase":1,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":661,"old":587,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,8,16,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,32,66,3,2,132,260,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":778,"old":587,"rank":3,"right":{"linear_Z4":[2,1,0,0,1,2,0,0,2],"matrix_rows":[34,24,320,3,48,4,32,256,384],"offset":25,"phase":3,"quadratic_rows":[2,19,0,48,58,24,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":764,"old":588,"rank":1,"right":{"linear_Z4":[0,0,2,3,0,0,0,1,2],"matrix_rows":[392,1,2,12,256,16,32,64,384],"offset":24,"phase":2,"quadratic_rows":[0,0,8,140,0,0,0,136,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,17,36,68,129,256,1,2,6],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":778,"old":588,"rank":3,"right":{"linear_Z4":[2,3,3,0,0,0,2,2,3],"matrix_rows":[66,384,396,3,64,388,256,80,32],"offset":205,"phase":3,"quadratic_rows":[2,3,12,132,0,0,0,264,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":776,"old":589,"rank":1,"right":{"linear_Z4":[2,2,0,0,1,0,2,0,0],"matrix_rows":[80,17,2,4,8,64,96,128,256],"offset":103,"phase":1,"quadratic_rows":[16,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":802,"old":589,"rank":1,"right":{"linear_Z4":[2,1,0,0,2,0,2,0,0],"matrix_rows":[66,3,64,4,8,16,96,128,256],"offset":103,"phase":1,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":765,"old":590,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,3,3,0],"matrix_rows":[203,257,258,4,256,16,32,320,384],"offset":17,"phase":0,"quadratic_rows":[459,459,0,451,0,0,459,459,203]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[9,17,32,65,128,256,2,4,7],"offset":0,"phase":0,"quadratic_rows":[7,7,7,0,0,0,0,0,0]},"new":777,"old":590,"rank":3,"right":{"linear_Z4":[1,1,0,0,0,0,0,0,0],"matrix_rows":[11,320,384,265,266,4,256,16,32],"offset":0,"phase":0,"quadratic_rows":[259,259,0,256,0,0,256,256,203]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":775,"old":591,"rank":1,"right":{"linear_Z4":[2,3,1,0,2,0,0,0,0],"matrix_rows":[22,3,16,20,8,32,64,128,256],"offset":6,"phase":2,"quadratic_rows":[2,7,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":801,"old":591,"rank":1,"right":{"linear_Z4":[2,2,2,0,0,0,0,0,2],"matrix_rows":[260,5,6,256,264,272,288,320,384],"offset":14,"phase":3,"quadratic_rows":[4,4,3,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":776,"old":592,"rank":1,"right":{"linear_Z4":[1,1,0,0,0,0,0,0,0],"matrix_rows":[67,193,194,4,8,16,32,128,256],"offset":135,"phase":0,"quadratic_rows":[131,131,0,0,0,0,128,67,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":779,"old":592,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[67,129,130,4,8,16,32,128,256],"offset":129,"phase":0,"quadratic_rows":[195,195,0,0,0,0,131,67,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":660,"old":593,"rank":1,"right":{"linear_Z4":[3,3,0,0,2,0,0,2,0],"matrix_rows":[3,129,146,20,24,128,160,192,256],"offset":102,"phase":0,"quadratic_rows":[131,147,16,16,14,0,0,3,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[15,23,34,4,65,129,257,1,6],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":780,"old":593,"rank":3,"right":{"linear_Z4":[1,1,0,0,2,0,0,2,1],"matrix_rows":[3,23,283,401,386,256,128,160,192],"offset":34,"phase":0,"quadratic_rows":[159,143,275,275,13,0,0,3,268]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":778,"old":594,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,2,0],"matrix_rows":[196,1,2,132,8,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,68,0,0,0,4,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":781,"old":594,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,2,2,0],"matrix_rows":[132,1,2,196,8,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,68,0,0,0,4,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":661,"old":595,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,1,0,2],"matrix_rows":[324,1,2,256,8,16,32,320,128],"offset":0,"phase":0,"quadratic_rows":[0,0,64,0,0,0,68,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,32,68,5,4,130,258,2],"offset":0,"phase":0,"quadratic_rows":[5,0,1,0,0,0,0,0,0]},"new":782,"old":595,"rank":3,"right":{"linear_Z4":[2,1,2,0,1,2,3,0,2],"matrix_rows":[34,320,24,3,48,68,32,256,384],"offset":315,"phase":2,"quadratic_rows":[2,19,64,48,58,24,68,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":770,"old":596,"rank":1,"right":{"linear_Z4":[0,0,2,3,0,0,1,2,0],"matrix_rows":[200,1,2,12,128,16,32,192,256],"offset":24,"phase":2,"quadratic_rows":[0,0,8,76,0,0,72,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,17,36,68,129,256,2,6,1],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":782,"old":596,"rank":3,"right":{"linear_Z4":[2,3,3,0,0,0,2,3,2],"matrix_rows":[258,192,204,3,256,196,128,272,32],"offset":205,"phase":3,"quadratic_rows":[2,3,12,68,0,0,136,192,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":780,"old":597,"rank":1,"right":{"linear_Z4":[2,2,0,0,1,0,0,0,2],"matrix_rows":[272,17,2,4,8,256,288,64,128],"offset":103,"phase":1,"quadratic_rows":[16,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":806,"old":597,"rank":1,"right":{"linear_Z4":[2,1,0,0,2,0,0,0,2],"matrix_rows":[258,3,256,4,8,16,288,64,128],"offset":103,"phase":1,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":771,"old":598,"rank":1,"right":{"linear_Z4":[0,0,2,3,0,0,1,0,2],"matrix_rows":[328,1,2,12,256,16,32,320,128],"offset":24,"phase":2,"quadratic_rows":[0,0,8,76,0,0,72,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,17,36,68,129,256,2,1,6],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":781,"old":598,"rank":3,"right":{"linear_Z4":[2,3,3,0,0,0,2,2,3],"matrix_rows":[130,320,332,3,128,324,256,144,32],"offset":205,"phase":3,"quadratic_rows":[2,3,12,68,0,0,264,0,320]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":779,"old":599,"rank":1,"right":{"linear_Z4":[2,2,0,0,1,0,0,2,0],"matrix_rows":[144,17,2,4,8,128,160,64,256],"offset":103,"phase":1,"quadratic_rows":[16,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":805,"old":599,"rank":1,"right":{"linear_Z4":[2,1,0,0,2,0,0,2,0],"matrix_rows":[130,3,128,4,8,16,160,64,256],"offset":103,"phase":1,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":783,"old":600,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,2,4,8,16,32,192,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":788,"old":600,"rank":1,"right":{"linear_Z4":[0,2,3,0,0,2,0,0,0],"matrix_rows":[36,1,6,32,40,16,64,128,256],"offset":21,"phase":3,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":662,"old":601,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,8,16,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,16,35,1,66,2,132,260,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":784,"old":601,"rank":3,"right":{"linear_Z4":[0,2,0,3,0,1,0,0,2],"matrix_rows":[44,36,320,1,14,32,48,256,384],"offset":51,"phase":0,"quadratic_rows":[0,12,34,42,0,44,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":785,"old":602,"rank":1,"right":{"linear_Z4":[2,2,1,0,0,0,0,0,2],"matrix_rows":[260,1,6,256,8,272,32,64,128],"offset":38,"phase":3,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":790,"old":602,"rank":1,"right":{"linear_Z4":[2,2,2,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,264,272,288,320,384],"offset":62,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":663,"old":603,"rank":1,"right":{"linear_Z4":[3,1,3,2,0,3,2,0,0],"matrix_rows":[103,97,66,100,40,16,64,128,256],"offset":90,"phase":2,"quadratic_rows":[7,39,7,32,0,42,0,0,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[9,23,39,66,130,4,5,258,2],"offset":0,"phase":0,"quadratic_rows":[5,2,5,0,0,0,0,0,0]},"new":786,"old":603,"rank":3,"right":{"linear_Z4":[0,1,1,2,0,0,1,0,2],"matrix_rows":[15,6,110,64,330,324,256,272,384],"offset":9,"phase":0,"quadratic_rows":[78,303,295,35,0,78,97,0,6]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":766,"old":604,"rank":1,"right":{"linear_Z4":[0,3,3,2,0,0,0,0,0],"matrix_rows":[6,1,18,28,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,22,30,4,6,0,0,0,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[9,18,34,66,2,129,256,4,5],"offset":0,"phase":0,"quadratic_rows":[4,2,5,0,0,0,0,0,0]},"new":786,"old":604,"rank":3,"right":{"linear_Z4":[0,3,3,2,0,0,0,0,3],"matrix_rows":[257,6,384,256,26,20,16,288,64],"offset":11,"phase":1,"quadratic_rows":[0,30,22,2,6,0,0,256,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":784,"old":605,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[288,1,2,4,8,16,256,64,384],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":794,"old":605,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,8,16,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":767,"old":606,"rank":1,"right":{"linear_Z4":[0,2,2,0,0,0,3,3,2],"matrix_rows":[449,256,2,4,264,272,288,320,384],"offset":63,"phase":0,"quadratic_rows":[192,0,0,0,0,0,193,193,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[8,16,34,66,128,256,5,1,6],"offset":0,"phase":0,"quadratic_rows":[5,4,7,0,0,0,0,0,0]},"new":785,"old":606,"rank":3,"right":{"linear_Z4":[0,2,3,0,0,0,0,3,3],"matrix_rows":[192,260,320,193,6,256,264,16,32],"offset":48,"phase":2,"quadratic_rows":[192,4,6,0,0,0,257,129,320]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":783,"old":607,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,0,0],"matrix_rows":[7,32,34,36,8,16,64,128,256],"offset":3,"phase":0,"quadratic_rows":[38,39,39,0,0,7,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":793,"old":607,"rank":1,"right":{"linear_Z4":[2,2,0,0,0,2,0,0,0],"matrix_rows":[36,5,6,32,40,16,64,128,256],"offset":15,"phase":0,"quadratic_rows":[4,4,3,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":784,"old":608,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,0],"matrix_rows":[193,129,2,4,8,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[65,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":787,"old":608,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,2,2,0],"matrix_rows":[129,193,2,4,8,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[65,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":662,"old":609,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,1,0,2],"matrix_rows":[321,256,2,4,8,16,32,320,128],"offset":0,"phase":0,"quadratic_rows":[64,0,0,0,0,0,65,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[8,16,38,2,68,4,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,6,2,0,0,0,0,0,0]},"new":788,"old":609,"rank":3,"right":{"linear_Z4":[2,2,0,3,0,1,3,0,2],"matrix_rows":[320,44,36,65,14,32,48,256,384],"offset":319,"phase":3,"quadratic_rows":[64,12,34,42,0,44,65,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":786,"old":610,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,0,0,0,0],"matrix_rows":[70,1,194,196,8,16,32,128,256],"offset":141,"phase":0,"quadratic_rows":[0,134,134,0,0,0,128,70,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":789,"old":610,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,0,0],"matrix_rows":[70,1,130,132,8,16,32,128,256],"offset":129,"phase":0,"quadratic_rows":[0,198,198,0,0,0,134,70,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":663,"old":611,"rank":1,"right":{"linear_Z4":[3,1,3,2,0,3,0,0,2],"matrix_rows":[295,289,258,292,40,16,256,64,128],"offset":90,"phase":2,"quadratic_rows":[7,39,7,32,0,42,0,0,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[9,23,39,66,130,4,258,2,5],"offset":0,"phase":0,"quadratic_rows":[5,2,5,0,0,0,0,0,0]},"new":790,"old":611,"rank":3,"right":{"linear_Z4":[0,1,1,2,0,0,0,2,1],"matrix_rows":[15,6,302,256,394,388,128,144,192],"offset":9,"phase":0,"quadratic_rows":[270,175,167,35,0,270,0,6,289]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":768,"old":612,"rank":1,"right":{"linear_Z4":[0,3,3,2,0,0,0,0,0],"matrix_rows":[6,1,18,28,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,22,30,4,6,0,0,0,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[9,18,34,66,2,129,4,5,256],"offset":0,"phase":0,"quadratic_rows":[4,2,5,0,0,0,0,0,0]},"new":790,"old":612,"rank":3,"right":{"linear_Z4":[0,3,3,2,0,0,0,3,0],"matrix_rows":[129,6,192,128,26,20,16,160,256],"offset":11,"phase":1,"quadratic_rows":[0,30,22,2,6,0,128,192,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":788,"old":613,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[160,1,2,4,8,16,128,192,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":798,"old":613,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,2,4,8,16,32,192,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":769,"old":614,"rank":1,"right":{"linear_Z4":[0,3,3,2,0,0,0,0,0],"matrix_rows":[6,1,18,28,16,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,22,30,4,6,0,0,0,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[9,18,34,66,2,129,4,256,5],"offset":0,"phase":0,"quadratic_rows":[4,2,5,0,0,0,0,0,0]},"new":789,"old":614,"rank":3,"right":{"linear_Z4":[0,3,3,2,0,0,0,0,3],"matrix_rows":[257,6,320,256,26,20,16,288,128],"offset":11,"phase":1,"quadratic_rows":[0,30,22,2,6,0,256,0,320]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":787,"old":615,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[288,1,2,4,8,16,256,320,128],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":797,"old":615,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,8,16,32,320,128],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":791,"old":616,"rank":1,"right":{"linear_Z4":[2,2,0,1,0,0,0,0,2],"matrix_rows":[264,1,10,4,256,272,32,64,128],"offset":38,"phase":3,"quadratic_rows":[0,8,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":796,"old":616,"rank":1,"right":{"linear_Z4":[2,2,0,2,0,0,0,0,2],"matrix_rows":[257,256,2,260,8,272,288,320,384],"offset":62,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":664,"old":617,"rank":1,"right":{"linear_Z4":[3,1,2,3,0,3,2,0,0],"matrix_rows":[107,97,66,36,104,16,64,128,256],"offset":90,"phase":2,"quadratic_rows":[11,43,32,11,0,38,0,0,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[9,23,34,71,130,4,5,258,2],"offset":0,"phase":0,"quadratic_rows":[5,2,5,0,0,0,0,0,0]},"new":792,"old":617,"rank":3,"right":{"linear_Z4":[0,1,2,1,0,0,1,0,2],"matrix_rows":[15,10,110,64,326,256,328,272,384],"offset":9,"phase":0,"quadratic_rows":[78,303,35,299,0,78,97,0,10]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":793,"old":618,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[160,1,2,4,8,16,128,192,256],"offset":65,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":798,"old":618,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[9,8,2,12,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":665,"old":619,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[288,1,2,4,8,16,256,64,384],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,16,34,3,1,64,132,260,4],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":794,"old":619,"rank":3,"right":{"linear_Z4":[0,2,1,1,2,0,0,0,2],"matrix_rows":[9,20,320,16,6,24,32,256,384],"offset":50,"phase":3,"quadratic_rows":[24,4,14,29,9,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":766,"old":620,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,2,0,0,0],"matrix_rows":[1,33,2,4,8,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[33,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,16,34,66,128,257,2,4,5],"offset":0,"phase":0,"quadratic_rows":[4,0,5,0,0,0,0,0,0]},"new":794,"old":620,"rank":3,"right":{"linear_Z4":[0,2,3,0,0,3,2,2,3],"matrix_rows":[417,68,384,256,6,64,72,16,416],"offset":91,"phase":3,"quadratic_rows":[160,4,6,0,0,33,0,257,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":786,"old":621,"rank":1,"right":{"linear_Z4":[0,2,2,1,0,0,2,0,0],"matrix_rows":[72,1,10,4,64,80,32,128,256],"offset":61,"phase":1,"quadratic_rows":[0,8,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":792,"old":621,"rank":1,"right":{"linear_Z4":[0,2,1,2,0,0,2,0,0],"matrix_rows":[68,1,6,64,8,80,32,128,256],"offset":61,"phase":1,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":767,"old":622,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,3,3,0],"matrix_rows":[199,256,258,260,8,16,32,320,384],"offset":3,"phase":0,"quadratic_rows":[454,455,455,0,0,0,455,455,199]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[8,16,33,65,128,256,2,4,7],"offset":0,"phase":0,"quadratic_rows":[6,7,7,0,0,0,0,0,0]},"new":793,"old":622,"rank":3,"right":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[260,320,384,5,6,256,264,16,32],"offset":89,"phase":0,"quadratic_rows":[4,4,3,0,0,0,256,256,192]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":785,"old":623,"rank":1,"right":{"linear_Z4":[1,2,3,2,0,0,0,0,0],"matrix_rows":[13,9,6,8,16,32,64,128,256],"offset":12,"phase":2,"quadratic_rows":[5,4,7,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":791,"old":623,"rank":1,"right":{"linear_Z4":[1,2,1,2,0,0,0,0,0],"matrix_rows":[9,13,6,8,16,32,64,128,256],"offset":15,"phase":0,"quadratic_rows":[5,4,7,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":792,"old":624,"rank":1,"right":{"linear_Z4":[0,1,0,1,0,0,0,0,0],"matrix_rows":[74,1,194,4,200,16,32,128,256],"offset":149,"phase":0,"quadratic_rows":[0,138,0,138,0,0,128,74,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":795,"old":624,"rank":1,"right":{"linear_Z4":[0,3,0,3,0,0,0,0,0],"matrix_rows":[74,1,130,4,136,16,32,128,256],"offset":129,"phase":0,"quadratic_rows":[0,202,0,202,0,0,138,74,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":664,"old":625,"rank":1,"right":{"linear_Z4":[3,1,2,3,0,3,0,0,2],"matrix_rows":[299,289,258,36,296,16,256,64,128],"offset":90,"phase":2,"quadratic_rows":[11,43,32,11,0,38,0,0,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[9,23,34,71,130,4,258,2,5],"offset":0,"phase":0,"quadratic_rows":[5,2,5,0,0,0,0,0,0]},"new":796,"old":625,"rank":3,"right":{"linear_Z4":[0,1,2,1,0,0,0,2,1],"matrix_rows":[15,10,302,256,390,128,392,144,192],"offset":9,"phase":0,"quadratic_rows":[270,175,35,171,0,270,0,10,289]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":794,"old":626,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,1,0,2,0],"matrix_rows":[224,1,2,4,8,16,160,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,96,32,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":797,"old":626,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,1,2,2,0],"matrix_rows":[160,1,2,4,8,16,224,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,96,32,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":665,"old":627,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,1,0,2],"matrix_rows":[352,1,2,4,8,16,256,320,128],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,64,96,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,16,34,3,1,64,132,260,4],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":798,"old":627,"rank":3,"right":{"linear_Z4":[0,2,1,1,2,2,3,0,2],"matrix_rows":[9,20,320,16,6,24,96,256,384],"offset":374,"phase":2,"quadratic_rows":[24,4,14,29,9,64,96,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":768,"old":628,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,2,0,0,0],"matrix_rows":[1,33,2,4,8,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[33,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,16,34,66,128,257,4,5,2],"offset":0,"phase":0,"quadratic_rows":[4,0,5,0,0,0,0,0,0]},"new":798,"old":628,"rank":3,"right":{"linear_Z4":[0,2,3,0,0,3,2,3,2],"matrix_rows":[225,260,192,128,6,256,264,16,224],"offset":91,"phase":3,"quadratic_rows":[96,4,6,0,0,33,129,192,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":790,"old":629,"rank":1,"right":{"linear_Z4":[0,2,2,1,0,0,0,0,2],"matrix_rows":[264,1,10,4,256,272,32,64,128],"offset":61,"phase":1,"quadratic_rows":[0,8,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":796,"old":629,"rank":1,"right":{"linear_Z4":[0,2,1,2,0,0,0,0,2],"matrix_rows":[260,1,6,256,8,272,32,64,128],"offset":61,"phase":1,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":769,"old":630,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,2,0,0,0],"matrix_rows":[1,33,2,4,8,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[33,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,16,34,66,128,257,4,2,5],"offset":0,"phase":0,"quadratic_rows":[4,0,5,0,0,0,0,0,0]},"new":797,"old":630,"rank":3,"right":{"linear_Z4":[0,2,3,0,0,3,2,2,3],"matrix_rows":[353,132,320,256,6,128,136,16,352],"offset":91,"phase":3,"quadratic_rows":[96,4,6,0,0,33,257,0,320]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":789,"old":631,"rank":1,"right":{"linear_Z4":[0,2,2,1,0,0,0,2,0],"matrix_rows":[136,1,10,4,128,144,32,64,256],"offset":61,"phase":1,"quadratic_rows":[0,8,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":795,"old":631,"rank":1,"right":{"linear_Z4":[0,2,1,2,0,0,0,2,0],"matrix_rows":[132,1,6,128,8,144,32,64,256],"offset":61,"phase":1,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":799,"old":632,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[136,1,2,4,128,16,32,192,256],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":804,"old":632,"rank":1,"right":{"linear_Z4":[2,3,0,0,2,0,0,0,0],"matrix_rows":[18,3,16,20,8,32,64,128,256],"offset":14,"phase":1,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":666,"old":633,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[264,1,2,4,256,16,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,34,64,3,2,132,260,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":800,"old":633,"rank":3,"right":{"linear_Z4":[2,1,0,0,1,2,0,0,2],"matrix_rows":[34,20,320,3,48,32,8,256,384],"offset":25,"phase":3,"quadratic_rows":[2,19,48,0,54,20,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":801,"old":634,"rank":1,"right":{"linear_Z4":[2,2,0,0,1,0,0,0,2],"matrix_rows":[272,17,2,4,8,256,288,64,128],"offset":103,"phase":1,"quadratic_rows":[16,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":806,"old":634,"rank":1,"right":{"linear_Z4":[2,1,0,0,2,0,0,0,2],"matrix_rows":[258,3,256,260,264,16,288,320,384],"offset":511,"phase":1,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":667,"old":635,"rank":1,"right":{"linear_Z4":[2,2,0,0,1,0,2,0,0],"matrix_rows":[80,1,18,20,24,64,96,128,256],"offset":103,"phase":1,"quadratic_rows":[0,16,16,16,30,0,0,0,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[15,17,34,4,71,129,6,257,1],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":802,"old":635,"rank":3,"right":{"linear_Z4":[1,2,0,0,1,0,1,0,2],"matrix_rows":[17,23,91,323,256,64,336,288,384],"offset":34,"phase":0,"quadratic_rows":[287,13,83,83,285,0,76,0,17]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":764,"old":636,"rank":1,"right":{"linear_Z4":[2,2,0,0,1,0,2,0,0],"matrix_rows":[80,1,18,4,8,64,96,128,256],"offset":103,"phase":1,"quadratic_rows":[0,16,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,17,34,66,129,1,256,4,6],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":802,"old":636,"rank":3,"right":{"linear_Z4":[3,2,0,0,3,0,0,0,3],"matrix_rows":[17,260,384,35,32,256,264,48,64],"offset":35,"phase":1,"quadratic_rows":[51,1,0,0,49,17,0,256,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":778,"old":637,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[264,1,2,4,256,16,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":800,"old":637,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,8,16,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":765,"old":638,"rank":1,"right":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[7,33,34,32,40,48,64,128,256],"offset":17,"phase":0,"quadratic_rows":[39,39,35,0,0,7,0,0,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[11,19,35,67,131,3,261,1,4],"offset":0,"phase":0,"quadratic_rows":[5,2,5,0,0,0,0,0,0]},"new":801,"old":638,"rank":3,"right":{"linear_Z4":[2,2,3,0,0,0,3,2,3],"matrix_rows":[455,7,64,229,230,32,40,48,256],"offset":295,"phase":1,"quadratic_rows":[292,292,487,0,0,7,196,324,391]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":777,"old":639,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[7,9,10,8,16,32,64,128,256],"offset":9,"phase":0,"quadratic_rows":[15,15,11,7,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":799,"old":639,"rank":1,"right":{"linear_Z4":[1,1,0,0,0,0,0,0,0],"matrix_rows":[7,13,14,8,16,32,64,128,256],"offset":15,"phase":0,"quadratic_rows":[11,11,8,7,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":800,"old":640,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,0,2,0],"matrix_rows":[200,1,2,4,136,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,72,0,0,8,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":803,"old":640,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,2,2,0],"matrix_rows":[136,1,2,4,200,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,72,0,0,8,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":666,"old":641,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,1,0,2],"matrix_rows":[328,1,2,4,256,16,32,320,128],"offset":0,"phase":0,"quadratic_rows":[0,0,0,64,0,0,72,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,34,64,3,2,132,260,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":804,"old":641,"rank":3,"right":{"linear_Z4":[2,1,0,2,1,2,3,0,2],"matrix_rows":[34,20,320,3,48,32,72,256,384],"offset":349,"phase":2,"quadratic_rows":[2,19,48,64,54,20,72,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":802,"old":642,"rank":1,"right":{"linear_Z4":[1,0,0,0,1,0,0,0,0],"matrix_rows":[81,193,2,4,8,208,32,128,256],"offset":163,"phase":0,"quadratic_rows":[145,0,0,0,145,0,128,81,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":805,"old":642,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,0,0],"matrix_rows":[81,129,2,4,8,144,32,128,256],"offset":129,"phase":0,"quadratic_rows":[209,0,0,0,209,0,145,81,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":667,"old":643,"rank":1,"right":{"linear_Z4":[2,2,0,0,1,0,0,0,2],"matrix_rows":[272,1,18,20,24,256,288,64,128],"offset":103,"phase":1,"quadratic_rows":[0,16,16,16,30,0,0,0,0]}},{"left":{"linear_Z4":[3,3,3,0,0,0,0,0,0],"matrix_rows":[15,17,34,4,71,129,257,1,6],"offset":0,"phase":0,"quadratic_rows":[1,6,6,0,0,0,0,0,0]},"new":806,"old":643,"rank":3,"right":{"linear_Z4":[1,2,0,0,1,0,0,2,1],"matrix_rows":[17,23,283,387,128,256,400,160,192],"offset":34,"phase":0,"quadratic_rows":[159,13,275,275,157,0,0,17,268]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":770,"old":644,"rank":1,"right":{"linear_Z4":[2,2,0,0,1,0,0,0,2],"matrix_rows":[272,1,18,4,8,256,288,64,128],"offset":103,"phase":1,"quadratic_rows":[0,16,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,17,34,66,129,1,4,6,256],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":806,"old":644,"rank":3,"right":{"linear_Z4":[3,2,0,0,3,0,0,3,0],"matrix_rows":[17,132,192,35,32,128,136,48,256],"offset":35,"phase":1,"quadratic_rows":[51,1,0,0,49,17,128,192,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":782,"old":645,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[136,1,2,4,128,16,32,192,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":804,"old":645,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[132,1,2,128,8,16,32,192,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":771,"old":646,"rank":1,"right":{"linear_Z4":[2,2,0,0,1,0,0,2,0],"matrix_rows":[144,1,18,4,8,128,160,64,256],"offset":103,"phase":1,"quadratic_rows":[0,16,0,0,18,0,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,17,34,66,129,1,4,256,6],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":805,"old":646,"rank":3,"right":{"linear_Z4":[3,2,0,0,3,0,0,0,3],"matrix_rows":[17,260,320,35,32,256,264,48,128],"offset":35,"phase":1,"quadratic_rows":[51,1,0,0,49,17,256,0,320]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":781,"old":647,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[264,1,2,4,256,16,32,320,128],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":803,"old":647,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,8,16,32,320,128],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":521,"old":648,"rank":1,"right":{"linear_Z4":[2,2,1,0,0,0,0,0,2],"matrix_rows":[260,5,2,256,8,16,288,64,128],"offset":70,"phase":3,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":807,"old":648,"rank":1,"right":{"linear_Z4":[2,2,2,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,264,272,288,320,384],"offset":94,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":504,"old":649,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,0,0],"matrix_rows":[7,129,128,132,8,16,32,64,256],"offset":5,"phase":0,"quadratic_rows":[135,133,135,0,0,0,0,7,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":772,"old":649,"rank":1,"right":{"linear_Z4":[2,2,0,0,0,0,0,2,0],"matrix_rows":[132,5,6,128,8,16,160,64,256],"offset":15,"phase":0,"quadratic_rows":[4,4,3,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":526,"old":650,"rank":1,"right":{"linear_Z4":[3,0,3,2,0,0,0,0,0],"matrix_rows":[5,33,2,44,32,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[37,0,45,4,0,5,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":807,"old":650,"rank":1,"right":{"linear_Z4":[3,0,3,2,0,0,0,0,0],"matrix_rows":[5,41,2,36,32,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[45,0,37,1,0,5,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":484,"old":651,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[144,1,2,4,8,128,32,192,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":773,"old":651,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[130,1,128,4,8,16,32,192,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":504,"old":652,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,0,0],"matrix_rows":[69,129,2,132,8,16,32,128,256],"offset":129,"phase":0,"quadratic_rows":[197,0,197,0,0,0,133,69,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":808,"old":652,"rank":1,"right":{"linear_Z4":[1,0,1,0,0,0,0,0,0],"matrix_rows":[69,193,2,196,8,16,32,128,256],"offset":139,"phase":0,"quadratic_rows":[133,0,133,0,0,0,128,69,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":456,"old":653,"rank":1,"right":{"linear_Z4":[2,1,1,0,0,2,0,0,0],"matrix_rows":[34,5,38,32,8,16,64,128,256],"offset":15,"phase":0,"quadratic_rows":[4,6,7,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":521,"old":653,"rank":1,"right":{"linear_Z4":[2,1,3,0,0,2,0,0,0],"matrix_rows":[38,5,34,32,8,16,64,128,256],"offset":10,"phase":2,"quadratic_rows":[4,6,7,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":498,"old":654,"rank":1,"right":{"linear_Z4":[2,0,3,0,0,0,2,0,0],"matrix_rows":[68,5,2,64,8,16,96,128,256],"offset":67,"phase":3,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":808,"old":654,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,8,272,32,64,128],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":478,"old":655,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[272,1,2,4,8,256,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":774,"old":655,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,8,16,32,64,384],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":484,"old":656,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,0,0],"matrix_rows":[82,1,66,4,8,64,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,18,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":809,"old":656,"rank":1,"right":{"linear_Z4":[0,1,0,0,2,0,2,0,0],"matrix_rows":[66,1,82,4,8,64,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,18,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":460,"old":657,"rank":1,"right":{"linear_Z4":[3,0,2,3,0,0,0,0,0],"matrix_rows":[9,37,2,32,40,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[45,0,1,41,0,9,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":526,"old":657,"rank":1,"right":{"linear_Z4":[2,0,2,1,0,0,0,0,2],"matrix_rows":[264,1,2,12,256,16,288,64,128],"offset":91,"phase":1,"quadratic_rows":[0,0,8,12,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":478,"old":658,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[274,1,258,4,8,256,32,64,128],"offset":0,"phase":0,"quadratic_rows":[0,18,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":809,"old":658,"rank":1,"right":{"linear_Z4":[0,1,0,0,2,0,0,0,2],"matrix_rows":[258,1,274,4,8,256,32,64,128],"offset":0,"phase":0,"quadratic_rows":[0,18,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":461,"old":659,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,8,272,32,64,128],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":498,"old":659,"rank":1,"right":{"linear_Z4":[2,0,0,3,0,0,2,0,0],"matrix_rows":[72,9,2,4,64,16,96,128,256],"offset":67,"phase":3,"quadratic_rows":[8,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[6,10,17,2,35,67,131,259,3],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":866,"old":660,"rank":2,"right":{"linear_Z4":[3,3,2,2,0,0,0,0,1],"matrix_rows":[4,267,5,6,256,272,288,320,384],"offset":114,"phase":0,"quadratic_rows":[271,271,259,259,0,0,0,0,271]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":872,"old":660,"rank":1,"right":{"linear_Z4":[0,0,3,2,0,0,0,0,2],"matrix_rows":[260,1,2,268,256,272,288,320,384],"offset":1,"phase":1,"quadratic_rows":[0,0,12,4,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[8,17,34,4,71,6,135,263,7],"offset":0,"phase":0,"quadratic_rows":[0,6,6,0,0,0,0,0,0]},"new":1035,"old":660,"rank":3,"right":{"linear_Z4":[2,1,2,2,0,3,0,0,2],"matrix_rows":[290,4,40,3,288,32,272,320,384],"offset":108,"phase":2,"quadratic_rows":[2,3,32,32,0,44,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,16,33,1,64,130,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":867,"old":661,"rank":2,"right":{"linear_Z4":[2,3,0,1,2,0,0,0,2],"matrix_rows":[26,320,3,16,4,24,32,256,384],"offset":142,"phase":2,"quadratic_rows":[2,11,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":873,"old":661,"rank":1,"right":{"linear_Z4":[3,3,0,2,0,2,0,0,0],"matrix_rows":[43,33,34,4,32,48,64,128,256],"offset":1,"phase":1,"quadratic_rows":[11,11,0,3,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,32,66,3,2,132,260,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":1035,"old":661,"rank":3,"right":{"linear_Z4":[2,1,0,0,1,2,0,0,2],"matrix_rows":[34,24,320,3,48,4,32,256,384],"offset":157,"phase":3,"quadratic_rows":[2,19,0,48,58,24,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,17,32,65,1,130,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":870,"old":662,"rank":2,"right":{"linear_Z4":[0,2,1,2,0,2,0,0,2],"matrix_rows":[36,320,1,6,32,8,48,256,384],"offset":251,"phase":1,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":876,"old":662,"rank":1,"right":{"linear_Z4":[0,3,3,2,0,2,0,0,0],"matrix_rows":[38,1,34,44,32,48,64,128,256],"offset":1,"phase":1,"quadratic_rows":[0,6,14,4,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,16,35,1,66,2,132,260,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":1036,"old":662,"rank":3,"right":{"linear_Z4":[0,2,0,3,0,1,0,0,2],"matrix_rows":[44,36,320,1,14,32,48,256,384],"offset":183,"phase":0,"quadratic_rows":[0,12,34,42,0,44,0,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[6,8,19,34,65,1,130,258,2],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":871,"old":663,"rank":2,"right":{"linear_Z4":[3,2,2,1,0,3,0,0,1],"matrix_rows":[292,41,261,14,288,256,48,320,384],"offset":77,"phase":0,"quadratic_rows":[301,12,267,303,0,41,0,0,269]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":877,"old":663,"rank":1,"right":{"linear_Z4":[1,2,2,1,0,0,0,0,2],"matrix_rows":[265,257,2,12,256,272,288,320,384],"offset":127,"phase":3,"quadratic_rows":[9,0,8,13,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[9,16,38,66,4,5,130,258,2],"offset":0,"phase":0,"quadratic_rows":[5,4,3,0,0,0,0,0,0]},"new":1036,"old":663,"rank":3,"right":{"linear_Z4":[0,2,2,1,1,3,0,0,1],"matrix_rows":[17,284,292,48,14,272,256,320,384],"offset":61,"phase":3,"quadratic_rows":[32,12,290,26,56,309,0,0,292]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,9,18,33,66,3,130,258,2],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":870,"old":664,"rank":2,"right":{"linear_Z4":[0,1,2,1,0,1,0,0,0],"matrix_rows":[271,292,288,294,256,296,272,320,384],"offset":2,"phase":1,"quadratic_rows":[46,43,9,47,0,43,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":877,"old":664,"rank":1,"right":{"linear_Z4":[1,1,1,2,0,2,0,0,0],"matrix_rows":[7,33,34,44,32,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[39,39,47,4,0,7,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,16,38,66,4,5,134,262,6],"offset":0,"phase":0,"quadratic_rows":[5,0,5,0,0,0,0,0,0]},"new":1036,"old":664,"rank":3,"right":{"linear_Z4":[0,2,2,3,2,1,0,0,2],"matrix_rows":[17,284,52,48,14,256,272,320,384],"offset":89,"phase":2,"quadratic_rows":[32,12,34,10,0,37,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,17,1,32,64,130,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":871,"old":665,"rank":2,"right":{"linear_Z4":[1,2,1,2,0,0,0,0,2],"matrix_rows":[9,320,13,6,8,16,32,256,384],"offset":159,"phase":0,"quadratic_rows":[5,4,7,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":876,"old":665,"rank":1,"right":{"linear_Z4":[2,3,3,0,2,0,0,0,0],"matrix_rows":[23,16,18,20,24,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[6,7,7,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,16,34,3,1,64,132,260,4],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":1036,"old":665,"rank":3,"right":{"linear_Z4":[0,2,1,1,2,0,0,0,2],"matrix_rows":[9,20,320,16,6,24,32,256,384],"offset":182,"phase":3,"quadratic_rows":[24,4,14,29,9,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,8,17,32,65,1,130,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":866,"old":666,"rank":2,"right":{"linear_Z4":[2,2,2,0,0,2,0,0,2],"matrix_rows":[36,320,5,6,32,8,48,256,384],"offset":158,"phase":3,"quadratic_rows":[4,4,3,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":873,"old":666,"rank":1,"right":{"linear_Z4":[3,3,2,0,0,2,0,0,0],"matrix_rows":[39,33,34,32,8,48,64,128,256],"offset":1,"phase":1,"quadratic_rows":[7,7,3,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,34,64,3,2,132,260,4],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":1035,"old":666,"rank":3,"right":{"linear_Z4":[2,1,0,0,1,2,0,0,2],"matrix_rows":[34,20,320,3,48,32,8,256,384],"offset":157,"phase":3,"quadratic_rows":[2,19,48,0,54,20,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,18,33,67,2,129,257,1],"offset":0,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]},"new":867,"old":667,"rank":2,"right":{"linear_Z4":[2,3,2,1,0,1,0,0,1],"matrix_rows":[42,292,3,256,32,264,304,320,384],"offset":117,"phase":3,"quadratic_rows":[2,299,256,298,0,42,0,0,270]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":872,"old":667,"rank":1,"right":{"linear_Z4":[1,1,1,2,0,2,0,0,0],"matrix_rows":[7,33,34,44,32,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[39,39,47,4,0,7,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,34,4,71,6,129,257,1],"offset":0,"phase":0,"quadratic_rows":[6,1,1,0,0,0,0,0,0]},"new":1035,"old":667,"rank":3,"right":{"linear_Z4":[2,1,2,2,0,3,0,0,2],"matrix_rows":[290,292,264,3,256,32,304,320,384],"offset":108,"phase":2,"quadratic_rows":[2,35,256,256,0,290,0,0,44]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[9,16,33,66,130,258,2,4,5],"offset":0,"phase":0,"quadratic_rows":[4,2,5,0,0,0,0,0,0]},"new":1,"old":668,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,3],"matrix_rows":[257,8,384,256,2,260,64,80,96],"offset":73,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,256,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":878,"old":668,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,2],"matrix_rows":[257,385,2,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[129,0,0,0,0,0,0,1,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":884,"old":668,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[385,257,2,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[129,0,0,0,0,0,0,1,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,16,32,65,130,257,2,4,7],"offset":0,"phase":0,"quadratic_rows":[6,5,7,0,0,0,0,0,0]},"new":1,"old":669,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[264,272,384,1,2,4,320,64,352],"offset":195,"phase":0,"quadratic_rows":[0,0,0,64,320,0,24,256,144]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":879,"old":669,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,0,0,0,0],"matrix_rows":[152,1,2,4,392,400,32,64,256],"offset":305,"phase":0,"quadratic_rows":[0,0,0,280,280,0,0,256,152]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":885,"old":669,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,0,0,0,0],"matrix_rows":[152,1,2,4,264,272,32,64,256],"offset":257,"phase":0,"quadratic_rows":[0,0,0,408,408,0,0,280,152]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,16,33,66,132,258,4,2,5],"offset":0,"phase":0,"quadratic_rows":[4,0,1,0,0,0,0,0,0]},"new":1,"old":670,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,0,2,1],"matrix_rows":[257,136,272,320,2,324,128,64,160],"offset":231,"phase":0,"quadratic_rows":[64,0,0,0,320,0,17,0,272]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":882,"old":670,"rank":1,"right":{"linear_Z4":[2,0,0,0,3,0,0,0,2],"matrix_rows":[272,17,2,4,8,256,32,320,128],"offset":131,"phase":3,"quadratic_rows":[16,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":888,"old":670,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[136,1,2,4,128,16,160,64,256],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,16,33,66,132,258,4,5,2],"offset":0,"phase":0,"quadratic_rows":[4,0,1,0,0,0,0,0,0]},"new":1,"old":671,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,0,1,2],"matrix_rows":[129,264,144,192,2,196,256,64,288],"offset":231,"phase":0,"quadratic_rows":[64,0,0,0,192,0,17,144,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":883,"old":671,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[264,1,2,4,256,16,288,64,128],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":889,"old":671,"rank":1,"right":{"linear_Z4":[2,0,0,0,3,0,0,2,0],"matrix_rows":[144,17,2,4,8,128,32,192,256],"offset":131,"phase":3,"quadratic_rows":[16,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,16,33,66,129,258,1,4,6],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":1,"old":672,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,3],"matrix_rows":[1,264,384,64,2,68,256,80,288],"offset":74,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,256,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":882,"old":672,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,0,2,2],"matrix_rows":[264,1,2,4,392,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,136,0,0,0,8,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":889,"old":672,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,0,0,2],"matrix_rows":[392,1,2,4,264,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,136,0,0,0,8,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,16,33,64,130,256,2,4,7],"offset":0,"phase":0,"quadratic_rows":[6,5,7,0,0,0,0,0,0]},"new":1,"old":673,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,272,384,320,2,324,8,64,32],"offset":139,"phase":0,"quadratic_rows":[64,0,0,0,320,0,17,256,144]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":883,"old":673,"rank":1,"right":{"linear_Z4":[1,0,0,0,1,0,0,0,0],"matrix_rows":[145,385,2,4,8,400,32,64,256],"offset":291,"phase":0,"quadratic_rows":[273,0,0,0,273,0,0,256,145]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":888,"old":673,"rank":1,"right":{"linear_Z4":[3,0,0,0,3,0,0,0,0],"matrix_rows":[145,257,2,4,8,272,32,64,256],"offset":257,"phase":0,"quadratic_rows":[401,0,0,0,401,0,0,273,145]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,16,33,66,132,258,4,1,6],"offset":0,"phase":0,"quadratic_rows":[0,4,2,0,0,0,0,0,0]},"new":1,"old":674,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,0,0,2,1],"matrix_rows":[129,264,272,128,2,132,320,64,352],"offset":399,"phase":0,"quadratic_rows":[0,0,0,64,320,0,24,0,272]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":878,"old":674,"rank":1,"right":{"linear_Z4":[0,0,0,2,3,0,0,0,2],"matrix_rows":[272,1,2,4,24,256,32,320,128],"offset":145,"phase":3,"quadratic_rows":[0,0,0,16,24,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":885,"old":674,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,2,132,8,16,32,64,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,16,33,66,132,258,4,6,1],"offset":0,"phase":0,"quadratic_rows":[0,4,2,0,0,0,0,0,0]},"new":1,"old":675,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,0,0,1,2],"matrix_rows":[257,136,144,256,2,260,192,64,224],"offset":399,"phase":0,"quadratic_rows":[0,0,0,64,192,0,24,144,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":879,"old":675,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,260,8,16,32,64,128],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":884,"old":675,"rank":1,"right":{"linear_Z4":[0,0,0,2,3,0,0,2,0],"matrix_rows":[144,1,2,4,24,128,32,192,256],"offset":145,"phase":3,"quadratic_rows":[0,0,0,16,24,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,18,35,4,70,134,7,262,6],"offset":0,"phase":0,"quadratic_rows":[4,4,7,0,0,0,0,0,0]},"new":1,"old":676,"rank":3,"right":{"linear_Z4":[2,2,0,0,0,0,3,0,0],"matrix_rows":[321,258,72,320,256,68,272,288,384],"offset":56,"phase":1,"quadratic_rows":[0,0,0,64,0,0,72,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":890,"old":676,"rank":1,"right":{"linear_Z4":[1,1,0,2,0,0,0,0,0],"matrix_rows":[3,265,258,4,256,272,288,320,384],"offset":151,"phase":1,"quadratic_rows":[267,259,0,1,0,0,0,0,3]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":896,"old":676,"rank":1,"right":{"linear_Z4":[3,3,0,2,0,0,0,0,0],"matrix_rows":[3,257,266,4,256,272,288,320,384],"offset":1,"phase":1,"quadratic_rows":[259,267,0,2,0,0,0,0,3]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,17,32,66,132,3,2,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":677,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,1,0,0,2],"matrix_rows":[33,40,272,96,98,4,64,256,384],"offset":215,"phase":0,"quadratic_rows":[64,0,0,96,0,40,9,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":891,"old":677,"rank":1,"right":{"linear_Z4":[2,0,0,3,0,0,2,0,0],"matrix_rows":[72,9,2,4,64,16,96,128,256],"offset":82,"phase":1,"quadratic_rows":[8,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":897,"old":677,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[272,1,2,4,8,256,32,64,384],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[9,18,35,68,132,6,7,260,4],"offset":0,"phase":0,"quadratic_rows":[4,2,5,0,0,0,0,0,0]},"new":1,"old":678,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,1,1,0,3],"matrix_rows":[353,2,104,96,288,324,256,272,384],"offset":79,"phase":1,"quadratic_rows":[256,288,0,352,0,106,104,0,267]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":894,"old":678,"rank":1,"right":{"linear_Z4":[3,2,0,2,0,0,0,0,2],"matrix_rows":[257,265,2,4,256,272,288,320,384],"offset":150,"phase":0,"quadratic_rows":[9,0,0,1,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":900,"old":678,"rank":1,"right":{"linear_Z4":[3,2,0,0,0,0,0,0,2],"matrix_rows":[265,257,2,4,256,272,288,320,384],"offset":85,"phase":2,"quadratic_rows":[9,0,0,1,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,33,2,68,131,3,260,4],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":679,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,2],"matrix_rows":[2,8,272,1,64,68,256,96,384],"offset":84,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":895,"old":679,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[72,1,2,4,64,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":901,"old":679,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[272,1,2,4,8,256,32,64,384],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,18,35,4,65,134,7,257,1],"offset":0,"phase":0,"quadratic_rows":[5,2,1,0,0,0,0,0,0]},"new":1,"old":680,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,0,0,3],"matrix_rows":[1,2,264,256,320,68,272,352,384],"offset":58,"phase":2,"quadratic_rows":[256,320,0,256,0,0,2,0,267]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":894,"old":680,"rank":1,"right":{"linear_Z4":[2,2,0,1,0,0,2,0,0],"matrix_rows":[72,9,2,4,64,16,96,128,256],"offset":70,"phase":3,"quadratic_rows":[8,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":901,"old":680,"rank":1,"right":{"linear_Z4":[0,2,0,3,0,0,0,0,2],"matrix_rows":[265,256,2,260,264,272,32,320,384],"offset":15,"phase":2,"quadratic_rows":[8,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,18,35,64,132,2,3,260,4],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":1,"old":681,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,2],"matrix_rows":[97,2,272,96,32,68,8,256,384],"offset":148,"phase":3,"quadratic_rows":[0,32,0,0,0,2,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":895,"old":681,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[65,64,2,68,8,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":900,"old":681,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[272,1,2,4,8,256,32,64,384],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,35,68,131,6,7,259,3],"offset":0,"phase":0,"quadratic_rows":[7,1,1,0,0,0,0,0,0]},"new":1,"old":682,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,1,0,0,0],"matrix_rows":[33,258,296,96,352,260,320,272,384],"offset":77,"phase":0,"quadratic_rows":[64,96,0,96,0,42,11,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":890,"old":682,"rank":1,"right":{"linear_Z4":[2,2,0,1,0,0,2,0,0],"matrix_rows":[72,9,2,4,64,16,96,128,256],"offset":70,"phase":3,"quadratic_rows":[8,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":897,"old":682,"rank":1,"right":{"linear_Z4":[2,1,0,2,0,0,0,0,2],"matrix_rows":[258,3,256,260,8,272,288,320,384],"offset":82,"phase":3,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,35,2,68,128,1,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":683,"rank":3,"right":{"linear_Z4":[2,2,0,3,0,0,3,0,2],"matrix_rows":[73,74,272,64,8,76,256,32,384],"offset":124,"phase":1,"quadratic_rows":[8,64,0,73,0,0,74,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":891,"old":683,"rank":1,"right":{"linear_Z4":[2,3,0,2,0,0,0,0,0],"matrix_rows":[10,3,8,12,16,32,64,128,256],"offset":14,"phase":1,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":896,"old":683,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[272,1,2,4,8,256,32,64,384],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,17,34,68,4,133,5,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,4,0,0,0,0,0,0]},"new":1,"old":684,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,2],"matrix_rows":[82,260,8,1,80,256,16,96,384],"offset":98,"phase":3,"quadratic_rows":[0,0,0,16,8,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":902,"old":684,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,8,16,32,64,384],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":908,"old":684,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[66,1,64,4,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[9,18,34,68,133,6,7,258,2],"offset":0,"phase":0,"quadratic_rows":[2,3,4,0,0,0,0,0,0]},"new":1,"old":685,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,1,1,0,3],"matrix_rows":[353,98,8,96,256,260,288,336,384],"offset":31,"phase":1,"quadratic_rows":[256,352,0,288,0,106,98,0,267]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":903,"old":685,"rank":1,"right":{"linear_Z4":[3,0,0,2,0,0,0,0,2],"matrix_rows":[259,257,256,260,8,16,288,320,384],"offset":85,"phase":2,"quadratic_rows":[3,1,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":909,"old":685,"rank":1,"right":{"linear_Z4":[3,2,0,2,0,0,0,0,2],"matrix_rows":[257,259,256,260,8,16,288,320,384],"offset":150,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,70,7,132,5,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":686,"rank":3,"right":{"linear_Z4":[0,2,2,0,3,0,0,0,1],"matrix_rows":[273,274,260,320,80,256,344,288,384],"offset":112,"phase":1,"quadratic_rows":[80,320,0,0,273,0,3,0,274]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":906,"old":686,"rank":1,"right":{"linear_Z4":[2,2,2,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,264,272,288,320,384],"offset":158,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":912,"old":686,"rank":1,"right":{"linear_Z4":[2,1,2,0,2,0,0,0,0],"matrix_rows":[18,3,16,4,24,32,64,128,256],"offset":26,"phase":3,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,65,128,3,2,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":687,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,1,0,0,2],"matrix_rows":[33,34,260,96,64,256,104,16,384],"offset":119,"phase":0,"quadratic_rows":[64,96,0,0,0,34,3,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":907,"old":687,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,8,16,32,64,384],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":913,"old":687,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,2,0,0],"matrix_rows":[66,3,64,4,8,16,96,128,256],"offset":70,"phase":1,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,66,3,128,1,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":688,"rank":3,"right":{"linear_Z4":[0,2,0,0,1,0,0,0,2],"matrix_rows":[17,18,260,64,80,256,88,32,384],"offset":111,"phase":0,"quadratic_rows":[80,64,0,0,17,0,3,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":906,"old":688,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,8,16,32,64,384],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":913,"old":688,"rank":1,"right":{"linear_Z4":[2,3,0,0,2,0,0,0,0],"matrix_rows":[18,3,16,4,24,32,64,128,256],"offset":19,"phase":3,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,69,132,7,6,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":689,"rank":3,"right":{"linear_Z4":[2,0,2,0,0,3,0,0,1],"matrix_rows":[289,290,260,96,320,256,360,272,384],"offset":104,"phase":1,"quadratic_rows":[320,96,0,0,0,290,3,0,289]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":907,"old":689,"rank":1,"right":{"linear_Z4":[2,2,2,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,264,272,288,320,384],"offset":158,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":912,"old":689,"rank":1,"right":{"linear_Z4":[2,1,2,0,0,0,2,0,0],"matrix_rows":[66,3,64,4,8,16,96,128,256],"offset":79,"phase":1,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,18,33,68,5,134,7,257,1],"offset":0,"phase":0,"quadratic_rows":[3,1,4,0,0,0,0,0,0]},"new":1,"old":690,"rank":3,"right":{"linear_Z4":[0,0,0,2,1,0,1,0,3],"matrix_rows":[81,338,8,256,80,260,272,352,384],"offset":31,"phase":1,"quadratic_rows":[336,256,0,272,89,0,81,0,267]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":902,"old":690,"rank":1,"right":{"linear_Z4":[0,3,0,2,0,0,0,0,2],"matrix_rows":[259,256,258,260,8,272,32,320,384],"offset":51,"phase":2,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":909,"old":690,"rank":1,"right":{"linear_Z4":[2,1,0,2,0,0,2,0,0],"matrix_rows":[66,3,64,4,8,16,96,128,256],"offset":82,"phase":3,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,16,34,68,133,4,5,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,4,0,0,0,0,0,0]},"new":1,"old":691,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,2],"matrix_rows":[97,260,8,96,2,256,32,80,384],"offset":98,"phase":3,"quadratic_rows":[0,0,0,32,0,8,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":903,"old":691,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,8,16,32,64,384],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":908,"old":691,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[65,64,2,4,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,64,129,258,4,2,5],"offset":0,"phase":0,"quadratic_rows":[4,0,1,0,0,0,0,0,0]},"new":1,"old":692,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,0,2,1],"matrix_rows":[257,130,260,320,128,64,8,336,160],"offset":183,"phase":0,"quadratic_rows":[64,0,320,0,0,0,5,0,260]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":914,"old":692,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[130,1,128,4,8,16,160,64,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":920,"old":692,"rank":1,"right":{"linear_Z4":[2,0,3,0,0,0,0,0,2],"matrix_rows":[260,5,2,256,8,16,32,320,128],"offset":131,"phase":3,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,64,129,258,4,5,2],"offset":0,"phase":0,"quadratic_rows":[4,0,1,0,0,0,0,0,0]},"new":1,"old":693,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,0,1,2],"matrix_rows":[129,258,132,192,256,64,8,208,288],"offset":183,"phase":0,"quadratic_rows":[64,0,192,0,0,0,5,132,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":915,"old":693,"rank":1,"right":{"linear_Z4":[2,0,3,0,0,0,0,2,0],"matrix_rows":[132,5,2,128,8,16,32,192,256],"offset":131,"phase":3,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":921,"old":693,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,8,16,288,64,128],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,17,34,64,128,257,2,4,7],"offset":0,"phase":0,"quadratic_rows":[6,5,7,0,0,0,0,0,0]},"new":1,"old":694,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,260,384,1,320,64,8,16,352],"offset":51,"phase":0,"quadratic_rows":[0,64,320,0,0,0,6,256,132]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":918,"old":694,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,0,0],"matrix_rows":[134,1,258,260,8,16,32,64,256],"offset":257,"phase":0,"quadratic_rows":[0,390,390,0,0,0,0,262,134]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":924,"old":694,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,0,0,0,0],"matrix_rows":[134,1,386,388,8,16,32,64,256],"offset":269,"phase":0,"quadratic_rows":[0,262,262,0,0,0,0,256,134]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[9,18,34,64,129,258,2,4,5],"offset":0,"phase":0,"quadratic_rows":[4,2,5,0,0,0,0,0,0]},"new":1,"old":695,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,3],"matrix_rows":[257,2,384,256,64,68,8,272,96],"offset":25,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,256,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":919,"old":695,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[385,257,2,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[129,0,0,0,0,0,0,1,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":925,"old":695,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,2],"matrix_rows":[257,385,2,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[129,0,0,0,0,0,0,1,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,64,129,258,4,1,6],"offset":0,"phase":0,"quadratic_rows":[0,4,2,0,0,0,0,0,0]},"new":1,"old":696,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,0,0,2,1],"matrix_rows":[129,258,260,128,320,64,8,144,352],"offset":303,"phase":0,"quadratic_rows":[0,64,320,0,0,0,6,0,260]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":918,"old":696,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,2,4,8,144,32,64,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":925,"old":696,"rank":1,"right":{"linear_Z4":[0,2,3,0,0,0,0,0,2],"matrix_rows":[260,1,6,256,8,16,32,320,128],"offset":133,"phase":3,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,64,129,258,4,6,1],"offset":0,"phase":0,"quadratic_rows":[0,4,2,0,0,0,0,0,0]},"new":1,"old":697,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,0,0,1,2],"matrix_rows":[257,130,132,256,192,64,8,272,224],"offset":303,"phase":0,"quadratic_rows":[0,64,192,0,0,0,6,132,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":919,"old":697,"rank":1,"right":{"linear_Z4":[0,2,3,0,0,0,0,2,0],"matrix_rows":[132,1,6,128,8,16,32,192,256],"offset":133,"phase":3,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":924,"old":697,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,8,272,32,64,128],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,16,34,64,129,256,2,4,7],"offset":0,"phase":0,"quadratic_rows":[6,5,7,0,0,0,0,0,0]},"new":1,"old":698,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,260,384,320,2,64,8,336,32],"offset":43,"phase":0,"quadratic_rows":[64,0,320,0,0,0,5,256,132]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":914,"old":698,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,0,0],"matrix_rows":[133,257,2,260,8,16,32,64,256],"offset":257,"phase":0,"quadratic_rows":[389,0,389,0,0,0,0,261,133]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":921,"old":698,"rank":1,"right":{"linear_Z4":[1,0,1,0,0,0,0,0,0],"matrix_rows":[133,385,2,388,8,16,32,64,256],"offset":267,"phase":0,"quadratic_rows":[261,0,261,0,0,0,0,256,133]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,18,33,64,129,258,1,4,6],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":1,"old":699,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,3],"matrix_rows":[1,258,384,64,256,68,8,80,288],"offset":26,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,256,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":915,"old":699,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[386,1,258,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,130,0,0,0,0,0,2,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":920,"old":699,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,2],"matrix_rows":[258,1,386,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,130,0,0,0,0,0,2,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,18,32,68,134,6,4,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,4,0,0,0,0,0,0]},"new":1,"old":700,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,2,0,0,2],"matrix_rows":[257,98,8,256,96,4,64,48,384],"offset":73,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":926,"old":700,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[34,1,32,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":932,"old":700,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,8,16,32,64,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,17,34,68,135,5,6,257,1],"offset":0,"phase":0,"quadratic_rows":[3,1,4,0,0,0,0,0,0]},"new":1,"old":701,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,1,1,0,0],"matrix_rows":[353,100,8,256,258,352,288,336,384],"offset":47,"phase":1,"quadratic_rows":[96,0,256,288,0,361,353,0,108]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":927,"old":701,"rank":1,"right":{"linear_Z4":[2,0,1,2,0,0,2,0,0],"matrix_rows":[68,5,2,64,8,80,32,128,256],"offset":59,"phase":1,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":933,"old":701,"rank":1,"right":{"linear_Z4":[0,0,3,2,0,0,0,0,2],"matrix_rows":[261,256,258,260,8,272,288,64,384],"offset":83,"phase":2,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,65,135,3,5,257,1],"offset":0,"phase":0,"quadratic_rows":[0,4,2,0,0,0,0,0,0]},"new":1,"old":702,"rank":3,"right":{"linear_Z4":[2,2,2,0,0,1,1,0,2],"matrix_rows":[257,98,100,256,288,320,264,368,384],"offset":142,"phase":0,"quadratic_rows":[0,320,288,0,0,100,98,0,6]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":930,"old":702,"rank":1,"right":{"linear_Z4":[2,2,1,0,0,0,2,0,0],"matrix_rows":[68,1,6,64,8,80,32,128,256],"offset":47,"phase":1,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":936,"old":702,"rank":1,"right":{"linear_Z4":[2,2,2,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,264,272,288,320,384],"offset":206,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,70,128,4,2,257,1],"offset":0,"phase":0,"quadratic_rows":[0,4,2,0,0,0,0,0,0]},"new":1,"old":703,"rank":3,"right":{"linear_Z4":[0,2,2,0,0,3,3,0,2],"matrix_rows":[257,98,100,256,64,32,104,16,384],"offset":121,"phase":1,"quadratic_rows":[0,32,64,0,0,98,100,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":931,"old":703,"rank":1,"right":{"linear_Z4":[0,2,3,0,0,2,0,0,0],"matrix_rows":[36,1,6,32,40,16,64,128,256],"offset":28,"phase":1,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":937,"old":703,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,8,16,32,64,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,71,129,5,3,257,1],"offset":0,"phase":0,"quadratic_rows":[0,4,2,0,0,0,0,0,0]},"new":1,"old":704,"rank":3,"right":{"linear_Z4":[2,2,2,0,0,1,1,0,2],"matrix_rows":[257,98,100,256,320,288,360,272,384],"offset":78,"phase":0,"quadratic_rows":[0,288,320,0,0,98,100,0,6]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":930,"old":704,"rank":1,"right":{"linear_Z4":[2,2,1,0,0,2,0,0,0],"matrix_rows":[36,1,6,32,40,16,64,128,256],"offset":31,"phase":1,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":937,"old":704,"rank":1,"right":{"linear_Z4":[2,2,2,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,264,272,288,320,384],"offset":206,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,64,134,2,4,257,1],"offset":0,"phase":0,"quadratic_rows":[0,4,2,0,0,0,0,0,0]},"new":1,"old":705,"rank":3,"right":{"linear_Z4":[0,2,2,0,0,3,3,0,2],"matrix_rows":[257,98,100,256,32,64,8,112,384],"offset":185,"phase":1,"quadratic_rows":[0,64,32,0,0,100,98,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":931,"old":705,"rank":1,"right":{"linear_Z4":[0,2,3,0,0,0,2,0,0],"matrix_rows":[68,1,6,64,8,80,32,128,256],"offset":44,"phase":1,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":936,"old":705,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,8,16,32,64,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,16,34,68,134,4,6,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,4,0,0,0,0,0,0]},"new":1,"old":706,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,2],"matrix_rows":[257,100,8,256,2,96,32,80,384],"offset":73,"phase":3,"quadratic_rows":[0,0,0,32,0,8,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":926,"old":706,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[68,1,2,64,8,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":933,"old":706,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,8,16,32,64,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,18,33,68,135,6,5,257,1],"offset":0,"phase":0,"quadratic_rows":[3,1,4,0,0,0,0,0,0]},"new":1,"old":707,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,1,1,0,0],"matrix_rows":[353,98,8,256,352,260,320,304,384],"offset":31,"phase":1,"quadratic_rows":[96,256,0,320,0,353,361,0,106]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":927,"old":707,"rank":1,"right":{"linear_Z4":[2,1,0,2,0,2,0,0,0],"matrix_rows":[34,3,32,4,8,48,64,128,256],"offset":55,"phase":1,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":932,"old":707,"rank":1,"right":{"linear_Z4":[0,3,0,2,0,0,0,0,2],"matrix_rows":[259,256,258,260,8,272,32,320,384],"offset":147,"phase":2,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,66,132,256,1,2,5],"offset":0,"phase":0,"quadratic_rows":[4,0,1,0,0,0,0,0,0]},"new":1,"old":708,"rank":3,"right":{"linear_Z4":[0,0,2,0,0,0,0,2,1],"matrix_rows":[257,130,260,64,128,320,136,336,32],"offset":159,"phase":0,"quadratic_rows":[320,0,64,0,0,0,5,0,257]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":938,"old":708,"rank":1,"right":{"linear_Z4":[2,0,3,0,0,0,0,0,2],"matrix_rows":[260,5,2,256,8,272,32,64,128],"offset":35,"phase":3,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":944,"old":708,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[130,1,128,4,136,16,32,64,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,66,132,256,1,5,2],"offset":0,"phase":0,"quadratic_rows":[4,0,1,0,0,0,0,0,0]},"new":1,"old":709,"rank":3,"right":{"linear_Z4":[0,0,2,0,0,0,0,1,2],"matrix_rows":[129,258,132,64,256,192,264,208,32],"offset":159,"phase":0,"quadratic_rows":[192,0,64,0,0,0,5,129,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":939,"old":709,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,264,16,32,64,128],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":945,"old":709,"rank":1,"right":{"linear_Z4":[2,0,3,0,0,0,0,2,0],"matrix_rows":[132,5,2,128,8,144,32,64,256],"offset":35,"phase":3,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,18,32,66,128,256,1,4,7],"offset":0,"phase":0,"quadratic_rows":[6,5,7,0,0,0,0,0,0]},"new":1,"old":710,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,258,384,64,320,4,328,16,32],"offset":27,"phase":0,"quadratic_rows":[320,64,0,0,0,0,3,256,129]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":942,"old":710,"rank":1,"right":{"linear_Z4":[1,1,0,0,0,0,0,0,0],"matrix_rows":[131,385,386,4,8,16,32,64,256],"offset":263,"phase":0,"quadratic_rows":[259,259,0,0,0,0,0,256,131]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":948,"old":710,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[131,257,258,4,8,16,32,64,256],"offset":257,"phase":0,"quadratic_rows":[387,387,0,0,0,0,0,259,131]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,17,34,65,130,256,1,4,6],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":1,"old":711,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,3],"matrix_rows":[1,260,384,64,66,256,72,272,32],"offset":42,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,256,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":943,"old":711,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,2,2],"matrix_rows":[260,1,2,388,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,0,132,0,0,0,0,4,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":949,"old":711,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,0,2],"matrix_rows":[388,1,2,260,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,0,132,0,0,0,0,4,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,66,132,256,1,3,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":712,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,0,0,1,2],"matrix_rows":[129,130,260,64,192,256,200,272,32],"offset":111,"phase":0,"quadratic_rows":[192,64,0,0,0,0,3,129,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":942,"old":712,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,8,272,32,64,128],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":949,"old":712,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,0,2,0],"matrix_rows":[130,3,128,4,136,16,32,64,256],"offset":19,"phase":3,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,66,132,256,1,4,3],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":713,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,0,0,2,1],"matrix_rows":[257,258,132,64,320,128,328,144,32],"offset":111,"phase":0,"quadratic_rows":[320,64,0,0,0,0,3,0,257]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":943,"old":713,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,0,0,2],"matrix_rows":[258,3,256,4,264,16,32,64,128],"offset":19,"phase":3,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":948,"old":713,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[132,1,2,128,8,144,32,64,256],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,18,33,66,129,256,1,4,6],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":1,"old":714,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,3],"matrix_rows":[1,258,384,64,256,68,264,80,32],"offset":26,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,256,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":938,"old":714,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,2],"matrix_rows":[258,1,386,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,130,0,0,0,0,0,2,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":945,"old":714,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[386,1,258,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,130,0,0,0,0,0,2,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,16,34,64,130,256,1,4,7],"offset":0,"phase":0,"quadratic_rows":[6,5,7,0,0,0,0,0,0]},"new":1,"old":715,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,260,384,64,2,320,8,336,32],"offset":43,"phase":0,"quadratic_rows":[320,0,64,0,0,0,5,256,129]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":939,"old":715,"rank":1,"right":{"linear_Z4":[1,0,1,0,0,0,0,0,0],"matrix_rows":[133,385,2,388,8,16,32,64,256],"offset":267,"phase":0,"quadratic_rows":[261,0,261,0,0,0,0,256,133]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":944,"old":715,"rank":1,"right":{"linear_Z4":[3,0,3,0,0,0,0,0,0],"matrix_rows":[133,257,2,260,8,16,32,64,256],"offset":257,"phase":0,"quadratic_rows":[389,0,389,0,0,0,0,261,133]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,35,64,1,132,3,260,4],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":716,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,2],"matrix_rows":[1,82,288,16,80,68,8,256,384],"offset":140,"phase":3,"quadratic_rows":[16,0,0,0,1,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":950,"old":716,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[288,1,2,4,8,16,256,64,384],"offset":65,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":956,"old":716,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[66,1,64,68,8,16,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,18,35,4,69,130,7,258,2],"offset":0,"phase":0,"quadratic_rows":[1,6,2,0,0,0,0,0,0]},"new":1,"old":717,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,0,0,0,3],"matrix_rows":[1,2,264,320,256,68,336,288,384],"offset":57,"phase":2,"quadratic_rows":[320,256,0,256,0,0,1,0,267]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":951,"old":717,"rank":1,"right":{"linear_Z4":[2,0,0,3,0,0,0,0,2],"matrix_rows":[266,1,256,260,264,16,288,320,384],"offset":15,"phase":2,"quadratic_rows":[0,8,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":957,"old":717,"rank":1,"right":{"linear_Z4":[2,2,0,1,0,0,2,0,0],"matrix_rows":[72,1,10,4,64,80,32,128,256],"offset":38,"phase":3,"quadratic_rows":[0,8,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,18,35,68,5,131,7,259,3],"offset":0,"phase":0,"quadratic_rows":[2,7,2,0,0,0,0,0,0]},"new":1,"old":718,"rank":3,"right":{"linear_Z4":[0,0,0,0,1,0,0,0,0],"matrix_rows":[257,18,280,336,80,260,320,288,384],"offset":86,"phase":0,"quadratic_rows":[80,64,0,80,25,0,11,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":954,"old":718,"rank":1,"right":{"linear_Z4":[3,2,0,3,0,0,0,0,0],"matrix_rows":[9,259,256,260,264,16,288,320,384],"offset":1,"phase":1,"quadratic_rows":[267,1,0,265,0,0,0,0,9]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":960,"old":718,"rank":1,"right":{"linear_Z4":[2,2,0,1,0,0,2,0,0],"matrix_rows":[72,1,10,4,64,80,32,128,256],"offset":38,"phase":3,"quadratic_rows":[0,8,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,35,1,64,132,2,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":719,"rank":3,"right":{"linear_Z4":[2,2,0,3,0,0,3,0,2],"matrix_rows":[73,74,288,8,64,76,16,256,384],"offset":188,"phase":1,"quadratic_rows":[64,8,0,74,0,0,73,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":955,"old":719,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[288,1,2,4,8,16,256,64,384],"offset":65,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":961,"old":719,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,2,0,0],"matrix_rows":[66,3,64,68,8,16,32,128,256],"offset":14,"phase":1,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,17,32,66,3,132,2,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":720,"rank":3,"right":{"linear_Z4":[2,0,0,0,1,0,0,0,2],"matrix_rows":[17,24,288,80,82,4,64,256,384],"offset":215,"phase":0,"quadratic_rows":[64,0,0,80,24,0,9,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":954,"old":720,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[288,1,2,4,8,16,256,64,384],"offset":65,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":961,"old":720,"rank":1,"right":{"linear_Z4":[2,0,0,3,0,0,2,0,0],"matrix_rows":[72,9,2,4,64,80,32,128,256],"offset":50,"phase":1,"quadratic_rows":[8,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,18,35,4,69,133,7,261,5],"offset":0,"phase":0,"quadratic_rows":[4,4,7,0,0,0,0,0,0]},"new":1,"old":721,"rank":3,"right":{"linear_Z4":[2,2,0,0,0,0,3,0,0],"matrix_rows":[257,322,72,256,320,68,272,288,384],"offset":56,"phase":1,"quadratic_rows":[0,0,0,64,0,0,72,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":955,"old":721,"rank":1,"right":{"linear_Z4":[3,3,0,2,0,0,0,0,0],"matrix_rows":[3,265,258,4,256,272,288,320,384],"offset":1,"phase":1,"quadratic_rows":[267,259,0,1,0,0,0,0,3]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":960,"old":721,"rank":1,"right":{"linear_Z4":[1,1,0,2,0,0,0,0,0],"matrix_rows":[3,257,266,4,256,272,288,320,384],"offset":151,"phase":1,"quadratic_rows":[259,267,0,2,0,0,0,0,3]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,18,35,68,5,132,7,260,4],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":1,"old":722,"rank":3,"right":{"linear_Z4":[2,0,0,0,1,0,1,0,3],"matrix_rows":[1,338,88,272,80,324,256,288,384],"offset":87,"phase":1,"quadratic_rows":[272,256,0,336,89,0,88,0,267]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":950,"old":722,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,0,0,2],"matrix_rows":[266,1,258,4,256,272,288,320,384],"offset":51,"phase":2,"quadratic_rows":[0,10,0,2,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":957,"old":722,"rank":1,"right":{"linear_Z4":[2,3,0,2,0,0,0,0,2],"matrix_rows":[258,1,266,4,256,272,288,320,384],"offset":150,"phase":0,"quadratic_rows":[0,10,0,2,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[9,16,33,2,67,132,3,260,4],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":723,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,2],"matrix_rows":[1,8,288,64,2,68,80,256,384],"offset":140,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":951,"old":723,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[288,1,2,4,8,16,256,64,384],"offset":65,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":956,"old":723,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[72,1,2,4,64,80,32,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,33,66,130,260,4,1,6],"offset":0,"phase":0,"quadratic_rows":[0,4,2,0,0,0,0,0,0]},"new":1,"old":724,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,0,0,2,1],"matrix_rows":[130,264,288,1,128,132,320,336,64],"offset":407,"phase":0,"quadratic_rows":[0,0,0,64,0,320,40,0,288]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":962,"old":724,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[130,1,128,132,8,16,32,64,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":968,"old":724,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,3,0,0,2],"matrix_rows":[288,1,2,4,40,16,256,320,128],"offset":145,"phase":3,"quadratic_rows":[0,0,0,32,0,40,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,33,66,130,260,4,6,1],"offset":0,"phase":0,"quadratic_rows":[0,4,2,0,0,0,0,0,0]},"new":1,"old":725,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,0,0,1,2],"matrix_rows":[258,136,160,1,256,260,192,208,64],"offset":407,"phase":0,"quadratic_rows":[0,0,0,64,0,192,40,160,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":963,"old":725,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,3,0,2,0],"matrix_rows":[160,1,2,4,40,16,128,192,256],"offset":145,"phase":3,"quadratic_rows":[0,0,0,32,0,40,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":969,"old":725,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,260,8,16,32,64,128],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,17,33,64,128,258,2,4,7],"offset":0,"phase":0,"quadratic_rows":[6,5,7,0,0,0,0,0,0]},"new":1,"old":726,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,288,384,1,320,324,8,16,64],"offset":275,"phase":0,"quadratic_rows":[0,64,0,0,0,320,34,256,160]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":966,"old":726,"rank":1,"right":{"linear_Z4":[0,3,0,0,0,3,0,0,0],"matrix_rows":[162,1,258,4,8,16,288,64,256],"offset":257,"phase":0,"quadratic_rows":[0,418,0,0,0,418,0,290,162]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":972,"old":726,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,1,0,0,0],"matrix_rows":[162,1,386,4,8,16,416,64,256],"offset":325,"phase":0,"quadratic_rows":[0,290,0,0,0,290,0,256,162]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[8,17,33,66,130,257,1,4,6],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":1,"old":727,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,3],"matrix_rows":[2,264,384,1,64,68,256,272,96],"offset":82,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,256,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":967,"old":727,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,0,0,2],"matrix_rows":[392,1,2,4,264,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,136,0,0,0,8,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":973,"old":727,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,0,2,2],"matrix_rows":[264,1,2,4,392,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,136,0,0,0,8,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,33,66,130,260,4,2,5],"offset":0,"phase":0,"quadratic_rows":[4,0,1,0,0,0,0,0,0]},"new":1,"old":728,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,0,0,2,1],"matrix_rows":[258,136,288,1,320,324,128,144,64],"offset":359,"phase":0,"quadratic_rows":[0,64,0,0,0,320,34,0,288]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":966,"old":728,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[136,1,2,4,128,144,32,64,256],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":973,"old":728,"rank":1,"right":{"linear_Z4":[0,2,0,0,0,3,0,0,2],"matrix_rows":[288,1,34,4,8,16,256,320,128],"offset":133,"phase":3,"quadratic_rows":[0,32,0,0,0,34,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,33,66,130,260,4,5,2],"offset":0,"phase":0,"quadratic_rows":[4,0,1,0,0,0,0,0,0]},"new":1,"old":729,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,0,0,1,2],"matrix_rows":[130,264,160,1,192,196,256,272,64],"offset":359,"phase":0,"quadratic_rows":[0,64,0,0,0,192,34,160,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":967,"old":729,"rank":1,"right":{"linear_Z4":[0,2,0,0,0,3,0,2,0],"matrix_rows":[160,1,34,4,8,16,128,192,256],"offset":133,"phase":3,"quadratic_rows":[0,32,0,0,0,34,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":972,"old":729,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[264,1,2,4,256,272,32,64,128],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,16,32,65,129,258,2,4,7],"offset":0,"phase":0,"quadratic_rows":[6,5,7,0,0,0,0,0,0]},"new":1,"old":730,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[264,288,384,1,2,4,320,336,64],"offset":323,"phase":0,"quadratic_rows":[0,0,0,64,0,320,40,256,160]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":962,"old":730,"rank":1,"right":{"linear_Z4":[0,0,0,3,0,3,0,0,0],"matrix_rows":[168,1,2,4,264,16,288,64,256],"offset":257,"phase":0,"quadratic_rows":[0,0,0,424,0,424,0,296,168]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":969,"old":730,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,1,0,0,0],"matrix_rows":[168,1,2,4,392,16,416,64,256],"offset":337,"phase":0,"quadratic_rows":[0,0,0,296,0,296,0,256,168]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[8,17,33,66,130,258,2,4,5],"offset":0,"phase":0,"quadratic_rows":[4,2,5,0,0,0,0,0,0]},"new":1,"old":731,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,3],"matrix_rows":[258,8,384,1,256,260,64,80,96],"offset":81,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,256,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":963,"old":731,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[386,1,258,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,130,0,0,0,0,0,2,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":968,"old":731,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,2],"matrix_rows":[258,1,386,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,130,0,0,0,0,0,2,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,35,68,3,128,1,260,4],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":732,"rank":3,"right":{"linear_Z4":[2,0,0,0,2,0,0,0,2],"matrix_rows":[1,82,264,64,80,20,256,32,384],"offset":76,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":974,"old":732,"rank":1,"right":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[18,1,16,20,8,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":980,"old":732,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[264,1,2,4,256,16,32,64,384],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,35,66,132,7,6,258,2],"offset":0,"phase":0,"quadratic_rows":[4,0,1,0,0,0,0,0,0]},"new":1,"old":733,"rank":3,"right":{"linear_Z4":[2,2,0,0,0,3,0,0,1],"matrix_rows":[289,258,304,96,256,356,264,320,384],"offset":56,"phase":1,"quadratic_rows":[320,0,0,0,96,304,17,0,289]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":975,"old":733,"rank":1,"right":{"linear_Z4":[2,2,0,0,1,0,2,0,0],"matrix_rows":[80,17,2,4,8,64,96,128,256],"offset":103,"phase":1,"quadratic_rows":[16,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":981,"old":733,"rank":1,"right":{"linear_Z4":[2,2,0,0,2,0,0,0,2],"matrix_rows":[258,1,256,260,264,16,288,320,384],"offset":174,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,2,0,0,0,0,0,0],"matrix_rows":[9,18,35,65,4,135,6,257,1],"offset":0,"phase":0,"quadratic_rows":[5,2,1,0,0,0,0,0,0]},"new":1,"old":734,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,0,0,3],"matrix_rows":[1,2,272,256,64,324,264,352,384],"offset":58,"phase":2,"quadratic_rows":[256,64,0,0,256,0,2,0,273]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":978,"old":734,"rank":1,"right":{"linear_Z4":[2,2,0,0,1,0,2,0,0],"matrix_rows":[80,17,2,4,8,64,96,128,256],"offset":103,"phase":1,"quadratic_rows":[16,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":984,"old":734,"rank":1,"right":{"linear_Z4":[0,2,0,0,3,0,0,0,2],"matrix_rows":[273,256,2,260,264,272,288,64,384],"offset":15,"phase":2,"quadratic_rows":[16,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,3,2,0,0,0,0,0,0],"matrix_rows":[9,18,35,68,128,3,2,260,4],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":1,"old":735,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,2,0,0,2],"matrix_rows":[97,2,264,96,64,36,256,16,384],"offset":84,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":979,"old":735,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[33,32,2,36,8,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":985,"old":735,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[264,1,2,4,256,16,32,64,384],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[9,18,35,68,132,7,6,260,4],"offset":0,"phase":0,"quadratic_rows":[4,2,5,0,0,0,0,0,0]},"new":1,"old":736,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,1,1,0,3],"matrix_rows":[353,2,104,96,320,292,256,272,384],"offset":79,"phase":1,"quadratic_rows":[256,320,0,352,0,104,106,0,267]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":978,"old":736,"rank":1,"right":{"linear_Z4":[3,2,0,2,0,0,0,0,2],"matrix_rows":[257,265,2,4,256,272,288,320,384],"offset":86,"phase":0,"quadratic_rows":[9,0,0,1,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":985,"old":736,"rank":1,"right":{"linear_Z4":[3,2,0,0,0,0,0,0,2],"matrix_rows":[265,257,2,4,256,272,288,320,384],"offset":149,"phase":2,"quadratic_rows":[9,0,0,1,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,2,0,0,0,0,0,0],"matrix_rows":[8,17,33,66,4,133,5,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":737,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,2],"matrix_rows":[2,264,16,1,64,68,256,96,384],"offset":82,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":979,"old":737,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[80,1,2,4,8,64,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":984,"old":737,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[264,1,2,4,256,16,32,64,384],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,16,33,66,132,5,4,258,2],"offset":0,"phase":0,"quadratic_rows":[4,0,1,0,0,0,0,0,0]},"new":1,"old":738,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,1,0,0,2],"matrix_rows":[33,264,48,96,2,100,256,64,384],"offset":231,"phase":0,"quadratic_rows":[64,0,0,0,96,48,17,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":974,"old":738,"rank":1,"right":{"linear_Z4":[2,0,0,0,3,0,2,0,0],"matrix_rows":[80,17,2,4,8,64,96,128,256],"offset":98,"phase":1,"quadratic_rows":[16,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":981,"old":738,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[264,1,2,4,256,16,32,64,384],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,18,35,68,7,132,5,260,4],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":1,"old":739,"rank":3,"right":{"linear_Z4":[2,0,0,0,1,0,1,0,3],"matrix_rows":[1,338,88,320,80,276,256,288,384],"offset":87,"phase":1,"quadratic_rows":[320,256,0,336,88,0,89,0,267]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":975,"old":739,"rank":1,"right":{"linear_Z4":[2,3,0,2,0,0,0,0,2],"matrix_rows":[258,1,266,4,256,272,288,320,384],"offset":54,"phase":0,"quadratic_rows":[0,10,0,2,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":980,"old":739,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,0,0,2],"matrix_rows":[266,1,258,4,256,272,288,320,384],"offset":147,"phase":2,"quadratic_rows":[0,10,0,2,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,17,32,66,132,260,2,1,6],"offset":0,"phase":0,"quadratic_rows":[0,4,2,0,0,0,0,0,0]},"new":1,"old":740,"rank":3,"right":{"linear_Z4":[0,0,0,0,2,0,0,2,1],"matrix_rows":[129,264,272,128,130,4,64,320,352],"offset":335,"phase":0,"quadratic_rows":[0,0,0,320,64,0,24,0,264]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":986,"old":740,"rank":1,"right":{"linear_Z4":[0,0,0,2,3,0,0,0,2],"matrix_rows":[272,1,2,4,24,256,288,64,128],"offset":81,"phase":3,"quadratic_rows":[0,0,0,16,24,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":992,"old":740,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,130,4,8,16,32,64,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,17,32,66,132,260,2,6,1],"offset":0,"phase":0,"quadratic_rows":[0,4,2,0,0,0,0,0,0]},"new":1,"old":741,"rank":3,"right":{"linear_Z4":[0,0,0,0,2,0,0,1,2],"matrix_rows":[257,136,144,256,258,4,64,192,224],"offset":335,"phase":0,"quadratic_rows":[0,0,0,192,64,0,24,136,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":987,"old":741,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,258,4,8,16,32,64,128],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":993,"old":741,"rank":1,"right":{"linear_Z4":[0,0,0,2,3,0,0,2,0],"matrix_rows":[144,1,2,4,24,128,160,64,256],"offset":81,"phase":3,"quadratic_rows":[0,0,0,16,24,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,17,32,66,128,256,2,4,7],"offset":0,"phase":0,"quadratic_rows":[6,5,7,0,0,0,0,0,0]},"new":1,"old":742,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,264,384,320,322,4,64,16,32],"offset":75,"phase":0,"quadratic_rows":[64,0,0,320,0,0,9,256,136]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":990,"old":742,"rank":1,"right":{"linear_Z4":[1,0,0,1,0,0,0,0,0],"matrix_rows":[137,385,2,4,392,16,32,64,256],"offset":275,"phase":0,"quadratic_rows":[265,0,0,265,0,0,0,256,137]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":996,"old":742,"rank":1,"right":{"linear_Z4":[3,0,0,3,0,0,0,0,0],"matrix_rows":[137,257,2,4,264,16,32,64,256],"offset":257,"phase":0,"quadratic_rows":[393,0,0,393,0,0,0,265,137]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,17,32,65,130,258,1,4,6],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":1,"old":743,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,3],"matrix_rows":[1,272,384,64,66,4,72,256,288],"offset":138,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,256,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":991,"old":743,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,0,2,2],"matrix_rows":[272,1,2,4,8,400,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,144,0,0,16,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":997,"old":743,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,0,0,2],"matrix_rows":[400,1,2,4,8,272,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,144,0,0,16,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,17,32,66,132,260,2,3,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":744,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,0,1,2],"matrix_rows":[129,136,272,192,194,4,64,256,288],"offset":215,"phase":0,"quadratic_rows":[64,0,0,192,0,0,9,136,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":990,"old":744,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[272,1,2,4,8,256,288,64,128],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":997,"old":744,"rank":1,"right":{"linear_Z4":[2,0,0,3,0,0,0,2,0],"matrix_rows":[136,9,2,4,128,16,32,192,256],"offset":131,"phase":3,"quadratic_rows":[8,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,17,32,66,132,260,2,4,3],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":745,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,0,2,1],"matrix_rows":[257,264,144,320,322,4,64,128,160],"offset":215,"phase":0,"quadratic_rows":[64,0,0,320,0,0,9,0,264]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":991,"old":745,"rank":1,"right":{"linear_Z4":[2,0,0,3,0,0,0,0,2],"matrix_rows":[264,9,2,4,256,16,32,320,128],"offset":131,"phase":3,"quadratic_rows":[8,0,0,9,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":996,"old":745,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[144,1,2,4,8,128,160,64,256],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[9,17,32,66,130,258,2,4,5],"offset":0,"phase":0,"quadratic_rows":[4,2,5,0,0,0,0,0,0]},"new":1,"old":746,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,3],"matrix_rows":[257,8,384,256,258,4,64,80,96],"offset":73,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,256,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":986,"old":746,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,2],"matrix_rows":[257,385,2,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[129,0,0,0,0,0,0,1,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":993,"old":746,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[385,257,2,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[129,0,0,0,0,0,0,1,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,16,32,65,130,258,1,4,7],"offset":0,"phase":0,"quadratic_rows":[6,5,7,0,0,0,0,0,0]},"new":1,"old":747,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[264,272,384,1,2,4,64,320,352],"offset":195,"phase":0,"quadratic_rows":[0,0,0,320,64,0,24,256,136]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":987,"old":747,"rank":1,"right":{"linear_Z4":[0,0,0,1,1,0,0,0,0],"matrix_rows":[152,1,2,4,392,400,32,64,256],"offset":305,"phase":0,"quadratic_rows":[0,0,0,280,280,0,0,256,152]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":992,"old":747,"rank":1,"right":{"linear_Z4":[0,0,0,3,3,0,0,0,0],"matrix_rows":[152,1,2,4,264,272,32,64,256],"offset":257,"phase":0,"quadratic_rows":[0,0,0,408,408,0,0,280,152]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,17,34,65,128,258,1,4,6],"offset":0,"phase":0,"quadratic_rows":[1,4,6,0,0,0,0,0,0]},"new":1,"old":748,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,3],"matrix_rows":[1,260,384,64,66,256,72,16,288],"offset":42,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,256,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":998,"old":748,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,0,2],"matrix_rows":[388,1,2,260,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,0,132,0,0,0,0,4,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1004,"old":748,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,2,2],"matrix_rows":[260,1,2,388,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[0,0,132,0,0,0,0,4,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,18,32,65,128,256,2,4,7],"offset":0,"phase":0,"quadratic_rows":[6,5,7,0,0,0,0,0,0]},"new":1,"old":749,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,258,384,320,64,4,328,16,32],"offset":27,"phase":0,"quadratic_rows":[64,320,0,0,0,0,3,256,130]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":999,"old":749,"rank":1,"right":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[131,257,258,4,8,16,32,64,256],"offset":257,"phase":0,"quadratic_rows":[387,387,0,0,0,0,0,259,131]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1005,"old":749,"rank":1,"right":{"linear_Z4":[1,1,0,0,0,0,0,0,0],"matrix_rows":[131,385,386,4,8,16,32,64,256],"offset":263,"phase":0,"quadratic_rows":[259,259,0,0,0,0,0,256,131]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,65,128,260,2,1,6],"offset":0,"phase":0,"quadratic_rows":[0,4,2,0,0,0,0,0,0]},"new":1,"old":750,"rank":3,"right":{"linear_Z4":[0,0,2,0,0,0,0,2,1],"matrix_rows":[129,258,260,128,64,320,136,16,352],"offset":287,"phase":0,"quadratic_rows":[0,320,64,0,0,0,6,0,258]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1002,"old":750,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,2,4,136,16,32,64,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1008,"old":750,"rank":1,"right":{"linear_Z4":[0,2,3,0,0,0,0,0,2],"matrix_rows":[260,1,6,256,8,16,288,64,128],"offset":69,"phase":3,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,65,128,260,2,6,1],"offset":0,"phase":0,"quadratic_rows":[0,4,2,0,0,0,0,0,0]},"new":1,"old":751,"rank":3,"right":{"linear_Z4":[0,0,2,0,0,0,0,1,2],"matrix_rows":[257,130,132,256,64,192,264,16,224],"offset":287,"phase":0,"quadratic_rows":[0,192,64,0,0,0,6,130,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1003,"old":751,"rank":1,"right":{"linear_Z4":[0,2,3,0,0,0,0,2,0],"matrix_rows":[132,1,6,128,8,16,160,64,256],"offset":69,"phase":3,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1009,"old":751,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,264,16,32,64,128],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,17,34,64,128,258,1,4,7],"offset":0,"phase":0,"quadratic_rows":[6,5,7,0,0,0,0,0,0]},"new":1,"old":752,"rank":3,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,260,384,1,64,320,8,16,352],"offset":51,"phase":0,"quadratic_rows":[0,320,64,0,0,0,6,256,130]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1002,"old":752,"rank":1,"right":{"linear_Z4":[0,3,3,0,0,0,0,0,0],"matrix_rows":[134,1,258,260,8,16,32,64,256],"offset":257,"phase":0,"quadratic_rows":[0,390,390,0,0,0,0,262,134]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1009,"old":752,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,0,0,0,0],"matrix_rows":[134,1,386,388,8,16,32,64,256],"offset":269,"phase":0,"quadratic_rows":[0,262,262,0,0,0,0,256,134]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[9,18,34,65,128,258,2,4,5],"offset":0,"phase":0,"quadratic_rows":[4,2,5,0,0,0,0,0,0]},"new":1,"old":753,"rank":3,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,3],"matrix_rows":[257,2,384,256,64,68,264,16,96],"offset":25,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,256,384]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1003,"old":753,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[385,257,2,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[129,0,0,0,0,0,0,1,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1008,"old":753,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,2],"matrix_rows":[257,385,2,4,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[129,0,0,0,0,0,0,1,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,65,128,260,2,3,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":754,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,0,1,2],"matrix_rows":[129,130,260,192,64,256,200,16,288],"offset":119,"phase":0,"quadratic_rows":[64,192,0,0,0,0,3,130,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":998,"old":754,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,0,2,0],"matrix_rows":[130,3,128,4,8,16,32,192,256],"offset":131,"phase":3,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1005,"old":754,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,8,16,288,64,128],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,65,128,260,2,4,3],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":755,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,0,0,2,1],"matrix_rows":[257,258,132,320,64,128,328,16,160],"offset":119,"phase":0,"quadratic_rows":[64,320,0,0,0,0,3,0,258]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":999,"old":755,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[132,1,2,128,8,16,160,64,256],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1004,"old":755,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,0,0,2],"matrix_rows":[258,3,256,4,8,16,32,320,128],"offset":131,"phase":3,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,3,0,0,0,0,0,0],"matrix_rows":[9,17,34,68,5,135,6,257,1],"offset":0,"phase":0,"quadratic_rows":[3,1,4,0,0,0,0,0,0]},"new":1,"old":756,"rank":3,"right":{"linear_Z4":[0,0,0,2,1,0,1,0,0],"matrix_rows":[337,84,8,256,258,336,272,352,384],"offset":47,"phase":1,"quadratic_rows":[80,0,256,272,345,0,337,0,92]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1010,"old":756,"rank":1,"right":{"linear_Z4":[0,0,3,2,0,0,0,0,2],"matrix_rows":[261,256,258,260,8,272,288,64,384],"offset":51,"phase":2,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1016,"old":756,"rank":1,"right":{"linear_Z4":[2,0,1,2,0,0,2,0,0],"matrix_rows":[68,5,2,64,8,16,96,128,256],"offset":91,"phase":1,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[9,18,32,68,133,5,4,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,4,0,0,0,0,0,0]},"new":1,"old":757,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,2,0,0,2],"matrix_rows":[97,258,8,96,256,4,64,48,384],"offset":82,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1011,"old":757,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,8,16,32,64,384],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1017,"old":757,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[33,32,2,4,8,48,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,66,131,7,6,258,2],"offset":0,"phase":0,"quadratic_rows":[4,0,1,0,0,0,0,0,0]},"new":1,"old":758,"rank":3,"right":{"linear_Z4":[2,2,0,0,0,3,0,0,1],"matrix_rows":[289,258,292,96,256,320,264,368,384],"offset":152,"phase":1,"quadratic_rows":[320,0,96,0,0,292,5,0,289]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1014,"old":758,"rank":1,"right":{"linear_Z4":[2,2,2,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,264,272,288,320,384],"offset":174,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1020,"old":758,"rank":1,"right":{"linear_Z4":[2,2,1,0,0,0,2,0,0],"matrix_rows":[68,5,2,64,8,16,96,128,256],"offset":79,"phase":1,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,69,4,128,1,258,2],"offset":0,"phase":0,"quadratic_rows":[4,0,1,0,0,0,0,0,0]},"new":1,"old":759,"rank":3,"right":{"linear_Z4":[2,0,2,0,3,0,3,0,2],"matrix_rows":[81,258,84,64,256,16,88,32,384],"offset":122,"phase":1,"quadratic_rows":[16,0,64,0,81,0,84,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1015,"old":759,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,8,16,32,64,384],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1021,"old":759,"rank":1,"right":{"linear_Z4":[2,0,3,0,2,0,0,0,0],"matrix_rows":[20,5,2,16,24,32,64,128,256],"offset":26,"phase":1,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,64,129,5,4,258,2],"offset":0,"phase":0,"quadratic_rows":[4,0,1,0,0,0,0,0,0]},"new":1,"old":760,"rank":3,"right":{"linear_Z4":[2,0,0,0,0,1,0,0,2],"matrix_rows":[33,258,36,96,256,64,8,112,384],"offset":183,"phase":0,"quadratic_rows":[64,0,96,0,0,36,5,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1014,"old":760,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,8,16,32,64,384],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1021,"old":760,"rank":1,"right":{"linear_Z4":[2,0,3,0,0,0,2,0,0],"matrix_rows":[68,5,2,64,8,16,96,128,256],"offset":74,"phase":1,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,0,0,0,0,0,0],"matrix_rows":[9,18,36,71,6,130,3,258,2],"offset":0,"phase":0,"quadratic_rows":[4,0,1,0,0,0,0,0,0]},"new":1,"old":761,"rank":3,"right":{"linear_Z4":[2,2,2,0,1,0,1,0,2],"matrix_rows":[81,258,84,320,256,272,344,288,384],"offset":85,"phase":0,"quadratic_rows":[272,0,320,0,81,0,84,0,5]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1015,"old":761,"rank":1,"right":{"linear_Z4":[2,2,2,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,264,272,288,320,384],"offset":174,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1020,"old":761,"rank":1,"right":{"linear_Z4":[2,2,1,0,2,0,0,0,0],"matrix_rows":[20,5,2,16,24,32,64,128,256],"offset":31,"phase":1,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,3,0,0,0,0,0,0],"matrix_rows":[8,17,34,68,4,134,6,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,4,0,0,0,0,0,0]},"new":1,"old":762,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,2],"matrix_rows":[258,84,8,1,256,80,16,96,384],"offset":81,"phase":3,"quadratic_rows":[0,0,0,16,8,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1010,"old":762,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,8,16,32,64,384],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1017,"old":762,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[68,1,2,64,8,16,96,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,3,0,0,0,0,0,0],"matrix_rows":[9,18,34,68,133,7,6,258,2],"offset":0,"phase":0,"quadratic_rows":[2,3,4,0,0,0,0,0,0]},"new":1,"old":763,"rank":3,"right":{"linear_Z4":[0,0,0,2,0,1,1,0,3],"matrix_rows":[353,98,8,96,256,260,320,304,384],"offset":31,"phase":1,"quadratic_rows":[256,352,0,320,0,98,106,0,267]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1011,"old":763,"rank":1,"right":{"linear_Z4":[3,0,0,2,0,0,0,0,2],"matrix_rows":[259,257,256,260,8,16,288,320,384],"offset":149,"phase":2,"quadratic_rows":[3,1,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1016,"old":763,"rank":1,"right":{"linear_Z4":[3,2,0,2,0,0,0,0,2],"matrix_rows":[257,259,256,260,8,16,288,320,384],"offset":86,"phase":0,"quadratic_rows":[3,1,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,2,3,0,0,0,0,0],"matrix_rows":[17,34,68,132,258,1,3,8,12],"offset":0,"phase":0,"quadratic_rows":[2,1,8,12,0,0,0,0,0]},"new":1,"old":764,"rank":4,"right":{"linear_Z4":[0,2,0,0,0,0,1,0,3],"matrix_rows":[65,66,260,384,32,96,256,264,112],"offset":343,"phase":0,"quadratic_rows":[96,32,0,0,0,3,65,256,384]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,18,32,65,128,1,258,2],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1022,"old":764,"rank":2,"right":{"linear_Z4":[2,3,1,0,0,0,2,2,2],"matrix_rows":[66,260,3,64,388,8,80,32,256],"offset":69,"phase":3,"quadratic_rows":[2,3,132,0,0,0,0,4,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1028,"old":764,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,0,2],"matrix_rows":[388,129,130,260,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[128,128,132,0,0,0,0,7,0]}},{"left":{"linear_Z4":[2,2,3,3,0,0,0,0,0],"matrix_rows":[17,34,64,128,258,1,4,8,15],"offset":0,"phase":0,"quadratic_rows":[14,13,15,15,0,0,0,0,0]},"new":1,"old":765,"rank":4,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,3],"matrix_rows":[257,258,320,384,32,288,4,8,304],"offset":51,"phase":0,"quadratic_rows":[288,32,0,0,0,3,256,256,449]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,32,64,128,258,1,3],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":1023,"old":765,"rank":2,"right":{"linear_Z4":[1,1,0,0,0,0,0,0,1],"matrix_rows":[387,64,129,130,4,8,16,32,256],"offset":258,"phase":0,"quadratic_rows":[259,259,0,0,0,0,256,256,451]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1029,"old":765,"rank":1,"right":{"linear_Z4":[1,1,0,0,0,0,1,2,2],"matrix_rows":[323,257,258,4,8,16,32,448,256],"offset":0,"phase":0,"quadratic_rows":[67,67,0,0,0,0,195,64,0]}},{"left":{"linear_Z4":[2,2,2,3,0,0,0,0,0],"matrix_rows":[17,34,68,132,2,257,6,8,9],"offset":0,"phase":0,"quadratic_rows":[8,4,2,9,0,0,0,0,0]},"new":1,"old":766,"rank":4,"right":{"linear_Z4":[0,0,2,0,0,0,1,0,3],"matrix_rows":[257,66,68,384,256,16,80,88,288],"offset":183,"phase":0,"quadratic_rows":[0,80,16,0,6,0,66,256,384]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,8,18,34,64,128,2,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1026,"old":766,"rank":2,"right":{"linear_Z4":[1,2,3,0,0,0,2,2,2],"matrix_rows":[257,68,385,6,64,72,16,32,256],"offset":42,"phase":3,"quadratic_rows":[129,4,6,0,0,0,0,1,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1032,"old":766,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[385,257,130,132,8,16,32,64,256],"offset":0,"phase":0,"quadratic_rows":[129,128,128,0,0,0,0,7,0]}},{"left":{"linear_Z4":[2,2,3,3,0,0,0,0,0],"matrix_rows":[16,33,66,130,1,256,4,8,15],"offset":0,"phase":0,"quadratic_rows":[14,13,15,15,0,0,0,0,0]},"new":1,"old":767,"rank":4,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,3],"matrix_rows":[258,260,320,384,1,16,272,280,32],"offset":99,"phase":0,"quadratic_rows":[0,272,16,0,6,0,256,256,450]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,32,64,128,258,1,3],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"new":1027,"old":767,"rank":2,"right":{"linear_Z4":[0,1,1,0,0,0,0,0,1],"matrix_rows":[390,64,1,130,132,8,16,32,256],"offset":258,"phase":0,"quadratic_rows":[0,262,262,0,0,0,256,256,454]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1033,"old":767,"rank":1,"right":{"linear_Z4":[0,1,1,0,0,0,1,2,2],"matrix_rows":[326,1,258,260,8,16,32,448,256],"offset":0,"phase":0,"quadratic_rows":[0,70,70,0,0,0,198,64,0]}},{"left":{"linear_Z4":[2,2,2,3,0,0,0,0,0],"matrix_rows":[17,34,68,132,2,257,8,9,6],"offset":0,"phase":0,"quadratic_rows":[8,4,2,9,0,0,0,0,0]},"new":1,"old":768,"rank":4,"right":{"linear_Z4":[0,0,2,0,0,0,0,3,1],"matrix_rows":[129,258,260,192,128,16,272,280,160],"offset":183,"phase":0,"quadratic_rows":[0,272,16,0,6,0,128,192,258]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[6,8,17,33,64,128,258,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1026,"old":768,"rank":2,"right":{"linear_Z4":[1,2,3,0,0,0,0,2,2],"matrix_rows":[260,193,129,6,256,264,16,32,128],"offset":41,"phase":3,"quadratic_rows":[65,4,6,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1033,"old":768,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,1,2,0],"matrix_rows":[65,128,2,4,8,16,160,192,256],"offset":64,"phase":3,"quadratic_rows":[192,0,0,0,0,0,193,65,0]}},{"left":{"linear_Z4":[2,2,2,3,0,0,0,0,0],"matrix_rows":[17,34,68,132,2,257,8,6,9],"offset":0,"phase":0,"quadratic_rows":[8,4,2,9,0,0,0,0,0]},"new":1,"old":769,"rank":4,"right":{"linear_Z4":[0,0,2,0,0,0,0,1,3],"matrix_rows":[257,130,132,320,256,16,144,152,288],"offset":183,"phase":0,"quadratic_rows":[0,144,16,0,6,0,256,130,320]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,8,16,32,64,129,2,256,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":1027,"old":769,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,3],"matrix_rows":[257,320,256,2,4,8,16,288,128],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,256,0,320]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1032,"old":769,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[321,257,66,68,8,16,32,256,128],"offset":0,"phase":0,"quadratic_rows":[65,64,64,0,0,0,7,0,0]}},{"left":{"linear_Z4":[2,2,2,3,0,0,0,0,0],"matrix_rows":[17,34,68,132,258,1,8,12,3],"offset":0,"phase":0,"quadratic_rows":[2,1,8,12,0,0,0,0,0]},"new":1,"old":770,"rank":4,"right":{"linear_Z4":[0,2,0,0,0,0,0,3,1],"matrix_rows":[257,258,132,192,32,288,128,136,304],"offset":343,"phase":0,"quadratic_rows":[288,32,0,0,0,3,128,192,257]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,18,32,65,128,258,2,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1022,"old":770,"rank":2,"right":{"linear_Z4":[2,3,1,0,0,0,0,2,2],"matrix_rows":[258,196,3,256,132,8,272,32,128],"offset":69,"phase":3,"quadratic_rows":[2,3,68,0,0,0,4,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1029,"old":770,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,1,2,0],"matrix_rows":[68,1,2,128,136,16,32,192,256],"offset":16,"phase":3,"quadratic_rows":[0,0,192,0,0,0,196,68,0]}},{"left":{"linear_Z4":[2,2,2,3,0,0,0,0,0],"matrix_rows":[17,34,68,132,258,1,8,3,12],"offset":0,"phase":0,"quadratic_rows":[2,1,8,12,0,0,0,0,0]},"new":1,"old":771,"rank":4,"right":{"linear_Z4":[0,2,0,0,0,0,0,1,3],"matrix_rows":[129,130,260,320,32,160,256,264,176],"offset":343,"phase":0,"quadratic_rows":[160,32,0,0,0,3,256,129,320]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[4,8,17,33,64,128,2,256,3],"offset":0,"phase":0,"quadratic_rows":[2,3,0,0,0,0,0,0,0]},"new":1023,"old":771,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,3],"matrix_rows":[260,320,1,2,256,264,16,32,128],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,256,0,320]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1028,"old":771,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,0,2],"matrix_rows":[324,65,66,260,8,16,32,256,128],"offset":0,"phase":0,"quadratic_rows":[64,64,68,0,0,0,7,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":811,"old":772,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,2,36,40,16,64,128,256],"offset":16,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":868,"old":772,"rank":1,"right":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[1,35,32,36,8,16,64,128,256],"offset":1,"phase":1,"quadratic_rows":[35,1,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":772,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[34,1,32,36,8,16,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":815,"old":773,"rank":1,"right":{"linear_Z4":[1,0,0,0,2,0,0,0,0],"matrix_rows":[1,145,2,4,8,128,32,192,256],"offset":35,"phase":3,"quadratic_rows":[145,0,0,0,1,0,0,1,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":880,"old":773,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,2,36,40,16,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":773,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[144,1,2,4,8,128,32,192,256],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":819,"old":774,"rank":1,"right":{"linear_Z4":[1,0,0,0,2,0,0,0,0],"matrix_rows":[1,273,2,4,8,256,32,64,384],"offset":35,"phase":3,"quadratic_rows":[273,0,0,0,1,0,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":892,"old":774,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,2,36,40,16,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":774,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[272,1,2,4,8,256,32,64,384],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,18,34,67,3,130,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":775,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[1,260,288,290,256,264,48,320,384],"offset":26,"phase":3,"quadratic_rows":[288,0,0,0,0,1,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":824,"old":775,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,34,4,8,48,64,128,256],"offset":4,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":911,"old":775,"rank":1,"right":{"linear_Z4":[1,0,2,0,0,0,0,0,0],"matrix_rows":[1,261,2,256,264,272,288,320,384],"offset":107,"phase":1,"quadratic_rows":[261,0,1,0,0,0,0,0,1]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1035,"old":775,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,264,272,288,320,384],"offset":105,"phase":2,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,32,65,2,3,128,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":776,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,0,1,0,0],"matrix_rows":[65,66,96,32,4,8,112,128,256],"offset":75,"phase":0,"quadratic_rows":[32,96,0,0,0,3,66,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":822,"old":776,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,0,0],"matrix_rows":[3,64,66,4,8,80,32,128,256],"offset":32,"phase":3,"quadratic_rows":[66,67,0,0,0,0,3,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":905,"old":776,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,2,0,0],"matrix_rows":[3,65,64,4,8,16,96,128,256],"offset":64,"phase":3,"quadratic_rows":[67,65,0,0,0,0,3,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1035,"old":776,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,2,0,0],"matrix_rows":[66,3,64,4,8,16,96,128,256],"offset":67,"phase":3,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":823,"old":777,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,2,0,0,0],"matrix_rows":[3,32,34,4,40,16,64,128,256],"offset":22,"phase":1,"quadratic_rows":[34,35,0,0,0,3,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":904,"old":777,"rank":1,"right":{"linear_Z4":[3,2,0,0,2,0,0,0,0],"matrix_rows":[3,17,16,4,24,32,64,128,256],"offset":22,"phase":1,"quadratic_rows":[19,17,0,0,3,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1035,"old":777,"rank":1,"right":{"linear_Z4":[2,3,0,0,2,0,0,0,0],"matrix_rows":[18,3,16,4,24,32,64,128,256],"offset":22,"phase":1,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":825,"old":778,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,34,4,8,48,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":910,"old":778,"rank":1,"right":{"linear_Z4":[1,0,2,0,0,0,0,0,0],"matrix_rows":[1,261,2,256,8,16,32,64,384],"offset":11,"phase":3,"quadratic_rows":[261,0,1,0,0,0,0,0,1]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1035,"old":778,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,8,16,32,64,384],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,32,65,2,128,3,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":779,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,0,0,1,0],"matrix_rows":[129,130,160,32,4,8,176,64,256],"offset":75,"phase":0,"quadratic_rows":[32,160,0,0,0,3,0,130,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":828,"old":779,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,0],"matrix_rows":[3,128,130,4,8,144,32,64,256],"offset":32,"phase":3,"quadratic_rows":[130,131,0,0,0,0,0,3,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":923,"old":779,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,0],"matrix_rows":[3,129,128,4,8,16,160,64,256],"offset":64,"phase":3,"quadratic_rows":[131,129,0,0,0,0,0,3,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,32,65,2,128,256,3],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":780,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,0,0,0,1],"matrix_rows":[257,258,288,32,4,8,304,64,128],"offset":75,"phase":0,"quadratic_rows":[32,288,0,0,0,3,0,0,258]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":826,"old":780,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[3,257,256,4,8,16,288,64,128],"offset":64,"phase":3,"quadratic_rows":[259,257,0,0,0,0,0,0,3]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":917,"old":780,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[3,256,258,4,8,272,32,64,128],"offset":32,"phase":3,"quadratic_rows":[258,259,0,0,0,0,0,0,3]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1035,"old":780,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,0,0,2],"matrix_rows":[258,3,256,4,8,16,288,64,128],"offset":67,"phase":3,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,18,32,65,1,130,256,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":781,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,2],"matrix_rows":[1,260,32,34,256,8,48,320,128],"offset":22,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":827,"old":781,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,34,4,8,48,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":916,"old":781,"rank":1,"right":{"linear_Z4":[1,0,2,0,0,0,0,0,0],"matrix_rows":[1,261,2,256,8,16,32,320,128],"offset":11,"phase":3,"quadratic_rows":[261,0,1,0,0,0,0,0,1]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1035,"old":781,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,8,16,32,320,128],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":829,"old":782,"rank":1,"right":{"linear_Z4":[1,0,2,0,0,0,0,0,0],"matrix_rows":[1,133,2,128,8,16,32,192,256],"offset":11,"phase":3,"quadratic_rows":[133,0,1,0,0,0,0,1,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":922,"old":782,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,34,4,8,48,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1035,"old":782,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[132,1,2,128,8,16,32,192,256],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,18,34,1,3,64,128,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":783,"rank":2,"right":{"linear_Z4":[0,0,2,0,0,1,0,0,0],"matrix_rows":[34,36,1,16,48,56,64,128,256],"offset":43,"phase":0,"quadratic_rows":[0,48,16,0,6,34,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":832,"old":783,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,2,0,0,0],"matrix_rows":[6,1,34,32,40,16,64,128,256],"offset":16,"phase":3,"quadratic_rows":[0,38,34,0,0,6,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":935,"old":783,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,2,0,0,0],"matrix_rows":[6,1,32,36,8,48,64,128,256],"offset":32,"phase":3,"quadratic_rows":[0,36,38,0,0,6,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1036,"old":783,"rank":1,"right":{"linear_Z4":[0,2,3,0,0,2,0,0,0],"matrix_rows":[36,1,6,32,40,16,64,128,256],"offset":21,"phase":3,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,18,34,2,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":1,"old":784,"rank":2,"right":{"linear_Z4":[0,2,0,0,2,0,0,0,2],"matrix_rows":[257,2,256,16,20,24,32,64,384],"offset":13,"phase":3,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":830,"old":784,"rank":1,"right":{"linear_Z4":[0,2,0,0,2,0,0,0,0],"matrix_rows":[2,1,16,20,24,32,64,128,256],"offset":4,"phase":3,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":929,"old":784,"rank":1,"right":{"linear_Z4":[2,3,0,0,2,0,0,0,0],"matrix_rows":[2,3,16,20,24,32,64,128,256],"offset":6,"phase":2,"quadratic_rows":[2,19,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1036,"old":784,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,8,16,32,64,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":831,"old":785,"rank":1,"right":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[2,1,16,20,24,32,64,128,256],"offset":8,"phase":3,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":928,"old":785,"rank":1,"right":{"linear_Z4":[2,1,0,0,2,0,0,0,0],"matrix_rows":[2,3,16,20,24,32,64,128,256],"offset":10,"phase":2,"quadratic_rows":[2,19,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1036,"old":785,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,264,272,288,320,384],"offset":51,"phase":2,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,18,33,2,64,3,128,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":786,"rank":2,"right":{"linear_Z4":[0,2,0,0,0,0,1,0,0],"matrix_rows":[66,68,1,80,16,88,32,128,256],"offset":51,"phase":0,"quadratic_rows":[0,16,80,0,6,0,68,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":833,"old":786,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,0,0],"matrix_rows":[6,1,66,64,8,80,32,128,256],"offset":32,"phase":3,"quadratic_rows":[0,70,66,0,0,0,6,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":934,"old":786,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,2,0,0],"matrix_rows":[6,1,64,68,72,16,32,128,256],"offset":16,"phase":3,"quadratic_rows":[0,68,70,0,0,0,6,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1036,"old":786,"rank":1,"right":{"linear_Z4":[0,2,3,0,0,0,2,0,0],"matrix_rows":[68,1,6,64,8,80,32,128,256],"offset":37,"phase":3,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,18,34,2,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":1,"old":787,"rank":2,"right":{"linear_Z4":[0,2,0,0,2,0,0,0,2],"matrix_rows":[257,2,256,16,20,24,32,320,128],"offset":13,"phase":3,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":836,"old":787,"rank":1,"right":{"linear_Z4":[0,2,0,0,2,0,0,0,0],"matrix_rows":[2,1,16,20,24,32,64,128,256],"offset":4,"phase":3,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":947,"old":787,"rank":1,"right":{"linear_Z4":[2,3,0,0,2,0,0,0,0],"matrix_rows":[2,3,16,20,24,32,64,128,256],"offset":6,"phase":2,"quadratic_rows":[2,19,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,18,34,2,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":1,"old":788,"rank":2,"right":{"linear_Z4":[0,2,0,0,2,0,0,2,0],"matrix_rows":[129,2,128,16,20,24,32,192,256],"offset":13,"phase":3,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":834,"old":788,"rank":1,"right":{"linear_Z4":[2,3,0,0,2,0,0,0,0],"matrix_rows":[2,3,16,20,24,32,64,128,256],"offset":6,"phase":2,"quadratic_rows":[2,19,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":941,"old":788,"rank":1,"right":{"linear_Z4":[0,2,0,0,2,0,0,0,0],"matrix_rows":[2,1,16,20,24,32,64,128,256],"offset":4,"phase":3,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1036,"old":788,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,2,4,8,16,32,192,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,18,33,2,64,128,3,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":789,"rank":2,"right":{"linear_Z4":[0,2,0,0,0,0,0,1,0],"matrix_rows":[130,132,1,144,16,152,32,64,256],"offset":51,"phase":0,"quadratic_rows":[0,16,144,0,6,0,0,132,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":835,"old":789,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,0],"matrix_rows":[6,1,130,128,8,144,32,64,256],"offset":32,"phase":3,"quadratic_rows":[0,134,130,0,0,0,0,6,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":940,"old":789,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,2,0],"matrix_rows":[6,1,128,132,136,16,32,64,256],"offset":16,"phase":3,"quadratic_rows":[0,132,134,0,0,0,0,6,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1036,"old":789,"rank":1,"right":{"linear_Z4":[0,2,3,0,0,0,0,2,0],"matrix_rows":[132,1,6,128,8,144,32,64,256],"offset":37,"phase":3,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,18,33,2,64,128,256,3],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":790,"rank":2,"right":{"linear_Z4":[0,2,0,0,0,0,0,0,1],"matrix_rows":[258,260,1,272,16,280,32,64,128],"offset":51,"phase":0,"quadratic_rows":[0,16,272,0,6,0,0,0,260]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":837,"old":790,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,0,2],"matrix_rows":[6,1,256,260,264,16,32,64,128],"offset":16,"phase":3,"quadratic_rows":[0,260,262,0,0,0,0,0,6]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":946,"old":790,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[6,1,258,256,8,272,32,64,128],"offset":32,"phase":3,"quadratic_rows":[0,262,258,0,0,0,0,0,6]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1036,"old":790,"rank":1,"right":{"linear_Z4":[0,2,3,0,0,0,0,0,2],"matrix_rows":[260,1,6,256,8,272,32,64,128],"offset":37,"phase":3,"quadratic_rows":[0,4,6,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,19,34,3,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,2,0,0,0,0,0,0,0]},"new":1,"old":791,"rank":2,"right":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[257,2,256,272,20,280,288,320,384],"offset":37,"phase":3,"quadratic_rows":[0,272,0,0,2,0,0,0,2]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":840,"old":791,"rank":1,"right":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[2,1,16,20,24,32,64,128,256],"offset":16,"phase":3,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":959,"old":791,"rank":1,"right":{"linear_Z4":[2,1,0,0,2,0,0,0,0],"matrix_rows":[2,3,16,20,24,32,64,128,256],"offset":18,"phase":2,"quadratic_rows":[2,19,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1036,"old":791,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,260,8,272,288,320,384],"offset":43,"phase":2,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,34,2,64,3,128,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":792,"rank":2,"right":{"linear_Z4":[0,2,0,0,0,0,1,0,0],"matrix_rows":[66,72,1,80,84,16,32,128,256],"offset":51,"phase":0,"quadratic_rows":[0,16,0,80,10,0,72,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":838,"old":792,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,2,0,0],"matrix_rows":[10,1,66,4,64,80,32,128,256],"offset":32,"phase":3,"quadratic_rows":[0,74,0,66,0,0,10,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":953,"old":792,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,2,0,0],"matrix_rows":[10,1,64,68,72,16,32,128,256],"offset":8,"phase":3,"quadratic_rows":[0,72,0,74,0,0,10,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1036,"old":792,"rank":1,"right":{"linear_Z4":[0,2,0,3,0,0,2,0,0],"matrix_rows":[72,1,10,4,64,80,32,128,256],"offset":37,"phase":3,"quadratic_rows":[0,8,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":839,"old":793,"rank":1,"right":{"linear_Z4":[2,3,0,0,2,0,0,0,0],"matrix_rows":[2,3,16,20,24,32,64,128,256],"offset":30,"phase":0,"quadratic_rows":[2,19,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":952,"old":793,"rank":1,"right":{"linear_Z4":[0,2,0,0,2,0,0,0,0],"matrix_rows":[2,1,16,20,24,32,64,128,256],"offset":28,"phase":1,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1036,"old":793,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[9,8,2,12,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,33,1,66,128,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":794,"rank":2,"right":{"linear_Z4":[0,2,0,0,2,0,0,0,2],"matrix_rows":[2,288,1,16,20,24,256,64,384],"offset":74,"phase":3,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":841,"old":794,"rank":1,"right":{"linear_Z4":[0,2,0,0,2,0,0,0,0],"matrix_rows":[2,1,16,20,24,32,64,128,256],"offset":4,"phase":3,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":958,"old":794,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,2,0,0,0],"matrix_rows":[2,1,290,4,8,16,256,64,384],"offset":69,"phase":3,"quadratic_rows":[0,290,0,0,0,2,0,0,2]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1036,"old":794,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[288,1,2,4,8,16,256,64,384],"offset":65,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,34,2,64,128,3,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":795,"rank":2,"right":{"linear_Z4":[0,2,0,0,0,0,0,1,0],"matrix_rows":[130,136,1,144,148,16,32,64,256],"offset":51,"phase":0,"quadratic_rows":[0,16,0,144,10,0,0,136,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":844,"old":795,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,0],"matrix_rows":[10,1,130,4,128,144,32,64,256],"offset":32,"phase":3,"quadratic_rows":[0,138,0,130,0,0,0,10,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":971,"old":795,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,0,2,0],"matrix_rows":[10,1,128,132,136,16,32,64,256],"offset":8,"phase":3,"quadratic_rows":[0,136,0,138,0,0,0,10,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,34,2,64,128,256,3],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":796,"rank":2,"right":{"linear_Z4":[0,2,0,0,0,0,0,0,1],"matrix_rows":[258,264,1,272,276,16,32,64,128],"offset":51,"phase":0,"quadratic_rows":[0,16,0,272,10,0,0,0,264]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":842,"old":796,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,0,0,2],"matrix_rows":[10,1,256,260,264,16,32,64,128],"offset":8,"phase":3,"quadratic_rows":[0,264,0,266,0,0,0,0,10]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":965,"old":796,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[10,1,258,4,256,272,32,64,128],"offset":32,"phase":3,"quadratic_rows":[0,266,0,258,0,0,0,0,10]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1036,"old":796,"rank":1,"right":{"linear_Z4":[0,2,0,3,0,0,0,0,2],"matrix_rows":[264,1,10,4,256,272,32,64,128],"offset":37,"phase":3,"quadratic_rows":[0,8,0,10,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,33,1,66,130,256,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":797,"rank":2,"right":{"linear_Z4":[0,2,0,0,2,0,0,0,2],"matrix_rows":[2,288,1,16,20,24,256,320,128],"offset":74,"phase":3,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":843,"old":797,"rank":1,"right":{"linear_Z4":[0,2,0,0,2,0,0,0,0],"matrix_rows":[2,1,16,20,24,32,64,128,256],"offset":4,"phase":3,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":964,"old":797,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,2,0,0,0],"matrix_rows":[2,1,290,4,8,16,256,320,128],"offset":69,"phase":3,"quadratic_rows":[0,290,0,0,0,2,0,0,2]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1036,"old":797,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[288,1,2,4,8,16,256,320,128],"offset":65,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,33,1,66,130,2,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":798,"rank":2,"right":{"linear_Z4":[0,2,0,0,2,0,0,2,0],"matrix_rows":[2,160,1,16,20,24,128,192,256],"offset":74,"phase":3,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":845,"old":798,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,2,0,0,0],"matrix_rows":[2,1,162,4,8,16,128,192,256],"offset":69,"phase":3,"quadratic_rows":[0,162,0,0,0,2,0,2,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":970,"old":798,"rank":1,"right":{"linear_Z4":[0,2,0,0,2,0,0,0,0],"matrix_rows":[2,1,16,20,24,32,64,128,256],"offset":4,"phase":3,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1036,"old":798,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[160,1,2,4,8,16,128,192,256],"offset":65,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,10,19,32,2,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":799,"rank":2,"right":{"linear_Z4":[2,2,0,0,3,3,0,0,0],"matrix_rows":[49,50,32,16,52,8,64,128,256],"offset":28,"phase":1,"quadratic_rows":[16,32,0,0,49,50,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":848,"old":799,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,2,0,0,0],"matrix_rows":[3,32,34,36,8,16,64,128,256],"offset":14,"phase":1,"quadratic_rows":[34,35,0,0,0,3,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":983,"old":799,"rank":1,"right":{"linear_Z4":[3,2,0,0,2,0,0,0,0],"matrix_rows":[3,17,16,20,8,32,64,128,256],"offset":14,"phase":1,"quadratic_rows":[19,17,0,0,3,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1035,"old":799,"rank":1,"right":{"linear_Z4":[2,3,0,0,2,0,0,0,0],"matrix_rows":[18,3,16,20,8,32,64,128,256],"offset":14,"phase":1,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,34,65,1,128,258,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":800,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,2],"matrix_rows":[1,264,32,34,4,256,48,64,384],"offset":38,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":846,"old":800,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,34,4,8,48,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":977,"old":800,"rank":1,"right":{"linear_Z4":[1,0,0,2,0,0,0,0,0],"matrix_rows":[1,265,2,4,256,16,32,64,384],"offset":19,"phase":3,"quadratic_rows":[265,0,0,1,0,0,0,0,1]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1035,"old":800,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[264,1,2,4,256,16,32,64,384],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":847,"old":801,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[3,257,256,260,264,16,288,320,384],"offset":64,"phase":3,"quadratic_rows":[259,257,0,0,0,0,0,0,3]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":976,"old":801,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[3,256,258,260,264,272,32,320,384],"offset":32,"phase":3,"quadratic_rows":[258,259,0,0,0,0,0,0,3]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1035,"old":801,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,0,0,2],"matrix_rows":[258,3,256,260,264,16,288,320,384],"offset":67,"phase":3,"quadratic_rows":[2,3,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":849,"old":802,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,2,0,0],"matrix_rows":[17,65,2,4,8,64,96,128,256],"offset":64,"phase":3,"quadratic_rows":[81,0,0,0,65,0,17,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":982,"old":802,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,2,0,0],"matrix_rows":[17,64,66,4,8,80,32,128,256],"offset":4,"phase":3,"quadratic_rows":[80,0,0,0,81,0,17,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1035,"old":802,"rank":1,"right":{"linear_Z4":[2,0,0,0,3,0,2,0,0],"matrix_rows":[80,17,2,4,8,64,96,128,256],"offset":67,"phase":3,"quadratic_rows":[16,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,34,65,1,130,256,2],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":803,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,2],"matrix_rows":[1,264,32,34,4,256,48,320,128],"offset":38,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":852,"old":803,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,34,4,8,48,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":995,"old":803,"rank":1,"right":{"linear_Z4":[1,0,0,2,0,0,0,0,0],"matrix_rows":[1,265,2,4,256,16,32,320,128],"offset":19,"phase":3,"quadratic_rows":[265,0,0,1,0,0,0,0,1]}},{"left":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,34,65,1,130,2,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":804,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,2,0,2,0],"matrix_rows":[1,136,32,34,4,128,48,192,256],"offset":38,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":850,"old":804,"rank":1,"right":{"linear_Z4":[1,0,0,2,0,0,0,0,0],"matrix_rows":[1,137,2,4,128,16,32,192,256],"offset":19,"phase":3,"quadratic_rows":[137,0,0,1,0,0,0,1,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":989,"old":804,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,34,4,8,48,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1035,"old":804,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[136,1,2,4,128,16,32,192,256],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,2,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,32,66,2,128,3,256],"offset":0,"phase":0,"quadratic_rows":[2,1,0,0,0,0,0,0,0]},"new":1,"old":805,"rank":2,"right":{"linear_Z4":[2,0,0,0,0,0,0,1,0],"matrix_rows":[129,144,160,162,4,8,32,64,256],"offset":75,"phase":0,"quadratic_rows":[32,0,0,0,160,17,0,144,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":851,"old":805,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,0],"matrix_rows":[17,129,2,4,8,128,160,64,256],"offset":64,"phase":3,"quadratic_rows":[145,0,0,0,129,0,0,17,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":988,"old":805,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,0,2,0],"matrix_rows":[17,128,130,4,8,144,32,64,256],"offset":4,"phase":3,"quadratic_rows":[144,0,0,0,145,0,0,17,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1035,"old":805,"rank":1,"right":{"linear_Z4":[2,0,0,0,3,0,0,2,0],"matrix_rows":[144,17,2,4,8,128,160,64,256],"offset":67,"phase":3,"quadratic_rows":[16,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":853,"old":806,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,0,0,2],"matrix_rows":[17,256,258,4,8,272,32,64,128],"offset":4,"phase":3,"quadratic_rows":[272,0,0,0,273,0,0,0,17]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":994,"old":806,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[17,257,2,4,8,256,288,64,128],"offset":64,"phase":3,"quadratic_rows":[273,0,0,0,257,0,0,0,17]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1035,"old":806,"rank":1,"right":{"linear_Z4":[2,0,0,0,3,0,0,0,2],"matrix_rows":[272,17,2,4,8,256,288,64,128],"offset":67,"phase":3,"quadratic_rows":[16,0,0,0,17,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":855,"old":807,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,0,2],"matrix_rows":[5,256,2,260,264,16,32,64,128],"offset":16,"phase":3,"quadratic_rows":[260,0,261,0,0,0,0,0,5]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1000,"old":807,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[5,257,2,256,8,16,288,64,128],"offset":64,"phase":3,"quadratic_rows":[261,0,257,0,0,0,0,0,5]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":807,"rank":1,"right":{"linear_Z4":[2,0,3,0,0,0,0,0,2],"matrix_rows":[260,5,2,256,8,16,288,64,128],"offset":67,"phase":3,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":859,"old":808,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,2,0,0],"matrix_rows":[5,64,2,68,72,16,32,128,256],"offset":16,"phase":3,"quadratic_rows":[68,0,69,0,0,0,5,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1012,"old":808,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,2,0,0],"matrix_rows":[5,65,2,64,8,16,96,128,256],"offset":64,"phase":3,"quadratic_rows":[69,0,65,0,0,0,5,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":808,"rank":1,"right":{"linear_Z4":[2,0,3,0,0,0,2,0,0],"matrix_rows":[68,5,2,64,8,16,96,128,256],"offset":67,"phase":3,"quadratic_rows":[4,0,5,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":863,"old":809,"rank":1,"right":{"linear_Z4":[1,2,0,0,0,0,0,0,0],"matrix_rows":[1,131,128,4,8,144,32,64,256],"offset":7,"phase":3,"quadratic_rows":[131,1,0,0,0,0,0,1,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1024,"old":809,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,2,36,40,16,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1034,"old":809,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[130,1,128,4,8,144,32,64,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":810,"rank":1,"right":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[17,16,2,20,8,32,64,128,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":811,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[34,1,32,36,8,16,64,128,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":812,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,260,264,272,32,320,384],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":813,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,260,264,16,288,320,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":814,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,2,132,8,16,32,64,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":815,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,2,132,136,144,160,192,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":816,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,260,8,16,32,64,128],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":817,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,260,264,272,288,320,128],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":818,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,260,8,272,288,320,384],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":819,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,260,264,272,288,64,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":820,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[65,64,2,68,8,16,32,128,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":821,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[10,1,8,12,16,32,64,128,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":822,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[66,1,64,4,8,16,96,128,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":823,"rank":1,"right":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[18,1,16,4,24,32,64,128,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":824,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,264,272,288,320,384],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":825,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,8,16,32,64,384],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":826,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,8,272,32,64,128],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":827,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,8,16,32,320,128],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":828,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[130,1,128,4,8,16,160,64,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":829,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,130,132,8,144,160,192,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":830,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,8,16,32,64,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":831,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,264,272,288,320,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":832,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[34,1,32,4,8,48,64,128,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":833,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[66,1,64,4,72,16,32,128,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":834,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,130,132,136,144,32,192,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":835,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[130,1,128,4,136,16,32,64,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":836,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,8,16,32,320,128],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":837,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,8,272,32,64,128],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":838,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[66,1,64,68,8,16,32,128,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":839,"rank":1,"right":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[17,16,18,4,8,32,64,128,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":840,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,260,8,272,288,320,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":841,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[288,1,2,4,8,16,256,64,384],"offset":65,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":842,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[264,1,2,4,256,272,32,64,128],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":843,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[288,1,2,4,8,16,256,320,128],"offset":65,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":844,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[130,1,128,132,8,16,32,64,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":845,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[130,1,128,132,136,144,160,192,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":846,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[264,1,2,4,256,16,32,64,384],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":847,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,260,264,272,32,320,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":848,"rank":1,"right":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[18,1,16,20,8,32,64,128,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":849,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[65,64,66,4,8,16,32,128,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":850,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,130,4,136,144,160,192,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":851,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,130,4,8,16,32,64,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":852,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[264,1,2,4,256,16,32,320,128],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":853,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[272,1,2,4,8,256,288,64,128],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":854,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,258,260,264,16,288,320,128],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":855,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,8,16,288,64,128],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":856,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,130,132,136,16,160,192,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":857,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[132,1,2,128,8,16,160,64,256],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":858,"rank":1,"right":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[20,1,2,16,24,32,64,128,256],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":859,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[68,1,2,64,8,16,96,128,256],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":860,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,258,260,264,16,288,64,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":861,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,258,260,8,272,32,320,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":862,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[132,1,2,128,136,16,32,64,256],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":863,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,130,132,136,144,160,64,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":864,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,258,260,264,272,288,64,128],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":865,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[260,1,2,256,264,16,32,64,128],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":810,"old":866,"rank":1,"right":{"linear_Z4":[3,2,0,0,0,2,0,0,0],"matrix_rows":[3,33,32,36,8,16,64,128,256],"offset":14,"phase":1,"quadratic_rows":[35,33,0,0,0,3,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":811,"old":866,"rank":1,"right":{"linear_Z4":[2,3,0,0,2,0,0,0,0],"matrix_rows":[3,16,18,20,8,32,64,128,256],"offset":14,"phase":1,"quadratic_rows":[18,19,0,0,3,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":868,"old":867,"rank":1,"right":{"linear_Z4":[3,0,0,2,0,0,0,0,0],"matrix_rows":[1,41,2,4,32,48,64,128,256],"offset":1,"phase":1,"quadratic_rows":[41,0,0,1,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":869,"old":867,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,34,4,8,48,64,128,256],"offset":4,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":868,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[9,8,10,4,16,32,64,128,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":869,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[40,1,2,4,32,48,64,128,256],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":811,"old":870,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,2,0,0,0],"matrix_rows":[10,1,34,4,32,48,64,128,256],"offset":32,"phase":3,"quadratic_rows":[0,42,0,34,0,10,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":869,"old":870,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,2,0,0,0],"matrix_rows":[10,1,32,36,40,16,64,128,256],"offset":8,"phase":3,"quadratic_rows":[0,40,0,42,0,10,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":810,"old":871,"rank":1,"right":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[2,1,16,20,24,32,64,128,256],"offset":16,"phase":3,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":868,"old":871,"rank":1,"right":{"linear_Z4":[2,1,0,0,2,0,0,0,0],"matrix_rows":[2,3,16,20,24,32,64,128,256],"offset":18,"phase":2,"quadratic_rows":[2,19,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,9,18,2,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":812,"old":872,"rank":2,"right":{"linear_Z4":[0,3,2,0,0,0,0,0,2],"matrix_rows":[7,4,256,262,8,16,288,320,384],"offset":90,"phase":2,"quadratic_rows":[262,259,265,4,0,0,0,0,7]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[6,10,17,1,34,64,130,258,2],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":813,"old":872,"rank":2,"right":{"linear_Z4":[3,0,2,0,0,0,0,0,2],"matrix_rows":[4,7,261,256,8,272,32,320,384],"offset":53,"phase":2,"quadratic_rows":[259,261,266,4,0,0,0,0,7]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,16,32,2,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":874,"old":873,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,32,16,4,8,64,128,256],"offset":15,"phase":0,"quadratic_rows":[32,16,0,0,2,1,0,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,11,16,32,3,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":875,"old":873,"rank":2,"right":{"linear_Z4":[1,3,0,0,0,0,0,0,2],"matrix_rows":[1,2,323,16,4,8,32,256,384],"offset":138,"phase":3,"quadratic_rows":[323,339,0,0,2,0,3,0,3]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":874,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[320,1,2,4,8,16,32,256,384],"offset":129,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":875,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,258,4,8,272,288,320,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[4,9,19,3,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":812,"old":876,"rank":2,"right":{"linear_Z4":[0,1,3,0,0,0,0,0,2],"matrix_rows":[2,4,1,326,8,16,32,256,384],"offset":146,"phase":3,"quadratic_rows":[0,326,334,4,0,0,6,0,6]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[4,9,18,2,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":874,"old":876,"rank":2,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,1,16,8,32,64,128,256],"offset":27,"phase":0,"quadratic_rows":[0,16,8,4,2,0,0,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[7,10,17,33,2,64,131,259,3],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":813,"old":877,"rank":2,"right":{"linear_Z4":[0,2,1,0,0,0,0,0,2],"matrix_rows":[1,7,261,16,272,280,32,320,384],"offset":44,"phase":1,"quadratic_rows":[258,21,22,0,6,0,0,0,1]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[7,9,18,34,1,64,131,259,3],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":875,"old":877,"rank":2,"right":{"linear_Z4":[0,3,0,0,0,0,0,0,2],"matrix_rows":[1,7,259,16,272,280,32,320,384],"offset":44,"phase":1,"quadratic_rows":[260,278,275,0,6,0,0,0,7]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":814,"old":878,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":16,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":815,"old":878,"rank":1,"right":{"linear_Z4":[2,0,0,3,0,0,2,0,0],"matrix_rows":[8,9,2,4,64,80,96,128,256],"offset":18,"phase":2,"quadratic_rows":[8,0,0,73,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":880,"old":879,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,0,2,0],"matrix_rows":[24,1,2,4,128,144,160,64,256],"offset":64,"phase":3,"quadratic_rows":[0,0,0,144,152,0,0,24,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":881,"old":879,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,0,2,0],"matrix_rows":[24,1,2,4,136,128,32,192,256],"offset":128,"phase":3,"quadratic_rows":[0,0,0,152,136,0,0,24,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":880,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[144,1,2,4,8,128,32,192,256],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":881,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[136,1,2,4,128,16,160,64,256],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":815,"old":882,"rank":1,"right":{"linear_Z4":[1,0,0,2,0,0,0,0,0],"matrix_rows":[1,137,2,4,128,16,160,64,256],"offset":19,"phase":3,"quadratic_rows":[137,0,0,1,0,0,0,1,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":881,"old":882,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,2,68,8,80,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":814,"old":883,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,0],"matrix_rows":[17,129,2,4,8,128,32,192,256],"offset":128,"phase":3,"quadratic_rows":[145,0,0,0,129,0,0,17,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":880,"old":883,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,0,2,0],"matrix_rows":[17,128,2,132,8,144,32,64,256],"offset":8,"phase":3,"quadratic_rows":[144,0,0,0,145,0,0,17,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":816,"old":884,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":16,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":817,"old":884,"rank":1,"right":{"linear_Z4":[2,0,0,3,0,0,2,0,0],"matrix_rows":[8,9,2,4,64,80,96,128,256],"offset":18,"phase":2,"quadratic_rows":[8,0,0,73,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":886,"old":885,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,0,0,2],"matrix_rows":[24,1,2,4,256,272,288,64,128],"offset":64,"phase":3,"quadratic_rows":[0,0,0,272,280,0,0,0,24]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":887,"old":885,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,0,0,2],"matrix_rows":[24,1,2,4,264,256,32,320,128],"offset":128,"phase":3,"quadratic_rows":[0,0,0,280,264,0,0,0,24]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":886,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[272,1,2,4,8,256,32,320,128],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":887,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[264,1,2,4,256,16,288,64,128],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":816,"old":888,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[17,257,2,4,8,256,32,320,128],"offset":128,"phase":3,"quadratic_rows":[273,0,0,0,257,0,0,0,17]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":886,"old":888,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,0,0,2],"matrix_rows":[17,256,2,260,8,272,32,64,128],"offset":8,"phase":3,"quadratic_rows":[272,0,0,0,273,0,0,0,17]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":817,"old":889,"rank":1,"right":{"linear_Z4":[1,0,0,2,0,0,0,0,0],"matrix_rows":[1,265,2,4,256,16,288,64,128],"offset":19,"phase":3,"quadratic_rows":[265,0,0,1,0,0,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":887,"old":889,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,2,68,8,80,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":818,"old":890,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[3,256,258,260,264,272,288,64,384],"offset":16,"phase":3,"quadratic_rows":[258,259,0,0,0,0,0,0,3]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":819,"old":890,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[3,257,256,260,8,272,288,320,384],"offset":128,"phase":3,"quadratic_rows":[259,257,0,0,0,0,0,0,3]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":892,"old":891,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,66,4,72,16,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":893,"old":891,"rank":1,"right":{"linear_Z4":[1,0,0,0,2,0,0,0,0],"matrix_rows":[1,273,2,4,8,256,32,64,384],"offset":35,"phase":3,"quadratic_rows":[273,0,0,0,1,0,0,0,1]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":892,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[272,1,2,4,8,256,32,64,384],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":893,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,258,4,264,272,32,320,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":819,"old":894,"rank":1,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,0],"matrix_rows":[2,1,64,68,8,16,96,128,256],"offset":76,"phase":1,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":893,"old":894,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,2,0,0],"matrix_rows":[2,3,64,68,8,16,96,128,256],"offset":78,"phase":0,"quadratic_rows":[2,67,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":818,"old":895,"rank":1,"right":{"linear_Z4":[0,1,0,0,2,0,0,0,0],"matrix_rows":[2,1,274,4,8,256,32,64,384],"offset":37,"phase":3,"quadratic_rows":[0,274,0,0,2,0,0,0,2]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":892,"old":895,"rank":1,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,0],"matrix_rows":[2,1,64,68,8,16,96,128,256],"offset":4,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":820,"old":896,"rank":1,"right":{"linear_Z4":[3,2,0,2,0,0,0,0,0],"matrix_rows":[3,9,8,12,16,32,64,128,256],"offset":14,"phase":1,"quadratic_rows":[11,9,0,3,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":821,"old":896,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,2,0,0],"matrix_rows":[3,64,66,68,8,16,32,128,256],"offset":14,"phase":1,"quadratic_rows":[66,67,0,0,0,0,3,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":898,"old":897,"rank":1,"right":{"linear_Z4":[3,0,0,2,0,0,2,0,0],"matrix_rows":[9,65,2,4,64,16,96,128,256],"offset":82,"phase":1,"quadratic_rows":[73,0,0,65,0,0,9,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":899,"old":897,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,2,0,0,0],"matrix_rows":[9,32,34,4,40,16,64,128,256],"offset":4,"phase":3,"quadratic_rows":[40,0,0,41,0,9,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":898,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[33,32,34,4,8,16,64,128,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":899,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[72,1,2,4,64,16,96,128,256],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":820,"old":900,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[2,1,64,68,8,16,96,128,256],"offset":64,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":898,"old":900,"rank":1,"right":{"linear_Z4":[2,1,0,0,0,0,2,0,0],"matrix_rows":[2,3,64,68,8,16,96,128,256],"offset":66,"phase":2,"quadratic_rows":[2,67,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":821,"old":901,"rank":1,"right":{"linear_Z4":[0,3,0,2,0,0,0,0,0],"matrix_rows":[2,1,74,4,64,16,96,128,256],"offset":1,"phase":1,"quadratic_rows":[0,74,0,2,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":899,"old":901,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[2,1,64,68,8,16,96,128,256],"offset":8,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":822,"old":902,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":32,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":823,"old":902,"rank":1,"right":{"linear_Z4":[0,2,0,1,0,0,2,0,0],"matrix_rows":[8,1,10,4,64,80,96,128,256],"offset":36,"phase":2,"quadratic_rows":[0,8,0,74,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":904,"old":903,"rank":1,"right":{"linear_Z4":[2,0,0,1,0,0,2,0,0],"matrix_rows":[8,9,2,4,64,80,96,128,256],"offset":66,"phase":2,"quadratic_rows":[8,0,0,73,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":905,"old":903,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":64,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":904,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[33,32,2,4,40,16,64,128,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":905,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[65,64,2,4,8,80,32,128,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":823,"old":906,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,2,0,0],"matrix_rows":[3,64,66,4,8,80,32,128,256],"offset":38,"phase":1,"quadratic_rows":[66,67,0,0,0,0,3,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":905,"old":906,"rank":1,"right":{"linear_Z4":[1,0,0,0,2,0,0,0,0],"matrix_rows":[3,17,16,4,24,32,64,128,256],"offset":16,"phase":3,"quadratic_rows":[19,17,0,0,3,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":822,"old":907,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,2,0,0,0],"matrix_rows":[3,32,34,4,40,16,64,128,256],"offset":16,"phase":3,"quadratic_rows":[34,35,0,0,0,3,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":904,"old":907,"rank":1,"right":{"linear_Z4":[3,2,0,0,0,0,2,0,0],"matrix_rows":[3,65,64,4,8,16,96,128,256],"offset":70,"phase":1,"quadratic_rows":[67,65,0,0,0,0,3,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":824,"old":908,"rank":1,"right":{"linear_Z4":[0,0,2,3,0,0,2,0,0],"matrix_rows":[8,1,2,12,64,80,96,128,256],"offset":24,"phase":2,"quadratic_rows":[0,0,8,76,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":825,"old":908,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":16,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":910,"old":909,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":112,"phase":1,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":911,"old":909,"rank":1,"right":{"linear_Z4":[2,0,0,3,0,0,2,0,0],"matrix_rows":[8,9,2,4,64,80,96,128,256],"offset":114,"phase":0,"quadratic_rows":[8,0,0,73,0,0,8,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":910,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,258,260,8,272,288,64,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,64,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":911,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,258,260,264,16,32,320,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":824,"old":912,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,66,4,72,16,32,128,256],"offset":4,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":910,"old":912,"rank":1,"right":{"linear_Z4":[1,0,2,0,0,0,0,0,0],"matrix_rows":[1,261,2,256,264,272,288,320,384],"offset":155,"phase":1,"quadratic_rows":[261,0,1,0,0,0,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":825,"old":913,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,66,4,72,16,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":911,"old":913,"rank":1,"right":{"linear_Z4":[1,0,2,0,0,0,0,0,0],"matrix_rows":[1,261,2,256,8,16,32,64,384],"offset":11,"phase":3,"quadratic_rows":[261,0,1,0,0,0,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":826,"old":914,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[5,257,2,256,8,16,32,320,128],"offset":128,"phase":3,"quadratic_rows":[261,0,257,0,0,0,0,0,5]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":827,"old":914,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,0,2],"matrix_rows":[5,256,2,260,8,272,32,64,128],"offset":32,"phase":3,"quadratic_rows":[260,0,261,0,0,0,0,0,5]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":916,"old":915,"rank":1,"right":{"linear_Z4":[1,2,0,0,0,0,0,0,0],"matrix_rows":[1,259,256,4,8,16,288,64,128],"offset":7,"phase":3,"quadratic_rows":[259,1,0,0,0,0,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":917,"old":915,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,2,68,8,80,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":916,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,258,260,8,272,288,320,128],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":917,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,8,16,288,64,128],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":827,"old":918,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,0,2],"matrix_rows":[6,1,256,260,8,16,288,64,128],"offset":64,"phase":3,"quadratic_rows":[0,260,262,0,0,0,0,0,6]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":917,"old":918,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[6,1,258,256,8,16,32,320,128],"offset":128,"phase":3,"quadratic_rows":[0,262,258,0,0,0,0,0,6]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":826,"old":919,"rank":1,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,0],"matrix_rows":[2,1,64,68,8,16,96,128,256],"offset":4,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":916,"old":919,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,2,0,0],"matrix_rows":[2,3,64,68,8,16,96,128,256],"offset":6,"phase":2,"quadratic_rows":[2,67,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":828,"old":920,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,2,68,8,80,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":829,"old":920,"rank":1,"right":{"linear_Z4":[1,2,0,0,0,0,0,0,0],"matrix_rows":[1,131,128,4,8,16,160,64,256],"offset":7,"phase":3,"quadratic_rows":[131,1,0,0,0,0,0,1,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":922,"old":921,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,2,0],"matrix_rows":[5,128,2,132,8,144,32,64,256],"offset":32,"phase":3,"quadratic_rows":[132,0,133,0,0,0,0,5,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":923,"old":921,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,0],"matrix_rows":[5,129,2,128,8,16,32,192,256],"offset":128,"phase":3,"quadratic_rows":[133,0,129,0,0,0,0,5,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":922,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[132,1,2,128,8,16,32,192,256],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":923,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,2,4,8,144,32,64,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":828,"old":924,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,0],"matrix_rows":[6,1,130,128,8,16,32,192,256],"offset":128,"phase":3,"quadratic_rows":[0,134,130,0,0,0,0,6,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":922,"old":924,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,2,0],"matrix_rows":[6,1,128,132,8,16,160,64,256],"offset":64,"phase":3,"quadratic_rows":[0,132,134,0,0,0,0,6,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":829,"old":925,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,2,0,0],"matrix_rows":[2,3,64,68,8,16,96,128,256],"offset":6,"phase":2,"quadratic_rows":[2,67,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":923,"old":925,"rank":1,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,0],"matrix_rows":[2,1,64,68,8,16,96,128,256],"offset":4,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":830,"old":926,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":16,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":831,"old":926,"rank":1,"right":{"linear_Z4":[2,0,0,3,0,0,2,0,0],"matrix_rows":[8,9,2,4,64,80,96,128,256],"offset":18,"phase":2,"quadratic_rows":[8,0,0,73,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":928,"old":927,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":32,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":929,"old":927,"rank":1,"right":{"linear_Z4":[2,0,0,1,0,0,2,0,0],"matrix_rows":[8,9,2,4,64,80,96,128,256],"offset":34,"phase":2,"quadratic_rows":[8,0,0,73,0,0,8,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":928,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,258,260,8,16,288,320,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":929,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,258,260,264,272,32,64,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":831,"old":930,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[2,1,64,68,8,16,96,128,256],"offset":8,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":929,"old":930,"rank":1,"right":{"linear_Z4":[2,1,0,0,0,0,2,0,0],"matrix_rows":[2,3,64,68,8,16,96,128,256],"offset":10,"phase":2,"quadratic_rows":[2,67,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":830,"old":931,"rank":1,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,0],"matrix_rows":[2,1,64,68,8,16,96,128,256],"offset":4,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":928,"old":931,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,2,0,0],"matrix_rows":[2,3,64,68,8,16,96,128,256],"offset":6,"phase":2,"quadratic_rows":[2,67,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":832,"old":932,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":112,"phase":1,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":833,"old":932,"rank":1,"right":{"linear_Z4":[0,2,0,3,0,0,2,0,0],"matrix_rows":[8,1,10,4,64,80,96,128,256],"offset":116,"phase":0,"quadratic_rows":[0,8,0,74,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":934,"old":933,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":64,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":935,"old":933,"rank":1,"right":{"linear_Z4":[0,0,2,1,0,0,2,0,0],"matrix_rows":[8,1,2,12,64,80,96,128,256],"offset":72,"phase":2,"quadratic_rows":[0,0,8,76,0,0,8,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":934,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[68,1,2,64,8,80,32,128,256],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":935,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[36,1,2,32,40,16,64,128,256],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":832,"old":936,"rank":1,"right":{"linear_Z4":[0,3,2,0,0,0,2,0,0],"matrix_rows":[6,1,66,64,8,80,32,128,256],"offset":44,"phase":1,"quadratic_rows":[0,70,66,0,0,0,6,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":934,"old":936,"rank":1,"right":{"linear_Z4":[0,2,3,0,0,2,0,0,0],"matrix_rows":[6,1,32,36,8,48,64,128,256],"offset":44,"phase":1,"quadratic_rows":[0,36,38,0,0,6,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":833,"old":937,"rank":1,"right":{"linear_Z4":[0,3,2,0,0,2,0,0,0],"matrix_rows":[6,1,34,32,40,16,64,128,256],"offset":28,"phase":1,"quadratic_rows":[0,38,34,0,0,6,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":935,"old":937,"rank":1,"right":{"linear_Z4":[0,2,3,0,0,0,2,0,0],"matrix_rows":[6,1,64,68,72,16,32,128,256],"offset":28,"phase":1,"quadratic_rows":[0,68,70,0,0,0,6,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":834,"old":938,"rank":1,"right":{"linear_Z4":[1,2,0,0,0,0,0,0,0],"matrix_rows":[1,131,128,4,136,16,32,64,256],"offset":7,"phase":3,"quadratic_rows":[131,1,0,0,0,0,0,1,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":835,"old":938,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,2,68,8,80,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":940,"old":939,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,2,0],"matrix_rows":[5,128,2,132,8,16,32,192,256],"offset":128,"phase":3,"quadratic_rows":[132,0,133,0,0,0,0,5,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":941,"old":939,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,0],"matrix_rows":[5,129,2,128,8,144,32,64,256],"offset":32,"phase":3,"quadratic_rows":[133,0,129,0,0,0,0,5,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":940,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[132,1,2,128,8,144,32,64,256],"offset":9,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":941,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,2,4,8,16,32,192,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":835,"old":942,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,0],"matrix_rows":[3,128,130,4,8,16,32,192,256],"offset":128,"phase":3,"quadratic_rows":[130,131,0,0,0,0,0,3,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":941,"old":942,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,0],"matrix_rows":[3,129,128,4,136,16,32,64,256],"offset":16,"phase":3,"quadratic_rows":[131,129,0,0,0,0,0,3,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":834,"old":943,"rank":1,"right":{"linear_Z4":[1,0,2,0,0,0,0,0,0],"matrix_rows":[1,133,2,128,8,144,32,64,256],"offset":11,"phase":3,"quadratic_rows":[133,0,1,0,0,0,0,1,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":940,"old":943,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,66,4,72,16,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":836,"old":944,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[5,257,2,256,8,272,32,64,128],"offset":32,"phase":3,"quadratic_rows":[261,0,257,0,0,0,0,0,5]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":837,"old":944,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,0,2],"matrix_rows":[5,256,2,260,8,16,32,320,128],"offset":128,"phase":3,"quadratic_rows":[260,0,261,0,0,0,0,0,5]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":946,"old":945,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,2,68,8,80,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":947,"old":945,"rank":1,"right":{"linear_Z4":[1,2,0,0,0,0,0,0,0],"matrix_rows":[1,259,256,4,264,16,32,64,128],"offset":7,"phase":3,"quadratic_rows":[259,1,0,0,0,0,0,0,1]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":946,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,264,16,32,64,128],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":947,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,258,260,264,272,32,320,128],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":836,"old":948,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[3,257,256,4,264,16,32,64,128],"offset":16,"phase":3,"quadratic_rows":[259,257,0,0,0,0,0,0,3]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":946,"old":948,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[3,256,258,4,8,16,32,320,128],"offset":128,"phase":3,"quadratic_rows":[258,259,0,0,0,0,0,0,3]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":837,"old":949,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,66,4,72,16,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":947,"old":949,"rank":1,"right":{"linear_Z4":[1,0,2,0,0,0,0,0,0],"matrix_rows":[1,261,2,256,8,272,32,64,128],"offset":11,"phase":3,"quadratic_rows":[261,0,1,0,0,0,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":838,"old":950,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,2,68,8,80,32,128,256],"offset":32,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":839,"old":950,"rank":1,"right":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[1,67,64,68,8,16,32,128,256],"offset":1,"phase":1,"quadratic_rows":[67,1,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":952,"old":951,"rank":1,"right":{"linear_Z4":[3,0,0,2,0,0,0,0,0],"matrix_rows":[1,73,2,4,64,80,32,128,256],"offset":1,"phase":1,"quadratic_rows":[73,0,0,1,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":953,"old":951,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,2,68,8,80,32,128,256],"offset":8,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":952,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[9,8,2,12,16,32,64,128,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":953,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[72,1,2,4,64,80,32,128,256],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":839,"old":954,"rank":1,"right":{"linear_Z4":[3,0,0,2,0,0,2,0,0],"matrix_rows":[9,65,2,4,64,80,32,128,256],"offset":50,"phase":1,"quadratic_rows":[73,0,0,65,0,0,9,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":953,"old":954,"rank":1,"right":{"linear_Z4":[0,0,0,1,2,0,0,0,0],"matrix_rows":[9,16,18,4,24,32,64,128,256],"offset":4,"phase":3,"quadratic_rows":[24,0,0,25,9,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,1,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":838,"old":955,"rank":1,"right":{"linear_Z4":[2,3,0,2,0,0,0,0,0],"matrix_rows":[3,8,10,12,16,32,64,128,256],"offset":14,"phase":1,"quadratic_rows":[10,11,0,3,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":952,"old":955,"rank":1,"right":{"linear_Z4":[3,2,0,0,0,0,2,0,0],"matrix_rows":[3,65,64,68,8,16,32,128,256],"offset":14,"phase":1,"quadratic_rows":[67,65,0,0,0,0,3,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":840,"old":956,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,2,0,0,0],"matrix_rows":[1,289,2,4,8,16,256,64,384],"offset":67,"phase":3,"quadratic_rows":[289,0,0,0,0,1,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":841,"old":956,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,2,68,8,80,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":958,"old":957,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,2,68,8,80,32,128,256],"offset":42,"phase":1,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":959,"old":957,"rank":1,"right":{"linear_Z4":[1,2,0,0,0,0,0,0,0],"matrix_rows":[1,259,256,260,264,272,288,64,384],"offset":47,"phase":1,"quadratic_rows":[259,1,0,0,0,0,0,0,1]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":958,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,260,264,272,288,64,384],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":959,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,258,4,264,16,288,320,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":840,"old":960,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[3,257,256,260,264,272,288,64,384],"offset":16,"phase":3,"quadratic_rows":[259,257,0,0,0,0,0,0,3]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":958,"old":960,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[3,256,258,260,8,272,288,320,384],"offset":128,"phase":3,"quadratic_rows":[258,259,0,0,0,0,0,0,3]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":841,"old":961,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,66,4,72,16,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":959,"old":961,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,2,0,0,0],"matrix_rows":[1,289,2,4,8,16,256,64,384],"offset":67,"phase":3,"quadratic_rows":[289,0,0,0,0,1,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":842,"old":962,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,0,0,2],"matrix_rows":[40,1,2,4,264,16,256,320,128],"offset":128,"phase":3,"quadratic_rows":[0,0,0,296,0,264,0,0,40]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":843,"old":962,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,1,0,0,2],"matrix_rows":[40,1,2,4,256,272,288,64,128],"offset":32,"phase":3,"quadratic_rows":[0,0,0,288,0,296,0,0,40]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":964,"old":963,"rank":1,"right":{"linear_Z4":[0,2,0,3,0,0,2,0,0],"matrix_rows":[8,1,10,4,64,80,96,128,256],"offset":20,"phase":2,"quadratic_rows":[0,8,0,74,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":965,"old":963,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":16,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":964,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,260,264,272,288,320,128],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":965,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,260,8,16,32,64,128],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":843,"old":966,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,1,0,0,2],"matrix_rows":[34,1,256,260,8,16,288,64,128],"offset":8,"phase":3,"quadratic_rows":[0,288,0,0,0,290,0,0,34]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":965,"old":966,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[34,1,258,4,8,16,256,320,128],"offset":128,"phase":3,"quadratic_rows":[0,290,0,0,0,258,0,0,34]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":842,"old":967,"rank":1,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,0],"matrix_rows":[2,1,64,68,8,16,96,128,256],"offset":4,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":964,"old":967,"rank":1,"right":{"linear_Z4":[0,1,0,2,0,0,0,0,0],"matrix_rows":[2,1,266,4,256,272,32,64,128],"offset":21,"phase":3,"quadratic_rows":[0,266,0,2,0,0,0,0,2]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":844,"old":968,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":16,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":845,"old":968,"rank":1,"right":{"linear_Z4":[0,2,0,3,0,0,2,0,0],"matrix_rows":[8,1,10,4,64,80,96,128,256],"offset":20,"phase":2,"quadratic_rows":[0,8,0,74,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":970,"old":969,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,1,0,2,0],"matrix_rows":[40,1,2,4,128,144,160,64,256],"offset":32,"phase":3,"quadratic_rows":[0,0,0,160,0,168,0,40,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":971,"old":969,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,0,2,0],"matrix_rows":[40,1,2,4,136,16,128,192,256],"offset":128,"phase":3,"quadratic_rows":[0,0,0,168,0,136,0,40,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":970,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[160,1,2,4,8,16,128,192,256],"offset":65,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":971,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[136,1,2,4,128,144,32,64,256],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,65,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":844,"old":972,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,0],"matrix_rows":[34,1,130,4,8,16,128,192,256],"offset":128,"phase":3,"quadratic_rows":[0,162,0,0,0,130,0,34,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":970,"old":972,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,1,0,2,0],"matrix_rows":[34,1,128,132,8,16,160,64,256],"offset":8,"phase":3,"quadratic_rows":[0,160,0,0,0,162,0,34,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":845,"old":973,"rank":1,"right":{"linear_Z4":[0,1,0,2,0,0,0,0,0],"matrix_rows":[2,1,138,4,128,144,32,64,256],"offset":21,"phase":3,"quadratic_rows":[0,138,0,2,0,0,0,2,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":971,"old":973,"rank":1,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,0],"matrix_rows":[2,1,64,68,8,16,96,128,256],"offset":4,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":846,"old":974,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,2,68,8,80,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":847,"old":974,"rank":1,"right":{"linear_Z4":[1,0,0,2,0,0,0,0,0],"matrix_rows":[1,265,2,4,256,16,32,64,384],"offset":19,"phase":3,"quadratic_rows":[265,0,0,1,0,0,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":976,"old":975,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,2,68,8,80,32,128,256],"offset":32,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":977,"old":975,"rank":1,"right":{"linear_Z4":[1,2,0,0,0,0,0,0,0],"matrix_rows":[1,259,256,260,264,16,288,320,384],"offset":143,"phase":1,"quadratic_rows":[259,1,0,0,0,0,0,0,1]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":976,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,260,264,16,288,320,384],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":977,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,258,4,264,272,288,64,384],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":847,"old":978,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[2,1,64,68,8,16,96,128,256],"offset":64,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":977,"old":978,"rank":1,"right":{"linear_Z4":[2,1,0,0,0,0,2,0,0],"matrix_rows":[2,3,64,68,8,16,96,128,256],"offset":66,"phase":2,"quadratic_rows":[2,67,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":846,"old":979,"rank":1,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,0],"matrix_rows":[2,1,64,68,8,16,96,128,256],"offset":4,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":976,"old":979,"rank":1,"right":{"linear_Z4":[0,1,0,2,0,0,0,0,0],"matrix_rows":[2,1,266,4,256,16,32,64,384],"offset":21,"phase":3,"quadratic_rows":[0,266,0,2,0,0,0,0,2]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":848,"old":980,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,2,68,8,80,32,128,256],"offset":42,"phase":1,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,9,16,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":849,"old":980,"rank":1,"right":{"linear_Z4":[3,2,0,0,0,0,0,0,0],"matrix_rows":[1,19,16,20,8,32,64,128,256],"offset":1,"phase":1,"quadratic_rows":[19,1,0,0,1,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":982,"old":981,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,2,0,0,0],"matrix_rows":[17,32,2,36,8,48,64,128,256],"offset":8,"phase":3,"quadratic_rows":[48,0,0,0,49,17,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":983,"old":981,"rank":1,"right":{"linear_Z4":[3,0,0,0,2,0,2,0,0],"matrix_rows":[17,65,2,4,8,64,96,128,256],"offset":98,"phase":1,"quadratic_rows":[81,0,0,0,65,0,17,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":982,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[80,1,2,4,8,64,96,128,256],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":983,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[33,32,2,36,8,16,64,128,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":848,"old":984,"rank":1,"right":{"linear_Z4":[0,3,0,0,2,0,0,0,0],"matrix_rows":[2,1,82,4,8,64,96,128,256],"offset":1,"phase":1,"quadratic_rows":[0,82,0,0,2,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":982,"old":984,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[2,1,64,68,8,16,96,128,256],"offset":8,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":849,"old":985,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,2,0,0],"matrix_rows":[2,3,64,68,8,16,96,128,256],"offset":78,"phase":0,"quadratic_rows":[2,67,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":983,"old":985,"rank":1,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,0],"matrix_rows":[2,1,64,68,8,16,96,128,256],"offset":76,"phase":1,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":850,"old":986,"rank":1,"right":{"linear_Z4":[2,0,0,3,0,0,2,0,0],"matrix_rows":[8,9,2,4,64,80,96,128,256],"offset":18,"phase":2,"quadratic_rows":[8,0,0,73,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":851,"old":986,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":16,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":988,"old":987,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,0,2,0],"matrix_rows":[24,1,2,4,128,144,32,192,256],"offset":128,"phase":3,"quadratic_rows":[0,0,0,144,152,0,0,24,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":989,"old":987,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,0,2,0],"matrix_rows":[24,1,2,4,136,128,160,64,256],"offset":64,"phase":3,"quadratic_rows":[0,0,0,152,136,0,0,24,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,16,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":988,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[144,1,2,4,8,128,160,64,256],"offset":33,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":989,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[136,1,2,4,128,16,32,192,256],"offset":17,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":851,"old":990,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,0],"matrix_rows":[9,129,2,4,128,16,32,192,256],"offset":128,"phase":3,"quadratic_rows":[137,0,0,129,0,0,0,9,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":989,"old":990,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,0,2,0],"matrix_rows":[9,128,130,4,136,16,32,64,256],"offset":4,"phase":3,"quadratic_rows":[136,0,0,137,0,0,0,9,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":850,"old":991,"rank":1,"right":{"linear_Z4":[1,0,0,0,2,0,0,0,0],"matrix_rows":[1,145,2,4,8,128,160,64,256],"offset":35,"phase":3,"quadratic_rows":[145,0,0,0,1,0,0,1,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":988,"old":991,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,66,4,72,16,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":852,"old":992,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,0,0,2],"matrix_rows":[24,1,2,4,264,256,288,64,128],"offset":64,"phase":3,"quadratic_rows":[0,0,0,280,264,0,0,0,24]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":853,"old":992,"rank":1,"right":{"linear_Z4":[0,0,0,0,1,0,0,0,2],"matrix_rows":[24,1,2,4,256,272,32,320,128],"offset":128,"phase":3,"quadratic_rows":[0,0,0,272,280,0,0,0,24]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":994,"old":993,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":16,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":995,"old":993,"rank":1,"right":{"linear_Z4":[2,0,0,3,0,0,2,0,0],"matrix_rows":[8,9,2,4,64,80,96,128,256],"offset":18,"phase":2,"quadratic_rows":[8,0,0,73,0,0,8,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":994,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,258,4,8,16,32,64,128],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":995,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,258,4,264,272,288,320,128],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":852,"old":996,"rank":1,"right":{"linear_Z4":[0,0,0,1,0,0,0,0,2],"matrix_rows":[9,256,258,4,264,16,32,64,128],"offset":4,"phase":3,"quadratic_rows":[264,0,0,265,0,0,0,0,9]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":994,"old":996,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[9,257,2,4,256,16,32,320,128],"offset":128,"phase":3,"quadratic_rows":[265,0,0,257,0,0,0,0,9]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":853,"old":997,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,66,4,72,16,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":995,"old":997,"rank":1,"right":{"linear_Z4":[1,0,0,0,2,0,0,0,0],"matrix_rows":[1,273,2,4,8,256,288,64,128],"offset":35,"phase":3,"quadratic_rows":[273,0,0,0,1,0,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":854,"old":998,"rank":1,"right":{"linear_Z4":[1,0,2,0,0,0,0,0,0],"matrix_rows":[1,261,2,256,8,16,288,64,128],"offset":11,"phase":3,"quadratic_rows":[261,0,1,0,0,0,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":855,"old":998,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,66,4,72,16,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1000,"old":999,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[3,257,256,4,8,16,32,320,128],"offset":128,"phase":3,"quadratic_rows":[259,257,0,0,0,0,0,0,3]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1001,"old":999,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[3,256,258,4,264,16,32,64,128],"offset":16,"phase":3,"quadratic_rows":[258,259,0,0,0,0,0,0,3]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":1000,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,264,16,32,64,128],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":1001,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,8,16,32,320,128],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,129,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":855,"old":1002,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,0,2],"matrix_rows":[6,1,256,260,8,16,32,320,128],"offset":128,"phase":3,"quadratic_rows":[0,260,262,0,0,0,0,0,6]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1001,"old":1002,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[6,1,258,256,8,16,288,64,128],"offset":64,"phase":3,"quadratic_rows":[0,262,258,0,0,0,0,0,6]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":854,"old":1003,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,2,0,0],"matrix_rows":[2,3,64,68,8,16,96,128,256],"offset":6,"phase":2,"quadratic_rows":[2,67,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1000,"old":1003,"rank":1,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,0],"matrix_rows":[2,1,64,68,8,16,96,128,256],"offset":4,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":856,"old":1004,"rank":1,"right":{"linear_Z4":[1,0,2,0,0,0,0,0,0],"matrix_rows":[1,133,2,128,8,16,160,64,256],"offset":11,"phase":3,"quadratic_rows":[133,0,1,0,0,0,0,1,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":857,"old":1004,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,66,4,72,16,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1006,"old":1005,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,0],"matrix_rows":[3,129,128,4,8,16,32,192,256],"offset":128,"phase":3,"quadratic_rows":[131,129,0,0,0,0,0,3,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1007,"old":1005,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,0],"matrix_rows":[3,128,130,4,136,16,32,64,256],"offset":16,"phase":3,"quadratic_rows":[130,131,0,0,0,0,0,3,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":1006,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,2,4,136,16,32,64,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":1007,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[130,1,128,4,8,16,32,192,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":856,"old":1008,"rank":1,"right":{"linear_Z4":[2,3,0,0,0,0,2,0,0],"matrix_rows":[2,3,64,68,8,16,96,128,256],"offset":6,"phase":2,"quadratic_rows":[2,67,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1006,"old":1008,"rank":1,"right":{"linear_Z4":[0,2,0,0,0,0,2,0,0],"matrix_rows":[2,1,64,68,8,16,96,128,256],"offset":4,"phase":3,"quadratic_rows":[0,64,0,0,0,0,2,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,64,129,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":857,"old":1009,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,2,0],"matrix_rows":[6,1,128,132,8,16,32,192,256],"offset":128,"phase":3,"quadratic_rows":[0,132,134,0,0,0,0,6,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1007,"old":1009,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,0],"matrix_rows":[6,1,130,128,8,16,160,64,256],"offset":64,"phase":3,"quadratic_rows":[0,134,130,0,0,0,0,6,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":858,"old":1010,"rank":1,"right":{"linear_Z4":[0,0,2,1,0,0,2,0,0],"matrix_rows":[8,1,2,12,64,80,96,128,256],"offset":40,"phase":2,"quadratic_rows":[0,0,8,76,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":859,"old":1010,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":32,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1012,"old":1011,"rank":1,"right":{"linear_Z4":[2,0,0,3,0,0,2,0,0],"matrix_rows":[8,9,2,4,64,80,96,128,256],"offset":114,"phase":0,"quadratic_rows":[8,0,0,73,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1013,"old":1011,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":112,"phase":1,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":1012,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[65,64,2,4,72,16,32,128,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":1013,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[33,32,2,4,8,48,64,128,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":859,"old":1014,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,2,0,0,0],"matrix_rows":[5,32,2,36,8,48,64,128,256],"offset":32,"phase":3,"quadratic_rows":[36,0,37,0,0,5,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,32,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1013,"old":1014,"rank":1,"right":{"linear_Z4":[3,0,2,0,0,0,2,0,0],"matrix_rows":[5,65,2,64,8,16,96,128,256],"offset":74,"phase":1,"quadratic_rows":[69,0,65,0,0,0,5,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":858,"old":1015,"rank":1,"right":{"linear_Z4":[2,0,3,0,0,0,2,0,0],"matrix_rows":[5,64,2,68,72,16,32,128,256],"offset":26,"phase":1,"quadratic_rows":[68,0,69,0,0,0,5,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1012,"old":1015,"rank":1,"right":{"linear_Z4":[3,0,2,0,2,0,0,0,0],"matrix_rows":[5,17,2,16,24,32,64,128,256],"offset":26,"phase":1,"quadratic_rows":[21,0,17,0,5,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":860,"old":1016,"rank":1,"right":{"linear_Z4":[2,0,0,1,0,0,2,0,0],"matrix_rows":[8,9,2,4,64,80,96,128,256],"offset":66,"phase":2,"quadratic_rows":[8,0,0,73,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":861,"old":1016,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":64,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1018,"old":1017,"rank":1,"right":{"linear_Z4":[0,2,0,3,0,0,2,0,0],"matrix_rows":[8,1,10,4,64,80,96,128,256],"offset":20,"phase":2,"quadratic_rows":[0,8,0,74,0,0,8,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,4,8,17,33,65,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1019,"old":1017,"rank":1,"right":{"linear_Z4":[0,0,0,2,0,0,2,0,0],"matrix_rows":[8,1,2,4,64,80,96,128,256],"offset":16,"phase":3,"quadratic_rows":[0,0,0,64,0,0,8,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":1018,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,264,272,288,320,384],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":1019,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,8,16,32,64,384],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,17,33,65,129,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":860,"old":1020,"rank":1,"right":{"linear_Z4":[1,2,0,0,0,0,0,0,0],"matrix_rows":[1,259,256,4,264,272,288,320,384],"offset":167,"phase":1,"quadratic_rows":[259,1,0,0,0,0,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1018,"old":1020,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,2,68,8,80,32,128,256],"offset":8,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,64,128,257,1],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":861,"old":1021,"rank":1,"right":{"linear_Z4":[1,2,0,0,0,0,0,0,0],"matrix_rows":[1,259,256,4,8,16,32,64,384],"offset":7,"phase":3,"quadratic_rows":[259,1,0,0,0,0,0,0,1]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,16,33,64,1,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1019,"old":1021,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,0,2,0,0],"matrix_rows":[1,64,2,68,8,80,32,128,256],"offset":2,"phase":3,"quadratic_rows":[64,0,0,0,0,0,1,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":862,"old":1022,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,34,4,8,48,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":863,"old":1022,"rank":1,"right":{"linear_Z4":[1,0,2,0,0,0,0,0,0],"matrix_rows":[1,133,2,128,136,16,32,64,256],"offset":11,"phase":3,"quadratic_rows":[133,0,1,0,0,0,0,1,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1024,"old":1023,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,0],"matrix_rows":[3,128,130,4,8,16,160,64,256],"offset":64,"phase":3,"quadratic_rows":[130,131,0,0,0,0,0,3,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1025,"old":1023,"rank":1,"right":{"linear_Z4":[1,0,0,0,0,0,0,2,0],"matrix_rows":[3,129,128,4,8,144,32,64,256],"offset":32,"phase":3,"quadratic_rows":[131,129,0,0,0,0,0,3,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":1024,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[130,1,128,4,8,144,32,64,256],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,128,1,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":1025,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,2,0],"matrix_rows":[129,128,2,4,8,16,160,64,256],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":863,"old":1026,"rank":1,"right":{"linear_Z4":[2,3,0,0,2,0,0,0,0],"matrix_rows":[2,3,16,20,24,32,64,128,256],"offset":6,"phase":2,"quadratic_rows":[2,19,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1025,"old":1026,"rank":1,"right":{"linear_Z4":[0,2,0,0,2,0,0,0,0],"matrix_rows":[2,1,16,20,24,32,64,128,256],"offset":4,"phase":3,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,16,33,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":862,"old":1027,"rank":1,"right":{"linear_Z4":[0,0,1,0,0,0,0,2,0],"matrix_rows":[6,1,128,132,8,144,32,64,256],"offset":32,"phase":3,"quadratic_rows":[0,132,134,0,0,0,0,6,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,32,64,128,1,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1024,"old":1027,"rank":1,"right":{"linear_Z4":[0,1,0,0,0,0,0,2,0],"matrix_rows":[6,1,130,128,136,16,32,64,256],"offset":16,"phase":3,"quadratic_rows":[0,134,130,0,0,0,0,6,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[6,11,17,33,67,128,259,3,2],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":864,"old":1028,"rank":2,"right":{"linear_Z4":[3,3,0,0,0,0,0,2,2],"matrix_rows":[6,5,263,128,384,392,144,32,192],"offset":82,"phase":3,"quadratic_rows":[259,387,128,0,0,0,0,6,3]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,10,19,32,66,1,131,259,3],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":865,"old":1028,"rank":2,"right":{"linear_Z4":[0,2,2,0,0,0,0,0,0],"matrix_rows":[5,6,32,288,260,8,304,320,384],"offset":71,"phase":0,"quadratic_rows":[36,292,259,0,0,3,0,0,6]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,32,65,128,258,2,1],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":1030,"old":1029,"rank":2,"right":{"linear_Z4":[1,0,0,0,0,0,0,0,2],"matrix_rows":[3,64,257,256,4,8,272,32,128],"offset":322,"phase":3,"quadratic_rows":[259,257,0,0,0,0,128,64,3]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[5,9,16,32,64,129,258,2,1],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":1031,"old":1029,"rank":2,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[3,64,256,258,4,8,16,288,128],"offset":386,"phase":3,"quadratic_rows":[258,259,0,0,0,0,128,64,3]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,8,16,32,65,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":1030,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,256,2,4,8,16,288,64,128],"offset":3,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,8,16,33,64,128,256,1],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"new":1,"old":1031,"rank":1,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[258,1,256,4,8,272,32,64,128],"offset":5,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[6,11,17,33,3,64,130,258,2],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":864,"old":1032,"rank":2,"right":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[6,5,263,16,272,280,32,320,384],"offset":43,"phase":0,"quadratic_rows":[259,275,16,0,6,0,0,0,3]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[7,9,18,34,1,64,131,259,3],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":1030,"old":1032,"rank":2,"right":{"linear_Z4":[2,0,2,0,0,0,0,0,0],"matrix_rows":[3,5,257,16,272,280,32,320,384],"offset":43,"phase":0,"quadratic_rows":[262,17,273,0,6,0,0,0,5]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,32,65,128,258,2,1],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":865,"old":1033,"rank":2,"right":{"linear_Z4":[0,0,1,0,0,0,0,0,2],"matrix_rows":[6,64,1,256,260,8,272,32,128],"offset":322,"phase":3,"quadratic_rows":[0,260,262,0,0,0,128,64,6]}},{"left":{"linear_Z4":[3,3,0,0,0,0,0,0,0],"matrix_rows":[4,9,17,33,64,128,258,2,1],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"new":1031,"old":1033,"rank":2,"right":{"linear_Z4":[0,1,0,0,0,0,0,0,2],"matrix_rows":[6,64,1,258,256,264,16,32,128],"offset":290,"phase":3,"quadratic_rows":[0,262,258,0,0,0,128,64,6]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,4,9,17,32,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":1034,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,2,36,40,16,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[3,5,8,16,33,1,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":1035,"rank":1,"right":{"linear_Z4":[2,0,0,0,0,2,0,0,0],"matrix_rows":[1,32,34,4,8,48,64,128,256],"offset":2,"phase":3,"quadratic_rows":[32,0,0,0,0,1,0,0,0]}},{"left":{"linear_Z4":[3,0,0,0,0,0,0,0,0],"matrix_rows":[2,5,9,17,1,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[1,0,0,0,0,0,0,0,0]},"new":1,"old":1036,"rank":1,"right":{"linear_Z4":[0,2,0,0,2,0,0,0,0],"matrix_rows":[2,1,16,20,24,32,64,128,256],"offset":4,"phase":3,"quadratic_rows":[0,16,0,0,2,0,0,0,0]}}],"endpoint_adapters":[{"frame":7,"left":{"linear_Z4":[1,1,0,0,0,0,0,0,0],"matrix_rows":[2,1,4,11,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"port":0,"rank":0,"right":null,"role":"source"},{"frame":868,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,4,9,16,32,64,128,256],"offset":11,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":0,"rank":0,"right":null,"role":"target"},{"frame":213,"left":{"linear_Z4":[1,1,0,0,0,0,0,0,0],"matrix_rows":[2,1,4,8,19,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"port":1,"rank":0,"right":null,"role":"source"},{"frame":839,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,4,8,17,32,64,128,256],"offset":19,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":1,"rank":0,"right":null,"role":"target"},{"frame":66,"left":{"linear_Z4":[1,1,0,0,0,0,0,0,0],"matrix_rows":[2,1,4,8,16,35,64,128,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"port":2,"rank":0,"right":null,"role":"source"},{"frame":898,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,4,8,16,33,64,128,256],"offset":35,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":2,"rank":0,"right":null,"role":"target"},{"frame":270,"left":{"linear_Z4":[1,1,0,0,0,0,0,0,0],"matrix_rows":[2,1,4,8,16,32,67,128,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"port":3,"rank":0,"right":null,"role":"source"},{"frame":849,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,4,8,16,32,65,128,256],"offset":67,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":3,"rank":0,"right":null,"role":"target"},{"frame":300,"left":{"linear_Z4":[1,1,0,0,0,0,0,0,0],"matrix_rows":[2,1,4,8,16,32,64,131,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"port":4,"rank":0,"right":null,"role":"source"},{"frame":851,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,4,8,16,32,64,129,256],"offset":131,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":4,"rank":0,"right":null,"role":"target"},{"frame":298,"left":{"linear_Z4":[1,1,0,0,0,0,0,0,0],"matrix_rows":[2,1,4,8,16,32,64,128,259],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"port":5,"rank":0,"right":null,"role":"source"},{"frame":994,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,4,8,16,32,64,128,257],"offset":259,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":5,"rank":0,"right":null,"role":"target"},{"frame":210,"left":{"linear_Z4":[1,0,1,0,0,0,0,0,0],"matrix_rows":[4,2,1,13,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[5,0,5,0,0,0,0,0,0]},"port":6,"rank":0,"right":null,"role":"source"},{"frame":952,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,5,9,16,32,64,128,256],"offset":13,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":6,"rank":0,"right":null,"role":"target"},{"frame":13,"left":{"linear_Z4":[1,0,1,0,0,0,0,0,0],"matrix_rows":[4,2,1,8,21,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[5,0,5,0,0,0,0,0,0]},"port":7,"rank":0,"right":null,"role":"source"},{"frame":810,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,5,8,17,32,64,128,256],"offset":21,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":7,"rank":0,"right":null,"role":"target"},{"frame":272,"left":{"linear_Z4":[1,0,1,0,0,0,0,0,0],"matrix_rows":[4,2,1,8,16,37,64,128,256],"offset":0,"phase":0,"quadratic_rows":[5,0,5,0,0,0,0,0,0]},"port":8,"rank":0,"right":null,"role":"source"},{"frame":983,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,5,8,16,33,64,128,256],"offset":37,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":8,"rank":0,"right":null,"role":"target"},{"frame":72,"left":{"linear_Z4":[1,0,1,0,0,0,0,0,0],"matrix_rows":[4,2,1,8,16,32,69,128,256],"offset":0,"phase":0,"quadratic_rows":[5,0,5,0,0,0,0,0,0]},"port":9,"rank":0,"right":null,"role":"source"},{"frame":820,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,5,8,16,32,65,128,256],"offset":69,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":9,"rank":0,"right":null,"role":"target"},{"frame":42,"left":{"linear_Z4":[1,0,1,0,0,0,0,0,0],"matrix_rows":[4,2,1,8,16,32,64,133,256],"offset":0,"phase":0,"quadratic_rows":[5,0,5,0,0,0,0,0,0]},"port":10,"rank":0,"right":null,"role":"source"},{"frame":814,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,5,8,16,32,64,129,256],"offset":133,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":10,"rank":0,"right":null,"role":"target"},{"frame":43,"left":{"linear_Z4":[1,0,1,0,0,0,0,0,0],"matrix_rows":[4,2,1,8,16,32,64,128,261],"offset":0,"phase":0,"quadratic_rows":[5,0,5,0,0,0,0,0,0]},"port":11,"rank":0,"right":null,"role":"source"},{"frame":816,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,5,8,16,32,64,128,257],"offset":261,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":11,"rank":0,"right":null,"role":"target"},{"frame":94,"left":{"linear_Z4":[1,0,0,1,0,0,0,0,0],"matrix_rows":[8,2,4,1,16,41,64,128,256],"offset":0,"phase":0,"quadratic_rows":[9,0,0,9,0,0,0,0,0]},"port":12,"rank":0,"right":null,"role":"source"},{"frame":904,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,9,16,33,64,128,256],"offset":41,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":12,"rank":0,"right":null,"role":"target"},{"frame":355,"left":{"linear_Z4":[1,0,0,1,0,0,0,0,0],"matrix_rows":[8,2,4,1,16,32,73,128,256],"offset":0,"phase":0,"quadratic_rows":[9,0,0,9,0,0,0,0,0]},"port":13,"rank":0,"right":null,"role":"source"},{"frame":1012,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,9,16,32,65,128,256],"offset":73,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":13,"rank":0,"right":null,"role":"target"},{"frame":327,"left":{"linear_Z4":[1,0,0,1,0,0,0,0,0],"matrix_rows":[8,2,4,1,16,32,64,137,256],"offset":0,"phase":0,"quadratic_rows":[9,0,0,9,0,0,0,0,0]},"port":14,"rank":0,"right":null,"role":"source"},{"frame":1006,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,9,16,32,64,129,256],"offset":137,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":14,"rank":0,"right":null,"role":"target"},{"frame":326,"left":{"linear_Z4":[1,0,0,1,0,0,0,0,0],"matrix_rows":[8,2,4,1,16,32,64,128,265],"offset":0,"phase":0,"quadratic_rows":[9,0,0,9,0,0,0,0,0]},"port":15,"rank":0,"right":null,"role":"source"},{"frame":1000,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,9,16,32,64,128,257],"offset":265,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":15,"rank":0,"right":null,"role":"target"},{"frame":360,"left":{"linear_Z4":[1,0,0,0,1,0,0,0,0],"matrix_rows":[16,2,4,8,1,49,64,128,256],"offset":0,"phase":0,"quadratic_rows":[17,0,0,0,17,0,0,0,0]},"port":16,"rank":0,"right":null,"role":"source"},{"frame":1013,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,17,33,64,128,256],"offset":49,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":16,"rank":0,"right":null,"role":"target"},{"frame":99,"left":{"linear_Z4":[1,0,0,0,1,0,0,0,0],"matrix_rows":[16,2,4,8,1,32,81,128,256],"offset":0,"phase":0,"quadratic_rows":[17,0,0,0,17,0,0,0,0]},"port":17,"rank":0,"right":null,"role":"source"},{"frame":905,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,17,32,65,128,256],"offset":81,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":17,"rank":0,"right":null,"role":"target"},{"frame":127,"left":{"linear_Z4":[1,0,0,0,1,0,0,0,0],"matrix_rows":[16,2,4,8,1,32,64,145,256],"offset":0,"phase":0,"quadratic_rows":[17,0,0,0,17,0,0,0,0]},"port":18,"rank":0,"right":null,"role":"source"},{"frame":923,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,17,32,64,129,256],"offset":145,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":18,"rank":0,"right":null,"role":"target"},{"frame":129,"left":{"linear_Z4":[1,0,0,0,1,0,0,0,0],"matrix_rows":[16,2,4,8,1,32,64,128,273],"offset":0,"phase":0,"quadratic_rows":[17,0,0,0,17,0,0,0,0]},"port":19,"rank":0,"right":null,"role":"source"},{"frame":826,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,17,32,64,128,257],"offset":273,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":19,"rank":0,"right":null,"role":"target"},{"frame":389,"left":{"linear_Z4":[1,0,0,0,0,1,0,0,0],"matrix_rows":[32,2,4,8,16,1,64,161,256],"offset":0,"phase":0,"quadratic_rows":[33,0,0,0,0,33,0,0,0]},"port":20,"rank":0,"right":null,"role":"source"},{"frame":1025,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,33,64,129,256],"offset":161,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":20,"rank":0,"right":null,"role":"target"},{"frame":385,"left":{"linear_Z4":[1,0,0,0,0,1,0,0,0],"matrix_rows":[32,2,4,8,16,1,64,128,289],"offset":0,"phase":0,"quadratic_rows":[33,0,0,0,0,33,0,0,0]},"port":21,"rank":0,"right":null,"role":"source"},{"frame":1030,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,33,64,128,257],"offset":289,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":21,"rank":0,"right":null,"role":"target"},{"frame":186,"left":{"linear_Z4":[1,0,0,0,0,0,1,0,0],"matrix_rows":[64,2,4,8,16,32,1,193,256],"offset":0,"phase":0,"quadratic_rows":[65,0,0,0,0,0,65,0,0]},"port":22,"rank":0,"right":null,"role":"source"},{"frame":941,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,65,129,256],"offset":193,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":22,"rank":0,"right":null,"role":"target"},{"frame":188,"left":{"linear_Z4":[1,0,0,0,0,0,1,0,0],"matrix_rows":[64,2,4,8,16,32,1,128,321],"offset":0,"phase":0,"quadratic_rows":[65,0,0,0,0,0,65,0,0]},"port":23,"rank":0,"right":null,"role":"source"},{"frame":836,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,65,128,257],"offset":321,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":23,"rank":0,"right":null,"role":"target"},{"frame":158,"left":{"linear_Z4":[1,0,0,0,0,0,0,1,0],"matrix_rows":[128,2,4,8,16,32,64,1,385],"offset":0,"phase":0,"quadratic_rows":[129,0,0,0,0,0,0,129,0]},"port":24,"rank":0,"right":null,"role":"source"},{"frame":830,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,129,257],"offset":385,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":24,"rank":0,"right":null,"role":"target"},{"frame":67,"left":{"linear_Z4":[0,1,1,0,0,0,0,0,0],"matrix_rows":[1,4,2,14,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,6,6,0,0,0,0,0,0]},"port":25,"rank":0,"right":null,"role":"source"},{"frame":821,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,6,10,16,32,64,128,256],"offset":14,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":25,"rank":0,"right":null,"role":"target"},{"frame":275,"left":{"linear_Z4":[0,1,1,0,0,0,0,0,0],"matrix_rows":[1,4,2,8,22,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,6,6,0,0,0,0,0,0]},"port":26,"rank":0,"right":null,"role":"source"},{"frame":848,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,6,8,18,32,64,128,256],"offset":22,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":26,"rank":0,"right":null,"role":"target"},{"frame":10,"left":{"linear_Z4":[0,1,1,0,0,0,0,0,0],"matrix_rows":[1,4,2,8,16,38,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,6,6,0,0,0,0,0,0]},"port":27,"rank":0,"right":null,"role":"source"},{"frame":811,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,6,8,16,34,64,128,256],"offset":38,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":27,"rank":0,"right":null,"role":"target"},{"frame":216,"left":{"linear_Z4":[0,1,1,0,0,0,0,0,0],"matrix_rows":[1,4,2,8,16,32,70,128,256],"offset":0,"phase":0,"quadratic_rows":[0,6,6,0,0,0,0,0,0]},"port":28,"rank":0,"right":null,"role":"source"},{"frame":838,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,6,8,16,32,66,128,256],"offset":70,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":28,"rank":0,"right":null,"role":"target"},{"frame":246,"left":{"linear_Z4":[0,1,1,0,0,0,0,0,0],"matrix_rows":[1,4,2,8,16,32,64,134,256],"offset":0,"phase":0,"quadratic_rows":[0,6,6,0,0,0,0,0,0]},"port":29,"rank":0,"right":null,"role":"source"},{"frame":844,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,6,8,16,32,64,130,256],"offset":134,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":29,"rank":0,"right":null,"role":"target"},{"frame":244,"left":{"linear_Z4":[0,1,1,0,0,0,0,0,0],"matrix_rows":[1,4,2,8,16,32,64,128,262],"offset":0,"phase":0,"quadratic_rows":[0,6,6,0,0,0,0,0,0]},"port":30,"rank":0,"right":null,"role":"source"},{"frame":965,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,6,8,16,32,64,128,258],"offset":262,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":30,"rank":0,"right":null,"role":"target"},{"frame":97,"left":{"linear_Z4":[0,1,0,1,0,0,0,0,0],"matrix_rows":[1,8,4,2,26,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,10,0,10,0,0,0,0,0]},"port":31,"rank":0,"right":null,"role":"source"},{"frame":823,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,10,18,32,64,128,256],"offset":26,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":31,"rank":0,"right":null,"role":"target"},{"frame":154,"left":{"linear_Z4":[0,1,0,1,0,0,0,0,0],"matrix_rows":[1,8,4,2,16,32,74,128,256],"offset":0,"phase":0,"quadratic_rows":[0,10,0,10,0,0,0,0,0]},"port":32,"rank":0,"right":null,"role":"source"},{"frame":833,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,10,16,32,66,128,256],"offset":74,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":32,"rank":0,"right":null,"role":"target"},{"frame":184,"left":{"linear_Z4":[0,1,0,1,0,0,0,0,0],"matrix_rows":[1,8,4,2,16,32,64,138,256],"offset":0,"phase":0,"quadratic_rows":[0,10,0,10,0,0,0,0,0]},"port":33,"rank":0,"right":null,"role":"source"},{"frame":835,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,10,16,32,64,130,256],"offset":138,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":33,"rank":0,"right":null,"role":"target"},{"frame":182,"left":{"linear_Z4":[0,1,0,1,0,0,0,0,0],"matrix_rows":[1,8,4,2,16,32,64,128,266],"offset":0,"phase":0,"quadratic_rows":[0,10,0,10,0,0,0,0,0]},"port":34,"rank":0,"right":null,"role":"source"},{"frame":946,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,10,16,32,64,128,258],"offset":266,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":34,"rank":0,"right":null,"role":"target"},{"frame":159,"left":{"linear_Z4":[0,1,0,0,1,0,0,0,0],"matrix_rows":[1,16,4,8,2,50,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,18,0,0,18,0,0,0,0]},"port":35,"rank":0,"right":null,"role":"source"},{"frame":832,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,18,34,64,128,256],"offset":50,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":35,"rank":0,"right":null,"role":"target"},{"frame":384,"left":{"linear_Z4":[0,1,0,0,1,0,0,0,0],"matrix_rows":[1,16,4,8,2,32,64,146,256],"offset":0,"phase":0,"quadratic_rows":[0,18,0,0,18,0,0,0,0]},"port":36,"rank":0,"right":null,"role":"source"},{"frame":1024,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,18,32,64,130,256],"offset":146,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":36,"rank":0,"right":null,"role":"target"},{"frame":388,"left":{"linear_Z4":[0,1,0,0,1,0,0,0,0],"matrix_rows":[1,16,4,8,2,32,64,128,274],"offset":0,"phase":0,"quadratic_rows":[0,18,0,0,18,0,0,0,0]},"port":37,"rank":0,"right":null,"role":"source"},{"frame":1031,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,18,32,64,128,258],"offset":274,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":37,"rank":0,"right":null,"role":"target"},{"frame":100,"left":{"linear_Z4":[0,1,0,0,0,1,0,0,0],"matrix_rows":[1,32,4,8,16,2,98,128,256],"offset":0,"phase":0,"quadratic_rows":[0,34,0,0,0,34,0,0,0]},"port":38,"rank":0,"right":null,"role":"source"},{"frame":822,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,34,66,128,256],"offset":98,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":38,"rank":0,"right":null,"role":"target"},{"frame":130,"left":{"linear_Z4":[0,1,0,0,0,1,0,0,0],"matrix_rows":[1,32,4,8,16,2,64,162,256],"offset":0,"phase":0,"quadratic_rows":[0,34,0,0,0,34,0,0,0]},"port":39,"rank":0,"right":null,"role":"source"},{"frame":828,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,34,64,130,256],"offset":162,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":39,"rank":0,"right":null,"role":"target"},{"frame":128,"left":{"linear_Z4":[0,1,0,0,0,1,0,0,0],"matrix_rows":[1,32,4,8,16,2,64,128,290],"offset":0,"phase":0,"quadratic_rows":[0,34,0,0,0,34,0,0,0]},"port":40,"rank":0,"right":null,"role":"source"},{"frame":917,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,34,64,128,258],"offset":290,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":40,"rank":0,"right":null,"role":"target"},{"frame":330,"left":{"linear_Z4":[0,1,0,0,0,0,1,0,0],"matrix_rows":[1,64,4,8,16,32,2,194,256],"offset":0,"phase":0,"quadratic_rows":[0,66,0,0,0,0,66,0,0]},"port":41,"rank":0,"right":null,"role":"source"},{"frame":1007,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,66,130,256],"offset":194,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":41,"rank":0,"right":null,"role":"target"},{"frame":331,"left":{"linear_Z4":[0,1,0,0,0,0,1,0,0],"matrix_rows":[1,64,4,8,16,32,2,128,322],"offset":0,"phase":0,"quadratic_rows":[0,66,0,0,0,0,66,0,0]},"port":42,"rank":0,"right":null,"role":"source"},{"frame":1001,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,66,128,258],"offset":322,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":42,"rank":0,"right":null,"role":"target"},{"frame":359,"left":{"linear_Z4":[0,1,0,0,0,0,0,1,0],"matrix_rows":[1,128,4,8,16,32,64,2,386],"offset":0,"phase":0,"quadratic_rows":[0,130,0,0,0,0,0,130,0]},"port":43,"rank":0,"right":null,"role":"source"},{"frame":1019,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,130,258],"offset":386,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":43,"rank":0,"right":null,"role":"target"},{"frame":361,"left":{"linear_Z4":[0,0,1,1,0,0,0,0,0],"matrix_rows":[1,2,8,4,28,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,12,12,0,0,0,0,0]},"port":44,"rank":0,"right":null,"role":"source"},{"frame":858,"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,12,20,32,64,128,256],"offset":28,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":44,"rank":0,"right":null,"role":"target"},{"frame":156,"left":{"linear_Z4":[0,0,1,1,0,0,0,0,0],"matrix_rows":[1,2,8,4,16,44,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,12,12,0,0,0,0,0]},"port":45,"rank":0,"right":null,"role":"source"},{"frame":935,"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,12,16,36,64,128,256],"offset":44,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":45,"rank":0,"right":null,"role":"target"},{"frame":390,"left":{"linear_Z4":[0,0,1,1,0,0,0,0,0],"matrix_rows":[1,2,8,4,16,32,64,140,256],"offset":0,"phase":0,"quadratic_rows":[0,0,12,12,0,0,0,0,0]},"port":46,"rank":0,"right":null,"role":"source"},{"frame":862,"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,12,16,32,64,132,256],"offset":140,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":46,"rank":0,"right":null,"role":"target"},{"frame":386,"left":{"linear_Z4":[0,0,1,1,0,0,0,0,0],"matrix_rows":[1,2,8,4,16,32,64,128,268],"offset":0,"phase":0,"quadratic_rows":[0,0,12,12,0,0,0,0,0]},"port":47,"rank":0,"right":null,"role":"source"},{"frame":865,"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,12,16,32,64,128,260],"offset":268,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":47,"rank":0,"right":null,"role":"target"},{"frame":153,"left":{"linear_Z4":[0,0,1,0,1,0,0,0,0],"matrix_rows":[1,2,16,8,4,32,84,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,20,0,20,0,0,0,0]},"port":48,"rank":0,"right":null,"role":"source"},{"frame":934,"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,20,32,68,128,256],"offset":84,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":48,"rank":0,"right":null,"role":"target"},{"frame":181,"left":{"linear_Z4":[0,0,1,0,1,0,0,0,0],"matrix_rows":[1,2,16,8,4,32,64,148,256],"offset":0,"phase":0,"quadratic_rows":[0,0,20,0,20,0,0,0,0]},"port":49,"rank":0,"right":null,"role":"source"},{"frame":940,"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,20,32,64,132,256],"offset":148,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":49,"rank":0,"right":null,"role":"target"},{"frame":183,"left":{"linear_Z4":[0,0,1,0,1,0,0,0,0],"matrix_rows":[1,2,16,8,4,32,64,128,276],"offset":0,"phase":0,"quadratic_rows":[0,0,20,0,20,0,0,0,0]},"port":50,"rank":0,"right":null,"role":"source"},{"frame":837,"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,20,32,64,128,260],"offset":276,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":50,"rank":0,"right":null,"role":"target"},{"frame":358,"left":{"linear_Z4":[0,0,1,0,0,1,0,0,0],"matrix_rows":[1,2,32,8,16,4,100,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,36,0,0,36,0,0,0]},"port":51,"rank":0,"right":null,"role":"source"},{"frame":859,"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,36,68,128,256],"offset":100,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":51,"rank":0,"right":null,"role":"target"},{"frame":328,"left":{"linear_Z4":[0,0,1,0,0,1,0,0,0],"matrix_rows":[1,2,32,8,16,4,64,164,256],"offset":0,"phase":0,"quadratic_rows":[0,0,36,0,0,36,0,0,0]},"port":52,"rank":0,"right":null,"role":"source"},{"frame":857,"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,36,64,132,256],"offset":164,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":52,"rank":0,"right":null,"role":"target"},{"frame":329,"left":{"linear_Z4":[0,0,1,0,0,1,0,0,0],"matrix_rows":[1,2,32,8,16,4,64,128,292],"offset":0,"phase":0,"quadratic_rows":[0,0,36,0,0,36,0,0,0]},"port":53,"rank":0,"right":null,"role":"source"},{"frame":855,"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,36,64,128,260],"offset":292,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":53,"rank":0,"right":null,"role":"target"},{"frame":124,"left":{"linear_Z4":[0,0,1,0,0,0,1,0,0],"matrix_rows":[1,2,64,8,16,32,4,196,256],"offset":0,"phase":0,"quadratic_rows":[0,0,68,0,0,0,68,0,0]},"port":54,"rank":0,"right":null,"role":"source"},{"frame":922,"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,68,132,256],"offset":196,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":54,"rank":0,"right":null,"role":"target"},{"frame":126,"left":{"linear_Z4":[0,0,1,0,0,0,1,0,0],"matrix_rows":[1,2,64,8,16,32,4,128,324],"offset":0,"phase":0,"quadratic_rows":[0,0,68,0,0,0,68,0,0]},"port":55,"rank":0,"right":null,"role":"source"},{"frame":827,"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,68,128,260],"offset":324,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":55,"rank":0,"right":null,"role":"target"},{"frame":96,"left":{"linear_Z4":[0,0,1,0,0,0,0,1,0],"matrix_rows":[1,2,128,8,16,32,64,4,388],"offset":0,"phase":0,"quadratic_rows":[0,0,132,0,0,0,0,132,0]},"port":56,"rank":0,"right":null,"role":"source"},{"frame":825,"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,132,260],"offset":388,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":56,"rank":0,"right":null,"role":"target"},{"frame":12,"left":{"linear_Z4":[0,0,0,1,1,0,0,0,0],"matrix_rows":[1,2,4,16,8,56,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,24,24,0,0,0,0]},"port":57,"rank":0,"right":null,"role":"source"},{"frame":869,"left":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[1,2,4,8,24,40,64,128,256],"offset":56,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":57,"rank":0,"right":null,"role":"target"},{"frame":215,"left":{"linear_Z4":[0,0,0,1,1,0,0,0,0],"matrix_rows":[1,2,4,16,8,32,88,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,24,24,0,0,0,0]},"port":58,"rank":0,"right":null,"role":"source"},{"frame":953,"left":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[1,2,4,8,24,32,72,128,256],"offset":88,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":58,"rank":0,"right":null,"role":"target"},{"frame":243,"left":{"linear_Z4":[0,0,0,1,1,0,0,0,0],"matrix_rows":[1,2,4,16,8,32,64,152,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,24,24,0,0,0,0]},"port":59,"rank":0,"right":null,"role":"source"},{"frame":971,"left":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[1,2,4,8,24,32,64,136,256],"offset":152,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":59,"rank":0,"right":null,"role":"target"},{"frame":245,"left":{"linear_Z4":[0,0,0,1,1,0,0,0,0],"matrix_rows":[1,2,4,16,8,32,64,128,280],"offset":0,"phase":0,"quadratic_rows":[0,0,0,24,24,0,0,0,0]},"port":60,"rank":0,"right":null,"role":"source"},{"frame":842,"left":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[1,2,4,8,24,32,64,128,264],"offset":280,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":60,"rank":0,"right":null,"role":"target"},{"frame":69,"left":{"linear_Z4":[0,0,0,1,0,1,0,0,0],"matrix_rows":[1,2,4,32,16,8,104,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,40,0,40,0,0,0]},"port":61,"rank":0,"right":null,"role":"source"},{"frame":899,"left":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,40,72,128,256],"offset":104,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":61,"rank":0,"right":null,"role":"target"},{"frame":41,"left":{"linear_Z4":[0,0,0,1,0,1,0,0,0],"matrix_rows":[1,2,4,32,16,8,64,168,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,40,0,40,0,0,0]},"port":62,"rank":0,"right":null,"role":"source"},{"frame":881,"left":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,40,64,136,256],"offset":168,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":62,"rank":0,"right":null,"role":"target"},{"frame":40,"left":{"linear_Z4":[0,0,0,1,0,1,0,0,0],"matrix_rows":[1,2,4,32,16,8,64,128,296],"offset":0,"phase":0,"quadratic_rows":[0,0,0,40,0,40,0,0,0]},"port":63,"rank":0,"right":null,"role":"source"},{"frame":887,"left":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,40,64,128,264],"offset":296,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":63,"rank":0,"right":null,"role":"target"},{"frame":302,"left":{"linear_Z4":[0,0,0,1,0,0,1,0,0],"matrix_rows":[1,2,4,64,16,32,8,200,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,72,0,0,72,0,0]},"port":64,"rank":0,"right":null,"role":"source"},{"frame":989,"left":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,72,136,256],"offset":200,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":64,"rank":0,"right":null,"role":"target"},{"frame":304,"left":{"linear_Z4":[0,0,0,1,0,0,1,0,0],"matrix_rows":[1,2,4,64,16,32,8,128,328],"offset":0,"phase":0,"quadratic_rows":[0,0,0,72,0,0,72,0,0]},"port":65,"rank":0,"right":null,"role":"source"},{"frame":852,"left":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,72,128,264],"offset":328,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":65,"rank":0,"right":null,"role":"target"},{"frame":274,"left":{"linear_Z4":[0,0,0,1,0,0,0,1,0],"matrix_rows":[1,2,4,128,16,32,64,8,392],"offset":0,"phase":0,"quadratic_rows":[0,0,0,136,0,0,0,136,0]},"port":66,"rank":0,"right":null,"role":"source"},{"frame":846,"left":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,136,264],"offset":392,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":66,"rank":0,"right":null,"role":"target"},{"frame":269,"left":{"linear_Z4":[0,0,0,0,1,1,0,0,0],"matrix_rows":[1,2,4,8,32,16,112,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,48,48,0,0,0]},"port":67,"rank":0,"right":null,"role":"source"},{"frame":982,"left":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[1,2,4,8,16,48,80,128,256],"offset":112,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":67,"rank":0,"right":null,"role":"target"},{"frame":297,"left":{"linear_Z4":[0,0,0,0,1,1,0,0,0],"matrix_rows":[1,2,4,8,32,16,64,176,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,48,48,0,0,0]},"port":68,"rank":0,"right":null,"role":"source"},{"frame":988,"left":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[1,2,4,8,16,48,64,144,256],"offset":176,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":68,"rank":0,"right":null,"role":"target"},{"frame":299,"left":{"linear_Z4":[0,0,0,0,1,1,0,0,0],"matrix_rows":[1,2,4,8,32,16,64,128,304],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,48,48,0,0,0]},"port":69,"rank":0,"right":null,"role":"source"},{"frame":853,"left":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[1,2,4,8,16,48,64,128,272],"offset":304,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":69,"rank":0,"right":null,"role":"target"},{"frame":36,"left":{"linear_Z4":[0,0,0,0,1,0,1,0,0],"matrix_rows":[1,2,4,8,64,32,16,208,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,80,0,80,0,0]},"port":70,"rank":0,"right":null,"role":"source"},{"frame":880,"left":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,80,144,256],"offset":208,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":70,"rank":0,"right":null,"role":"target"},{"frame":37,"left":{"linear_Z4":[0,0,0,0,1,0,1,0,0],"matrix_rows":[1,2,4,8,64,32,16,128,336],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,80,0,80,0,0]},"port":71,"rank":0,"right":null,"role":"source"},{"frame":886,"left":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,80,128,272],"offset":336,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":71,"rank":0,"right":null,"role":"target"},{"frame":65,"left":{"linear_Z4":[0,0,0,0,1,0,0,1,0],"matrix_rows":[1,2,4,8,128,32,64,16,400],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,144,0,0,144,0]},"port":72,"rank":0,"right":null,"role":"source"},{"frame":892,"left":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,144,272],"offset":400,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":72,"rank":0,"right":null,"role":"target"},{"frame":240,"left":{"linear_Z4":[0,0,0,0,0,1,1,0,0],"matrix_rows":[1,2,4,8,16,64,32,224,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,96,96,0,0]},"port":73,"rank":0,"right":null,"role":"source"},{"frame":970,"left":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[1,2,4,8,16,32,96,160,256],"offset":224,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":73,"rank":0,"right":null,"role":"target"},{"frame":242,"left":{"linear_Z4":[0,0,0,0,0,1,1,0,0],"matrix_rows":[1,2,4,8,16,64,32,128,352],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,96,96,0,0]},"port":74,"rank":0,"right":null,"role":"source"},{"frame":843,"left":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[1,2,4,8,16,32,96,128,288],"offset":352,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":74,"rank":0,"right":null,"role":"target"},{"frame":212,"left":{"linear_Z4":[0,0,0,0,0,1,0,1,0],"matrix_rows":[1,2,4,8,16,128,64,32,416],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,160,0,160,0]},"port":75,"rank":0,"right":null,"role":"source"},{"frame":841,"left":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,160,288],"offset":416,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":75,"rank":0,"right":null,"role":"target"},{"frame":8,"left":{"linear_Z4":[0,0,0,0,0,0,1,1,0],"matrix_rows":[1,2,4,8,16,32,128,64,448],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,192,192,0]},"port":76,"rank":0,"right":null,"role":"source"},{"frame":874,"left":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[1,2,4,8,16,32,64,192,320],"offset":448,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":76,"rank":0,"right":null,"role":"target"},{"frame":101,"left":{"linear_Z4":[0,0,1,1,1,1,1,1,0],"matrix_rows":[1,2,248,244,236,220,188,124,508],"offset":0,"phase":0,"quadratic_rows":[0,0,252,252,252,252,252,252,0]},"port":77,"rank":0,"right":null,"role":"source"},{"frame":824,"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,12,20,36,68,132,260],"offset":508,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":77,"rank":0,"right":null,"role":"target"},{"frame":356,"left":{"linear_Z4":[0,1,0,1,1,1,1,1,0],"matrix_rows":[1,248,4,242,234,218,186,122,506],"offset":0,"phase":0,"quadratic_rows":[0,250,0,250,250,250,250,250,0]},"port":78,"rank":0,"right":null,"role":"source"},{"frame":1018,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,10,18,34,66,130,258],"offset":506,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":78,"rank":0,"right":null,"role":"target"},{"frame":71,"left":{"linear_Z4":[0,1,1,0,1,1,1,1,0],"matrix_rows":[1,244,242,8,230,214,182,118,502],"offset":0,"phase":0,"quadratic_rows":[0,246,246,0,246,246,246,246,0]},"port":79,"rank":0,"right":null,"role":"source"},{"frame":818,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,6,8,18,34,66,130,258],"offset":502,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":79,"rank":0,"right":null,"role":"target"},{"frame":268,"left":{"linear_Z4":[0,1,1,1,0,1,1,1,0],"matrix_rows":[1,236,234,230,16,206,174,110,494],"offset":0,"phase":0,"quadratic_rows":[0,238,238,238,0,238,238,238,0]},"port":80,"rank":0,"right":null,"role":"source"},{"frame":976,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,6,10,16,34,66,130,258],"offset":494,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":80,"rank":0,"right":null,"role":"target"},{"frame":14,"left":{"linear_Z4":[0,1,1,1,1,0,1,1,0],"matrix_rows":[1,220,218,214,206,32,158,94,478],"offset":0,"phase":0,"quadratic_rows":[0,222,222,222,222,0,222,222,0]},"port":81,"rank":0,"right":null,"role":"source"},{"frame":812,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,6,10,18,32,66,130,258],"offset":478,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":81,"rank":0,"right":null,"role":"target"},{"frame":211,"left":{"linear_Z4":[0,1,1,1,1,1,0,1,0],"matrix_rows":[1,188,186,182,174,158,64,62,446],"offset":0,"phase":0,"quadratic_rows":[0,190,190,190,190,190,0,190,0]},"port":82,"rank":0,"right":null,"role":"source"},{"frame":958,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,6,10,18,34,64,130,258],"offset":446,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":82,"rank":0,"right":null,"role":"target"},{"frame":239,"left":{"linear_Z4":[0,1,1,1,1,1,1,0,0],"matrix_rows":[1,124,122,118,110,94,62,128,382],"offset":0,"phase":0,"quadratic_rows":[0,126,126,126,126,126,126,0,0]},"port":83,"rank":0,"right":null,"role":"source"},{"frame":964,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,6,10,18,34,66,128,258],"offset":382,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":83,"rank":0,"right":null,"role":"target"},{"frame":241,"left":{"linear_Z4":[0,1,1,1,1,1,1,0,0],"matrix_rows":[1,124,122,118,110,94,62,254,256],"offset":0,"phase":0,"quadratic_rows":[0,126,126,126,126,126,126,0,0]},"port":84,"rank":0,"right":null,"role":"source"},{"frame":845,"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,6,10,18,34,66,130,256],"offset":254,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":84,"rank":0,"right":null,"role":"target"},{"frame":155,"left":{"linear_Z4":[1,0,0,1,1,1,1,1,0],"matrix_rows":[248,2,4,241,233,217,185,121,505],"offset":0,"phase":0,"quadratic_rows":[249,0,0,249,249,249,249,249,0]},"port":85,"rank":0,"right":null,"role":"source"},{"frame":831,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,9,17,33,65,129,257],"offset":505,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":85,"rank":0,"right":null,"role":"target"},{"frame":217,"left":{"linear_Z4":[1,0,1,0,1,1,1,1,0],"matrix_rows":[244,2,241,8,229,213,181,117,501],"offset":0,"phase":0,"quadratic_rows":[245,0,245,0,245,245,245,245,0]},"port":86,"rank":0,"right":null,"role":"source"},{"frame":840,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,5,8,17,33,65,129,257],"offset":501,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":86,"rank":0,"right":null,"role":"target"},{"frame":9,"left":{"linear_Z4":[1,0,1,1,0,1,1,1,0],"matrix_rows":[236,2,233,229,16,205,173,109,493],"offset":0,"phase":0,"quadratic_rows":[237,0,237,237,0,237,237,237,0]},"port":87,"rank":0,"right":null,"role":"source"},{"frame":813,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,5,9,16,33,65,129,257],"offset":493,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":87,"rank":0,"right":null,"role":"target"},{"frame":271,"left":{"linear_Z4":[1,0,1,1,1,0,1,1,0],"matrix_rows":[220,2,217,213,205,32,157,93,477],"offset":0,"phase":0,"quadratic_rows":[221,0,221,221,221,0,221,221,0]},"port":88,"rank":0,"right":null,"role":"source"},{"frame":847,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,5,9,17,32,65,129,257],"offset":477,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":88,"rank":0,"right":null,"role":"target"},{"frame":68,"left":{"linear_Z4":[1,0,1,1,1,1,0,1,0],"matrix_rows":[188,2,185,181,173,157,64,61,445],"offset":0,"phase":0,"quadratic_rows":[189,0,189,189,189,189,0,189,0]},"port":89,"rank":0,"right":null,"role":"source"},{"frame":819,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,5,9,17,33,64,129,257],"offset":445,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":89,"rank":0,"right":null,"role":"target"},{"frame":38,"left":{"linear_Z4":[1,0,1,1,1,1,1,0,0],"matrix_rows":[124,2,121,117,109,93,61,128,381],"offset":0,"phase":0,"quadratic_rows":[125,0,125,125,125,125,125,0,0]},"port":90,"rank":0,"right":null,"role":"source"},{"frame":817,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,5,9,17,33,65,128,257],"offset":381,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":90,"rank":0,"right":null,"role":"target"},{"frame":39,"left":{"linear_Z4":[1,0,1,1,1,1,1,0,0],"matrix_rows":[124,2,121,117,109,93,61,253,256],"offset":0,"phase":0,"quadratic_rows":[125,0,125,125,125,125,125,0,0]},"port":91,"rank":0,"right":null,"role":"source"},{"frame":815,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,5,9,17,33,65,129,256],"offset":253,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":91,"rank":0,"right":null,"role":"target"},{"frame":11,"left":{"linear_Z4":[1,1,0,0,1,1,1,1,0],"matrix_rows":[242,241,4,8,227,211,179,115,499],"offset":0,"phase":0,"quadratic_rows":[243,243,0,0,243,243,243,243,0]},"port":92,"rank":0,"right":null,"role":"source"},{"frame":875,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,4,8,17,33,65,129,257],"offset":499,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":92,"rank":0,"right":null,"role":"target"},{"frame":214,"left":{"linear_Z4":[1,1,0,1,0,1,1,1,0],"matrix_rows":[234,233,4,227,16,203,171,107,491],"offset":0,"phase":0,"quadratic_rows":[235,235,0,235,0,235,235,235,0]},"port":93,"rank":0,"right":null,"role":"source"},{"frame":959,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,4,9,16,33,65,129,257],"offset":491,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":93,"rank":0,"right":null,"role":"target"},{"frame":70,"left":{"linear_Z4":[1,1,0,1,1,0,1,1,0],"matrix_rows":[218,217,4,211,203,32,155,91,475],"offset":0,"phase":0,"quadratic_rows":[219,219,0,219,219,0,219,219,0]},"port":94,"rank":0,"right":null,"role":"source"},{"frame":893,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,4,9,17,32,65,129,257],"offset":475,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":94,"rank":0,"right":null,"role":"target"},{"frame":273,"left":{"linear_Z4":[1,1,0,1,1,1,0,1,0],"matrix_rows":[186,185,4,179,171,155,64,59,443],"offset":0,"phase":0,"quadratic_rows":[187,187,0,187,187,187,0,187,0]},"port":95,"rank":0,"right":null,"role":"source"},{"frame":977,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,4,9,17,33,64,129,257],"offset":443,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":95,"rank":0,"right":null,"role":"target"},{"frame":301,"left":{"linear_Z4":[1,1,0,1,1,1,1,0,0],"matrix_rows":[122,121,4,115,107,91,59,128,379],"offset":0,"phase":0,"quadratic_rows":[123,123,0,123,123,123,123,0,0]},"port":96,"rank":0,"right":null,"role":"source"},{"frame":995,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,4,9,17,33,65,128,257],"offset":379,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":96,"rank":0,"right":null,"role":"target"},{"frame":303,"left":{"linear_Z4":[1,1,0,1,1,1,1,0,0],"matrix_rows":[122,121,4,115,107,91,59,251,256],"offset":0,"phase":0,"quadratic_rows":[123,123,0,123,123,123,123,0,0]},"port":97,"rank":0,"right":null,"role":"source"},{"frame":850,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,4,9,17,33,65,129,256],"offset":251,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":97,"rank":0,"right":null,"role":"target"},{"frame":152,"left":{"linear_Z4":[1,1,1,0,0,1,1,1,0],"matrix_rows":[230,229,227,8,16,199,167,103,487],"offset":0,"phase":0,"quadratic_rows":[231,231,231,0,0,231,231,231,0]},"port":98,"rank":0,"right":null,"role":"source"},{"frame":928,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,8,16,33,65,129,257],"offset":487,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":98,"rank":0,"right":null,"role":"target"},{"frame":357,"left":{"linear_Z4":[1,1,1,0,1,0,1,1,0],"matrix_rows":[214,213,211,8,199,32,151,87,471],"offset":0,"phase":0,"quadratic_rows":[215,215,215,0,215,0,215,215,0]},"port":99,"rank":0,"right":null,"role":"source"},{"frame":861,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,8,17,32,65,129,257],"offset":471,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":99,"rank":0,"right":null,"role":"target"},{"frame":95,"left":{"linear_Z4":[1,1,1,0,1,1,0,1,0],"matrix_rows":[182,181,179,8,167,151,64,55,439],"offset":0,"phase":0,"quadratic_rows":[183,183,183,0,183,183,0,183,0]},"port":100,"rank":0,"right":null,"role":"source"},{"frame":910,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,8,17,33,64,129,257],"offset":439,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":100,"rank":0,"right":null,"role":"target"},{"frame":123,"left":{"linear_Z4":[1,1,1,0,1,1,1,0,0],"matrix_rows":[118,117,115,8,103,87,55,128,375],"offset":0,"phase":0,"quadratic_rows":[119,119,119,0,119,119,119,0,0]},"port":101,"rank":0,"right":null,"role":"source"},{"frame":916,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,8,17,33,65,128,257],"offset":375,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":101,"rank":0,"right":null,"role":"target"},{"frame":125,"left":{"linear_Z4":[1,1,1,0,1,1,1,0,0],"matrix_rows":[118,117,115,8,103,87,55,247,256],"offset":0,"phase":0,"quadratic_rows":[119,119,119,0,119,119,119,0,0]},"port":102,"rank":0,"right":null,"role":"source"},{"frame":829,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,8,17,33,65,129,256],"offset":247,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":102,"rank":0,"right":null,"role":"target"},{"frame":98,"left":{"linear_Z4":[1,1,1,1,0,0,1,1,0],"matrix_rows":[206,205,203,199,16,32,143,79,463],"offset":0,"phase":0,"quadratic_rows":[207,207,207,207,0,0,207,207,0]},"port":103,"rank":0,"right":null,"role":"source"},{"frame":911,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,9,16,32,65,129,257],"offset":463,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":103,"rank":0,"right":null,"role":"target"},{"frame":362,"left":{"linear_Z4":[1,1,1,1,0,1,0,1,0],"matrix_rows":[174,173,171,167,16,143,64,47,431],"offset":0,"phase":0,"quadratic_rows":[175,175,175,175,0,175,0,175,0]},"port":104,"rank":0,"right":null,"role":"source"},{"frame":860,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,9,16,33,64,129,257],"offset":431,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":104,"rank":0,"right":null,"role":"target"},{"frame":332,"left":{"linear_Z4":[1,1,1,1,0,1,1,0,0],"matrix_rows":[110,109,107,103,16,79,47,128,367],"offset":0,"phase":0,"quadratic_rows":[111,111,111,111,0,111,111,0,0]},"port":105,"rank":0,"right":null,"role":"source"},{"frame":854,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,9,16,33,65,128,257],"offset":367,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":105,"rank":0,"right":null,"role":"target"},{"frame":333,"left":{"linear_Z4":[1,1,1,1,0,1,1,0,0],"matrix_rows":[110,109,107,103,16,79,47,239,256],"offset":0,"phase":0,"quadratic_rows":[111,111,111,111,0,111,111,0,0]},"port":106,"rank":0,"right":null,"role":"source"},{"frame":856,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,9,16,33,65,129,256],"offset":239,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":106,"rank":0,"right":null,"role":"target"},{"frame":157,"left":{"linear_Z4":[1,1,1,1,1,0,0,1,0],"matrix_rows":[158,157,155,151,143,32,64,31,415],"offset":0,"phase":0,"quadratic_rows":[159,159,159,159,159,0,0,159,0]},"port":107,"rank":0,"right":null,"role":"source"},{"frame":929,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,9,17,32,64,129,257],"offset":415,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":107,"rank":0,"right":null,"role":"target"},{"frame":185,"left":{"linear_Z4":[1,1,1,1,1,0,1,0,0],"matrix_rows":[94,93,91,87,79,32,31,128,351],"offset":0,"phase":0,"quadratic_rows":[95,95,95,95,95,0,95,0,0]},"port":108,"rank":0,"right":null,"role":"source"},{"frame":947,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,9,17,32,65,128,257],"offset":351,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":108,"rank":0,"right":null,"role":"target"},{"frame":187,"left":{"linear_Z4":[1,1,1,1,1,0,1,0,0],"matrix_rows":[94,93,91,87,79,32,31,223,256],"offset":0,"phase":0,"quadratic_rows":[95,95,95,95,95,0,95,0,0]},"port":109,"rank":0,"right":null,"role":"source"},{"frame":834,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,9,17,32,65,129,256],"offset":223,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":109,"rank":0,"right":null,"role":"target"},{"frame":391,"left":{"linear_Z4":[1,1,1,1,1,1,0,0,0],"matrix_rows":[62,61,59,55,47,31,64,128,319],"offset":0,"phase":0,"quadratic_rows":[63,63,63,63,63,63,0,0,0]},"port":110,"rank":0,"right":null,"role":"source"},{"frame":864,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,9,17,33,64,128,257],"offset":319,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":110,"rank":0,"right":null,"role":"target"},{"frame":387,"left":{"linear_Z4":[1,1,1,1,1,1,0,0,0],"matrix_rows":[62,61,59,55,47,31,64,191,256],"offset":0,"phase":0,"quadratic_rows":[63,63,63,63,63,63,0,0,0]},"port":111,"rank":0,"right":null,"role":"source"},{"frame":863,"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,9,17,33,64,129,256],"offset":191,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"port":111,"rank":0,"right":null,"role":"target"}]} \ No newline at end of file diff --git a/research/gauge44-slots/evidence/local/CLIFFORD-REVIEW.json b/research/gauge44-slots/evidence/local/CLIFFORD-REVIEW.json new file mode 100644 index 0000000000..6b12ae0e4b --- /dev/null +++ b/research/gauge44-slots/evidence/local/CLIFFORD-REVIEW.json @@ -0,0 +1,19 @@ +{ + "status": "PASS_NEW_WORD_EXACT_LOCAL_PHASE_RECIPES", + "canonical_word_sha256": "92941c2b718b533f1d3addb710d261a6e2b9ec5d19f0051d79775b08cb2571ed", + "frames": 1037, + "directed_edges": 3019, + "ranks": { + "1": 2029, + "2": 394, + "3": 412, + "8": 16, + "4": 154, + "5": 14 + }, + "endpoint_adapters": 224, + "all_child_equalities_include_global_phase": true, + "recipe_sha256": "0a60293f43d88dbb1b321f02e61204afe1b6272b1346968ef35705caea1e4771", + "seconds": 198.28347681800005, + "scope": "Every local frame and center transition. Expanded scalar-interface integration and global emitted program are separate obligations." +} diff --git a/research/gauge44-slots/evidence/local/FULL-WORD.json.gz b/research/gauge44-slots/evidence/local/FULL-WORD.json.gz new file mode 100644 index 0000000000..447d45d08b Binary files /dev/null and b/research/gauge44-slots/evidence/local/FULL-WORD.json.gz differ diff --git a/research/gauge44-slots/evidence/local/INDEPENDENT-LOCAL-REPLAY.json b/research/gauge44-slots/evidence/local/INDEPENDENT-LOCAL-REPLAY.json new file mode 100644 index 0000000000..aa15edfba5 --- /dev/null +++ b/research/gauge44-slots/evidence/local/INDEPENDENT-LOCAL-REPLAY.json @@ -0,0 +1,71 @@ +{ + "status": "PASS_INDEPENDENT_LOCAL_SCALAR_FRAME_AND_WRAPPER_REPLAY", + "canonical_word_sha256": "92941c2b718b533f1d3addb710d261a6e2b9ec5d19f0051d79775b08cb2571ed", + "local_programs_sha256": "172dc3d23e437909ddc01d07b12ede735afbb5bb6145f1ddf5c2e03097dfebe2", + "v": 112, + "helpers": 492, + "local": { + "forward": { + "all_exact_columns": 716, + "prefix_l1_upper": "2323449462751823289130723296176889733365478515961323543/64", + "prefix_bits_upper": 175, + "charged_payload_bits": 192, + "private_work_erased": true + }, + "backward": { + "all_exact_columns": 716, + "prefix_l1_upper": "600338326363508935771850050281004728884643/32", + "prefix_bits_upper": 134, + "charged_payload_bits": 192, + "private_work_erased": true + } + }, + "paid_profiles": { + "forward": { + "1": 2514, + "4": 160, + "8": 8, + "3": 448, + "2": 404, + "5": 56 + }, + "backward": { + "1": 2514, + "4": 160, + "8": 8, + "3": 448, + "2": 404, + "5": 56 + } + }, + "entering_helpers": 204, + "cold_hyperplane_ended_helpers": 44, + "negative_controls_rejected": [ + "wrong_scale", + "missing_center", + "wrong_common_frame", + "wrong_child_rank", + "missing_pre_wrapper", + "missing_post_wrapper", + "wrapper_with_wrong_frame", + "wrapper_in_wrong_phase", + "wrapper_on_a_data_register", + "wrapper_on_a_target_register", + "wrapper_on_a_centre_register", + "hpe_pre_wrapper_resolved_to_full_recipe", + "hpe_post_wrapper_without_terminal_frame", + "hpe_post_wrapper_wrong_terminal_frame", + "hpe_tail_gate_at_full_frame", + "hpe_tail_climb_dropped", + "hpe_helper_exit_adapter_to_full", + "hpe_tail_gate_moved_into_full_cleanup", + "cold_hpe_pre_wrapper_replaced_by_identity_entry_adapter", + "cold_hpe_pre_wrapper_dropped", + "cold_hpe_post_wrapper_replaced_by_exit_adapter", + "cold_hpe_pre_wrapper_resolved_to_cold_full_convention", + "cold_hpe_wrapper_with_nonzero_entrance", + "cold_hpe_post_wrapper_wrong_terminal_frame", + "cold_hpe_premix_gate_before_pre_wrapper" + ], + "scope": "Literal forward and inverse-transpose replay on every arbitrary data/helper column, physical frame incidence, ordered paid wrappers, cleared private work and prefix coefficients. Global hosting and outer exponent are separate." +} diff --git a/research/gauge44-slots/evidence/local/LOCAL-CHECKS.json b/research/gauge44-slots/evidence/local/LOCAL-CHECKS.json new file mode 100644 index 0000000000..3872f0e596 --- /dev/null +++ b/research/gauge44-slots/evidence/local/LOCAL-CHECKS.json @@ -0,0 +1,36 @@ +{ + "forward": { + "sha256": "d17399c8c7458bb7110d8596fab5f769cd4cb3733a3042277fa08bf03f42d6c9", + "events": 46772, + "scalar_macros": 41570, + "real_component_primitive_bound": 420052, + "paid_profile": { + "1": 2514, + "2": 404, + "3": 448, + "4": 160, + "5": 56, + "8": 8 + }, + "all_columns": 716, + "private_centers_cleared": true, + "private_coefficient_stream_cleared_after_each_macro": true + }, + "backward": { + "sha256": "4772df0663f88cc218fd7254eb202f46daf136c06e9e96c19ed8ea218b545dc4", + "events": 46772, + "scalar_macros": 41570, + "real_component_primitive_bound": 420100, + "paid_profile": { + "1": 2514, + "2": 404, + "3": 448, + "4": 160, + "5": 56, + "8": 8 + }, + "all_columns": 716, + "private_centers_cleared": true, + "private_coefficient_stream_cleared_after_each_macro": true + } +} diff --git a/research/gauge44-slots/evidence/local/LOCAL-PROGRAMS.json.gz b/research/gauge44-slots/evidence/local/LOCAL-PROGRAMS.json.gz new file mode 100644 index 0000000000..d511f2afa4 Binary files /dev/null and b/research/gauge44-slots/evidence/local/LOCAL-PROGRAMS.json.gz differ diff --git a/research/gauge44-slots/evidence/local/RESIDUAL-ADAPTERS.json b/research/gauge44-slots/evidence/local/RESIDUAL-ADAPTERS.json new file mode 100644 index 0000000000..9c66f92ffb --- /dev/null +++ b/research/gauge44-slots/evidence/local/RESIDUAL-ADAPTERS.json @@ -0,0 +1 @@ +{"recipes":{"0:122":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[2,2,2,3,0,0,0,0,0],"matrix_rows":[18,33,68,136,10,9,11,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,8,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[1,1,3,1,1,1,2,3,2],"matrix_rows":[50,49,388,8,97,82,260,120,384],"offset":4,"phase":1,"quadratic_rows":[81,98,132,120,57,58,11,132,0]},"terminal":122,"terminal_rank":4,"terminal_vectors":[388,75,41,26],"vectors":[]},"0:151":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[3,3,3,2,0,0,0,0,0],"matrix_rows":[30,35,69,128,270,3,5,9,1],"offset":0,"phase":0,"quadratic_rows":[9,2,4,1,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[1,2,2,0,1,2,2,3,0],"matrix_rows":[390,19,21,145,481,34,68,8,496],"offset":8,"phase":1,"quadratic_rows":[375,437,467,0,375,19,21,390,151]},"terminal":151,"terminal_rank":4,"terminal_vectors":[273,145,85,51],"vectors":[]},"0:180":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[2,2,2,3,0,0,0,0,0],"matrix_rows":[17,36,66,136,14,12,10,257,1],"offset":0,"phase":0,"quadratic_rows":[0,4,2,8,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[3,1,1,1,2,1,1,3,2],"matrix_rows":[385,100,98,8,257,82,52,120,384],"offset":1,"phase":1,"quadratic_rows":[129,50,84,120,14,106,108,129,0]},"terminal":180,"terminal_rank":4,"terminal_vectors":[385,74,44,30],"vectors":[]},"0:209":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[3,3,3,2,0,0,0,0,0],"matrix_rows":[19,45,70,141,6,256,3,10,2],"offset":0,"phase":0,"quadratic_rows":[1,10,4,2,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[2,1,2,1,2,0,2,3,0],"matrix_rows":[11,389,14,138,65,466,20,472,32],"offset":8,"phase":1,"quadratic_rows":[462,351,411,351,14,0,11,389,143]},"terminal":209,"terminal_rank":4,"terminal_vectors":[266,138,75,30],"vectors":[]},"0:238":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[3,3,2,2,0,0,0,0,0],"matrix_rows":[22,33,71,5,3,136,2,264,8],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[2,3,1,2,2,3,2,3,2],"matrix_rows":[6,5,93,416,25,82,76,288,384],"offset":15,"phase":0,"quadratic_rows":[64,86,22,0,6,160,3,160,0]},"terminal":238,"terminal_rank":4,"terminal_vectors":[416,70,19,13],"vectors":[]},"0:267":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[3,3,3,2,0,0,0,0,0],"matrix_rows":[16,46,78,131,3,261,5,9,1],"offset":0,"phase":0,"quadratic_rows":[9,2,4,1,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[0,1,1,2,2,2,2,3,0],"matrix_rows":[424,14,38,134,1,466,468,24,96],"offset":8,"phase":1,"quadratic_rows":[0,382,382,438,14,462,38,424,174]},"terminal":267,"terminal_rank":4,"terminal_vectors":[262,134,102,30],"vectors":[]},"0:296":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[3,3,2,2,0,0,0,0,0],"matrix_rows":[18,41,75,132,10,1,3,260,4],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[3,2,1,3,2,2,2,3,2],"matrix_rows":[6,5,392,118,97,82,52,264,384],"offset":15,"phase":0,"quadratic_rows":[101,32,69,136,0,3,5,136,0]},"terminal":296,"terminal_rank":4,"terminal_vectors":[392,67,37,22],"vectors":[]},"0:325":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[3,3,3,2,0,0,0,0,0],"matrix_rows":[30,46,64,131,261,5,3,9,1],"offset":0,"phase":0,"quadratic_rows":[9,2,4,1,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[1,1,0,2,2,2,2,3,0],"matrix_rows":[408,11,19,131,481,482,4,72,48],"offset":8,"phase":1,"quadratic_rows":[379,379,0,467,427,19,11,408,155]},"terminal":325,"terminal_rank":4,"terminal_vectors":[259,131,75,51],"vectors":[]},"0:35":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[3,3,2,2,0,0,0,0,0],"matrix_rows":[22,37,67,7,1,2,136,264,8],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[2,2,2,2,2,2,3,3,2],"matrix_rows":[6,5,59,448,25,42,52,320,384],"offset":15,"phase":0,"quadratic_rows":[38,21,51,0,6,5,192,192,0]},"terminal":35,"terminal_rank":4,"terminal_vectors":[448,38,21,11],"vectors":[]},"0:354":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[3,3,3,2,0,0,0,0,0],"matrix_rows":[30,35,69,142,256,5,3,9,1],"offset":0,"phase":0,"quadratic_rows":[9,2,4,1,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[1,2,2,1,0,2,2,3,0],"matrix_rows":[390,11,13,137,481,66,36,488,16],"offset":8,"phase":1,"quadratic_rows":[367,461,427,367,0,13,11,390,143]},"terminal":354,"terminal_rank":4,"terminal_vectors":[265,137,75,45],"vectors":[]},"0:383":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[2,2,2,3,0,0,0,0,0],"matrix_rows":[20,34,65,136,12,13,9,258,2],"offset":0,"phase":0,"quadratic_rows":[4,0,1,8,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[1,3,1,1,1,2,1,3,2],"matrix_rows":[84,386,81,8,97,258,52,120,384],"offset":2,"phase":1,"quadratic_rows":[49,130,100,120,89,13,92,130,0]},"terminal":383,"terminal_rank":4,"terminal_vectors":[386,73,45,28],"vectors":[]},"0:412":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[3,3,3,2,0,0,0,0,0],"matrix_rows":[21,38,75,139,6,5,256,12,4],"offset":0,"phase":0,"quadratic_rows":[1,2,12,4,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[2,2,1,1,2,2,0,3,0],"matrix_rows":[13,14,387,140,33,18,436,440,64],"offset":8,"phase":1,"quadratic_rows":[430,413,319,319,14,13,0,387,143]},"terminal":412,"terminal_rank":4,"terminal_vectors":[268,140,45,30],"vectors":[]},"0:64":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[3,3,3,2,0,0,0,0,0],"matrix_rows":[30,32,78,131,261,3,5,9,1],"offset":0,"phase":0,"quadratic_rows":[9,2,4,1,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[1,0,1,2,2,2,2,3,0],"matrix_rows":[408,13,21,133,481,2,484,40,80],"offset":8,"phase":1,"quadratic_rows":[381,0,381,437,461,13,21,408,157]},"terminal":64,"terminal_rank":4,"terminal_vectors":[261,133,85,45],"vectors":[]},"0:93":{"entrance_rank":0,"frame":0,"left":{"linear_Z4":[3,3,2,2,0,0,0,0,0],"matrix_rows":[18,37,71,6,136,3,1,264,8],"offset":0,"phase":0,"quadratic_rows":[1,2,0,0,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[3,2,1,2,3,2,2,3,2],"matrix_rows":[6,5,110,400,97,42,76,272,384],"offset":15,"phase":0,"quadratic_rows":[101,64,37,0,144,5,3,144,0]},"terminal":93,"terminal_rank":4,"terminal_vectors":[400,69,35,14],"vectors":[]},"2":{"entrance_rank":1,"frame":2,"left":{"linear_Z4":[3,3,2,3,2,2,3,3,0],"matrix_rows":[257,2,4,8,16,32,64,128,203],"offset":0,"phase":0,"quadratic_rows":[203,203,0,203,0,0,203,203,0]},"rank":8,"right":{"linear_Z4":[0,0,2,0,2,2,0,0,0],"matrix_rows":[1,258,4,264,16,32,320,384,256],"offset":309,"phase":3,"quadratic_rows":[256,256,0,256,0,0,256,256,203]},"vectors":[459]},"3":{"entrance_rank":1,"frame":3,"left":{"linear_Z4":[3,3,2,3,2,2,2,2,0],"matrix_rows":[257,2,4,8,16,32,11,64,128],"offset":0,"phase":0,"quadratic_rows":[11,11,0,11,0,0,0,0,0]},"rank":8,"right":{"linear_Z4":[0,0,2,0,2,2,0,2,2],"matrix_rows":[1,66,4,72,16,32,128,256,64],"offset":244,"phase":1,"quadratic_rows":[64,64,0,64,0,0,11,0,0]},"vectors":[75]},"4":{"entrance_rank":1,"frame":4,"left":{"linear_Z4":[2,3,3,2,2,3,2,2,0],"matrix_rows":[1,258,4,8,16,32,38,64,128],"offset":0,"phase":0,"quadratic_rows":[0,38,38,0,0,38,0,0,0]},"rank":8,"right":{"linear_Z4":[2,0,0,2,2,0,0,2,2],"matrix_rows":[1,2,68,8,16,96,128,256,64],"offset":217,"phase":1,"quadratic_rows":[0,64,64,0,0,64,38,0,0]},"vectors":[102]},"421":{"entrance_rank":1,"frame":421,"left":{"linear_Z4":[3,2,3,3,2,2,2,2,0],"matrix_rows":[257,2,4,8,16,13,32,64,128],"offset":0,"phase":0,"quadratic_rows":[13,0,13,13,0,0,0,0,0]},"rank":8,"right":{"linear_Z4":[0,2,0,0,2,0,2,2,2],"matrix_rows":[1,2,36,40,16,64,128,256,32],"offset":242,"phase":1,"quadratic_rows":[32,0,32,32,0,13,0,0,0]},"vectors":[45]},"421:1034":{"entrance_rank":1,"frame":421,"left":{"linear_Z4":[3,2,3,2,2,2,2,0,0],"matrix_rows":[128,2,261,1,8,4,16,32,64],"offset":0,"phase":0,"quadratic_rows":[5,0,5,0,0,0,0,0,0]},"rank":7,"right":{"linear_Z4":[2,2,0,3,2,3,2,2,2],"matrix_rows":[44,2,4,16,64,128,256,13,32],"offset":511,"phase":1,"quadratic_rows":[12,0,1,41,0,40,0,0,0]},"terminal":1034,"terminal_rank":8,"terminal_vectors":[256,128,64,33,16,9,5,2],"vectors":[45]},"422":{"entrance_rank":1,"frame":422,"left":{"linear_Z4":[3,3,2,2,3,2,2,2,0],"matrix_rows":[257,2,4,8,16,19,32,64,128],"offset":0,"phase":0,"quadratic_rows":[19,19,0,0,19,0,0,0,0]},"rank":8,"right":{"linear_Z4":[0,0,2,2,0,0,2,2,2],"matrix_rows":[1,34,4,8,48,64,128,256,32],"offset":236,"phase":1,"quadratic_rows":[32,32,0,0,32,19,0,0,0]},"vectors":[51]},"422:1035":{"entrance_rank":1,"frame":422,"left":{"linear_Z4":[3,3,2,2,2,2,2,0,0],"matrix_rows":[128,259,4,8,1,2,16,32,64],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"rank":7,"right":{"linear_Z4":[2,0,2,2,3,3,2,2,2],"matrix_rows":[50,2,4,8,64,128,256,19,32],"offset":511,"phase":1,"quadratic_rows":[18,1,0,0,49,48,0,0,0]},"terminal":1035,"terminal_rank":8,"terminal_vectors":[256,128,64,33,17,8,4,3],"vectors":[51]},"423":{"entrance_rank":1,"frame":423,"left":{"linear_Z4":[2,3,3,3,2,2,2,2,0],"matrix_rows":[1,258,4,8,14,16,32,64,128],"offset":0,"phase":0,"quadratic_rows":[0,14,14,14,0,0,0,0,0]},"rank":8,"right":{"linear_Z4":[2,0,0,0,0,2,2,2,2],"matrix_rows":[1,2,20,24,32,64,128,256,16],"offset":241,"phase":1,"quadratic_rows":[0,16,16,16,14,0,0,0,0]},"vectors":[30]},"423:1036":{"entrance_rank":1,"frame":423,"left":{"linear_Z4":[2,3,3,2,2,2,2,0,0],"matrix_rows":[1,128,262,2,4,8,16,32,64],"offset":0,"phase":0,"quadratic_rows":[0,6,6,0,0,0,0,0,0]},"rank":7,"right":{"linear_Z4":[2,2,0,3,3,2,2,2,2],"matrix_rows":[1,28,4,32,64,128,256,14,16],"offset":511,"phase":1,"quadratic_rows":[0,12,2,26,24,0,0,0,0]},"terminal":1036,"terminal_rank":8,"terminal_vectors":[256,128,64,32,18,10,6,1],"vectors":[30]},"424":{"entrance_rank":4,"frame":424,"left":{"linear_Z4":[2,3,2,2,3,0,0,0,0],"matrix_rows":[33,65,2,132,264,8,4,16,31],"offset":0,"phase":0,"quadratic_rows":[30,31,27,23,31,0,0,0,0]},"rank":5,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,260,264,272,384,352,354,64,32],"offset":429,"phase":0,"quadratic_rows":[96,0,256,320,288,17,9,256,156]},"vectors":[413,72,48,3]},"425":{"entrance_rank":4,"frame":425,"left":{"linear_Z4":[2,2,2,3,3,0,0,0,0],"matrix_rows":[33,66,132,257,8,4,2,16,31],"offset":0,"phase":0,"quadratic_rows":[30,29,27,31,31,0,0,0,0]},"rank":5,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,258,260,272,384,352,64,32,360],"offset":231,"phase":0,"quadratic_rows":[96,320,288,0,256,5,3,256,150]},"vectors":[407,66,36,9]},"426":{"entrance_rank":4,"frame":426,"left":{"linear_Z4":[2,2,2,3,3,0,0,0,0],"matrix_rows":[33,66,132,260,2,1,8,16,31],"offset":0,"phase":0,"quadratic_rows":[30,29,27,31,31,0,0,0,0]},"rank":5,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,258,260,320,384,32,16,304,312],"offset":231,"phase":0,"quadratic_rows":[288,272,48,0,6,5,256,256,195]},"vectors":[455,33,18,12]},"427":{"entrance_rank":4,"frame":427,"left":{"linear_Z4":[2,2,2,3,3,0,0,0,0],"matrix_rows":[33,66,4,136,16,13,21,258,2],"offset":0,"phase":0,"quadratic_rows":[24,0,24,13,21,0,0,0,0]},"rank":5,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[33,258,100,72,80,64,256,96,384],"offset":66,"phase":0,"quadratic_rows":[96,0,96,32,64,13,21,0,0]},"vectors":[258,130,85,45]},"428":{"entrance_rank":4,"frame":428,"left":{"linear_Z4":[2,3,3,2,2,0,0,0,0],"matrix_rows":[33,66,4,136,16,19,21,264,8],"offset":0,"phase":0,"quadratic_rows":[6,19,21,0,6,0,0,0,0]},"rank":5,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[33,66,68,264,112,64,96,256,384],"offset":136,"phase":0,"quadratic_rows":[96,32,64,0,96,19,21,0,0]},"vectors":[264,136,85,51]},"429":{"entrance_rank":4,"frame":429,"left":{"linear_Z4":[3,2,2,2,3,0,0,0,0],"matrix_rows":[33,66,2,132,4,264,8,16,31],"offset":0,"phase":0,"quadratic_rows":[31,29,27,23,31,0,0,0,0]},"rank":5,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[85,258,264,288,384,340,4,16,64],"offset":462,"phase":0,"quadratic_rows":[256,260,258,272,264,320,288,256,255]},"vectors":[427,96,24,6]},"430":{"entrance_rank":4,"frame":430,"left":{"linear_Z4":[2,2,2,3,3,0,0,0,0],"matrix_rows":[33,66,132,258,4,8,1,16,31],"offset":0,"phase":0,"quadratic_rows":[30,29,27,31,31,0,0,0,0]},"rank":5,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,258,260,288,384,64,336,16,344],"offset":231,"phase":0,"quadratic_rows":[320,80,272,0,6,256,3,256,165]},"vectors":[423,65,20,10]},"431":{"entrance_rank":4,"frame":431,"left":{"linear_Z4":[2,2,2,3,3,0,0,0,0],"matrix_rows":[33,66,4,136,14,16,22,257,1],"offset":0,"phase":0,"quadratic_rows":[0,24,24,14,22,0,0,0,0]},"rank":5,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[257,18,84,72,96,256,64,80,384],"offset":33,"phase":0,"quadratic_rows":[0,80,80,16,14,64,38,0,0]},"vectors":[257,129,102,30]},"432":{"entrance_rank":4,"frame":432,"left":{"linear_Z4":[2,2,2,3,3,0,0,0,0],"matrix_rows":[33,66,132,264,1,2,4,16,31],"offset":0,"phase":0,"quadratic_rows":[30,29,27,31,31,0,0,0,0]},"rank":5,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[257,258,260,120,384,16,32,64,368],"offset":231,"phase":0,"quadratic_rows":[272,288,320,256,257,258,260,256,255]},"vectors":[399,68,34,17]},"433":{"entrance_rank":4,"frame":433,"left":{"linear_Z4":[2,3,2,2,3,0,0,0,0],"matrix_rows":[33,66,1,132,264,4,8,16,31],"offset":0,"phase":0,"quadratic_rows":[30,31,27,23,31,0,0,0,0]},"rank":5,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[257,102,264,272,384,4,356,32,64],"offset":429,"phase":0,"quadratic_rows":[260,256,257,288,320,264,272,256,255]},"vectors":[411,80,40,5]},"434":{"entrance_rank":4,"frame":434,"left":{"linear_Z4":[2,3,3,2,2,0,0,0,0],"matrix_rows":[33,66,4,8,144,13,11,272,16],"offset":0,"phase":0,"quadratic_rows":[6,11,13,6,0,0,0,0,0]},"rank":5,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[65,34,36,104,272,32,96,256,384],"offset":144,"phase":0,"quadratic_rows":[96,64,32,96,0,13,11,0,0]},"vectors":[272,144,75,45]},"435":{"entrance_rank":4,"frame":435,"left":{"linear_Z4":[3,3,2,2,2,0,0,0,0],"matrix_rows":[33,66,4,8,14,13,144,272,16],"offset":0,"phase":0,"quadratic_rows":[13,14,3,3,0,0,0,0,0]},"rank":5,"right":{"linear_Z4":[0,0,0,0,0,0,0,0,2],"matrix_rows":[1,2,52,56,320,32,16,256,384],"offset":144,"phase":0,"quadratic_rows":[32,16,48,48,14,13,0,0,0]},"vectors":[320,192,45,30]},"436":{"entrance_rank":5,"frame":436,"left":{"linear_Z4":[3,2,2,2,0,0,0,0,0],"matrix_rows":[17,34,67,4,5,136,7,264,8],"offset":0,"phase":0,"quadratic_rows":[1,4,2,0,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[0,2,0,0,3,0,3,0,2],"matrix_rows":[1,82,88,288,16,80,68,256,384],"offset":249,"phase":2,"quadratic_rows":[16,0,0,80,89,0,88,0,0]},"vectors":[288,160,75,25,7]},"437":{"entrance_rank":5,"frame":437,"left":{"linear_Z4":[2,2,2,3,0,0,0,0,0],"matrix_rows":[17,34,68,136,9,10,11,260,4],"offset":0,"phase":0,"quadratic_rows":[2,1,0,8,0,0,0,0,0]},"rank":4,"right":{"linear_Z4":[0,0,0,2,1,1,0,0,2],"matrix_rows":[49,50,260,8,96,80,256,112,384],"offset":127,"phase":1,"quadratic_rows":[80,96,0,112,57,58,11,0,0]},"vectors":[260,132,75,42,25]},"5":{"entrance_rank":1,"frame":5,"left":{"linear_Z4":[2,2,2,3,3,3,2,2,0],"matrix_rows":[1,2,4,264,16,32,56,64,128],"offset":0,"phase":0,"quadratic_rows":[0,0,0,56,56,56,0,0,0]},"rank":8,"right":{"linear_Z4":[2,2,2,0,0,0,0,2,2],"matrix_rows":[1,2,4,8,80,96,128,256,64],"offset":199,"phase":1,"quadratic_rows":[0,0,0,64,64,64,56,0,0]},"vectors":[120]},"6":{"entrance_rank":1,"frame":6,"left":{"linear_Z4":[3,2,3,2,3,2,2,2,0],"matrix_rows":[257,2,4,8,16,32,21,64,128],"offset":0,"phase":0,"quadratic_rows":[21,0,21,0,21,0,0,0,0]},"rank":8,"right":{"linear_Z4":[0,2,0,2,0,2,0,2,2],"matrix_rows":[1,2,68,8,80,32,128,256,64],"offset":234,"phase":1,"quadratic_rows":[64,0,64,0,64,0,21,0,0]},"vectors":[85]}},"status":"RESIDUAL_ADAPTER_RECIPES"} diff --git a/research/gauge44-slots/evidence/local/SCALAR-FRAME-AUDIT.json b/research/gauge44-slots/evidence/local/SCALAR-FRAME-AUDIT.json new file mode 100644 index 0000000000..23bf3d263e --- /dev/null +++ b/research/gauge44-slots/evidence/local/SCALAR-FRAME-AUDIT.json @@ -0,0 +1,654 @@ +{ + "status": "PASS_CHANGED_WORD_ALL_COLUMNS_AND_NATIVE_FRAMES", + "input_content_sha256": "78c7aadacb6eec2eeecc124ca236e5bcfdba6a52b30c2971aaa596d1d119b290", + "routing_content_sha256": "7c84ac65c8b37173aa4293934f041915895e8ec30595844cc1534e2a19ae0d25", + "canonical_content_sha256": "e6daee410e04d5e023faf21144081534ad222d334ce786e6b5f52407e6b3c41f", + "live_columns_each_orientation": 716, + "helpers": 492, + "compensation_additions": 7348, + "scalar_operations": 41546, + "center_rank_sum": 64, + "local_profile": { + "1": 2514, + "2": 404, + "3": 448, + "4": 160, + "5": 56, + "8": 8 + }, + "local_rank_mass": 5650, + "widths": [ + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 9, + 8, + 9, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ], + "frames": 1037, + "directed_edges": 3019, + "tau": 43, + "target_port_order_matches_baseline": true, + "seconds": 4.39260065399958, + "scope": "Fresh exact forward and inverse-transpose scalar replay on every arbitrary input; all native frame chains and dyadic primitives. Phase lowering, wrappers, global owners and global assembly are separate.", + "hyperplane_ended_helpers": [ + 225, + 227, + 241, + 243, + 257, + 259, + 273, + 275, + 277, + 282, + 289, + 291, + 293, + 298, + 305, + 307, + 309, + 314, + 321, + 323, + 325, + 330, + 337, + 339, + 341, + 346, + 353, + 355, + 357, + 362, + 369, + 371, + 373, + 378, + 385, + 387, + 389, + 394, + 401, + 403, + 417, + 419, + 433, + 435, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 467, + 468, + 477, + 490, + 491, + 514, + 515, + 538, + 539, + 562, + 563, + 574, + 583, + 584, + 593, + 594, + 595, + 596, + 598, + 600, + 601, + 602, + 603 + ], + "early_cleanup_gates": 94, + "cold_hyperplane_ended_helpers": [ + 225, + 227, + 241, + 243, + 257, + 259, + 273, + 275, + 277, + 282, + 289, + 291, + 293, + 298, + 305, + 307, + 309, + 314, + 321, + 323, + 325, + 330, + 337, + 339, + 341, + 346, + 353, + 355, + 357, + 362, + 369, + 371, + 373, + 378, + 385, + 387, + 389, + 394, + 401, + 403, + 417, + 419, + 433, + 435 + ], + "refactored_cleanup_gates": 28150, + "refactored_cleanup": { + "exact_non_target_isolation_checked": true, + "high_inverse": "dyadic_sparse_Gauss_Jordan", + "kind": "source_branch_gauge_and_retired_completion_cold44", + "new_cold_ends": 44 + } +} diff --git a/research/gauge44-slots/evidence/local/WRAPPER-CHECKS.json b/research/gauge44-slots/evidence/local/WRAPPER-CHECKS.json new file mode 100644 index 0000000000..a18afd4fad --- /dev/null +++ b/research/gauge44-slots/evidence/local/WRAPPER-CHECKS.json @@ -0,0 +1,413 @@ +{ + "status": "PASS_RESIDUAL_WRAPPERS_ARE_EXACT", + "frames": 22, + "hyperplane_end_pairs": [ + { + "frame": 0, + "terminal": 35, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 0, + "terminal": 64, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 0, + "terminal": 93, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 0, + "terminal": 122, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 0, + "terminal": 151, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 0, + "terminal": 180, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 0, + "terminal": 209, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 0, + "terminal": 238, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 0, + "terminal": 267, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 0, + "terminal": 296, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 0, + "terminal": 325, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 0, + "terminal": 354, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 0, + "terminal": 383, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 0, + "terminal": 412, + "entrance_rank": 0, + "terminal_rank": 4, + "residual_width": 4 + }, + { + "frame": 421, + "terminal": 1034, + "entrance_rank": 1, + "terminal_rank": 8, + "residual_width": 7 + }, + { + "frame": 422, + "terminal": 1035, + "entrance_rank": 1, + "terminal_rank": 8, + "residual_width": 7 + }, + { + "frame": 423, + "terminal": 1036, + "entrance_rank": 1, + "terminal_rank": 8, + "residual_width": 7 + } + ], + "cold_hyperplane_end_pairs": 14, + "wrappers_reject": [ + "wrong global phase", + "wrong translation", + "wrong quadratic form", + "sides swapped", + "wrong width", + "hpe: U-wrapper decoded against a FULL ending", + "hpe: width misreported as 9 - dim E", + "hpe: wrong terminal hyperplane", + "hpe: pre wrapper resolved to the FULL recipe R_{E,FULL}", + "hpe: wrong global phase", + "cold hpe: identity pre wrapper instead of R_{0,U}", + "cold hpe: identity post wrapper instead of L_{0,U}", + "cold hpe: no wrappers (cold FULL convention L = R = I)", + "cold hpe: U-wrapper decoded against a FULL ending", + "cold hpe: width misreported as 9", + "cold hpe: wrong terminal hyperplane", + "cold hpe: wrong global phase" + ], + "all_even_weight": false, + "all_totally_isotropic": false, + "detail": [ + { + "frame": 2, + "entrance_rank": 1, + "residual_width": 8, + "vectors": [ + 459 + ], + "all_even_weight": true, + "totally_isotropic": true + }, + { + "frame": 3, + "entrance_rank": 1, + "residual_width": 8, + "vectors": [ + 75 + ], + "all_even_weight": true, + "totally_isotropic": true + }, + { + "frame": 4, + "entrance_rank": 1, + "residual_width": 8, + "vectors": [ + 102 + ], + "all_even_weight": true, + "totally_isotropic": true + }, + { + "frame": 5, + "entrance_rank": 1, + "residual_width": 8, + "vectors": [ + 120 + ], + "all_even_weight": true, + "totally_isotropic": true + }, + { + "frame": 6, + "entrance_rank": 1, + "residual_width": 8, + "vectors": [ + 85 + ], + "all_even_weight": true, + "totally_isotropic": true + }, + { + "frame": 421, + "entrance_rank": 1, + "residual_width": 8, + "vectors": [ + 45 + ], + "all_even_weight": true, + "totally_isotropic": true + }, + { + "frame": 422, + "entrance_rank": 1, + "residual_width": 8, + "vectors": [ + 51 + ], + "all_even_weight": true, + "totally_isotropic": true + }, + { + "frame": 423, + "entrance_rank": 1, + "residual_width": 8, + "vectors": [ + 30 + ], + "all_even_weight": true, + "totally_isotropic": true + }, + { + "frame": 424, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 413, + 72, + 48, + 3 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 425, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 407, + 66, + 36, + 9 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 426, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 455, + 33, + 18, + 12 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 427, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 258, + 130, + 85, + 45 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 428, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 264, + 136, + 85, + 51 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 429, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 427, + 96, + 24, + 6 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 430, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 423, + 65, + 20, + 10 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 431, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 257, + 129, + 102, + 30 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 432, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 399, + 68, + 34, + 17 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 433, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 411, + 80, + 40, + 5 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 434, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 272, + 144, + 75, + 45 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 435, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 320, + 192, + 45, + 30 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 436, + "entrance_rank": 5, + "residual_width": 4, + "vectors": [ + 288, + 160, + 75, + 25, + 7 + ], + "all_even_weight": false, + "totally_isotropic": false + }, + { + "frame": 437, + "entrance_rank": 5, + "residual_width": 4, + "vectors": [ + 260, + 132, + 75, + 42, + 25 + ], + "all_even_weight": false, + "totally_isotropic": false + } + ] +} diff --git a/research/gauge44-slots/hosting/PROOF.md b/research/gauge44-slots/hosting/PROOF.md new file mode 100644 index 0000000000..b551b6d3e5 --- /dev/null +++ b/research/gauge44-slots/hosting/PROOF.md @@ -0,0 +1,237 @@ +# Exact owner reuse and concave-cost matching + +## 1. Objects and interface assumptions + +The parent controller has 72 ordered calls, 112 source ports, 112 target ports, +and 492 helper roles per call. The ambient dimension is 73. A pending-child +group is a triple + +$$ +g=(\text{owner replica},\text{child},\text{port}). +$$ + +The parent window catalogue gives group capacity $C_g$, together with the call +times at which its physical stream is idle. The map from a group to its +physical family is + +$$ +F(g)=896\,\text{owner replica} + +112(2\,\text{pair(child)}+\text{side(child)})+\text{port}. +$$ + +At every call in this particular parent geometry, at most one pending child of +a physical family is eligible. Both the matcher and the independent frozen +audit check this condition. They also exclude both active data families of the +call. Consequently, injective assignment to eligible groups is equivalent to +assignment to distinct idle physical families at that call. + +Helper $h$ requests an integer width $w_h$, read afresh from the new local +word as the final-frame dimension minus the start-frame dimension. Native +program profiles are also recomputed from their paid edges. The finite local +compiler supplies the normalized helper chart and verifies its warm-start +semantics. A hosted width is a reservation in the pending child's address +coordinates on an existing physical stream; it is not a new physical stream. + +This proof concerns the discrete assignment and its moment contribution. It +uses the parent windows as input. Independent global admission must verify +those windows against the actual controller and construct the actual +73-column charts for the fresh native local word. + +## 2. Feasible shrinking on the original families + +For one call, sort the old slot widths and the new helper widths increasingly, +breaking ties by the old or new helper number. Suppose the new width in each +position is no larger than its matched old width. Assign that helper to the +matched old slot. + +This operation preserves the call time, stage, replica, pending child, port, +owner replica, and physical family. It preserves the set of 492 distinct +helper-owner families at the call, so the old window and active-data +exclusions still hold. In each pending-child group, the sum of new widths is +no larger than the old sum, hence remains within capacity. + +Now order the assignments in each group consistently and replace their +offsets by consecutive prefix sums. The occupied sets become pairwise +disjoint intervals whose union is exactly a prefix of length +$U_g=\sum w_h\le C_g$. The idle child retains rank $C_g-U_g$, with pending +offset $U_g$. Thus the shrinking operation has a direct capacity proof; it +requires neither an owner solver nor any change to the controller. + +The seed constructor applies this termwise argument to the 71 former `jp8` +calls. It keeps the remaining `ck` call provisionally unchanged. Two optional +fixed-family assignment passes redistribute the available capacity before +freezing the seed. Their result is audited using the same integer constraints. + +## 3. One call with all other calls fixed + +Fix one call $t$. Remove its existing assignments while keeping every other +call fixed. For each eligible group, define the available capacity + +$$ +c_g=C_g-\sum_{\substack{\text{assignments in }g\\\text{from calls other than }t}}w. +$$ + +The call must assign each of its 492 widths to a distinct eligible group with +$w\le c_g$. Unused groups can be viewed as receiving a dummy width zero. +After the assignment, group $g$'s idle rank is $c_g-w_g$. For any function +$\phi$, the portion of the idle objective affected by the call is exactly + +$$ +\sum_{g\text{ eligible at }t}\phi(c_g-w_g). +$$ + +All other idle contributions, and all local paid-edge contributions, are +constant in this single-call problem. + +### Greedy rule + +Sort eligible capacities increasingly. At each capacity, assign the largest +remaining helper width that fits; assign zero if none fits. Continue through +the remaining capacities. + +This rule has no floating parameter. Equal-capacity tie choices are used only +to limit changes to physical owners and make the artifact deterministic. + +### Exchange lemma + +Take two capacities $c_1\le c_2$ and two widths $w_1\le w_2\le c_1$. The +assignment of $w_1$ to $c_1$ and $w_2$ to $c_2$ has residual pair + +$$ +(c_1-w_1,\ c_2-w_2). +$$ + +Exchange the widths. Feasibility is preserved, and the new pair is + +$$ +(c_1-w_2,\ c_2-w_1). +$$ + +The total is unchanged. The first new component is no larger than either old +component, and the second is no smaller than either old component. Therefore +the new pair majorizes the old pair. Every concave $\phi$ has weakly smaller +sum on the new pair. + +### Consequence: feasibility and optimality + +Start from any feasible complete assignment. At the smallest remaining +capacity, its assigned width is no larger than the largest remaining width +that fits. The greedy width occurs at some later capacity. If the two differ, +the exchange lemma moves that width to the current capacity while preserving +feasibility and weakly decreasing every concave objective. Fix this first +position and repeat on the suffix. Dummy zero widths cover unused groups. + +Thus the greedy procedure succeeds whenever a feasible assignment exists, and +its remainder vector majorizes that of every feasible assignment. It +simultaneously minimizes every concave remainder objective for this call. +This proof depends on the absence of any eligibility restriction beyond the +capacity and the already fixed call window; that property is explicitly +checked for the present geometry. + +## 4. Exact majorization receipts + +Let $a_r$ and $b_r$ be the old and new remainder histograms for one update, +including zero remainders. When the helper-width multiset is unchanged, their +total numbers of groups and total ranks agree. Every remainder lies between +0 and 48. The implementation checks, with integers, that for each +$k=0,1,\ldots,48$, + +$$ +\sum_r b_r\max(r-k,0) +\;\ge\; +\sum_r a_r\max(r-k,0). +$$ + +These are the stored stop-loss margins. Between integer breakpoints the +difference is linear, so checking all integer breakpoints checks every real +threshold. With equal sums and equal lengths, the inequalities are the +standard majorization criterion: the new vector majorizes the old one. + +The transcript contains 288 such equal-width updates: four passes through 72 +calls. A single preceding update replaces the seed's last `ck` width multiset. +That bootstrap has different total width, so it is checked for exact +feasibility and is not represented as an equal-sum majorization step. + +`reproduce.py` reruns every update and compares the full transcript's semantic +hash. Independently, `audit_frozen.py` removes each final call in turn, computes +all available capacities directly from the frozen owner map, runs a separate +histogram-only greedy calculation, and verifies that it returns exactly the +existing remainder histogram. This checks all 72 final coordinate optima +without relying on the transcript or the discovery seed. + +## 5. Relation to the global moment + +For ambient dimension $M=73$, define + +$$ +\phi_b(r)=r\bigl((73/r)^b-1\bigr) + =73^b r^{1-b}-r,\qquad \phi_b(0)=0. +$$ + +For $0 used[g]) + paid = Counter({r: 72*n for r, n in sig['profile'].items()}) + paid.update(idle) + + # Independent cost-level fixed-point check. No helper-ID or family-ID + # tie-breaking is needed: equal capacities give the same histogram. + for t in range(72): + old = {g: w for g, w in bycall[t].values()} + assert len(old) == R + before = Counter(caps[g]-used[g] for g in eligible[t]) + available = sorted(caps[g]-used[g]+old.get(g, 0) for g in eligible[t]) + want = Counter(sig['widths']) + after = Counter() + for cap in available: + width = next((w for w in sorted(want, reverse=True) if want[w] and w <= cap), 0) + if width: + want[width] -= 1 + after[cap-width] += 1 + assert not any(want.values()), 'Greedy assignment unexpectedly infeasible' + assert after == before, ('Frozen map is not callwise optimal', t) + mass = sum(r*n for r, n in paid.items()) + assert 73*7168-mass == 2560 and max(paid) == 48 + return { + 'roles': len(owners), 'calls': 72, 'fixed_point_calls_checked': 72, + 'remainder_profile': dict(sorted(idle.items())), + 'global_profile': dict(sorted(paid.items())), + 'rank_mass': mass, 'deficit': 2560, 'maxchild': 48, + 'all_footprints_disjoint_compacted_prefixes': True, + 'all_helper_families_idle_and_outside_active_data': True, + 'one_helper_per_physical_family_per_call': True, + 'every_call_optimal_for_every_concave_remainder_cost': True, + 'global_optimality_claimed': False, + } + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + add_inputs(parser) + parser.add_argument('--owners', type=Path, default=HERE/'frozen/OWNERS.json.gz') + parser.add_argument('--majorization', type=Path, default=HERE/'frozen/MAJORIZATION.json.gz') + parser.add_argument('--out', type=Path, required=True) + args = parser.parse_args() + manifest = read(HERE/'frozen/MANIFEST.json') + plan, sig, provider_path = bound_inputs(args, manifest) + assert semantic_sha(args.owners) == manifest['artifacts']['OWNERS.json.gz']['semantic_sha256'] + assert semantic_sha(args.majorization) == manifest['artifacts']['MAJORIZATION.json.gz']['semantic_sha256'] + result = audit(plan, sig, read(args.owners)) + for key in ('remainder_profile', 'global_profile'): + assert result[key] == {int(r): n for r, n in manifest[key].items()} + moves = read(args.majorization) + checked = 0 + for move in moves: + if move['equal_width_multiset']: + margins = move['integer_stoploss_margins'] + assert len(margins) == 49 and all(type(x) is int and x >= 0 for x in margins) + assert margins[0] == margins[-1] == 0 + assert move['strict_majorization'] == bool(any(margins)) + checked += 1 + else: + assert move['bootstrap'] and move['integer_stoploss_margins'] is None + assert checked == 288 and len(moves) == 289 + result.update({ + 'status': 'PASS_FROZEN_HOSTING_AND_ALL_72_CALLWISE_FIXED_POINTS', + 'parent_plan_sha256': sha(args.parent_plan), + 'parent_owners_sha256': sha(args.parent_owners), + 'owners_semantic_sha256': semantic_sha(args.owners), + 'majorization_semantic_sha256': semantic_sha(args.majorization), + 'stored_integer_majorization_steps': checked, + 'majorization_replay': 'reproduce.py re-executes every step; this audit separately checks the final fixed point.', + 'remaining_scope': 'The package global verifier checks fresh local algebra, phases, windows, invoice, moment, and outer assembly.', + }) + args.out.parent.mkdir(parents=True, exist_ok=True) + args.out.write_text(json.dumps(result, indent=2)+'\n') + print(json.dumps(result, indent=2)) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-slots/hosting/expand_owners.py b/research/gauge44-slots/hosting/expand_owners.py new file mode 100644 index 0000000000..ee6c4c24e6 --- /dev/null +++ b/research/gauge44-slots/hosting/expand_owners.py @@ -0,0 +1,186 @@ +"""Exact callwise concave-cost owner matching over every legal idle family. + +This is a finite integer nomination algorithm, not a MILP. Each greedy +matching is optimal for every concave remainder cost. Its majorization +receipt is checked with integers, independently of floating root screens. +""" +from collections import Counter, defaultdict, deque +from pathlib import Path +import argparse +import gzip +import hashlib +import json +import time + +from reuse_owners import read, packed, sha, signature, audit_roles, rate + + +def stoploss(hist,k):return sum(n*max(r-k,0) for r,n in hist.items()) + + +def main(): + ap=argparse.ArgumentParser(description=__doc__) + ap.add_argument('--plan',type=Path,required=True) + ap.add_argument('--owners',type=Path,required=True) + ap.add_argument('--signature',action='append',required=True,help='Existing PID=verified native directory or raw/signature JSON') + ap.add_argument('--max-passes',type=int,default=8) + ap.add_argument('--out',type=Path,required=True) + a=ap.parse_args();assert 1<=a.max_passes<=12 + a.out.mkdir(parents=True,exist_ok=False);beg=time.monotonic() + plan,oldroles=read(a.plan),read(a.owners);V,M=112,73 + assert (plan['K'],plan['T'],plan['M'],plan['L'])==(4,8,73,9) + sig={pid:{'widths':desc['widths'],'profile':{int(r):n for r,n in desc['actual_paid_profile'].items()},'source':'input PLAN'} for pid,desc in plan['provider_registry'].items()} + for spec in a.signature: + pid,path=spec.split('=',1);assert pid in sig;sig[pid]=signature(path) + R=len(next(iter(sig.values()))['widths']) + for s in sig.values(): + assert len(s['widths'])==R and all(type(w) is int and 0used[g]) + + def total_profile(): + p=Counter() + for c in plan['provider_calls']:p.update(sig[c['provider']]['profile']) + p.update(idle_profile());assert M*plan['live']-sum(r*n for r,n in p.items())==2560 + return p + + def update(call,bootstrap=False): + t=calls[call]['time'];gs=eligible[t] + old=current[call] + old_by_group={g:(h,w) for h,(g,w) in old.items()} + assert len(old_by_group)==R and set(old_by_group)<=set(gs) + oldhist=Counter(caps[g]-used[g] for g in gs) + for g,(h,w) in old_by_group.items():used[g]-=w + want=defaultdict(set) + for h,w in enumerate(widths[call]):want[w].add(h) + # Equal-capacity opportunities have identical costs. Preserve old + # matching widths first, then old owners, and finally family order. + buckets=defaultdict(lambda:defaultdict(deque)) + for g in sorted(gs,key=lambda g:(families[g],g[1])): + available=caps[g]-used[g];oldw=old_by_group.get(g,(None,0))[1] + buckets[available][oldw].append(g) + result={};unassigned=R + for c in sorted(buckets): + bucket=buckets[c] + while unassigned and any(bucket.values()): + w=next((w for w in sorted(want,reverse=True) if w<=c and want[w]),None) + if w is None:break + if bucket.get(w):q=w + else:q=next(q for q in sorted(bucket,reverse=True) if bucket[q]) + g=bucket[q].popleft() + h0=old_by_group.get(g,(None,0))[0] + h=h0 if h0 in want[w] else min(want[w]) + want[w].remove(h);result[h]=(g,w);used[g]+=w;unassigned-=1 + assert used[g]<=caps[g] + assert unassigned==0,('no legal family matching',call,{w:len(h) for w,h in want.items() if h}) + assert set(result)==set(range(R)) and len({families[g] for g,w in result.values()})==R + newhist=Counter(caps[g]-used[g] for g in gs) + equal_widths=Counter(w for g,w in old.values())==Counter(widths[call]) + strict=False + if equal_widths: + assert sum(oldhist.values())==sum(newhist.values()) + assert stoploss(oldhist,0)==stoploss(newhist,0) + margins=[stoploss(newhist,k)-stoploss(oldhist,k) for k in range(49)] + assert min(margins)>=0,('greedy did not majorize old assignment',call,margins) + strict=any(margins) + else: + assert bootstrap + margins=None + changed=sum(result[h]!=old[h] for h in result) + current[call]=result + moves.append({'stage':call[0],'replica':call[1],'time':t,'bootstrap':bootstrap, + 'equal_width_multiset':equal_widths,'integer_stoploss_margins':margins, + 'strict_majorization':strict,'changed_helper_owners':changed}) + return strict,changed + + changed_calls=[c for c in order if any(current[c][h][1]!=widths[c][h] for h in range(R))] + for c in changed_calls:update(c,bootstrap=True) + p=total_profile();baseline_b=rate(p,2560,M) + rounds=[{'pass':'bootstrap','changed_provider_calls':[list(c) for c in changed_calls], + 'floating_b':baseline_b,'remainder_profile':dict(sorted(idle_profile().items()))}] + print(json.dumps({'checkpoint':'all_goal_signatures_feasible','bootstrap_calls':len(changed_calls),'floating_b':baseline_b}),flush=True) + quiet=0 + for passno in range(a.max_passes): + strict=changed=0 + for c in (order if passno%2==0 else list(reversed(order))): + s,z=update(c);strict+=bool(s);changed+=z + p=total_profile();r={'pass':passno+1,'strictly_improved_calls':strict,'changed_helper_owners':changed, + 'floating_b':rate(p,2560,M),'remainder_profile':dict(sorted(idle_profile().items()))} + rounds.append(r);print(json.dumps({k:r[k] for k in ('pass','strictly_improved_calls','changed_helper_owners','floating_b')}),flush=True) + quiet=quiet+1 if not strict else 0 + if quiet>=2 or (not strict and not changed):break + + groups=defaultdict(list);roles=[] + for call in order: + s,rep=call;t=calls[call]['time'] + for h,(g,w) in current[call].items(): + orp,ch,port=g + z={'child':ch,'copy':orp*V+port,'family':families[g],'helper':h,'offset':0, + 'owner_replica':orp,'port':port,'replica':rep,'stage':s,'time':t,'width':w} + roles.append(z);groups[g].append(z) + for g,zs in groups.items(): + off=0 + for z in sorted(zs,key=lambda z:(z['time'],z['helper'])):z['offset']=off;off+=z['width'] + assert off==used[g]<=caps[g] + roles.sort(key=lambda z:(z['time'],z['helper'])) + cells,_=audit_roles(roles,plan,widths,V,R) + for z in roles: + active=max(0,(z['stage']-1)//2) + assert not (z['owner_replica']==z['replica'] and plan['pairs'][str(z['child'])]==active) + for g in caps:assert len(cells[g])==used[g] + remainder=[] + for g in caps: + left=caps[g]-used[g] + if left: + rep,ch,port=g + remainder.append({'child':ch,'port':port,'replica':rep,'replicas':1,'family':families[g], + 'rank':left,'hosted':used[g],'pending_offset':used[g]}) + profile=dict(sorted(total_profile().items()));assert M*M>2*max(profile)**2 + raw=packed(roles);compressed=bytearray(gzip.compress(raw,mtime=0));compressed[9]=255 + (a.out/'OWNERS.json.gz').write_bytes(bytes(compressed)) + (a.out/'MAJORIZATION.json.gz').write_bytes(gzip.compress(packed(moves),mtime=0)) + (a.out/'REMAINDERS.json').write_text(json.dumps(remainder,indent=2)+'\n') + (a.out/'PROFILE.json').write_text(json.dumps(profile,indent=2)+'\n') + fields={'profile':profile,'per_call_widths':[{'stage':s,'replica':r,'widths':widths[s,r]} for s,r in order], + 'assignment_sha256':hashlib.sha256(raw).hexdigest(),'assignment_sha256_semantics':'SHA256 sorted-key compact uncompressed OWNERS array', + 'source_owners_sha256':sha(a.owners),'provider_signatures':sig} + (a.out/'PLAN-OWNER-FIELDS.json').write_text(json.dumps(fields,indent=2)+'\n') + receipt={'status':'PASS_EXPANDED_OWNER_MATCHING_EXACT_COMBINATORICS_PENDING_GLOBAL_ADMISSION', + 'source_plan':str(a.plan),'source_plan_sha256':sha(a.plan),'source_owners':str(a.owners),'source_owners_sha256':sha(a.owners), + 'owners_sha256':sha(a.out/'OWNERS.json.gz'),'source_signatures':sig, + 'roles':len(roles),'calls':len(order),'unchanged_call_order_and_windows':True, + 'all_families_idle_and_outside_active_data':True,'one_helper_per_family_per_call':True, + 'all_footprints_disjoint_compacted_prefixes':True,'integer_majorization_steps':sum(z['equal_width_multiset'] for z in moves), + 'majorization_sha256':sha(a.out/'MAJORIZATION.json.gz'),'matching_rounds':rounds, + 'global_profile':profile,'rank_mass':sum(r*n for r,n in profile.items()),'deficit':2560, + 'remainder_profile':dict(sorted(idle_profile().items())),'maxchild':max(profile), + 'candidate_floating_screen_b':rate(profile,2560,M),'seconds':time.monotonic()-beg, + 'remaining_admission':'Fresh native-provider bindings, actual 73-column owner charts, independent full controller audit, finite invoice, exact moment and outer assembly.'} + (a.out/'EXPANDED-OWNER-REUSE.json').write_text(json.dumps(receipt,indent=2)+'\n') + print(json.dumps({k:receipt[k] for k in ('status','roles','remainder_profile','rank_mass','candidate_floating_screen_b','seconds')},indent=2),flush=True) + + +if __name__=='__main__':main() diff --git a/research/gauge44-slots/hosting/frozen/FROZEN-AUDIT.json b/research/gauge44-slots/hosting/frozen/FROZEN-AUDIT.json new file mode 100644 index 0000000000..5f95552366 --- /dev/null +++ b/research/gauge44-slots/hosting/frozen/FROZEN-AUDIT.json @@ -0,0 +1,57 @@ +{ + "roles": 35424, + "calls": 72, + "fixed_point_calls_checked": 72, + "remainder_profile": { + "1": 85, + "2": 76, + "3": 173, + "7": 7, + "8": 6, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + }, + "global_profile": { + "1": 181093, + "2": 29164, + "3": 32429, + "4": 11520, + "5": 4032, + "7": 7, + "8": 582, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + }, + "rank_mass": 520704, + "deficit": 2560, + "maxchild": 48, + "all_footprints_disjoint_compacted_prefixes": true, + "all_helper_families_idle_and_outside_active_data": true, + "one_helper_per_physical_family_per_call": true, + "every_call_optimal_for_every_concave_remainder_cost": true, + "global_optimality_claimed": false, + "status": "PASS_FROZEN_HOSTING_AND_ALL_72_CALLWISE_FIXED_POINTS", + "parent_plan_sha256": "258a8b9baa245fa4096828671e2f1d1462b5af08d56890629622ef6125eaddda", + "parent_owners_sha256": "935ff1a6823c6625daba3349b28d74acf9a3d70a5947ae155aa66c7821804add", + "owners_semantic_sha256": "c09faf298565c1388c02370fdd4e61dd542579fe1898e842d5096cc97b68191d", + "majorization_semantic_sha256": "9ed3fdb41fb8dbc6542de7701c78bb8f3bb728604057daf82a537bde182ab9fc", + "stored_integer_majorization_steps": 288, + "majorization_replay": "reproduce.py re-executes every step; this audit separately checks the final fixed point.", + "remaining_scope": "The package global verifier checks fresh local algebra, phases, windows, invoice, moment, and outer assembly." +} diff --git a/research/gauge44-slots/hosting/frozen/MAJORIZATION.json.gz b/research/gauge44-slots/hosting/frozen/MAJORIZATION.json.gz new file mode 100644 index 0000000000..047b1cfb67 Binary files /dev/null and b/research/gauge44-slots/hosting/frozen/MAJORIZATION.json.gz differ diff --git a/research/gauge44-slots/hosting/frozen/MANIFEST.json b/research/gauge44-slots/hosting/frozen/MANIFEST.json new file mode 100644 index 0000000000..291005722c --- /dev/null +++ b/research/gauge44-slots/hosting/frozen/MANIFEST.json @@ -0,0 +1,114 @@ +{ + "schema": "gauge44-hosting-frozen-v1", + "parent_pr": 635, + "parent_paths": { + "plan": "research/complex-571-cold14-st2/data/PLAN.json", + "owners": "research/complex-571-cold14-st2/data/OWNERS.json.gz" + }, + "parent_plan_sha256": "258a8b9baa245fa4096828671e2f1d1462b5af08d56890629622ef6125eaddda", + "parent_owners_sha256": "935ff1a6823c6625daba3349b28d74acf9a3d70a5947ae155aa66c7821804add", + "artifacts": { + "OWNERS.json.gz": { + "sha256": "90ff7657a23dcfb67532b49c0800c5fc259b27c89005081e24bf184869e1bd57", + "semantic_sha256": "c09faf298565c1388c02370fdd4e61dd542579fe1898e842d5096cc97b68191d" + }, + "SEED-OWNERS.json.gz": { + "sha256": "eb3be5eebbb84349d7e7f1bde2fc77772a12ad5bccc6dab7c4efd8d903e2a048", + "semantic_sha256": "beea695aa2e1ab973ad53f475b3e3e9cf6d0f8a9bca2033a445b64f3b3484e34" + }, + "MAJORIZATION.json.gz": { + "sha256": "ec5f94b13d190d72bc0608dc9fe2498cc43ba9deb05028159a812ec1e4dcacdf", + "semantic_sha256": "9ed3fdb41fb8dbc6542de7701c78bb8f3bb728604057daf82a537bde182ab9fc" + } + }, + "new_provider": { + "R": 492, + "h": 9, + "v": 112, + "width_histogram": { + "4": 52, + "5": 48, + "7": 34, + "8": 114, + "9": 244 + }, + "width_sum": 3794, + "profile": { + "1": 2514, + "2": 404, + "3": 448, + "4": 160, + "5": 56, + "8": 8 + }, + "rank_mass": 5650, + "raw_word_sha256": "3ef4e74e81e2f4621fc95272918ac7b8bb8858df0baa16cc6d91424d55aead9e", + "canonical_word_sha256": "92941c2b718b533f1d3addb710d261a6e2b9ec5d19f0051d79775b08cb2571ed", + "local_programs_sha256": "172dc3d23e437909ddc01d07b12ede735afbb5bb6145f1ddf5c2e03097dfebe2", + "width_vector_sha256": "b7fbefdb3af3942194ac9314c767c7812bd68adb734d4e00b70b2916bdb55de8" + }, + "seed_discovery": { + "provider_replaced": "jp8", + "unchanged_provider": "ck", + "passes": 2, + "price_b": 0.001638923, + "python": "3.12.14", + "numpy": "2.3.5", + "scipy": "1.17.0", + "note": "Only seed discovery uses floating-point Hungarian costs. Frozen seed and the expanded exact replay require the Python standard library." + }, + "expanded_replay": { + "providers_replaced": [ + "jp8", + "ck" + ], + "max_passes": 8, + "actual_passes": 4, + "integer_majorization_steps": 288, + "changed_width_bootstrap_calls": 1 + }, + "global_profile": { + "1": 181093, + "2": 29164, + "3": 32429, + "4": 11520, + "5": 4032, + "7": 7, + "8": 582, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + }, + "remainder_profile": { + "1": 85, + "2": 76, + "3": 173, + "7": 7, + "8": 6, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + }, + "live": 7168, + "roles": 35424, + "calls": 72, + "rank_mass": 520704, + "deficit": 2560, + "maxchild": 48, + "candidate_floating_screen_b": 0.0016522089943684115, + "screening_only": "The floating rate here is not a certified exponent. Exact supplier and outer admission belong to the package verifier." +} diff --git a/research/gauge44-slots/hosting/frozen/MATCHING-RECEIPT.json b/research/gauge44-slots/hosting/frozen/MATCHING-RECEIPT.json new file mode 100644 index 0000000000..993331090c --- /dev/null +++ b/research/gauge44-slots/hosting/frozen/MATCHING-RECEIPT.json @@ -0,0 +1,1205 @@ +{ + "status": "PASS_EXPANDED_OWNER_MATCHING_EXACT_COMBINATORICS_PENDING_GLOBAL_ADMISSION", + "source_plan": "explicit parent PLAN, with a temporary signature-only seed view for expanded replay", + "source_plan_sha256": "0d2b6a12d3450cfb78e556e80d34cabb8cd1a7f8aa85c1a712a5177236672a37", + "source_owners": "frozen/SEED-OWNERS.json.gz", + "source_owners_sha256": "eb3be5eebbb84349d7e7f1bde2fc77772a12ad5bccc6dab7c4efd8d903e2a048", + "owners_sha256": "90ff7657a23dcfb67532b49c0800c5fc259b27c89005081e24bf184869e1bd57", + "source_signatures": { + "ck": { + "widths": [ + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 9, + 8, + 9, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ], + "profile": { + "1": 2514, + "4": 160, + "8": 8, + "3": 448, + "2": 404, + "5": 56 + }, + "source": "supplied new provider (raw or independently checked native)", + "canonical_sha256": "92941c2b718b533f1d3addb710d261a6e2b9ec5d19f0051d79775b08cb2571ed", + "program_sha256": "172dc3d23e437909ddc01d07b12ede735afbb5bb6145f1ddf5c2e03097dfebe2" + }, + "jp8": { + "widths": [ + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 9, + 8, + 9, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ], + "profile": { + "1": 2514, + "4": 160, + "8": 8, + "3": 448, + "2": 404, + "5": 56 + }, + "source": "supplied new provider (raw or independently checked native)", + "canonical_sha256": "92941c2b718b533f1d3addb710d261a6e2b9ec5d19f0051d79775b08cb2571ed", + "program_sha256": "172dc3d23e437909ddc01d07b12ede735afbb5bb6145f1ddf5c2e03097dfebe2" + } + }, + "roles": 35424, + "calls": 72, + "unchanged_call_order_and_windows": true, + "all_families_idle_and_outside_active_data": true, + "one_helper_per_family_per_call": true, + "all_footprints_disjoint_compacted_prefixes": true, + "integer_majorization_steps": 288, + "majorization_sha256": "ec5f94b13d190d72bc0608dc9fe2498cc43ba9deb05028159a812ec1e4dcacdf", + "matching_rounds": [ + { + "pass": "bootstrap", + "changed_provider_calls": [ + [ + 2, + 0 + ] + ], + "floating_b": 0.0016448741407332063, + "remainder_profile": { + "1": 87, + "2": 111, + "3": 191, + "4": 160, + "5": 1, + "6": 2, + "7": 50, + "8": 127, + "10": 3, + "11": 23, + "12": 25, + "13": 1, + "14": 5, + "15": 9, + "16": 107, + "18": 1, + "19": 10, + "20": 15, + "23": 2, + "24": 52, + "32": 1, + "44": 1, + "48": 2221 + } + }, + { + "pass": 1, + "strictly_improved_calls": 70, + "changed_helper_owners": 1245, + "floating_b": 0.0016518485664379205, + "remainder_profile": { + "1": 83, + "2": 92, + "3": 167, + "4": 10, + "6": 3, + "7": 9, + "8": 13, + "11": 4, + "12": 11, + "15": 1, + "16": 35, + "24": 1, + "28": 7, + "32": 57, + "44": 11, + "48": 2284 + } + }, + { + "pass": 2, + "strictly_improved_calls": 41, + "changed_helper_owners": 169, + "floating_b": 0.0016521846143978994, + "remainder_profile": { + "1": 83, + "2": 80, + "3": 171, + "7": 7, + "8": 6, + "12": 14, + "16": 33, + "19": 1, + "20": 2, + "24": 2, + "28": 3, + "32": 61, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + } + }, + { + "pass": 3, + "strictly_improved_calls": 8, + "changed_helper_owners": 13, + "floating_b": 0.0016522089943684115, + "remainder_profile": { + "1": 85, + "2": 76, + "3": 173, + "7": 7, + "8": 6, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + } + }, + { + "pass": 4, + "strictly_improved_calls": 0, + "changed_helper_owners": 0, + "floating_b": 0.0016522089943684115, + "remainder_profile": { + "1": 85, + "2": 76, + "3": 173, + "7": 7, + "8": 6, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + } + } + ], + "global_profile": { + "1": 181093, + "2": 29164, + "3": 32429, + "4": 11520, + "5": 4032, + "7": 7, + "8": 582, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + }, + "rank_mass": 520704, + "deficit": 2560, + "remainder_profile": { + "1": 85, + "2": 76, + "3": 173, + "7": 7, + "8": 6, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + }, + "maxchild": 48, + "candidate_floating_screen_b": 0.0016522089943684115, + "remaining_admission": "Fresh native-provider bindings, actual 73-column owner charts, independent full controller audit, finite invoice, exact moment and outer assembly.", + "provenance_note": "Absolute discovery paths and wall time removed; original artifact hashes and all exact combinatorial fields preserved." +} diff --git a/research/gauge44-slots/hosting/frozen/OWNERS.json.gz b/research/gauge44-slots/hosting/frozen/OWNERS.json.gz new file mode 100644 index 0000000000..e9c7cfc72d Binary files /dev/null and b/research/gauge44-slots/hosting/frozen/OWNERS.json.gz differ diff --git a/research/gauge44-slots/hosting/frozen/REPRODUCTION.json b/research/gauge44-slots/hosting/frozen/REPRODUCTION.json new file mode 100644 index 0000000000..8ad59712b2 --- /dev/null +++ b/research/gauge44-slots/hosting/frozen/REPRODUCTION.json @@ -0,0 +1,29 @@ +{ + "status": "PASS_FROZEN_OWNER_AND_INTEGER_MAJORIZATION_REPLAY", + "seed_mode": "included_frozen_seed", + "parent_plan_sha256": "258a8b9baa245fa4096828671e2f1d1462b5af08d56890629622ef6125eaddda", + "parent_owners_sha256": "935ff1a6823c6625daba3349b28d74acf9a3d70a5947ae155aa66c7821804add", + "owners_semantic_sha256": "c09faf298565c1388c02370fdd4e61dd542579fe1898e842d5096cc97b68191d", + "owners_gzip_sha256": "90ff7657a23dcfb67532b49c0800c5fc259b27c89005081e24bf184869e1bd57", + "majorization_semantic_sha256": "9ed3fdb41fb8dbc6542de7701c78bb8f3bb728604057daf82a537bde182ab9fc", + "global_profile": { + "1": 181093, + "2": 29164, + "3": 32429, + "4": 11520, + "5": 4032, + "7": 7, + "8": 582, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + }, + "scope": "Exact hosting nomination and callwise fixed-point replay; full supplier admission is separate." +} diff --git a/research/gauge44-slots/hosting/frozen/SEED-OWNERS.json.gz b/research/gauge44-slots/hosting/frozen/SEED-OWNERS.json.gz new file mode 100644 index 0000000000..d61916a156 Binary files /dev/null and b/research/gauge44-slots/hosting/frozen/SEED-OWNERS.json.gz differ diff --git a/research/gauge44-slots/hosting/frozen/SEED-RECEIPT.json b/research/gauge44-slots/hosting/frozen/SEED-RECEIPT.json new file mode 100644 index 0000000000..82911f647b --- /dev/null +++ b/research/gauge44-slots/hosting/frozen/SEED-RECEIPT.json @@ -0,0 +1,1537 @@ +{ + "status": "PASS_OWNER_REUSE_NOMINATION_COMBINATORICS_NOT_FULL_SUPPLIER_ADMISSION", + "source_plan": "explicit parent PLAN", + "source_plan_sha256": "258a8b9baa245fa4096828671e2f1d1462b5af08d56890629622ef6125eaddda", + "source_owners_sha256": "935ff1a6823c6625daba3349b28d74acf9a3d70a5947ae155aa66c7821804add", + "owners_sha256": "eb3be5eebbb84349d7e7f1bde2fc77772a12ad5bccc6dab7c4efd8d903e2a048", + "unchanged_owner_family_sets": true, + "unchanged_call_order_and_windows": true, + "all_footprints_are_disjoint_compacted_prefixes": true, + "local_signatures": { + "ck": { + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 9, + 9, + 9, + 9, + 9, + 4, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 9, + 9, + 9, + 9, + 9, + 4, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 9, + 9, + 9, + 9, + 9, + 4, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ], + "profile": { + "1": 2600, + "2": 552, + "3": 304, + "4": 164, + "5": 70, + "6": 4, + "8": 8 + }, + "source": "inherited parent PLAN signature" + }, + "jp8": { + "widths": [ + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 9, + 8, + 9, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ], + "profile": { + "1": 2514, + "2": 404, + "3": 448, + "4": 160, + "5": 56, + "8": 8 + }, + "source": "supplied new provider (raw or independently checked native)", + "source_sha256": "3ef4e74e81e2f4621fc95272918ac7b8bb8858df0baa16cc6d91424d55aead9e" + } + }, + "sorted_initial_dominance": { + "(0, 0)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(0, 1)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(1, 0)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(0, 2)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(1, 1)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(2, 0)": { + "old_total": 3854, + "new_total": 3854, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(0, 3)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(1, 2)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(2, 1)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(3, 0)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(0, 4)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(1, 3)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(2, 2)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(3, 1)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(4, 0)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(0, 5)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(1, 4)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(2, 3)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(3, 2)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(4, 1)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(5, 0)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(0, 6)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(1, 5)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(2, 4)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(3, 3)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(4, 2)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(5, 1)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(0, 7)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(6, 0)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(1, 6)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(2, 5)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(3, 4)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(4, 3)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(5, 2)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(6, 1)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(1, 7)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(7, 0)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(2, 6)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(3, 5)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(4, 4)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(5, 3)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(6, 2)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(7, 1)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(2, 7)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(8, 0)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(3, 6)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(4, 5)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(5, 4)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(6, 3)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(7, 2)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(8, 1)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(3, 7)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(4, 6)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(5, 5)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(6, 4)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(7, 3)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(8, 2)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(4, 7)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(5, 6)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(6, 5)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(7, 4)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(8, 3)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(5, 7)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(6, 6)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(7, 5)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(8, 4)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(6, 7)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(7, 6)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(8, 5)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(7, 7)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(8, 6)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + }, + "(8, 7)": { + "old_total": 3894, + "new_total": 3794, + "sorted_termwise_dominance": true, + "failed_positions": [] + } + }, + "matching_passes": [ + { + "pass": "sorted", + "touched_group_idle_pressure": 44.06409529228022, + "calls_awaiting_capacity_matching": 0 + }, + { + "pass": 1, + "accepted_calls": 71, + "touched_group_idle_pressure": 24.92521223381306, + "decrease": 19.13888305846716 + }, + { + "pass": 2, + "accepted_calls": 58, + "touched_group_idle_pressure": 23.047886627886065, + "decrease": 1.8773256059269947 + } + ], + "roles": 35424, + "calls": 72, + "remainder_children": 3197, + "remainder_profile": { + "1": 83, + "2": 99, + "3": 197, + "4": 168, + "5": 6, + "6": 13, + "7": 16, + "8": 145, + "10": 4, + "11": 24, + "12": 19, + "13": 1, + "14": 3, + "15": 9, + "16": 107, + "18": 1, + "19": 10, + "20": 15, + "23": 2, + "24": 52, + "32": 1, + "44": 1, + "48": 2221 + }, + "global_profile": { + "1": 181177, + "2": 29335, + "3": 32309, + "4": 11692, + "5": 4052, + "6": 17, + "7": 16, + "8": 721, + "10": 4, + "11": 24, + "12": 19, + "13": 1, + "14": 3, + "15": 9, + "16": 107, + "18": 1, + "19": 10, + "20": 15, + "23": 2, + "24": 52, + "32": 1, + "44": 1, + "48": 2221 + }, + "rank_mass": 520704, + "deficit": 2560, + "maxchild": 48, + "source_floating_screen_b": 0.001638923175694355, + "candidate_floating_screen_b": 0.0016446065186552388, + "remaining_admission": "Bind freshly verified provider artifacts and their hashes; regenerate the global template, actual 73-column sigmas and remainder axes with the existing emitter; run independent owner/frame audit, finite invoice, and exact moment/outer assembly.", + "provenance_note": "Absolute discovery paths and wall time removed; original artifact hashes and all exact combinatorial fields preserved." +} diff --git a/research/gauge44-slots/hosting/frozen/SEED-REPRODUCTION.json b/research/gauge44-slots/hosting/frozen/SEED-REPRODUCTION.json new file mode 100644 index 0000000000..91ee98cf70 --- /dev/null +++ b/research/gauge44-slots/hosting/frozen/SEED-REPRODUCTION.json @@ -0,0 +1,29 @@ +{ + "status": "PASS_FROZEN_OWNER_AND_INTEGER_MAJORIZATION_REPLAY", + "seed_mode": "two_pass_hungarian_discovery_rebuilt", + "parent_plan_sha256": "258a8b9baa245fa4096828671e2f1d1462b5af08d56890629622ef6125eaddda", + "parent_owners_sha256": "935ff1a6823c6625daba3349b28d74acf9a3d70a5947ae155aa66c7821804add", + "owners_semantic_sha256": "c09faf298565c1388c02370fdd4e61dd542579fe1898e842d5096cc97b68191d", + "owners_gzip_sha256": "90ff7657a23dcfb67532b49c0800c5fc259b27c89005081e24bf184869e1bd57", + "majorization_semantic_sha256": "9ed3fdb41fb8dbc6542de7701c78bb8f3bb728604057daf82a537bde182ab9fc", + "global_profile": { + "1": 181093, + "2": 29164, + "3": 32429, + "4": 11520, + "5": 4032, + "7": 7, + "8": 582, + "12": 13, + "16": 33, + "19": 1, + "20": 2, + "28": 4, + "32": 62, + "36": 1, + "40": 1, + "44": 6, + "48": 2289 + }, + "scope": "Exact hosting nomination and callwise fixed-point replay; full supplier admission is separate." +} diff --git a/research/gauge44-slots/hosting/reproduce.py b/research/gauge44-slots/hosting/reproduce.py new file mode 100644 index 0000000000..2f29a5ff13 --- /dev/null +++ b/research/gauge44-slots/hosting/reproduce.py @@ -0,0 +1,100 @@ +"""Reproduce the frozen all-cold44 owner nomination from explicit inputs. + +By default, replay the exact integer optimizer from the included frozen seed. +--rebuild-seed additionally repeats the original two floating-cost Hungarian +discovery passes; that optional route requires NumPy and SciPy. +""" +from pathlib import Path +from collections import Counter +import argparse +import copy +import json +import shutil +import subprocess +import sys + +from audit_frozen import HERE, add_inputs, bound_inputs, semantic_sha +from reuse_owners import audit_roles, read, sha + + +def run(name, *args): + subprocess.run([sys.executable, str(HERE/name), *map(str, args)], check=True) + + +def seed_plan(parent, seed_owners, new_signature): + """Build a signature-only resizer input; never an admitted provider PLAN.""" + plan = copy.deepcopy(parent) + plan['provider_registry']['jp8']['widths'] = new_signature['widths'] + plan['provider_registry']['jp8']['actual_paid_profile'] = new_signature['profile'] + call_widths = { + (c['stage'], c['replica']): plan['provider_registry'][c['provider']]['widths'] + for c in plan['provider_calls'] + } + used, families = audit_roles(seed_owners, plan, call_widths, 112, 492) + profile = Counter() + for c in plan['provider_calls']: + profile.update({int(r): n for r, n in plan['provider_registry'][c['provider']]['actual_paid_profile'].items()}) + for key, (cap, times) in plan['windows'].items(): + rep, child = map(int, key.split(',')) + for port in range(112): + left = cap-len(used[rep, child, port]) + if left: + profile[left] += 1 + assert 73*7168-sum(r*n for r, n in profile.items()) == 2560 + plan['profile'] = dict(sorted(profile.items())) + plan['per_call_widths'] = [ + {'stage': s, 'replica': r, 'widths': call_widths[s, r]} + for s, r in plan['order'] + ] + plan['status'] = 'INTERMEDIATE_SIGNATURE_ONLY_OWNER_SEED_NOT_PROVIDER_ADMISSION' + return plan + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + add_inputs(parser) + parser.add_argument('--rebuild-seed', action='store_true') + parser.add_argument('--out', type=Path, required=True, help='New output directory') + args = parser.parse_args() + manifest = read(HERE/'frozen/MANIFEST.json') + parent, sig, provider = bound_inputs(args, manifest) + args.out.mkdir(parents=True, exist_ok=False) + seed_dir = args.out/'seed' + if args.rebuild_seed: + run('reuse_owners.py', '--plan', args.parent_plan, '--owners', args.parent_owners, + '--signature', f'jp8={provider}', '--passes', '2', '--price-b', '0.001638923', '--out', seed_dir) + else: + seed_dir.mkdir() + shutil.copyfile(HERE/'frozen/SEED-OWNERS.json.gz', seed_dir/'OWNERS.json.gz') + assert semantic_sha(seed_dir/'OWNERS.json.gz') == manifest['artifacts']['SEED-OWNERS.json.gz']['semantic_sha256'], ( + 'Seed differs; use the default frozen-seed replay, or the recorded NumPy/SciPy versions for discovery replay.' + ) + plan = seed_plan(parent, read(seed_dir/'OWNERS.json.gz'), sig) + plan_path = seed_dir/'PLAN-FOR-RESIZER.json' + plan_path.write_text(json.dumps(plan, indent=2)+'\n') + final_dir = args.out/'all72' + run('expand_owners.py', '--plan', plan_path, '--owners', seed_dir/'OWNERS.json.gz', + '--signature', f'jp8={provider}', '--signature', f'ck={provider}', + '--max-passes', '8', '--out', final_dir) + for name in ('OWNERS.json.gz', 'MAJORIZATION.json.gz'): + assert semantic_sha(final_dir/name) == manifest['artifacts'][name]['semantic_sha256'], (name, 'Frozen semantic digest mismatch') + kwargs = ('--local44', args.local44) if args.local44 is not None else ('--raw-word', args.raw_word) + run('audit_frozen.py', '--parent-plan', args.parent_plan, '--parent-owners', args.parent_owners, + *kwargs, '--owners', final_dir/'OWNERS.json.gz', '--majorization', final_dir/'MAJORIZATION.json.gz', + '--out', args.out/'FROZEN-AUDIT.json') + receipt = { + 'status': 'PASS_FROZEN_OWNER_AND_INTEGER_MAJORIZATION_REPLAY', + 'seed_mode': 'two_pass_hungarian_discovery_rebuilt' if args.rebuild_seed else 'included_frozen_seed', + 'parent_plan_sha256': sha(args.parent_plan), 'parent_owners_sha256': sha(args.parent_owners), + 'owners_semantic_sha256': semantic_sha(final_dir/'OWNERS.json.gz'), + 'owners_gzip_sha256': sha(final_dir/'OWNERS.json.gz'), + 'majorization_semantic_sha256': semantic_sha(final_dir/'MAJORIZATION.json.gz'), + 'global_profile': read(final_dir/'PROFILE.json'), + 'scope': 'Exact hosting nomination and callwise fixed-point replay; full supplier admission is separate.', + } + (args.out/'REPRODUCTION.json').write_text(json.dumps(receipt, indent=2)+'\n') + print(json.dumps(receipt, indent=2)) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-slots/hosting/reuse_owners.py b/research/gauge44-slots/hosting/reuse_owners.py new file mode 100644 index 0000000000..234b831790 --- /dev/null +++ b/research/gauge44-slots/hosting/reuse_owners.py @@ -0,0 +1,230 @@ +"""Deterministic existing-family owner reuse and optional callwise matching. + +The output is a nomination, requiring the ordinary independent owner, phase, +finite-invoice, and exact-moment admission. No MILP or new owner family is used. +""" +from collections import Counter, defaultdict +from pathlib import Path +import argparse +import copy +import gzip +import hashlib +import json +import math +import time + + +def read(path): + raw=Path(path).read_bytes() + return json.loads(gzip.decompress(raw) if str(path).endswith('.gz') else raw) + + +def packed(obj):return json.dumps(obj,sort_keys=True,separators=(',',':')).encode() +def sha(path):return hashlib.sha256(Path(path).read_bytes()).hexdigest() + + +def signature(path): + path=Path(path) + if path.is_dir(): + w=read(path/'CANONICAL-WORD.json.gz');V,R=w['v'],w['R'] + widths=[len(w['frames'][w['final'][2*V+h]])-len(w['frames'][w['start'][2*V+h]]) for h in range(R)] + programs=read(path/'LOCAL-PROGRAMS.json.gz') + profiles=[Counter(e[-1] for e in programs[o] if e[0] in ('climb','center')) for o in ('forward','backward')] + assert profiles[0]==profiles[1] + assert profiles[0]=={int(r):n for r,n in w['local_profile'].items()} + return {'widths':widths,'profile':dict(profiles[0]),'source':str(path), + 'canonical_sha256':sha(path/'CANONICAL-WORD.json.gz'), + 'program_sha256':sha(path/'LOCAL-PROGRAMS.json.gz')} + w=read(path) + if 'report' in w: + V,R=w['report']['v'],w['report']['R'] + widths=[len(w.get('helper_final',{}).get(str(2*V+h),range(9)))-len(w.get('start_extra',{}).get(str(2*V+h),[])) for h in range(R)] + profile={int(r):n for r,n in w['report']['local_profile'].items()} + else: + widths=w['widths'];profile={int(r):n for r,n in w['profile'].items()} + return {'widths':widths,'profile':profile,'source':str(path),'source_sha256':sha(path)} + + +def phi(rank,b,M):return rank*math.expm1(b*math.log(M/rank)) if rank else 0. + + +def rate(profile,deficit,M): + lo,hi=0.,.02 + for _ in range(58): + mid=(lo+hi)/2 + if sum(n*phi(r,mid,M) for r,n in profile.items())oldroles[i]['width']] + if failures: + # Keep this call's old widths provisionally; shrunk calls leave + # slack on their original owner families. A subsequent exact + # bipartite matching may use that slack for this call. + pending.append(call) + for i in ids:assigned_h[i]=oldroles[i]['helper'];assigned_w[i]=oldroles[i]['width'] + else: + for h,i in zip(helpers,slots):assigned_h[i]=h;assigned_w[i]=newwidths[call][h] + dominance[str(call)]={'old_total':sum(oldwidths[call]),'new_total':sum(newwidths[call]),'sorted_termwise_dominance':not failures,'failed_positions':failures} + used={g:sum(assigned_w[i] for i in ids) for g,ids in groups.items()} + assert all(used[g]<=cap[g] for g in groups) + cost_cache=[phi(r,a.price_b,M) for r in range(49)] + def current_cost():return sum(cost_cache[cap[g]-used[g]] for g in groups) + passes=[{'pass':'sorted','touched_group_idle_pressure':current_cost(),'calls_awaiting_capacity_matching':len(pending)}] + + if a.passes or pending: + import numpy as np + from scipy.optimize import linear_sum_assignment + def match_call(call,force=False): + ids=sorted(bycall[call],key=lambda i:oldroles[i]['helper']) + gs=[group_of[i] for i in ids] + assert len(set(gs))==R, 'one owner family per complete call is essential' + available=np.array([cap[g]-used[g]+assigned_w[i] for i,g in zip(ids,gs)],dtype=np.int64) + ws=np.array(newwidths[call],dtype=np.int64) + left=available[None,:]-ws[:,None] + matrix=np.full((R,R),np.inf) + valid=left>=0 + matrix[valid]=np.asarray(cost_cache)[left[valid]] + ri,ci=linear_sum_assignment(matrix) + assert len(ri)==R and np.all(np.isfinite(matrix[ri,ci])) + oldcost=sum(cost_cache[cap[g]-used[g]] for g in gs) + newcost=float(matrix[ri,ci].sum()) + if not force: + assert newcost<=oldcost+1e-10 + if oldcost-newcost<=1e-10:return False + for h,col in zip(ri,ci): + i=ids[int(col)];g=group_of[i];h=int(h);ww=int(ws[h]) + used[g]+=ww-assigned_w[i];assigned_w[i]=ww;assigned_h[i]=h + assert used[g]<=cap[g] + return True + for call in pending: + match_call(call,force=True) + dominance[str(call)]['capacity_matching_feasible']=True + if pending:passes.append({'pass':'capacity_bootstrap','touched_group_idle_pressure':current_cost(),'resolved_calls':[list(c) for c in pending]}) + for p in range(a.passes): + accepted=0;startcost=current_cost() + order=[tuple(k) for k in plan['order']] + if p%2:order.reverse() + for call in order: + accepted+=match_call(call) + finalcost=current_cost();assert finalcost<=startcost+1e-9 + passes.append({'pass':p+1,'accepted_calls':accepted,'touched_group_idle_pressure':finalcost,'decrease':startcost-finalcost}) + + # The inherited compiler requires each used coordinate set to be a + # prefix. Stable left compaction preserves every immutable owner field. + roles=copy.deepcopy(oldroles);matching=[] + for g,ids in groups.items(): + off=0 + for i in sorted(ids,key=lambda i:(oldroles[i]['offset'],oldroles[i]['time'],oldroles[i]['helper'])): + z=roles[i];z['helper']=assigned_h[i];z['width']=assigned_w[i];z['offset']=off;off+=z['width'] + matching.append({'stage':z['stage'],'replica':z['replica'],'old_helper':oldroles[i]['helper'], + 'new_helper':z['helper'],'old_width':oldroles[i]['width'],'new_width':z['width'], + 'family':z['family'],'child':z['child'],'old_offset':oldroles[i]['offset'],'new_offset':z['offset']}) + assert off==used[g]<=cap[g] + roles.sort(key=lambda z:(z['time'],z['helper'])) + newused,newfamilies=audit_roles(roles,plan,newwidths,V,R) + assert newfamilies==oldfamilies + paid=Counter();remainders=[] + for c in plan['provider_calls']:paid.update(signatures[c['provider']]['profile']) + idle=Counter() + for key,(capacity,window) in plan['windows'].items(): + rep,ch=map(int,key.split(',')) + for port in range(V): + occupied=len(newused[rep,ch,port]);left=capacity-occupied + if left: + family=rep*(8*V)+(2*plan['pairs'][str(ch)]+plan['sides'][str(ch)])*V+port + remainders.append({'child':ch,'port':port,'replica':rep,'replicas':1,'family':family, + 'rank':left,'hosted':occupied,'pending_offset':occupied}) + idle[left]+=1 + paid.update(idle);mass=sum(r*n for r,n in paid.items()) + assert M*plan['live']-mass==plan['deficit']==2560 + assert M*M>2*max(paid)**2 + oldprofile={int(r):n for r,n in plan['profile'].items()} + ownerraw=packed(roles);gz=bytearray(gzip.compress(ownerraw,mtime=0));gz[9]=255 + (a.out/'OWNERS.json.gz').write_bytes(bytes(gz)) + (a.out/'MATCHING.json.gz').write_bytes(gzip.compress(packed(matching),mtime=0)) + (a.out/'REMAINDERS.json').write_text(json.dumps(remainders,indent=2)+'\n') + profile=dict(sorted(paid.items())) + (a.out/'PROFILE.json').write_text(json.dumps(profile,indent=2)+'\n') + owner_fields={'profile':profile, + 'per_call_widths':[{'stage':s,'replica':r,'widths':newwidths[s,r]} for s,r in plan['order']], + 'assignment_sha256':hashlib.sha256(ownerraw).hexdigest(), + 'assignment_sha256_semantics':'SHA256 of sorted-key compact uncompressed OWNERS array', + 'source_owners_sha256':sha(a.owners), + 'provider_signatures':signatures} + (a.out/'PLAN-OWNER-FIELDS.json').write_text(json.dumps(owner_fields,indent=2)+'\n') + rec={'status':'PASS_OWNER_REUSE_NOMINATION_COMBINATORICS_NOT_FULL_SUPPLIER_ADMISSION', + 'source_plan':str(a.plan),'source_plan_sha256':sha(a.plan),'source_owners_sha256':sha(a.owners), + 'owners_sha256':sha(a.out/'OWNERS.json.gz'),'unchanged_owner_family_sets':True, + 'unchanged_call_order_and_windows':True,'all_footprints_are_disjoint_compacted_prefixes':True, + 'local_signatures':signatures,'sorted_initial_dominance':dominance,'matching_passes':passes, + 'roles':len(roles),'calls':len(calls),'remainder_children':len(remainders),'remainder_profile':dict(sorted(idle.items())), + 'global_profile':profile,'rank_mass':mass,'deficit':2560,'maxchild':max(paid), + 'source_floating_screen_b':rate(oldprofile,2560,M), + 'candidate_floating_screen_b':rate(profile,2560,M), + 'seconds':time.monotonic()-beg, + 'remaining_admission':'Bind freshly verified provider artifacts and their hashes; regenerate the global template, actual 73-column sigmas and remainder axes with the existing emitter; run independent owner/frame audit, finite invoice, and exact moment/outer assembly.'} + (a.out/'OWNER-REUSE.json').write_text(json.dumps(rec,indent=2)+'\n') + print(json.dumps({k:rec[k] for k in ('status','roles','matching_passes','remainder_profile','rank_mass','source_floating_screen_b','candidate_floating_screen_b','seconds')},indent=2),flush=True) + + +if __name__=='__main__':main() diff --git a/research/gauge44-slots/independent/CENTRE-GUARD-REVIEW.md b/research/gauge44-slots/independent/CENTRE-GUARD-REVIEW.md new file mode 100644 index 0000000000..6c62bd070e --- /dev/null +++ b/research/gauge44-slots/independent/CENTRE-GUARD-REVIEW.md @@ -0,0 +1,79 @@ +# Independent review of the centre and admission interfaces + +**Finding:** the replacement of old local centre-carrier IDs by equality of the +eight ordered centre-frame bases preserves the inherited global contract. It +must be used together with the complete local scalar, frame, phase and wrapper +admission. No mathematical admission guard was found to have been removed. + +## Why source carriers may supply centres + +The transported gauge44 centre carriers are +`[92, 57, 81, 224, 11, 240, 9, 256]`. Five are source registers and three are +helper registers. All 112 transported port labels and all eight ordered +rank-eight centre-frame bases agree exactly with the retained parent. The +optional `--main` check in `audit_local.py` independently verifies that boundary +against a byte-pinned parent canonical word. + +The actual forward local program copies the current row of `L_r` into private +`C_k` at their common frame `F_k`. It then descends `C_k` from `F_k` to frame +zero, scatters to the targets, and clears `C_k`. The backward program performs +the corresponding reversed ascent and scatter. This construction depends on +the copied row, its frame and the exact local program, rather than on a +requirement that `r` be in the helper-ID interval. The source itself is not +cleared or treated as private work. + +The independently checked local contract retains every required obligation: +all 716 input columns in both orientations; the forward and backward shear +identities; arbitrary initial helper dirt; scalar/COPY common-frame legality; +centre lifetimes and nested steps; exact native phase identities; endpoint +and row/column cone conditions; and residual wrappers before and after every +relevant touch. Its finite invoice recounts the actual operations. + +The global controller addresses private centres by `k`, while the source or +helper `L_r` is mapped through the complete invocation's ordinary owner array. +The owner audit retains pairwise distinct owners for all active source, target +and helper roles. A helper therefore cannot borrow the family of an active +source centre. The private-centre namespace is disjoint from those owners and +the local program clears it. Each whole invocation finishes before another +begins, so no new interleaving or family lifetime assumption is introduced. + +## Admission guards and single-provider controls + +An AST comparison with PR635 found all **91 assertions in `code/assemble.py` +identical, in the same traversal order**, including constants. This includes +the unchanged PR543 bit input, deficit and surcharge, every finite-invoice +guard, both conservative and native complex moment checks, and the strict +outer assembly and its controls. The following files retain the reviewed PR635 code (the packaged +`bind_providers_portable.py` only trims trailing whitespace): `invoice_allcold.py` (67 assertions), +`bind_providers_portable.py` (22), `generated_identity.py` (4), and `witness.py` +(3). `review_guards.py` reproduces the assertion comparison and records the +file hashes. + +The controller still checks the complete serialized provider registry, +per-call program and dispatch, native phase and wrapper bindings, helper +widths, owner uniqueness, actual busy-family windows, spectator orthogonality, +and literal idle remainders. The single-provider branch replaces partner +substitutions by direct invalid-ID, program, width and hash mutations. Only +four assembly mutation scenarios requiring a second registered provider are +inapplicable. Their removal does not remove any admission predicate. Direct +forged program/phase tests, width-order and width-inventory tests, and +selected-call/order tests remain. + +## Price and bit headroom + +The frozen all72 profile gives the native complex root bracket +`(0.001652208994368411824947, 0.001652208994368411824948)` and +`kappa = 0.001649483702558979`. Both independent rational engines certify the +two signs. The seven-step outer driver passes all 47 strict constraints and +rejects its four standard mutations. The conservative complex price passes +separately at `kappa = 0.001649483699681650`. + +The achieved complex rate is below PR543's retained bit rate +`0.001653826988146798944268`. Using eumemic's independently reviewed PR555 bit +rate `0.001733052823330162099157` gives exactly the same attained kappa. PR543 +therefore remains the cited supplier for this delta; no bit improvement is +claimed here and no PR555 implementation is bundled. + +These receipts supplement the package's complete native, owner, phase and +finite-invoice replay. The inherited all-size realization and analytic +transfer assumptions remain conditional. diff --git a/research/gauge44-slots/independent/GAUGE-COLD44-INDEPENDENT-AUDIT.json b/research/gauge44-slots/independent/GAUGE-COLD44-INDEPENDENT-AUDIT.json new file mode 100644 index 0000000000..771faa86a7 --- /dev/null +++ b/research/gauge44-slots/independent/GAUGE-COLD44-INDEPENDENT-AUDIT.json @@ -0,0 +1,137 @@ +{ + "status": "PASS_INDEPENDENT_EXACT_FORWARD_AND_DUAL_ENDPOINT_FRAMES_ENTRANCES_CONES", + "input_file": "FULL-WORD.json.gz", + "content_sha256": "78c7aadacb6eec2eeecc124ca236e5bcfdba6a52b30c2971aaa596d1d119b290", + "compressed_sha256": "3ef4e74e81e2f4621fc95272918ac7b8bb8858df0baa16cc6d91424d55aead9e", + "parent_center_interface": { + "parent_path": "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/CANONICAL-WORD.json.gz", + "parent_file_sha256": "66d3c3c70983224650643a0a05a21ac6c6959f84d0f4528650601016f5a76844", + "transport_tau": 43, + "ordered_frame_bases_match": true, + "all_ports_match": true, + "transported_centers": [ + 92, + 57, + 81, + 224, + 11, + 240, + 9, + 256 + ], + "source_centers": [ + 92, + 57, + 81, + 11, + 9 + ], + "ordered_frame_bases": [ + [ + 256, + 128, + 64, + 34, + 16, + 10, + 4, + 1 + ], + [ + 256, + 128, + 64, + 32, + 16, + 8, + 5, + 3 + ], + [ + 256, + 128, + 64, + 32, + 17, + 9, + 4, + 2 + ], + [ + 256, + 128, + 64, + 36, + 20, + 8, + 2, + 1 + ], + [ + 256, + 128, + 66, + 32, + 18, + 8, + 4, + 1 + ], + [ + 256, + 128, + 65, + 33, + 17, + 9, + 5, + 3 + ], + [ + 256, + 128, + 65, + 33, + 16, + 8, + 4, + 2 + ], + [ + 256, + 128, + 68, + 32, + 16, + 12, + 2, + 1 + ] + ] + }, + "v": 112, + "h": 9, + "R": 492, + "entering": 204, + "lowends": 78, + "coldends": 44, + "compensation_gates": 7348, + "local_profile": { + "1": 2514, + "2": 404, + "3": 448, + "4": 160, + "5": 56, + "8": 8 + }, + "width_inventory": { + "4": 52, + "5": 48, + "7": 34, + "8": 114, + "9": 244 + }, + "checked_columns": 716, + "elapsed_seconds": 3.147683588000291, + "scope": "Exact rational full scalar map in both orientations; all literal native frame chains, center levels, dyadic units, entrance-zero response, wrapper exclusion and final helper row/column cones. No global owner admission or exponent repricing." +} diff --git a/research/gauge44-slots/independent/GAUGE44-GLOBAL-GUARD-REVIEW.json b/research/gauge44-slots/independent/GAUGE44-GLOBAL-GUARD-REVIEW.json new file mode 100644 index 0000000000..e2df1dcca8 --- /dev/null +++ b/research/gauge44-slots/independent/GAUGE44-GLOBAL-GUARD-REVIEW.json @@ -0,0 +1,47 @@ +{ + "status": "PASS_PR635_ADMISSION_ASSERTION_PRESERVATION", + "files": [ + { + "file": "code/assemble.py", + "baseline_sha256": "1b1a9024ac910dc9b9d9e30150684e1fa9cb228a4c1c275b75ab04b57fdef1dd", + "new_sha256": "7ac28118d69416e4fb67b61216285fb0823310b7635ce1b9025aa3f10119ef6a", + "byte_identical": false, + "assert_count": 91, + "all_assertions_identical_in_order": true + }, + { + "file": "code/invoice_allcold.py", + "baseline_sha256": "141bd2fd58bbfb5b8d0fc8f56f61c45586d5608a5af3487c6b883dd987f998ec", + "new_sha256": "141bd2fd58bbfb5b8d0fc8f56f61c45586d5608a5af3487c6b883dd987f998ec", + "byte_identical": true, + "assert_count": 67, + "all_assertions_identical_in_order": true + }, + { + "file": "code/bind_providers_portable.py", + "baseline_sha256": "2eb5c262bf481b3bec9ceaec654fa46ff6fc3a89b13d4906a29a55a89e35feea", + "new_sha256": "2eb5c262bf481b3bec9ceaec654fa46ff6fc3a89b13d4906a29a55a89e35feea", + "byte_identical": true, + "assert_count": 22, + "all_assertions_identical_in_order": true + }, + { + "file": "code/generated_identity.py", + "baseline_sha256": "c8af22719c0f3097a991a3f6ccac8f090afd2faba554745733d9ea88f2c25708", + "new_sha256": "c8af22719c0f3097a991a3f6ccac8f090afd2faba554745733d9ea88f2c25708", + "byte_identical": true, + "assert_count": 4, + "all_assertions_identical_in_order": true + }, + { + "file": "code/witness.py", + "baseline_sha256": "00789c911a8f32cfe9d52207c7aa78305dc3fce4a8b6305ba402b7e74117103d", + "new_sha256": "00789c911a8f32cfe9d52207c7aa78305dc3fce4a8b6305ba402b7e74117103d", + "byte_identical": true, + "assert_count": 3, + "all_assertions_identical_in_order": true + } + ], + "centre_interface_review": "CENTRE-GUARD-REVIEW.md", + "scope": "Exact syntax preservation for all admission assertions in these five files. The changed emitter/controller centre boundary and single-provider controls require the separate semantic review; assertion counts alone do not prove them." +} diff --git a/research/gauge44-slots/independent/GAUGE44-INDEPENDENT-PRICE.json b/research/gauge44-slots/independent/GAUGE44-INDEPENDENT-PRICE.json new file mode 100644 index 0000000000..7aa86180dd --- /dev/null +++ b/research/gauge44-slots/independent/GAUGE44-INDEPENDENT-PRICE.json @@ -0,0 +1,156 @@ +{ + "status": "PASS_FROZEN_PROFILE_TWO_EXACT_ENGINE_AND_OUTER47_CROSSCHECK", + "profile_input_file": "PLAN.json", + "profile_input_sha256": "7b3122026e82b9d9e964d2a50c7bffdc976ae3dfea64bb98b2fdad5cfbdbaa20", + "global_profile": { + "1": 174763, + "2": 30105, + "3": 30275, + "4": 12240, + "5": 4896, + "7": 54, + "8": 576, + "16": 23, + "48": 2419 + }, + "live": 7168, + "m": 73, + "rank_mass": 520704, + "deficit": 2560, + "prices": { + "native": { + "root": { + "lower": "0.001674185476674086429846", + "upper": "0.001674185476674086429847", + "lower_endpoint_residual_upper": "-9.258737006004892346173061244464039982798397391664878463422077941068021E-25", + "upper_endpoint_residual_lower": "2.005290772036567694936493754533147163786510359586083088453102073919377E-24", + "strict_rational_signs": true + }, + "exact_moments": [ + { + "endpoint": "837092738337043214923/500000000000000000000000", + "accept": true, + "mercator_residual": [ + "-24961505588706589063536270371864708160498115/26959946667150639794667015087019630673637144422540572481103610249216", + "-24961505588706589063536270371864708160498113/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "base_two_residual": [ + "-462937/500000000000000000000000000000", + "-925873/1000000000000000000000000000000" + ] + }, + { + "endpoint": "1674185476674086429847/1000000000000000000000000", + "accept": false, + "mercator_residual": [ + "54062532266235196619370246291034158858524675/26959946667150639794667015087019630673637144422540572481103610249216", + "54062532266235196619370246291034158858524677/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "base_two_residual": [ + "200529/100000000000000000000000000000", + "2005291/1000000000000000000000000000000" + ] + } + ], + "outer_with_bit": { + "complex_b": "837092738337043214923/500000000000000000000000", + "bit_c": "1733427039589844234749/1000000000000000000000000", + "kappa": "835693632195073/500000000000000000", + "kappa_decimal": "0.001671387264390146", + "binding": "complex", + "strict_constraints_passed": 47, + "controls_rejected": [ + "next_grid", + "zero_eta", + "zero_beta", + "unit_beta" + ] + } + }, + "conservative": { + "root": { + "lower": "0.001674185473814575474867", + "upper": "0.001674185473814575474868", + "lower_endpoint_residual_upper": "-4.932703074050864500363221905991238131757959051186123070698964701314504E-25", + "upper_endpoint_residual_lower": "2.437894165237372647986425295760776771093048289170590753978317997095726E-24", + "strict_rational_signs": true + }, + "exact_moments": [ + { + "endpoint": "1674185473814575474867/1000000000000000000000000", + "accept": true, + "mercator_residual": [ + "-6649270590065065997663222052892326679295837/13479973333575319897333507543509815336818572211270286240551805124608", + "-1662317647516266499415805513223081669823959/3369993333393829974333376885877453834204643052817571560137951281152" + ], + "base_two_residual": [ + "-246635539906040992121/500000000000000000000000000000000000000000000", + "-2466350399060409921139/5000000000000000000000000000000000000000000000" + ] + }, + { + "endpoint": "418546368453643868717/250000000000000000000000", + "accept": false, + "mercator_residual": [ + "65725496674957295861389862879254608557678601/26959946667150639794667015087019630673637144422540572481103610249216", + "65725496674957295861389862879254608557678603/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "base_two_residual": [ + "12189469601119396732213/5000000000000000000000000000000000000000000000", + "24378949202238793464567/10000000000000000000000000000000000000000000000" + ] + } + ], + "outer_with_bit": { + "complex_b": "1674185473814575474867/1000000000000000000000000", + "bit_c": "1733427039589844234749/1000000000000000000000000", + "kappa": "835693630770093/500000000000000000", + "kappa_decimal": "0.001671387261540186", + "binding": "complex", + "strict_constraints_passed": 47, + "controls_rejected": [ + "next_grid", + "zero_eta", + "zero_beta", + "unit_beta" + ] + } + } + }, + "bit_supplier_pr": 589, + "bit_deficit": 10272, + "bit_moments_with_surcharge": [ + { + "endpoint": "1733427039589844234749/1000000000000000000000000", + "accept": true, + "mercator_residual": [ + "-43100600330766044577088869872467188970742291/26959946667150639794667015087019630673637144422540572481103610249216", + "-43100600330766044577088869872467188970742289/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "base_two_residual": [ + "-799345163337715793503/500000000000000000000000000000000000000000000", + "-3197378653350863173989/2000000000000000000000000000000000000000000000" + ] + }, + { + "endpoint": "6933708158359376939/4000000000000000000000", + "accept": false, + "mercator_residual": [ + "22502934905675809315035333485365686073718547/13479973333575319897333507543509815336818572211270286240551805124608", + "5625733726418952328758833371341421518429637/3369993333393829974333376885877453834204643052817571560137951281152" + ], + "base_two_residual": [ + "8346798366759439729359/5000000000000000000000000000000000000000000000", + "16693606733518879458833/10000000000000000000000000000000000000000000000" + ] + } + ], + "gain_over_pr635_percent": "2.14795693544613460937516788041147829054201996498013663108098185775358537919", + "input_sha256": { + "research/complex-k492-owner-repair/vendor/multicold/engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "research/complex-k492-owner-repair/vendor/multicold/engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "research/complex-k492-owner-repair/vendor/multicold/engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "package:inputs/PR589-EXPECTED.json": "b9f0e5ca038abe837b0007c8fe006f366a6f02009244ac57705a8a200e2301f4" + }, + "scope": "Independent arithmetic for the exact nominated all72 profile. Complete local, controller and finite invoice admission are separately replayed by the package driver; this receipt does not replace them. The cited PR589 bit supplier is unchanged and its exceptional-residue surcharge is retained. Any alternative c is only a headroom comparison." +} diff --git a/research/gauge44-slots/independent/README.md b/research/gauge44-slots/independent/README.md new file mode 100644 index 0000000000..f97dcf81b1 --- /dev/null +++ b/research/gauge44-slots/independent/README.md @@ -0,0 +1,43 @@ +# Independent checks + +Prepared for icekylinx with OpenAI GPT-6 Astra assistance. Apache-2.0, under the +package license. The scalar/frame audit imports no generator or supplier +checker. Pricing uses the pinned inherited rational engines and the retained +PR635 outer formula, with their original notices preserved in the main +dependency tree. + +From the delta package directory, using the pinned checkouts and a rebuilt +word: + +```sh +python independent/audit_local.py \ + --word /path/to/rebuild/cold44/FULL-WORD.json.gz \ + --main /path/to/main \ + --output /path/to/output/LOCAL-AUDIT.json + +python independent/price_profile.py \ + --main /path/to/main \ + --output /path/to/output/PRICE.json + +python independent/review_guards.py \ + --pr635 /path/to/pr635 \ + --output /path/to/output/GUARD-REVIEW.json +``` + +`audit_local.py` can run without `--main`; including it also verifies the +transported centre-frame and port boundary against the pinned parent. Its +receipt authenticates the supplied word by its content SHA256, independent +of its location. `price_profile.py` defaults to the package's `data/PLAN.json`; +`--profile` accepts another explicit profile for arithmetic only. The bit side is the cited merged PR589 supplier +(`inputs/PR589-EXPECTED.json`, git blob `e293ddc5…`); its rank-mass deficit +`T(2Kv - L*cst) = 32*(8*111 - 9*63) = 10272` is re-derived independently of +`code/assemble.py`, and the outer receipt key is `outer_with_bit`. The retained +`GAUGE44-INDEPENDENT-PRICE.json` is #645/PR543 historical evidence unless regenerated. The optional +`--headroom-c 0.001733052823330162099157` reproduces the unchanged-kappa +comparison with the reviewed PR555 rate without importing a second supplier. + +The retained receipts are `GAUGE-COLD44-INDEPENDENT-AUDIT.json`, +`GAUGE44-INDEPENDENT-PRICE.json`, and `GAUGE44-GLOBAL-GUARD-REVIEW.json`. +[CENTRE-GUARD-REVIEW.md](CENTRE-GUARD-REVIEW.md) gives the semantic argument +behind the changed centre boundary and the single-provider control branch. +The main package driver performs the separate complete global admission. diff --git a/research/gauge44-slots/independent/audit_local.py b/research/gauge44-slots/independent/audit_local.py new file mode 100644 index 0000000000..4744d8783c --- /dev/null +++ b/research/gauge44-slots/independent/audit_local.py @@ -0,0 +1,171 @@ +"""Independent exact scalar/frame audit of the changed forward supplier. + +This does not import a generator, builder, stored compensation, or price. +All claimed endpoint matrices are derived from the input word's gates. +Optional --main checks the transported boundary against the pinned parent. +Prepared for icekylinx with OpenAI GPT-6 Astra assistance. Apache-2.0. +""" +import argparse,gzip,json,hashlib,time +from pathlib import Path +from fractions import Fraction as F +from collections import Counter + +def require(x,label): + if not x:raise RuntimeError(label) + +def basis(vs): + piv={} + for a in vs: + while a: + bit=a.bit_length()-1 + if bit in piv:a^=piv[bit] + else: + piv[bit]=a;break + for k in sorted(piv): + for j in piv: + if j>k and piv[j]>>k&1:piv[j]^=piv[k] + return tuple(piv[k] for k in sorted(piv,reverse=True)) + +def contained(a,b):return basis(a+b)==b + +def registers(e):return e[1:3] if e[0]=='add' else e[1:2] + +def apply(e,rows,dual=False): + if e[0]=='add': + t,s=e[1:3];q=F(e[3],e[4]);require(t!=s,'self add') + if dual:t,s,q=s,t,-q + dst=rows[t] + for k,x in list(rows[s].items()): + a=dst.get(k,F(0))+q*x + if a:dst[k]=a + else:dst.pop(k,None) + elif e[0]=='scale': + t=e[1];q=F(e[2],e[3]);require(q!=0,'zero scale') + if dual:q=1/q + rows[t]={k:q*x for k,x in rows[t].items()} + else:raise RuntimeError('unknown scalar primitive') + +def invert(e): + r=list(e) + if r[0]=='add':r[3]=-r[3] + else:r[2],r[3]=r[3],r[2] + return r + +def check_parent_interface(word,main): + # Read only the retained boundary data. No builder or local checker is imported. + relative="research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/CANONICAL-WORD.json.gz" + path=main/relative;raw=path.read_bytes() + require(hashlib.sha256(raw).hexdigest()=="66d3c3c70983224650643a0a05a21ac6c6959f84d0f4528650601016f5a76844",'parent canonical input pin') + parent=json.loads(gzip.decompress(raw)) + tau=lambda x:x^(43 if (x&43).bit_count()%2 else 0) + ports=parent['ports'];v=word['report']['v'] + require(len(ports)==len(set(ports))==v,'parent port count') + require(set(map(tau,word['ports']))==set(ports),'transported source/target ports') + moved={i:ports.index(tau(p)) for i,p in enumerate(word['ports'])} + centers=[moved.get(r,r) for r in word['centers']] + actual=[list(basis([tau(x) for x in frame])) for frame in word['center_frames']] + expected=[parent['frames'][f] for f in parent['center_frames']] + require(len(centers)==len(set(centers))==len(actual)==8,'eight distinct centre carriers') + require(actual==expected and all(len(f)==8 for f in actual),'ordered centre frame interface') + return dict(parent_path=relative,parent_file_sha256=hashlib.sha256(raw).hexdigest(), + transport_tau=43,ordered_frame_bases_match=True,all_ports_match=True, + transported_centers=centers,source_centers=[r for r in centers if r=2*v} + for e in w['precondition']:apply(e,dirt) + compensation=[['add',y,k,-a.numerator,a.denominator,[]] for y in range(v,2*v) for k,a in sorted(dirt[y].items())] + entering=set(map(int,w.get('start_extra',{})));lowends=set(map(int,w.get('helper_final',{}))) + coldends=lowends-entering + require(not any(e[2] in entering for e in compensation),'nonzero entrance response') + require(not any(r in entering|coldends for e in w['precondition']+compensation for r in registers(e)), 'pre-wrapper touch of residual helper') + require(all(e[-1]==[] for e in w['precondition']+compensation),'nonzero frame precondition') + early=w.get('early_cleanup',[]);earlyids={i for i,U in early} + require(len(earlyids)==len(early),'duplicate early cleanup gate') + tail=[w['cleanup'][i][:-1]+[U] for i,U in early] + cleanup=[e for i,e in enumerate(w['cleanup']) if i not in earlyids] + prefix=w['precondition']+compensation+main + program=prefix+tail+cleanup + for dual in (False,True): + actual=ident() + for e in program:apply(e,actual,dual) + expected=ident() + for t in range(v):expected[t if dual else v+t][v+t if dual else t]=F(-1 if dual else 1) + bad=[i for i in range(n) if actual[i]!=expected[i]] + require(not bad,'all-column endpoint failure '+str((dual,bad[:8]))) + print('endpoint', 'dual' if dual else 'forward','PASS',flush=True) + full=basis([1< 2*max(H)**2, 'halving guard') + rows = [] + for z, accept in [(lower, True), (lower+Q(1, 10**24), False)]: + l, u = M.moment(H, m, W, z, bad) + ll, uu = B.moment(m, W, list(H.items()), z) + if bad: + fl, fu = B.moment(m, W, [(1, 32*m*m*sum(H.values()))], z) + ll, uu = ll+fl/10**16, uu+fu/10**16 + require((u < 1 and uu < 1) if accept else (l > 1 and ll > 1), 'two exact moment signs') + rows.append(dict(endpoint=str(z), accept=accept, + mercator_residual=[str(l-1), str(u-1)], + base_two_residual=[str(ll-1), str(uu-1)])) + return rows + + +def outer47(c, b, engine): + eta = beta = Q(1, 10**24) + s = min(c, (1-beta)*b)-Q(1, 10**27) + require(0 < s < c and s < (1-beta)*b, 'strict common saving') + a = Q(384599, 10**10) + for _ in range(7): + old = a + a = (1-s)*s+s*old + gap = min(s-a, 1-a-s, 1-a-s*(1-old), 1-s) + require(old < a < s < 1-a and gap > 0, 'bootstrap gap') + ceil = lambda x: -(-x.numerator//x.denominator) + cut = max(ceil(36/gap**2), ceil(2*(4+512)/gap)) + require(cut*gap**2 >= 36 and cut*gap >= 2*(4+512), 'finite bootstrap cutoff') + q = a*(1-2*eta) + margin = (1-eta)*q/(1+q) + ticks = margin*10**18 + k = Q((ticks.numerator-1)//ticks.denominator, 10**18) + bridge = {'semantic': {'C0': {'base': 2, 'exponent': 210000}, 'strict_literal_gap': 1}, + 'rows': {'degree_gap': Q(10**6)-Q(51*20161, 25)}} + result = engine.assembly(a, b, bridge, k, eta=eta, beta=beta) + require(len(result['strict_constraints']) == 47, '47 outer constraints') + require(all(x > 0 for x in result['strict_constraints'].values()), 'strict outer constraints') + rejected = [] + for name, kk, ee, be in [('next_grid', k+Q(1, 10**18), eta, beta), + ('zero_eta', k, Q(0), beta), ('zero_beta', k, eta, Q(0)), + ('unit_beta', k, eta, Q(1))]: + try: + engine.assembly(a, b, bridge, kk, eta=ee, beta=be) + except AssertionError: + rejected.append(name) + else: + raise RuntimeError('accepted negative control: '+name) + return dict(complex_b=str(b), bit_c=str(c), kappa=str(k), kappa_decimal=decimal(k), + binding='bit' if c < (1-beta)*b else 'complex', + strict_constraints_passed=47, controls_rejected=rejected) + + +def main(): + require(__debug__, 'Do not use python -O: the retained outer engine requires assertions') + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--main', type=Path, required=True, help='Pinned main checkout') + parser.add_argument('--profile', type=Path, default=HERE.parent/'data/PLAN.json', + help='Raw profile or a JSON object containing profile/global_profile') + parser.add_argument('--output', type=Path, required=True) + parser.add_argument('--headroom-c', help='Optional alternative bit saving, for comparison only') + args = parser.parse_args() + inputs = json.loads((HERE.parent/'data/UPSTREAM-PINS.json').read_text()) + selected = [SOURCE/'engines'/(n+'.py') for n in ('moment', 'base_two_moment', 'outer')] + for relative in selected: + require(sha(args.main/relative) == inputs[relative.as_posix()], 'pinned input '+str(relative)) + M, B, A = [load(args.main/SOURCE/'engines', n) for n in ('moment', 'base_two_moment', 'outer')] + supplied = json.loads(args.profile.read_text()) + H = {int(r): n for r, n in supplied.get('profile', supplied.get('global_profile', supplied)).items()} + bit_data = BIT_PATH.read_bytes() + require(hashlib.sha1(b'blob '+str(len(bit_data)).encode()+b'\0'+bit_data).hexdigest() == BIT_BLOB, 'PR589 blob pin') + record = json.loads(bit_data) + bit = record['nine'] + require('nine-stage' in bit['pipeline'] and '32 replicas' in bit['pipeline'], 'nine-stage bit record') + bit_deficit = pr589_deficit(record['word'], bit['bit']['live']) + require(sum(int(r)*n for r, n in bit['profile'].items()) == bit['bit']['rank_mass'], 'bit rank mass') + c = Q(bit['bit_lower']) + bit_checks = moment_checks(M, B, {int(r): n for r, n in bit['profile'].items()}, + 64, bit['bit']['live'], c, bit_deficit, True) + prices = {} + for mode, bad in [('native', False), ('conservative', True)]: + root = M.certify(H, 73, 7168, bad) + root = {key: root[key] for key in ('lower', 'upper', 'lower_endpoint_residual_upper', + 'upper_endpoint_residual_lower', 'strict_rational_signs')} + b = Q(root['lower']) + row = dict(root=root, exact_moments=moment_checks(M, B, H, 73, 7168, b, 2560, bad), + outer_with_bit=outer47(c, b, A)) + if args.headroom_c: + alternate = outer47(Q(args.headroom_c), b, A) + require(alternate['kappa'] == row['outer_with_bit']['kappa'], 'headroom comparison changed kappa') + row.update(outer_with_alternative_bit_rate=alternate, same_kappa_with_either_bit_rate=True) + prices[mode] = row + native_k = Q(prices['native']['outer_with_bit']['kappa']) + result = dict(status='PASS_FROZEN_PROFILE_TWO_EXACT_ENGINE_AND_OUTER47_CROSSCHECK', + profile_input_file=args.profile.name, profile_input_sha256=sha(args.profile), + global_profile=H, live=7168, m=73, rank_mass=sum(r*n for r, n in H.items()), deficit=2560, + prices=prices, bit_supplier_pr=589, bit_deficit=bit_deficit, bit_moments_with_surcharge=bit_checks, + gain_over_pr635_percent=decimal(100*(native_k/Q('0.001636241501576388')-1)), + input_sha256={**{relative.as_posix(): sha(args.main/relative) for relative in selected}, 'package:inputs/PR589-EXPECTED.json': sha(BIT_PATH)}, + scope='Independent arithmetic for the exact nominated all72 profile. Complete local, controller and finite invoice admission are separately replayed by the package driver; this receipt does not replace them. The cited PR589 bit supplier is unchanged and its exceptional-residue surcharge is retained. Any alternative c is only a headroom comparison.') + args.output.write_text(json.dumps(result, indent=2)+'\n') + print(result['status'], prices['native']['outer_with_bit']['kappa_decimal'], result['gain_over_pr635_percent']) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-slots/independent/review_guards.py b/research/gauge44-slots/independent/review_guards.py new file mode 100644 index 0000000000..086dcf3d11 --- /dev/null +++ b/research/gauge44-slots/independent/review_guards.py @@ -0,0 +1,46 @@ +"""Reproduce the assertion-preservation part of the independent guard review. + +This compares complete assertion ASTs in their traversal order. It supplements +the semantic centre-interface argument in CENTRE-GUARD-REVIEW.md. +Prepared for icekylinx with OpenAI GPT-6 Astra assistance. Apache-2.0. +""" +import argparse +import ast +import hashlib +import json +from pathlib import Path + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--pr635', type=Path, required=True, help='Pinned PR635 checkout or supplier directory') + parser.add_argument('--delta', type=Path, default=Path(__file__).resolve().parents[1]) + parser.add_argument('--output', type=Path, required=True) + args = parser.parse_args() + old = args.pr635 + if not (old/'code/assemble.py').exists(): + old = old/'research/complex-571-cold14-st2' + names = ['assemble.py', 'invoice_allcold.py', 'bind_providers_portable.py', + 'generated_identity.py', 'witness.py'] + records = [] + for name in names: + a, b = (old/'code'/name).read_bytes(), (args.delta/'code'/name).read_bytes() + assertions = lambda data: [ast.dump(n, include_attributes=False) for n in ast.walk(ast.parse(data)) + if isinstance(n, ast.Assert)] + aa, bb = assertions(a), assertions(b) + if aa != bb: + raise RuntimeError('Assertion sequence changed: '+name) + records.append(dict(file='code/'+name, baseline_sha256=hashlib.sha256(a).hexdigest(), + new_sha256=hashlib.sha256(b).hexdigest(), byte_identical=a == b, + assert_count=len(aa), all_assertions_identical_in_order=True)) + if records[0]['assert_count'] != 91: + raise RuntimeError('The expected PR635 assembly has 91 assertions') + result = dict(status='PASS_PR635_ADMISSION_ASSERTION_PRESERVATION', files=records, + centre_interface_review='CENTRE-GUARD-REVIEW.md', + scope='Exact syntax preservation for all admission assertions in these five files. The changed emitter/controller centre boundary and single-provider controls require the separate semantic review; assertion counts alone do not prove them.') + args.output.write_text(json.dumps(result, indent=2)+'\n') + print(result['status'], [r['assert_count'] for r in records]) + + +if __name__ == '__main__': + main() diff --git a/research/gauge44-slots/inputs/PR589-EXPECTED.json b/research/gauge44-slots/inputs/PR589-EXPECTED.json new file mode 100644 index 0000000000..e293ddc557 --- /dev/null +++ b/research/gauge44-slots/inputs/PR589-EXPECTED.json @@ -0,0 +1,222 @@ +{ + "word": { + "file": "tune/bitE8mut-p111-tuned.json.gz", + "file_sha256": "e3e301e62bc2b41dbf1ceac0acf3d35824ebeab1848c5a2142d4577b109da52f", + "content_sha256": "5642fd0e35a1acc11acff8d0c08350c1617e95f310d4d35ad63a651f9eeeba0b", + "v": 111, + "R": 439, + "punctured": [ + 10, + 15, + 51, + 53, + 56, + 66, + 72, + 89, + 111 + ], + "retained_totals": 9, + "copy_ranks": [ + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7 + ], + "decoder_constant": 63, + "gates": { + "D": 111, + "A": 2075, + "B": 712, + "C": 2574 + }, + "local_histogram": { + "1": 1323, + "2": 1342, + "3": 79, + "4": 44, + "5": 102, + "6": 11, + "7": 19 + }, + "legality": { + "records": 27234, + "common_frame_ADDs": 24305, + "rank_mass": 5129 + }, + "five_stage_columns": 883, + "five_stage_payload_bits": 93, + "nine_stage_columns": 1327, + "nine_stage_payload_bits": 93, + "eleven_stage_columns": 1549, + "eleven_stage_payload_bits": 93, + "base_content_sha256": "d0df3c89ae84989f4045ba1681a5e2e9fcdfa38ed0301c8abf5185537155cbe3" + }, + "interface": { + "hypotheses": { + "H1_no_target_feeds_z": true, + "H2_D_frame0_targets_from_helpers": true, + "H3_A_z_only_scatter_targets_B_split": true, + "H4_C_literal_reverse_at_full": true, + "H5_V_identity": true + }, + "conclusion": { + "U_block_form": true, + "J_identity": true, + "K_equals_D": true, + "C_is_U_inverse": true + }, + "interleaving": { + "z_gates_A": 2075, + "source_writes_A": 0, + "z_gates_B": 499, + "source_writes_B": 483, + "helper_writes_B": 16, + "sources_rewritten_B": 108, + "B_z_write_frame_dims": { + "4": 388, + "6": 111 + }, + "B_z_operand_kinds": { + "helper<-helper": 3, + "helper<-source": 13, + "source<-helper": 108, + "source<-source": 375 + }, + "B_z_operand_kinds_by_dim": { + "dim4:helper<-source": 13, + "dim4:source<-source": 375, + "dim6:helper<-helper": 3, + "dim6:source<-helper": 108 + }, + "B_z_writes_after_a_target_read_of_the_same_register": 454, + "B_target_reads_of_registers_rewritten_earlier_in_B": 111, + "target_reads_of_targets": 0, + "cleanup_gates": 2574 + } + }, + "nine": { + "pipeline": "PR #510 (PR #463 nine-stage template, 32 replicas, PR #442 hosting, PR #493 outer assembly), parameterised for v <= 120 by code/adapt9p.py", + "bit_lower": "1733427039589844234749/1000000000000000000000000", + "bit_lower_decimal": "0.001733427039589844234749", + "profile": { + "1": 381024, + "2": 400416, + "3": 22752, + "4": 26880, + "5": 29376, + "6": 17376, + "7": 26784, + "42": 288 + }, + "bit": { + "live": 28416, + "physical": 28425, + "maxchild": 42, + "rank_mass": 1808352, + "hosted_residuals": 126432, + "bank_assignments": 0, + "prefix_bits": 177, + "charged_prefix_bits": 192, + "coefficient_bits": 177, + "two_level_coefficient_bits": 393, + "charged_two_level_coefficient_bits": 512, + "row_coefficient": 18355, + "halving_depth": 2 + }, + "kappa": { + "pr548": { + "kappa": "49718254847979/31250000000000000", + "kappa_decimal": "0.001590984155135328", + "complex_lower": "796759709641153381751/500000000000000000000000", + "binding_component": "complex" + }, + "pr544": { + "kappa": "397677800014309/250000000000000000", + "kappa_decimal": "0.001590711200057236", + "complex_lower": "31864911873350496687/20000000000000000000000", + "binding_component": "complex" + }, + "pr535": { + "kappa": "793733736881443/500000000000000000", + "kappa_decimal": "0.001587467473762886", + "complex_lower": "1589991533606044174031/1000000000000000000000000", + "binding_component": "complex" + }, + "pr531": { + "kappa": "1517760977820331/1000000000000000000", + "kappa_decimal": "0.001517760977820331", + "complex_lower": "304013615566499291631/200000000000000000000000", + "binding_component": "complex" + } + } + }, + "eleven": { + "pipeline": "PR #493 (PR #445 geometry, PR #472 emitter, audit and invoice, PR #442 hosting), parameterised by PR #545's code/adapt.py", + "bit_lower": "855475950388791987811/500000000000000000000000", + "bit_lower_decimal": "0.001710951900777583975622", + "profile": { + "1": 116424, + "2": 121648, + "3": 6952, + "4": 7424, + "5": 8976, + "6": 4520, + "7": 8776, + "56": 2600 + }, + "bit": { + "live": 8880, + "physical": 8889, + "maxchild": 56, + "rank_mass": 689304, + "hosted_residuals": 38632, + "prefix_bits": 4304, + "charged_prefix_bits": 4352, + "coefficient_bits": 4304, + "three_level_coefficient_bits": 12966, + "charged_three_level_coefficient_bits": 12992, + "row_coefficient": 19431, + "halving_depth": 3 + }, + "emitted_program_sha256": "793b6f40c9aa4b8db57fec0ac0973e16884dae28707e482ee8f7a2349a5d5a4b", + "kappa": { + "pr548": { + "kappa": "49718254847979/31250000000000000", + "kappa_decimal": "0.001590984155135328", + "complex_lower": "796759709641153381751/500000000000000000000000", + "binding_component": "complex" + }, + "pr544": { + "kappa": "397677800014309/250000000000000000", + "kappa_decimal": "0.001590711200057236", + "complex_lower": "31864911873350496687/20000000000000000000000", + "binding_component": "complex" + }, + "pr535": { + "kappa": "793733736881443/500000000000000000", + "kappa_decimal": "0.001587467473762886", + "complex_lower": "1589991533606044174031/1000000000000000000000000", + "binding_component": "complex" + }, + "pr531": { + "kappa": "1517760977820331/1000000000000000000", + "kappa_decimal": "0.001517760977820331", + "complex_lower": "304013615566499291631/200000000000000000000000", + "binding_component": "complex" + } + } + }, + "base": { + "nine_bit_lower": "1733052823330162099157/1000000000000000000000000", + "nine_bit_lower_decimal": "0.001733052823330162099157", + "eleven_bit_lower": "427652201524503168379/250000000000000000000000", + "eleven_bit_lower_decimal": "0.001710608806098012673516", + "note": "PR #555's EXPECTED.json (untuned word); the tune/ pipeline is the same, with the same frozen hosting selections" + } +} diff --git a/research/gauge44-slots/verify_global.py b/research/gauge44-slots/verify_global.py new file mode 100644 index 0000000000..7ab79e3062 --- /dev/null +++ b/research/gauge44-slots/verify_global.py @@ -0,0 +1,112 @@ +"""Replay the changed global admission against pinned upstream dependencies. + +The local directory must contain the fresh canonical/native/phase/wrapper +artifacts produced by construction/reproduce.py. Frozen evidence may be used +for a short admission-only replay. No optimizer runs during this verifier. +""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import subprocess +import sys +import time + +assert __debug__, 'Assertions required' +PACKAGE = Path(__file__).resolve().parent + + +def sha(path): + return hashlib.sha256(Path(path).read_bytes()).hexdigest() + + +def dump(path, value): + Path(path).write_text(json.dumps(value, indent=2) + '\n') + + +ap = argparse.ArgumentParser(description=__doc__) +ap.add_argument('--main', type=Path, required=True, help='Pinned CrocSwap main checkout') +ap.add_argument('--local', type=Path, required=True, help='Rebuilt or frozen native gauge44 directory') +ap.add_argument('--work', type=Path, required=True, help='New output directory') +ap.add_argument('--discover', action='store_true', help=argparse.SUPPRESS) +args = ap.parse_args() +main, local, work = args.main.resolve(), args.local.resolve(), args.work.resolve() +assert not work.exists(), 'Output directory must be new' +source = main/'research/complex-k492-owner-repair/vendor/multicold' +baseline = main/'research/community-k492-audit/pr622/replay/baseline558' +vendor = source/'vendor/pr558/vendor/pr552/complex-global/vendor531' +pins = PACKAGE/'data/UPSTREAM-PINS.json' +if pins.exists(): + for rel, expected in json.loads(pins.read_text()).items(): + assert sha(main/rel) == expected, 'Upstream dependency changed: ' + rel +else: + assert args.discover, 'Missing upstream pins' + paths = list((baseline/'complex-global/base').rglob('*')) + paths += [source/'code/run_portable.py', source/'inputs/PR543-EXPECTED.json', + vendor/'evidence/audit/PREFIX-AND-INVOICE.json'] + paths += [source/'vendor/pr558/vendor/pr552/complex-global/vendor535/inputs/ROUND20-PARENT-TEMPLATE.json.gz', + baseline/'complex-global/controller-input/split-centres/CANONICAL-WORD.json.gz', + vendor/'code/prepare_supplier_base.py'] + paths += [source/'engines'/name for name in ('moment.py', 'base_two_moment.py', 'outer.py')] + dump(pins, {p.relative_to(main).as_posix(): sha(p) for p in sorted(paths) if p.is_file()}) +work.mkdir(parents=True) +env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONUTF8='1', + PYTHONINTMAXSTRDIGITS='0', MULTICOLD_SOURCE=str(source), + GAIN_PR564_SOURCE=str(source), WITNESS_SPEC=str(PACKAGE/'data/SPEC.json')) +env.pop('PYTHONOPTIMIZE', None) +env.pop('WITNESS_DISCOVER', None) +env.pop('WITNESS_RECORD', None) +if args.discover: + env.update(WITNESS_DISCOVER='1', WITNESS_RECORD=str(work/'WITNESS-RECORD.jsonl')) +stages = [] + + +def run(name, script, *arguments): + started = time.monotonic() + log = work/(name + '.log') + with log.open('w') as stream: + result = subprocess.run([sys.executable, '-B', str(source/'code/run_portable.py'), + str(script), *map(str, arguments)], env=env, + stdout=stream, stderr=subprocess.STDOUT) + stages.append(dict(name=name, seconds=round(time.monotonic()-started, 3), + exit_code=result.returncode, log_sha256=sha(log))) + dump(work/'STAGES.json', stages) + if result.returncode: + raise RuntimeError(name + ' failed:\n' + log.read_text()[-7000:]) + print('PASS', name, stages[-1]['seconds'], flush=True) + + +code = PACKAGE/'code' +global_dir = work/'global' +run('restore-parent', code/'restore_parent.py', '--source', source, + '--baseline', baseline, '--out', work/'parent558') +run('bind', code/'bind_providers_portable.py', '--baseline', work/'parent558', + '--provider', 'gauge44='+str(local), '--plan', PACKAGE/'data/PLAN.json', '--out', global_dir) +run('emit', code/'emit_allcold.py', '--base', global_dir/'base', + '--owners', PACKAGE/'data/OWNERS.json.gz', '--plan', global_dir/'PLAN.json', '--out', global_dir/'hosted') +run('audit', code/'audit_allcold.py', global_dir/'base', global_dir/'hosted', + global_dir/'audit/ASYNC-AUDIT.json', '--mutation-controls') +run('invoice', code/'invoice_allcold.py', '--base', global_dir/'base', + '--hosted', global_dir/'hosted', '--audit', global_dir/'audit', '--out', global_dir/'audit', + '--retained-invoice', vendor/'evidence/audit/PREFIX-AND-INVOICE.json') +run('assembly', code/'assemble.py', source, global_dir, work/'ASSEMBLY.json') +if not args.discover: + run('admission-controls', code/'assembly_controls.py', '--source-package', source, + '--owner', global_dir/'audit/OWNERS-AND-PROFILE.json', + '--invoice', global_dir/'audit/PREFIX-AND-INVOICE.json', '--out', work/'ADMISSION-CONTROLS.json') + run('bit-supplier-controls', code/'bit_supplier_controls.py', '--source-package', source, + '--owner', global_dir/'audit/OWNERS-AND-PROFILE.json', + '--invoice', global_dir/'audit/PREFIX-AND-INVOICE.json', '--out', work/'BIT-SUPPLIER-CONTROLS.json') + bit_controls = json.loads((work/'BIT-SUPPLIER-CONTROLS.json').read_text()) + assert bit_controls['status'] == 'PASS_PR589_BIT_SUPPLIER_DERIVED_DEFICIT_NEGATIVE_CONTROLS' + assert len(bit_controls['rejected_controls']) == 12 and bit_controls['derived_deficit'] == 10272 +result = json.loads((work/'ASSEMBLY.json').read_text()) +dump(work/'REPLAY.json', dict(status='PASS_GAUGE44_DISCOVERY' if args.discover else 'PASS_GAUGE44_STRICT_GLOBAL_REPLAY', + kappa=result['kappa'], kappa_decimal=result['kappa_decimal'], + complex_lower=result['complex_lower'], bit_lower=result['bit_lower'], + bit_supplier=result['bit_supplier'], + gain_over_pr635_percent=result['gain_over_pr635_percent'], + spec_sha256=sha(PACKAGE/'data/SPEC.json'), stages=stages, + scope=result['scope'])) +print(result['status'], result['kappa_decimal'], result['gain_over_pr635_percent'], flush=True) diff --git a/research/gauge44-slots/verify_manifest.py b/research/gauge44-slots/verify_manifest.py new file mode 100644 index 0000000000..8c2441d392 --- /dev/null +++ b/research/gauge44-slots/verify_manifest.py @@ -0,0 +1,19 @@ +"""Verify the submitted package's exact file inventory and SHA256 bindings.""" +from hashlib import sha256 +import json +from pathlib import Path + +root = Path(__file__).resolve().parent +expected = json.loads((root / 'MANIFEST.json').read_text()) +actual = { + p.relative_to(root).as_posix(): sha256(p.read_bytes()).hexdigest() + for p in root.rglob('*') + if p.is_file() and '__pycache__' not in p.parts + and p != root / 'MANIFEST.json' +} +if actual != expected: + missing = sorted(expected.keys() - actual.keys()) + extra = sorted(actual.keys() - expected.keys()) + changed = sorted(k for k in expected.keys() & actual.keys() if expected[k] != actual[k]) + raise SystemExit(f'Manifest mismatch: missing={missing}, extra={extra}, changed={changed}') +print(f'PASS package manifest: {len(actual)} files')